Web interface for a genetic interactions screen
Python HTML CSS JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
antiquated
clones
dbmigration
eegi
experiments
library
utils
website
worms
.gitignore
INSTALL.md
QUERIES.md
README.md
gulpfile.js
manage.py
package.json
requirements.txt
runtime.txt

README.md

Genome-Wide Early Embryogenesis Genetic Interactions Project

Django web interface and programs for a genome-wide Caenorhabditis elegans screen, which used millions of pairwise gene knockdown experiments to uncover suppressor and enhancer phenotypes to reveal genetic interactions.

  1. Code
  2. Apps
  3. Database
  4. Installation

Code

The project is organized the standard Django way, with most code in Python.

Python version is listed in runtime.txt. Python package dependencies, including Django, are listed in requirements.txt.

HTML is in the Django template language.

Javascript uses jQuery.

CSS is in SASS. gulpfile.js can be used to automate the compilation of SASS while in development. The package dependencies for using Gulp are listed in package.json. Please see INSTALL.md for more details on how to install these dependencies and use this script.

Managerial scripts live in the standard Django location: appname/management/commands/scriptname.py, to be run with ./manage.py scriptname.

To browse these scripts, run ./manage.py help. For help on a particular script, run ./manage.py help scriptname.

Apps

The project is organized into four Django apps centered around the project data:

  • worms captures the C. elegans strains used in the screen.
  • clones captures the RNAi feeding clones used in the screen, including information about what genes these clones target.
  • library captures the physical RNAi stocks used in the screen, including sequencing results.
  • experiments captures the actual experiments, including human and machine scores of results.

One other Django app holds simple website functionality used across the other apps:

  • website holds website functionality that does not fall into one of the other apps (e.g., the templates and stylesheets for the home page, footer, etc)

Finally, an explanation of some other top-level directories:

  • utils holds some very general helper functions
  • antiquated holds some old code that predates this Django project
  • dbmigration holds the functionality for syncing the database from the legacy database. This was a Django app, but is now de-activated.

Database

Click here to view the database schema on Lucidchart (or here to download a PDF).

Click here to view the old, plate-level database schema on Lucidchart (or here to download a PDF).

Click here to view Firoz's clone mapping database schema on Lucidchart (or here to download a PDF).

Notes on migrating the data from the old database (GenomeWideGI on pleiades) are in dbmigration/README.md.

Installation

See INSTALL.md.