GithubHelp home page GithubHelp logo

ucontent / mcell-b Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 68.23 MB

make master the right branch

License: Other

CMake 0.18% C 55.26% C++ 36.83% Objective-C 0.68% Python 4.34% Makefile 0.04% Shell 0.09% M4 0.04% Lex 0.30% Yacc 2.15% Jupyter Notebook 0.05% SourcePawn 0.05%

mcell-b's Introduction

MCell

Overview

MCell (Monte Carlo Cell) development is supported by the NIGMS-funded (P41GM103712) National Center for Multiscale Modeling of Biological Systems (MMBioS).

MCell is a program that uses spatially realistic 3D cellular models and specialized Monte Carlo algorithms to simulate the movements and reactions of molecules within and between cells—cellular microphysiology.

Build Status Build status Coverity Scan Build Status

Download Latest Test Builds

These builds are the from the head of this branch and are not guaranteed to be stable. Use at your own risk.

Build Requirements:

Ubuntu 16.04:

Run the following commands:

sudo apt-get update
sudo apt-get install cmake build-essential bison flex python3-dev swig libboost-all-dev

Windows

Install the package manager chocolatey from https://chocolatey.org/install. Follow the instructions listed on that page, which will have you copy a command into PowerShell as an Administrator.

Once chocolatey is installed, open up a new PowerShell terminal as an Administrator, and run the following commands:

choco install -y git
choco install -y python3
choco install -y cmake
choco install -y ninja
choco install -y msys2
choco install -y winflexbison
choco install -y swig

Open a new PowerShell Administrator terminal and enter the following:

msys2

This will open a different MSYS2 terminal (not a PowerShell terminal). In this MSYS2 terminal, enter the following commands:

pacman -Syuu
pacman -S --needed base-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain \
                git subversion mercurial \
                mingw-w64-i686-cmake mingw-w64-x86_64-cmake
pacman -Sy mingw-w64-i686-boost mingw-w64-x86_64-boost

Add CMake and MinGW64 to your Windows PATH Environment Variable. If you have installed these dependencies with Chocolatey and your top level drive is named C:, you can append (or prepend) the following paths into your Windows PATH:

C:\tools\msys64\mingw64\bin
C:\Program Files\CMake\bin

Building MCell Executable from Source (OSX, Linux, Windows)

Open a terminal (non-Administrator PowerShell for Windows users), clone the repo and checkout the appropriate branch:

git clone https://github.com/mcellteam/mcell
cd mcell
git checkout nfsim_dynamic_meshes_pymcell

CMake

If this is your first time cloning the repo, you'll want to do this first:

git submodule init
git submodule update

Next create your build directory and change into it:

mkdir build
cd build

OSX and Linux

cmake ..
make

Windows

cmake -G Ninja ..
ninja

Note: pyMCell does not currently build on Windows.

Alternative (non-CMake) Method to Build pyMCell:

PyMCell is an experimental MCell-Python library. You can build it using the traditional CMake method above or this distutils based method, which requires swig and a newer version of Python 3 (preferably 3.5 or greater). Run the following command:

python3 setupy.py build

How to Test:

Testing with nutmeg

nutmeg is a regression test framework for MCell. Installation and usage instructions are listed on the nutmeg project page.

Testing MCellR

MCellR testing hasn't been incorporated into nutmeg yet, but you can test MCellR functionality directly after building MCell. Simply run the following commands (starting at the top level of the "mcell" project directory):

python3 -m venv mcell_venv
source mcell_venv/bin/activate
pip install -r requirements.txt
cd build
python mdlr2mdl.py -ni ./fceri_files/fceri.mdlr -o ./fceri_files/fceri -r

mcell-b's People

Contributors

jczech avatar haskelladdict avatar jjtapia avatar adamhusar avatar cnlbob avatar coderforlife avatar tmbartol avatar evancresswell avatar tgbugs avatar

Watchers

Antonio Dell'Elce avatar James Cloos avatar

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.