Skip to content

ToBoDev/assesspool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

102 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

assessPool

Nextflow

Introduction

assessPool is a population genetics analysis pipeline designed for pooled sequencing runs (pool-seq). Starting from raw genomic variants (VCF or sync format), assessPool performs the following operations:

  • Filters SNPs based on adjustable criteria with suggestions for pooled data
  • Calculates population genetic statistics using PoPoolation2, poolfstat, and/or grenedalf.
  • Generates an HTML report including visualizations of population genetic statistics
  • Outputs results in tabular format for downstream analyses

Required inputs are a variant description file (sync or VCF) and a reference assembly (FASTA). These can be output from any number of reduced representation data processing pipelines (e.g., grenepipe, dDocent, etc.).

Major pipeline operations:

  1. Import, index, and/or compress variant description and reference
  2. Perform stepwise filtering to determine effects of individual filter options (count lost loci):
    1. Min/max read depth
    2. Minor allele count
    3. Hardy-Weinberg equilibrium cutoff
    4. Missing data
    5. Allele length
    6. Quality:depth ratio
    7. Minimum read quality
    8. Variant type
    9. Mispaired read likelihood
    10. Alternate observations
    11. Mapping quality
    12. Mapping ratio
    13. Overall depth
    14. Number of pools with data
    15. Read balance
    16. Variant thinning
  3. Perform cumulative filtering (for VCF input)
  4. Generate sync files
    1. Unified (all pools)
    2. Split pairwise
  5. Generate allele frequency table
  6. Calculate Fst
    1. PoPoolation2
    2. {poolfstat}
    3. grenedalf
  7. Calculate Fisher's exact test for individual SNPs
    1. PoPoolation2
    2. assessPool native
  8. Join frequency data to Fst results
  9. Extract contigs containing (user-configurable) strongly-differentiated loci
  10. Create HTML report
  11. Save all output data in tabular format for downstream analysis

assessPool flowchart

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.

First, prepare a sample sheet with your input data that looks as follows:

samplesheet.csv:

project,input,vcf_index,reference,pools,pool_sizes
poolseq_test,data/pools.vcf.gz,data/pools.vcf.gz.tbi,data/ref.fasta,,"35,38,22,52,17,19"

Each row represents a complete pool-seq project or experiment. Column descriptions:

project (required): A brief unique identifier for this pool-seq project
input (required): Variant description file in sync or VCF format (optionally compressed using bgzip)
vcf_index (optional): TABIX-format index of the input VCF file (generated if not supplied)
reference (required): Reference assembly (FASTA)
pools (optional): Comma-separated list of pool names (will replace any names in the input file)
pool_sizes (required): Number of individuals in each pool. Either a single number for uniform pool sizes or a comma-separated list of sizes for each pool.

Required columns are project, input, reference, and pool_sizes.

Now, you can run the pipeline using:

nextflow run tobodev/assesspool \
   -profile <docker/singularity/.../institute> \
   --input samplesheet.csv \
   --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.

Testing the pipeline

assessPool comes with two built-in profiles that allow the user to test the pipeline with a fully-functional input dataset. These profiles (whose descriptions can be found in conf/test.confg and conf/test_full.config) will run assessPool with either a full or reduced dataset of SNPs sequenced from wild populations of the coral Montipora capitata. Pipeline tests can be run by passing either test or test_full to the -profile option, along with a software/container management subsystem. For example, using singularity:

nextflow run tobodev/assesspool \
  -profile test,singularity

or

nextflow run tobodev/assesspool \
  -profile test_full,singularity

Pipeline output

Results of an example test run with a full size dataset can be found here.
For more details about the output files and reports, please refer to the output documentation.

Credits

assessPool was originally written by Evan B Freel, Emily E Conklin, Mykle L Hoban, Derek W Kraft, Jonathan L Whitney, Ingrid SS Knapp, Zac H Forsman, Robert J Toonen.

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

Richard Coleman, ʻAleʻalani Dudoit, and Cataixa López, who used assessPool during development and helped identify issues and suggest key feature improvements. We would also like to thank Iliana Baums, Tanya Beirne, Dave Carlon, Greg Conception, Matt Craig, Jeff Eble, Scott Godwin, Matt Iacchei, Frederique Kandel, Steve Karl, Jim Maragos, Bob Moffitt, Joe O'Malley, Lawrie Provost, Jennifer Salerno, Derek Skillings, Michael Stat, Ben Wainwright, and Kim Weersing, for their efforts in sample collection.

Contributions and Support

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

Citations

A list of references for 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.

About

nextflow-enabled version of assessPool radseq processing pipeline

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors