Package: biocrnpyler
BioCRNPyler — Biomolecular Chemical Reaction Network CompilerPython toolbox to create CRN models in SBML for biomolecular mechanismsBioCRNPyler (pronounced Bio-Compiler) is a Python package for the creation, manipulation,
and study of the structure, dynamics, and functions
of complex biochemical networks.Website:http://buildacell.io/BioCRNPylerMailing list:SBTools Google GroupEmail:sbtools@googlegroups.comSource:https://github.com/BuildACell/BioCRNPylerPaper:-BioCRNpyler: Compiling Chemical Reaction Networks from Biomolecular Parts in Diverse ContextsMailing list:SBTools Google GroupEmail:sbtools@googlegroups.comBug reports:https://github.com/BuildACell/BioCRNPyler/issuesDocumentationhttps://github.com/BuildACell/BioCRNPyler/SlackJoin the #biocrnpyler channel on SBTools slack: Ask on the public SBTools Google group to be added or send a message to one of the maintainers.Example 1: Building Simple CRNs by HandBioCRNpyler allows for CRNs to be built by hand, adding Species and Reactions manually.frombiocrnpylerimport*# let's build the following CRN# A -->[k1] 2B# B -->[k2] C+D# SpeciesA=Species("A")B=Species("B")C=Species("C")D=Species("D")#Reaction Ratesk1=3.k2=1.4#Reaction ObjectsR1=Reaction.from_massaction([A],[B,B],k_forward=k1)R2=Reaction.from_massaction([B],[C,D],k_forward=k2)#Make a CRNCRN=ChemicalReactionNetwork(species=[A,B,C,D],reactions=[R1,R2])print(CRN)Example 2: Compiling Complex CRNs from SpecificationsBioCRNpyler also allows for higher level descriptions to be compiled into a CRN. In the below example, a piece of synthetic DNA with two promoters pointing in opposite directions is constructed from a list of DNAparts which are combined together in a DNA_construct and then simulated in a TxTlExtract context, which represents a cell-free bacterial lysate with machinery like Ribosomes and Polymerases modeled explicitly.frombiocrnpylerimport*#Define a set of DNA partsptet=RegulatedPromoter("ptet",["tetr"],leak=True)#this is a promoter repressed by tetR and has a leak reactionpconst=Promoter("pconst")#constitutive promoterpcomb=CombinatorialPromoter("pcomb",["arac","laci"],leak=False,tx_capable_list=[["arac"],["laci"]])#the Combinations A and B or just A or just B be transcribedutr1=RBS("UTR1")#regular RBSutr2=RBS("UTR1")#regular RBSgfp=CDS("GFP","GFP")#a CDS has a name and a protein name. so this one is called GFP and the protein is also called GFPfusrfp=CDS("fusRFP","RFP",no_stop_codons=["forward"])#you can say that a protein has no stop codon. This is a little different from a fusion protein, because in this case you are saying that the ribosome reads through two proteins but still produces two distinct proteins, rather than one fused protein. This can happen in the case of the ta peptide which causes a peptide bond not to be formed while making a protein.rfp=CDS("RFP","RFP")#regular RFPcfp=CDS("CFP","CFP")#cfpt16=Terminator("t16")#a terminator stops transcription#Combine the parts together in a DNA_construct with their directionsconstruct=DNA_construct([[ptet,"forward"],[utr1,"forward"],[gfp,"forward"],[t16,"forward"],[t16,"reverse"],[rfp,"reverse"],[utr1,"reverse"],[pconst,"reverse"]])#some very basic parameters are defined - these are sufficient for the whole model to compile!parameters={"cooperativity":2,"kb":100,"ku":10,"ktx":.05,"ktl":.2,"kdeg":2,"kint":.05}#Place the construct in a context (TxTlExtract models a bacterial lysate with machinery like Ribosomes and Polymerases modelled explicitly)myMixture=TxTlExtract(name="txtl",parameters=parameters,components=[construct])#Compile the CRNmyCRN=myMixture.compile_crn()#plotting not shown - but BioCRNpyler automatically produces interactive reaction network graphs to help visualize and debug complex CRNs!More advanced examples can be found in theexamplefolder,
here's the first file in the Tutorial series:Building CRNsInstallationInstall the latest version of BioCRNPyler::$ pip install biocrnpylerInstall with all optional dependencies::$ pip install biocrnpyler[all]Further details about the installation process can be found in theBioCRNPyler wiki.BugsPlease report any bugs that you findhere.
Or, even better, fork the repository onGitHub,
and create a pull request (PR). We welcome all changes, big or small, and we
will help you make the PR if you are new togit(just ask on the issue and/or
seecontribution guidelines).VersionsBioCRNpyler versions:1.0.2 (latest stable release): To install runpip install biocrnpyler0.9.0 (beta release): To install runpip install biocrnpyler==0.9.00.2.1 (alpha release): To install runpip install biocrnpyler==0.2.1LicenseReleased under the BSD 3-Clause License (seeLICENSE)Copyright (c) 2020, Build-A-Cell. All rights reserved.