Giter Club home page Giter Club logo

mcellrules's Introduction

mcellRules

Overview

MCellR lets you leverage the power of bionetgen's rule based modeling within the reaction-diffusion simulator MCell.

Using mdlr2mdl.py, you can convert MDLR files into MDL files. MDLR is similar to MDL except it has bionetgen-style syntax for portions of the molecule definitions, reactions, releases, and reaction data. After creating the MDL files using mdlr2mdl.py, the simulation should be run using a special feature branch of MCell (nfsim_diffusion). As the simulation runs, MCell will call the NFsim library as needed in order to find reaction partners.

Installation

  • In build folder, run python requirements.py. This file will download and compile, bionetgen, nfsim, nfsimCinterface, and MCell. (May need troubleshooting)
  • Create a file called mcellr.yaml in the mcellRules directory.
    • Set the path to bionetgen, which should be ./mcellRules/build/bionetgen/bng2/BNG2.pl.
    • Set the "libpath" which should be in ./mcellRules/build/mcell/lib if you ran requirements.py.
    • Look at mcellr.yaml.template for a reference.

Testing

  • Run the following command: python mdlr2mdl.py -ni ./fceri_files/fceri.mdlr -o ./fceri_files/fceri_mdl (use Python 2, not 3, for this part).
  • This will create the following files within the fceri_files directory:
    • fceri.mdlr.xml
    • fceri.mdlr_total.xml
    • fceri_mdl.seed.mdl
    • tfceri_mdl.reactions.mdl
    • fceri_mdl.output.mdl
    • fceri_mdl.molecules.mdl
    • fceri_mdl.main.mdl
  • Now use the following command to run newly created mdl file: ./build/mcell/build/mcell ./fceri_files/fceri_mdl.main.mdl -n ./fceri_files/fceri.mdlr_total.xml
  • This will create the following output files in the main mcellRules directory:
    • fceri.mdlr_total.xml.gdat
    • fceri.mdlr_total.xml_reactions.gdat

Syntax

For a general overview of MDL, please see the quick reference guide.

MDLR is an extension of MDL using bionetgen style syntax. All of the MDL blocks (e.g. DEFINE_MOLECULE, DEFINE_REACTIONS, etc) are prefaced with a pound sign like this:

#DEFINE_MOLECULES {
  ..
}

#DEFINE_REACTIONS {
  ..
}

Molecules

For molecules, the names are treated like bionetgen molecules like Syk(tSH2,lYpY,aYpY) in the following example:

#DEFINE_MOLECULES
{
  Syk(tSH2,l~Y~pY,a~Y~pY)
  {
      DIFFUSION_CONSTANT_3D = 8.51e-7 
  }
}

This example shows a molecule named Syk with three different components (tSH2, l, and a). Two of the components (l and a) each have two different states (Y and pY).

mcellrules's People

Contributors

jjtapia avatar jczech avatar

Watchers

James Cloos avatar  avatar

Forkers

mcellteam

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.