iGEM 2015 Best Software Project! ^_^
Thank you! See you next year :-)
CORE is a Crowdsourcing Open Redesign Engine for Synthetic Biology. It contains three major parts:
- Co-development: Crowdsourcing platform for collaborative design. Collaboration results in great projects. Crowdsourcing helps synthetic biologists identify problems and co-develop their constructs.
- CORE Design: A Standardized Genetic Design Bank. Reuse and re-design lead to efficiency. Standard repository of genetic design helps “stand on the shoulder of the giants” while prevent “re-inventing the wheels”.
- CORE Bank: Integrated solutions for wet-lab assistance. For Synbio, genetic design is the basis but not the whole story. Mathematical modeling, plasmid design, protocol management and experiment schedule are good auxiliaries.
Here list only the main dependencies. For a complete list, please see requirements.txt
and docs_requirements.txt
.
flask
: Python web backend microframework.sphinx
: Automatic documentation generating tool.numpy
andscipy
: ODE solver for the modeling part.nose
: Automatic Unit Testing.
In most cases, you won't care about how to install the server, because we have one that is accessible publicly 😄.
The online version is hosted here.
Besides, we also provide an online version of the docuementations, which is hosted here.
If you really want to host a separate copy of the server, you have two options.
- The BLUE pill: use one of our releases here. It's designed especially for easy deploying.
- The RED pill: you will need knowledge about python and the command line. General instructions can be found below. Note that you normally really don't need to get your hands dirty. Discussion about this can be found in Advanced Usage section of this file.
Basic command-line setup instructions:
# Clone this repo
git clone https://github.com/igemsoftware/SYSU-Software-2015
# Install dependencies
pip2 install -r requirements.txt
# Initializing the database
python manager.py init
# run the server
python core.py
The primitive CORE contains nothing except few necessary information to support the software. If you want to start with some parts, devices and tasks that we collected for you, run python manager.py userinit
instead. You can acquire many useful components and feel less lonely.
It is highly recommended to deploy CORE on a public (like world-wide-web) or semi-public (like laboratory) server. Because users can cooperate with each other by answering others' question or by sharing their devices.
We assume that you are a lab server manager and possess the basic ability of deploying a server-based software (or ask students in CS for help). You just need to change the HOST
and PORT
in core.py
and re-run python core.py
to restart the software.
If you are a developer who hopes to use CORE on IOS, Android or other platforms, we provide miscellaneous interfaces for further development:
- Deploy CORE on an accessible server without modifying anything.
- Access the interface via any platform to retrieve/update the information.
cd docs/
- Build with
sphinx-build -b html -d _build/doctrees . _build/html
- See in
_build/html/index.html
An online version is hosted here.
- Flask and various plugins
- nose
- numpy
- scipy
- SQLAlchemy
- WTForms
- gevent
- Semantic UI
- jsPlumb
- vue.js
- angularPlasmid.js
- highcharts.js
- fullCalendar
- MathJax
- Math.js
SYSU-Software-2015 and all the developers of the libraries used in this project.
CORE uses LGPL 3.0 license. See more details in LICENSE
.
- 0.8.0: released on Sept 14th, 2015.
- 1.0.0: released on Sept 19th, 2015.