PGAP2 0.1.2__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.
Files changed (79) hide show
  1. pgap2-0.1.2/LICENSE +21 -0
  2. pgap2-0.1.2/MANIFEST.in +9 -0
  3. pgap2-0.1.2/PGAP2.egg-info/PKG-INFO +154 -0
  4. pgap2-0.1.2/PGAP2.egg-info/SOURCES.txt +77 -0
  5. pgap2-0.1.2/PGAP2.egg-info/dependency_links.txt +1 -0
  6. pgap2-0.1.2/PGAP2.egg-info/entry_points.txt +2 -0
  7. pgap2-0.1.2/PGAP2.egg-info/requires.txt +13 -0
  8. pgap2-0.1.2/PGAP2.egg-info/top_level.txt +1 -0
  9. pgap2-0.1.2/PKG-INFO +154 -0
  10. pgap2-0.1.2/README.md +125 -0
  11. pgap2-0.1.2/pgap2/__init__.py +4 -0
  12. pgap2-0.1.2/pgap2/dependencies/draw_post_profile.r +193 -0
  13. pgap2-0.1.2/pgap2/dependencies/draw_post_stat.r +97 -0
  14. pgap2-0.1.2/pgap2/dependencies/draw_prep.r +159 -0
  15. pgap2-0.1.2/pgap2/dependencies/maskrc-svg.py +236 -0
  16. pgap2-0.1.2/pgap2/dependencies/run_fastbaps +55 -0
  17. pgap2-0.1.2/pgap2/lib/basic.py +203 -0
  18. pgap2-0.1.2/pgap2/lib/panclust.py +24 -0
  19. pgap2-0.1.2/pgap2/lib/pangenome.py +343 -0
  20. pgap2-0.1.2/pgap2/lib/pangp.py +121 -0
  21. pgap2-0.1.2/pgap2/lib/phylogeny.py +596 -0
  22. pgap2-0.1.2/pgap2/lib/pklcheck.py +80 -0
  23. pgap2-0.1.2/pgap2/lib/species.py +160 -0
  24. pgap2-0.1.2/pgap2/lib/strain.py +7 -0
  25. pgap2-0.1.2/pgap2/lib/tree.py +210 -0
  26. pgap2-0.1.2/pgap2/main.py +33 -0
  27. pgap2-0.1.2/pgap2/pgap2/__init__.py +2 -0
  28. pgap2-0.1.2/pgap2/pgap2/dependencies/maskrc-svg.py +236 -0
  29. pgap2-0.1.2/pgap2/pgap2/lib/basic.py +203 -0
  30. pgap2-0.1.2/pgap2/pgap2/lib/panclust.py +24 -0
  31. pgap2-0.1.2/pgap2/pgap2/lib/pangenome.py +343 -0
  32. pgap2-0.1.2/pgap2/pgap2/lib/pangp.py +121 -0
  33. pgap2-0.1.2/pgap2/pgap2/lib/phylogeny.py +596 -0
  34. pgap2-0.1.2/pgap2/pgap2/lib/pklcheck.py +80 -0
  35. pgap2-0.1.2/pgap2/pgap2/lib/species.py +160 -0
  36. pgap2-0.1.2/pgap2/pgap2/lib/strain.py +7 -0
  37. pgap2-0.1.2/pgap2/pgap2/lib/tree.py +210 -0
  38. pgap2-0.1.2/pgap2/pgap2/main.py +33 -0
  39. pgap2-0.1.2/pgap2/pgap2/postprocess/baps.py +144 -0
  40. pgap2-0.1.2/pgap2/pgap2/postprocess/profile.py +122 -0
  41. pgap2-0.1.2/pgap2/pgap2/postprocess/singletree.py +130 -0
  42. pgap2-0.1.2/pgap2/pgap2/postprocess/stat.py +511 -0
  43. pgap2-0.1.2/pgap2/pgap2/postprocess/tajimas_d.py +124 -0
  44. pgap2-0.1.2/pgap2/pgap2/utils/__init__.py +0 -0
  45. pgap2-0.1.2/pgap2/pgap2/utils/alignment.py +45 -0
  46. pgap2-0.1.2/pgap2/pgap2/utils/arrangement_detector.py +122 -0
  47. pgap2-0.1.2/pgap2/pgap2/utils/data_loader.py +679 -0
  48. pgap2-0.1.2/pgap2/pgap2/utils/draw.py +1095 -0
  49. pgap2-0.1.2/pgap2/pgap2/utils/gene_retriever.py +212 -0
  50. pgap2-0.1.2/pgap2/pgap2/utils/generate_tree.py +310 -0
  51. pgap2-0.1.2/pgap2/pgap2/utils/partition.py +851 -0
  52. pgap2-0.1.2/pgap2/pgap2/utils/postprocess.py +18 -0
  53. pgap2-0.1.2/pgap2/pgap2/utils/preprocess.py +475 -0
  54. pgap2-0.1.2/pgap2/pgap2/utils/supply.py +139 -0
  55. pgap2-0.1.2/pgap2/pgap2/utils/tools.py +607 -0
  56. pgap2-0.1.2/pgap2/postprocess/baps.py +144 -0
  57. pgap2-0.1.2/pgap2/postprocess/profile.py +122 -0
  58. pgap2-0.1.2/pgap2/postprocess/singletree.py +130 -0
  59. pgap2-0.1.2/pgap2/postprocess/stat.py +511 -0
  60. pgap2-0.1.2/pgap2/postprocess/tajimas_d.py +123 -0
  61. pgap2-0.1.2/pgap2/toy_input/287_91.fa +1 -0
  62. pgap2-0.1.2/pgap2/toy_input/287_91.gff +7657 -0
  63. pgap2-0.1.2/pgap2/toy_input/AKU_12601.gff +1 -0
  64. pgap2-0.1.2/pgap2/toy_input/Readme_input.md +3 -0
  65. pgap2-0.1.2/pgap2/toy_input/SC_B67.gbk +1 -0
  66. pgap2-0.1.2/pgap2/utils/__init__.py +0 -0
  67. pgap2-0.1.2/pgap2/utils/alignment.py +45 -0
  68. pgap2-0.1.2/pgap2/utils/arrangement_detector.py +122 -0
  69. pgap2-0.1.2/pgap2/utils/data_loader.py +684 -0
  70. pgap2-0.1.2/pgap2/utils/draw.py +1095 -0
  71. pgap2-0.1.2/pgap2/utils/gene_retriever.py +212 -0
  72. pgap2-0.1.2/pgap2/utils/generate_tree.py +310 -0
  73. pgap2-0.1.2/pgap2/utils/partition.py +851 -0
  74. pgap2-0.1.2/pgap2/utils/postprocess.py +18 -0
  75. pgap2-0.1.2/pgap2/utils/preprocess.py +475 -0
  76. pgap2-0.1.2/pgap2/utils/supply.py +138 -0
  77. pgap2-0.1.2/pgap2/utils/tools.py +615 -0
  78. pgap2-0.1.2/pyproject.toml +45 -0
  79. pgap2-0.1.2/setup.cfg +4 -0
