Software for better science.
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 our 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:
foruma web app that runs a Q&A forum inspired by StackOverflow, see: Biostars Q&A
recipesa web app that can runs data analysis scripts, see: Bioinformatics Recipes
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.6 # Activate 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
To run the demonstration version of the
recipes app execute:
make recipes demo
To run a demonstration version of the
forum app execute:
make forum demo
Visit http://127.0.0.1:8000/ to view the site.
All users listed in the
ADMINS attribute of the Django
module will gain administritave privileges when the site is initialized. The
DEFAULT_ADMIN_PASSWORD attribute will be set as the default admin password.
By default the value for both is:
Use this username and password combination to log into the site as an administrator. Change the
DEFAULT_ADMIN_PASSWORD for public facing installations.
Running the site
The Makefile has several tasks that demonstrate the commands that may be run. Typically a series of
make tasks may be run. For example
Initialize and run a new
make recipes serve
Initialize and run a demo version of the recipes app:
make recipes demo
Initialize and run an new
make forum serve
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 (
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)
resetthen deletes all files in the media/spool folder
To run all tests type:
To test the
recipes app run:
make recipes test
To test the
forum app run:
make forum test
Additional documentation for: