scalepopgen
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
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
Metadata Files
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
Navigate through different sub-workflows and their options.
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.
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
- Repositories: 10
- Profile: https://github.com/Popgen48
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
- mshick/add-pr-comment v1 composite
- actions/checkout v3 composite
- nf-core/setup-nextflow v1 composite
- actions/stale v7 composite
- actions/checkout v3 composite
- actions/setup-node v3 composite
- 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
- dawidd6/action-download-artifact v2 composite
- marocchino/sticky-pull-request-comment v2 composite
- actions/setup-python v4 composite
- rzr/fediverse-action master composite
- zentered/bluesky-post-action v0.0.2 composite
- tabix 1.11.*
- imagemagick 7.1.0_44
- phylip 3.697
- plink 1.90b6.12
- plink 1.90b6.12
- plink 1.90b6.12
- plink 1.90b6.12
- numpy 1.26.3
- pandas 2.1.4
- python 3.10.13
- pysam 0.22.0
- python 3.10
- pysam 0.22.0
- python 3.10
- pysam 0.22.0
- python 3.10
- biopython 1.81
- ete3 3.1.3
- python 3.10.13
- pyyaml 6.0.1
- toytree 2.0.1
- bokeh 3.2.1
- python 3.10.13
- pyyaml 6.0.1
- scipy 1.11.4
- bokeh 3.2.1
- python 3.10.13
- pyyaml 6.0.1
- scipy 1.11.4
- numpy 1.26.3
- plotly 5.18.0
- python 3.10.13
- numpy 1.26.3
- plotly 5.18.0
- python 3.10.13
- biopython 1.81
- python 3.10.13
- pyyaml 6.0.1
- toytree 2.0.1
- bokeh 3.2.1
- python 3.10.13
- pyyaml 6.0.1
- bokeh 3.2.1
- python 3.10.13
- pyyaml 6.0.1
- scipy 1.11.4
- bokeh 3.2.1
- pandas 2.1.4
- python 3.10.13
- pyyaml 6.0.1
- r-base 4.3.2
- r-optm 0.1.6
- r-optparse 1.7.3
- r-base 4.3.2
- r-rcolorbrewer
- selscan 1.2.0a
- sweepfinder2 1.0
- treemix 1.13
- htslib 1.19.1.*
- vcftools 0.1.16.*
- htslib 1.19.1.*
- vcftools 0.1.16.*
- htslib 1.19.1.*
- vcftools 0.1.16.*
- htslib 1.19.1.*
- vcftools 0.1.16.*
- htslib 1.19.1.*
- vcftools 0.1.16.*
- htslib 1.19.1.*
- vcftools 0.1.16.*
- admixture 1.3.0.*
- bcftools 1.18.*
- beagle 5.2_21Apr21.304.*
- shapeit5 1.0.0.*
- tabix 1.11.*
- tabix 1.11.*