Skip to content
Open

Coral #205

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
59c2216
make passing variants the only form pushed through to downstream anal…
robert-a-forsyth Sep 18, 2026
c596e1b
fixes to the filtering
robert-a-forsyth Sep 18, 2026
9a1e8e6
testing
robert-a-forsyth Sep 21, 2026
938f084
fix bugs
robert-a-forsyth Sep 21, 2026
5b38dcf
bump wakhan (bug)
robert-a-forsyth Sep 22, 2026
1f93364
Merge remote-tracking branch 'origin/dev' into variant_filter
robert-a-forsyth Sep 22, 2026
da99d0b
Split multi-allelics before intersection, harden the consensus channe…
robert-a-forsyth Sep 22, 2026
b646c20
Adjudicate the tumour-only germline arm with DeepSomatic's verdict
robert-a-forsyth Sep 22, 2026
33bb9b2
Preserve the caller's FILTER through VCFTAG so the PASS filter still …
robert-a-forsyth Sep 22, 2026
33a631b
Make the VCFTAG test runnable
robert-a-forsyth Sep 22, 2026
825af15
Fold STANDARDIZE_AF into BCFTOOLS_ANNOTATE
robert-a-forsyth Sep 22, 2026
d4401a4
Drop a duplicated CLAIR3 argument and correct a false ordering comment
robert-a-forsyth Sep 22, 2026
d3b4581
Regenerate snapshots for the germline/somatic tagging processes
robert-a-forsyth Sep 22, 2026
50d887a
Merge remote-tracking branch 'origin/dev' into variant_filter
robert-a-forsyth Sep 22, 2026
25a0191
fix report clog
robert-a-forsyth Sep 23, 2026
0a3024a
Fill in the PR number on this branch's changelog entries
robert-a-forsyth Sep 23, 2026
2d4e9ce
Merge remote-tracking branch 'origin/dev' into variant_filter
robert-a-forsyth Sep 23, 2026
d5e610e
Satisfy the pre-commit hooks: call the report slot closure explicitly
robert-a-forsyth Sep 23, 2026
1376557
Add ecDNA analysis: CoRAL reconstruction and AmpliconClassifier
robert-a-forsyth Sep 24, 2026
001926c
fixes ecDNA subworkflow
robert-a-forsyth Sep 25, 2026
27728f8
Move the INFO/SOMATIC filter of local BCFTOOLS_VIEW into ext.args
robert-a-forsyth Sep 25, 2026
c691a0c
Leave FILTER untouched in VCFTAG
robert-a-forsyth Sep 25, 2026
75036a0
Prefilter DS_VERDICT_QUERY to the non-PASS/RefCall DeepSomatic rows
robert-a-forsyth Sep 25, 2026
18023f2
Rejoin split multi-allelics after the caller consensus
robert-a-forsyth Sep 25, 2026
6a3e297
Join ASCAT and Wakhan report files instead of counting with groupKey
robert-a-forsyth Sep 25, 2026
d653bcb
Inline the PASS filter as BCFTOOLS_VIEW aliases at each caller
robert-a-forsyth Sep 25, 2026
c91a23e
Add VCFTAG meta.yml and fix var_keep defaults in usage.md
robert-a-forsyth Sep 25, 2026
5fae932
Allow deepvariant without deepsomatic; skip the verdict transfer then
robert-a-forsyth Sep 25, 2026
00a9312
Cut long comments, sample numbers and CHANGELOG write-ups to one or t…
robert-a-forsyth Sep 25, 2026
ff88896
Regenerate pipeline snapshots after the review fixes
robert-a-forsyth Sep 25, 2026
219aaaf
Merge remote-tracking branch 'origin/dev' into coral
ljwharbers Sep 28, 2026
7692333
Merge dev into variant_filter
ljwharbers Sep 28, 2026
46e9346
Phase only alt somatic records, without germline records at their pos…
robert-a-forsyth Sep 29, 2026
97801ff
Keep one caller's record per position in the 'all' caller union
robert-a-forsyth Sep 29, 2026
cadbdee
Assert record contents of the phased VCFs in the pipeline tests
robert-a-forsyth Sep 29, 2026
24404b8
Warn when tumour-only DeepVariant calls run without DeepSomatic's ver…
robert-a-forsyth Sep 29, 2026
1982724
Regenerate pipeline snapshots after the review fixes
robert-a-forsyth Sep 29, 2026
9ce6a8a
Merge remote-tracking branch 'origin/variant_filter' into coral
robert-a-forsyth Sep 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### `Added`

