FORGEdb
November 3, 2023 ยท View on GitHub
FORGEdb is an online tool designed to aid interpretation of genetic variants associated with diseases, for example variants analyzed in genome-wide association studies (GWAS). Its purpose is to annotate individual variants to identify relevant alleles and target genes.
The platform provides integrated data on individual genetic variants, including associated regulatory elements, transcription factor binding sites, and target genes. This information, derived from a wide range of biological samples, presents a thorough examination of the regulatory context for each variant at the tissue and cell type level. Data sources include Combined Annotation Dependent Depletion (CADD) scores, expression quantitative trait loci (eQTLs), activity-by-contact (ABC) interactions, and transcription factor (TF) motifs.
Notably, FORGEdb introduces a unique scoring system, the FORGEdb score. This score evaluates the functional importance of genetic variants, helping researchers prioritize variants for functional validation. It uses extensive datasets, including those from ENCODE, Roadmap Epigenomics, and BLUEPRINT consortia. With FORGEdb, researchers can quickly analyze different genomic variants and accelerate their research on disease-associated mechanisms.
Resources
- FORGEdb: https://forgedb.cancer.gov
- FORGEdb Paper: https://doi.org/10.1101/2022.11.14.516365
- FORGE2: https://forge2.altiusinstitute.org
Hosting FORGEdb on a Static File Server
Prerequisites
Building
- git
- node.js
Hosting
- Any static file server. The example instructions use Apache.
Instructions
Building and hosting the API
Each dataset is available for download at the following urls:
- Clone the repository:
git clone https://github.com/CBIIT/nci-webtools-dceg-forgedb.git - Under your static file server's document root, create an
apifolder under which you wish to host the FORGEdb api. - Copy the contents of the
client/public/apifolder to theapifolder you created in step 2. - Download source datasets from the table above to the appropriate folder. For example, place
abc.forgedb.csv.gzunderapi/abc/v1.0/. - Navigate to the repository's
databasefolder - Run
npm installto install dependencies - For each dataset, execute the
import.jsscript. For example:node import.js $DOCUMENT_ROOT/api/abc/v1.0/abc.forgedb.csv.gz
Building and hosting the API Client (Website)
- Clone the repositrory:
git clone https://github.com/CBIIT/nci-webtools-dceg-forgedb.git - Navigate to the
clientfolder and runnpm install && npm run buildto generate theoutfolder. If your api is served under a subpath (eg:https://your_hostname/your_subpath/api/), specify the subpath as theNEXT_PUBLIC_BASE_PATHenvironment variable before building (eg:export NEXT_PUBLIC_BASE_PATH=/your_subpath). - Upload the
outfolder to your static file server's document root, ensuring that you do not overwrite the contents of theapifolder.
Hosting FORGEdb on AWS S3 using Cloudfront
AWS S3/Cloudfront is a cost-effective, high-performance method of hosting FORGEdb. The recommended approach is to split the API and website code across two S3 Buckets so they can be managed independently.
- Create or log in to an AWS Account
- Create two S3 buckets (eg:
${org-name}-forgedb-api,${org-name}-forgedb-website) - Create a Cloudfront distribution with an
/apiorigin and adefaultorigin. The/apiorigin should be served from${$org-name}-forgedb-api, and thedefaultorigin should be served from${org-name}-forgedb-website - Build the website code and push it to the
$org-name-forgedb-websitebucket - Copy the
client/public/apifolder to anapifolder under the$org-name-forgedb-apibucket - Download the forgedb source files above
- Upload each source file to the appropriate folder. For example, place
abc.forgedb.csv.gzunderapi/abc/v1.0/. - Navigate to the repository's
databasefolder - Run
npm installto install dependencies - For each dataset, execute the
import.jsscript. For example:node import.js s3://$org-name-forgedb-api/api/abc/v1.0/abc.forgedb.csv.gz. Ensure your environment has s3 credentials configured.