Skip to content

Commit

Permalink
Merge pull request #50 from iManGHD/master
Browse files Browse the repository at this point in the history
sparseQFCA v1.9.0
  • Loading branch information
mtefagh authored Sep 15, 2023
2 parents 2fdd687 + 52bfce7 commit 405e173
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 16 deletions.
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "sparseQFCA"
uuid = "077cf62c-ad2d-5edd-99ec-638372f8b004"
authors = ["Mojtaba Tefagh <[email protected]>", "Iman Ghadimi <[email protected]>"]
version = "1.8.0"
version = "1.9.0"

[deps]
COBREXA = "babc4406-5200-4a30-9033-bf5ae714c842"
Expand Down
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
# Sparse Quantitative Flux Coupling Analysis

| **Tests** | **Coverage** | **Documentation** |
|:---:|:---:|:---:|
| [![Build Status](https://travis-ci.com/mtefagh/sparseQFCA.jl.svg?branch=master)](https://app.travis-ci.com/mtefagh/sparseQFCA.jl) | [![Coverage Status](https://coveralls.io/repos/github/mtefagh/sparseQFCA.jl/badge.svg?branch=master)](https://coveralls.io/github/mtefagh/sparseQFCA.jl?branch=master) [![codecov](https://codecov.io/gh/mtefagh/sparseQFCA.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/mtefagh/sparseQFCA.jl) | [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mtefagh/sparseQFCA.jl/master?labpath=sparseQFCA.jl%2Fexample%2FdistributedQFCA.ipynb) |
| **Tests** | **Coverage** |
|:---:|:---:|
| [![Build Status](https://travis-ci.com/mtefagh/sparseQFCA.jl.svg?branch=master)](https://app.travis-ci.com/mtefagh/sparseQFCA.jl) | [![Coverage Status](https://coveralls.io/repos/github/mtefagh/sparseQFCA.jl/badge.svg?branch=master)](https://coveralls.io/github/mtefagh/sparseQFCA.jl?branch=master) [![codecov](https://codecov.io/gh/mtefagh/sparseQFCA.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/mtefagh/sparseQFCA.jl)

*sparseQFCA* is a registered [<img src="https://julialang.org/assets/infra/logo.svg" height="20" />](https://julialang.org/) package for the sparse [Quantitative Flux Coupling Analysis](https://mtefagh.github.io/qfca/). Moreover, a Julia implementation of [Swift Consistency Checking](https://mtefagh.github.io/swiftcore/) is also available as a preprocessing subroutine. The example data files `S.csv` and `rev.csv` are extracted from the [core *E. coli* model](http://systemsbiology.ucsd.edu/Downloads/EcoliCore).
## sparseQFCA architecture
*sparseQFCA* is a registered [<img src="https://julialang.org/assets/infra/logo.svg" height="20" />](https://julialang.org/) is a Julia package providing a sparse Quantitative flux coupling analysis(QFCA). It uses parallel processing and is designed for finding flux coupling table and metabolic network reductions, specifically for QuantomeRedNet. Moreover, a Julia implementation of Swift Consistency Checking is also available as a preprocessing subroutine.

![sparseQFCA architecture](/example/sparseQFCA.png "sparseQFCA architecture")

## How to get started

Expand Down Expand Up @@ -40,7 +43,7 @@ channel](https://discourse.julialang.org/) is another fast and easy way to find
answers to Julia specific questions.

## Quick Start
To get started, first run `import Pkg; Pkg.add("sparseQFCA")` to install the *sparseQFCA* package, and then see [this Jupyter notebook](https://nbviewer.org/github/mtefagh/sparseQFCA/blob/master/example/sparseQFCA.ipynb) for a demonstration on how to use it.
To get started, first run `import Pkg; Pkg.add("sparseQFCA")` to install the *sparseQFCA* package.

## License
*sparseQFCA* is distributed under the [GNU General Public License v3.0](http://www.gnu.org/copyleft/gpl.html).
19 changes: 9 additions & 10 deletions example/distributedQFCA.ipynb → example/QuantomeRedNet.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"# Metabolic Network Reductions\n",
"# QuantomeRedNet\n",
"\n",
"<p style='text-align: justify;'> \n",
"Metabolic networks, which consist of interconnected biochemical reactions within an organism's cells, play a fundamental role in cellular metabolism. These networks encompass all metabolic pathways, driving energy production, nutrient utilization, biosynthesis, and molecule breakdown. Represented as nodes and edges, they offer a systems-level perspective on the intricate web of biochemical interactions. In the interdisciplinary field of Systems Biology, metabolic networks hold a central position. Systems Biology aims to unravel the complexity of biological systems by integrating biology, computer science, and mathematics. Through the analysis of metabolic networks, researchers gain insights into the dynamic behavior, regulatory mechanisms, and emergent properties of these systems. Computational modeling and simulations based on metabolic networks provide powerful tools for understanding and predicting cellular behavior.\n",
Expand Down Expand Up @@ -82,21 +82,21 @@
"## Import modules\n",
"\n",
"# A Toolkit of Functions for Preprocessing Metabolic Network Data:\n",
"include(\"../src/Data Processing/Pre_processing.jl\")\n",
"include(\"../src/Pre_Processing/Pre_processing.jl\")\n",
"\n",
"# Identifying Blocked Reactions in a Metabolic Model using Convex Optimization(n_i + 2n_r LP):\n",
"include(\"../src/Consistency Checking/TheNaiveApproach.jl\")\n",
"include(\"../src/ConsistencyChecking/TheNaiveApproach.jl\")\n",
"\n",
"# Identifying blocked reactions in metabolic networks using Convex Optimization(1LP) and Gaussian Elimination:\n",
"@everywhere include(\"../src/Consistency Checking/SwiftCC.jl\")\n",
"@everywhere include(\"../src/ConsistencyChecking/SwiftCC.jl\")\n",
"\n",
"# Parallel computation of quantitative flux coupling using swiftCC algorithm and Gaussian Elimination:\n",
"@everywhere include(\"../src/QFCA/distributedQFCA.jl\")\n",
"\n",
"@everywhere include(\"../src/Data Processing/Reduction.jl\")\n",
"@everywhere include(\"../src/QuantomeRedNet/QuantomeReducer.jl\")\n",
"\n",
"# Import required Julia Libraries:\n",
"using .Pre_processing, .TheNaiveApproach, .SwiftCC, .DistributedQFCA, .Reduction, COBREXA, JuMP, sparseQFCA\n"
"using .Pre_processing, .TheNaiveApproach, .SwiftCC, .DistributedQFCA, .QuantomeReducer, COBREXA, JuMP\n"
]
},
{
Expand Down Expand Up @@ -327,7 +327,6 @@
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
Expand Down Expand Up @@ -444,7 +443,7 @@
}
],
"source": [
"blocked_index, fctable, Fc_Coefficients, Dc_Coefficients = distributedQFCA(model)\n",
"blocked_index, fctable, Fc_Coefficients, Dc_Coefficients = distributedQFCA(ModelObject_QFCA)\n",
"println()"
]
},
Expand Down Expand Up @@ -714,7 +713,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## Reduction"
"## QuantomeReducer"
]
},
{
Expand Down Expand Up @@ -793,7 +792,7 @@
],
"source": [
"println(Reactions)\n",
"A = reduction(model)\n",
"reducedModel, A, reduct_map = quantomeReducer(model)\n",
"row, col = size(A)\n",
"println(\"A Matrix: $row x $col\")\n",
"display(A)\n",
Expand Down
Binary file added example/sparseQFCA.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 405e173

Please sign in to comment.