saxenanurag / phaseimpute

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

nf-core/phaseimpute

GitHub Actions CI Status GitHub Actions Linting StatusAWS CICite with Zenodo nf-test

Nextflow run with conda run with docker run with singularity Launch on Seqera Platform

Get help on SlackFollow on TwitterFollow on MastodonWatch on YouTube

Introduction

nf-core/phaseimpute is a bioinformatics pipeline to phase and impute genetic data. Different steps are available each corresponding to a dedicated modes.

Main steps of the pipeline

The phaseimpute pipeline is constituted of 5 main steps:

Metro map Modes
metromap - Pre-processing: Phasing, QC, variant filtering, variant annotation of the reference panel
- Phase: Phasing of the target dataset on the reference panel
- Simulate: Simulation of the target dataset from high quality target data
- Concordance: Concordance between the target dataset and a truth dataset
- Post-processing: Variant filtering based on their imputation quality

Usage

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 test before running the workflow on actual data.

The basic usage of this pipeline is to impute a target dataset based on a phased panel. First, prepare a samplesheet with your input data that looks as follows:

samplesheet.csv:

sample,bam,bai
1_BAM_1X,/path/to/.bam,/path/to/.bai

Each row represents a bam file with its index file.

Now, you can run the pipeline using:

nextflow run nf-core/phaseimpute \
   -profile <docker/singularity/.../institute> \
   --input samplesheet.csv \
   --genome "GRCh38" \
   --panel <phased_reference_panel.vcf.gz> \
   --steps "impute" \
   --tools "glimpse1" \
   --outdir <OUTDIR>

Warning

Please provide pipeline parameters via the CLI or Nextflow -params-file option. Custom config files including those provided by the -c Nextflow option can be used to provide any configuration except for parameters; see docs.

For more details and further functionality, please refer to the usage documentation and the parameter documentation.

Description of the different mode of the pipeline

Here is a short description of the different mode of the pipeline. For more information please refer to the documentation.

Mode Flow chart Description
Preprocessing phase_metro The preprocessing mode is responsible to the preparation of the multiple input file that will be used by the phasing process.
The main processes are :
- Haplotypes phasing of the reference panel using Shapeit5.
- Filter the reference panel to select only the necessary variants.
- Chunking the reference panel in a subset of region for all the chromosomes.
- Extract the positions where to perform the imputation.
Phasing phase_metro The phasing mode is the core mode of this pipeline.
It is constituted of 3 main steps:
- Phasing: Phasing of the target dataset on the reference panel using either:
  - Glimpse1
  It's come with the necessety to compute the genotype likelihoods of the target dataset.
  This step is done using BCFTOOLS_mpileup
  - Glimpse2 For this step the reference panel is transformed to binary chunks.
  - Stitch
  - Quilt
- Ligation: all the different chunks are merged together.
- Sampling (optional)
Simulate simulate_metro The simulation mode is used to create artificial low informative genetic information from high density data. This allow to compare the imputed result to a truth and therefore evaluate the quality of the imputation.
For the moment it is possible to simulate:
- Low-pass data by downsample BAM or CRAM using SAMTOOLS_view -s at different depth
- Genotype data by SNP selecting the position used by a designated SNP chip.
The simulation mode will also compute the Genotype likelihoods of the high density data.
Concordance concordance_metro This mode compare two vcf together to compute a summary of the differences between them.
To do so it use either:
- Glimpse1 concordance process.
- Glimpse2 concordance process
- Or convert the two vcf fill to .zarr using Scikit allele and anndata before comparing the SNPs.
Postprocessing postprocessing_metro This final process unable to loop the whole pipeline for increasing the performance of the imputation. To do so it filter out the best imputed position and rerun the analysis using this positions.

Pipeline output

To see the results of an example test run with a full size dataset refer to the results tab on the nf-core website pipeline page. For more details about the output files and reports, please refer to the output documentation.

Credits

nf-core/phaseimpute was originally written by Louis Le Nézet.

We thank the following people for their extensive assistance in the development of this pipeline:

  • Anabella Trigilla
  • Saul Pierotti

Contributions and Support

If you would like to contribute to this pipeline, please see the contributing guidelines.

For further information or help, don't hesitate to get in touch on the Slack #phaseimpute channel (you can join with this invite). For further information or help, don't hesitate to get in touch on the Slack #phaseimpute channel (you can join with this invite).

Citations

An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.

You can cite the nf-core publication as follows:

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.

About

License:MIT License


Languages

Language:Nextflow 98.7%Language:HTML 1.3%