pgap2-0.1.2/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,9 @@
1
+ include pgap2/dependencies/draw_post_profile.r
2
+ include pgap2/dependencies/draw_post_stat.r
3
+ include pgap2/dependencies/draw_prep.r
4
+ include pgap2/dependencies/run_fastbaps
5
+ include pgap2/toy_input/287_91.fa
6
+ include pgap2/toy_input/287_91.gff
7
+ include pgap2/toy_input/AKU_12601.gff
8
+ include pgap2/toy_input/Readme_input.md
9
+ include pgap2/toy_input/SC_B67.gbk
@@ -0,0 +1,154 @@
1
+ Metadata-Version: 2.4
2
+ Name: PGAP2
3
+ Version: 0.1.2
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
+ Dynamic: license-file
29
+
30
+ # PGAP2
31
+
32
+ Pan-Genome Analysis Pipeline 2
33
+
34
+
35
+ ## Quick start
36
+ ### Basic usage
37
+ The input directory contains all the genome and annotation files.
38
+
39
+ 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).
40
+
41
+ Different formats of input files can be mixed in one input directory. PGAP2 will recognize and process them based on their prefixes and suffixes.
42
+
43
+ ```bash
44
+ pgap2 main -i inputdir/ -o outputdir/
45
+ ```
46
+
47
+ ### Preprocessing
48
+ 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.
49
+
50
+ ```bash
51
+ pgap2 prep -i inputdir/ -o outputdir/
52
+ ```
53
+
54
+ ### Postprocessing
55
+ 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:
56
+
57
+ ```bash
58
+ pgap2 post [submodule] [options] -i inputdir/ -o outputdir/
59
+ ```
60
+
61
+ The inputdir is the outputdir of main module.
62
+
63
+ PGAP2 also support statistical analysis using a PAV file indepandently:
64
+
65
+ ```bash
66
+ pgap2 post profile --pav your_pav_file -o outputdir/
67
+ ```
68
+
69
+ ## Installation
70
+ The best way to install full version of PGAP2 package is using conda:
71
+
72
+ ```bash
73
+ conda create -n pgap2 -c conda-forge -c bioconda -c defaults pgap2
74
+ ```
75
+
76
+ alternatively it is often faster to use the [mamba](https://github.com/mamba-org/mamba) solver
77
+
78
+ ```bash
79
+ conda create -n pgap2 -c conda-forge mamba
80
+ conda activate pgap2
81
+ mamba install -c conda-forge -c bioconda -c defaults pgap2
82
+ ```
83
+
84
+ 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:
85
+
86
+ ```bash
87
+ pip install pgap2
88
+ ```
89
+
90
+ Or via source file:
91
+
92
+ ```bash
93
+ git clone https://github.com/bucongfan/PGAP2
94
+ ```
95
+
96
+ And then install extra software that only necessary for a specific function by yourself.
97
+
98
+ Dependencies of PGAP2 are list below, and PGAP2 will check them whether in environment path or in pgap2/dependencies folder.
99
+
100
+ ### Preprocessing
101
+ + One of clustering software
102
+ - [cd-hit](https://github.com/weizhongli/cdhit)
103
+ - [MMseqs2](https://github.com/soedinglab/MMseqs2)
104
+ + One of alignment software
105
+ - [diamond](https://github.com/bbuchfink/diamond)
106
+ - [blast+ ](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/)
107
+
108
+ ### Main
109
+ + One of clustering software
110
+ - [cd-hit](https://github.com/weizhongli/cdhit)
111
+ - [MMseqs2](https://github.com/soedinglab/MMseqs2)
112
+ + [mcl](https://github.com/micans/mcl)
113
+ + One of alignment software
114
+ - [diamond](https://github.com/bbuchfink/diamond)
115
+ - [blast+ ](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/)
116
+ + Using `--retrieve` to retrieve missing gene loci
117
+ - [miniprot](https://github.com/lh3/miniprot)
118
+ - [seqtk](https://github.com/lh3/seqtk)
119
+ + Using `--reannot` to re-annotate your genome
120
+ - [prodigal](https://github.com/hyattpd/Prodigal)
121
+
122
+ ### Postprocessing
123
+ + One of MSA software
124
+ - [muscle](https://github.com/rcedgar/muscle)
125
+ - [mafft](https://github.com/GSLBiotech/mafft)
126
+ - [tcoffee](https://github.com/cbcrg/tcoffee)
127
+ + [ClipKIT](https://github.com/JLSteenwyk/ClipKIT)
128
+ + One of phylogenetic tree construction software
129
+ - [IQ-TREE](http://www.iqtree.org/)
130
+ - [FastTree](https://morgannprice.github.io/fasttree/)
131
+ - [RAxML-ng](https://github.com/amkozlov/raxml-ng)
132
+ + [ClonalFrameML](https://github.com/xavierdidelot/ClonalFrameML)
133
+ + [maskrc-svg](https://github.com/kwongj/maskrc-svg)
134
+ + [fastbaps](https://github.com/gtonkinhill/fastbaps)
135
+
136
+
137
+
138
+ ### Visulization in Preprocessing and Postprocessing modules
139
+ PGAP2 will call Rscript in your environment virable. The library should have:
140
+
141
+ + ggpubr
142
+ + ggrepel
143
+ + dplyr
144
+ + tidyr
145
+ + patchwork
146
+ + optparse
147
+
148
+
149
+
150
+ ## Detailed documentation
151
+ Please refer documentation from [wiki](https://github.com/bucongfan/PGAP2/wiki).
152
+
153
+
154
+
@@ -0,0 +1,77 @@
1
+ LICENSE
2
+ MANIFEST.in
3
+ README.md
4
+ pyproject.toml
5
+ PGAP2.egg-info/PKG-INFO
6
+ PGAP2.egg-info/SOURCES.txt
7
+ PGAP2.egg-info/dependency_links.txt
8
+ PGAP2.egg-info/entry_points.txt
9
+ PGAP2.egg-info/requires.txt
10
+ PGAP2.egg-info/top_level.txt
11
+ pgap2/__init__.py
12
+ pgap2/main.py
13
+ pgap2/dependencies/draw_post_profile.r
14
+ pgap2/dependencies/draw_post_stat.r
15
+ pgap2/dependencies/draw_prep.r
16
+ pgap2/dependencies/maskrc-svg.py
17
+ pgap2/dependencies/run_fastbaps
18
+ pgap2/lib/basic.py
19
+ pgap2/lib/panclust.py
20
+ pgap2/lib/pangenome.py
21
+ pgap2/lib/pangp.py
22
+ pgap2/lib/phylogeny.py
23
+ pgap2/lib/pklcheck.py
24
+ pgap2/lib/species.py
25
+ pgap2/lib/strain.py
26
+ pgap2/lib/tree.py
27
+ pgap2/pgap2/__init__.py
28
+ pgap2/pgap2/main.py
29
+ pgap2/pgap2/dependencies/maskrc-svg.py
30
+ pgap2/pgap2/lib/basic.py
31
+ pgap2/pgap2/lib/panclust.py
32
+ pgap2/pgap2/lib/pangenome.py
33
+ pgap2/pgap2/lib/pangp.py
34
+ pgap2/pgap2/lib/phylogeny.py
35
+ pgap2/pgap2/lib/pklcheck.py
36
+ pgap2/pgap2/lib/species.py
37
+ pgap2/pgap2/lib/strain.py
38
+ pgap2/pgap2/lib/tree.py
39
+ pgap2/pgap2/postprocess/baps.py
40
+ pgap2/pgap2/postprocess/profile.py
41
+ pgap2/pgap2/postprocess/singletree.py
42
+ pgap2/pgap2/postprocess/stat.py
43
+ pgap2/pgap2/postprocess/tajimas_d.py
44
+ pgap2/pgap2/utils/__init__.py
45
+ pgap2/pgap2/utils/alignment.py
46
+ pgap2/pgap2/utils/arrangement_detector.py
47
+ pgap2/pgap2/utils/data_loader.py
48
+ pgap2/pgap2/utils/draw.py
49
+ pgap2/pgap2/utils/gene_retriever.py
50
+ pgap2/pgap2/utils/generate_tree.py
51
+ pgap2/pgap2/utils/partition.py
52
+ pgap2/pgap2/utils/postprocess.py
53
+ pgap2/pgap2/utils/preprocess.py
54
+ pgap2/pgap2/utils/supply.py
55
+ pgap2/pgap2/utils/tools.py
56
+ pgap2/postprocess/baps.py
57
+ pgap2/postprocess/profile.py
58
+ pgap2/postprocess/singletree.py
59
+ pgap2/postprocess/stat.py
60
+ pgap2/postprocess/tajimas_d.py
61
+ pgap2/toy_input/287_91.fa
62
+ pgap2/toy_input/287_91.gff
63
+ pgap2/toy_input/AKU_12601.gff
64
+ pgap2/toy_input/Readme_input.md
65
+ pgap2/toy_input/SC_B67.gbk
66
+ pgap2/utils/__init__.py
67
+ pgap2/utils/alignment.py
68
+ pgap2/utils/arrangement_detector.py
69
+ pgap2/utils/data_loader.py
70
+ pgap2/utils/draw.py
71
+ pgap2/utils/gene_retriever.py
72
+ pgap2/utils/generate_tree.py
73
+ pgap2/utils/partition.py
74
+ pgap2/utils/postprocess.py
75
+ pgap2/utils/preprocess.py
76
+ pgap2/utils/supply.py
77
+ pgap2/utils/tools.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ pgap2 = pgap2.main:main
@@ -0,0 +1,13 @@
1
+ biopython==1.82
2
+ networkx==3.3
3
+ pyfastani==0.5.1
4
+ edlib==1.3.9
5
+ loguru==0.6.0
6
+ numpy==1.23.3
7
+ pandas==1.5.0
8
+ pyecharts==2.0.1
9
+ scikit_learn==1.1.2
10
+ scipy==1.9.1
11
+ tqdm==4.64.1
12
+ miniFasta
13
+ tajimas_d
@@ -0,0 +1 @@
1
+ pgap2
pgap2-0.1.2/PKG-INFO ADDED
@@ -0,0 +1,154 @@
1
+ Metadata-Version: 2.4
2
+ Name: PGAP2
3
+ Version: 0.1.2
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
+ Dynamic: license-file
29
+
30
+ # PGAP2
31
+
32
+ Pan-Genome Analysis Pipeline 2
33
+
34
+
35
+ ## Quick start
36
+ ### Basic usage
37
+ The input directory contains all the genome and annotation files.
38
+
39
+ 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).
40
+
41
+ Different formats of input files can be mixed in one input directory. PGAP2 will recognize and process them based on their prefixes and suffixes.
42
+
43
+ ```bash
44
+ pgap2 main -i inputdir/ -o outputdir/
45
+ ```
46
+
47
+ ### Preprocessing
48
+ 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.
49
+
50
+ ```bash
51
+ pgap2 prep -i inputdir/ -o outputdir/
52
+ ```
53
+
54
+ ### Postprocessing
55
+ 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:
56
+
57
+ ```bash
58
+ pgap2 post [submodule] [options] -i inputdir/ -o outputdir/
59
+ ```
60
+
61
+ The inputdir is the outputdir of main module.
62
+
63
+ PGAP2 also support statistical analysis using a PAV file indepandently:
64
+
65
+ ```bash
66
+ pgap2 post profile --pav your_pav_file -o outputdir/
67
+ ```
68
+
69
+ ## Installation
70
+ The best way to install full version of PGAP2 package is using conda:
71
+
72
+ ```bash
73
+ conda create -n pgap2 -c conda-forge -c bioconda -c defaults pgap2
74
+ ```
75
+
76
+ alternatively it is often faster to use the [mamba](https://github.com/mamba-org/mamba) solver
77
+
78
+ ```bash
79
+ conda create -n pgap2 -c conda-forge mamba
80
+ conda activate pgap2
81
+ mamba install -c conda-forge -c bioconda -c defaults pgap2
82
+ ```
83
+
84
+ 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:
85
+
86
+ ```bash
87
+ pip install pgap2
88
+ ```
89
+
90
+ Or via source file:
91
+
92
+ ```bash
93
+ git clone https://github.com/bucongfan/PGAP2
94
+ ```
95
+
96
+ And then install extra software that only necessary for a specific function by yourself.
97
+
98
+ Dependencies of PGAP2 are list below, and PGAP2 will check them whether in environment path or in pgap2/dependencies folder.
99
+
100
+ ### Preprocessing
101
+ + One of clustering software
102
+ - [cd-hit](https://github.com/weizhongli/cdhit)
103
+ - [MMseqs2](https://github.com/soedinglab/MMseqs2)
104
+ + One of alignment software
105
+ - [diamond](https://github.com/bbuchfink/diamond)
106
+ - [blast+ ](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/)
107
+
108
+ ### Main
109
+ + One of clustering software
110
+ - [cd-hit](https://github.com/weizhongli/cdhit)
111
+ - [MMseqs2](https://github.com/soedinglab/MMseqs2)
112
+ + [mcl](https://github.com/micans/mcl)
113
+ + One of alignment software
114
+ - [diamond](https://github.com/bbuchfink/diamond)
115
+ - [blast+ ](https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/)
116
+ + Using `--retrieve` to retrieve missing gene loci
117
+ - [miniprot](https://github.com/lh3/miniprot)
118
+ - [seqtk](https://github.com/lh3/seqtk)
119
+ + Using `--reannot` to re-annotate your genome
120
+ - [prodigal](https://github.com/hyattpd/Prodigal)
121
+
122
+ ### Postprocessing
123
+ + One of MSA software
124
+ - [muscle](https://github.com/rcedgar/muscle)
125
+ - [mafft](https://github.com/GSLBiotech/mafft)
126
+ - [tcoffee](https://github.com/cbcrg/tcoffee)
127
+ + [ClipKIT](https://github.com/JLSteenwyk/ClipKIT)
128
+ + One of phylogenetic tree construction software
129
+ - [IQ-TREE](http://www.iqtree.org/)
130
+ - [FastTree](https://morgannprice.github.io/fasttree/)
131
+ - [RAxML-ng](https://github.com/amkozlov/raxml-ng)
132
+ + [ClonalFrameML](https://github.com/xavierdidelot/ClonalFrameML)
133
+ + [maskrc-svg](https://github.com/kwongj/maskrc-svg)
134
+ + [fastbaps](https://github.com/gtonkinhill/fastbaps)
135
+
136
+
137
+
138
+ ### Visulization in Preprocessing and Postprocessing modules
139
+ PGAP2 will call Rscript in your environment virable. The library should have:
140
+
141
+ + ggpubr
142
+ + ggrepel
143
+ + dplyr
144
+ + tidyr
145
+ + patchwork
146
+ + optparse
147
+
148
+
149
+
150
+ ## Detailed documentation
151
+ Please refer documentation from [wiki](https://github.com/bucongfan/PGAP2/wiki).
152
+
153
+
154
+
pgap2-0.1.2/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
+
@@ -0,0 +1,4 @@
1
+ import importlib.metadata
2
+
3
+ __version__ = importlib.metadata.version("pgap2")
4
+ __author__ = 'Congfan Bu'