PARSEC is a bioinformatics pipeline designed to genotype large populations using low coverage (typically <3X) sequencing data. Three imputation software are available as of today :
The pipeline is still in development, please reach out if you need help for running it or encounter bugs
- Index bams (
SAMtools) - Prepare fixed size genomic chunks (
bedtools) - Optionnal : call variants from sparse data
- Impute genotypes (
stitch - Index vcf (
Tabix) - Concatenate vcf files (
bcftools) - Sort vcf (
bcftools)
PARSEC takes bam files as input. It is advised to perform duplicated marking and eventually BQSR recalibration on the bam files.
Sarek can be used to automate read alignement (by not specifying any calling tool and eventually adding --skip_tools baserecalibrator)
Depending on the imputation method used, it may be necessary to supply a set of (preferentially phased) known variants (aka reference panel)
Glimpserequires a reference panel supplied with--ref_panelBeaglecan take a reference panel supplied with--ref_panelas a facultative inputStitchdoes not require a reference panel, but requires a set of SNP position, supplied as a vcf file (genotypes are not used). PARSEC can build it automatically using thecallingsubworkflow, but it is advised to validate it before running imputation. A good practice would be to run PARSEC a first time with--skip_imputation, hard filter the obtained variants, and run a second PARSEC run with--sparse_variantswith the output of the first run
| Tool | VCF Reference panel supplied with --ref_panel |
VCF of SNPs supplied with --sparse_variants |
|---|---|---|
| Glimpse | ✅ Mandatory | ❌ Not applicable |
| Beagle | ❌ Not applicable | |
| Stitch | ❌ Not applicable | ✅ Recommended (hard-filtered output of a PARSEC calling run) |
default nextflow/nf-core parameters are omitted
Define where the pipeline should find input data and save output data.
| Parameter | Description | Type | Default | Required |
|---|---|---|---|---|
bam |
glob for input bams | string |
True | |
ref_panel |
Reference panel VCF | string |
||
sparse_variants |
VCF of variable positions used in stitch | string |
||
imputation_tool |
Imputation tool (stitch, beagl4 or glimpse) | string |
stitch | True |
fasta |
Path to FASTA genome file. HelpThis parameter is mandatory if--genome is not specified. If you don't have a BWA |
|||
index available this will be generated for you automatically. Combine with --save_reference to save BWA index for future runs. |
string |
|||
genome_subset |
bed file specifying a genomic region to analyze | string |
||
window_size |
Size of genomic windows used for parrallelization | integer |
1000000 | |
buffer_size |
Length of overlap between windows. A minimal overlap is required for good imputation | integer |
100000 | |
ngen |
Stitch parameter - number of iterations | integer |
1000 | |
npop |
Stitch parameter - number of haplotypes | integer |
10 | |
skip_imputation |
Stop after calling/genotyping | boolean |
Note If you are new to Nextflow and nf-core, please refer to this page on how to set-up Nextflow. Make sure to test your setup with
-profile testbefore running the workflow on actual data. ( not yet available for PARSEC)
nextflow run cguyomar/PARSEC \
-profile <docker/singularity/.../institute> \
--bam "/path/to/data/*.bam" \
--fasta genome.fa \
--ref_panel my_panel.vcf.gz \
--imputation_tool glimpse \ # or beagle4
--outdir <OUTDIR>PARSEC will perform a rough SNP calling on your data (using bcftools mpileup) and then used the detected positions for stitch imputation
nextflow run cguyomar/PARSEC \
-profile <docker/singularity/.../institute> \
--bam "/path/to/data/*.bam" \
--fasta genome.fa \
--imputation_tool stitch \ # or beagle4
--outdir <OUTDIR>A preferred approach is to do perform some user-defined hard filtering on the mpileup, first using option --skip_imputation, and then filtering the variant calling output (using for instance QUAL, or some external validation set).
An imputation PARSEC run can then be run using the filtered variants as a primer :
nextflow run cguyomar/PARSEC \
-profile <docker/singularity/.../institute> \
--bam "/path/to/data/*.bam" \
--sparse_variants /res/of/previous/run/filtered.vcf.gz \
--fasta genome.fa \
--imputation_tool stitch \
--outdir <OUTDIR>nextflow run cguyomar/PARSEC \
-profile <docker/singularity/.../institute> \
--bam "/path/to/data/*.bam" \
--fasta genome.fa \
--imputation_tool beagle4
--outdir <OUTDIR>Warning: Please provide pipeline parameters via the CLI or Nextflow
-params-fileoption. Custom config files including those provided by the-cNextflow option can be used to provide any configuration except for parameters; see docs.
PARSEC was originally written in INRAE GenPhyse by Cervin Guyomar.
If you would like to contribute to this pipeline, please see the contributing guidelines.
An extensive list of references fornf-core pipelines bump-version 0.1.0 the tools used by the pipeline can be found in the CITATIONS.md file.
This pipeline uses code and infrastructure developed and maintained by the nf-core community, reused here under the MIT license.
The nf-core framework for community-curated bioinformatics pipelines.
Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.
Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x. nf-core pipelines bump-version 0.1.0
