PyamilySeq 0.9.0__tar.gz → 1.0.1__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 (26) hide show
  1. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/PKG-INFO +174 -138
  2. pyamilyseq-1.0.1/README.md +365 -0
  3. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/setup.cfg +4 -2
  4. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq/Cluster_Summary.py +2 -2
  5. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq/Group_Splitter.py +247 -58
  6. pyamilyseq-1.0.1/src/PyamilySeq/PyamilySeq.py +316 -0
  7. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq/PyamilySeq_Genus.py +11 -11
  8. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq/PyamilySeq_Species.py +51 -29
  9. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq/Seq_Combiner.py +6 -7
  10. pyamilyseq-1.0.1/src/PyamilySeq/Seq_Extractor.py +64 -0
  11. pyamilyseq-1.0.1/src/PyamilySeq/Seq_Finder.py +56 -0
  12. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq/clusterings.py +139 -49
  13. pyamilyseq-1.0.1/src/PyamilySeq/constants.py +2 -0
  14. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq/utils.py +214 -56
  15. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq.egg-info/PKG-INFO +174 -138
  16. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq.egg-info/SOURCES.txt +3 -1
  17. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq.egg-info/entry_points.txt +2 -0
  18. pyamilyseq-0.9.0/README.md +0 -329
  19. pyamilyseq-0.9.0/src/PyamilySeq/Constants.py +0 -2
  20. pyamilyseq-0.9.0/src/PyamilySeq/PyamilySeq.py +0 -296
  21. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/LICENSE +0 -0
  22. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/pyproject.toml +0 -0
  23. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq/__init__.py +0 -0
  24. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq.egg-info/dependency_links.txt +0 -0
  25. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq.egg-info/requires.txt +0 -0
  26. {pyamilyseq-0.9.0 → pyamilyseq-1.0.1}/src/PyamilySeq.egg-info/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyamilySeq
3
- Version: 0.9.0
4
- Summary: PyamilySeq - A a tool to look for sequence-based gene groups identified by clustering methods such as CD-HIT, DIAMOND, BLAST or MMseqs2.
3
+ Version: 1.0.1
4
+ Summary: PyamilySeq - A a tool to investigate sequence-based gene groups identified by clustering methods such as CD-HIT, DIAMOND, BLAST or MMseqs2.
5
5
  Home-page: https://github.com/NickJD/PyamilySeq
6
6
  Author: Nicholas Dimonaco
7
7
  Author-email: nicholas@dimonaco.co.uk
@@ -14,13 +14,13 @@ Description-Content-Type: text/markdown
14
14
  License-File: LICENSE
15
15
  Requires-Dist: levenshtein
16
16
 
17
- # PyamilySeq - !BETA!
17
+ # PyamilySeq
18
18
  **PyamilySeq** is a Python tool for clustering gene sequences into groups based on sequence similarity identified by tools such as CD-HIT, BLAST, DIAMOND or MMseqs2.
