Tools for programming chemical reaction networks (CRN), DNA strand-displacement circuits (DSD) and genetically engineered circuits (GEC).
Перейти к файлу
Neil Dalchau 540e3bf055 Targeting x64 2021-09-06 09:26:52 +01:00
.config
.github/workflows
.paket
Builds
CRNEngine
Checks
ClassicDSD
ClassicGEC
Data
FSBOLWrapper
Filzbach.FSharp
Filzbach.FSharp.JS
HTML5SharedGUI
HTML5StrandGraphs
Lib
MomentClosure
Oslo
PDESolvers
ParserCombinators
ReactComponents
RulesDSD
Scripts
SiteGraphReactor
StabilityZ3
SundialsSolver
.gitignore
CODE_OF_CONDUCT.md
LICENSE
NOTICE
README.md
SECURITY.md
SUPPORT.md
Settings.FSharpLint
package.json
paket.dependencies
paket.lock
tsconfig.common.json
tslint.json
yarn.lock

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 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

    Required versions:

    • 2.2.*
    • 3.0.*
    • 3.1.*
  3. Install NodeJS

    N.B. This may involve restarting your computer several times.

  4. Install Yarn

    The instructions (for Windows) are here.

  5. Install C++ CRT (C Run Time Library)

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.