Skip to content

leilahsn/FastKnock

Repository files navigation

FastKnock

Version: 1.1

Introduction: FastKnock is an efficient algorithm to identify all possible knockout strategies for growth-coupled overproduction of biochemical(s) of interest. The details of the methodology and algorithm are explained in the following manuscript:

Hassani et al. "FastKnock: An efficient approach to identify all knockout strategies for strain optimization", Submitted 2021.

Prerequisites:

  • python 3.9

  • COBRApy 0.21.0 and above

    To install COBRApy used the command: pip install cobra

Running FastKnock:

1 - Copy a desired genome scale model (.mat or .xml file) to the main directory of the project. For example you can use iJR904 model available in this project folder: https://github.com/leilahsn/FastKnock/blob/main/iJR904.mat

2 - Specify the name of the model in the main method of FastKnock.py. The main method is called at the end of the file Fastknock.py.

3 - Define the medium culture (for example Oxygen and Glucose uptake rate for iJR904) in the model_preparation function in FastKnock.py.

4 - Define the desired chemicals and biomass reactions and their threshold in both identifyMaximizedSolution.py and identifyGuaranteedSolution.py files.

5 - In the main function of FastKnock.py demonstrate the the workspace of each process (i.e., the number of proccessor cores)

6 - Run the fastKnock.py file. In the command line of shell in the directory of the fastknock project execute the command: python Fastknock.py

7 - The output is a set of files knockoutStrategy_i.txt where i is the number of simultaneous reaction knockout.

Details of each file:

  • Fastknock.py: FastKnock.py is the main method of the algorithm. Processes are defined in this method for traversing the tree branches. Each Process writes its solutions into the separate files.

  • PreProcessing.py : PreProcessing.py aims to determine eliminate list of the model.

  • Gene_Rule.py : This file demonstrates the essential and involved sets of each reaction. These sets are being used in Clustering_Reactions.py and findingCoKnockOut.py

  • Clustering_Reactions.py: In this file, based on the obtained essential and involved sets of each reaction in Gene_Rule.py, the way of each reaction knockout by the genes is determined. Other reactions that are forcibly eliminated with the reaction are also identified.

  • Node.py: This class is definition of the node object and its properties.

  • findingCoKnockOut.py: In this function, based on the analysis of the Clustering_Reactions.py and Gene_Rule.py, all of coKnockout reactions are identified.

  • traverseTree_nonrec.py: This file contains two function, procTraverseTree which call traverseTree function for each processes of the parallel algorithm. The traverseTree sub-procedure recursively navigates the tree based on a depth-first traversal.

  • constructSubTree.py: This method is construct corresponding subtree of the node X It returns children nodes of X at level (X.level+1)

  • identifyTargetSpace.py: In this method the target_space of each node X is obtained. It determines the flux distribution and target space of node X.

  • identifyMaximizedSolution.py: This method specifies whether a flux distribution of a node X can be the maximized solution to the problem. In this function all of the desired chemicals and their threshold are defined.

  • identifyGuaranteedSolution.py: This method specifies whether a minimum flux distribution of a node X can be maximized to the problem. In this function all of the desired chemicals and their threshold are defined.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages