Science Score: 31.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 7 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.8%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Basic Info
  • Host: GitHub
  • Owner: Popgen48
  • License: mit
  • Language: Nextflow
  • Default Branch: master
  • Size: 2.33 MB
Statistics
  • Stars: 5
  • Watchers: 0
  • Forks: 2
  • Open Issues: 0
  • Releases: 1
Created over 2 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

Introduction

scalepopgen is a fully automated nextflow-based pipeline that takes VCF or PLINK binary files as input and apply a variety of open-source tools to carry out comprehensive population genomic analyses. Additionally, python and R scripts have been developed to combine and plot the results of analyses, which allows user to immediately get an impression about the genomic patterns of the analyzed samples.

Broadly, the pipeline consists of the following four “sub-workflows”:

  • filtering and basic statistics
  • explore genetic structure
  • phylogeny using treemix
  • signatures of selection

The sub-workflows can be used separately or in combination with each other.

The pipeline can be run on any Linux operating system and require these three dependencies: Nextflow, Java and a software container or environment system such as conda, mamba, singularity or docker. Regarding the latter, we highly recommend using mamba. The pipeline can be run on both, local linux system as well as high performance computing (HPC) clusters. Note that the user only install the three dependencies listed above, while Nextflow automatically downloads the rest of the tools for the analyses.

Usage

::: note If you are new to Nextflow and nf-core, please refer to this page on how to set-up the Nextflow. Please, make sure to test your setup with -profile test before running the workflow on actual data. :::

After successful installation of Nextflow, Java and one of the container systems, download the scalepopgen:

git clone https://github.com/Popgen48/scalepopgen.git

INPUT FILES

All VCF files need to be splitted by the chromosomes and indexed with tabix. The VCF inputs should be listed in the comma-separated input sheet with the extension ".csv" and the header row exactly like in the example below. Please note that the chromosome name must not contain any punctuation marks.

vcf_input.csv: chrom,vcf,vcf_idx chr1,chrom1.vcf.gz,chrom1.vcf.gz.tbi chr2,chrom2.vcf.gz,chrom2.vcf.gz.tbi In addition to the VCF input format, it is also necessary to prepare a sample map file of individuals and populations. Sample map has two tab-delimited columns without header line. In the first column are individual IDs and in the second are population IDs as demonstrated on the example below. It is also important that the name of the file ends with ".map".

sample.map: ind1 pop1 ind2 pop1 ind3 pop2 ind4 pop2

Similarly for the PLINK binary files, user need to specify them in the comma-separated input sheet with the header row, but with the extension ".p.csv".

plink_input.csv: prefix,bed,bim,fam popgen,popgen.bed,popgen.bim,popgen.fam

The workflow implement a lot of programs and tools, which consequently means a lot of parameters that need to be determined and provided as the yml format file. In order to make it easier for the users, we developed a Command-Line Interface (CLI), which helps to specify options for each sub-workflow. In fact, we highly recommend the CLI for creating parameter file as it guides the user through various options and at the same time checks the input formats.

The CLI can be downloaded and installed with the following commands:

``` git clone https://github.com/Popgen48/scalepopgen-cli.git cd scalepopgen-cli/

pip install --upgrade pip --> to update the version of pip

pip3 install --no-cache-dir -r requirements.txt --user ```

Start the CLI with: python scalepopgen_cli.py grafik

Navigate through different sub-workflows and their options.

grafik grafik

Once you select and specify the parameters according to analyses you want to perform, simply save them to YAML file and copy the path within the -params-file option.

CLI5

Now, you can run the scalepopgen:

bash nextflow run scalepopgen/ \ -profile <docker/singularity/conda/mamba> \ -params-file <path/to/parameters.yml> \ -qs <maximum number of processes> Note that the CLI also generates a separate folder with the prefix citation_; this folder contains the relevant references in bibxtex format. These references should be cited in the manuscript.

After git clone, to test the functionality, run the following Command with a small dataset

bash nextflow run scalepopgen/ \ -profile test,<docker/singularity/conda/mamba> \ -qs 10

To reproduce the results discussed in the paper,

bash nextflow run scalepopgen/ \ -profile test_full,<docker/singularity/conda/mamba> \ -qs 10

::: warning Custom config files, including those provided by the Nextflow option -c, can be used to provide any other configuration, except for the parameters; see docs. :::

Additional Remarks

The detailed documentation of the tools are getting updated here

Credits

scalepopgen was mainly written by @BioInf2305 with contributions from @NPogo.

Many thanks to nf-core community for their assistance and help in the development of this pipeline.

Contributions and Support

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

