Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
d7ca46b
Add option for sash sigrap individual process input to cancer report …
qclayssen Aug 27, 2025
f33c48c
Hypermutation Handling in PCGR (#9)
qclayssen Aug 29, 2025
cb5ee4d
Feature/pcgr v2.2.1 (#10)
qclayssen Sep 2, 2025
9d8e4d1
fix merge duplication and imports
qclayssen Sep 16, 2025
8db35b3
bump pcgr version
qclayssen Oct 2, 2025
c67b30a
bump gpgr version
qclayssen Oct 2, 2025
f9a7d3b
change print to logging
qclayssen Oct 16, 2025
b8ee4a0
add argument chunck size
qclayssen Oct 16, 2025
8223ef9
fix version software pcgr container
qclayssen Oct 17, 2025
f83c23a
add logging and filter fonction to read value and replace placeholder
qclayssen Oct 17, 2025
22b5c12
fix indentation
qclayssen Oct 17, 2025
529309c
read gz tsv from pcgr
qclayssen Oct 17, 2025
d3dd182
change PCGR_CLINVAR_CLASSIFICATION
qclayssen Oct 20, 2025
a5fc923
Change pcgr header check
qclayssen Oct 20, 2025
bf930e7
tyo
qclayssen Oct 24, 2025
8ea1edc
typo
qclayssen Oct 24, 2025
443c5be
add missing variable pcgr_output_dir
qclayssen Oct 24, 2025
966967f
Pcgr v2.2.5 (#22)
qclayssen Nov 19, 2025
6a93f6b
Uptade sage vcf header check (#24)
qclayssen Nov 24, 2025
ed3b11b
add missing HMF_HOTSPOT constant
qclayssen Nov 24, 2025
a3d16f7
Fix quotation
qclayssen Nov 24, 2025
9ddeac8
Fix test
qclayssen Nov 24, 2025
41b83bb
remove PCGR html report from chunk (hypermutated) to reduce memory use
qclayssen Dec 16, 2025
c42d725
change remove pcgr parallelisation of chunks, and fix pcgr internal p…
qclayssen Dec 17, 2025
03bba1d
free disk worker
qclayssen Dec 17, 2025
cb1c39b
remove exception to stop at fail process
qclayssen Dec 19, 2025
27403cb
make thread you by pcgr constant, so in case of OOM, on the retry don…
qclayssen Dec 19, 2025
2902428
Fix silent command failures by integrating error handling into execut…
qclayssen Dec 19, 2025
15db538
Extract PCGR errors from log files
qclayssen Dec 19, 2025
9bf22f5
Update bolt/workflows/other/cancer_report.py
qclayssen Jan 21, 2026
599849d
Update bolt/common/pcgr.py
qclayssen Jan 21, 2026
09a3a24
Apply suggestions from code review
qclayssen Feb 19, 2026
dbd500f
fix typo
qclayssen Feb 19, 2026
3d2d7b1
remove duplicate fonction
qclayssen Feb 19, 2026
15f0247
fix typo
qclayssen Feb 20, 2026
8fa85ef
add check pcgr_hotspot_present value
qclayssen Feb 20, 2026
31dabab
add is_hypermutated flag to variant counts process JSON
qclayssen May 7, 2026
f3d557c
update PCGR_TIERS_FILTERING
qclayssen May 12, 2026
184e170
Fix PCGR hypermutated filtering, add exhaustive tests
qclayssen May 12, 2026
5a28918
add back source comment
qclayssen May 12, 2026
48488d6
DEV: install r-gpgr from input-sigrap-data branch for is_hypermutated…
qclayssen May 12, 2026
b97d216
Add tests for split_vcf chunking and document PCGR 500k handling
qclayssen May 13, 2026
cc39768
Fix positional arg shift in run_somatic_chunk → run_somatic call
qclayssen May 13, 2026
7f01001
fix hypermutated tag
qclayssen May 14, 2026
97ad9f7
Add tests for is_hypermutated dragen count fix
qclayssen May 14, 2026
b4ab71f
Separate stdout/stderr streams in execute_command
qclayssen May 14, 2026
1b366fa
Pin r-gpgr ==2.3.0 in Dockerfile.gpgr
qclayssen May 15, 2026
f77deb4
fix doc and missing file closure
qclayssen May 15, 2026
1b6e28a
add test
qclayssen May 15, 2026
58987d1
change .with_suffix :
qclayssen May 15, 2026
5949539
chore: untrack local-only files
qclayssen May 15, 2026
e0103ef
update CHANGELOG for 0.3.0 release
qclayssen May 15, 2026
149db35
bump version to 0.3.1 and update changelog
qclayssen May 18, 2026
358290a
ci: add smoke tests to catch image startup failures before push
qclayssen May 18, 2026
dae66e5
fix missing build and pcgr docker file
qclayssen May 19, 2026
c53557a
Fix remove unused package and log pcgr limit
qclayssen May 19, 2026
8a35851
fix: tabix-index VCF chunks after split_vcf so PCGR can read them
qclayssen May 19, 2026
cfac848
test: assert split_vcf chunks have .tbi index (regression for PCGR v2…
qclayssen May 19, 2026
d2c390f
fix: bump r-gpgr to 2.3.1 in gpgr Docker image
qclayssen May 24, 2026
ef00deb
Merge remote-tracking branch 'origin/main' into release/0.3.1-validated
qclayssen Jul 16, 2026
5baa6e1
fix: skip bcftools merge for single PCGR VCF chunk (bolt #26)
qclayssen Jul 14, 2026
afc46a5
style: address Stephen's review comments (bolt #35)
qclayssen Jul 21, 2026
1a2a5ca
docs: document MAX_SOMATIC_VARIANTS rationale (bolt #35)
qclayssen Jul 21, 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
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.2.18
current_version = 0.3.1
commit = True
tag = False
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>[a-z0-9+]+)
Expand Down
39 changes: 36 additions & 3 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,22 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
# this might remove tools that are actually needed,
# if set to "true" but frees about 6 GB
tool-cache: false

# all of these default to true, but feel free to set to
# "false" if necessary for your workflow
android: true
dotnet: true
haskell: true
large-packages: true
docker-images: true
swap-storage: true

- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
Expand All @@ -27,7 +43,8 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Build and push image
- name: Build image
id: build
run: |
if [[ "${{ matrix.build_name }}" == "base" ]]; then
docker_tag=bolt:${GITHUB_REF_NAME#v};
Expand All @@ -37,10 +54,26 @@ jobs:
dockerfile_fn=Dockerfile.${{ matrix.build_name }};
fi;

# Build and push to GHCR umccr registry
docker build \
--platform linux/amd64 \
--load \
-f docker/${dockerfile_fn} \
-t ghcr.io/umccr/${docker_tag} \
--push \
.;

echo "docker_tag=ghcr.io/umccr/${docker_tag}" >> $GITHUB_OUTPUT

- name: Smoke test
run: |
docker run --rm ${{ steps.build.outputs.docker_tag }} bolt --version

case "${{ matrix.build_name }}" in
multiqc) docker run --rm ${{ steps.build.outputs.docker_tag }} multiqc --version ;;
gpgr) docker run --rm ${{ steps.build.outputs.docker_tag }} Rscript -e 'library(gpgr); cat("gpgr ok\n")' ;;
pcgr) docker run --rm ${{ steps.build.outputs.docker_tag }} conda run --no-capture-output -n pcgr pcgr --version ;;
snpeff) docker run --rm ${{ steps.build.outputs.docker_tag }} bash -c 'snpEff -version 2>&1 | head -1' ;;
circos) docker run --rm ${{ steps.build.outputs.docker_tag }} circos --version ;;
esac

- name: Push image
run: docker push ${{ steps.build.outputs.docker_tag }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ __pycache__/
build/
venv/
working/
data/
workspace/
15 changes: 13 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
# bolt changelog

## dev
## 0.3.1

- Fix `ModuleNotFoundError: No module named 'pkg_resources'` in `bolt:0.3.0-multiqc` — add `setuptools <81` to conda env
- Fix `merge_vcf_files` producing wrong output filename — `Path.with_suffix()` was stripping `.pass` component; use explicit path concatenation instead
- Fix VCF writers not closed in `transfer_annotations_somatic` and `transfer_annotations_germline` — BGZip output could be truncated
- Fix `split_vcf` writing uncompressed plain `.vcf` chunks — now uses `.vcf.gz` with `wz` mode
- Fix `PCGR_ACTIONABILITY_TIER` VCF header description — updated to match stored short-form values (`1`,`2`,`3`,`4`,`N`)
- Add regression test for chunk file compression (`test_chunks_are_gzipped`)

## 0.3.0

- [28](https://github.com/umccr/bolt/pull/28) - gpgr version bump to 2.2.12 for cancer report hypermutated flag fix

Expand All @@ -10,4 +19,6 @@

- [3](https://github.com/scwatts/bolt/pull/3) - Improve PCGR / CPSR argument handling

- [6](https://github.com/umccr/bolt/pull/6) - Change oncoanalyser v2.0.0 uptade, with switch sv caller from GRIPSS to eSVee
- [6](https://github.com/umccr/bolt/pull/6) - Change oncoanalyser v2.0.0 update, with switch sv caller from GRIPSS to eSVee

- [9](https://github.com/umccr/bolt/pull/9) Add hypermutation sample handling
152 changes: 97 additions & 55 deletions bolt/common/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,12 @@
######################################
## Variation selection (annotation) ##
######################################
MAX_SOMATIC_VARIANTS = 500_000

# Cap below PCGR's 500k limit. PCGR silently drops variants or skips HTML
# generation above 500k, and its multi-allelic decomposition can inflate
# variant count beyond what bolt outputs. 50k margin absorbs this safely.
# See: docs/adr/001-max-somatic-variants-450k.md
MAX_SOMATIC_VARIANTS = 450_000

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do we have a Slack thread (or similar) to link to for this change?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I believe this was an oral discussion, since PCGR's hard cap is 500k, we set 450k to avoid being right on the limit and allow margin for edge cases.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I updated ADR document for sash and bolt explaining rational

MAX_SOMATIC_VARIANTS_GNOMAD_FILTER = 0.01


Expand Down Expand Up @@ -35,12 +40,51 @@
'pathogenic',
'uncertain_significance',
}
PCGR_TIERS_RESCUE = {
'TIER_1',
'TIER_2',
PCGR_ACTIONABILITY_TIER_RESCUE = {
'1',
'2',
}


################################
## Hypermutated report filter ##
################################
# Values match short forms written by transfer_annotations_somatic() ('1'=TIER_1, ..., 'N'=NONCODING).
# Order is lowest clinical priority first: NONCODING dropped before TIER_1.
PCGR_TIERS_FILTERING = (
'N',
'4',
'3',
'2',
'1',
)

VEP_IMPACTS_FILTER = (
'intergenic',
'intronic',
'downstream',
'upstream',
'impacts_other',
)

GENOMIC_REGIONS_FILTERING = (
'difficult',
'none',
'giab_conf',
)

HOTSPOT_FIELDS_FILTERING = (
'SAGE_HOTSPOT',
'hotspot',
'PCGR_MUTATION_HOTSPOT',
)

RETAIN_FIELDS_FILTERING = (
'PANEL',
*HOTSPOT_FIELDS_FILTERING,
)


##################################################
## VCF FILTER tags and FORMAT, INFO annotations ##
##################################################
Expand All @@ -61,6 +105,8 @@ class VcfFilter(enum.Enum):
ENCODE = 'ENCODE'
GNOMAD_COMMON = 'gnomAD_common'

PCGR_COUNT_LIMIT = 'PCGR_count_limit'

@property
def namespace(self):
return 'FILTER'
Expand All @@ -77,16 +123,14 @@ class VcfInfo(enum.Enum):
SAGE_NOVEL = 'SAGE_NOVEL'
SAGE_RESCUE = 'SAGE_RESCUE'

PCGR_TIER = 'PCGR_TIER'
PCGR_ACTIONABILITY_TIER = 'PCGR_ACTIONABILITY_TIER'
PCGR_CSQ = 'PCGR_CSQ'
PCGR_MUTATION_HOTSPOT = 'PCGR_MUTATION_HOTSPOT'
PCGR_CLINVAR_CLNSIG = 'PCGR_CLINVAR_CLNSIG'
PCGR_CLINVAR_CLASSIFICATION = 'PCGR_CLINVAR_CLASSIFICATION'
PCGR_COSMIC_COUNT = 'PCGR_COSMIC_COUNT'
PCGR_TCGA_PANCANCER_COUNT = 'PCGR_TCGA_PANCANCER_COUNT'
PCGR_ICGC_PCAWG_COUNT = 'PCGR_ICGC_PCAWG_COUNT'

CPSR_FINAL_CLASSIFICATION = 'CPSR_FINAL_CLASSIFICATION'
CPSR_PATHOGENICITY_SCORE = 'CPSR_PATHOGENICITY_SCORE'
CPSR_CLINVAR_CLASSIFICATION = 'CPSR_CLINVAR_CLASSIFICATION'
CPSR_CSQ = 'CPSR_CSQ'

Expand All @@ -112,7 +156,7 @@ class VcfInfo(enum.Enum):

GNOMAD_AF = 'gnomAD_AF'

PCGR_TIER_RESCUE = 'PCGR_TIER_RESCUE'
PCGR_ACTIONABILITY_TIER_RESCUE = 'PCGR_ACTIONABILITY_TIER_RESCUE'
SAGE_HOTSPOT_RESCUE = 'SAGE_HOTSPOT_RESCUE'
CLINICAL_POTENTIAL_RESCUE = 'CLINICAL_POTENTIAL_RESCUE'

Expand All @@ -121,6 +165,8 @@ class VcfInfo(enum.Enum):
RESCUED_FILTERS_EXISTING = 'RESCUED_FILTERS_EXISTING'
RESCUED_FILTERS_PENDING = 'RESCUED_FILTERS_PENDING'

PANEL = 'PANEL'

@property
def namespace(self):
return 'INFO'
Expand Down Expand Up @@ -187,6 +233,12 @@ def namespace(self):
'Description': f'gnomAD AF >= {MAX_GNOMAD_AF}',
},

VcfFilter.PCGR_COUNT_LIMIT: {
'Description': (
f'Manually filtered to {MAX_SOMATIC_VARIANTS} variants to stay below the '
f'PCGR hard limit of 500,000 variants'
),
},

# INFO
VcfInfo.TUMOR_AF: {
Expand Down Expand Up @@ -226,39 +278,42 @@ def namespace(self):
'Description': 'Variant rescued by a matching SAGE call',
},

VcfInfo.PCGR_TIER: {
VcfInfo.PCGR_ACTIONABILITY_TIER: {
'Number': '1',
'Type': 'String',
'Description': (
'Tier reported by PCGR with the following meaning: TIER_1: strong clinical '
'significance; TIER_2: potential clinical significance; TIER_3: uncertain clinical '
'significance; TIER_4: other coding variants; NONCODING: other non-coding variants'
'Tier reported by PCGR: 1: strong clinical significance; '
'2: potential clinical significance; 3: uncertain clinical significance; '
'4: other coding variants; N: other non-coding variants'
),
},
VcfInfo.PCGR_CSQ: {
'Number': '.',
'Type': 'String',
'Description': (
'Consequence annotations from Ensembl VEP. Format: Allele|Consequence|IMPACT|SYMBOL|'
'Gene|Feature_type|Feature|BIOTYPE|EXON|INTRON|HGVSc|HGVSp|cDNA_position|'
'CDS_position|Protein_position|Amino_acids|Codons|Existing_variation|ALLELE_NUM|'
'DISTANCE|STRAND|FLAGS|PICK|VARIANT_CLASS|SYMBOL_SOURCE|HGNC_ID|CANONICAL|'
'MANE_SELECT|MANE_PLUS_CLINICAL|TSL|APPRIS|CCDS|ENSP|SWISSPROT|TREMBL|UNIPARC|'
'UNIPROT_ISOFORM|RefSeq|DOMAINS|HGVS_OFFSET|AF|AFR_AF|AMR_AF|EAS_AF|EUR_AF|SAS_AF|'
'gnomAD_AF|gnomAD_AFR_AF|gnomAD_AMR_AF|gnomAD_ASJ_AF|gnomAD_EAS_AF|gnomAD_FIN_AF|'
'gnomAD_NFE_AF|gnomAD_OTH_AF|gnomAD_SAS_AF|CLIN_SIG|SOMATIC|PHENO|CHECK_REF|'
'NearestExonJB'
'Consequence annotations from Ensembl VEP. Format: '
'Allele|Consequence|IMPACT|SYMBOL|Gene|Feature_type|Feature|BIOTYPE|EXON|INTRON|HGVSc|'
'HGVSp|cDNA_position|CDS_position|Protein_position|Amino_acids|Codons|Existing_variation|'
'ALLELE_NUM|DISTANCE|STRAND|FLAGS|PICK|VARIANT_CLASS|SYMBOL_SOURCE|HGNC_ID|CANONICAL|'
'MANE|MANE_SELECT|MANE_PLUS_CLINICAL|TSL|APPRIS|CCDS|ENSP|SWISSPROT|TREMBL|UNIPARC|'
'UNIPROT_ISOFORM|RefSeq|DOMAINS|HGVS_OFFSET|gnomADe_AF|gnomADe_AFR_AF|gnomADe_AMR_AF|'
'gnomADe_ASJ_AF|gnomADe_EAS_AF|gnomADe_FIN_AF|gnomADe_MID_AF|gnomADe_NFE_AF|'
'gnomADe_REMAINING_AF|gnomADe_SAS_AF|gnomADg_AF|gnomADg_AFR_AF|gnomADg_AMI_AF|'
'gnomADg_AMR_AF|gnomADg_ASJ_AF|gnomADg_EAS_AF|gnomADg_FIN_AF|gnomADg_MID_AF|'
'gnomADg_NFE_AF|gnomADg_REMAINING_AF|gnomADg_SAS_AF|CLIN_SIG|SOMATIC|PHENO|CHECK_REF|'
'MOTIF_NAME|MOTIF_POS|HIGH_INF_POS|MOTIF_SCORE_CHANGE|TRANSCRIPTION_FACTORS|NearestExonJB|'
'MaxEntScan_alt|MaxEntScan_diff|MaxEntScan_ref'
),
},
VcfInfo.PCGR_MUTATION_HOTSPOT: {
'Number': '.',
'Type': 'String',
'Description': 'Known cancer mutation hotspot, as found in cancerhotspots.org_v2, Gene|Codon|Q-value',
'Description': 'Known cancer mutation hotspot, as found in cancerhotspots.org. Format: GeneSymbol|Entrez_ID|CodonRefAA|Alt_AA|Q-value',
},
VcfInfo.PCGR_CLINVAR_CLNSIG: {
VcfInfo.PCGR_CLINVAR_CLASSIFICATION: {
'Number': '.',
'Type': 'String',
'Description': 'ClinVar clinical significance',
'Description': 'ClinVar - Overall clinical significance of variant on a five-tiered scale',
},
VcfInfo.PCGR_COSMIC_COUNT: {
'Number': '1',
Expand All @@ -270,44 +325,27 @@ def namespace(self):
'Type': 'Integer',
'Description': 'Raw variant count across all tumor types',
},
VcfInfo.HMF_HOTSPOT: {
'Number': '0',
'Type': 'Flag',
'Description': 'calculated by flag of overlapping values in field HMF from annotations/hotspots/hotspots.hmf.vcf.gz',
},
VcfInfo.PCGR_ICGC_PCAWG_COUNT: {
'Number': '1',
'Type': 'Integer',
'Description': 'Count of ICGC PCAWG hits',
},

VcfInfo.CPSR_FINAL_CLASSIFICATION: {
'Number': '1',
'Type': 'String',
'Description': (
'Final variant classification based on the combination of CLINVAR_CLASSIFICTION (for '
'ClinVar-classified variants), and CPSR_CLASSIFICATION (for novel variants)'
),
},
VcfInfo.CPSR_PATHOGENICITY_SCORE: {
'Number': '1',
'Type': 'Float',
'Description': 'Aggregated CPSR pathogenicity score',
},
VcfInfo.CPSR_CLINVAR_CLASSIFICATION: {
'Number': '1',
'Type': 'String',
'Description': 'Clinical significance of variant on a five-tiered scale',
'Description': 'ClinVar - Overall clinical significance of variant on a five-tiered scale',
},
VcfInfo.CPSR_CSQ: {
'Number': '.',
'Type': 'String',
'Description': (
'Consequence annotations from Ensembl VEP. Format: Allele|Consequence|IMPACT|SYMBOL|'
'Gene|Feature_type|Feature|BIOTYPE|EXON|INTRON|HGVSc|HGVSp|cDNA_position|CDS_position|'
'Protein_position|Amino_acids|Codons|Existing_variation|ALLELE_NUM|DISTANCE|STRAND|'
'FLAGS|PICK|VARIANT_CLASS|SYMBOL_SOURCE|HGNC_ID|CANONICAL|MANE_SELECT|'
'MANE_PLUS_CLINICAL|APPRIS|CCDS|ENSP|SWISSPROT|TREMBL|UNIPARC|UNIPROT_ISOFORM|RefSeq|'
'DOMAINS|HGVS_OFFSET|AF|AFR_AF|AMR_AF|EAS_AF|EUR_AF|SAS_AF|gnomAD_AF|gnomAD_AFR_AF|'
'gnomAD_AMR_AF|gnomAD_ASJ_AF|gnomAD_EAS_AF|gnomAD_FIN_AF|gnomAD_NFE_AF|gnomAD_OTH_AF|'
'gnomAD_SAS_AF|CLIN_SIG|SOMATIC|PHENO|CHECK_REF|MOTIF_NAME|MOTIF_POS|HIGH_INF_POS|'
'MOTIF_SCORE_CHANGE|TRANSCRIPTION_FACTORS|NearestExonJB|LoF|LoF_filter|LoF_flags|'
'LoF_info'
'Consequence annotations from Ensembl VEP. Format: Allele|Consequence|IMPACT|SYMBOL|Gene|Feature_type|Feature|BIOTYPE|EXON|INTRON|HGVSc|HGVSp|cDNA_position|CDS_position|Protein_position|Amino_acids|Codons|Existing_variation|ALLELE_NUM|DISTANCE|STRAND|FLAGS|PICK|VARIANT_CLASS|SYMBOL_SOURCE|HGNC_ID|CANONICAL|MANE|MANE_SELECT|MANE_PLUS_CLINICAL|TSL|APPRIS|CCDS|ENSP|SWISSPROT|TREMBL|UNIPARC|UNIPROT_ISOFORM|RefSeq|DOMAINS|HGVS_OFFSET|gnomADe_AF|gnomADe_AFR_AF|gnomADe_AMR_AF|gnomADe_ASJ_AF|gnomADe_EAS_AF|gnomADe_FIN_AF|gnomADe_MID_AF|gnomADe_NFE_AF|gnomADe_REMAINING_AF|gnomADe_SAS_AF|gnomADg_AF|gnomADg_AFR_AF|gnomADg_AMI_AF|gnomADg_AMR_AF|gnomADg_ASJ_AF|gnomADg_EAS_AF|gnomADg_FIN_AF|gnomADg_MID_AF|gnomADg_NFE_AF|gnomADg_REMAINING_AF|gnomADg_SAS_AF|CLIN_SIG|SOMATIC|PHENO|CHECK_REF|MOTIF_NAME|MOTIF_POS|HIGH_INF_POS|MOTIF_SCORE_CHANGE|TRANSCRIPTION_FACTORS|NearestExonJB|MaxEntScan_alt|MaxEntScan_diff|MaxEntScan_ref'
),
},

Expand All @@ -316,7 +354,7 @@ def namespace(self):
'Type': 'Flag',
'Description': '',
},
VcfInfo.PCGR_TIER_RESCUE: {
VcfInfo.PCGR_ACTIONABILITY_TIER_RESCUE: {
'Number': '0',
'Type': 'Flag',
'Description': '',
Expand Down Expand Up @@ -345,11 +383,17 @@ def namespace(self):
},

VcfInfo.RESCUED_FILTERS_PENDING: {
'Number': '1',
'Number': '.',
'Type': 'String',
'Description': 'Filters pending prior to variant rescue',
},

VcfInfo.PANEL: {
'Number': '0',
'Type': 'Flag',
'Description': 'UMCCR somatic panel CDS (2,000 bp padding)',
},


# FORMAT
VcfFormat.SAGE_AD: {
Expand All @@ -368,13 +412,11 @@ def namespace(self):
'Description': 'Approximate read depth (reads with MQ=255 or with bad mates are filtered)',
},
VcfFormat.SAGE_SB: {
'Number': '1',
'Number': '2',
'Type': 'Float',
'Description': 'Strand bias - percentage of first-in-pair reads',
'Description': 'Fragment strand bias - percentage of forward-orientation fragments (ref,alt)',
},
}


#####################
## Other ##
#####################
Expand Down
Loading
Loading