Biostar Q&A
Biostar Central is a Python and Django based collection of web applications that support scientific practice and education.
The goal of the project is to produce software with straightforward installation and minimal dependencies that works on any computing platform that supports Python. For each app the philosophy is that of decentralization and self hosting. We write code to allow others to recreate the same services that we run.
Each web application may be deployed individually or in combination with the others. The following applications are currently feature complete:
recipesa web app that can runs data analysis scripts via a web interface, see: Bioinformatics Recipes
foruma web app that runs a Q&A forum inspired by StackOverflow, see: Biostars Q&A
Note: The public biostars.org site runs the code from the
biostar2016branch. The master branch is the development version that we will migrate the main server to in the future.
The code in Biostar Central requires Python 3.6 or above.
Our installation instructions rely on conda though other alternatives for managing python environments are equally viable.
# Create a virtual environment. conda create -y --name engine python=3.6Activate the python environment.
conda activate engine
Clone the source server code and the recipe code.
git clone https://github.com/ialbert/biostar-central.git
Switch to the biostar-engine directory.
cd biostar-central
Install server dependencies.
pip install -r conf/requirements.txt
The installation is now complete.
All server management commands are run through
make.
To run the demonstration version of the
recipesapp execute:
make recipes demo
To run a demonstration version of the
forumapp execute:
make forum demo
Visit http://127.0.0.1:8000/ to view the site.
All users listed in the
ADMINSattribute of the Django
settings.pymodule will gain administritave privileges when the site is initialized. The
DEFAULT_ADMIN_PASSWORDattribute will be set as the default admin password. By default the value for both is:
[email protected]
Use this username and password combination to log into the site as an administrator. Change the
DEFAULT_ADMIN_PASSWORDfor public facing installations.
The Makefile has several tasks that demonstrate the commands that may be run. Typically a series of
maketasks may be run. For example
Initialize and run a new
recipesapp.
make recipes serve
Initialize and run a demo version of the recipes app:
make recipes demo
Initialize and run an new
forumapp.
make forum serve
forum,
recipes: selects the app to run. It must be the first task in the list.
demo: runs a demonstration version
init: initializes the database schema
serve: runs the app on the default port (
localhost:8080)
save: saves the current database content as a JSON fixture file
load: loads the last database save file from a JSON fixture
reset: resets the database (deletes all database content)
hard_reset: runs
resetthen deletes all files in the media/spool folder
To run all tests type:
make test
To test the
recipesapp run:
make recipes test
To test the
forumapp run:
make forum test
Additional documentation for: