Tools for programming chemical reaction networks (CRN), DNA strand-displacement circuits (DSD) and genetically engineered circuits (GEC).
Перейти к файлу
Neil Dalchau 2d470206e8
Update run_all_examples.yml
2021-09-24 13:38:19 +01:00
.azure Set up static analysis with Azure Pipelines (#9) 2021-09-10 09:25:56 +01:00
.config
.github/workflows Update run_all_examples.yml 2021-09-24 13:38:19 +01:00
.paket
Builds
CRNEngine Set up static analysis with Azure Pipelines (#9) 2021-09-10 09:25:56 +01:00
Checks
ClassicDSD Run examples (#13) 2021-09-24 13:00:10 +01:00
ClassicGEC Simplifying GitHub builds, upgrading some packages and adding documentation (#12) 2021-09-15 23:00:35 +01:00
Data
Docs Update PDF link 2021-09-15 23:03:47 +01:00
FSBOLWrapper Set up static analysis with Azure Pipelines (#9) 2021-09-10 09:25:56 +01:00
Filzbach.FSharp
Filzbach.FSharp.JS
HTML5SharedGUI Resolve security vulnerabilities (#11) 2021-09-14 22:27:40 +01:00
HTML5StrandGraphs
Lib
MomentClosure
Oslo Set up static analysis with Azure Pipelines (#9) 2021-09-10 09:25:56 +01:00
PDESolvers
ParserCombinators
ReactComponents Run examples (#13) 2021-09-24 13:00:10 +01:00
RulesDSD Resolve security vulnerabilities (#11) 2021-09-14 22:27:40 +01:00
Scripts
SiteGraphReactor
StabilityZ3 Simplifying GitHub builds, upgrading some packages and adding documentation (#12) 2021-09-15 23:00:35 +01:00
SundialsSolver
.gitignore
CODE_OF_CONDUCT.md
LICENSE
NOTICE
README.md Adding contributors to README 2021-09-15 22:58:16 +01:00
SECURITY.md
SUPPORT.md Run examples (#13) 2021-09-24 13:00:10 +01:00
Settings.FSharpLint
package.json Run examples (#13) 2021-09-24 13:00:10 +01:00
paket.dependencies Simplifying GitHub builds, upgrading some packages and adding documentation (#12) 2021-09-15 23:00:35 +01:00
paket.lock Simplifying GitHub builds, upgrading some packages and adding documentation (#12) 2021-09-15 23:00:35 +01:00
tsconfig.common.json
tslint.json
yarn.lock Run examples (#13) 2021-09-24 13:00:10 +01:00

README.md

Windows-CLI Windows-Server Windows-HTML

Project

Chemical Reaction Networks Engine (CRN-Engine) is an open source repository that enables programming and analysis of (bio)chemical systems. The implementation for several domain-specific programming languages (DSLs) are included, and have been published previously in web tools (Visual DSD, Visual GEC, Visual CRN) and the scientific literature. The languages compile to chemical reaction networks, which is a mathematical object that defines parameterised chemical systems. The included analysis methods on CRNs include stochastic simulation, approximate simulation of stochastic dynamics using moment closure techniques, integration of the chemical master equation, as well as satisfiability analysis for stable systems. Finally, the parameters of CRNs can be inferred from observation data, using Markov chain Monte Carlo (MCMC).

Getting Started

The main tools are located in the folders \CRNEngine, \ClassicGEC and \ClassicDSD. For each tool, there are solutions for a command-line interface (CLI), or with a visual front-end, either deployed as server-client (run-on-localhost) or fully HTML. To build these solutions, you will need to configure Visual Studio with the necessary add-ins, and also install a few more dependencies.

The instructions for building on Windows are as follows:

  1. Install Visual Studio 2019

    The components required are:

    • Workloads tab:
      • .NET desktop development
      • Desktop development with C++
      • Azure development
    • Individual Components tab, ".NET" section:
      • .NET Framework 4.7.2 SDK
      • .NET Framework 4.7.2 targeting pack
    • Individual Components tab, "Compilers, build tools, and runtimes" section:
      • MSVC (XYZ) - VS 2019; Libs for Spectre (x86 and x64) [where XYZ is the highest version corresponding to the VC++ 2019 version (XYZ) latest v142 tools, which might have been selected already]
    • Individual Components tab, "Development activities" section:
      • F# desktop language support
      • F# language support
      • F# language support for web projects
    • Individual Components tab, "SDKs, libraries, and frameworks" section:
      • Windows 10 SDK (10.0.17763.0)
  2. Install .NET Core SDKs. These are available here. The required versions are 2.1 and 3.1.

  3. Install NodeJS. N.B. This may involve restarting your computer several times.

  4. Install Yarn. The instructions (for Windows) are here.

Contributions

There have been several contributors to this codebase, prior to its migration to this location on GitHub. Significant contributions have come from:

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.