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.

QTL association testing

This mini-protocol selects and runs cis-, trans-, or interaction-QTL association testing with the TensorQTL module.

Miniprotocol Timing

Timing: TBD

Overview

QTL association testing identifies genetic variants associated with molecular traits such as gene expression. This mini-protocol calls TensorQTL.ipynb for three independent analyses: a cis scan of variants near each molecular trait, a trans scan of variants outside the local region, and an interaction scan testing whether a covariate modifies the genotype effect.

Run the genotype-, phenotype-, and covariate-preprocessing mini-protocols first. Their outputs provide chromosome-indexed PLINK genotypes, chromosome-indexed molecular phenotypes, and a sample-aligned covariate matrix. The association results can then be passed to association postprocessing, fine-mapping, or multi-omics integration.

Choose one route below; the three commands are alternatives rather than one mandatory chain.

Steps

Choose one route; cis-, trans-, and interaction-QTL scans answer different questions and are not a mandatory chain.

Analysis goalCommand to runInputs
Test local genetic effects within each phenotype’s cis window1output/genotype_by_chrom/protocol_example.genotype.merged.plink_qc.genotype_by_chrom_files.txt; output/phenotype/phenotype_by_chrom_for_cis/bulk_rnaseq.phenotype_by_chrom_files.txt; output/covariate/protocol_example.rnaseq.bed.protocol_example.covariates.protocol_example.genotype.merged.plink_qc.plink_qc.prune.pca.Marchenko_PC.gz
Test distal effects across chromosomes2The same genotype, phenotype, and covariate files, plus data/combined_AD_genes.csv as the example phenotype-region list
Test whether a covariate modifies a cis-QTL effect3The same genotype, phenotype, and covariate files, plus the interaction variable msex in the covariate data

Run only the command matching the scientific question.

1. cis-QTL scan

What it does: Tests each molecular trait against variants within its cis window, using --MAC 5 for the small chromosome 22 example.

2. trans-QTL scan

What it does: Tests the selected traits against variants on chromosome 22, restricting traits to the identifiers listed in data/combined_AD_genes.csv.

3. interaction-QTL scan

What it does: Runs the cis model with a genotype-by-msex interaction term and reports evidence that the genotype effect changes with this covariate.

Output

RouteRelative pathContents
cis-QTLoutput/tensorqtl_cis/protocol_example.<phenotype_chr>_<genotype_chr>.cis_qtl.pairs.tsv.gzNominal statistics for tested cis variant-trait pairs
cis-QTLoutput/tensorqtl_cis/protocol_example.<phenotype_chr>_<genotype_chr>.cis_qtl_regional_significance.tsv.gzRegion-level permutation and multiple-testing results
cis-QTLoutput/tensorqtl_cis/protocol_example.<phenotype_chr>.cis_qtl_pairs.<chromosome>.parquetNative TensorQTL nominal results retained for reuse
trans-QTLoutput/tensorqtl_trans/protocol_example.<phenotype_chr>_geno_chr22.trans_qtl.pairs.tsv.gzTrans-association statistics for chromosome 22
interaction-QTLoutput/tensorqtl_int/protocol_example.<phenotype_chr>_<genotype_chr>_msex.cis_qtl.pairs.tsv.gzNominal genotype, interaction, and genotype-by-interaction effects

Tabix index files (.tbi) accompany the bgzipped result tables. Exact chromosome tokens follow the input file lists.

Anticipated Results

The selected route produces association statistics for the chromosome 22 example. Cis analysis returns nominal variant-trait results plus region-level significance summaries; trans analysis returns the restricted cross-region tests; interaction analysis adds main and genotype-by-covariate effect estimates.

Proceed to association postprocessing when calibrated regional summaries are needed, or use the nominal and region-level tables as input to the appropriate fine-mapping or integration workflow.

Command Interface

Inspect all TensorQTL workflows, options, and defaults: