rare-quickprot 1.10.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.
Files changed (33) hide show
  1. rare_quickprot-1.10.0/LICENSE.txt +23 -0
  2. rare_quickprot-1.10.0/PKG-INFO +151 -0
  3. rare_quickprot-1.10.0/README.md +134 -0
  4. rare_quickprot-1.10.0/pyproject.toml +54 -0
  5. rare_quickprot-1.10.0/rare_quickprot.egg-info/PKG-INFO +151 -0
  6. rare_quickprot-1.10.0/rare_quickprot.egg-info/SOURCES.txt +31 -0
  7. rare_quickprot-1.10.0/rare_quickprot.egg-info/dependency_links.txt +1 -0
  8. rare_quickprot-1.10.0/rare_quickprot.egg-info/entry_points.txt +2 -0
  9. rare_quickprot-1.10.0/rare_quickprot.egg-info/requires.txt +2 -0
  10. rare_quickprot-1.10.0/rare_quickprot.egg-info/top_level.txt +1 -0
  11. rare_quickprot-1.10.0/setup.cfg +4 -0
  12. rare_quickprot-1.10.0/src/quickprot/Fasta_reader.pm +169 -0
  13. rare_quickprot-1.10.0/src/quickprot/GFF3_utils2.pm +249 -0
  14. rare_quickprot-1.10.0/src/quickprot/Gene_obj.pm +5604 -0
  15. rare_quickprot-1.10.0/src/quickprot/Longest_orf.pm +371 -0
  16. rare_quickprot-1.10.0/src/quickprot/Nuc_translator.pm +647 -0
  17. rare_quickprot-1.10.0/src/quickprot/__init__.py +1 -0
  18. rare_quickprot-1.10.0/src/quickprot/add_type_gff3.py +66 -0
  19. rare_quickprot-1.10.0/src/quickprot/cdna_alignment_orf_to_genome_orf.pl +411 -0
  20. rare_quickprot-1.10.0/src/quickprot/extract_sequence_from_gff3.py +207 -0
  21. rare_quickprot-1.10.0/src/quickprot/filter_repeatPeps_from_gff3.py +187 -0
  22. rare_quickprot-1.10.0/src/quickprot/get_intron_from_gff3.py +105 -0
  23. rare_quickprot-1.10.0/src/quickprot/get_longest_transcript_gff3.py +114 -0
  24. rare_quickprot-1.10.0/src/quickprot/gtf_genome_to_cdna_fasta.py +82 -0
  25. rare_quickprot-1.10.0/src/quickprot/gtf_to_alignment_gff3.pl +100 -0
  26. rare_quickprot-1.10.0/src/quickprot/quickprot.py +667 -0
  27. rare_quickprot-1.10.0/src/quickprot/rename_gff3.py +94 -0
  28. rare_quickprot-1.10.0/src/quickprot/sm2rmForFasta.py +39 -0
  29. rare_quickprot-1.10.0/src/quickprot/sort_gff3.py +95 -0
  30. rare_quickprot-1.10.0/src/quickprot/split_and_filter_gene_model.py +174 -0
  31. rare_quickprot-1.10.0/src/quickprot/stat_gff3.py +181 -0
  32. rare_quickprot-1.10.0/src/quickprot/update_gff3_from_minibusco.py +230 -0
  33. rare_quickprot-1.10.0/src/quickprot/version.py +1 -0
