Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

FunGen-xQTL Computational Protocol

Developed for reproducible & reusable molecular QTL analyses for the NIH/NIA Alzheimer’s Disease Sequencing Project (ADSP) Functional Genomics xQTL (FunGen-xQTL) Project.

What the protocol covers

StageWhat it does
Molecular phenotypesQuantify expression, splicing, methylation and polyadenylation from bulk RNA-seq, single-nuclei or array data
Data preprocessingGenotype QC and formatting, phenotype imputation and formatting, covariate and hidden-factor estimation
QTL association testingcis and trans scans with TensorQTL, quantile-regression QTL, hierarchical multiple testing
Multivariate modellingMASH, to borrow information across tissues and cell types
Fine-mapping and TWASSuSiE, mvSuSiE, fSuSiE and SuSiE-RSS, from individual-level data or summary statistics, with TWAS weights
GWAS integrationColocalization (SuSiE-enloc, ColocBoost), TWAS and cTWAS, INTACT
Enrichment and validationPathway analysis, GREGOR, stratified LD score regression

Not every project needs every stage. The xQTL Analysis Workflow Builder asks what you measured and what you want to find out, then shows the modules on that route with the commands to run them.

Getting started

I want to...Go to
Set up my computing environmentEnvironment Setup
Work out which pipelines I needxQTL Analysis Workflow Builder

Overview of the protocol

Standardized reference data

Reference data are standardized and curated by the ADSP FGC Standardization Workgroup in coordination with NIAGADS. Please find reference data specifications on ADSP Dashboard.

Software environment

We use a set of packages from the Conda ecosystem to deploy our software. Most packages are from conda-forge and bioconda, along with a custom channel for software unavailable from those repositories. Installation is managed through pixi-setup; native support is provided for Linux and macOS (Intel and Apple Silicon), and Windows users will need Windows Subsystem for Linux (WSL).

Pipeline execution

Pipelines in this repository are written in the Script of Scripts (SoS) workflow language. Like most other workflow languages, SoS workflows can distribute and execute computing jobs directly in High Performance Computing cluster. Unlike most other workflow languages, SoS workflows are created using SoS Notebooks (based on Ipython Notebook and developed in Jupyter) which allow for both scientific narrative and pipeline scripts in the same document. Unlike typical Jupyter Notebooks intended for interactive data analysis, SoS workflows written in Jupyter Notebooks can be executed directly as command line scripts either on a local computer or in an HPC environment.

We provide this toy example for running SoS pipeline on a typical HPC cluster environment. First time users are encouraged to try it out in order to help setting up the computational environment necessary to run the analysis in this protocol.

Source code

How to use the resource

Organization of the resource

The website https://statfungen.github.io/xqtl-protocol is generated from files under the code folder of the source code repository. The pipeline folder contains symbolic links automatically generated for pipeline files under code, so analyses are run from the root of the repository by typing sos run pipeline/<pipeline_file>.ipynb.

The logic of the entire xQTL analysis workflow is roughly reflected on the left sidebar:

Example data

Every module has example data committed under tests/fixtures/, subset to chr22 to keep the repository small. These are the same files the test suite runs against, so the commands shown in the documentation can be run directly after cloning -- no download required. Every path shown resolves either to one of these fixtures or to the output directory of the step that produces it.

Large reference files -- genome FASTA, GTF annotations, aligner indices, external LD panels -- are not distributed with the repository and must be obtained separately; commands that need them show the expected path.

See Also

Contributors

This repository is developed by the Analysis Working Group of the NIA FunGen-xQTL consortium. Lead developers, contributors and leadership are listed here.