19
19
  This work is an extension of the gene family / pangenome tool developed for the StORF-Reporter publication in NAR (https://doi.org/10.1093/nar/gkad814).
20
20
 
21
21
  ## Features
22
22
  - **End-to-End**: PyamilySeq can take a directory of GFF+FASTA files, run CD-HIT for clustering and process the results.
23
- - **Clustering input**: Supports input from CD-HIT formatted files as well as CSV and TSV edge lists (MMseqs2 and -outfmt 6 from BLAST/DIAMOND).
23
+ - **Clustering input**: Supports input from CD-HIT formatted files as well as CSV and TSV node-edge lists (MMseqs2 and -outfmt 6 from BLAST/DIAMOND).
24
24
  - **Reclustering**: Allows for the addition of new sequences post-initial clustering - Ensures continuity of contemporary clustering results and highlights impact of novel gene predictions.
25
25
  - **'Genus Mode'**: Unlike other 'pangenome' tools, PyamilySeq can identify gene groups found across multiple genera as unique entities (see below).
26
26
  - **Output**: Generates a 'Roary/Panaroo' formatted presence-absence CSV formatted file for downstream analysis.
@@ -28,28 +28,45 @@ This work is an extension of the gene family / pangenome tool developed for the
28
28
  - Aligns representative sequences using MAFFT.
29
29
  - Output concatenated aligned sequences for tree building.
30
30
  - Optionally output sequences of each separate identified gene group.
31
+ - Group-Splitter tool to split multi-copy gene groups.
32
+ - Numerous additional tools to assist in the pre- and post-processing of data.
31
33
 
32
34
  ## Installation
33
- PyamilySeq probably requires Python 3.6 or higher. Install using pip:
35
+ PyamilySeq probably requires Python 3.6 or higher and the levenshtein library (https://pypi.org/project/Levenshtein/) - \
36
+ If levenshtein is not available, a Python implementation is utilised which is significantly slower.
37
+ #### Install using pip:
34
38
 
35
39
  ```bash
36
- pip install PyamilySeq
40
+ pip install PyamilySeq [optionally add -U]
37
41
  ```
38
- PyamilySeq is regularly updated with bugfixes and new features so to update to the newest version add '-U' to end of the pip install command.
42
+ PyamilySeq is currently still under active development so expect 'regular' updates with bugfixes and new features. \
43
+ To update to the newest version add '-U' to end of the pip install command.
39
44
  ## Example usage: Below are two examples of running PyamilySeq in its two main modes.
45
+ ```commandline
46
+ usage: PyamilySeq.py [-h] {Full,Partial} ...
47
+
48
+ PyamilySeq v1.0.1: A tool for gene clustering and analysis.
49
+
50
+ positional arguments:
51
+ {Full,Partial} Choose a mode: 'Full' or 'Partial'.
52
+ Full Full mode: PyamilySeq to cluster with CD-HIT and process output.
53
+ Partial Partial mode: PyamilySeq to process pre-clustered data.
54
+
55
+ options:
56
+ -h, --help show this help message and exit
57
+
58
+ ```
40
59
  ### 'Full Mode': Will conduct clustering of sequences with CD-HIT as part of PyamilySeq run
41
60
  ```
42
- PyamilySeq -run_mode Full -group_mode Species -clustering_format CD-HIT -output_dir .../test_data/testing/Full
43
- -input_type combined -input_dir .../test_data/genomes -name_split _combined.gff3 -pid 0.95 -len_diff 0.80 -a -w 99
61
+ PyamilySeq Full -output_dir .../PyamilySeq_10_AA_90_80_Full_GFFs -input_type combined -input_dir .../genomes/ -name_split _combined.gff3
44
62
  ```
45
- ### 'Partial Mode': Will take the output of a sequence clustering.
63
+ ### 'Partial Mode': Will process the output of a sequence clustering from MMseqs, BLAST, DIAMOND etc.
46
64
  ```
47
- PyamilySeq -run_mode Partial -group_mode Species -clustering_format TSV -output_dir .../test_data/species/testing/Partial
48
- -cluster_file .../test_data/species/MMseqs2/combined_Ensmbl_pep_cluster.tsv
49
- -original_fasta .../test_data/species/combined_Ensmbl_cds.fasta -a -w 99 -verbose
50
-
65
+ PyamilySeq Partial -clustering_format CD-HIT -cluster_file .../all_10_combined_pep_CD-HIT_90_80.clstr -original_fasta .../all_10_combined_pep.fasta -output_dir .../PyamilySeq_10_AA_90_80_Partial-w 99 -a
51
66
  ```
52
- #### Note: '-clustering_format TSV/CSV' requires input to be two in two columns as below (Same format as MMseqs2 tsv) - Genome name and sequence name are separated by '|'.
67
+
68
+
69
+ #### Note: using a '-clustering_format' other than the default CD-HIT, requires input to be two in two columns as below (Same format as MMseqs2 tsv and BLAST outfmt 6) - Genome name and sequence name are separated by '|'.
53
70
  ```
54
71
  Escherichia_coli_110957|ENSB:lL-zIKt-gh0oSno Escherichia_coli_110957|ENSB:lL-zIKt-gh0oSno
55
72
  Escherichia_coli_110957|ENSB:lL-zIKt-gh0oSno Escherichia_coli_113290|ENSB:2fj4rJ8e8Z9PNdX
@@ -58,162 +75,181 @@ Escherichia_coli_110957|ENSB:TIZS9kbTvShDvyX Escherichia_coli_110957|ENSB:TIZS9k
58
75
  ```
59
76
  ### Example output:
60
77
  ```
61
- Running PyamilySeq v0.9.0
78
+ Running PyamilySeq v1.0.1
62
79
  Calculating Groups
63
- Gene Groups:
64
- First_core_99: 2682
80
+ Number of Genomes: 10
81
+ Gene Groups
82
+ First_core_99: 2994
65
83
  First_core_95: 0
66
- First_core_15: 3789
67
- First_core_0: 6469
68
- Total Number of First Gene Groups (Including Singletons): 12940
84
+ First_core_15: 3266
85
+ First_core_0: 5466
86
+ Total Number of First Gene Groups (Including Singletons): 11726
69
87
  Outputting gene_presence_absence file
70
88
  Outputting gene group FASTA files
89
+ Combined FASTA file saved to: ../combined_group_sequences_dna.fasta
71
90
  Processing gene group alignment
72
91
  Thank you for using PyamilySeq -- A detailed user manual can be found at https://github.com/NickJD/PyamilySeq
73
92
  Please report any issues to: https://github.com/NickJD/PyamilySeq/issues
74
93
  ```
75
- ## Genus mode:
76
- ### In addition to "Species mode" (see above) which reports gene groups the same as pangenome tools such as Roary and Panaroo, Genus mode reports gene groups identified across multiple genera.
77
- #### Example:
78
- ```
79
- PyamilySeq -run_mode Partial -group_mode Genus -clustering_format CD-HIT -output_dir .../test_data/genus/testing/
80
- -cluster_file .../test_data/genus/CD-HIT/combined_cds_cd-hit_80_60.clstr -gpa
81
- ```
82
- ```commandline
83
- Running PyamilySeq v0.9.0
84
- Calculating Groups
85
- Genus Groups:
86
- First_genera_1: 28549
87
- First_genera_2: 12
88
- First_genera_3: 0
89
- First_genera_>: 0
90
- Total Number of First Gene Groups (Including Singletons): 28561
91
- Outputting gene_presence_absence file
92
- Thank you for using PyamilySeq -- A detailed user manual can be found at https://github.com/NickJD/PyamilySeq
93
- Please report any issues to: https://github.com/NickJD/PyamilySeq/issues
94
- #####
95
- ```
94
+
95
+ [//]: # (## Genus mode: )
96
+
97
+ [//]: # (### In addition to "Species mode" (see above) which reports gene groups the same as pangenome tools such as Roary and Panaroo, Genus mode reports gene groups identified across multiple genera.)
98
+
99
+ [//]: # (#### Example:)
100
+
101
+ [//]: # (```)
102
+
103
+ [//]: # (PyamilySeq -run_mode Partial -group_mode Genus -clustering_format CD-HIT -output_dir .../test_data/genus/testing/)
104
+
105
+ [//]: # ( -cluster_file .../test_data/genus/CD-HIT/combined_cds_cd-hit_80_60.clstr -gpa )
106
+
107
+ [//]: # (```)
108
+
109
+ [//]: # (```commandline)
110
+
111
+ [//]: # (Running PyamilySeq v1.0.1)
112
+
113
+ [//]: # (Calculating Groups)
114
+
115
+ [//]: # (Genus Groups:)
116
+ [//]: # (First_genera_1: 28549)
117
+
118
+ [//]: # (First_genera_2: 12)
119
+
120
+ [//]: # (First_genera_3: 0)
121
+
122
+ [//]: # (First_genera_>: 0)
123
+
124
+ [//]: # (Total Number of First Gene Groups (Including Singletons): 28561)
125
+
126
+ [//]: # (Outputting gene_presence_absence file)
127
+
128
+ [//]: # (Thank you for using PyamilySeq -- A detailed user manual can be found at https://github.com/NickJD/PyamilySeq)
129
+
130
+ [//]: # (Please report any issues to: https://github.com/NickJD/PyamilySeq/issues)
131
+
132
+ [//]: # (#####)
133
+
134
+ [//]: # (```)
96
135
 
97
136
  ## Reclustering:
98
137
  ### Reclustering can be used to see where additional sequences/genes lay in relation to a contemporary pangenome/gene grouping.
99
138
  ```
100
- PyamilySeq -run_mode Partial -group_mode Species -clustering_format CD-HIT -output_dir .../test_data/species/CD-HIT/testing
101
- -cluster_file .../test_data/species/CD-HIT/E-coli_extracted_cds_cd-hit_80_60.clstr -gpa
102
- -reclustered .../test_data/species/CD-HIT/E-coli_extracted_cds_cd-hit_80_60_And_StORFs_cds_80_60.clstr
139
+ PyamilySeq Partial -clustering_format CD-HIT -cluster_file .../all_10_combined_pep_CD-HIT_90_80.clstr -reclustered .../all_10_combined_pep_CD-HIT_90_80_AND_StORFs_CD-HIT_90_80.clstr -original_fasta .../all_10_combined_pep_AND_StORFs.fasta -output_dir .../PyamilySeq_10_AA_90_80_Partial_Reclustered_StORFs -w 99 -a
103
140
  ```
104
141
  #### As can be seen below, the additional sequences recovered by the StORF-Reporter annotation tool have 'extended' contemporary or created entirely new gene groups. 'First' corresponds to the groups identified from the first clustering round and 'Second' for the second. In 'reclustering' mode, First_core_# groups are unaffected thus retaining the initial grouping information.
105
142
  ```commandline
106
- Calculating Groups
107
- Gene Groups:
108
- First_core_99: 587
109
- First_core_95: 1529
110
- First_core_15: 3708
111
- First_core_0: 29992
112
- extended_core_99: 29
113
- extended_core_95: 67
114
- extended_core_15: 431
115
- extended_core_0: 1331
116
- combined_core_99: 2
117
- combined_core_95: 4
118
- combined_core_15: 5
119
- combined_core_0: 4
143
+ Number of Genomes: 10
144
+ Gene Groups
145
+ First_core_99: 2994
146
+ First_core_95: 0
147
+ First_core_15: 3266
148
+ First_core_0: 5466
149
+ extended_core_99: 3
150
+ extended_core_95: 0
151
+ extended_core_15: 49
152
+ extended_core_0: 0
153
+ combined_core_99: 0
154
+ combined_core_95: 0
155
+ combined_core_15: 3
156
+ combined_core_0: 0
120
157
  Second_core_99: 0
121
- Second_core_95: 6
122
- Second_core_15: 172
123
- Second_core_0: 1825
124
- only_Second_core_99: 53
125
- only_Second_core_95: 493
126
- only_Second_core_15: 3806
127
- only_Second_core_0: 27569
128
- Total Number of First Gene Groups (Including Singletons): 35816
129
- Total Number of Second Gene Groups (Including Singletons): 67728
130
- Total Number of First Gene Groups That Had Additional Second Sequences But Not New Genomes: 136
131
- Outputting gene_presence_absence file
132
- Thank you for using PyamilySeq -- A detailed user manual can be found at https://github.com/NickJD/PyamilySeq
133
- Please report any issues to: https://github.com/NickJD/PyamilySeq/issues
134
- #####
158
+ Second_core_95: 0
159
+ Second_core_15: 20
160
+ Second_core_0: 39
161
+ only_Second_core_99: 768
162
+ only_Second_core_95: 0
163
+ only_Second_core_15: 4472
164
+ only_Second_core_0: 8395
165
+ Total Number of First Gene Groups (Including Singletons): 11726
166
+ Total Number of Second Gene Groups (Including Singletons): 25359
167
+ Total Number of First Gene Groups That Had Additional Second Sequences But Not New Genomes: 5
135
168
  ```
136
169
 
137
- ## PyamilySeq - Menu:
138
- ### PyamilySeq is separated into two main 'run modes', Full and Partial. They each have their own set of required and optional arguments.
170
+ ## PyamilySeq is separated into two main 'run modes', Full and Partial. They each have their own set of required and optional arguments.
171
+ ### PyamilySeq - Full Menu:
139
172
  ```
140
- Running PyamilySeq v0.9.0
141
- usage: PyamilySeq.py [-h] -run_mode {Full,Partial} -group_mode {Species,Genus} -clustering_format {CD-HIT,TSV,CSV} -output_dir OUTPUT_DIR
142
- [-input_type {separate,combined}] [-input_dir INPUT_DIR] [-name_split NAME_SPLIT] [-sequence_type {AA,DNA}] [-gene_ident GENE_IDENT]
143
- [-pid PIDENT] [-len_diff LEN_DIFF] [-mem CLUSTERING_MEMORY] [-t CLUSTERING_THREADS] [-cluster_file CLUSTER_FILE]
144
- [-reclustered RECLUSTERED] [-seq_tag SEQUENCE_TAG] [-core_groups CORE_GROUPS] [-genus_groups GENUS_GROUPS] [-w WRITE_GROUPS] [-a]
145
- [-original_fasta ORIGINAL_FASTA] [-gpa] [-verbose] [-v]
146
-
147
- PyamilySeq v0.9.0: A tool that groups genes into unique clusters.
173
+ usage: PyamilySeq.py Full [-h] -output_dir OUTPUT_DIR -input_type {separate,combined,fasta} [-input_dir INPUT_DIR]
174
+ [-input_fasta INPUT_FASTA] [-name_split NAME_SPLIT] [-sequence_type {AA,DNA}] [-gene_ident GENE_IDENT]
175
+ [-c PIDENT] [-s LEN_DIFF] [-fast_mode] [-group_mode {Species,Genus}] [-species_groups SPECIES_GROUPS]
176
+ [-genus_groups GENUS_GROUPS] [-w WRITE_GROUPS] [-wi] [-a] [-align_aa] [-no_gpa] [-M MEM] [-T THREADS]
177
+ [-verbose] [-v]
148
178
 
149
179
  options:
150
180
  -h, --help show this help message and exit
151
-
152
- Required Arguments:
153
- -run_mode {Full,Partial}
154
- Run Mode: Should PyamilySeq be run in "Full" or "Partial" mode?
155
- -group_mode {Species,Genus}
156
- Group Mode: Should PyamilySeq be run in "Species" or "Genus" mode?
157
- -clustering_format {CD-HIT,TSV,CSV}
158
- Clustering format to use: CD-HIT or TSV (MMseqs2, BLAST, DIAMOND) / CSV edge-list file (Node1 Node2).
159
181
  -output_dir OUTPUT_DIR
160
182
  Directory for all output files.
161
-
162
- Full-Mode Arguments - Required when "-run_mode Full" is used:
163
- -input_type {separate,combined}
164
- Type of input files: 'separate' for separate FASTA and GFF files, 'combined' for GFF files with embedded FASTA sequences.
165
- -input_dir INPUT_DIR Directory containing GFF/FASTA files.
183
+ -input_type {separate,combined,fasta}
184
+ Type of input files: 'separate' for matching FASTA and GFF files, 'combined' for GFF+FASTA, or 'fasta'
185
+ for a prepared FASTA file.
186
+ -input_dir INPUT_DIR Directory containing GFF/FASTA files - Use with -input_type separate/combined.
187
+ -input_fasta INPUT_FASTA
188
+ Input FASTA file - Use with - input_type fasta.
166
189
  -name_split NAME_SPLIT
167
- substring used to split the filename and extract the genome name ('_combined.gff3' or '.gff').
190
+ Substring to split filenames and extract genome names (e.g., '_combined.gff3') - Use with -input_type
191
+ separate/combined.
168
192
  -sequence_type {AA,DNA}
169
- Default - DNA: Should clustering be performed in "DNA" or "AA" mode?
193
+ Clustering mode: 'DNA' or 'AA'.
170
194
  -gene_ident GENE_IDENT
171
- Identifier used for extraction of sequences such as
172
- "misc_RNA,gene,mRNA,CDS,rRNA,tRNA,tmRNA,CRISPR,ncRNA,regulatory_region,oriC,pseudo"
173
- -pid PIDENT Default 0.95: Pident threshold for clustering.
174
- -len_diff LEN_DIFF Default 0.80: Minimum length difference between clustered sequences - (-s) threshold for CD-HIT clustering.
175
-
176
- Clustering Runtime Arguments - Optional when "-run_mode Full" is used:
177
- -mem CLUSTERING_MEMORY
178
- Default 4000: Memory to be allocated for clustering (in MBs).
179
- -t THREADS Default 8: Threads to be allocated for clustering
180
- and/or alignment.
181
-
195
+ Gene identifiers to extract sequences (e.g., 'CDS, tRNA').
196
+ -c PIDENT Sequence identity threshold for clustering (default: 0.90) - CD-HIT parameter '-c'.
197
+ -s LEN_DIFF Length difference threshold for clustering (default: 0.80) - CD-HIT parameter '-s'.
198
+ -fast_mode Enable fast mode for CD-HIT (not recommended) - CD-HIT parameter '-g'.
199
+ -group_mode {Species,Genus}
200
+ Grouping mode: 'Species' or 'Genus'.
201
+ -species_groups SPECIES_GROUPS
202
+ Gene groupings for 'Species' mode (default: '99,95,15').
203
+ -genus_groups GENUS_GROUPS
204
+ Gene groupings for 'Genus' mode (default: '1-10').
205
+ -w WRITE_GROUPS Output gene groups as a single FASTA file (specify levels: e.g., '-w 99,95').
206
+ -wi Output individual FASTA files for each group.
207
+ -a Align and concatenate sequences for 'core' groups.
208
+ -align_aa Align sequences as amino acids.
209
+ -no_gpa Skip creation of gene_presence_absence.csv.
210
+ -M MEM Memory allocation for clustering (MB) - CD-HIT parameter '-M'.
211
+ -T THREADS Number of threads for clustering/alignment - CD-HIT parameter '-T' | MAFFT parameter '--thread'.
212
+ -verbose Print verbose output.
213
+ -v, --version Print version number and exit.
214
+ ```
215
+ ### PyamilySeq - Partial Menu:
216
+ ```commandline
217
+ usage: PyamilySeq.py Partial [-h] -clustering_format {CD-HIT,MMseqs,BLAST} -cluster_file CLUSTER_FILE -original_fasta ORIGINAL_FASTA -output_dir OUTPUT_DIR
218
+ [-reclustered RECLUSTERED] [-seq_tag SEQUENCE_TAG] [-group_mode {Species,Genus}] [-species_groups SPECIES_GROUPS] [-genus_groups GENUS_GROUPS]
219
+ [-w WRITE_GROUPS] [-wi] [-a] [-align_aa] [-no_gpa] [-M MEM] [-T THREADS] [-verbose] [-v]
182
220
 
183
- Partial-Mode Arguments - Required when "-run_mode Partial" is used:
221
+ options:
222
+ -h, --help show this help message and exit
223
+ -clustering_format {CD-HIT,MMseqs,BLAST}
224
+ Clustering format used: CD-HIT, MMseqs2, or BLAST.
184
225
  -cluster_file CLUSTER_FILE
185
- Clustering output file containing CD-HIT, TSV or CSV Edge List
186
-
187
- Grouping Arguments - Use to fine-tune grouping of genes after clustering:
226
+ Cluster file containing pre-clustered groups from CD-HIT, MMseqs, BLAST etc.
227
+ -original_fasta ORIGINAL_FASTA
228
+ FASTA file used in pre-clustering (Provide sequences in DNA form).
229
+ -output_dir OUTPUT_DIR
230
+ Directory for all output files.
188
231
  -reclustered RECLUSTERED
189
- Currently only works on Partial Mode: Clustering output file from secondary round of clustering.
232
+ Clustering output file from a second round of clustering.
190
233
  -seq_tag SEQUENCE_TAG
191
- Default - "StORF": Unique identifier to be used to distinguish the second of two rounds of clustered sequences
192
- -core_groups CORE_GROUPS
193
- Default - ('99,95,15'): Gene family groups to use for "Species" mode
234
+ Tag for distinguishing reclustered sequences.
235
+ -group_mode {Species,Genus}
236
+ Grouping mode: 'Species' or 'Genus'.
237
+ -species_groups SPECIES_GROUPS
238
+ Gene groupings for 'Species' mode (default: '99,95,15').
194
239
  -genus_groups GENUS_GROUPS
195
- Default - ('1,2,3,4,5,6'): Gene family groups to use for "Genus" mode
196
-
197
- Output Parameters:
198
- -w WRITE_GROUPS Default - No output: Output sequences of identified groups (provide levels at which to output - Species "-w 99,95" Genus "-w 2,3" -
199
- Must provide FASTA file with -original_fasta if in Partial run mode.
200
- -a Default - No output: SLOW! (Only works for Species mode) Output aligned and concatinated sequences of identified groups -provide
201
- group levels at which to output "-w 99,95" - Must provide FASTA file with -original_fasta in Partialrun mode.
202
- -original_fasta ORIGINAL_FASTA
203
- FASTA file to use in conjunction with "-w" or "-con" when running in Partial Mode.
204
- -no_gpa Do not create a Roary/Panaroo formatted gene_presence_absence.csv (created by default) - Required for Coinfinder and other
205
- downstream tools
206
-
207
- Misc Parameters:
240
+ Gene groupings for 'Genus' mode (default: '1-10').
241
+ -w WRITE_GROUPS Output gene groups as a single FASTA file (specify levels: e.g., '-w 99,95').
242
+ -wi Output individual FASTA files for each group.
243
+ -a Align and concatenate sequences for 'core' groups.
244
+ -align_aa Align sequences as amino acids.
245
+ -no_gpa Skip creation of gene_presence_absence.csv.
246
+ -M MEM Memory allocation for clustering (MB) - CD-HIT parameter '-M'.
247
+ -T THREADS Number of threads for clustering/alignment - CD-HIT parameter '-T' | MAFFT parameter '--thread'.
208
248
  -verbose Print verbose output.
209
- -v, --version Print out version number and exit
249
+ -v, --version Print version number and exit.
210
250
 
211
251
  ```
212
252
 
213
-
214
-
215
-
216
-
217
253
  ## Seq-Combiner: This tool is provided to enable the pre-processing of multiple GFF/FASTA files together ready to be clustered by the user.
218
254
  ### Example:
219
255
  ```bash
@@ -224,7 +260,7 @@ Seq-Combiner -input_dir .../test_data/genomes -name_split .gff3 -output_dir .../
224
260
  usage: Seq_Combiner.py [-h] -input_dir INPUT_DIR -input_type {separate,combined,fasta} -name_split NAME_SPLIT -output_dir OUTPUT_DIR -output_name
225
261
  OUTPUT_FILE [-gene_ident GENE_IDENT] [-translate] [-v]
226
262
 
227
- PyamilySeq v0.9.0: Seq-Combiner - A tool to extract sequences from GFF/FASTA files and prepare them for PyamilySeq.
263
+ PyamilySeq v1.0.1: Seq-Combiner - A tool to extract sequences from GFF/FASTA files and prepare them for PyamilySeq.
228
264
 
229
265
  options:
230
266
  -h, --help show this help message and exit
@@ -266,7 +302,7 @@ usage: Group_Splitter.py [-h] -input_fasta INPUT_FASTA -sequence_type {AA,DNA}
266
302
  [-M CLUSTERING_MEMORY] [-no_delete_temp_files]
267
303
  [-verbose] [-v]
268
304
 
269
- PyamilySeq v0.9.0: Group-Splitter - A tool to split multi-copy gene groups
305
+ PyamilySeq v1.0.1: Group-Splitter - A tool to split multi-copy gene groups
270
306
  identified by PyamilySeq.
271
307
 
272
308
  options:
@@ -319,7 +355,7 @@ Cluster-Summary -genome_num 74 -input_clstr .../test_data/species/E-coli/E-coli_
319
355
  usage: Cluster_Summary.py [-h] -input_clstr INPUT_CLSTR -output OUTPUT -genome_num GENOME_NUM
320
356
  [-output_dir OUTPUT_DIR] [-verbose] [-v]
321
357
 
322
- PyamilySeq v0.9.0: Cluster-Summary - A tool to summarise CD-HIT clustering files.
358
+ PyamilySeq v1.0.1: Cluster-Summary - A tool to summarise CD-HIT clustering files.
323
359
 
324
360
  options:
325
361
  -h, --help show this help message and exit