PGAP2 1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pgap2-1.0/LICENSE +21 -0
- pgap2-1.0/PGAP2.egg-info/PKG-INFO +153 -0
- pgap2-1.0/PGAP2.egg-info/SOURCES.txt +38 -0
- pgap2-1.0/PGAP2.egg-info/dependency_links.txt +1 -0
- pgap2-1.0/PGAP2.egg-info/entry_points.txt +2 -0
- pgap2-1.0/PGAP2.egg-info/requires.txt +13 -0
- pgap2-1.0/PGAP2.egg-info/top_level.txt +1 -0
- pgap2-1.0/PKG-INFO +153 -0
- pgap2-1.0/README.md +125 -0
- pgap2-1.0/pgap2/__init__.py +2 -0
- pgap2-1.0/pgap2/dependencies/maskrc-svg.py +236 -0
- pgap2-1.0/pgap2/lib/basic.py +203 -0
- pgap2-1.0/pgap2/lib/panclust.py +24 -0
- pgap2-1.0/pgap2/lib/pangenome.py +343 -0
- pgap2-1.0/pgap2/lib/pangp.py +121 -0
- pgap2-1.0/pgap2/lib/phylogeny.py +596 -0
- pgap2-1.0/pgap2/lib/pklcheck.py +80 -0
- pgap2-1.0/pgap2/lib/species.py +160 -0
- pgap2-1.0/pgap2/lib/strain.py +7 -0
- pgap2-1.0/pgap2/lib/tree.py +210 -0
- pgap2-1.0/pgap2/main.py +33 -0
- pgap2-1.0/pgap2/postprocess/baps.py +144 -0
- pgap2-1.0/pgap2/postprocess/profile.py +122 -0
- pgap2-1.0/pgap2/postprocess/singletree.py +130 -0
- pgap2-1.0/pgap2/postprocess/stat.py +511 -0
- pgap2-1.0/pgap2/postprocess/tajimas_d.py +124 -0
- pgap2-1.0/pgap2/utils/__init__.py +0 -0
- pgap2-1.0/pgap2/utils/alignment.py +45 -0
- pgap2-1.0/pgap2/utils/arrangement_detector.py +122 -0
- pgap2-1.0/pgap2/utils/data_loader.py +684 -0
- pgap2-1.0/pgap2/utils/draw.py +1095 -0
- pgap2-1.0/pgap2/utils/gene_retriever.py +212 -0
- pgap2-1.0/pgap2/utils/generate_tree.py +310 -0
- pgap2-1.0/pgap2/utils/partition.py +851 -0
- pgap2-1.0/pgap2/utils/postprocess.py +18 -0
- pgap2-1.0/pgap2/utils/preprocess.py +475 -0
- pgap2-1.0/pgap2/utils/supply.py +138 -0
- pgap2-1.0/pgap2/utils/tools.py +615 -0
- pgap2-1.0/pyproject.toml +45 -0
- pgap2-1.0/setup.cfg +4 -0
pgap2-1.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Bu Congfan
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: PGAP2
|
|
3
|
+
Version: 1.0
|
|
4
|
+
Summary: PGAP2: a comprehensive pan-genome analysis pipeline for prokaryotic genomes
|
|
5
|
+
Author-email: bucongfan <bucf@big.ac.cn>
|
|
6
|
+
Maintainer-email: bucongfan <bucf@big.ac.cn>
|
|
7
|
+
License: MIT License
|
|
8
|
+
Project-URL: homepage, https://github.com/bucongfan/PGAP2
|
|
9
|
+
Project-URL: documentation, https://github.com/bucongfan/PGAP2/wiki
|
|
10
|
+
Project-URL: repository, https://github.com/bucongfan/PGAP2
|
|
11
|
+
Keywords: pan-genome,prokaryotic,genomes,pipeline,cluster
|
|
12
|
+
Requires-Python: >=3.10
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Requires-Dist: biopython==1.82
|
|
16
|
+
Requires-Dist: networkx==3.3
|
|
17
|
+
Requires-Dist: pyfastani==0.5.1
|
|
18
|
+
Requires-Dist: edlib==1.3.9
|
|
19
|
+
Requires-Dist: loguru==0.6.0
|
|
20
|
+
Requires-Dist: numpy==1.23.3
|
|
21
|
+
Requires-Dist: pandas==1.5.0
|
|
22
|
+
Requires-Dist: pyecharts==2.0.1
|
|
23
|
+
Requires-Dist: scikit_learn==1.1.2
|
|
24
|
+
Requires-Dist: scipy==1.9.1
|
|
25
|
+
Requires-Dist: tqdm==4.64.1
|
|
26
|
+
Requires-Dist: miniFasta
|
|
27
|
+
Requires-Dist: tajimas_d
|
|
28
|
+
|
|
29
|
+
# PGAP2
|
|
30
|
+
|
|
31
|
+
Pan-Genome Analysis Pipeline 2
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## Quick start
|
|
35
|
+
### Basic usage
|
|
36
|
+
The input directory contains all the genome and annotation files.
|
|
37
|
+
|
|
38
|
+
PGAP2 supports multiple input formats: GFF files in the same format as those output by Prokka, GFF files with their corresponding genome FASTA files in separate files, GenBank flat files (GBFF), or just genome FASTA files (with `--reannot` required).
|
|
39
|
+
|
|
40
|
+
Different formats of input files can be mixed in one input directory. PGAP2 will recognize and process them based on their prefixes and suffixes.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
pgap2 main -i inputdir/ -o outputdir/
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Preprocessing
|
|
47
|
+
Quality checks and visualization are conducted by PGAP2 during the preprocessing step. PGAP2 generates an interactive HTML file and corresponding vector figures to help users understand their input data. The input data and pre-alignment results are stored as a pickle file for quick restarting of the same calculation step.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
pgap2 prep -i inputdir/ -o outputdir/
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Postprocessing
|
|
54
|
+
The postprocessing pipeline is performed by PGAP2. There are various submodules integrated into the postprocessing module, such as statistical analysis, single-copy tree building, population clustering, and Tajima's D test. Regardless of which submodule you want to use, you can always run it as follows:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
pgap2 post [submodule] [options] -i inputdir/ -o outputdir/
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
The inputdir is the outputdir of main module.
|
|
61
|
+
|
|
62
|
+
PGAP2 also support statistical analysis using a PAV file indepandently:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pgap2 post profile --pav your_pav_file -o outputdir/
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Installation
|
|
69
|
+
The best way to install full version of PGAP2 package is using conda:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
conda create -n pgap2 -c conda-forge -c bioconda -c defaults pgap2
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
alternatively it is often faster to use the [mamba](https://github.com/mamba-org/mamba) solver
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
conda create -n pgap2 -c conda-forge mamba
|
|
79
|
+
conda activate pgap2
|
|
80
|
+
mamba install -c conda-forge -c bioconda -c defaults pgap2
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Or sometimes you only want to carry out a specific function, such as partioning and don't want install too many extra softwares for fully version of PGAP2, then you can just install PGAP2:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
pip install pgap2
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Or via source file:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
git clone https://github.com/bucongfan/PGAP2
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
And then install extra software that only necessary for a specific function by yourself.
|
|
96
|
+
|
|
97
|
+
Dependencies of PGAP2 are list below, and PGAP2 will check them whether in environment path or in pgap2/dependencies folder.
|
|
98
|
+
|
|
99
|
+
### Preprocessing
|
|
100
|
+
+ One of clustering software
|
|
101
|
+
- [cd-hit](https://github.com/weizhongli/cdhit)
|
|
102
|
+
- [MMseqs2](https://github.com/soedinglab/MMseqs2)
|
|
103
|
+
+ One of alignment software
|
|
104
|
+
- [diamond](https://github.com/bbuchfink/diamond)
|
|
105
|
+
- [blast+ ](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/)
|
|
106
|
+
|
|
107
|
+
### Main
|
|
108
|
+
+ One of clustering software
|
|
109
|
+
- [cd-hit](https://github.com/weizhongli/cdhit)
|
|
110
|
+
- [MMseqs2](https://github.com/soedinglab/MMseqs2)
|
|
111
|
+
+ [mcl](https://github.com/micans/mcl)
|
|
112
|
+
+ One of alignment software
|
|
113
|
+
- [diamond](https://github.com/bbuchfink/diamond)
|
|
114
|
+
- [blast+ ](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/)
|
|
115
|
+
+ Using `--retrieve` to retrieve missing gene loci
|
|
116
|
+
- [miniprot](https://github.com/lh3/miniprot)
|
|
117
|
+
- [seqtk](https://github.com/lh3/seqtk)
|
|
118
|
+
+ Using `--reannot` to re-annotate your genome
|
|
119
|
+
- [prodigal](https://github.com/hyattpd/Prodigal)
|
|
120
|
+
|
|
121
|
+
### Postprocessing
|
|
122
|
+
+ One of MSA software
|
|
123
|
+
- [muscle](https://github.com/rcedgar/muscle)
|
|
124
|
+
- [mafft](https://github.com/GSLBiotech/mafft)
|
|
125
|
+
- [tcoffee](https://github.com/cbcrg/tcoffee)
|
|
126
|
+
+ [ClipKIT](https://github.com/JLSteenwyk/ClipKIT)
|
|
127
|
+
+ One of phylogenetic tree construction software
|
|
128
|
+
- [IQ-TREE](http://www.iqtree.org/)
|
|
129
|
+
- [FastTree](https://morgannprice.github.io/fasttree/)
|
|
130
|
+
- [RAxML-ng](https://github.com/amkozlov/raxml-ng)
|
|
131
|
+
+ [ClonalFrameML](https://github.com/xavierdidelot/ClonalFrameML)
|
|
132
|
+
+ [maskrc-svg](https://github.com/kwongj/maskrc-svg)
|
|
133
|
+
+ [fastbaps](https://github.com/gtonkinhill/fastbaps)
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
### Visulization in Preprocessing and Postprocessing modules
|
|
138
|
+
PGAP2 will call Rscript in your environment virable. The library should have:
|
|
139
|
+
|
|
140
|
+
+ ggpubr
|
|
141
|
+
+ ggrepel
|
|
142
|
+
+ dplyr
|
|
143
|
+
+ tidyr
|
|
144
|
+
+ patchwork
|
|
145
|
+
+ optparse
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
## Detailed documentation
|
|
150
|
+
Please refer documentation from [wiki](https://github.com/bucongfan/PGAP2/wiki).
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
LICENSE
|
|
2
|
+
README.md
|
|
3
|
+
pyproject.toml
|
|
4
|
+
PGAP2.egg-info/PKG-INFO
|
|
5
|
+
PGAP2.egg-info/SOURCES.txt
|
|
6
|
+
PGAP2.egg-info/dependency_links.txt
|
|
7
|
+
PGAP2.egg-info/entry_points.txt
|
|
8
|
+
PGAP2.egg-info/requires.txt
|
|
9
|
+
PGAP2.egg-info/top_level.txt
|
|
10
|
+
pgap2/__init__.py
|
|
11
|
+
pgap2/main.py
|
|
12
|
+
pgap2/dependencies/maskrc-svg.py
|
|
13
|
+
pgap2/lib/basic.py
|
|
14
|
+
pgap2/lib/panclust.py
|
|
15
|
+
pgap2/lib/pangenome.py
|
|
16
|
+
pgap2/lib/pangp.py
|
|
17
|
+
pgap2/lib/phylogeny.py
|
|
18
|
+
pgap2/lib/pklcheck.py
|
|
19
|
+
pgap2/lib/species.py
|
|
20
|
+
pgap2/lib/strain.py
|
|
21
|
+
pgap2/lib/tree.py
|
|
22
|
+
pgap2/postprocess/baps.py
|
|
23
|
+
pgap2/postprocess/profile.py
|
|
24
|
+
pgap2/postprocess/singletree.py
|
|
25
|
+
pgap2/postprocess/stat.py
|
|
26
|
+
pgap2/postprocess/tajimas_d.py
|
|
27
|
+
pgap2/utils/__init__.py
|
|
28
|
+
pgap2/utils/alignment.py
|
|
29
|
+
pgap2/utils/arrangement_detector.py
|
|
30
|
+
pgap2/utils/data_loader.py
|
|
31
|
+
pgap2/utils/draw.py
|
|
32
|
+
pgap2/utils/gene_retriever.py
|
|
33
|
+
pgap2/utils/generate_tree.py
|
|
34
|
+
pgap2/utils/partition.py
|
|
35
|
+
pgap2/utils/postprocess.py
|
|
36
|
+
pgap2/utils/preprocess.py
|
|
37
|
+
pgap2/utils/supply.py
|
|
38
|
+
pgap2/utils/tools.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
pgap2
|
pgap2-1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: PGAP2
|
|
3
|
+
Version: 1.0
|
|
4
|
+
Summary: PGAP2: a comprehensive pan-genome analysis pipeline for prokaryotic genomes
|
|
5
|
+
Author-email: bucongfan <bucf@big.ac.cn>
|
|
6
|
+
Maintainer-email: bucongfan <bucf@big.ac.cn>
|
|
7
|
+
License: MIT License
|
|
8
|
+
Project-URL: homepage, https://github.com/bucongfan/PGAP2
|
|
9
|
+
Project-URL: documentation, https://github.com/bucongfan/PGAP2/wiki
|
|
10
|
+
Project-URL: repository, https://github.com/bucongfan/PGAP2
|
|
11
|
+
Keywords: pan-genome,prokaryotic,genomes,pipeline,cluster
|
|
12
|
+
Requires-Python: >=3.10
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Requires-Dist: biopython==1.82
|
|
16
|
+
Requires-Dist: networkx==3.3
|
|
17
|
+
Requires-Dist: pyfastani==0.5.1
|
|
18
|
+
Requires-Dist: edlib==1.3.9
|
|
19
|
+
Requires-Dist: loguru==0.6.0
|
|
20
|
+
Requires-Dist: numpy==1.23.3
|
|
21
|
+
Requires-Dist: pandas==1.5.0
|
|
22
|
+
Requires-Dist: pyecharts==2.0.1
|
|
23
|
+
Requires-Dist: scikit_learn==1.1.2
|
|
24
|
+
Requires-Dist: scipy==1.9.1
|
|
25
|
+
Requires-Dist: tqdm==4.64.1
|
|
26
|
+
Requires-Dist: miniFasta
|
|
27
|
+
Requires-Dist: tajimas_d
|
|
28
|
+
|
|
29
|
+
# PGAP2
|
|
30
|
+
|
|
31
|
+
Pan-Genome Analysis Pipeline 2
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## Quick start
|
|
35
|
+
### Basic usage
|
|
36
|
+
The input directory contains all the genome and annotation files.
|
|
37
|
+
|
|
38
|
+
PGAP2 supports multiple input formats: GFF files in the same format as those output by Prokka, GFF files with their corresponding genome FASTA files in separate files, GenBank flat files (GBFF), or just genome FASTA files (with `--reannot` required).
|
|
39
|
+
|
|
40
|
+
Different formats of input files can be mixed in one input directory. PGAP2 will recognize and process them based on their prefixes and suffixes.
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
pgap2 main -i inputdir/ -o outputdir/
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Preprocessing
|
|
47
|
+
Quality checks and visualization are conducted by PGAP2 during the preprocessing step. PGAP2 generates an interactive HTML file and corresponding vector figures to help users understand their input data. The input data and pre-alignment results are stored as a pickle file for quick restarting of the same calculation step.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
pgap2 prep -i inputdir/ -o outputdir/
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Postprocessing
|
|
54
|
+
The postprocessing pipeline is performed by PGAP2. There are various submodules integrated into the postprocessing module, such as statistical analysis, single-copy tree building, population clustering, and Tajima's D test. Regardless of which submodule you want to use, you can always run it as follows:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
pgap2 post [submodule] [options] -i inputdir/ -o outputdir/
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
The inputdir is the outputdir of main module.
|
|
61
|
+
|
|
62
|
+
PGAP2 also support statistical analysis using a PAV file indepandently:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
pgap2 post profile --pav your_pav_file -o outputdir/
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Installation
|
|
69
|
+
The best way to install full version of PGAP2 package is using conda:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
conda create -n pgap2 -c conda-forge -c bioconda -c defaults pgap2
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
alternatively it is often faster to use the [mamba](https://github.com/mamba-org/mamba) solver
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
conda create -n pgap2 -c conda-forge mamba
|
|
79
|
+
conda activate pgap2
|
|
80
|
+
mamba install -c conda-forge -c bioconda -c defaults pgap2
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Or sometimes you only want to carry out a specific function, such as partioning and don't want install too many extra softwares for fully version of PGAP2, then you can just install PGAP2:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
pip install pgap2
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Or via source file:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
git clone https://github.com/bucongfan/PGAP2
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
And then install extra software that only necessary for a specific function by yourself.
|
|
96
|
+
|
|
97
|
+
Dependencies of PGAP2 are list below, and PGAP2 will check them whether in environment path or in pgap2/dependencies folder.
|
|
98
|
+
|
|
99
|
+
### Preprocessing
|
|
100
|
+
+ One of clustering software
|
|
101
|
+
- [cd-hit](https://github.com/weizhongli/cdhit)
|
|
102
|
+
- [MMseqs2](https://github.com/soedinglab/MMseqs2)
|
|
103
|
+
+ One of alignment software
|
|
104
|
+
- [diamond](https://github.com/bbuchfink/diamond)
|
|
105
|
+
- [blast+ ](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/)
|
|
106
|
+
|
|
107
|
+
### Main
|
|
108
|
+
+ One of clustering software
|
|
109
|
+
- [cd-hit](https://github.com/weizhongli/cdhit)
|
|
110
|
+
- [MMseqs2](https://github.com/soedinglab/MMseqs2)
|
|
111
|
+
+ [mcl](https://github.com/micans/mcl)
|
|
112
|
+
+ One of alignment software
|
|
113
|
+
- [diamond](https://github.com/bbuchfink/diamond)
|
|
114
|
+
- [blast+ ](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/)
|
|
115
|
+
+ Using `--retrieve` to retrieve missing gene loci
|
|
116
|
+
- [miniprot](https://github.com/lh3/miniprot)
|
|
117
|
+
- [seqtk](https://github.com/lh3/seqtk)
|
|
118
|
+
+ Using `--reannot` to re-annotate your genome
|
|
119
|
+
- [prodigal](https://github.com/hyattpd/Prodigal)
|
|
120
|
+
|
|
121
|
+
### Postprocessing
|
|
122
|
+
+ One of MSA software
|
|
123
|
+
- [muscle](https://github.com/rcedgar/muscle)
|
|
124
|
+
- [mafft](https://github.com/GSLBiotech/mafft)
|
|
125
|
+
- [tcoffee](https://github.com/cbcrg/tcoffee)
|
|
126
|
+
+ [ClipKIT](https://github.com/JLSteenwyk/ClipKIT)
|
|
127
|
+
+ One of phylogenetic tree construction software
|
|
128
|
+
- [IQ-TREE](http://www.iqtree.org/)
|
|
129
|
+
- [FastTree](https://morgannprice.github.io/fasttree/)
|
|
130
|
+
- [RAxML-ng](https://github.com/amkozlov/raxml-ng)
|
|
131
|
+
+ [ClonalFrameML](https://github.com/xavierdidelot/ClonalFrameML)
|
|
132
|
+
+ [maskrc-svg](https://github.com/kwongj/maskrc-svg)
|
|
133
|
+
+ [fastbaps](https://github.com/gtonkinhill/fastbaps)
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
### Visulization in Preprocessing and Postprocessing modules
|
|
138
|
+
PGAP2 will call Rscript in your environment virable. The library should have:
|
|
139
|
+
|
|
140
|
+
+ ggpubr
|
|
141
|
+
+ ggrepel
|
|
142
|
+
+ dplyr
|
|
143
|
+
+ tidyr
|
|
144
|
+
+ patchwork
|
|
145
|
+
+ optparse
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
## Detailed documentation
|
|
150
|
+
Please refer documentation from [wiki](https://github.com/bucongfan/PGAP2/wiki).
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
pgap2-1.0/README.md
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# PGAP2
|
|
2
|
+
|
|
3
|
+
Pan-Genome Analysis Pipeline 2
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
## Quick start
|
|
7
|
+
### Basic usage
|
|
8
|
+
The input directory contains all the genome and annotation files.
|
|
9
|
+
|
|
10
|
+
PGAP2 supports multiple input formats: GFF files in the same format as those output by Prokka, GFF files with their corresponding genome FASTA files in separate files, GenBank flat files (GBFF), or just genome FASTA files (with `--reannot` required).
|
|
11
|
+
|
|
12
|
+
Different formats of input files can be mixed in one input directory. PGAP2 will recognize and process them based on their prefixes and suffixes.
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
pgap2 main -i inputdir/ -o outputdir/
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Preprocessing
|
|
19
|
+
Quality checks and visualization are conducted by PGAP2 during the preprocessing step. PGAP2 generates an interactive HTML file and corresponding vector figures to help users understand their input data. The input data and pre-alignment results are stored as a pickle file for quick restarting of the same calculation step.
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pgap2 prep -i inputdir/ -o outputdir/
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Postprocessing
|
|
26
|
+
The postprocessing pipeline is performed by PGAP2. There are various submodules integrated into the postprocessing module, such as statistical analysis, single-copy tree building, population clustering, and Tajima's D test. Regardless of which submodule you want to use, you can always run it as follows:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
pgap2 post [submodule] [options] -i inputdir/ -o outputdir/
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The inputdir is the outputdir of main module.
|
|
33
|
+
|
|
34
|
+
PGAP2 also support statistical analysis using a PAV file indepandently:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
pgap2 post profile --pav your_pav_file -o outputdir/
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Installation
|
|
41
|
+
The best way to install full version of PGAP2 package is using conda:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
conda create -n pgap2 -c conda-forge -c bioconda -c defaults pgap2
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
alternatively it is often faster to use the [mamba](https://github.com/mamba-org/mamba) solver
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
conda create -n pgap2 -c conda-forge mamba
|
|
51
|
+
conda activate pgap2
|
|
52
|
+
mamba install -c conda-forge -c bioconda -c defaults pgap2
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Or sometimes you only want to carry out a specific function, such as partioning and don't want install too many extra softwares for fully version of PGAP2, then you can just install PGAP2:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
pip install pgap2
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Or via source file:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
git clone https://github.com/bucongfan/PGAP2
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
And then install extra software that only necessary for a specific function by yourself.
|
|
68
|
+
|
|
69
|
+
Dependencies of PGAP2 are list below, and PGAP2 will check them whether in environment path or in pgap2/dependencies folder.
|
|
70
|
+
|
|
71
|
+
### Preprocessing
|
|
72
|
+
+ One of clustering software
|
|
73
|
+
- [cd-hit](https://github.com/weizhongli/cdhit)
|
|
74
|
+
- [MMseqs2](https://github.com/soedinglab/MMseqs2)
|
|
75
|
+
+ One of alignment software
|
|
76
|
+
- [diamond](https://github.com/bbuchfink/diamond)
|
|
77
|
+
- [blast+ ](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/)
|
|
78
|
+
|
|
79
|
+
### Main
|
|
80
|
+
+ One of clustering software
|
|
81
|
+
- [cd-hit](https://github.com/weizhongli/cdhit)
|
|
82
|
+
- [MMseqs2](https://github.com/soedinglab/MMseqs2)
|
|
83
|
+
+ [mcl](https://github.com/micans/mcl)
|
|
84
|
+
+ One of alignment software
|
|
85
|
+
- [diamond](https://github.com/bbuchfink/diamond)
|
|
86
|
+
- [blast+ ](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/)
|
|
87
|
+
+ Using `--retrieve` to retrieve missing gene loci
|
|
88
|
+
- [miniprot](https://github.com/lh3/miniprot)
|
|
89
|
+
- [seqtk](https://github.com/lh3/seqtk)
|
|
90
|
+
+ Using `--reannot` to re-annotate your genome
|
|
91
|
+
- [prodigal](https://github.com/hyattpd/Prodigal)
|
|
92
|
+
|
|
93
|
+
### Postprocessing
|
|
94
|
+
+ One of MSA software
|
|
95
|
+
- [muscle](https://github.com/rcedgar/muscle)
|
|
96
|
+
- [mafft](https://github.com/GSLBiotech/mafft)
|
|
97
|
+
- [tcoffee](https://github.com/cbcrg/tcoffee)
|
|
98
|
+
+ [ClipKIT](https://github.com/JLSteenwyk/ClipKIT)
|
|
99
|
+
+ One of phylogenetic tree construction software
|
|
100
|
+
- [IQ-TREE](http://www.iqtree.org/)
|
|
101
|
+
- [FastTree](https://morgannprice.github.io/fasttree/)
|
|
102
|
+
- [RAxML-ng](https://github.com/amkozlov/raxml-ng)
|
|
103
|
+
+ [ClonalFrameML](https://github.com/xavierdidelot/ClonalFrameML)
|
|
104
|
+
+ [maskrc-svg](https://github.com/kwongj/maskrc-svg)
|
|
105
|
+
+ [fastbaps](https://github.com/gtonkinhill/fastbaps)
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
### Visulization in Preprocessing and Postprocessing modules
|
|
110
|
+
PGAP2 will call Rscript in your environment virable. The library should have:
|
|
111
|
+
|
|
112
|
+
+ ggpubr
|
|
113
|
+
+ ggrepel
|
|
114
|
+
+ dplyr
|
|
115
|
+
+ tidyr
|
|
116
|
+
+ patchwork
|
|
117
|
+
+ optparse
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
## Detailed documentation
|
|
122
|
+
Please refer documentation from [wiki](https://github.com/bucongfan/PGAP2/wiki).
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|