An end-to-end WGS variant calling pipeline built from scratch on a resource-constrained virtual machine: raw reads → QC → trimming → alignment → duplicate marking → variant calling → filtering → functional annotation → visual validation in IGV.
| Sample (SRA run) | SRR062634 |
| Source individual | HG00096 (male) |
| Population | GBR — British in England and Scotland (1000 Genomes Project, EUR super-population) |
| Sequencing platform | Illumina Genome Analyzer II |
| Read layout | Paired-end, 2 × 100 bp |
| Reference genome | GRCh38, Ensembl primary assembly (3,099,750,718 bp) |
| Mean depth achieved | ≈1.48× (low-pass WGS) |
| Variant caller | FreeBayes |
| Annotation | Ensembl VEP (web tool) |
| Environment | Ubuntu MATE 24.04.4 LTS "Noble Numbat" — VirtualBox VM, 16 GB RAM, 4 vCPUs, 100 GB disk |
⚠️ Low-coverage demonstration pipeline — not a diagnostic-grade analysis. This dataset was analyzed at ≈1.5× depth (well below the ≥20–30× recommended for clinical genome interpretation) purely to demonstrate the pipeline under hardware constraints. At this depth, allelic dropout is expected — the sequencer may only sample one of the two alleles at a heterozygous site, causing it to be miscalled as homozygous. Every "high-impact" finding below is a screening-level candidate only and would require deep targeted resequencing (Sanger or ≥30× NGS) before any clinical interpretation. See Discussion & Limitations.
At a glance: 1,373,028 variants called → split into 100 HIGH-impact indel calls (83 genes) and 155 HIGH-impact SNP calls (141 genes) after quality filtering and VEP annotation → 2 genes, CYP4B1 and ZNF717, turned up independently in both sets, the strongest signal in the dataset (see Results).
- Pipeline Overview
- Environment & Tools
- 1. Data Acquisition
- 2. Quality Control — FastQC
- 3. Read Trimming — fastp
- 4. Reference Indexing — BWA
- 5. Alignment — BWA-MEM
- 6. SAM → BAM, Sorting & Indexing
- 7. Alignment QC — flagstat & Qualimap
- 8. Read Groups & Duplicate Marking — Picard
- 9. Variant Calling — FreeBayes
- 10. Variant Statistics — RTG Tools
- 11. Variant Filtering — vcftools
- 12. Functional Annotation — Ensembl VEP
- Results: High-Impact Variants
- Discussion & Limitations
- Project Structure
- References
flowchart TD
A["Raw FASTQ\nSRR062634_1 / _2"] --> B["FastQC\nQuality control"]
B --> C["fastp\nAdapter/quality trimming"]
C --> D["BWA-MEM\nAlignment to GRCh38"]
D --> E["samtools\nSAM→BAM, sort, index"]
E --> F["Qualimap + flagstat\nAlignment QC"]
E --> G["Picard\nRead groups + MarkDuplicates"]
G --> H["FreeBayes\nVariant calling"]
H --> I["RTG Tools\nvcfstats"]
H --> J["vcftools\nSplit & filter SNPs / indels"]
J --> K["Ensembl VEP (web)\nFunctional annotation"]
K --> L["IGV\nVisual validation"]
Built inside a local virtual machine (Ubuntu MATE 24.04.4 LTS, 16 GB RAM, 4 vCPUs, 100 GB disk) to keep the whole pipeline reproducible outside the cloud.
# environment.yml
name: wgs_variant_calling
channels:
- defaults
dependencies:
- fastqc
- samtools
- fastp
- vcftools
- bwa
- igv
- qualimap
- picard
- freebayes
- rtg-toolsconda env create -f environment.yml
# ...or equivalent, built manually:
conda create -n wgs_variant_calling -c bioconda -c conda-forge \
fastqc fastp bwa samtools qualimap picard freebayes vcftools igv rtg-tools| Tool | Role |
|---|---|
| FastQC | Raw read quality control |
| fastp | Adapter/quality trimming |
| BWA | Reference indexing + alignment |
| samtools | SAM/BAM conversion, sorting, indexing, flagstat |
| Qualimap | Alignment QC report |
| Picard | Read groups, duplicate marking |
| FreeBayes | Variant calling |
| RTG Tools | vcfstats |
| vcftools | Variant filtering |
| Ensembl VEP | Web tool (ensembl.org/Tools/VEP) — VCFs were uploaded through the browser, not run locally |
| IGV | Visual inspection of alignments/variants |
Two small reproducibility notes: (1) the
defaultschannel alone won't resolve most of these bioinformatics packages — add-c bioconda -c conda-forgeas in the manual command above, or make sure those channels are in your global~/.condarc. (2)ensembl-vepisn't in the environment at all because annotation was done through the VEP web interface, not the command-line tool — if you script this step, add theensembl-veppackage or use the REST API instead.
Raw paired-end reads from the ENA mirror of SRA:
wget https://ftp.sra.ebi.ac.uk/vol1/fastq/SR062/SRR062634/SRR062634_1.fastq.gz
wget https://ftp.sra.ebi.ac.uk/vol1/fastq/SR062/SRR062634/SRR062634_2.fastq.gzReference genome (GRCh38, Ensembl):
wget -c ftp://ftp.ensembl.org/pub/current_fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
gzip -d Homo_sapiens.GRCh38.dna.primary_assembly.fa.gzThis run was originally expected to yield roughly 5× coverage; the actual measured mean depth after alignment came out lower, at ≈1.48× (see §7) — the pipeline was adapted accordingly (--min-coverage 1 in FreeBayes, see §9).
fastqc *.fastq.gz| Metric | R1 | R2 |
|---|---|---|
| Total sequences | 24,476,109 | 24,476,109 |
| Sequence length | 100 bp | 100 bp |
| %GC | 40% | 40% |
| Encoding | Sanger / Illumina 1.9 | Sanger / Illumina 1.9 |
| Poor-quality sequences | 0 | 0 |
| Overrepresented sequences | None found | None found |
| Per-base quality | ✅ Pass | ✅ Pass |
| Per-tile sequence quality | ❌ Fail | ✅ Pass |
| Per-sequence quality scores | ✅ Pass | ✅ Pass |
| Per-base sequence content | ✅ Pass | |
| Per-sequence GC content | ||
| Sequence duplication levels | ✅ Pass | ✅ Pass |
| Adapter content | ✅ Pass | ✅ Pass |
Findings:
- Base quality drops below Phred Q32 from around position 72–73 bp onward, though it stays within FastQC's passing range overall.
- R1 flags a per-tile sequence quality fail — a localized, flow-cell-position-specific quality dip rather than a global problem; worth a glance at the per-tile heatmap if repeating this analysis, but not something adapter/quality trimming can fix.
- Both reads warn on per-sequence GC content (expected — the theoretical GC distribution FastQC compares against assumes a generic genome, and real human WGS libraries commonly deviate from it slightly); R2 additionally warns on per-base sequence content, typical of the first few cycles of Illumina reads.
- No overrepresented sequences in either file, and adapter content passes outright — consistent with a library that was reasonably clean going in.
- A Q20 trimming threshold was chosen to remove low-quality bases while preserving read length — reads are only 100 bp long, so overly aggressive trimming was avoided.
Full interactive reports: SRR062634_1_fastqc.html, SRR062634_2_fastqc.html — best source for the visual modules (per-tile heatmap, GC distribution, etc.) referenced above.
fastp -i SRR062634_1.fastq.gz -I SRR062634_2.fastq.gz \
-o out1_clean.fq.gz -O out2_clean.fq.gz \
--detect_adapter_for_pe \
--trim_poly_x --trim_poly_g \
--cut_front 20 --cut_tail 20 --cut_mean_quality 20 \
-h out_FastP.htmlfastp v1.3.6 auto-detected different adapters on each mate — AGATCGGAAGAGCGGTTCAGCAGGAATGCCGAG (TruSeq2 PE, read 1) and AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT (Illumina TruSeq Adapter Read 2) — both variants of the standard Illumina adapter, and trimmed them along with poly-G/poly-X runs and any base under Q20 in a 20 bp sliding window from each end.
| Before filtering | After filtering | |
|---|---|---|
| Total reads | 48,952,218 | 48,340,094 |
| Total bases | 4.895 Gbp | 4.613 Gbp |
| Mean length (R1, R2) | 100 bp, 100 bp | 94 bp, 95 bp |
| Q20 bases | 94.98% | 99.03% |
| Q30 bases | 90.47% | 94.47% |
| GC content | 40.73% | 40.15% |
Reads removed (612,124 total, 1.25% of input):
| Reason | Reads | % of input |
|---|---|---|
| Too short after trimming | 579,462 | 1.184% |
| Too many N bases | 26,484 | 0.054% |
| Low quality | 5,012 | 0.010% |
| Adapter dimer | 1,166 | 0.002% |
Estimated duplication rate at this pre-alignment, read-level stage: 0.27% (fastp's k-mer-based estimate — see §8 for the post-alignment, coordinate-based figure from Picard, which is a different methodology and not expected to match exactly). Insert size peak: 169 bp, consistent with the library insert sizes seen later in Qualimap.
Full interactive report: out_FastP.html — has the visual before/after quality curves behind the numbers above.
bwa index Homo_sapiens.GRCh38.dna.primary_assembly.faFinished constructing BWT in 688 iterations
1759.91 seconds elapse.
Update BWT... 10.89 sec
Pack forward-only FASTA 10.81 sec
Construct SA from BWT and Occ... 1243.52 sec
Version: 0.7.19-r1273
CMD: bwa index Homo_sapiens.GRCh38.dna.primary_assembly.fa
Real time: 3051.642 sec; CPU: 3047.239 sec
Indexing the full GRCh38 primary assembly took ≈51 minutes real time on this VM.
bwa mem -a Homo_sapiens.GRCh38.dna.primary_assembly.fa \
out1_clean.fq.gz out2_clean.fq.gz \
-o align.sam 2> stderror.outRun on 2026-07-07 with BWA 0.7.19-r1273. The -a flag reports all valid alignments per read, not just the best one — this is why downstream read counts (§7) look much larger than the 48.3M clean read pairs that went in: secondary and supplementary alignments (common in repetitive regions) get counted too.
# SAM to BAM
samtools view -bS align.sam > align.bam
# Sort by coordinate
samtools sort align.bam align.sorted.bam
# Index
samtools index align.sorted.bam
# Stats
samtools flagstat align.sorted.bam63695674 + 0 in total (QC-passed reads + QC-failed reads)
0 + 0 duplicates
63552054 + 0 mapped (99.77%:-nan%)
63695674 + 0 paired in sequencing
31875528 + 0 read1
31820146 + 0 read2
47515736 + 0 properly paired (74.60%:-nan%)
62720026 + 0 with itself and mate mapped
832028 + 0 singletons (1.31%:-nan%)
9714284 + 0 with mate mapped to a different chr
98183 + 0 with mate mapped to a different chr (mapQ>=5)
qualimap bamqc -bam align.sorted.bam -nt 4 --java-mem-size=12G| Metric | Value |
|---|---|
| Reference size | 3,099,750,718 bp |
| Number of reads | 48,340,094 |
| Mapped reads | 48,196,474 (99.7%) |
| Unmapped reads | 143,620 (0.3%) |
| Mapped paired reads | 48,196,474 (99.7%) |
| Mapped reads, first in pair | 24,107,251 (49.87%) |
| Mapped reads, second in pair | 24,089,223 (49.83%) |
| Mapped reads, both in pair | 48,132,470 (99.57%) |
| Mapped reads, singletons | 64,004 (0.13%) |
| Secondary alignments | 15,291,951 |
| Supplementary alignments | 63,629 (0.13%) |
| Read length (min/max/mean) | 0 / 100 / 95.5 bp |
| Duplicated reads (estimated) | 2,154,752 (4.46%) |
| Duplication rate | 2.76% |
| Clipped reads | 805,233 (1.67%) |
| Mean coverage | 1.482× |
| Coverage std. deviation | 7.9758 |
| Mean mapping quality | 43.93 |
| GC percentage | 40.16% |
| General error rate | 0.38% |
| Mismatches | 16,331,602 |
| Insertions | 365,687 (0.74% of mapped reads) |
| Deletions | 447,220 (0.90% of mapped reads) |
| Homopolymer indels | 43.53% |
A homopolymer-indel fraction of 43.53% is high but expected: homopolymer runs are the classic Achilles' heel of Illumina indel calling, which is part of why indels were filtered more strictly than SNPs later on (§11).
Insert size — a real anomaly worth explaining, not a typo:
| Value | |
|---|---|
| Mean | 12,303.55 bp |
| Standard deviation | 892,432.46 |
| P25 / Median / P75 | 169 / 183 / 195 bp |
The mean and standard deviation look absurd next to a median of 183 bp — but this is what qualimapReport.html actually reports, not a transcription error. The most likely explanation: Qualimap's naive insert-size calculation includes discordant read pairs (mates mapping to different chromosomes, or extremely far apart), and flagstat shows there are 9,714,284 of exactly those. A relative handful of pairs with a computed "insert size" in the tens or hundreds of millions of bp is enough to blow up a mean and standard deviation while leaving a robust statistic like the median untouched — P25/median/P75 (169/183/195 bp) is the number that actually reflects this library's real insert size distribution, and it lines up well with fastp's independently-estimated insert size peak of 169 bp (§3).
A sex-chromosome sanity check on the real data: per-chromosome coverage in the full Qualimap report averages ≈1.5× across the autosomes, but chrX sits at 0.7676× and chrY at 0.6716× — both roughly half the autosomal mean, exactly what's expected for a male sample with one copy of each. Mitochondrial coverage (MT) is far higher, at 511.3×, which is also expected: mitochondrial DNA is present in many copies per cell, unlike single-copy nuclear chromosomes. This is a nice independent confirmation that the sample metadata (HG00096, male) and the sequencing data agree with each other.
Full interactive report: align.sorted_stats/qualimapReport.html, with 12 additional plots (coverage across reference, insert-size histogram, GC content, mapping quality, etc.).
Read groups were derived from the read header and SRA/NCBI metadata:
@SRR062634.1 HWI-EAS110_103327062:6:1092:8469/1
| Field | Value | Source |
|---|---|---|
Instrument ID (--RGID/--RGPU) |
HWI-EAS110_103327062 |
Read header |
Lane (--RGID/--RGPU) |
6 |
Read header |
Library ID (--RGLB) |
2845856850 |
NCBI/SRA metadata |
Platform (--RGPL) |
Illumina Genome Analyzer II | NCBI/SRA metadata |
picard AddOrReplaceReadGroups \
--INPUT align.sorted.bam \
--OUTPUT align.sorted.rg.bam \
--RGID HWI-EAS110_103327062.6 \
--RGLB 2845856850 \
--RGPL illumina \
--RGPU HWI-EAS110_103327062 \
--RGSM SRR062634
picard MarkDuplicates \
--INPUT align.sorted.rg.bam \
--OUTPUT align.dedup.bam \
--METRICS_FILE markDuplicatesMetrics.txt \
--ASSUME_SORTED TrueRun 2026-07-07. Elapsed time for AddOrReplaceReadGroups: 7.42 minutes; for MarkDuplicates: 11.50 minutes.
Real markDuplicatesMetrics.txt output:
| Metric | Value |
|---|---|
| Library | 2845856850 |
| Unpaired reads examined | 64,004 |
| Read pairs examined | 24,066,235 |
| Secondary/supplementary reads | 15,355,580 |
| Unmapped reads | 143,620 |
| Unpaired read duplicates | 4,079 |
| Read pair duplicates | 204,174 |
| Optical duplicates | 0 |
| Percent duplication | 0.8557% |
| Estimated library size | 1,410,324,562 |
This cross-checks cleanly against Qualimap (§7): unpaired reads examined (64,004) matches Mapped reads, singletons exactly; read pairs examined ×2 (48,132,470) matches Mapped reads, both in pair exactly; and secondary/supplementary reads (15,355,580) matches Secondary + Supplementary alignments (15,291,951 + 63,629) exactly. Three independent tools, three matching numbers — a good sign the pipeline ran cleanly end to end.
Picard's duplication estimate (0.86%) is noticeably lower than both fastp's pre-alignment estimate (0.27%, §3) and Qualimap's (2.76%, §7) — expected, since all three use different methodologies (fastp: k-mer/sequence similarity before alignment; Picard: exact 5′ mapping coordinate + strand after alignment; Qualimap: a statistical estimate from the coverage distribution). None of them is "the" duplication rate; they're three different lenses on the same library.
samtools index align.dedup.bam
freebayes -f Homo_sapiens.GRCh38.dna.primary_assembly.fa \
--min-coverage 1 \
align.dedup.bam > variants.vcf--min-coverage 1 was necessary given the ≈1.5× depth achieved — at higher default thresholds, most of the genome would have been excluded. FreeBayes's default minimum-alternate-count filter (-C 2, i.e. at least 2 independent reads supporting the alternate allele) was deliberately kept, which meaningfully limits false positives compared to calling on a single read.
rtg vcfstats variants.vcf > variants.vcfstatsLocation : variants.vcf
Failed Filters : 0
Passed Filters : 1373028
SNPs : 1193841
MNPs : 28877
Insertions : 47948
Deletions : 57874
Indels : 7871
Same as reference : 36617
SNP Transitions/Transversions: 1.92 (1326492/692648)
Total Het/Hom ratio : 0.44 (407215/929196)
SNP Het/Hom ratio : 0.45 (368786/825055)
MNP Het/Hom ratio : 0.88 (13551/15326)
Insertion Het/Hom ratio : 0.24 (9425/38523)
Deletion Het/Hom ratio : 0.30 (13310/44564)
Indel Het/Hom ratio : 0.37 (2143/5728)
Insertion/Deletion ratio : 0.83 (47948/57874)
Indel/SNP+MNP ratio : 0.09 (113693/1222718)
(exact output of rtg vcfstats; commas below are added only in prose for readability)
Interpretation: For a low-coverage run (≈1.5×), the raw variant count is large, and a meaningful share are expected FreeBayes false positives from single-read support. Two sanity checks support real biological signal rather than noise:
- Ts/Tv = 1.92, close to the ~2.0–2.1 expected genome-wide for humans — consistent with a real, coherent human variant set rather than technical noise.
- Het/Hom ratio = 0.44 is unusually low (normal WGS is typically ~1.5–2.0). This is expected at this depth: if a position is truly heterozygous (one allele from each parent) but the sequencer only reads it once, it captures only one of the two alleles and the site gets miscalled as homozygous — this is the allelic dropout effect referenced throughout this report.
vcftools --vcf variants.vcf --keep-only-indels --minQ 30 \
--recode --recode-INFO-all --out variants_indels.vcf
vcftools --vcf variants.vcf --remove-indels --minQ 20 \
--recode --recode-INFO-all --out variants_snps.vcfIndels were filtered more strictly (Q30) than SNPs (Q20) because indels — especially in the homopolymer-rich regions flagged in §7 — are more error-prone in short-read alignment.
Compression for downstream tools:
bgzip variants_snps.vcf.recode.vcf
bgzip variants_indels.vcf.recode.vcfThe two filtered, bgzipped VCFs were uploaded through the Ensembl VEP web tool (not run locally — see the note in Environment & Tools), and the annotated VCFs it returned were downloaded and parsed with awk to extract HIGH-impact, high-confidence calls into a flat, readable format.
| Indels | SNPs | |
|---|---|---|
| Variants processed | 112,555 | 1,007,252 |
| Variants filtered out | 0 | 0 |
| Existing / novel variants | 36,417 (32.4%) existing | 953,853 (94.7%) existing |
| Overlapped genes | 34,929 | 67,773 |
| Overlapped transcripts | 357,518 | 588,050 |
| Overlapped regulatory features | 3,558 | 34,244 |
| Top coding consequence | frameshift_variant (19%) | synonymous_variant (56%) |
These "variants processed" counts are a nice coherence check against §10/§11: variants.vcf held 113,693 raw indel-type calls and 1,222,718 raw SNP/MNP-type calls; after the Q30/Q20 filters, VEP actually processed 112,555 indels (99.0% survived) and 1,007,252 SNPs (82.4% survived) — the much bigger drop for SNPs is consistent with a large fraction of single-read, lower-confidence SNP calls at this coverage getting caught by the stricter-in-relative-terms Q20 cutoff. The lower "existing variant" rate for indels (32.4% vs. 94.7% for SNPs) also matches expectations — population variant databases are far less complete for indels than for SNPs.
VEP web summary for the indels VCF.
VEP web summary for the SNPs VCF.
Indels — HIGH-impact frameshift / stop-gained / stop-lost variants:
awk -F '\t' '!/^#/{
if ($8 ~ /CSQ=/) {
# Isolate the CSQ block
split($8, t1, "CSQ=");
split(t1[2], cb, ";");
# Separate the different transcripts (comma-separated)
n = split(cb[1], tr, ",");
# Save already-printed combinations to avoid duplicates at the same position
p = "";
for (i = 1; i <= n; i++) {
# Separate the internal VEP fields (pipe-separated): Allele|Consequence|Impact|Gene...
split(tr[i], f, "|");
cons = f[2];
imp = f[3];
gen = f[4];
if (gen == "") gen = "Unknown";
# Filter consequences of interest
if (imp == "HIGH" && cons ~ /frameshift_variant|stop_gained|stop_lost|missense_variant/) {
# Unique key per position-consequence-gene to avoid cluttering the file
key = $1 "_" $2 "_" cons "_" gen;
if (p !~ key) {
print $1 "\t" $2 "\t" cons "\t" imp "\t" gen;
p = p " " key
}
}
}
}
}' results_indels.vcf | sort -V -u > results_indels.txtSNPs — HIGH-impact stop-gained / stop-lost variants:
awk -F '\t' '!/^#/{
if ($8 ~ /CSQ=/) {
split($8, t1, "CSQ=");
split(t1[2], cb, ";");
n = split(cb[1], tr, ",");
p = "";
for (i = 1; i <= n; i++) {
f_n = split(tr[i], f, "|");
cons = f[2];
imp = f[3];
gen = f[4];
if (gen == "") gen = "Unknown";
if (imp == "HIGH" && cons ~ /stop_gained|stop_lost/) {
key = $1 "_" $2 "_" cons "_" gen;
if (p !~ key) {
print $1 "\t" $2 "\t" cons "\t" imp "\t" gen;
p = p " " key
}
}
}
}
}' results_snps.vcf | sort -V -u > results_snps.txtBoth scripts print an
imp(impact) column — the working copy of the indels script only printed 4 fields (no impact column), but the realresults_indels.txtoutput has 5 columns identical in shape to the SNPs file, so the version above reflects what was actually run.
Cross-referencing genes that appear in both lists:
comm -12 <(awk -F'\t' '{print $5}' results_snps.txt | sort -u) \
<(awk -F'\t' '{print $5}' results_indels.txt | sort -u)
# → CYP4B1, ZNF717(independently re-verified directly against the two result files for this report: of 83 unique indel genes and 141 unique SNP genes, exactly two — CYP4B1 and ZNF717 — appear in both.)
Finally, IGV was launched with extra heap space (the default wasn't enough for a full genome + two VCF tracks) and pointed at the coordinates found above:
_JAVA_OPTIONS='-Xmx10g' igv
# Files loaded:
# variants_indels.vcf.recode.vcf.gz
# variants_snps.vcf.recode.vcf.gz
# align.sorted.bam
# align.sorted.bam.baiVEP annotation and filtering (§12) narrowed the raw call set down to 100 HIGH-impact indel calls across 83 genes and 155 HIGH-impact SNP calls across 141 genes. The tables below highlight the entries with the clearest biological narrative; the full lists are in the collapsible sections further down and in results_indels.txt / results_snps.txt.
| Gene | Locus | Consequence | Notes |
|---|---|---|---|
| EWSR1 | chr22:29,281,368 | Stop-lost + NMD transcript variant | Tumor suppressor gene; losing the stop codon here would abnormally elongate the protein. EWSR1 is classically associated with Ewing sarcoma, though its best-established oncogenic mechanism is a somatic EWSR1–FLI1 gene fusion, not a germline stop-loss — worth keeping in mind when interpreting this specific call. |
| MYT1L | chr2:1,830,817 | Frameshift variant | Transcription factor essential for neuronal maturation and development. Loss-of-function variants are linked to an autosomal dominant intellectual disability syndrome with speech delay and hyperactivity/obesity. |
| POT1 | chr7:124,866,305 | Frameshift + NMD transcript variant | Protects telomere integrity, preventing cellular aging and malignant transformation. Mutations raise the risk of hereditary cutaneous melanoma and certain leukemias. |
| CLN5 | chr13:77,017,068 | Frameshift variant | Linked to a rare, devastating lysosomal disorder: Neuronal Ceroid Lipofuscinosis type 5, causing progressive neurodegeneration with vision loss, epilepsy, and motor decline in childhood. |
| SETBP1 | chr18:44,876,705 | Frameshift variant | Central regulator of embryonic and cognitive development. Mutations cause SETBP1 haploinsufficiency disorder, marked by severe psychomotor delay and speech apraxia. |
| Gene | Locus | Consequence | Notes |
|---|---|---|---|
| MTOR | chr1:11,247,580 | Stop-gained | Core cell-biology gene; the mTOR pathway regulates cell growth, proliferation and survival. Loss-of-function variants are linked to neurodevelopmental disorders and play a key role in oncology. |
| PINK1 | chr1:20,649,670 | Stop-gained | Encodes a mitochondrial kinase that protects neurons from cellular stress. Mutations cause autosomal recessive, early-onset Parkinson's disease. |
| NF1 | chr17:31,378,929 | Stop-lost + NMD transcript variant | Neurofibromin 1, a tumor suppressor. Mutations cause Neurofibromatosis Type 1, a dominant disorder causing benign nerve tumors and skin pigmentation changes. |
| STAT1 | chr2:190,970,704 | Stop-lost (+ NMD transcript variant) | Core immune-system gene. Mutations cause Combined Immunodeficiency, leaving patients highly vulnerable to infection. |
| FTO | chr16:54,118,489 | Stop-lost + NMD transcript variant | The "obesity gene," regulating energy homeostasis and body fat mass. Variants are associated with elevated BMI susceptibility and type 2 diabetes. |
| CLOCK | chr4:55,476,019 | Stop-gained | Core circadian-clock transcription factor. Disruption is linked in the literature to circadian rhythm and metabolic disturbances. |
Two genes turned up independently in both the SNP and indel call sets — a pattern much less likely to arise from a technical artifact than an isolated call would be:
| Gene | Locus | Variant | Ref → Alt | Qual |
|---|---|---|---|---|
| CYP4B1 | chr1:46,815,074–46,815,077 | Indel — frameshift (+ splice-region, + NMD in some transcripts) | GATG → GG | 77,614 |
| CYP4B1 | chr1:46,815,187 | SNP — stop-gained (+ NMD transcript variant) | G → A | 50,641 |
| ZNF717 | chr3:75,732,061–75,732,065 | Indel — frameshift | TCCTG → TCTG | 51,834 |
| ZNF717 | chr3:75,737,024 | SNP — stop-gained | C → A | 41,069 |
| ZNF717 | chr3:75,741,687 | SNP — stop-gained (+ NMD transcript variant) | — | — |
(Ref/Alt/Qual for the two ZNF717 SNPs and the CYP4B1/ZNF717 indels are read directly off the IGV screenshots below; the third ZNF717 SNP at 75,741,687 wasn't in the captured views.)
CYP4B1 is a cytochrome P450 family member; two consecutive high-impact mutations here raise a candidate pharmacogenomic finding that could alter drug metabolism. ZNF717 is a zinc-finger gene that, beyond its regulatory role, sits in a segmentally duplicated, highly repetitive region of chromosome 3 — a genomic context notorious for short-read alignment ambiguity, making it a useful methodological control for interpreting any variant call in a homologous gene family with caution. All four QUAL scores above (41,069–77,614) are high for a ≈1.5× dataset, for the straightforward reason that FreeBayes QUAL scales with supporting evidence and these positions happen to sit under locally higher coverage — worth remembering that QUAL here reflects local read support, not independent biological validation.
IGV view of chr1:46,815,074–46,815,187 (GRCh38/hg38): the CYP4B1 indel and SNP, with align.sorted.bam coverage/reads beneath.
IGV view of chr3:75,733,485–75,735,591 (GRCh38/hg38): the ZNF717 indel and SNP calls in context.
All 100 HIGH-impact indel calls (83 genes) — click to expand
| Chr | Position | Consequence | Gene |
|---|---|---|---|
| 1 | 11,857,563 | frameshift_variant | NPPB |
| 1 | 12,879,725 | frameshift_variant | PRAMEF4 |
| 1 | 16,045,018 | stop_lost + 3_prime_UTR_variant + NMD_transcript_variant | CLCNKB |
| 1 | 20,652,814 | frameshift_variant | DDOST |
| 1 | 46,815,074 | frameshift_variant | CYP4B1 |
| 1 | 46,815,074 | frameshift_variant + splice_region_variant | CYP4B1 |
| 1 | 46,815,074 | frameshift_variant + splice_region_variant + NMD_transcript_variant | CYP4B1 |
| 1 | 78,662,885 | frameshift_variant | IFI44 |
| 1 | 236,736,599 | frameshift_variant | ACTN2 |
| 2 | 1,830,817 | frameshift_variant | MYT1L |
| 2 | 9,412,254 | frameshift_variant + NMD_transcript_variant | ITGB1BP1 |
| 2 | 24,179,258 | frameshift_variant + NMD_transcript_variant | FAM228A |
| 2 | 43,947,357 | frameshift_variant | LRPPRC |
| 2 | 43,947,357 | frameshift_variant + NMD_transcript_variant | LRPPRC |
| 2 | 72,465,143 | frameshift_variant | EXOC6B |
| 2 | 95,951,363 | stop_gained | ANKRD36C |
| 2 | 95,951,363 | stop_gained + NMD_transcript_variant | ANKRD36C |
| 2 | 200,921,327 | frameshift_variant | ORC2 |
| 2 | 227,535,065 | frameshift_variant | AGFG1 |
| 3 | 15,430,021 | stop_lost | EAF1 |
| 3 | 32,146,756 | frameshift_variant | GPD1L |
| 3 | 44,499,299 | frameshift_variant + splice_region_variant | ZNF852 |
| 3 | 52,925,997 | frameshift_variant | SFMBT1 |
| 3 | 53,186,747 | frameshift_variant + NMD_transcript_variant | PRKCD |
| 3 | 75,732,061 | frameshift_variant | ZNF717 |
| 3 | 98,391,562 | frameshift_variant | OR5K3 |
| 3 | 130,471,876 | frameshift_variant | COL6A5 |
| 3 | 130,471,876 | frameshift_variant + NMD_transcript_variant | COL6A5 |
| 3 | 179,242,978 | frameshift_variant | KCNMB3 |
| 3 | 179,242,978 | frameshift_variant + NMD_transcript_variant | KCNMB3 |
| 4 | 154,323,249 | frameshift_variant | DCHS2 |
| 5 | 55,968,342 | frameshift_variant | IL6ST |
| 5 | 55,968,342 | frameshift_variant + NMD_transcript_variant | IL6ST |
| 5 | 69,356,411 | frameshift_variant + NMD_transcript_variant | AK6 |
| 5 | 75,029,442 | frameshift_variant | GCNT4 |
| 5 | 109,344,169 | frameshift_variant | PJA2 |
| 5 | 109,699,601 | frameshift_variant | MAN2A1 |
| 5 | 139,455,079 | frameshift_variant + NMD_transcript_variant | ECSCR |
| 5 | 172,770,422 | frameshift_variant + NMD_transcript_variant | DUSP1 |
| 6 | 32,638,940 | frameshift_variant + NMD_transcript_variant | HLA-DQA1 |
| 6 | 32,638,953 | frameshift_variant + NMD_transcript_variant | HLA-DQA1 |
| 6 | 111,390,029 | frameshift_variant | REV3L |
| 7 | 44,229,646 | frameshift_variant + NMD_transcript_variant | CAMK2B |
| 7 | 75,987,499 | frameshift_variant + NMD_transcript_variant | TMEM120A |
| 7 | 124,866,305 | frameshift_variant + NMD_transcript_variant | POT1 |
| 7 | 151,217,750 | frameshift_variant | ABCF2 |
| 7 | 151,217,750 | frameshift_variant + splice_region_variant + NMD_transcript_variant | ABCF2 |
| 9 | 33,618,339 | frameshift_variant | TRBV20OR9-2 |
| 9 | 35,682,767 | frameshift_variant | TPM2 |
| 9 | 35,682,767 | frameshift_variant + NMD_transcript_variant | TPM2 |
| 9 | 107,331,689 | frameshift_variant | RAD23B |
| 9 | 123,169,873 | frameshift_variant | STRBP |
| 9 | 128,694,106 | stop_lost | SET |
| 10 | 5,768,081 | frameshift_variant + NMD_transcript_variant | GDI2 |
| 11 | 5,727,045 | stop_gained + frameshift_variant | OR52P1 |
| 11 | 31,426,361 | frameshift_variant | DNAJC24 |
| 11 | 31,426,361 | frameshift_variant + NMD_transcript_variant | DNAJC24 |
| 11 | 45,923,443 | frameshift_variant | LARGE2 |
| 11 | 56,820,024 | frameshift_variant | OR5G3 |
| 11 | 56,820,174 | frameshift_variant | OR5G3 |
| 11 | 119,027,725 | frameshift_variant + splice_region_variant | SLC37A4 |
| 11 | 126,271,239 | frameshift_variant + NMD_transcript_variant | FOXRED1 |
| 12 | 26,681,871 | stop_gained + frameshift_variant + splice_region_variant | ITPR2 |
| 12 | 85,244,867 | frameshift_variant | LRRIQ1 |
| 13 | 25,097,068 | stop_gained | PABPC3 |
| 13 | 47,965,494 | frameshift_variant | SUCLA2 |
| 13 | 77,017,068 | frameshift_variant | CLN5 |
| 13 | 101,191,895 | frameshift_variant | NALCN |
| 14 | 20,002,693 | frameshift_variant | OR4Q2 |
| 14 | 20,198,016 | frameshift_variant | OR11G2 |
| 14 | 24,212,554 | frameshift_variant | CHMP4A |
| 14 | 24,441,111 | frameshift_variant | SDR39U1 |
| 14 | 37,521,239 | frameshift_variant | MIPOL1 |
| 14 | 49,584,702 | frameshift_variant + NMD_transcript_variant | RPS29 |
| 14 | 95,452,211 | frameshift_variant + NMD_transcript_variant | SYNE3 |
| 15 | 30,373,077 | frameshift_variant | CHRFAM7A |
| 15 | 41,380,243 | frameshift_variant | NUSAP1 |
| 16 | 19,581,668 | frameshift_variant | VPS35L |
| 16 | 58,277,627 | frameshift_variant | CFAP263 |
| 17 | 41,835,615 | frameshift_variant + NMD_transcript_variant | NT5C3B |
| 17 | 75,130,651 | frameshift_variant | NT5C |
| 17 | 75,517,334 | frameshift_variant | TSEN54 |
| 17 | 76,754,133 | frameshift_variant | MFSD11 |
| 17 | 76,754,133 | frameshift_variant + NMD_transcript_variant | MFSD11 |
| 18 | 44,876,705 | frameshift_variant | SETBP1 |
| 19 | 9,341,350 | frameshift_variant | ZNF559 |
| 19 | 18,220,547 | frameshift_variant + NMD_transcript_variant | PDE4C |
| 19 | 22,757,390 | frameshift_variant | ZNF99 |
| 19 | 51,501,537 | frameshift_variant | SIGLEC12 |
| 19 | 51,501,537 | frameshift_variant + NMD_transcript_variant | SIGLEC12 |
| 19 | 54,452,636 | frameshift_variant + NMD_transcript_variant | LENG8 |
| 19 | 58,286,217 | frameshift_variant | ZNF8 |
| 20 | 20,616,156 | frameshift_variant | RALGAPA2 |
| 20 | 20,616,156 | frameshift_variant + NMD_transcript_variant | RALGAPA2 |
| 21 | 33,549,183 | frameshift_variant | SON |
| 21 | 33,576,378 | frameshift_variant | SON |
| 21 | 33,576,390 | frameshift_variant | SON |
| 22 | 24,511,780 | frameshift_variant | UPB1 |
| 22 | 29,281,368 | stop_lost + NMD_transcript_variant | EWSR1 |
| 22 | 31,458,448 | frameshift_variant | EIF4ENIF1 |
All 155 HIGH-impact SNP calls (141 genes) — click to expand
| Chr | Position | Consequence | Gene |
|---|---|---|---|
| 1 | 7,810,084 | stop_lost | PER3 |
| 1 | 11,247,580 | stop_gained | MTOR |
| 1 | 16,313,577 | stop_gained + NMD_transcript_variant | FBXO42 |
| 1 | 20,649,670 | stop_gained | PINK1 |
| 1 | 43,319,285 | stop_lost + NMD_transcript_variant | TIE1 |
| 1 | 46,406,314 | stop_lost + NMD_transcript_variant | FAAH |
| 1 | 46,815,187 | stop_gained | CYP4B1 |
| 1 | 46,815,187 | stop_gained + NMD_transcript_variant | CYP4B1 |
| 1 | 86,578,931 | stop_lost + NMD_transcript_variant | CLCA4 |
| 1 | 156,595,130 | stop_gained | GPATCH4 |
| 1 | 159,940,547 | stop_gained | IGSF9 |
| 1 | 179,097,936 | stop_gained | TOR3A |
| 1 | 186,128,104 | stop_gained | HMCN1 |
| 1 | 197,103,757 | stop_gained | ASPM |
| 1 | 241,889,511 | stop_gained | EXO1 |
| 1 | 247,256,207 | stop_lost | VN1R5 |
| 2 | 17,718,215 | stop_lost + NMD_transcript_variant | SMC6 |
| 2 | 31,388,163 | stop_gained | XDH |
| 2 | 36,581,589 | stop_lost + splice_region_variant + NMD_transcript_variant | FEZ2 |
| 2 | 69,841,503 | stop_lost + NMD_transcript_variant | GMCL1 |
| 2 | 85,322,745 | stop_lost | TGOLN2 |
| 2 | 86,136,732 | stop_lost | PTCD3 |
| 2 | 102,932,971 | stop_gained | TMEM182 |
| 2 | 165,139,597 | stop_gained + NMD_transcript_variant | SCN3A |
| 2 | 170,382,125 | stop_lost | MYO3B |
| 2 | 190,970,704 | stop_lost | STAT1 |
| 2 | 190,970,704 | stop_lost + NMD_transcript_variant | STAT1 |
| 2 | 195,858,719 | stop_gained | DNAH7 |
| 2 | 218,574,094 | stop_lost + NMD_transcript_variant | CNOT9 |
| 2 | 227,348,325 | stop_gained + splice_region_variant | MFF |
| 3 | 75,737,024 | stop_gained | ZNF717 |
| 3 | 75,741,687 | stop_gained | ZNF717 |
| 3 | 75,741,687 | stop_gained + NMD_transcript_variant | ZNF717 |
| 3 | 98,007,903 | stop_gained + splice_region_variant | GABRR3 |
| 3 | 112,580,892 | stop_gained | SLC35A5 |
| 3 | 151,425,659 | stop_gained | IGSF10 |
| 3 | 161,496,988 | stop_gained | OTOL1 |
| 3 | 193,354,168 | stop_gained | ATP13A5 |
| 4 | 6,696,979 | stop_lost | S100P |
| 4 | 7,025,314 | stop_gained | TBC1D14 |
| 4 | 17,625,671 | stop_lost + NMD_transcript_variant | MED28 |
| 4 | 55,476,019 | stop_gained | CLOCK |
| 4 | 78,910,637 | stop_gained | BMP2K |
| 4 | 101,918,205 | stop_gained | BANK1 |
| 4 | 106,247,274 | stop_gained + NMD_transcript_variant | TBCK |
| 4 | 177,344,597 | stop_lost + NMD_transcript_variant | NEIL3 |
| 5 | 10,258,533 | stop_gained + splice_region_variant | CCT5 |
| 5 | 10,258,533 | stop_gained + splice_region_variant + NMD_transcript_variant | CCT5 |
| 5 | 33,751,349 | stop_gained | ADAMTS12 |
| 5 | 33,994,011 | stop_lost + NMD_transcript_variant | AMACR |
| 5 | 65,572,113 | stop_gained | PPWD1 |
| 5 | 65,572,113 | stop_gained + NMD_transcript_variant | PPWD1 |
| 5 | 72,223,727 | stop_gained | MRPS27 |
| 5 | 72,443,757 | stop_lost | ZNF366 |
| 6 | 16,290,530 | stop_gained | GMPR |
| 6 | 29,417,995 | stop_lost | OR12D1 |
| 6 | 31,157,072 | stop_gained | CCHCR1 |
| 6 | 31,557,542 | stop_gained + NMD_transcript_variant | NFKBIL1 |
| 6 | 99,377,472 | stop_lost + NMD_transcript_variant | COQ3 |
| 6 | 125,258,620 | stop_gained | TPD52L1 |
| 6 | 132,751,453 | stop_gained | VNN2 |
| 7 | 45,177,162 | stop_gained + NMD_transcript_variant | RAMP3 |
| 7 | 66,130,230 | stop_gained + NMD_transcript_variant | CRCP |
| 7 | 93,994,230 | stop_lost | BET1 |
| 7 | 100,463,647 | stop_gained | SPACDR |
| 7 | 128,675,534 | stop_lost + NMD_transcript_variant | GARIN1A |
| 8 | 99,121,478 | stop_gained | VPS13B |
| 9 | 20,717,415 | stop_gained | FOCAD |
| 9 | 98,081,135 | stop_lost | NANS |
| 9 | 99,961,606 | stop_gained | STX17 |
| 9 | 113,043,345 | stop_gained | ZFP37 |
| 9 | 115,078,087 | stop_gained | TNC |
| 9 | 115,078,087 | stop_gained + NMD_transcript_variant | TNC |
| 9 | 136,946,108 | stop_gained + NMD_transcript_variant | C8G |
| 10 | 1,096,268 | stop_lost | WDR37 |
| 10 | 7,599,799 | stop_gained | ITIH5 |
| 10 | 26,096,625 | stop_gained | MYO3A |
| 10 | 26,096,625 | stop_gained + NMD_transcript_variant | MYO3A |
| 10 | 27,398,296 | stop_lost | PTCHD3 |
| 10 | 97,583,213 | stop_gained | ANKRD2 |
| 10 | 100,199,101 | stop_lost + NMD_transcript_variant | CHUK |
| 10 | 116,366,676 | stop_lost | CCDC172 |
| 10 | 124,509,562 | stop_lost | LHPP |
| 10 | 133,283,930 | stop_lost + NMD_transcript_variant | TUBGCP2 |
| 11 | 5,489,631 | stop_gained | OR52D1 |
| 11 | 19,187,410 | stop_gained | CSRP3 |
| 11 | 56,663,740 | stop_gained | OR5AR1 |
| 11 | 60,389,693 | stop_gained | MS4A7 |
| 11 | 74,267,198 | stop_gained | P4HA3 |
| 11 | 76,544,475 | stop_gained | EMSY |
| 11 | 124,186,025 | stop_gained | OR10D3 |
| 11 | 125,461,743 | stop_lost | FEZ1 |
| 11 | 125,461,743 | stop_lost + NMD_transcript_variant | FEZ1 |
| 12 | 6,529,922 | stop_lost + NMD_transcript_variant | NCAPD2 |
| 12 | 7,089,703 | stop_gained + NMD_transcript_variant | C1R |
| 12 | 11,021,672 | stop_lost | TAS2R19 |
| 12 | 11,030,436 | stop_gained | TAS2R31 |
| 12 | 12,504,579 | stop_lost + NMD_transcript_variant | DUSP16 |
| 12 | 21,167,963 | stop_lost + NMD_transcript_variant | SLCO1B1 |
| 12 | 40,486,279 | stop_gained | MUC19 |
| 12 | 51,006,214 | stop_lost + NMD_transcript_variant | SLC11A2 |
| 12 | 55,247,471 | stop_gained | OR6C74 |
| 12 | 95,242,193 | stop_gained | VEZT |
| 12 | 101,714,892 | stop_gained + NMD_transcript_variant | CHPT1 |
| 12 | 120,700,547 | stop_gained | MLEC |
| 12 | 123,932,637 | stop_lost + NMD_transcript_variant | DNAH10 |
| 13 | 40,799,269 | stop_gained | SLC25A15 |
| 13 | 40,799,269 | stop_gained + NMD_transcript_variant | SLC25A15 |
| 13 | 40,799,281 | stop_gained | SLC25A15 |
| 13 | 40,799,281 | stop_gained + NMD_transcript_variant | SLC25A15 |
| 13 | 45,529,803 | stop_lost + NMD_transcript_variant | COG3 |
| 14 | 23,182,893 | stop_gained | SLC7A8 |
| 14 | 23,182,893 | stop_gained + NMD_transcript_variant | SLC7A8 |
| 14 | 31,483,548 | stop_gained | GPR33 |
| 14 | 34,624,708 | stop_gained + NMD_transcript_variant | SNX6 |
| 14 | 53,950,804 | stop_lost | BMP4 |
| 14 | 55,005,169 | stop_lost | WDHD1 |
| 14 | 68,925,078 | stop_gained | ACTN1 |
| 14 | 103,438,074 | stop_lost + NMD_transcript_variant | MARK3 |
| 14 | 103,531,188 | stop_lost + NMD_transcript_variant | TRMT61A |
| 15 | 55,430,684 | stop_gained | DNAAF4 |
| 15 | 66,501,339 | stop_gained + NMD_transcript_variant | RPL4 |
| 15 | 88,841,848 | stop_gained | ACAN |
| 16 | 24,571,807 | stop_gained | RBBP6 |
| 16 | 31,060,401 | stop_gained | ZNF668 |
| 16 | 53,490,138 | stop_gained | RBL2 |
| 16 | 54,118,489 | stop_lost + NMD_transcript_variant | FTO |
| 16 | 69,456,172 | stop_lost + NMD_transcript_variant | CYB5B |
| 16 | 71,933,983 | stop_gained | PKD1L3 |
| 16 | 89,535,485 | stop_gained | SPG7 |
| 17 | 19,962,946 | stop_gained | AKAP10 |
| 17 | 29,530,680 | stop_gained | TAOK1 |
| 17 | 31,378,929 | stop_lost + NMD_transcript_variant | NF1 |
| 17 | 48,922,889 | stop_gained | UBE2Z |
| 17 | 49,619,957 | stop_gained + NMD_transcript_variant | SPOP |
| 17 | 78,098,496 | stop_gained | TNRC6C |
| 18 | 28,036,487 | stop_gained | CDH2 |
| 19 | 20,548,129 | stop_gained | ZNF737 |
| 19 | 35,171,700 | stop_gained | FXYD5 |
| 19 | 43,203,386 | stop_gained | PSG4 |
| 19 | 49,866,849 | stop_lost + NMD_transcript_variant | PNKP |
| 19 | 53,573,530 | stop_gained | ZNF331 |
| 19 | 55,388,036 | stop_gained | RPL28 |
| 19 | 57,131,414 | stop_gained | USP29 |
| 19 | 57,850,470 | stop_lost | ZNF814 |
| 20 | 9,478,943 | stop_lost | PLCB4 |
| 20 | 62,387,999 | stop_lost | RPS21 |
| 21 | 30,371,809 | stop_gained | KRTAP13-2 |
| 21 | 46,153,782 | stop_gained | FTCD |
| 22 | 22,353,380 | stop_lost | IGLV5-48 |
| 22 | 26,466,075 | stop_gained | HPS4 |
| 22 | 26,466,075 | stop_gained + NMD_transcript_variant | HPS4 |
| 22 | 41,940,168 | stop_gained | CENPM |
| X | 48,991,174 | stop_gained | GRIPAP1 |
| X | 119,471,038 | stop_gained | SLC25A5 |
The full bioinformatics pipeline for whole-genome sequencing sample SRR062634 ran successfully end to end, from raw-read acquisition at the NCBI/EBI SRA mirror through to clinically-framed variant interpretation via Ensembl VEP.
Despite the inherent limitations of low-pass sequencing depth (≈1.48×), the pipeline held up methodologically. Global alignment quality was strong, and the transition/transversion ratio (Ts/Tv = 1.92) sits right where the human genome standard predicts. Numbers cross-checked cleanly across independent tools at every stage — flagstat, Qualimap, and Picard all agree to the read on singleton, paired, and secondary/supplementary counts (§8) — which is a good sign the pipeline ran correctly rather than accumulating silent errors.
Custom awk-based filtering isolated intergenic background noise and sequencing artifacts in hypermutable regions (such as the SON or ZNF gene families, both well represented in the full result tables above) with precision, concentrating the analysis on a refined panel of 100 indel and 155 SNP HIGH-impact variants. The most methodologically and biologically robust finding of the project is that severe variants in CYP4B1 and ZNF717 appear independently and simultaneously in both the SNP and indel call sets — sharply reducing the odds that these particular calls are technical artifacts (see Results). Beyond these two, the pipeline also retained unique HIGH-impact variants of interest: frameshifts in neurodevelopmental genes (MYT1L, SETBP1, CLN5) and a telomere-protective gene (POT1), alongside stop-gain/stop-loss variants in tumor suppressors (NF1, EWSR1), a mitochondrial-quality-control kinase linked to Parkinson's disease (PINK1), a circadian-rhythm regulator (CLOCK), a body-fat-mass regulator (FTO), and a core growth-signaling gene (MTOR).
None of this implies the sequenced individual has or will develop any of these conditions. At 1.48× coverage, the data suffer from a severe technical phenomenon called allelic dropout, where the sequencer only reads one of the two alleles present at a given position. Since most of the severe conditions discussed here (PINK1-linked neurodegeneration in particular) follow autosomal recessive inheritance, in the worst realistic scenario the individual would be an asymptomatic, healthy carrier.
Relaxing the minimum-coverage requirement (--min-coverage 1) allowed the entire available genome to be explored, while keeping FreeBayes's default minimum alternate-count filter (-C 2) ensured every variant was supported by at least two independent reads — meaningfully reducing the false-positive rate compared to single-read calling. Accordingly, this pipeline serves an exclusively high-priority screening and candidate-identification function. Deep diagnostic sequencing (>30×) or targeted Sanger validation would be mandatory to confirm true genotypes and determine zygosity for critical calls such as EWSR1 and PINK1 before any clinically conclusive judgment could be made.
.
├── 1.Data
│ ├── Raw
│ │ ├── SRR062634_1.fastq
│ │ ├── SRR062634_1_fastqc.zip
│ │ ├── SRR062634_1.fastq.gz
│ │ ├── SRR062634_2.fastq
│ │ ├── SRR062634_2_fastqc.zip
│ │ └── SRR062634_2.fastq.gz
│ └── Reference
│ ├── Homo_sapiens.GRCh38.dna.primary_assembly.fa
│ ├── Homo_sapiens.GRCh38.dna.primary_assembly.fa.amb
│ ├── Homo_sapiens.GRCh38.dna.primary_assembly.fa.ann
│ ├── Homo_sapiens.GRCh38.dna.primary_assembly.fa.bwt
│ ├── Homo_sapiens.GRCh38.dna.primary_assembly.fa.fai
│ ├── Homo_sapiens.GRCh38.dna.primary_assembly.fa.pac
│ └── Homo_sapiens.GRCh38.dna.primary_assembly.fa.sa
├── 2.QC
│ ├── SRR062634_1_fastqc.html
│ └── SRR062634_2_fastqc.html
├── 3.Clean
│ ├── fastp.json
│ ├── out1_clean.fq.gz
│ ├── out2_clean.fq.gz
│ └── out_FastP.html
├── 4.Alignment
│ ├── align.bam
│ ├── align.sam
│ ├── align.sorted.bam
│ ├── align.sorted.bam.bai
│ ├── align.sorted_stats
│ │ ├── css/ (Qualimap report assets)
│ │ ├── genome_results.txt
│ │ ├── images_qualimapReport/ (12 plots: coverage, GC, insert size, mapping quality, etc.)
│ │ ├── qualimapReport.html
│ │ └── raw_data_qualimapReport/ (12 raw-data text files backing the plots)
│ └── stderror.out
├── 5.MarkDuplicates
│ ├── align.dedup.bam
│ ├── align.dedup.bam.bai
│ ├── align.sorted.rg.bam
│ └── markDuplicatesMetrics.txt
├── 6.Variant_calling
│ ├── variants_indels.vcf.log
│ ├── variants_indels.vcf.recode.vcf.gz
│ ├── variants_snps.vcf.log
│ ├── variants_snps.vcf.recode.vcf.gz
│ ├── variants.vcf
│ ├── variants.vcf.idx
│ └── variants.vcfstats
└── 7.VEP_results
├── results_indels.txt
├── results_indels.vcf
├── results_snps.txt
└── results_snps.vcf
14 directories, 89 files
- Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Software]. Babraham Bioinformatics. https://www.bioinformatics.babraham.ac.uk/projects/fastqc/
- Chen, S., Zhou, Y., Chen, Y., & Gu, J. (2018). fastp: an ultra-fast all-in-one FASTQ preprocessor. Bioinformatics, 34(17), i884–i890. https://doi.org/10.1093/bioinformatics/bty560
- Li, H., & Durbin, R. (2009). Fast and accurate short read alignment with Burrows–Wheeler transform. Bioinformatics, 25(14), 1754–1760. https://doi.org/10.1093/bioinformatics/btp324
- Danecek, P., Bonfield, J. K., Liddle, J., Marshall, J., Ohan, V., Pollard, M. O., Whitwham, A., Keane, T., McCarthy, S. A., Davies, R. M., & Li, H. (2021). Twelve years of SAMtools and BCFtools. GigaScience, 10(2), giab008. https://doi.org/10.1093/gigascience/giab008
- Okonechnikov, K., Conesa, A., & García-Alcalde, F. (2016). Qualimap 2: advanced multi-sample quality control for high-throughput sequencing data. Bioinformatics, 32(2), 292–294. https://doi.org/10.1093/bioinformatics/btv566
- "Picard Toolkit." (2019). Broad Institute, GitHub Repository. https://broadinstitute.github.io/picard/
- Garrison, E., & Marth, G. (2012). Haplotype-based variant detection from short-read sequencing. arXiv preprint, arXiv:1207.3907. https://arxiv.org/abs/1207.3907
- Cleary, J. G., Braithwaite, R., Gaastra, K., Hilbush, B. S., Inglis, S., Irvine, S. A., Jackson, A., Littin, R., Nohzadeh-Malakshah, S., Rathod, M., Ware, D., Trigg, L., & De La Vega, F. M. (2014). Joint Variant and De Novo Mutation Identification on Pedigrees from High-Throughput Sequencing Data. Journal of Computational Biology, 21(6), 405–419. https://doi.org/10.1089/cmb.2014.0029
- McLaren, W., Gil, L., Hunt, S. E., Riat, H. S., Ritchie, G. R. S., Thormann, A., Flicek, P., & Cunningham, F. (2016). The Ensembl Variant Effect Predictor. Genome Biology, 17(1), 122. https://doi.org/10.1186/s13059-016-0974-4
- Robinson, J. T., Thorvaldsdóttir, H., Winckler, W., Guttman, M., Lander, E. S., Getz, G., & Mesirov, J. P. (2011). Integrative Genomics Viewer. Nature Biotechnology, 29(1), 24–26. https://doi.org/10.1038/nbt.1754
- CYP4B1: Baer, B. R., & Rettie, A. E. (2006). CYP4B1: An Enigmatic P450 at the Interface between Xenobiotic and Endobiotic Metabolism. Drug Metabolism Reviews, 38(3), 451–476. https://doi.org/10.1080/03602530600688503
- ZNF717 / repetitive-region context: Treangen, T. J., & Salzberg, S. L. (2011). Repetitive DNA and next-generation sequencing: computational challenges and solutions. Nature Reviews Genetics, 13(1), 36–46. https://doi.org/10.1038/nrg3117