Matiq
ffaa3c5cdd
progress for 141/84: annotate 10/84, oncokb 1/84 every 10, GTF indexed
...
- GTF by_chrom index for 84 variants (was 21M scans)
- vep_annotate and oncokb now every 10 with hgvs log
- online VAF>30% 84 rows: GTF 5s + ClinVar 5s + OncoKB 84*0.3s ~25s (was silent hang)
2026-09-09 00:29:03 +03:00
Matiq
baa87ea048
fix OncoKB endpoint byHgvsVariant->byGenomicChange (GRCh38)
...
- 7:g.140753336A>T now Tier I/Oncogenic (was 404)
- 1:g.18396307G>A correctly Unknown/empty (expected)
- offline still skips OncoKB as requested (VAF>20% default)
2026-09-08 23:31:01 +03:00
Matiq
1f28f60bc0
fix ClinVar header #AlleleID + GRCh38 filter (was UnboundLocalError)
...
- header lstrip # for #AlleleID, init ci_*=None, filter Assembly!=GRCh38
- loaded 3960956 GRCh38 variants (was 0)
- offline now correctly maps P/LP vs VUS
2026-09-08 23:07:30 +03:00
Matiq
c20f61240f
ClinVar P/L + VAF>20% default for online
...
- ClinVar variant_summary.txt.gz loader for F ACMG (fallback VUS if missing)
- online default --min-vaf 0.20 when not --offline and not specified (configurable)
- fix pathlib import, offline GTF 1:1 pick best
- 3501 -> 141 at VAF>20% (offline 141 rows, 16K Excel)
2026-09-07 01:24:11 +03:00
Matiq
fb99880b80
README: threads, VCF filtering, annotation (GENCODE/OncoKB), VAF filter
2026-09-07 01:05:49 +03:00
Matiq
8f8d728edd
pick best transcript per variant (1:1) default, --all-transcripts for expansion
...
- offline GTF now picks MANE>appris1>canonical>basic>protein_coding (318 vs 3018 rows at VAF>10%)
- online Ensembl REST likewise picks best (mane_select/canonical)
- --all-transcripts restores previous all-transcripts behavior
2026-09-07 01:00:58 +03:00
Matiq
9f4312ba3a
offline all-transcripts via GENCODE GTF + VAF>10% filter
...
- GENCODE v44 50M (252k transcripts) for offline gene expansion (1 variant -> N rows)
- --min-vaf/--min-depth filter before annotation (3501 -> 318 at VAF>10%)
- --gtf support, --offline now uses GTF (no network, no VEP cache needed)
- pan-cancer OncoKB retained for online mode
2026-09-07 00:47:51 +03:00
Matiq
b33f8c28a2
fix hang: offline mode, short timeouts, progress for large clean sets
2026-09-07 00:34:25 +03:00
Matiq
ea8f531211
all transcripts via Ensembl REST (expand per variant, pan-cancer)
...
- vep_annotate now iterates all transcript_consequences
- timeout 15s, graceful fallback to single placeholder row
2026-09-06 20:20:48 +03:00
Matiq
a3589279b9
annotate clean variants: Gen/HGVS/Effect + ACMG + AMP/Onco pan-cancer -> Excel
...
- all transcripts mode (VEP no_pick fallback to best transcript via Ensembl REST)
- HGVS c.6713C>T p.(Pro2238Leu) style, Type/Effect, VAF, PAF(empty), ACMG ClinVar+InterVar (VUS placeholder), AMP/Onco via OncoKB (token ~/.config/oncokb/token, tumor_type All Solid Tumors)
- Excel .xlsx styled (color by ACMG/AMP, filters, frozen header)
2026-09-06 19:19:19 +03:00
Matiq
4e19fbdb8a
replace TSV with CSV for variant outputs
2026-09-06 18:47:00 +03:00
Matiq
0f40945d58
parallel: auto threads (n-1, capped at 8)
...
- --threads/-t (default auto = detected cores -1, cap 8)
- per-chromosome multiprocessing.Pool, FASTA caching
- robust nested dict handling for merged profiles
2026-09-06 18:27:54 +03:00
Matiq
5385f76447
filter damaged variants: clean output + VCF filtering
...
- flag C>T/G>A at read ends (end<=10) as FFPE-suspect, strand bias as supporting evidence
- outputs: candidate_variants.tsv [is_ffpe_suspect,ffpe_reason], clean_variants.tsv,
ffpe_suspect_variants.tsv, candidate_CtoT/GtoA_clean.bed
- optional --vcf: produce .clean.vcf (without damaged) and .ffpe_flagged.vcf;
with --keep-damaged mark FILTER=FFPE instead of removing
- auto-create BAM/FASTA index if missing, improved error messages
2026-09-06 18:18:29 +03:00
Matiq
5fe6298926
README: methodology, usage, outputs, classification, validation
2026-08-14 20:27:31 +03:00
Matiq
360479653a
FFPE deamination QC pipeline
...
- ffpe_damage_v2.py: normalized C>T/G>A profiling (all 12 substitutions,
R1/R2 and strand profiles, 5'/3' read-end distance, BED tracks, plots)
- ffpe_compare.py: low/moderate/high classification vs control samples
- make_test_data.py: synthetic BAM with known damage for validation
2026-08-14 20:26:25 +03:00
Matiq
eaa0bad7a8
Initial commit
2026-08-14 20:25:38 +03:00