GithubHelp home page GithubHelp logo

sjhaque14 / steinberg-signature Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 15.72 MB

Computational tools to calculate higher-order autocorrelation functions from general graphs

Jupyter Notebook 97.68% Python 2.32%

steinberg-signature's Introduction

Overview

My Image

This repository contains the code used to perform quantiative analysis in the upcoming manuscript "Anomalous behaviour of the Steinberg signature for detecting departure from thermodynamic equilibrium".

The Steinberg signature for detecting departure from thermodynamic equilibrium was introduced by I. Z. Steinberg in the 1986 Biophysical Journal paper "On the time reversal of noise signals". It exploits specialized "higher-order" autocorrelation functions to detect time-reversal asymmetry in stochastic signals emitted by an underlying continuous-time Markov process. These higher-order autocorrelation functions take the following form:

$$\mathcal{A}^{\alpha,\beta}(\tau) = \lim_{T \rightarrow 0} \frac{1}{T - \tau}\int_{0}^{T - \tau} f^{\alpha}(t)f^{\beta}(t + \tau) dt.$$

This repository contains code to calculate $\mathcal{A}^{\alpha,\beta}(\tau)$ and its time-reverse $\mathcal{A}^{\beta,\alpha}(\tau)$ for any continuous time, finite space, time-homogeneous Markov process. We represent Markov processes using finite, directed, labeled graphs $G$, as defined by the linear framework, a graph-theoretic approach to modeling biochemical networks at steady-state. The code included in this repository enables the user to accomplish the following:

  • Calculate $\mathcal{A}^{\alpha,\beta}(\tau)$ and its time-reverse $\mathcal{A}^{\beta,\alpha}(\tau)$ for any continuous time, finite space, time-homogeneous Markov process, represented by a linear framework graph $G$.
  • Calculate $\mathcal{I}^{\alpha,\beta}(G) = \int_{0}^{\infty} \left(\mathcal{A}^{\alpha,\beta}(\tau) - \mathcal{A}^{\beta,\alpha}(\tau)\right) d\tau$ as a function of the cycle affinity of the 3-vertex graph $\tilde{A}(C) = \ln{\left ( \dfrac{ade}{bfc} \right )}$ (see edge label assignments in the figure below) as a single edge label is driven further and further from its equilibrium value (i.e. for which $\tilde{A}(C) = 0$).

Prerequisites

The following Python3 libraries are used in this library. All of the below can be installed using pip or conda.

Installation

The relevant functions for calculating the Steinberg signature and generating force-area curves are included in the file steinberg_utils_3vertex.py.

import numpy as np
import scipy.linalg
import matplotlib.pyplot as plt
from tqdm import tqdm

from steinberg_utils_3vertex import *

For an example of how to use the functions in steinberg_utils_3vertex.py, see the Jupyter notebook steinberg_3vertex_official.ipynb. You may also clone this repository to obtain the relevant files.

git clone https://github.com/sjhaque14/steinberg-signature

Contact

For more details, please contact Sabina J Haque at [email protected].

steinberg-signature's People

Contributors

sjhaque14 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.