HTFome is a publicly available web application that provides up-to-date information on Human Transcription Factors (HTFs), drugs which target HTFs, and allows users to upload gene expression data for further HTF analysis.
HTFome was developed as part of the software group project for QMUL's Bioinformatics MSc by A.M. Andersen, K. Antoniuk, N. Hardie and A. Sutradhar. Documentation can be found in the documentation directory (or all in one page in documentation.pdf). The schematic below summarises the software architecture for HTFome.
- Clone the GitHub repository:
git clone --recursive https://github.com/NHardie/HTFome.git
- Install all required packages and dependencies (NB: this should be performed in a virtual environment):
pip install -r requirements.txt
# Add to this file by installing required packages, then using:
pip freeze > requirements.txt
- Run the Django web-application:
python manage.py runserver
htf_web/settings.py
contains settings for the overall website. In line 27, DEBUG should
be False
in production, but True
in development. If CSS does not show up during
development, replacing lines 124-125 with the below code should resolve the issue:
# STATIC_ROOT = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
Creation of further applications, webpages, HTML templates (etc) follows normal Django development guidelines.
.ebextensions/
contains elastic beanstalk config files. Can set commands here to be run upon deployment to AWS elastic beanstalk.db.sqlite3
is the database file. This shouldn't be pushed to github, but instead uploaded to AWS elastic beanstalk separately, or hosted on a separate database server.- If website is moved from hosting on AWS, the
allowed_urls
insettings.py
must include the new hosting URL. - The current app is called
data
(existing in thedata/
directory).- Usually the
static/
(.css/ .js) subdirectory is contained within the app (i.e. data) directory, however, due to AWS Elastic Beanstalk being unable to locatestatic/
in this location, the subdirectory has been moved into the root directory instead. - During development,
static/
can be placed back into the data directory, and then placed in the root directory for production (although this is not necessary).
- Usually the
HTF database files can be found in the HTFs_data
branch.
Drug database files can be found in the drug_data
branch.
The scripts for HTFome's GEO DataSet Analyser can be found in the gds-r-dev
branch
(which contains further information for developers). The Shiny Dashboard is currently
available as an R application.
-
Download
app.R
(or copy/paste to your console) and run on your IDE of preference (it works better in RStudio). -
Upload your own GDS file of choice (datasets available for download on the GDSBrowser).
Note: to begin analysis, you may need to install BiocManager (which many of the packages depend upon).
-
To install BiocManager, refer to BiocManager's installation code (latest version available here):
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install()
- Then you can begin to install packages dependent on BiocManager like so:
BiocManager::install("GEOquery") BiocManager::install("limma") BiocManager::install("EnhancedVolcano") BiocManager::install("viper") BiocManager::install("dorothea")
- Then you can begin to install packages dependent on BiocManager like so:
If you have any comments, suggestions or issues, please let us know using our GitHub issues.