@@ -0,0 +1,23 @@
1
+ The MIT License
2
+
3
+ Copyright (c) 2024- School of Life and Health Sciences, Hainan University
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
20
+ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
21
+ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
+ SOFTWARE.
@@ -0,0 +1,151 @@
1
+ Metadata-Version: 2.4
2
+ Name: rare-quickprot
3
+ Version: 1.10.0
4
+ Summary: homology-based method for predicting gene models across entire genomes
5
+ Author-email: Anthony Aylward <anthony.aylward@protonmail.com>
6
+ Project-URL: Homepage, https://github.com/anthony-aylward/quickprot
7
+ Project-URL: Documentation, https://github.com/anthony-aylward/quickprot
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Requires-Python: >=3.11
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE.txt
14
+ Requires-Dist: biopython
15
+ Requires-Dist: TD2
16
+ Dynamic: license-file
17
+
18
+ ```sh
19
+ conda create -n quickprot -c conda-forge -c bioconda \
20
+ biopython perl perl-uri miniprot td2 pip
21
+ conda activate quickprot
22
+ pip install rare-quickprot
23
+ ```
24
+
25
+ alternatively using the `conda-environment.yml` file included in this repo:
26
+
27
+ ```sh
28
+ conda env create -f conda-environment.yml
29
+ ```
30
+
31
+
32
+ # QuickProt User Guide
33
+
34
+ ## Update
35
+
36
+ - 2026/04/28
37
+ 1. Major Update: The version number has been updated to 1.9.0
38
+ 2. **BUSCO results have improved significantly!!!**
39
+ 3. The runtime logic and results have been optimized, resulting in more comprehensive gene predictions.
40
+ 4. Partially overlapping genes (<0.2 overlap) are now permitted.
41
+ 5. Compatibility with newer versions of Python has been improved.
42
+ - 2026/04/13
43
+ 1. extract_sequence_from_gff3.py now supports GFF3 file from NCBI. Some gene models in NCBI GFF3 contain in-frame stop codons; when translated into proteins, these are now converted to X (using the -cx option).
44
+ - 2025/09/16
45
+ 1. Added add_type_gff3.py script.
46
+ 2. Optimized prediction of stop codon.
47
+ 3. Four new options have been added, namely "-c", "-ps", "-ms", and "-an", for quality control of protein mapping, rational use to reduce pseudogenes.
48
+ - 2025/09/08
49
+ 1. Added gtf_genome_to_cdna_fasta.py and gtf_genome_to_cdna_fasta.py script.
50
+ 2. Input files now support .gz compressed files.
51
+ 3. Now QuickProt can output more running details.
52
+ - 2025/09/06
53
+ 1. Provides information about the running process.
54
+ 2. Added filter_repeatPeps_from_gff3.py script for removing repeat proteins from gff3 file.
55
+ - 2025/05/28
56
+ 1. Provide -ORFSoftware TD2 option, you can use TD2 as a tool for ORF prediction.
57
+ 2. Optimization of genetic code options.
58
+
59
+ ## What is QuickProt?
60
+
61
+ The QuickProt algorithm is a homology-based method for predicting gene models across entire genomes, designed to rapidly construct a non-redundant set of gene models. As illustrated in Figure 1, its core principle is analogous to the blotting method. It primarily employs [miniprot](https://github.com/lh3/miniprot/) (v0.18), to align homologous protein sequences to the genome, delineates high-alignment regions to assemble pseudo-transcripts (lacking UTR regions), and predicts coding regions within these pseudo-transcripts using [TransDecoder](https://github.com/TransDecoder/TransDecoder) (v5.7.1). Subsequently, low-quality gene models are filtered out and chimeric gene models are dissected, ultimately generating a high-accuracy, non-redundant gene set.
62
+
63
+ ![Schema of quickprot algorithm](./docs/Schema_of_quickprot_algorithm.png#pic_center)
64
+
65
+ <center>Fig1. Schema of QuickProt algorithm</center>
66
+
67
+ ## Installation:
68
+
69
+ Before use, you need to install Perl, Python, and biopython.
70
+
71
+ Python3 >= 3.8, perl >= 5
72
+
73
+ For ease of use, [miniprot](https://github.com/lh3/miniprot/) (v0.18) and [TransDecoder](https://github.com/TransDecoder/TransDecoder) (v5.7.1) software are integrated into QuickProt.
74
+
75
+ ```
76
+ wget https://github.com/thecgs/quickprot/archive/refs/tags/quickprot-v1.8.0.tar.gz
77
+ tar -zxvf quickprot-v1.8.0.tar.gz
78
+ cd quickprot-v1.8.0
79
+ ./quickprot -h
80
+ ```
81
+
82
+ Note:
83
+
84
+ ```
85
+ # if you need to use --mask optional of qucikprot.py script, and you need to install biopython
86
+ pip install biopython
87
+
88
+ # if you need to use sort_gff3.py script, and you need to install natsort.
89
+ pip install natsort
90
+
91
+ # if you need to use -ORFSoftware TD2, and you need to install TD2
92
+ pip install TD2
93
+ ```
94
+
95
+ ## Usage:
96
+
97
+ To quickly run QuickProt software. like this,
98
+
99
+ ```
100
+ ./quickprot -q protein.fasta -g genome.fasta
101
+ ```
102
+
103
+ This pipeline can improve busco missing result, but you need to download [compleasm](https://github.com/huangnengCSU/compleasm) software.
104
+
105
+ ```
106
+ ## step1. running quickprot software
107
+ ./quickprot.py -q protein.fasta -g genome.fasta -p quickprot.raw
108
+
109
+ ## step2. running compleasm software
110
+ compleasm.py run -a genome.fasta -o ./ -l your_lineage
111
+
112
+ ## step3. to update raw gff3 of step1 from compleasm result
113
+ ./script/update_gff3_from_minibusco.py -r quickprot.raw.longest.gff3 -m ./your_lineage/miniprot_output.gff -g genome.fasta -o improve_busco.gff3
114
+
115
+ ## step4. merge step1 and step3 gff3 result
116
+ cat quickprot.raw.longest.gff3 improve_busco.gff3 > genome.longest.gff.tmp
117
+
118
+ ## step5. to sort by chromosomes or scaffold and gene start position and to rename gff3
119
+ ./script/sort_gff3.py genome.longest.gff.tmp | ./script/rename_gff3.py - -o genome.longest.gff3 -p QUICKPROT; rm genome.longest.gff.tmp
120
+
121
+ ## step6. extract protein sequence from genome and gff file
122
+ ./bin/TransDecoder-5.7.1/util/gff3_file_to_proteins.pl --gff3 genome.longest.gff3 --fasta genome.fasta --seqType prot > genome.longest.pep.fasta
123
+
124
+ ## step7. extract CDS sequence from genome and gff file
125
+ ./bin/TransDecoder-5.7.1/util/gff3_file_to_proteins.pl --gff3 genome.longest.gff3 --fasta genome.fasta --seqType CDS > genome.longest.cds.fasta
126
+ ```
127
+
128
+ This step can help you remove repeat proteins (e.g. ENV, Gag, Pol, RT, RH, INT, etc.), but you need to download [diamond](https://github.com/bbuchfink/diamond).
129
+
130
+ ```
131
+ ./script/filter_repeatPeps_from_gff3.py -q genome.longest.pep.fasta -g genome.longest.gff3
132
+
133
+ ## results
134
+ ## retain.gff3 —— Gene model without repeat proteins
135
+ ## discard.gff3 —— Gene model of repeat proteins
136
+ ```
137
+
138
+ ## Run with Singularity
139
+
140
+ Download the Singularity image [here](https://zenodo.org/records/21103261/files/quickprot.v1.9.0.sif?download=1)
141
+
142
+ ```
143
+ singularity exec -B PATH -e quickprot.v1.9.0.sif quickprot.py -q protein.fasta -g genome.fasta
144
+ ```
145
+
146
+ ## Cite QuickProt:
147
+
148
+ If you use QuickProt, please cite:
149
+
150
+ > Guisen Chen, Hehe Du, Zhenjie Cao, Ying Wu, Chen Zhang, Yongcan Zhou, Jingqun Ao, Yun Sun, Zihao Yuan. 2026. “ QuickProt: A Fast and Accurate Homology-Based Protein Annotation Tool for Non-Model Organisms to Advance Comparative Genomics.” Molecular Ecology Resources 26, no. 2: e70097. https://doi.org/10.1111/1755-0998.70097.
151
+
@@ -0,0 +1,134 @@
1
+ ```sh
2
+ conda create -n quickprot -c conda-forge -c bioconda \
3
+ biopython perl perl-uri miniprot td2 pip
4
+ conda activate quickprot
5
+ pip install rare-quickprot
6
+ ```
7
+
8
+ alternatively using the `conda-environment.yml` file included in this repo:
9
+
10
+ ```sh
11
+ conda env create -f conda-environment.yml
12
+ ```
13
+
14
+
15
+ # QuickProt User Guide
16
+
17
+ ## Update
18
+
19
+ - 2026/04/28
20
+ 1. Major Update: The version number has been updated to 1.9.0
21
+ 2. **BUSCO results have improved significantly!!!**
22
+ 3. The runtime logic and results have been optimized, resulting in more comprehensive gene predictions.
23
+ 4. Partially overlapping genes (<0.2 overlap) are now permitted.
24
+ 5. Compatibility with newer versions of Python has been improved.
25
+ - 2026/04/13
26
+ 1. extract_sequence_from_gff3.py now supports GFF3 file from NCBI. Some gene models in NCBI GFF3 contain in-frame stop codons; when translated into proteins, these are now converted to X (using the -cx option).
27
+ - 2025/09/16
28
+ 1. Added add_type_gff3.py script.
29
+ 2. Optimized prediction of stop codon.
30
+ 3. Four new options have been added, namely "-c", "-ps", "-ms", and "-an", for quality control of protein mapping, rational use to reduce pseudogenes.
31
+ - 2025/09/08
32
+ 1. Added gtf_genome_to_cdna_fasta.py and gtf_genome_to_cdna_fasta.py script.
33
+ 2. Input files now support .gz compressed files.
34
+ 3. Now QuickProt can output more running details.
35
+ - 2025/09/06
36
+ 1. Provides information about the running process.
37
+ 2. Added filter_repeatPeps_from_gff3.py script for removing repeat proteins from gff3 file.
38
+ - 2025/05/28
39
+ 1. Provide -ORFSoftware TD2 option, you can use TD2 as a tool for ORF prediction.
40
+ 2. Optimization of genetic code options.
41
+
42
+ ## What is QuickProt?
43
+
44
+ The QuickProt algorithm is a homology-based method for predicting gene models across entire genomes, designed to rapidly construct a non-redundant set of gene models. As illustrated in Figure 1, its core principle is analogous to the blotting method. It primarily employs [miniprot](https://github.com/lh3/miniprot/) (v0.18), to align homologous protein sequences to the genome, delineates high-alignment regions to assemble pseudo-transcripts (lacking UTR regions), and predicts coding regions within these pseudo-transcripts using [TransDecoder](https://github.com/TransDecoder/TransDecoder) (v5.7.1). Subsequently, low-quality gene models are filtered out and chimeric gene models are dissected, ultimately generating a high-accuracy, non-redundant gene set.
45
+
46
+ ![Schema of quickprot algorithm](./docs/Schema_of_quickprot_algorithm.png#pic_center)
47
+
48
+ <center>Fig1. Schema of QuickProt algorithm</center>
49
+
50
+ ## Installation:
51
+
52
+ Before use, you need to install Perl, Python, and biopython.
53
+
54
+ Python3 >= 3.8, perl >= 5
55
+
56
+ For ease of use, [miniprot](https://github.com/lh3/miniprot/) (v0.18) and [TransDecoder](https://github.com/TransDecoder/TransDecoder) (v5.7.1) software are integrated into QuickProt.
57
+
58
+ ```
59
+ wget https://github.com/thecgs/quickprot/archive/refs/tags/quickprot-v1.8.0.tar.gz
60
+ tar -zxvf quickprot-v1.8.0.tar.gz
61
+ cd quickprot-v1.8.0
62
+ ./quickprot -h
63
+ ```
64
+
65
+ Note:
66
+
67
+ ```
68
+ # if you need to use --mask optional of qucikprot.py script, and you need to install biopython
69
+ pip install biopython
70
+
71
+ # if you need to use sort_gff3.py script, and you need to install natsort.
72
+ pip install natsort
73
+
74
+ # if you need to use -ORFSoftware TD2, and you need to install TD2
75
+ pip install TD2
76
+ ```
77
+
78
+ ## Usage:
79
+
80
+ To quickly run QuickProt software. like this,
81
+
82
+ ```
83
+ ./quickprot -q protein.fasta -g genome.fasta
84
+ ```
85
+
86
+ This pipeline can improve busco missing result, but you need to download [compleasm](https://github.com/huangnengCSU/compleasm) software.
87
+
88
+ ```
89
+ ## step1. running quickprot software
90
+ ./quickprot.py -q protein.fasta -g genome.fasta -p quickprot.raw
91
+
92
+ ## step2. running compleasm software
93
+ compleasm.py run -a genome.fasta -o ./ -l your_lineage
94
+
95
+ ## step3. to update raw gff3 of step1 from compleasm result
96
+ ./script/update_gff3_from_minibusco.py -r quickprot.raw.longest.gff3 -m ./your_lineage/miniprot_output.gff -g genome.fasta -o improve_busco.gff3
97
+
98
+ ## step4. merge step1 and step3 gff3 result
99
+ cat quickprot.raw.longest.gff3 improve_busco.gff3 > genome.longest.gff.tmp
100
+
101
+ ## step5. to sort by chromosomes or scaffold and gene start position and to rename gff3
102
+ ./script/sort_gff3.py genome.longest.gff.tmp | ./script/rename_gff3.py - -o genome.longest.gff3 -p QUICKPROT; rm genome.longest.gff.tmp
103
+
104
+ ## step6. extract protein sequence from genome and gff file
105
+ ./bin/TransDecoder-5.7.1/util/gff3_file_to_proteins.pl --gff3 genome.longest.gff3 --fasta genome.fasta --seqType prot > genome.longest.pep.fasta
106
+
107
+ ## step7. extract CDS sequence from genome and gff file
108
+ ./bin/TransDecoder-5.7.1/util/gff3_file_to_proteins.pl --gff3 genome.longest.gff3 --fasta genome.fasta --seqType CDS > genome.longest.cds.fasta
109
+ ```
110
+
111
+ This step can help you remove repeat proteins (e.g. ENV, Gag, Pol, RT, RH, INT, etc.), but you need to download [diamond](https://github.com/bbuchfink/diamond).
112
+
113
+ ```
114
+ ./script/filter_repeatPeps_from_gff3.py -q genome.longest.pep.fasta -g genome.longest.gff3
115
+
116
+ ## results
117
+ ## retain.gff3 —— Gene model without repeat proteins
118
+ ## discard.gff3 —— Gene model of repeat proteins
119
+ ```
120
+
121
+ ## Run with Singularity
122
+
123
+ Download the Singularity image [here](https://zenodo.org/records/21103261/files/quickprot.v1.9.0.sif?download=1)
124
+
125
+ ```
126
+ singularity exec -B PATH -e quickprot.v1.9.0.sif quickprot.py -q protein.fasta -g genome.fasta
127
+ ```
128
+
129
+ ## Cite QuickProt:
130
+
131
+ If you use QuickProt, please cite:
132
+
133
+ > Guisen Chen, Hehe Du, Zhenjie Cao, Ying Wu, Chen Zhang, Yongcan Zhou, Jingqun Ao, Yun Sun, Zihao Yuan. 2026. “ QuickProt: A Fast and Accurate Homology-Based Protein Annotation Tool for Non-Model Organisms to Advance Comparative Genomics.” Molecular Ecology Resources 26, no. 2: e70097. https://doi.org/10.1111/1755-0998.70097.
134
+
@@ -0,0 +1,54 @@
1
+ [build-system]
2
+ requires = ["setuptools"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "rare-quickprot"
7
+ version = "1.10.0" # Don't forget to match with version.py
8
+ authors = [
9
+ { name="Anthony Aylward", email="anthony.aylward@protonmail.com" },
10
+ ]
11
+ description = "homology-based method for predicting gene models across entire genomes"
12
+ readme = "README.md"
13
+ requires-python = ">=3.11"
14
+ classifiers = [
15
+ "Programming Language :: Python :: 3",
16
+ "Operating System :: OS Independent",
17
+ "License :: OSI Approved :: MIT License",
18
+ ]
19
+ dependencies = [
20
+ "biopython",
21
+ "TD2"
22
+ ]
23
+
24
+ [project.urls]
25
+ "Homepage" = "https://github.com/anthony-aylward/quickprot"
26
+ "Documentation" = "https://github.com/anthony-aylward/quickprot"
27
+
28
+ [project.scripts]
29
+ quickprot = "quickprot:main"
30
+
31
+ [tool.setuptools]
32
+ package-dir = {quickprot="src/quickprot"}
33
+ script-files = [
34
+ "src/quickprot/quickprot.py",
35
+ "src/quickprot/add_type_gff3.py",
36
+ "src/quickprot/extract_sequence_from_gff3.py",
37
+ "src/quickprot/filter_repeatPeps_from_gff3.py",
38
+ "src/quickprot/get_intron_from_gff3.py",
39
+ "src/quickprot/get_longest_transcript_gff3.py",
40
+ "src/quickprot/gtf_genome_to_cdna_fasta.py",
41
+ "src/quickprot/rename_gff3.py",
42
+ "src/quickprot/sm2rmForFasta.py",
43
+ "src/quickprot/sort_gff3.py",
44
+ "src/quickprot/split_and_filter_gene_model.py",
45
+ "src/quickprot/stat_gff3.py",
46
+ "src/quickprot/update_gff3_from_minibusco.py",
47
+ "src/quickprot/gtf_to_alignment_gff3.pl",
48
+ "src/quickprot/cdna_alignment_orf_to_genome_orf.pl",
49
+ "src/quickprot/Fasta_reader.pm",
50
+ "src/quickprot/Gene_obj.pm",
51
+ "src/quickprot/GFF3_utils2.pm",
52
+ "src/quickprot/Nuc_translator.pm",
53
+ "src/quickprot/Longest_orf.pm"
54
+ ]
@@ -0,0 +1,151 @@
1
+ Metadata-Version: 2.4
2
+ Name: rare-quickprot
3
+ Version: 1.10.0
4
+ Summary: homology-based method for predicting gene models across entire genomes
5
+ Author-email: Anthony Aylward <anthony.aylward@protonmail.com>
6
+ Project-URL: Homepage, https://github.com/anthony-aylward/quickprot
7
+ Project-URL: Documentation, https://github.com/anthony-aylward/quickprot
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Operating System :: OS Independent
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Requires-Python: >=3.11
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE.txt
14
+ Requires-Dist: biopython
15
+ Requires-Dist: TD2
16
+ Dynamic: license-file
17
+
18
+ ```sh
19
+ conda create -n quickprot -c conda-forge -c bioconda \
20
+ biopython perl perl-uri miniprot td2 pip
21
+ conda activate quickprot
22
+ pip install rare-quickprot
23
+ ```
24
+
25
+ alternatively using the `conda-environment.yml` file included in this repo:
26
+
27
+ ```sh
28
+ conda env create -f conda-environment.yml
29
+ ```
30
+
31
+
32
+ # QuickProt User Guide
33
+
34
+ ## Update
35
+
36
+ - 2026/04/28
37
+ 1. Major Update: The version number has been updated to 1.9.0
38
+ 2. **BUSCO results have improved significantly!!!**
39
+ 3. The runtime logic and results have been optimized, resulting in more comprehensive gene predictions.
40
+ 4. Partially overlapping genes (<0.2 overlap) are now permitted.
41
+ 5. Compatibility with newer versions of Python has been improved.
42
+ - 2026/04/13
43
+ 1. extract_sequence_from_gff3.py now supports GFF3 file from NCBI. Some gene models in NCBI GFF3 contain in-frame stop codons; when translated into proteins, these are now converted to X (using the -cx option).
44
+ - 2025/09/16
45
+ 1. Added add_type_gff3.py script.
46
+ 2. Optimized prediction of stop codon.
47
+ 3. Four new options have been added, namely "-c", "-ps", "-ms", and "-an", for quality control of protein mapping, rational use to reduce pseudogenes.
48
+ - 2025/09/08
49
+ 1. Added gtf_genome_to_cdna_fasta.py and gtf_genome_to_cdna_fasta.py script.
50
+ 2. Input files now support .gz compressed files.
51
+ 3. Now QuickProt can output more running details.
52
+ - 2025/09/06
53
+ 1. Provides information about the running process.
54
+ 2. Added filter_repeatPeps_from_gff3.py script for removing repeat proteins from gff3 file.
55
+ - 2025/05/28
56
+ 1. Provide -ORFSoftware TD2 option, you can use TD2 as a tool for ORF prediction.
57
+ 2. Optimization of genetic code options.
58
+
59
+ ## What is QuickProt?
60
+
61
+ The QuickProt algorithm is a homology-based method for predicting gene models across entire genomes, designed to rapidly construct a non-redundant set of gene models. As illustrated in Figure 1, its core principle is analogous to the blotting method. It primarily employs [miniprot](https://github.com/lh3/miniprot/) (v0.18), to align homologous protein sequences to the genome, delineates high-alignment regions to assemble pseudo-transcripts (lacking UTR regions), and predicts coding regions within these pseudo-transcripts using [TransDecoder](https://github.com/TransDecoder/TransDecoder) (v5.7.1). Subsequently, low-quality gene models are filtered out and chimeric gene models are dissected, ultimately generating a high-accuracy, non-redundant gene set.
62
+
63
+ ![Schema of quickprot algorithm](./docs/Schema_of_quickprot_algorithm.png#pic_center)
64
+
65
+ <center>Fig1. Schema of QuickProt algorithm</center>
66
+
67
+ ## Installation:
68
+
69
+ Before use, you need to install Perl, Python, and biopython.
70
+
71
+ Python3 >= 3.8, perl >= 5
72
+
73
+ For ease of use, [miniprot](https://github.com/lh3/miniprot/) (v0.18) and [TransDecoder](https://github.com/TransDecoder/TransDecoder) (v5.7.1) software are integrated into QuickProt.
74
+
75
+ ```
76
+ wget https://github.com/thecgs/quickprot/archive/refs/tags/quickprot-v1.8.0.tar.gz
77
+ tar -zxvf quickprot-v1.8.0.tar.gz
78
+ cd quickprot-v1.8.0
79
+ ./quickprot -h
80
+ ```
81
+
82
+ Note:
83
+
84
+ ```
85
+ # if you need to use --mask optional of qucikprot.py script, and you need to install biopython
86
+ pip install biopython
87
+
88
+ # if you need to use sort_gff3.py script, and you need to install natsort.
89
+ pip install natsort
90
+
91
+ # if you need to use -ORFSoftware TD2, and you need to install TD2
92
+ pip install TD2
93
+ ```
94
+
95
+ ## Usage:
96
+
97
+ To quickly run QuickProt software. like this,
98
+
99
+ ```
100
+ ./quickprot -q protein.fasta -g genome.fasta
101
+ ```
102
+
103
+ This pipeline can improve busco missing result, but you need to download [compleasm](https://github.com/huangnengCSU/compleasm) software.
104
+
105
+ ```
106
+ ## step1. running quickprot software
107
+ ./quickprot.py -q protein.fasta -g genome.fasta -p quickprot.raw
108
+
109
+ ## step2. running compleasm software
110
+ compleasm.py run -a genome.fasta -o ./ -l your_lineage
111
+
112
+ ## step3. to update raw gff3 of step1 from compleasm result
113
+ ./script/update_gff3_from_minibusco.py -r quickprot.raw.longest.gff3 -m ./your_lineage/miniprot_output.gff -g genome.fasta -o improve_busco.gff3
114
+
115
+ ## step4. merge step1 and step3 gff3 result
116
+ cat quickprot.raw.longest.gff3 improve_busco.gff3 > genome.longest.gff.tmp
117
+
118
+ ## step5. to sort by chromosomes or scaffold and gene start position and to rename gff3
119
+ ./script/sort_gff3.py genome.longest.gff.tmp | ./script/rename_gff3.py - -o genome.longest.gff3 -p QUICKPROT; rm genome.longest.gff.tmp
120
+
121
+ ## step6. extract protein sequence from genome and gff file
122
+ ./bin/TransDecoder-5.7.1/util/gff3_file_to_proteins.pl --gff3 genome.longest.gff3 --fasta genome.fasta --seqType prot > genome.longest.pep.fasta
123
+
124
+ ## step7. extract CDS sequence from genome and gff file
125
+ ./bin/TransDecoder-5.7.1/util/gff3_file_to_proteins.pl --gff3 genome.longest.gff3 --fasta genome.fasta --seqType CDS > genome.longest.cds.fasta
126
+ ```
127
+
128
+ This step can help you remove repeat proteins (e.g. ENV, Gag, Pol, RT, RH, INT, etc.), but you need to download [diamond](https://github.com/bbuchfink/diamond).
129
+
130
+ ```
131
+ ./script/filter_repeatPeps_from_gff3.py -q genome.longest.pep.fasta -g genome.longest.gff3
132
+
133
+ ## results
134
+ ## retain.gff3 —— Gene model without repeat proteins
135
+ ## discard.gff3 —— Gene model of repeat proteins
136
+ ```
137
+
138
+ ## Run with Singularity
139
+
140
+ Download the Singularity image [here](https://zenodo.org/records/21103261/files/quickprot.v1.9.0.sif?download=1)
141
+
142
+ ```
143
+ singularity exec -B PATH -e quickprot.v1.9.0.sif quickprot.py -q protein.fasta -g genome.fasta
144
+ ```
145
+
146
+ ## Cite QuickProt:
147
+
148
+ If you use QuickProt, please cite:
149
+
150
+ > Guisen Chen, Hehe Du, Zhenjie Cao, Ying Wu, Chen Zhang, Yongcan Zhou, Jingqun Ao, Yun Sun, Zihao Yuan. 2026. “ QuickProt: A Fast and Accurate Homology-Based Protein Annotation Tool for Non-Model Organisms to Advance Comparative Genomics.” Molecular Ecology Resources 26, no. 2: e70097. https://doi.org/10.1111/1755-0998.70097.
151
+
@@ -0,0 +1,31 @@
1
+ LICENSE.txt
2
+ README.md
3
+ pyproject.toml
4
+ rare_quickprot.egg-info/PKG-INFO
5
+ rare_quickprot.egg-info/SOURCES.txt
6
+ rare_quickprot.egg-info/dependency_links.txt
7
+ rare_quickprot.egg-info/entry_points.txt
8
+ rare_quickprot.egg-info/requires.txt
9
+ rare_quickprot.egg-info/top_level.txt
10
+ src/quickprot/Fasta_reader.pm
11
+ src/quickprot/GFF3_utils2.pm
12
+ src/quickprot/Gene_obj.pm
13
+ src/quickprot/Longest_orf.pm
14
+ src/quickprot/Nuc_translator.pm
15
+ src/quickprot/__init__.py
16
+ src/quickprot/add_type_gff3.py
17
+ src/quickprot/cdna_alignment_orf_to_genome_orf.pl
18
+ src/quickprot/extract_sequence_from_gff3.py
19
+ src/quickprot/filter_repeatPeps_from_gff3.py
20
+ src/quickprot/get_intron_from_gff3.py
21
+ src/quickprot/get_longest_transcript_gff3.py
22
+ src/quickprot/gtf_genome_to_cdna_fasta.py
23
+ src/quickprot/gtf_to_alignment_gff3.pl
24
+ src/quickprot/quickprot.py
25
+ src/quickprot/rename_gff3.py
26
+ src/quickprot/sm2rmForFasta.py
27
+ src/quickprot/sort_gff3.py
28
+ src/quickprot/split_and_filter_gene_model.py
29
+ src/quickprot/stat_gff3.py
30
+ src/quickprot/update_gff3_from_minibusco.py
31
+ src/quickprot/version.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ quickprot = quickprot:main
@@ -0,0 +1,2 @@
1
+ biopython
2
+ TD2
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+