- [#XXX](https://github.com/IntGenomicsLab/lrsomatic/pull/XXX) - Added ecDNA and focal amplification analysis: CoRAL reconstructs amplicon structures from each tumour BAM, seeded by ASCAT's copy-number calls, and AmpliconClassifier labels each amplicon as ecDNA, BFB or linear. Runs by default on tumour samples with ASCAT calls; turn it off with `--skip_coral`, or keep reconstruction without classification with `--skip_ampliconclassifier`. CoRAL's optimisation defaults to the open-source SCIP solver rather than Gurobi: across the 1102 solver logs from the previous standalone cohort the largest model was 620 rows by 438 columns and the slowest solve took 0.49 s, so a licensed solver buys nothing at this scale, though `--coral_solver gurobi_direct` with `--gurobi_license` remains available. AmpliconClassifier's AmpliconArchitect data repository is downloaded automatically for GRCh38 and must be supplied with `--aa_data_repo` for CHM13, which has no published repository (@robert-a-forsyth).
- [#XXX](https://github.com/IntGenomicsLab/lrsomatic/pull/XXX) - Added `ascat_to_coral_bed.py` and the `ASCAT_TO_CORAL_BED` module, converting ASCAT's `cnvs.txt` into the headerless BED CoRAL seeds from. Contigs are respelled to match the reference, since ASCAT writes `1` where the BAM may say `chr1` and CoRAL builds its chromosome sizes from the BAM header; zero-length and inverted segments are dropped, which CoRAL's own parser would otherwise reject (@robert-a-forsyth).
- [#XXX](https://github.com/IntGenomicsLab/lrsomatic/pull/XXX) - Added stub nf-tests for the `ECDNA` subworkflow and `ASCAT_TO_CORAL_BED` (tag `small`), covering the empty-seed branch, the opt-in cycle re-extraction and the `--skip_ampliconclassifier` path (@robert-a-forsyth).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#XXX → #205 (also on the two lines above). The claim about covering the empty-seed branch doesn't hold: the CORAL_SEED stub always writes a non-empty seed, and none of the three ECDNA tests forces an empty one.

- [#197](https://github.com/IntGenomicsLab/lrsomatic/pull/197) - Added CHM13 support for ClairS-TO's Verdict module, which tags tumour-only calls as germline, somatic or subclonal somatic; its resources were GRCh38-only, so on CHM13 germline variants leaked into `somatic.vcf.gz`. With `--genome CHM13 --skip_ascat` the pipeline builds a CHM13 resource set from the ASCAT files it already downloads and passes it as `--cna_resource_dir`; a prepared directory can be given with `--clairsto_cna_resources` (validated at launch). Without `--skip_ascat` tagging comes from ASCAT's own tables instead (next entry) (@ljwharbers).
- [#197](https://github.com/IntGenomicsLab/lrsomatic/pull/197) - Added `CLAIRSTO_VERDICT_TAG`: when ASCAT is in the run, Verdict's germline tagging is computed from ASCAT's purity, ploidy and segments instead of Verdict's own estimate, so `CLAIRSTO` runs with `--disable_verdict` and ASCAT runs before small variant calling. Output names are unchanged. The tables the tags were computed from are published as `<sample>_Tumor_Purity_Ploidy.txt` and `<sample>_Tumor_CNA.txt`, also on `--skip_ascat` runs (@ljwharbers).
- [#197](https://github.com/IntGenomicsLab/lrsomatic/pull/197) - Added a stub nf-test for `TUMORONLY_SMALLVAR` covering both germline tagging paths (tag `small`) (@ljwharbers).
Expand All @@ -20,6 +23,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### `Changed`

- [#200](https://github.com/IntGenomicsLab/lrsomatic/pull/200) - In tumour-only mode with both `deepvariant` and `deepsomatic` selected, DeepVariant's germline calls are now kept only where DeepSomatic's verdict is `GERMLINE` or `PON` (`INFO/DS_VERDICT`); with `deepvariant` alone they are unfiltered and may include somatic variants (@robert-a-forsyth).
- [#200](https://github.com/IntGenomicsLab/lrsomatic/pull/200) - The phased somatic VCF is now split from the merged germline+somatic VCF by an `INFO/SOMATIC` provenance flag (new `VCFTAG` module) instead of by position, so germline records at somatic coordinates no longer leak into it; ClairS-TO germline records keep their original `FILTER` in `INFO/ORIG_FILTER` (@robert-a-forsyth).
- [#200](https://github.com/IntGenomicsLab/lrsomatic/pull/200) - Added `--smallvar_filter_pass` (default `true`), which restricts each small variant caller's output to `PASS` records before the caller consensus, phasing, VEP and the report; the published per-caller VCFs are unchanged (@robert-a-forsyth).
- [#201](https://github.com/IntGenomicsLab/lrsomatic/pull/201) - `CLAIRSTO` and `CLAIRSTO_VERDICT_TAG` now pull the fork image from Docker Hub: `oras://docker.io/ljwharbers/clairs-to-sif:0.5.1-verdict-chm13-c0687e8-flat` under Singularity/Apptainer and `docker.io/ljwharbers/clairs-to:0.5.1-verdict-chm13-c0687e8-flat` otherwise, instead of `ghcr.io/ljwharbers/clairs-to`. The `-cpu` SIF on ghcr failed with `PROTOCOL_ERROR` on slow links: ghcr redirects every blob download to an Azure URL that expires at the next 5-minute mark and resets a stream still open then, and Apptainer resumes neither an `oras://` nor a `docker://` download. Docker Hub's download URLs are valid for 50 minutes and only checked when the request starts. `-flat` is the same software copied into an empty image in a few layers (3.3 GB instead of 7 GB); the software and its outputs are unchanged. `docs/usage.md` describes `pullTimeout`, Docker Hub's anonymous pull limit, pre-pulling, and how to recover the remaining `oras://ghcr.io` SIFs resumably (@ljwharbers).
- [#199](https://github.com/IntGenomicsLab/lrsomatic/pull/199) - `CLAIRSTO` and `CLAIRSTO_VERDICT_TAG` now run the `-cpu` rebuild of the fork image (`0.5.1-verdict-chm13-c0687e8-cpu`), which swaps PyTorch's CUDA build for the CPU build of the same version. The software is otherwise unchanged, but the Apptainer SIF drops from 6.53 GB to 3.46 GB. The old image could not be pulled on a normal VSC link: Apptainer fetches an `oras://` SIF as a single unresumable stream, and the signed blob URL ghcr redirects to expires on a 15-minute wall-clock boundary, so 6.53 GB needed 7.3 MB/s sustained and was otherwise cut mid-transfer with `PROTOCOL_ERROR` (@ljwharbers).
- [#197](https://github.com/IntGenomicsLab/lrsomatic/pull/197) - `CLAIRSTO` now runs `ghcr.io/ljwharbers/clairs-to:0.5.1-verdict-chm13-c0687e8` (ClairS-TO 0.5.1) instead of `docker.io/hkubal/clairs-to:v0.4.2`: a fork that lets Verdict read its CNA resources from `--cna_resource_dir`, fixes four places where Verdict's Python port of ASCAT departed from R, and disables Verdict with a warning when its resources cannot be read. **GRCh38 results move as well as CHM13 ones.** Revert to the upstream image once HKU-BAL/ClairS-TO carries these changes. The module also selects the SIF under `-profile apptainer` and sets explicit output prefixes (@ljwharbers).
Expand All @@ -44,6 +50,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [#206](https://github.com/IntGenomicsLab/lrsomatic/pull/206) - A remote (http, https or ftp) ClinVar is now downloaded once per run by the new `VEPPLUGIN_CLINVAR` step in `PREPARE_VEP_PLUGINS`, instead of being staged by Nextflow as a foreign file; local and cloud-storage paths are staged as before. `GERMLINE_VEP` and `SOMATIC_VEP` re-checked the foreign file on its host for every sample, and NCBI answered the burst from a multi-sample GRCh38 run with HTTP 503, so `SOMATIC_VEP` failed with `Can't stage file ...clinvar_20260829.vcf.gz`; `-resume` could not recover, since the failed check changed the staging cache key. The download is checked against the new `--vep_clinvar_md5` and `--vep_clinvar_tbi_md5`, set by default to the checksums NCBI (GRCh38, VCF only) and Ensembl (CHM13, VCF and index) publish, so the pinned release cannot change silently. Resuming a run that already finished re-runs `GERMLINE_VEP` and `SOMATIC_VEP` once, since ClinVar now comes from a task rather than the stage cache. The ClinVar sizes in `docs/usage.md` are also corrected, and `docs/output.md` now documents `vep_plugins/` (@AmberVerhasselt).
- [#203](https://github.com/IntGenomicsLab/lrsomatic/pull/203) - `CLAIRS` no longer runs with `--haplotagged_tumor_bam_provided_so_skip_intermediate_phasing_and_haplotagging`. Since somatic calling was moved ahead of `PHASING_HAPLOTYPING` (v1.1.0), ClairS has received the untagged minimap2 BAM, so the flag made it skip its own phasing and haplotagging and call every paired sample without haplotype information: the full-alignment model saw no `HP` tags and the haplotype filtering step had nothing to filter on, the same as `--disable_phasing`. ClairS now runs Clair3 on the normal and tumour BAMs and phases the tumour itself. **Paired somatic calls change** (fewer false positives expected), and `CLAIRS` takes longer and uses more work-directory space (@ljwharbers).
- [#203](https://github.com/IntGenomicsLab/lrsomatic/pull/203) - `docs/output.md` now lists the ClairS SNV output as `snvs.vcf.gz`, the name the pipeline publishes, instead of `snv.vcf.gz` (@ljwharbers).
- [#200](https://github.com/IntGenomicsLab/lrsomatic/pull/200) - `*_var_combine = 'all'` now keeps both callers' private calls; the prioritized caller's own private calls were previously dropped. Invalid `combine_method`/`prioritize_caller` values now raise an error (@robert-a-forsyth).
- [#200](https://github.com/IntGenomicsLab/lrsomatic/pull/200) - `*_var_combine = 'consensus'` now splits multi-allelic records before intersecting, so they match across callers, and rejoins them before phasing. `'all'` now keeps the prioritised caller's record wherever both callers call a position, so no record mixes two callers' alleles (@robert-a-forsyth).
- [#200](https://github.com/IntGenomicsLab/lrsomatic/pull/200) - Somatic phasing no longer includes germline records at the position of an alt-genotype somatic call, which gave the somatic record the germline genotype and phase set (new `BCFTOOLS_EXCLUDE_SITES` module); `0/0` and `./.` somatic records are published unphased (@robert-a-forsyth).
- [#200](https://github.com/IntGenomicsLab/lrsomatic/pull/200) - `LRSOMATICREPORT` now renders each sample as soon as its own inputs are ready instead of waiting for the whole batch, including samples without ASCAT's optional raw segments output (@robert-a-forsyth).
- [#200](https://github.com/IntGenomicsLab/lrsomatic/pull/200) - Bumped `WAKHAN` from 0.4.3 to 0.4.4, fixing a deterministic `StatisticsError` crash in BAF binning that aborted the run (@robert-a-forsyth).
- [#196](https://github.com/IntGenomicsLab/lrsomatic/pull/196) - `LRSOMATICREPORT` now points `XDG_CACHE_HOME` at the task directory alongside `HOME` and `TMPDIR`. Singularity/Apptainer inherit the host environment, so on sites that set it outside the bind-mounted work tree the render died with `Read-only file system (os error 30): mkdir '<...>/.cache/quarto'` (@AmberVerhasselt, @ljwharbers).
- [#193](https://github.com/IntGenomicsLab/lrsomatic/pull/193) - `--vep_eve https://evemodel.org/api/proteins/bulk/download/` was rejected at launch because the "needs preparing" check keyed on a `.zip` suffix; it now checks whether the value is already a prepared bgzipped file (@AmberVerhasselt).
- [#188](https://github.com/IntGenomicsLab/lrsomatic/pull/188) - `MODKIT_PILEUP` now runs a patched modkit 0.6.4 ([ljwharbers/modkit@pacbio-conflict-fix](https://github.com/ljwharbers/modkit/tree/pacbio-conflict-fix)): `ghcr.io/ljwharbers/modkit:0.6.4-pacbiofix-6e0afa2` under Docker and `oras://ghcr.io/ljwharbers/modkit-sif:0.6.4-pacbiofix-6e0afa2` under Singularity/Apptainer. Stock modkit 0.4.3-0.6.4 dropped 32-65 % of reads from recent PacBio HiFi BAMs and returned empty `--cpg` pileups ([nanoporetech/modkit#612](https://github.com/nanoporetech/modkit/issues/612), fix proposed in [nanoporetech/modkit#720](https://github.com/nanoporetech/modkit/pull/720)), and ignored `--phased`/`--modified-bases` for PacBio BAMs with 6mA calls. The image is `linux/amd64` only and Conda is not supported (use `--skip_modkit` there); return to the biocontainer once a release includes the fix (@ljwharbers).
Expand Down
8 changes: 8 additions & 0 deletions CITATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@

> Cheng J, Novati G, Pan J, Bycroft C, Žemgulytė A, Applebaum T, Pritzel A, Wong LH, Zielinski M, Sargeant T, Schneider RG, Senior AW, Jumper J, Hassabis D, Kohli P, Avsec Ž. Accurate proteome-wide missense variant effect prediction with AlphaMissense. Science. 2023 Sep 22;381(6664):eadg7492. doi: 10.1126/science.adg7492.

- [AmpliconClassifier](https://doi.org/10.1038/s41586-023-05937-5)

> Luebeck, J., Ng, A.W.T., Galipeau, P.C. et al. Extrachromosomal DNA in the cancerous transformation of Barrett's oesophagus. Nature 616, 798-805 (2023). https://doi.org/10.1038/s41586-023-05937-5

- [ASCAT](https://pubmed.ncbi.nlm.nih.gov/20837533/)

> Van Loo P, Nordgard SH, Lingjærde OC, Russnes HG, Rye IH, Sun W, Weigman VJ, Marynen P, Zetterberg A, Naume B, Perou CM, Børresen-Dale AL, Kristensen VN. Allele-specific copy number analysis of tumors. Proc Natl Acad Sci U S A. 2010 Sep 28;107(39):16910-5. doi: 10.1073/pnas.1009843107. Epub 2010 Sep 13. PubMed PMID: 20837533; PubMed Central PMCID: PMC2947907.
Expand Down Expand Up @@ -46,6 +50,10 @@

> Landrum MJ, Lee JM, Benson M, Brown GR, Chao C, Chitipiralla S, Gu B, Hart J, Hoffman D, Jang W, Karapetyan K, Katz K, Liu C, Maddipatla Z, Malheiro A, McDaniel K, Ovetsky M, Riley G, Zhou G, Holmes JB, Kattman BL, Maglott DR. ClinVar: improving access to variant interpretations and supporting evidence. Nucleic Acids Res. 2018 Jan 4;46(D1):D1062-D1067. doi: 10.1093/nar/gkx1153.

- [CoRAL](https://doi.org/10.1101/gr.279131.124)

> Zhu, K., Jones, M.G., Luebeck, J. et al. CoRAL accurately resolves extrachromosomal DNA genome structures with long-read sequencing. Genome Res. 34, 1344-1354 (2024). https://doi.org/10.1101/gr.279131.124

- [cramino](https://github.com/wdecoster/cramino)

> De Coster W. cramino: A fast and simple tool for quality control of long read sequencing data [Software]. GitHub. https://github.com/wdecoster/cramino
Expand Down
83 changes: 83 additions & 0 deletions bin/ascat_to_coral_bed.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
#!/usr/bin/env python3
"""Convert ASCAT's cnvs.txt into the headerless BED CoRAL's --cn-seg expects.

CoRAL reads total copy number from the last column and builds chromosome sizes from
the BAM header, so contigs are respelled to match the reference (chr1 vs 1).
"""
import argparse
import sys

REQUIRED = ('chr', 'startpos', 'endpos', 'nMajor', 'nMinor')


def fai_contigs(path):
if not path:
return []
with open(path) as fp:
return [line.split('\t', 1)[0] for line in fp if line.strip()]


def spell_like_reference(chrom, contigs):
"""ASCAT's '1' becomes 'chr1' when that is what the reference calls it, and the reverse."""
if not contigs or chrom in contigs:
return chrom
if chrom.startswith('chr') and chrom[3:] in contigs:
return chrom[3:]
if 'chr' + chrom in contigs:
return 'chr' + chrom
return chrom


def sort_key(chrom):
"""Natural contig order: 1-22, then X, Y, then anything else alphabetically."""
bare = chrom[3:] if chrom.startswith('chr') else chrom
if bare.isdigit():
return (0, int(bare), '')
if bare in ('X', 'Y'):
return (1, 'XY'.index(bare), '')
return (2, 0, bare)


def main():
parser = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument('--cnvs', required=True, help="ASCAT <sample>.cnvs.txt")
parser.add_argument('--fai', help="Reference .fai, to respell contigs to match the BAM")
parser.add_argument('--output', required=True, help="BED4 written for CoRAL --cn-seg")
args = parser.parse_args()

contigs = fai_contigs(args.fai)

with open(args.cnvs) as fp:
header = fp.readline().rstrip('\n').split('\t')
missing = [c for c in REQUIRED if c not in header]
if missing:
sys.exit(f"ERROR: {args.cnvs} is missing required columns: {', '.join(missing)}")
idx = {c: header.index(c) for c in REQUIRED}

rows, dropped = [], 0
for line in fp:
if not line.strip():
continue
fields = line.rstrip('\n').split('\t')
start, end = int(fields[idx['startpos']]), int(fields[idx['endpos']])
# CoRAL's segment parser rejects these, so drop them here with a count
if start >= end:
dropped += 1
continue
total_cn = round(float(fields[idx['nMajor']])) + round(float(fields[idx['nMinor']]))
rows.append((spell_like_reference(fields[idx['chr']], contigs), start, end, total_cn))

if dropped:
print(f"WARNING: dropped {dropped} segments with start >= end", file=sys.stderr)

rows.sort(key=lambda r: (sort_key(r[0]), r[1]))
with open(args.output, 'w') as out:
for chrom, start, end, total_cn in rows:
out.write(f"{chrom}\t{start}\t{end}\t{total_cn}\n")

if not rows:
print(f"WARNING: {args.output} is empty; CoRAL will find no seeds", file=sys.stderr)


if __name__ == '__main__':
main()
9 changes: 9 additions & 0 deletions conf/igenomes.config
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ params.genomes = [
vep_species : "homo_sapiens",
savana_contigs : "https://raw.githubusercontent.com/cortes-ciriano-lab/savana/main/example/contigs.chr.hg38.txt",
savana_g1000_vcf : "1000g_hg38",
coral_ref : "hg38",
ac_ref : "GRCh38",
// Plain build, not GRCh38_indexed: the extra BWA index is for AmpliconArchitect's
// alignment step, which AmpliconClassifier never runs.
aa_data_repo_url : "https://refs.ampliconrepository.org/data/module_support_files/AmpliconArchitect/GRCh38.tar.gz",
vep_alphamissense : "https://storage.googleapis.com/dm_alphamissense/AlphaMissense_hg38.tsv.gz",
vep_alphamissense_tbi : "https://g-608c0c.273595.03c0.data.globus.org/VEP_plugins/AlphaMissense_hg38.tsv.gz.tbi",
// A dated release rather than the rolling vcf_GRCh38/clinvar.vcf.gz, whose VCF and
Expand Down Expand Up @@ -57,6 +62,10 @@ params.genomes = [
vep_species : "homo_sapiens_gca009914755v4",
savana_contigs : "https://raw.githubusercontent.com/IntGenomicsLab/test-datasets/main/references/savana/contigs.chr.chm13.txt",
savana_g1000_vcf : "1000g_t2t",
coral_ref : "t2t",
ac_ref : "CHM13",
// No published AA data repo for CHM13; supply one with --aa_data_repo
aa_data_repo_url : null,
vep_alphamissense_aa : "https://g-608c0c.273595.03c0.data.globus.org/VEP_plugins/alphamissense_protein_v2023_uniprot-2026_03.tsv.gz",
vep_alphamissense_aa_tbi : "https://g-608c0c.273595.03c0.data.globus.org/VEP_plugins/alphamissense_protein_v2023_uniprot-2026_03.tsv.gz.tbi",
// Pinned to a release rather than current_variation/, which moves at every Ensembl release
Expand Down
Loading
Loading