CodonAdaptPy 1.0.0__py3-none-any.whl → 1.0.1__py3-none-any.whl
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.
- codonadaptpy/__init__.py +3 -3
- codonadaptpy/__main__.py +1 -1
- codonadaptpy/__version__.py +2 -2
- codonadaptpy/aggregation.py +2 -2
- codonadaptpy/analyzer.py +5 -5
- codonadaptpy/cli.py +6 -6
- codonadaptpy/comparative.py +1 -1
- codonadaptpy/exceptions.py +1 -1
- codonadaptpy/genetic_code.py +1 -1
- codonadaptpy/metrics/__init__.py +1 -1
- codonadaptpy/metrics/adaptation.py +1 -1
- codonadaptpy/metrics/composition.py +1 -1
- codonadaptpy/metrics/evolutionary.py +1 -1
- codonadaptpy/metrics/host.py +2 -2
- codonadaptpy/metrics/pairs.py +1 -1
- codonadaptpy/metrics/usage.py +2 -2
- codonadaptpy/models.py +2 -2
- codonadaptpy/optimizer.py +1 -1
- codonadaptpy/parsers.py +1 -1
- codonadaptpy/phylo_visualization.py +1 -1
- codonadaptpy/phylogenetics.py +2 -2
- codonadaptpy/references.py +1 -1
- codonadaptpy/reporting.py +2 -2
- codonadaptpy/validation.py +1 -2
- codonadaptpy/visualization.py +1 -1
- {codonadaptpy-1.0.0.dist-info → codonadaptpy-1.0.1.dist-info}/METADATA +21 -20
- codonadaptpy-1.0.1.dist-info/RECORD +32 -0
- codonadaptpy-1.0.0.dist-info/RECORD +0 -32
- {codonadaptpy-1.0.0.dist-info → codonadaptpy-1.0.1.dist-info}/WHEEL +0 -0
- {codonadaptpy-1.0.0.dist-info → codonadaptpy-1.0.1.dist-info}/entry_points.txt +0 -0
- {codonadaptpy-1.0.0.dist-info → codonadaptpy-1.0.1.dist-info}/licenses/LICENSE +0 -0
- {codonadaptpy-1.0.0.dist-info → codonadaptpy-1.0.1.dist-info}/top_level.txt +0 -0
codonadaptpy/__init__.py
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"""
|
|
2
2
|
CodonAdaptPy Package
|
|
3
3
|
|
|
4
|
-
CodonAdaptPy is
|
|
4
|
+
CodonAdaptPy is a Python package for validating
|
|
5
5
|
coding sequences, calculating codon-usage and host-adaptation statistics,
|
|
6
6
|
performing comparative and evolutionary analyses, generating reproducible
|
|
7
|
-
reports, and designing
|
|
7
|
+
reports, and designing synonymous coding sequences under user-defined constraints.
|
|
8
8
|
|
|
9
9
|
Features:
|
|
10
10
|
- FASTA, GenBank, tabular, pasted-sequence, and batch input workflows
|
|
@@ -22,7 +22,7 @@ Scientific interpretation:
|
|
|
22
22
|
:Created: July 20, 2026
|
|
23
23
|
:Updated: July 20, 2026
|
|
24
24
|
:Author: Naveen Duhan
|
|
25
|
-
:Version: 1.0.
|
|
25
|
+
:Version: 1.0.1
|
|
26
26
|
"""
|
|
27
27
|
|
|
28
28
|
from .__version__ import __author__, __email__, __version__
|
codonadaptpy/__main__.py
CHANGED
codonadaptpy/__version__.py
CHANGED
codonadaptpy/aggregation.py
CHANGED
|
@@ -8,12 +8,12 @@ a raw multi-ORF genome as one continuous reading frame.
|
|
|
8
8
|
|
|
9
9
|
Classes:
|
|
10
10
|
- IsolateAnalysis: Per-gene, genome-wide, and focus-gene results.
|
|
11
|
-
- CDSAggregator: Metadata-aware
|
|
11
|
+
- CDSAggregator: Metadata-aware analysis of isolate collections.
|
|
12
12
|
|
|
13
13
|
:Created: July 20, 2026
|
|
14
14
|
:Updated: July 20, 2026
|
|
15
15
|
:Author: Naveen Duhan
|
|
16
|
-
:Version: 1.0.
|
|
16
|
+
:Version: 1.0.1
|
|
17
17
|
"""
|
|
18
18
|
|
|
19
19
|
from __future__ import annotations
|
codonadaptpy/analyzer.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
|
-
CodonAdaptPy Analysis
|
|
2
|
+
CodonAdaptPy Analysis Interface
|
|
3
3
|
|
|
4
|
-
This module exposes the primary
|
|
4
|
+
This module exposes the primary high-level Python API. :class:`CodonAnalyzer`
|
|
5
5
|
coordinates normalization, validation, intrinsic metrics, optional reference-
|
|
6
6
|
dependent adaptation statistics, multi-host comparisons, simulation, and
|
|
7
7
|
sliding-window profiles while keeping each calculation module independently
|
|
@@ -14,7 +14,7 @@ Classes:
|
|
|
14
14
|
:Created: July 20, 2026
|
|
15
15
|
:Updated: July 20, 2026
|
|
16
16
|
:Author: Naveen Duhan
|
|
17
|
-
:Version: 1.0.
|
|
17
|
+
:Version: 1.0.1
|
|
18
18
|
"""
|
|
19
19
|
|
|
20
20
|
from __future__ import annotations
|
|
@@ -55,7 +55,7 @@ class AnalysisConfig:
|
|
|
55
55
|
|
|
56
56
|
|
|
57
57
|
class CodonAnalyzer:
|
|
58
|
-
"""
|
|
58
|
+
"""Coordinate codon-usage and adaptation analyses through one interface."""
|
|
59
59
|
|
|
60
60
|
def __init__(
|
|
61
61
|
self,
|
|
@@ -85,7 +85,7 @@ class CodonAnalyzer:
|
|
|
85
85
|
)
|
|
86
86
|
|
|
87
87
|
def analyze(self, record: SequenceRecord) -> AnalysisResult:
|
|
88
|
-
"""Analyze one sequence and return a
|
|
88
|
+
"""Analyze one sequence and return a structured result."""
|
|
89
89
|
|
|
90
90
|
validation = self.validator.validate(record, raise_on_error=self.config.strict)
|
|
91
91
|
sequence = validation.normalized_sequence
|
codonadaptpy/cli.py
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"""
|
|
2
2
|
CodonAdaptPy Command-Line Interface
|
|
3
3
|
|
|
4
|
-
This module
|
|
4
|
+
This module provides commands for coding-sequence analysis,
|
|
5
5
|
multi-host comparison, reference construction/cataloging, and constrained
|
|
6
6
|
optimization or deoptimization. It also exposes MAFFT/trimAL/IQ-TREE/FastTree
|
|
7
7
|
phylogenetics with ETE3-backed static tree and temporal-diagnostic figures.
|
|
8
|
-
CLI workflows
|
|
9
|
-
|
|
8
|
+
CLI workflows use the same public Python API as direct Python calls and write
|
|
9
|
+
reproducible, structured output directories.
|
|
10
10
|
|
|
11
11
|
Commands:
|
|
12
12
|
- analyze: Analyze one sequence or a batch input file.
|
|
@@ -22,7 +22,7 @@ Functions:
|
|
|
22
22
|
:Created: July 20, 2026
|
|
23
23
|
:Updated: July 20, 2026
|
|
24
24
|
:Author: Naveen Duhan
|
|
25
|
-
:Version: 1.0.
|
|
25
|
+
:Version: 1.0.1
|
|
26
26
|
"""
|
|
27
27
|
|
|
28
28
|
from __future__ import annotations
|
|
@@ -49,7 +49,7 @@ from .visualization import PlotManager
|
|
|
49
49
|
|
|
50
50
|
|
|
51
51
|
def build_parser() -> argparse.ArgumentParser:
|
|
52
|
-
"""Construct the top-level parser and
|
|
52
|
+
"""Construct the top-level parser and its subcommands."""
|
|
53
53
|
|
|
54
54
|
parser = argparse.ArgumentParser(
|
|
55
55
|
prog="codonadaptpy",
|
|
@@ -62,7 +62,7 @@ def build_parser() -> argparse.ArgumentParser:
|
|
|
62
62
|
_add_analysis_arguments(analyze)
|
|
63
63
|
analyze.set_defaults(handler=_run_analyze)
|
|
64
64
|
|
|
65
|
-
compare = subparsers.add_parser("compare", help="Compare sequences
|
|
65
|
+
compare = subparsers.add_parser("compare", help="Compare sequences against multiple host references.")
|
|
66
66
|
_add_analysis_arguments(compare)
|
|
67
67
|
compare.set_defaults(handler=_run_analyze)
|
|
68
68
|
|
codonadaptpy/comparative.py
CHANGED
codonadaptpy/exceptions.py
CHANGED
codonadaptpy/genetic_code.py
CHANGED
codonadaptpy/metrics/__init__.py
CHANGED
codonadaptpy/metrics/host.py
CHANGED
|
@@ -12,7 +12,7 @@ Classes:
|
|
|
12
12
|
:Created: July 20, 2026
|
|
13
13
|
:Updated: July 20, 2026
|
|
14
14
|
:Author: Naveen Duhan
|
|
15
|
-
:Version: 1.0.
|
|
15
|
+
:Version: 1.0.1
|
|
16
16
|
"""
|
|
17
17
|
|
|
18
18
|
from __future__ import annotations
|
|
@@ -64,7 +64,7 @@ class HostComparator:
|
|
|
64
64
|
self.adaptation = AdaptationMetrics(self.genetic_code)
|
|
65
65
|
|
|
66
66
|
def compare(self, codons: list[str], reference: Mapping[str, float]) -> dict[str, float]:
|
|
67
|
-
"""Calculate a
|
|
67
|
+
"""Calculate a structured host-comparison result for one reference."""
|
|
68
68
|
|
|
69
69
|
keys = sorted(codon for codon, aa in self.genetic_code.forward_table.items() if aa != "*")
|
|
70
70
|
query_frequency = self.usage.frequencies(codons)
|
codonadaptpy/metrics/pairs.py
CHANGED
codonadaptpy/metrics/usage.py
CHANGED
|
@@ -12,7 +12,7 @@ Classes:
|
|
|
12
12
|
:Created: July 20, 2026
|
|
13
13
|
:Updated: July 20, 2026
|
|
14
14
|
:Author: Naveen Duhan
|
|
15
|
-
:Version: 1.0.
|
|
15
|
+
:Version: 1.0.1
|
|
16
16
|
"""
|
|
17
17
|
|
|
18
18
|
from __future__ import annotations
|
|
@@ -32,7 +32,7 @@ class CodonUsageMetrics:
|
|
|
32
32
|
self.genetic_code = genetic_code or GeneticCode.from_ncbi(1)
|
|
33
33
|
|
|
34
34
|
def counts(self, codons: Iterable[str], *, include_stops: bool = False) -> dict[str, int]:
|
|
35
|
-
"""Count unambiguous recognized codons and return a
|
|
35
|
+
"""Count unambiguous recognized codons and return a 64-codon map."""
|
|
36
36
|
|
|
37
37
|
observed = Counter(codon.upper().replace("U", "T") for codon in codons)
|
|
38
38
|
return {
|
codonadaptpy/models.py
CHANGED
|
@@ -11,12 +11,12 @@ Classes:
|
|
|
11
11
|
- ValidationConfig: User-selected validation policy.
|
|
12
12
|
- ValidationIssue: One structured validation observation.
|
|
13
13
|
- ValidationReport: Validation outcome and normalized sequence.
|
|
14
|
-
- AnalysisResult:
|
|
14
|
+
- AnalysisResult: Metrics and metadata for a single sequence.
|
|
15
15
|
|
|
16
16
|
:Created: July 20, 2026
|
|
17
17
|
:Updated: July 20, 2026
|
|
18
18
|
:Author: Naveen Duhan
|
|
19
|
-
:Version: 1.0.
|
|
19
|
+
:Version: 1.0.1
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
22
|
from __future__ import annotations
|
codonadaptpy/optimizer.py
CHANGED
codonadaptpy/parsers.py
CHANGED
codonadaptpy/phylogenetics.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""
|
|
2
2
|
CodonAdaptPy Phylogenetic and Temporal Analysis
|
|
3
3
|
|
|
4
|
-
This module provides
|
|
4
|
+
This module provides reusable interfaces for reproducible nucleotide or
|
|
5
5
|
protein phylogenetics and lightweight temporal exploration. External programs
|
|
6
6
|
are invoked with argument lists rather than shell strings, their commands and
|
|
7
7
|
outputs are retained, and failures include captured diagnostic text.
|
|
@@ -23,7 +23,7 @@ Classes:
|
|
|
23
23
|
:Created: July 20, 2026
|
|
24
24
|
:Updated: July 20, 2026
|
|
25
25
|
:Author: Naveen Duhan
|
|
26
|
-
:Version: 1.0.
|
|
26
|
+
:Version: 1.0.1
|
|
27
27
|
"""
|
|
28
28
|
|
|
29
29
|
from __future__ import annotations
|
codonadaptpy/references.py
CHANGED
codonadaptpy/reporting.py
CHANGED
|
@@ -12,7 +12,7 @@ Classes:
|
|
|
12
12
|
:Created: July 20, 2026
|
|
13
13
|
:Updated: July 20, 2026
|
|
14
14
|
:Author: Naveen Duhan
|
|
15
|
-
:Version: 1.0.
|
|
15
|
+
:Version: 1.0.1
|
|
16
16
|
"""
|
|
17
17
|
|
|
18
18
|
from __future__ import annotations
|
|
@@ -33,7 +33,7 @@ class ReportGenerator:
|
|
|
33
33
|
"""Export package results to machine-readable and publication-friendly files."""
|
|
34
34
|
|
|
35
35
|
def write_json(self, results: list[AnalysisResult], path: str | Path) -> Path:
|
|
36
|
-
"""Write
|
|
36
|
+
"""Write nested analysis results as indented JSON."""
|
|
37
37
|
|
|
38
38
|
destination = Path(path)
|
|
39
39
|
destination.write_text(
|
codonadaptpy/validation.py
CHANGED
|
@@ -18,7 +18,7 @@ Classes:
|
|
|
18
18
|
:Created: July 20, 2026
|
|
19
19
|
:Updated: July 20, 2026
|
|
20
20
|
:Author: Naveen Duhan
|
|
21
|
-
:Version: 1.0.
|
|
21
|
+
:Version: 1.0.1
|
|
22
22
|
"""
|
|
23
23
|
|
|
24
24
|
from __future__ import annotations
|
|
@@ -166,4 +166,3 @@ class SequenceValidator:
|
|
|
166
166
|
if raise_on_error and not report.is_valid:
|
|
167
167
|
raise SequenceValidationError("; ".join(issue.message for issue in report.errors))
|
|
168
168
|
return report
|
|
169
|
-
|
codonadaptpy/visualization.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: CodonAdaptPy
|
|
3
|
-
Version: 1.0.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 1.0.1
|
|
4
|
+
Summary: Codon usage, host adaptation, evolutionary analysis, phylogenetics, and sequence design
|
|
5
5
|
Author: Naveen Duhan
|
|
6
6
|
License-Expression: GPL-3.0-or-later
|
|
7
7
|
Project-URL: Homepage, https://github.com/navduhan/CodonAdaptPy
|
|
@@ -71,8 +71,9 @@ Dynamic: license-file
|
|
|
71
71
|
|
|
72
72
|
[](https://github.com/navduhan/CodonAdaptPy/actions/workflows/ci.yml)
|
|
73
73
|
[](https://codonadaptpy.readthedocs.io/en/latest/?badge=latest)
|
|
74
|
+
[](https://pypi.org/project/CodonAdaptPy/)
|
|
74
75
|
|
|
75
|
-
CodonAdaptPy 1.0.
|
|
76
|
+
CodonAdaptPy 1.0.1 is a Python package for coding-sequence validation, codon-usage analysis, multi-host comparison, evolutionary diagnostics, reproducible reporting, and constrained codon optimization or deoptimization.
|
|
76
77
|
|
|
77
78
|

|
|
78
79
|
|
|
@@ -99,17 +100,17 @@ Codon-usage similarity is descriptive. It is not direct proof of increased expre
|
|
|
99
100
|
Install the dependency-free core and CLI:
|
|
100
101
|
|
|
101
102
|
```bash
|
|
102
|
-
python -m pip install
|
|
103
|
+
python -m pip install CodonAdaptPy
|
|
103
104
|
```
|
|
104
105
|
|
|
105
|
-
Install
|
|
106
|
+
Install all optional analysis, input, plotting, and reporting dependencies:
|
|
106
107
|
|
|
107
108
|
```bash
|
|
108
|
-
python -m pip install "
|
|
109
|
+
python -m pip install "CodonAdaptPy[all]"
|
|
109
110
|
```
|
|
110
111
|
|
|
111
|
-
Phylogenetic workflows
|
|
112
|
-
|
|
112
|
+
Phylogenetic workflows also require external command-line programs. The
|
|
113
|
+
supplied Conda environment installs them together with CodonAdaptPy:
|
|
113
114
|
|
|
114
115
|
```bash
|
|
115
116
|
conda env create -f environment.yml
|
|
@@ -120,11 +121,11 @@ For an existing environment such as `ngs`:
|
|
|
120
121
|
|
|
121
122
|
```bash
|
|
122
123
|
conda install -n ngs -c bioconda -c conda-forge mafft trimal iqtree fasttree ete3
|
|
123
|
-
python -m pip install "
|
|
124
|
+
python -m pip install "CodonAdaptPy[phylo]"
|
|
124
125
|
```
|
|
125
126
|
|
|
126
|
-
CodonAdaptPy reports a missing executable instead of silently substituting
|
|
127
|
-
|
|
127
|
+
CodonAdaptPy reports a missing executable instead of silently substituting an
|
|
128
|
+
alternative method. Publication mode requires trimAL unless `--no-trim` is
|
|
128
129
|
explicitly selected.
|
|
129
130
|
|
|
130
131
|
For development:
|
|
@@ -147,7 +148,7 @@ codonadaptpy analyze coding_sequences.fasta \
|
|
|
147
148
|
--output results
|
|
148
149
|
```
|
|
149
150
|
|
|
150
|
-
Compare the same sequences
|
|
151
|
+
Compare the same sequences against multiple host reference profiles:
|
|
151
152
|
|
|
152
153
|
```bash
|
|
153
154
|
codonadaptpy compare coding_sequences.fasta \
|
|
@@ -178,7 +179,7 @@ ATG...TAA
|
|
|
178
179
|
ATG...TAA
|
|
179
180
|
```
|
|
180
181
|
|
|
181
|
-
For a FASTA plus a separate metadata file, pass `--metadata metadata.csv`. During genome-wide aggregation every CDS is validated independently, its reading frame
|
|
182
|
+
For a FASTA plus a separate metadata file, pass `--metadata metadata.csv`. During genome-wide aggregation, every CDS is validated independently, its reading frame restarts at position zero, its terminal stop is removed, and no nucleotide word or codon pair is counted across gene boundaries.
|
|
182
183
|
|
|
183
184
|
Build a versioned reference profile from highly expressed coding sequences:
|
|
184
185
|
|
|
@@ -222,8 +223,8 @@ codonadaptpy phylogeny f_gene_sequences.fasta \
|
|
|
222
223
|
```
|
|
223
224
|
|
|
224
225
|
This produces ML and time-tree figures, a root-to-tip regression, dated Newick,
|
|
225
|
-
lineage-through-time output, and JSON provenance. The
|
|
226
|
-
|
|
226
|
+
lineage-through-time output, and JSON provenance. The time tree and LTT curve
|
|
227
|
+
are rapid, deterministic diagnostics—not relaxed-clock posterior
|
|
227
228
|
dating, effective population-size inference, or 95% HPD intervals.
|
|
228
229
|
|
|
229
230
|
## Python API
|
|
@@ -249,7 +250,7 @@ print(result.metrics["enc"])
|
|
|
249
250
|
print(result.metrics["gc3"])
|
|
250
251
|
```
|
|
251
252
|
|
|
252
|
-
Create a publication-ready figure
|
|
253
|
+
Create a publication-ready figure with CodonAdaptPy:
|
|
253
254
|
|
|
254
255
|
```python
|
|
255
256
|
from codonadaptpy import PublicationPlotManager
|
|
@@ -264,7 +265,7 @@ plots.save(figure, "f_gene_diagnostics.pdf")
|
|
|
264
265
|
plots.save(figure, "f_gene_diagnostics.png", dpi=600)
|
|
265
266
|
```
|
|
266
267
|
|
|
267
|
-
Run phylogenetics through the
|
|
268
|
+
Run phylogenetics through the Python API:
|
|
268
269
|
|
|
269
270
|
```python
|
|
270
271
|
from codonadaptpy import ETE3TreePlotter, PhylogeneticAnalyzer, TemporalAnalyzer
|
|
@@ -300,7 +301,7 @@ JSON profiles preserve provenance and versioning:
|
|
|
300
301
|
}
|
|
301
302
|
```
|
|
302
303
|
|
|
303
|
-
Missing sense codons are
|
|
304
|
+
Missing sense codons are represented by zero counts during validation. CSV/TSV profiles use `codon,count` or `codon,frequency` columns. The only bundled profile is `uniform_standard`, an explicitly non-biological testing baseline; biological host profiles must retain a documented source and release.
|
|
304
305
|
|
|
305
306
|
## CAI edge-case policy
|
|
306
307
|
|
|
@@ -329,7 +330,7 @@ Every analysis captures CodonAdaptPy and Python versions, UTC analysis time, gen
|
|
|
329
330
|
```text
|
|
330
331
|
src/codonadaptpy/
|
|
331
332
|
├── aggregation.py # Per-isolate gene and genome-wide CDS scopes
|
|
332
|
-
├── analyzer.py # Main
|
|
333
|
+
├── analyzer.py # Main analysis API
|
|
333
334
|
├── comparative.py # Group and multivariate analysis
|
|
334
335
|
├── genetic_code.py # Translation tables and codon families
|
|
335
336
|
├── metrics/ # Adaptation, usage, composition, pair, host, evolution
|
|
@@ -342,5 +343,5 @@ src/codonadaptpy/
|
|
|
342
343
|
├── reporting.py # JSON/CSV/Excel/HTML/PDF/FASTA output
|
|
343
344
|
├── validation.py # Coding-sequence quality control
|
|
344
345
|
├── visualization.py # Interactive and static plots
|
|
345
|
-
└── cli.py #
|
|
346
|
+
└── cli.py # Command-line subcommands
|
|
346
347
|
```
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
codonadaptpy/__init__.py,sha256=8fxZkJg29VWN-vjLrbu5tUbfx-JixOt2o_cPRqfLpuY,2256
|
|
2
|
+
codonadaptpy/__main__.py,sha256=uy-5SolGVfIG888vEjFk8XsHCjXCxu44KbhIEMkDIRY,387
|
|
3
|
+
codonadaptpy/__version__.py,sha256=OqShTPxZSIGVi6gNd0AjwFDTDLQFtaZZ8x8JWIkPISE,597
|
|
4
|
+
codonadaptpy/aggregation.py,sha256=LFzuMNUIykot2Ebs0K9UPF81ytRc8VLTzprW6ICMHVY,3734
|
|
5
|
+
codonadaptpy/analyzer.py,sha256=DtXmsF8bq-6lCJ9EWKK2I778hbUijx-vyZ5a3TKrJaA,12197
|
|
6
|
+
codonadaptpy/cli.py,sha256=NNmXkatS6EQjRp6kmkvdgfPHMncnMG3KMYV0O7Q0tA0,19532
|
|
7
|
+
codonadaptpy/comparative.py,sha256=cvT6A1uzRvLCufafIRh1JTrk7zqrFxAvnt8bRJnORFI,25160
|
|
8
|
+
codonadaptpy/exceptions.py,sha256=-t0n7na_8LvDAlN69w6rCbb5YzHW1mL8k-JrNoBSrZQ,1407
|
|
9
|
+
codonadaptpy/genetic_code.py,sha256=M22CJPqwysBFIKqnVCjB8JJzE1XG3E_gBJqRFcx6D1I,3898
|
|
10
|
+
codonadaptpy/models.py,sha256=-McJC8aSHP1EWTC_Uv4kfJcWvnYeKw0c3UIXr0ykvWM,4068
|
|
11
|
+
codonadaptpy/optimizer.py,sha256=Eg6z7Yx5YsugcOB-ZwVVeY6-jfo32AxXKQGvy5E-TJA,8651
|
|
12
|
+
codonadaptpy/parsers.py,sha256=tUTbSU5ZVTI-sa14KIBjjPiTTR0KnrpMhD6Ag9OUD80,10346
|
|
13
|
+
codonadaptpy/phylo_visualization.py,sha256=suRxO95atpOMB3LnskI3a1x-Zk_ge-r2G7kMH4EkNsg,13982
|
|
14
|
+
codonadaptpy/phylogenetics.py,sha256=LUn0smHfjfaX9rxqIlE4qLBMX9gwIJYUdtByy1HJ_WQ,25353
|
|
15
|
+
codonadaptpy/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
16
|
+
codonadaptpy/references.py,sha256=u4Y6irSzzRE0kOPuUJD7DrPGIgQmUfWrMf_SbFSYtt8,6751
|
|
17
|
+
codonadaptpy/reporting.py,sha256=bd5F64GhIkTK3mkkwwLVOCvTVOSKmTVG9qpbuhul4I8,7493
|
|
18
|
+
codonadaptpy/validation.py,sha256=sArpX4terUcJstOVM61ydWCgpej_3YUZr2x8HardgPU,6948
|
|
19
|
+
codonadaptpy/visualization.py,sha256=p1cIc-lLr5nG2W6vS2USflSSYuThF9K7b85OLKY5OP8,45906
|
|
20
|
+
codonadaptpy/metrics/__init__.py,sha256=CANoJghz7vGj8FBTHafk4ZcLnf_vvT4DA1cUCPUMCck,732
|
|
21
|
+
codonadaptpy/metrics/adaptation.py,sha256=xE9tgrurI4---yXxdCoR0x55NFJcSlV4LNSs4jwEgqY,5706
|
|
22
|
+
codonadaptpy/metrics/composition.py,sha256=ASJWyyh2SEjP1Rg-e1X5_vH27jzDZenwKU5LkjjkZvg,6994
|
|
23
|
+
codonadaptpy/metrics/evolutionary.py,sha256=vJkbI-rOg1Op6HC9Zly1VTe1-evG3hnqyJ2KOVe7HSE,2309
|
|
24
|
+
codonadaptpy/metrics/host.py,sha256=Z4xJZhalFTsOVdaLCNhO_B_bvvNX_RovL0u_Z4uCN1A,6249
|
|
25
|
+
codonadaptpy/metrics/pairs.py,sha256=u7BxP7e9GpKNYZgfApKQPO77MZ6Sukjs8fqrjYw1JXk,4135
|
|
26
|
+
codonadaptpy/metrics/usage.py,sha256=i-acA6LiFG78gGetNdHE2JSOAOXZkCLEaBQe-YTR2Gk,6840
|
|
27
|
+
codonadaptpy-1.0.1.dist-info/licenses/LICENSE,sha256=Y8C8KvP2FqJGR7H8PH8UxtOr7NiQ0lpcsgLFat1Qbpc,556
|
|
28
|
+
codonadaptpy-1.0.1.dist-info/METADATA,sha256=pyjceJSox2qU0CrQ6HCAIiBgg1jpA7phKm9kHqIjySs,14034
|
|
29
|
+
codonadaptpy-1.0.1.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
|
|
30
|
+
codonadaptpy-1.0.1.dist-info/entry_points.txt,sha256=iaV2pRT3vmG4fYivmXzRNuu7rPnbArJYLFszpsL5eNM,55
|
|
31
|
+
codonadaptpy-1.0.1.dist-info/top_level.txt,sha256=5r4PMFuAP2s36i6CK64nPkt9ZH51eXprsvPdI-v7ayQ,13
|
|
32
|
+
codonadaptpy-1.0.1.dist-info/RECORD,,
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
codonadaptpy/__init__.py,sha256=FLPd1aGwQjXdiuw6eoesyT78vq77RhQQLwW6AYe5EI4,2276
|
|
2
|
-
codonadaptpy/__main__.py,sha256=H5y_OyzehFZpFESJOZ1R0W-hpEca-i05eKbE3ZvH6nU,387
|
|
3
|
-
codonadaptpy/__version__.py,sha256=iV4XEcym0Bm9zIBm3rmmhXXmjsWzeznXgsyq810nHuA,597
|
|
4
|
-
codonadaptpy/aggregation.py,sha256=NQtY6S9zAupX75R7kK8eGDdtZCNT6KxY9ddm3_N9C7k,3740
|
|
5
|
-
codonadaptpy/analyzer.py,sha256=tbWd802TdyGZ3xd3qU071SuO7Ly9EmKOMG23dRYh5nk,12207
|
|
6
|
-
codonadaptpy/cli.py,sha256=DSe0M7fuDeNjqaN7SkZBftcB4R-dzgBib7mxW8W3-a0,19554
|
|
7
|
-
codonadaptpy/comparative.py,sha256=EXAA_Gb_8lsRdBVuuTNjLSo6_c0bCUUd8tMJLu47nuY,25160
|
|
8
|
-
codonadaptpy/exceptions.py,sha256=rdWmDnoDxLFFc_YcOJhHUZzkgXYbzLzGpNxQ_ivtYsY,1407
|
|
9
|
-
codonadaptpy/genetic_code.py,sha256=bB8TQ8FSCSB6PgP-MK-NuHzGdxwOFQ6C6NULjka471I,3898
|
|
10
|
-
codonadaptpy/models.py,sha256=i_rf6pKVa9ylZUCNQKiktUyjeoa16dkZl-TBhoN5qRE,4064
|
|
11
|
-
codonadaptpy/optimizer.py,sha256=5qJWtIZzP81nS5t_0Hap6xGF-YEydKDpoT2HbhhyN5U,8651
|
|
12
|
-
codonadaptpy/parsers.py,sha256=bEqsGJmmAV-3pwDpm8xmy6UVtD38AJWDT_XIKbMmjJA,10346
|
|
13
|
-
codonadaptpy/phylo_visualization.py,sha256=qTEOZXQ1w8pN-vigRQN8b-d9hwp56Vo3jFrUEKacO5I,13982
|
|
14
|
-
codonadaptpy/phylogenetics.py,sha256=n9LI84WIW3_ITQgmbQGPCS4VrW-Dp01kWvwZyKYmILM,25354
|
|
15
|
-
codonadaptpy/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
16
|
-
codonadaptpy/references.py,sha256=p-c_nXtcDBJ0hdgeq89yIfyS4p_lwk4Vx_GY-S3Sqao,6751
|
|
17
|
-
codonadaptpy/reporting.py,sha256=GCk0ES8e2DbBnvr90TD8tQgFbic96aynnvtOQ7w5gCY,7502
|
|
18
|
-
codonadaptpy/validation.py,sha256=453n-n3uh91_YcnYtQXsKE6pH-Jy4uicgBX-7AchGaE,6949
|
|
19
|
-
codonadaptpy/visualization.py,sha256=iOtiFIzmxX0LOufcyblec1YgbWueLongUw-z0T9yO4c,45906
|
|
20
|
-
codonadaptpy/metrics/__init__.py,sha256=6RYHb0kYxujOHbikZFKXPSwu9nsWHUq6r4NixKT9YjU,732
|
|
21
|
-
codonadaptpy/metrics/adaptation.py,sha256=lMNwSOLiaP4t6QZb6l7KSNIC63PYq1Nhe6P3ZKdQ59k,5706
|
|
22
|
-
codonadaptpy/metrics/composition.py,sha256=qYZsJPr1q37smxhrj9ER-G7Ms-fULuTW_NkDsa2v834,6994
|
|
23
|
-
codonadaptpy/metrics/evolutionary.py,sha256=01s8uby85qIPXr7ra7VqbwYHbFxcQD6VS2jVn61Bxuo,2309
|
|
24
|
-
codonadaptpy/metrics/host.py,sha256=9FV4rZVRNAmu9LPyYi3pG-0V0WkbwHySF4X5dd04x4M,6247
|
|
25
|
-
codonadaptpy/metrics/pairs.py,sha256=5pWHNHjocZL5hbIE5J9MtB6uKUz4furEcVlBaG-xy9E,4135
|
|
26
|
-
codonadaptpy/metrics/usage.py,sha256=2TpXW9q724drTCNVrdDGuc0Z4JrLechv8OyxfQnJLic,6849
|
|
27
|
-
codonadaptpy-1.0.0.dist-info/licenses/LICENSE,sha256=Y8C8KvP2FqJGR7H8PH8UxtOr7NiQ0lpcsgLFat1Qbpc,556
|
|
28
|
-
codonadaptpy-1.0.0.dist-info/METADATA,sha256=o_Z6M2jeWvTeAo7R7BBuCAFekaLYZGef2a3R7qAIzxQ,13892
|
|
29
|
-
codonadaptpy-1.0.0.dist-info/WHEEL,sha256=K260EYznzXsJYBQGqmI8VTxEdiZYNvDZwW9cBh9-_MA,91
|
|
30
|
-
codonadaptpy-1.0.0.dist-info/entry_points.txt,sha256=iaV2pRT3vmG4fYivmXzRNuu7rPnbArJYLFszpsL5eNM,55
|
|
31
|
-
codonadaptpy-1.0.0.dist-info/top_level.txt,sha256=5r4PMFuAP2s36i6CK64nPkt9ZH51eXprsvPdI-v7ayQ,13
|
|
32
|
-
codonadaptpy-1.0.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|