Citations

Note that the CLI also generates a separate folder with the prefix citation_; this folder contains the relevant references in bibxtex format. These references should be cited in the manuscript.

Other important list of references for the additional 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.

Owner

  • Name: Popgen48
  • Login: Popgen48
  • Kind: organization

Citation (CITATIONS.md)

# popgen48/scalepopgen: Citations

## [nf-core](https://pubmed.ncbi.nlm.nih.gov/32055031/)

> Ewels PA, Peltzer A, Fillinger S, Patel H, Alneberg J, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. The nf-core framework for community-curated bioinformatics pipelines. Nat Biotechnol. 2020 Mar;38(3):276-278. doi: 10.1038/s41587-020-0439-x. PubMed PMID: 32055031.

## [Nextflow](https://pubmed.ncbi.nlm.nih.gov/28398311/)

> Di Tommaso P, Chatzou M, Floden EW, Barja PP, Palumbo E, Notredame C. Nextflow enables reproducible computational workflows. Nat Biotechnol. 2017 Apr 11;35(4):316-319. doi: 10.1038/nbt.3820. PubMed PMID: 28398311.

## Pipeline tools

- [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/)

  > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924.

## Software packaging/containerisation tools

- [Anaconda](https://anaconda.com)

  > Anaconda Software Distribution. Computer software. Vers. 2-2.4.0. Anaconda, Nov. 2016. Web.

- [Bioconda](https://pubmed.ncbi.nlm.nih.gov/29967506/)

  > Grüning B, Dale R, Sjödin A, Chapman BA, Rowe J, Tomkins-Tinch CH, Valieris R, Köster J; Bioconda Team. Bioconda: sustainable and comprehensive software distribution for the life sciences. Nat Methods. 2018 Jul;15(7):475-476. doi: 10.1038/s41592-018-0046-7. PubMed PMID: 29967506.

- [BioContainers](https://pubmed.ncbi.nlm.nih.gov/28379341/)

  > da Veiga Leprevost F, Grüning B, Aflitos SA, Röst HL, Uszkoreit J, Barsnes H, Vaudel M, Moreno P, Gatto L, Weber J, Bai M, Jimenez RC, Sachsenberg T, Pfeuffer J, Alvarez RV, Griss J, Nesvizhskii AI, Perez-Riverol Y. BioContainers: an open-source and community-driven framework for software standardization. Bioinformatics. 2017 Aug 15;33(16):2580-2582. doi: 10.1093/bioinformatics/btx192. PubMed PMID: 28379341; PubMed Central PMCID: PMC5870671.

- [Docker](https://dl.acm.org/doi/10.5555/2600239.2600241)

  > Merkel, D. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux Journal, 2014(239), 2. doi: 10.5555/2600239.2600241.

- [Singularity](https://pubmed.ncbi.nlm.nih.gov/28494014/)

  > Kurtzer GM, Sochat V, Bauer MW. Singularity: Scientific containers for mobility of compute. PLoS One. 2017 May 11;12(5):e0177459. doi: 10.1371/journal.pone.0177459. eCollection 2017. PubMed PMID: 28494014; PubMed Central PMCID: PMC5426675.

GitHub Events

Total
  • Watch event: 6
Last Year
  • Watch event: 6

Dependencies

.github/workflows/branch.yml actions
  • mshick/add-pr-comment v1 composite
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • nf-core/setup-nextflow v1 composite
.github/workflows/clean-up.yml actions
  • actions/stale v7 composite
.github/workflows/fix-linting.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
.github/workflows/linting.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • mshick/add-pr-comment v1 composite
  • nf-core/setup-nextflow v1 composite
  • psf/black stable composite
.github/workflows/linting_comment.yml actions
  • dawidd6/action-download-artifact v2 composite
  • marocchino/sticky-pull-request-comment v2 composite
.github/workflows/release-announcments.yml actions
  • actions/setup-python v4 composite
  • rzr/fediverse-action master composite
  • zentered/bluesky-post-action v0.0.2 composite
modules/local/bgziptabix/meta.yml cpan
modules/nf-core/admixture/meta.yml cpan
modules/nf-core/bcftools/split/meta.yml cpan
modules/nf-core/beagle5/beagle/meta.yml cpan
modules/nf-core/custom/dumpsoftwareversions/meta.yml cpan
modules/nf-core/estsfs/meta.yml cpan
modules/nf-core/multiqc/meta.yml cpan
modules/nf-core/shapeit5/phasecommon/meta.yml cpan
modules/nf-core/tabix/bgziptabix/meta.yml cpan
modules/nf-core/tabix/tabix/meta.yml cpan
pyproject.toml pypi
modules/local/bgziptabix/environment.yml conda
  • tabix 1.11.*
modules/local/imagemagik/environment.yml conda
  • imagemagick 7.1.0_44
modules/local/phylip/consense/environment.yml conda
  • phylip 3.697
modules/local/plink/calc_1_min_ibs_dist/environment.yml conda
  • plink 1.90b6.12
modules/local/plink/calc_maf/environment.yml conda
  • plink 1.90b6.12
modules/local/plink/environment.yml conda
  • plink 1.90b6.12
modules/local/plink/make_bed/environment.yml conda
  • plink 1.90b6.12
modules/local/python/collect/selection_results/environment.yml conda
  • numpy 1.26.3
  • pandas 2.1.4
  • python 3.10.13
modules/local/python/convert/vcf2treemix/environment.yml conda
  • pysam 0.22.0
  • python 3.10
modules/local/python/create/estsfs_input/environment.yml conda
  • pysam 0.22.0
  • python 3.10
modules/local/python/create/sweepfinder_input/environment.yml conda
  • pysam 0.22.0
  • python 3.10
modules/local/python/plot/1_min_ibs_dist/environment.yml conda
  • biopython 1.81
  • ete3 3.1.3
  • python 3.10.13
  • pyyaml 6.0.1
  • toytree 2.0.1
modules/local/python/plot/admixture/cv_error/environment.yml conda
  • bokeh 3.2.1
  • python 3.10.13
  • pyyaml 6.0.1
  • scipy 1.11.4
modules/local/python/plot/admixture/q_mat/environment.yml conda
  • bokeh 3.2.1
  • python 3.10.13
  • pyyaml 6.0.1
  • scipy 1.11.4
modules/local/python/plot/average_het/environment.yml conda
  • numpy 1.26.3
  • plotly 5.18.0
  • python 3.10.13
modules/local/python/plot/average_maf/environment.yml conda
  • numpy 1.26.3
  • plotly 5.18.0
  • python 3.10.13
modules/local/python/plot/pairwise_fst/environment.yml conda
  • biopython 1.81
  • python 3.10.13
  • pyyaml 6.0.1
  • toytree 2.0.1
modules/local/python/plot/pca/environment.yml conda
  • bokeh 3.2.1
  • python 3.10.13
  • pyyaml 6.0.1
modules/local/python/plot/sample_stats/environment.yml conda
  • bokeh 3.2.1
  • python 3.10.13
  • pyyaml 6.0.1
  • scipy 1.11.4
modules/local/python/plot/selection_results/environment.yml conda
  • bokeh 3.2.1
  • pandas 2.1.4
  • python 3.10.13
  • pyyaml 6.0.1
modules/local/rscript/optm/environment.yml conda
  • r-base 4.3.2
  • r-optm 0.1.6
  • r-optparse 1.7.3
modules/local/rscript/plot_tree/environment.yml conda
  • r-base 4.3.2
  • r-rcolorbrewer
modules/local/selscan/environment.yml conda
  • selscan 1.2.0a
modules/local/sweepfinder2/environment.yml conda
  • sweepfinder2 1.0
modules/local/treeemix/environment.yml conda
  • treemix 1.13
modules/local/vcftools/concat/environment.yml conda
  • htslib 1.19.1.*
  • vcftools 0.1.16.*
modules/local/vcftools/environment.yaml conda
  • htslib 1.19.1.*
  • vcftools 0.1.16.*
modules/local/vcftools/filter_sites/environment.yml conda
  • htslib 1.19.1.*
  • vcftools 0.1.16.*
modules/local/vcftools/keep/environment.yml conda
  • htslib 1.19.1.*
  • vcftools 0.1.16.*
modules/local/vcftools/remove/environment.yml conda
  • htslib 1.19.1.*
  • vcftools 0.1.16.*
modules/local/vcftools/selection/environment.yml conda
  • htslib 1.19.1.*
  • vcftools 0.1.16.*
modules/nf-core/admixture/environment.yml conda
  • admixture 1.3.0.*
modules/nf-core/bcftools/split/environment.yml conda
  • bcftools 1.18.*
modules/nf-core/beagle5/beagle/environment.yml conda
  • beagle 5.2_21Apr21.304.*
modules/nf-core/shapeit5/phasecommon/environment.yml conda
  • shapeit5 1.0.0.*
modules/nf-core/tabix/bgziptabix/environment.yml conda
  • tabix 1.11.*
modules/nf-core/tabix/tabix/environment.yml conda
  • tabix 1.11.*