funannotate2 25.7.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.
- funannotate2-25.7.1/.githooks/README.md +22 -0
- funannotate2-25.7.1/.gitignore +11 -0
- funannotate2-25.7.1/LICENSE +24 -0
- funannotate2-25.7.1/PKG-INFO +203 -0
- funannotate2-25.7.1/README.md +149 -0
- funannotate2-25.7.1/docs/README.md +39 -0
- funannotate2-25.7.1/funannotate2/__init__.py +3 -0
- funannotate2-25.7.1/funannotate2/__main__.py +585 -0
- funannotate2-25.7.1/funannotate2/abinitio.py +2349 -0
- funannotate2-25.7.1/funannotate2/align.py +228 -0
- funannotate2-25.7.1/funannotate2/annotate.py +453 -0
- funannotate2-25.7.1/funannotate2/clean.py +202 -0
- funannotate2-25.7.1/funannotate2/config.py +1848 -0
- funannotate2-25.7.1/funannotate2/database.py +189 -0
- funannotate2-25.7.1/funannotate2/downloads.json +543 -0
- funannotate2-25.7.1/funannotate2/evm.py +458 -0
- funannotate2-25.7.1/funannotate2/fastx.py +491 -0
- funannotate2-25.7.1/funannotate2/genbank.py +181 -0
- funannotate2-25.7.1/funannotate2/help_formatter.py +135 -0
- funannotate2-25.7.1/funannotate2/install.py +753 -0
- funannotate2-25.7.1/funannotate2/interlap.py +240 -0
- funannotate2-25.7.1/funannotate2/log.py +143 -0
- funannotate2-25.7.1/funannotate2/name_cleaner.py +537 -0
- funannotate2-25.7.1/funannotate2/predict.py +835 -0
- funannotate2-25.7.1/funannotate2/resources/extrinsic.E.XNT.RM.cfg +59 -0
- funannotate2-25.7.1/funannotate2/search.py +757 -0
- funannotate2-25.7.1/funannotate2/train.py +670 -0
- funannotate2-25.7.1/funannotate2/utilities.py +1214 -0
- funannotate2-25.7.1/pyproject.toml +57 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Git Hooks for CITATION.cff Management
|
|
2
|
+
|
|
3
|
+
This directory contains Git hooks to help manage the CITATION.cff file in the repository.
|
|
4
|
+
|
|
5
|
+
## Pre-commit Hook
|
|
6
|
+
|
|
7
|
+
The pre-commit hook automatically updates the CITATION.cff file when changes to version information in pyproject.toml are committed.
|
|
8
|
+
|
|
9
|
+
### Installation
|
|
10
|
+
|
|
11
|
+
To install the pre-commit hook, run:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
git config core.hooksPath .githooks
|
|
15
|
+
chmod +x .githooks/pre-commit
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
This will configure Git to use the hooks in this directory and make the pre-commit hook executable.
|
|
19
|
+
|
|
20
|
+
## Manual Update
|
|
21
|
+
|
|
22
|
+
If you need to manually update the CITATION.cff file, you can use the GitHub Actions workflow by creating a new release/tag, or modify the file directly.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
BSD 2-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023, Jon Palmer
|
|
4
|
+
|
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
|
6
|
+
modification, are permitted provided that the following conditions are met:
|
|
7
|
+
|
|
8
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
9
|
+
list of conditions and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
12
|
+
this list of conditions and the following disclaimer in the documentation
|
|
13
|
+
and/or other materials provided with the distribution.
|
|
14
|
+
|
|
15
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
16
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
17
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
18
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
19
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
20
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
21
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
22
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
23
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
24
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: funannotate2
|
|
3
|
+
Version: 25.7.1
|
|
4
|
+
Summary: Funannotate2: eukarytoic genome annotation pipeline
|
|
5
|
+
Project-URL: Homepage, https://github.com/nextgenusfs/funannotate2
|
|
6
|
+
Project-URL: Repository, https://github.com/nextgenusfs/funannotate2.git
|
|
7
|
+
Author-email: Jon Palmer <nextgenusfs@gmail.com>
|
|
8
|
+
License: BSD 2-Clause License
|
|
9
|
+
|
|
10
|
+
Copyright (c) 2023, Jon Palmer
|
|
11
|
+
|
|
12
|
+
Redistribution and use in source and binary forms, with or without
|
|
13
|
+
modification, are permitted provided that the following conditions are met:
|
|
14
|
+
|
|
15
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
16
|
+
list of conditions and the following disclaimer.
|
|
17
|
+
|
|
18
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
19
|
+
this list of conditions and the following disclaimer in the documentation
|
|
20
|
+
and/or other materials provided with the distribution.
|
|
21
|
+
|
|
22
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
23
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
24
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
25
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
26
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
27
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
28
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
29
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
30
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
31
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
32
|
+
License-File: LICENSE
|
|
33
|
+
Keywords: annotation,bioinformatics,genome
|
|
34
|
+
Classifier: Development Status :: 4 - Beta
|
|
35
|
+
Classifier: Intended Audience :: Science/Research
|
|
36
|
+
Classifier: License :: OSI Approved :: BSD License
|
|
37
|
+
Classifier: Operating System :: Unix
|
|
38
|
+
Classifier: Programming Language :: Python
|
|
39
|
+
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
40
|
+
Requires-Python: >=3.7.0
|
|
41
|
+
Requires-Dist: buscolite>=25.4.24
|
|
42
|
+
Requires-Dist: gapmm2>=25.4.13
|
|
43
|
+
Requires-Dist: gb-io>=0.3.2
|
|
44
|
+
Requires-Dist: gfftk>=25.6.10
|
|
45
|
+
Requires-Dist: json-repair
|
|
46
|
+
Requires-Dist: mappy
|
|
47
|
+
Requires-Dist: natsort
|
|
48
|
+
Requires-Dist: numpy
|
|
49
|
+
Requires-Dist: pyfastx>=2.0.0
|
|
50
|
+
Requires-Dist: pyhmmer>=0.10.15
|
|
51
|
+
Requires-Dist: pytantan
|
|
52
|
+
Requires-Dist: requests
|
|
53
|
+
Description-Content-Type: text/markdown
|
|
54
|
+
|
|
55
|
+
[](https://github.com/nextgenusfs/funannotate2/releases/latest)
|
|
56
|
+

|
|
57
|
+
[](https://github.com/psf/black)
|
|
58
|
+
[](https://github.com/nextgenusfs/funannotate2/actions/workflows/tests.yml)
|
|
59
|
+
|
|
60
|
+
# funannotate2: eukaryotic genome annotation pipeline
|
|
61
|
+
|
|
62
|
+
Funannotate2 is a comprehensive eukaryotic genome annotation pipeline that provides a complete workflow for annotating
|
|
63
|
+
eukaryotic genomes. It integrates various tools and databases to produce high-quality gene predictions and functional annotations.
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
### Quick start: Installation
|
|
67
|
+
|
|
68
|
+
#### Linux systems
|
|
69
|
+
|
|
70
|
+
Unit this gets pushed to bioconda, can try this:
|
|
71
|
+
```shell
|
|
72
|
+
mamba create -n funannotate2 gfftk gapmm2 minimap2 miniprot snap "augustus==3.5.0" glimmerhmm diamond trnascan-se table2asn gb-io buscolite
|
|
73
|
+
conda activate funannotate2
|
|
74
|
+
python -m pip install git+https://github.com/nextgenusfs/funannotate2.git
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
#### Apple Silicon (M series)
|
|
78
|
+
Installation on apple silicon (M series) is a little bit more involved due to some dependency issues and non-native builds of some software. I've not been able to find or build a version of `augustus` that will run, so instead I've been running `augustus` and `genemark` locally with Docker. I've setup two repos with instructions on how to get this working (Need Docker Desktop installed) and then will need to put the bash wrapper files in your PATH to mimic the CLI interface.
|
|
79
|
+
|
|
80
|
+
https://github.com/nextgenusfs/dockerized-augustus
|
|
81
|
+
|
|
82
|
+
https://github.com/nextgenusfs/dockerized-genemark
|
|
83
|
+
|
|
84
|
+
Once that is working, you can then install most of the remaining dependencies with conda, although we need to leave out both `buscolite` and `funannotate2` because they have `augustus` as a dependency, instead we will install those python packages with pip. The conda mkl<2022 is to avoid an annoying warning on apple silicon with the intel mkl package.
|
|
85
|
+
|
|
86
|
+
```shell
|
|
87
|
+
# first install most of the dependencies
|
|
88
|
+
mamba create -n funannotate2 --platform osx-64 "python>=3.7,<3.13" gfftk gapmm2 minimap2 miniprot snap glimmerhmm diamond trnascan-se gb-io pyhmmer pyfastx requests json-repair pytantan "mkl<2022"
|
|
89
|
+
|
|
90
|
+
# we can then add the required FUNANNOTATE2_DB env variable to the conda environment, note need to reactivate to use it
|
|
91
|
+
conda activate funannotate2
|
|
92
|
+
conda env config vars set FUNANNOTATE2_DB=/path/to/funannotate2-db
|
|
93
|
+
conda env config vars set AUGUSTUS_CONFIG_PATH=/path/to/augustus-3.5.0/config
|
|
94
|
+
conda deactivate
|
|
95
|
+
|
|
96
|
+
# now reactivate environment, and install the remaining python dependencies with pip
|
|
97
|
+
conda activate funannotate2
|
|
98
|
+
python -m pip install buscolite git+https://github.com/nextgenusfs/funannotate2.git
|
|
99
|
+
|
|
100
|
+
# now we can install the databases
|
|
101
|
+
funannotate2 install -d all
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
#### Other/Manual Installation
|
|
105
|
+
|
|
106
|
+
Additional tools like genemarkHMM must be installed manually due to licensing.
|
|
107
|
+
|
|
108
|
+
`funannotate2` is a python package, to install release versions use the pip package manager, like so:
|
|
109
|
+
|
|
110
|
+
```shell
|
|
111
|
+
pip install funannotate2
|
|
112
|
+
```
|
|
113
|
+
Or to install the bleeding edge version from github repo:
|
|
114
|
+
|
|
115
|
+
```shell
|
|
116
|
+
python -m pip install git+https://github.com/nextgenusfs/funannotate2.git
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
## Development
|
|
120
|
+
|
|
121
|
+
### Testing
|
|
122
|
+
|
|
123
|
+
Funannotate2 includes both unit tests and integration tests to ensure the code works correctly.
|
|
124
|
+
|
|
125
|
+
#### Running Tests
|
|
126
|
+
|
|
127
|
+
To run the tests, you need to install pytest and the package in development mode:
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# Install pytest and coverage tools
|
|
131
|
+
pip install pytest pytest-cov
|
|
132
|
+
|
|
133
|
+
# Install funannotate2 in development mode
|
|
134
|
+
pip install -e .
|
|
135
|
+
|
|
136
|
+
# Run all tests
|
|
137
|
+
pytest
|
|
138
|
+
|
|
139
|
+
# Run with coverage report
|
|
140
|
+
pytest --cov=funannotate2
|
|
141
|
+
|
|
142
|
+
# Generate HTML coverage report
|
|
143
|
+
python scripts/run_coverage.py
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
For more information about testing, see the [TESTING.md](TESTING.md) file.
|
|
147
|
+
|
|
148
|
+
### Development Dependencies
|
|
149
|
+
|
|
150
|
+
To work on funannotate2 development, you'll need to install the development dependencies:
|
|
151
|
+
|
|
152
|
+
```shell
|
|
153
|
+
pip install pytest pytest-cov
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Documentation
|
|
157
|
+
|
|
158
|
+
Funannotate2 includes comprehensive documentation that covers installation, usage, API reference, and more. To build the documentation:
|
|
159
|
+
|
|
160
|
+
```bash
|
|
161
|
+
# Install Sphinx and the theme
|
|
162
|
+
pip install sphinx sphinx_rtd_theme
|
|
163
|
+
|
|
164
|
+
# Build the documentation
|
|
165
|
+
cd docs
|
|
166
|
+
make html
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
The built documentation will be in the `docs/_build/html` directory.
|
|
170
|
+
|
|
171
|
+
For more information about the documentation, see the [docs/README.md](docs/README.md) file.
|
|
172
|
+
|
|
173
|
+
### Running Tests
|
|
174
|
+
|
|
175
|
+
After installing the development dependencies, you can run the tests with:
|
|
176
|
+
|
|
177
|
+
```shell
|
|
178
|
+
python -m pytest
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
To run tests with coverage reporting:
|
|
182
|
+
|
|
183
|
+
```shell
|
|
184
|
+
python -m pytest --cov=funannotate2 --cov-report=term-missing
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Or use the provided script to generate an HTML coverage report:
|
|
188
|
+
|
|
189
|
+
```shell
|
|
190
|
+
python scripts/run_coverage.py
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
To install the most up to date code from this repo, you can run:
|
|
194
|
+
```
|
|
195
|
+
python -m pip install git+https://github.com/nextgenusfs/funannotate2.git --upgrade --force --no-deps
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### Citation
|
|
199
|
+
|
|
200
|
+
Funannotate2 includes a CITATION.cff file that provides citation information for the software. The version and release date in this file are automatically updated when a new release is created.
|
|
201
|
+
|
|
202
|
+
To cite funannotate2 in your work, you can use the citation information from the CITATION.cff file or generate a citation in your preferred format using tools like [citeas.org](https://citeas.org/).
|
|
203
|
+
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
[](https://github.com/nextgenusfs/funannotate2/releases/latest)
|
|
2
|
+

|
|
3
|
+
[](https://github.com/psf/black)
|
|
4
|
+
[](https://github.com/nextgenusfs/funannotate2/actions/workflows/tests.yml)
|
|
5
|
+
|
|
6
|
+
# funannotate2: eukaryotic genome annotation pipeline
|
|
7
|
+
|
|
8
|
+
Funannotate2 is a comprehensive eukaryotic genome annotation pipeline that provides a complete workflow for annotating
|
|
9
|
+
eukaryotic genomes. It integrates various tools and databases to produce high-quality gene predictions and functional annotations.
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Quick start: Installation
|
|
13
|
+
|
|
14
|
+
#### Linux systems
|
|
15
|
+
|
|
16
|
+
Unit this gets pushed to bioconda, can try this:
|
|
17
|
+
```shell
|
|
18
|
+
mamba create -n funannotate2 gfftk gapmm2 minimap2 miniprot snap "augustus==3.5.0" glimmerhmm diamond trnascan-se table2asn gb-io buscolite
|
|
19
|
+
conda activate funannotate2
|
|
20
|
+
python -m pip install git+https://github.com/nextgenusfs/funannotate2.git
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
#### Apple Silicon (M series)
|
|
24
|
+
Installation on apple silicon (M series) is a little bit more involved due to some dependency issues and non-native builds of some software. I've not been able to find or build a version of `augustus` that will run, so instead I've been running `augustus` and `genemark` locally with Docker. I've setup two repos with instructions on how to get this working (Need Docker Desktop installed) and then will need to put the bash wrapper files in your PATH to mimic the CLI interface.
|
|
25
|
+
|
|
26
|
+
https://github.com/nextgenusfs/dockerized-augustus
|
|
27
|
+
|
|
28
|
+
https://github.com/nextgenusfs/dockerized-genemark
|
|
29
|
+
|
|
30
|
+
Once that is working, you can then install most of the remaining dependencies with conda, although we need to leave out both `buscolite` and `funannotate2` because they have `augustus` as a dependency, instead we will install those python packages with pip. The conda mkl<2022 is to avoid an annoying warning on apple silicon with the intel mkl package.
|
|
31
|
+
|
|
32
|
+
```shell
|
|
33
|
+
# first install most of the dependencies
|
|
34
|
+
mamba create -n funannotate2 --platform osx-64 "python>=3.7,<3.13" gfftk gapmm2 minimap2 miniprot snap glimmerhmm diamond trnascan-se gb-io pyhmmer pyfastx requests json-repair pytantan "mkl<2022"
|
|
35
|
+
|
|
36
|
+
# we can then add the required FUNANNOTATE2_DB env variable to the conda environment, note need to reactivate to use it
|
|
37
|
+
conda activate funannotate2
|
|
38
|
+
conda env config vars set FUNANNOTATE2_DB=/path/to/funannotate2-db
|
|
39
|
+
conda env config vars set AUGUSTUS_CONFIG_PATH=/path/to/augustus-3.5.0/config
|
|
40
|
+
conda deactivate
|
|
41
|
+
|
|
42
|
+
# now reactivate environment, and install the remaining python dependencies with pip
|
|
43
|
+
conda activate funannotate2
|
|
44
|
+
python -m pip install buscolite git+https://github.com/nextgenusfs/funannotate2.git
|
|
45
|
+
|
|
46
|
+
# now we can install the databases
|
|
47
|
+
funannotate2 install -d all
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
#### Other/Manual Installation
|
|
51
|
+
|
|
52
|
+
Additional tools like genemarkHMM must be installed manually due to licensing.
|
|
53
|
+
|
|
54
|
+
`funannotate2` is a python package, to install release versions use the pip package manager, like so:
|
|
55
|
+
|
|
56
|
+
```shell
|
|
57
|
+
pip install funannotate2
|
|
58
|
+
```
|
|
59
|
+
Or to install the bleeding edge version from github repo:
|
|
60
|
+
|
|
61
|
+
```shell
|
|
62
|
+
python -m pip install git+https://github.com/nextgenusfs/funannotate2.git
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Development
|
|
66
|
+
|
|
67
|
+
### Testing
|
|
68
|
+
|
|
69
|
+
Funannotate2 includes both unit tests and integration tests to ensure the code works correctly.
|
|
70
|
+
|
|
71
|
+
#### Running Tests
|
|
72
|
+
|
|
73
|
+
To run the tests, you need to install pytest and the package in development mode:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# Install pytest and coverage tools
|
|
77
|
+
pip install pytest pytest-cov
|
|
78
|
+
|
|
79
|
+
# Install funannotate2 in development mode
|
|
80
|
+
pip install -e .
|
|
81
|
+
|
|
82
|
+
# Run all tests
|
|
83
|
+
pytest
|
|
84
|
+
|
|
85
|
+
# Run with coverage report
|
|
86
|
+
pytest --cov=funannotate2
|
|
87
|
+
|
|
88
|
+
# Generate HTML coverage report
|
|
89
|
+
python scripts/run_coverage.py
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
For more information about testing, see the [TESTING.md](TESTING.md) file.
|
|
93
|
+
|
|
94
|
+
### Development Dependencies
|
|
95
|
+
|
|
96
|
+
To work on funannotate2 development, you'll need to install the development dependencies:
|
|
97
|
+
|
|
98
|
+
```shell
|
|
99
|
+
pip install pytest pytest-cov
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Documentation
|
|
103
|
+
|
|
104
|
+
Funannotate2 includes comprehensive documentation that covers installation, usage, API reference, and more. To build the documentation:
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# Install Sphinx and the theme
|
|
108
|
+
pip install sphinx sphinx_rtd_theme
|
|
109
|
+
|
|
110
|
+
# Build the documentation
|
|
111
|
+
cd docs
|
|
112
|
+
make html
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
The built documentation will be in the `docs/_build/html` directory.
|
|
116
|
+
|
|
117
|
+
For more information about the documentation, see the [docs/README.md](docs/README.md) file.
|
|
118
|
+
|
|
119
|
+
### Running Tests
|
|
120
|
+
|
|
121
|
+
After installing the development dependencies, you can run the tests with:
|
|
122
|
+
|
|
123
|
+
```shell
|
|
124
|
+
python -m pytest
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
To run tests with coverage reporting:
|
|
128
|
+
|
|
129
|
+
```shell
|
|
130
|
+
python -m pytest --cov=funannotate2 --cov-report=term-missing
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Or use the provided script to generate an HTML coverage report:
|
|
134
|
+
|
|
135
|
+
```shell
|
|
136
|
+
python scripts/run_coverage.py
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
To install the most up to date code from this repo, you can run:
|
|
140
|
+
```
|
|
141
|
+
python -m pip install git+https://github.com/nextgenusfs/funannotate2.git --upgrade --force --no-deps
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Citation
|
|
145
|
+
|
|
146
|
+
Funannotate2 includes a CITATION.cff file that provides citation information for the software. The version and release date in this file are automatically updated when a new release is created.
|
|
147
|
+
|
|
148
|
+
To cite funannotate2 in your work, you can use the citation information from the CITATION.cff file or generate a citation in your preferred format using tools like [citeas.org](https://citeas.org/).
|
|
149
|
+
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Funannotate2 Documentation
|
|
2
|
+
|
|
3
|
+
This directory contains the documentation for Funannotate2.
|
|
4
|
+
|
|
5
|
+
## Building the Documentation
|
|
6
|
+
|
|
7
|
+
To build the documentation, you need to have Sphinx installed:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pip install sphinx sphinx_rtd_theme
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Then, you can build the documentation:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
cd docs
|
|
17
|
+
make html
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
The built documentation will be in the `_build/html` directory.
|
|
21
|
+
|
|
22
|
+
## Documentation Structure
|
|
23
|
+
|
|
24
|
+
- `index.rst`: Main index file
|
|
25
|
+
- `installation.rst`: Installation instructions
|
|
26
|
+
- `usage.rst`: Usage guide
|
|
27
|
+
- `modules.rst`: Module reference
|
|
28
|
+
- `API.rst`: API reference
|
|
29
|
+
- `tutorial.rst`: Tutorial
|
|
30
|
+
- `faq.rst`: Frequently asked questions
|
|
31
|
+
- `changelog.rst`: Changelog
|
|
32
|
+
- `API/`: Directory containing API documentation for each module
|
|
33
|
+
- `clean.rst`: Documentation for the clean module
|
|
34
|
+
- `predict.rst`: Documentation for the predict module
|
|
35
|
+
- `annotate.rst`: Documentation for the annotate module
|
|
36
|
+
- `compare.rst`: Documentation for the compare module
|
|
37
|
+
- `search.rst`: Documentation for the search module
|
|
38
|
+
- `utilities.rst`: Documentation for the utilities module
|
|
39
|
+
- `log.rst`: Documentation for the log module
|