How rinaldi-rpy/population_variant_calling works
This repository documents a Snakemake workflow that takes multi-sample FASTQ reads through trimming, mapping, alignment processing, QC and population variant calling to a filtered VCF. Separate shell and R scripts provide VCF threshold assessment and downstream population analyses. The main workflow and downstream script internals were not sampled, so links among their documented stages are shown only where the README describes them; no finer implementation wiring is assumed.
Main entry points: analysis.sh Analysis runner · Snakefile Snakemake workflow · qc_vcf.sh VCF threshold QC · config.yaml Workflow config
Components 24
Read-to-VCF workflow
- Snakemake workflow
Snakefile - Read trimming
Snakefile - Reference indexing
Snakefile - Read mapping
Snakefile - BAM processing
Snakefile - Alignment QC
Snakefile - Variant calling
Snakefile - VCF filtering
Snakefile - Workflow config
config.yaml
Variant QC
- VCF threshold QC
project/qc_vcf.sh - QC metrics
Population analysis
- Analysis runner
project/analysis.sh - Admixture plots
project/code/admixture_plot.r - Candidate genes
project/code/candidate_gene.r - Circos plots
project/code/circos_plot.r - PCA plots
project/code/pca_plot.r - ROH and FROH
project/code/roh_froh_cli.r - ROH islands
project/code/roh_island_cli.r - Population datasets
project/data - Analysis metadata
project/input
Workflow outputs
- Sorted BAMs
- Mapping reports
- Population VCF
Other components
- FASTQ reads
Connections 29
- FASTQ reads → Read trimming: provides reads
- Workflow config → Snakemake workflow: configures
- Snakemake workflow → Read trimming: runs
- Snakemake workflow → Reference indexing: runs
- Snakemake workflow → Read mapping: runs
- Snakemake workflow → BAM processing: runs
- Snakemake workflow → Alignment QC: runs
- Snakemake workflow → Variant calling: runs
- Snakemake workflow → VCF filtering: runs
- Read trimming → Read mapping: provides reads
- Reference indexing → Read mapping: provides index
- Read mapping → BAM processing: provides alignments
- BAM processing → Sorted BAMs: writes
- BAM processing → Alignment QC: provides BAMs
- Alignment QC → Mapping reports: writes reports
- BAM processing → Variant calling: provides BAMs
- Variant calling → VCF filtering: provides variants
- VCF filtering → Population VCF: writes filtered VCF
- Population VCF → VCF threshold QC: assesses
- VCF threshold QC → QC metrics: writes metrics
- QC metrics → Analysis runner: guides thresholds
- Population datasets → Analysis runner: provides VCFs
- Analysis metadata → Analysis runner: provides annotations
- Analysis runner → Admixture plots: runs
- Analysis runner → Candidate genes: runs
- Analysis runner → Circos plots: runs
- Analysis runner → PCA plots: runs
- Analysis runner → ROH and FROH: runs
- Analysis runner → ROH islands: runs