phykit 2.1.0__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.
Files changed (69) hide show
  1. phykit/__init__.py +0 -0
  2. phykit/__main__.py +6 -0
  3. phykit/helpers/__init__.py +0 -0
  4. phykit/helpers/boolean_argument_parsing.py +12 -0
  5. phykit/helpers/caching.py +201 -0
  6. phykit/helpers/files.py +125 -0
  7. phykit/helpers/parallel.py +305 -0
  8. phykit/helpers/stats_summary.py +64 -0
  9. phykit/helpers/streaming.py +152 -0
  10. phykit/phykit.py +2862 -0
  11. phykit/services/__init__.py +0 -0
  12. phykit/services/alignment/__init__.py +17 -0
  13. phykit/services/alignment/alignment_length.py +16 -0
  14. phykit/services/alignment/alignment_length_no_gaps.py +69 -0
  15. phykit/services/alignment/alignment_recoding.py +89 -0
  16. phykit/services/alignment/base.py +103 -0
  17. phykit/services/alignment/column_score.py +66 -0
  18. phykit/services/alignment/compositional_bias_per_site.py +98 -0
  19. phykit/services/alignment/create_concatenation_matrix.py +254 -0
  20. phykit/services/alignment/dna_threader.py +145 -0
  21. phykit/services/alignment/evolutionary_rate_per_site.py +85 -0
  22. phykit/services/alignment/faidx.py +21 -0
  23. phykit/services/alignment/gc_content.py +94 -0
  24. phykit/services/alignment/pairwise_identity.py +159 -0
  25. phykit/services/alignment/parsimony_informative_sites.py +81 -0
  26. phykit/services/alignment/rcv.py +14 -0
  27. phykit/services/alignment/rcvt.py +47 -0
  28. phykit/services/alignment/rename_fasta_entries.py +53 -0
  29. phykit/services/alignment/sum_of_pairs_score.py +157 -0
  30. phykit/services/alignment/variable_sites.py +54 -0
  31. phykit/services/base.py +9 -0
  32. phykit/services/tree/__init__.py +29 -0
  33. phykit/services/tree/base.py +178 -0
  34. phykit/services/tree/bipartition_support_stats.py +48 -0
  35. phykit/services/tree/branch_length_multiplier.py +37 -0
  36. phykit/services/tree/collapse_branches.py +27 -0
  37. phykit/services/tree/covarying_evolutionary_rates.py +272 -0
  38. phykit/services/tree/dvmc.py +37 -0
  39. phykit/services/tree/evolutionary_rate.py +17 -0
  40. phykit/services/tree/hidden_paralogy_check.py +128 -0
  41. phykit/services/tree/internal_branch_stats.py +77 -0
  42. phykit/services/tree/internode_labeler.py +33 -0
  43. phykit/services/tree/last_common_ancestor_subtree.py +35 -0
  44. phykit/services/tree/lb_score.py +196 -0
  45. phykit/services/tree/monophyly_check.py +106 -0
  46. phykit/services/tree/nearest_neighbor_interchange.py +140 -0
  47. phykit/services/tree/patristic_distances.py +113 -0
  48. phykit/services/tree/polytomy_test.py +546 -0
  49. phykit/services/tree/print_tree.py +28 -0
  50. phykit/services/tree/prune_tree.py +40 -0
  51. phykit/services/tree/rename_tree_tips.py +64 -0
  52. phykit/services/tree/rf_distance.py +136 -0
  53. phykit/services/tree/root_tree.py +35 -0
  54. phykit/services/tree/saturation.py +209 -0
  55. phykit/services/tree/spurious_sequence.py +75 -0
  56. phykit/services/tree/terminal_branch_stats.py +87 -0
  57. phykit/services/tree/tip_labels.py +18 -0
  58. phykit/services/tree/tip_to_tip_distance.py +41 -0
  59. phykit/services/tree/tip_to_tip_node_distance.py +41 -0
  60. phykit/services/tree/total_tree_length.py +25 -0
  61. phykit/services/tree/treeness.py +16 -0
  62. phykit/services/tree/treeness_over_rcv.py +40 -0
  63. phykit/version.py +1 -0
  64. phykit-2.1.0.dist-info/METADATA +150 -0
  65. phykit-2.1.0.dist-info/RECORD +69 -0
  66. phykit-2.1.0.dist-info/WHEEL +5 -0
  67. phykit-2.1.0.dist-info/entry_points.txt +121 -0
  68. phykit-2.1.0.dist-info/licenses/LICENSE.md +7 -0
  69. phykit-2.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,40 @@
1
+ from enum import Enum
2
+ from typing import Dict
3
+
4
+ from .base import Tree
5
+ from ..alignment.base import Alignment
6
+
7
+
8
+ # TODO: Here next
9
+ class FileFormat(Enum):
10
+ fasta = "fasta"
11
+ clustal = "clustal"
12
+ maf = "maf"
13
+ mauve = "mauve"
14
+ phylip = "phylip"
15
+ phylip_seq = "phylip-sequential"
16
+ phylip_rel = "phylip-relaxed"
17
+ stockholm = "stockholm"
18
+
19
+
20
+ class TreenessOverRCV(Tree):
21
+ def __init__(self, args) -> None:
22
+ super().__init__(**self.process_args(args))
23
+
24
+ def run(self):
25
+ treeness = self.calculate_treeness()
26
+
27
+ aln = Alignment(alignment_file_path=self.alignment_file_path)
28
+ relative_composition_variability = aln.calculate_rcv()
29
+
30
+ treeness_over_rcv = treeness / relative_composition_variability
31
+
32
+ print(
33
+ f"{round(treeness_over_rcv, 4)}\t{round(treeness, 4)}\t{round(relative_composition_variability, 4)}"
34
+ )
35
+
36
+ def process_args(self, args) -> Dict[str, str]:
37
+ return dict(
38
+ tree_file_path=args.tree,
39
+ alignment_file_path=args.alignment,
40
+ )
phykit/version.py ADDED
@@ -0,0 +1 @@
1
+ __version__ = "2.1.0"
@@ -0,0 +1,150 @@
1
+ Metadata-Version: 2.4
2
+ Name: phykit
3
+ Version: 2.1.0
4
+ Home-page: https://github.com/jlsteenwyk/phykit
5
+ Author: Jacob L. Steenwyk
6
+ Author-email: jlsteenwyk@gmail.com
7
+ Classifier: Operating System :: OS Independent
8
+ Classifier: Intended Audience :: Science/Research
9
+ Classifier: Programming Language :: Python
10
+ Classifier: Programming Language :: Python :: 3.9
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Topic :: Scientific/Engineering
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE.md
16
+ Requires-Dist: biopython>=1.82
17
+ Requires-Dist: numpy>=1.24.0
18
+ Requires-Dist: scipy>=1.11.3
19
+ Requires-Dist: scikit-learn>=1.4.2
20
+ Requires-Dist: cython
21
+ Requires-Dist: tqdm>=4.65.0
22
+ Dynamic: author
23
+ Dynamic: author-email
24
+ Dynamic: classifier
25
+ Dynamic: description
26
+ Dynamic: description-content-type
27
+ Dynamic: home-page
28
+ Dynamic: license-file
29
+ Dynamic: requires-dist
30
+
31
+ <p align="center">
32
+ <a href="https://github.com/jlsteenwyk/phykit">
33
+ <img src="https://raw.githubusercontent.com/JLSteenwyk/PhyKIT/master/docs/_static/img/phykit_logo.png" alt="Logo" width="400">
34
+ </a>
35
+ <p align="center">
36
+ <a href="https://jlsteenwyk.com/PhyKIT/">Docs</a>
37
+ ·
38
+ <a href="https://github.com/jlsteenwyk/phykit/issues">Report Bug</a>
39
+ ·
40
+ <a href="https://github.com/jlsteenwyk/phykit/issues">Request Feature</a>
41
+ </p>
42
+ <p align="center">
43
+ <a href="https://github.com/JLSteenwyk/PhyKIT/actions" alt="Build">
44
+ <img src="https://img.shields.io/github/actions/workflow/status/JLSteenwyk/PhyKIT/ci.yml?branch=master">
45
+ </a>
46
+ <a href="https://codecov.io/gh/jlsteenwyk/phykit" alt="Coverage">
47
+ <img src="https://codecov.io/gh/jlsteenwyk/phykit/branch/master/graph/badge.svg?token=0J49I6441V">
48
+ </a>
49
+ <a href="https://github.com/jlsteenwyk/phykit/graphs/contributors" alt="Contributors">
50
+ <img src="https://img.shields.io/github/contributors/jlsteenwyk/phykit">
51
+ </a>
52
+ <a href="https://bsky.app/profile/jlsteenwyk.bsky.social" target="_blank" rel="noopener noreferrer">
53
+ <img src="https://img.shields.io/badge/Bluesky-0285FF?logo=bluesky&logoColor=fff">
54
+ </a>
55
+ <br />
56
+ <a href="https://pepy.tech/badge/phykit">
57
+ <img src="https://static.pepy.tech/personalized-badge/phykit?period=total&units=international_system&left_color=grey&right_color=blue&left_text=PyPi%20Downloads">
58
+ </a>
59
+ <a href="https://lbesson.mit-license.org/" alt="License">
60
+ <img src="https://img.shields.io/badge/License-MIT-blue.svg">
61
+ </a>
62
+ <a href="https://pypi.org/project/phykit/" alt="PyPI - Python Version">
63
+ <img src="https://img.shields.io/pypi/pyversions/phykit">
64
+ </a>
65
+ <a href="https://academic.oup.com/bioinformatics/article-abstract/37/16/2325/6131675?redirectedFrom=fulltext">
66
+ <img src="https://zenodo.org/badge/DOI/10.1093/bioinformatics/btab096.svg">
67
+ </a>
68
+ </p>
69
+ </p>
70
+
71
+ PhyKIT is a UNIX shell toolkit for processing and analyzing phylogenomic data.<br /><br />
72
+ If you found PhyKIT useful, please cite *PhyKIT: a broadly applicable UNIX shell toolkit for processing and analyzing phylogenomic data*. Bioinformatics. doi: [10.1093/bioinformatics/btab096](https://academic.oup.com/bioinformatics/advance-article-abstract/doi/10.1093/bioinformatics/btab096/6131675).
73
+ <br /><br />
74
+
75
+ ---
76
+
77
+ This documentation covers downloading and installing PhyKIT. Details about each function as well as tutorials for using PhyKIT are available in the <a href="https://jlsteenwyk.com/PhyKIT/">online documentation</a>.
78
+
79
+ <br />
80
+
81
+ **Quick Start**
82
+
83
+ ```shell
84
+ # install
85
+ pip install phykit
86
+ # run
87
+ phykit <function> <input file>
88
+ ```
89
+
90
+ <br />
91
+
92
+ **Installation** <br />
93
+
94
+ **If you are having trouble installing PhyKIT, please contact the lead developer, Jacob L. Steenwyk, via [email](https://jlsteenwyk.com/contact.html) or [twitter](https://twitter.com/jlsteenwyk) to get help.**
95
+
96
+ To install using *pip*, we strongly recommend building a virtual environment to avoid software dependency issues. To do so, execute the following commands:
97
+ ```shell
98
+ # create virtual environment
99
+ python -m venv .venv
100
+ # activate virtual environment
101
+ source .venv/bin/activate
102
+ # install phykit
103
+ pip install phykit
104
+ ```
105
+
106
+ **Note, the virtual environment must be activated to use phykit.**
107
+
108
+ After using PhyKIT, you may wish to deactivate your virtual environment and can do so using the following command:
109
+ ```shell
110
+ # deactivate virtual environment
111
+ deactivate
112
+ ```
113
+
114
+ <br />
115
+
116
+ Similarly, to install from source, we strongly recommend using a virtual environment. To do so, use the following commands:
117
+ ```shell
118
+ # download
119
+ git clone https://github.com/JLSteenwyk/PhyKIT.git
120
+ cd PhyKIT/
121
+ # create virtual environment
122
+ python -m venv .venv
123
+ # activate virtual environment
124
+ source .venv/bin/activate
125
+ # install
126
+ make install
127
+ ```
128
+ To deactivate your virtual environment, use the following command:
129
+ ```shell
130
+ # deactivate virtual environment
131
+ deactivate
132
+ ```
133
+ **Note, the virtual environment must be activated to use phykit.**
134
+
135
+ <br />
136
+
137
+ To install via anaconda, execute the following command:
138
+ ```shell
139
+ conda install bioconda::phykit
140
+ ```
141
+ Visit here for more information:
142
+ https://anaconda.org/bioconda/phykit
143
+
144
+ <br />
145
+
146
+ To test phykit installation, launch the help message
147
+
148
+ ```shell
149
+ phykit -h
150
+ ```
@@ -0,0 +1,69 @@
1
+ phykit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ phykit/__main__.py,sha256=bE_-UmloutmWmtdkWVZZ-kk_b6yLh1JloMPwSRd-CkY,113
3
+ phykit/phykit.py,sha256=WQjA6dq8EjvXcrIryW0hD7EmUEgsAJf_pP7MzcJegdI,112299
4
+ phykit/version.py,sha256=Xybt2skBZamGMNlLuOX1IG-h4uIxqUDGAO8MIGWrJac,22
5
+ phykit/helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ phykit/helpers/boolean_argument_parsing.py,sha256=zD0h93gY-j_rAW9NRtRqcl9wWkvfjeBbEHV3yELO9Ck,282
7
+ phykit/helpers/caching.py,sha256=7cRwj37Wg3pkxFbk7H3QztvqGFQgPp4q8cy4MuaDIxQ,5606
8
+ phykit/helpers/files.py,sha256=H9s-BdfxCrvNBG_3PA13VyhkosgIX4BwoXyIzKpf8DQ,4164
9
+ phykit/helpers/parallel.py,sha256=PP3I2NR1okxwBuk9ykz8CTlDcpLgOerX96gaiAGctFU,8668
10
+ phykit/helpers/stats_summary.py,sha256=-6GYDMXGOE_GzTcYL0QRpg9_wSxUDNgKy-APeH_FGow,2266
11
+ phykit/helpers/streaming.py,sha256=otvMXPCaewlAqP8Uz5ZtI4o2geGDB_GzYJOhVF6UHVk,4552
12
+ phykit/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
+ phykit/services/base.py,sha256=5Uiy18sabf5RjuxujMhtrhrbxKZAqJLiNbbWcAIOV78,191
14
+ phykit/services/alignment/__init__.py,sha256=6QtEQBp08WBlJKnYMbBETYYitSIJUrpJZPPKmEXh6ig,843
15
+ phykit/services/alignment/alignment_length.py,sha256=KFMd05fEEQYDMvhTbpZ-Z3sjPB-5pxzGq3T9ig_YzPM,448
16
+ phykit/services/alignment/alignment_length_no_gaps.py,sha256=oZE20pYLUBKNAybDI0AZnWF2pQ2lMRqFg31fE1wACO0,2012
17
+ phykit/services/alignment/alignment_recoding.py,sha256=RltRrK5w7_f4aWd_9UKYuZ6LXu3aCpoFWuHInOcnZxw,2693
18
+ phykit/services/alignment/base.py,sha256=bL2YcBD94hALnaeKAByZyfltY6771Pq2T2LjFLF_yG0,3543
19
+ phykit/services/alignment/column_score.py,sha256=yNBPB25Cycsh3fepi-Sb8AOl8zN6tLvNUjxHewHEzZA,2155
20
+ phykit/services/alignment/compositional_bias_per_site.py,sha256=ZeQpYqizf6x3CxcXfeRdUK6pGIDlDm7Q4vv1Bk-0aqQ,3296
21
+ phykit/services/alignment/create_concatenation_matrix.py,sha256=0ZZH6vN8FlOFs42s6tn1pZCiWZfARnWJ4pHBKgOiA2g,10171
22
+ phykit/services/alignment/dna_threader.py,sha256=LaP-Aor-vG1tacEKcf7OmSxtJuLLxlMePUtFpd3ehYk,5337
23
+ phykit/services/alignment/evolutionary_rate_per_site.py,sha256=97bfdKh-5fZ0vog27nCmGQvqRHu-zZ2Q6VN4EaPp2I8,2723
24
+ phykit/services/alignment/faidx.py,sha256=RDvv-_yqaq9zHwBShE7tcWi9VBOwAS1XK4yaqltEmg8,564
25
+ phykit/services/alignment/gc_content.py,sha256=WYDeDywBhyfXJB-KRGujKml3HWo5thUln1tWaqIDaxs,3075
26
+ phykit/services/alignment/pairwise_identity.py,sha256=Xckas7ezlySU_Fo0vWBzqI8a9cu5tru1SkGRJP9GbpU,5932
27
+ phykit/services/alignment/parsimony_informative_sites.py,sha256=vsdlt9tpTXiqF8BI2Bv4IRRGab-wztt3Us4ntArHEus,2651
28
+ phykit/services/alignment/rcv.py,sha256=Vsz8otx2WWYYFho4uE0hYCd6w93Xwx2uGKcXhGSJa6Y,435
29
+ phykit/services/alignment/rcvt.py,sha256=2inrM0683cPdLGZXomCjehMlin_vWeR_B_r9-ASAjcs,1863
30
+ phykit/services/alignment/rename_fasta_entries.py,sha256=qM2d4h7h9usagxBfTZwLHfUMbVI1RJU5kiYldTsngT8,1647
31
+ phykit/services/alignment/sum_of_pairs_score.py,sha256=-VUctpI1YJrbjOAKaEiyRwInqmcB8_J5tqbdoUijP1g,6798
32
+ phykit/services/alignment/variable_sites.py,sha256=QoB9QfV1sgJZc1Kq7D0SMR4h-VAO-M8XTuIz0ESF0_o,1672
33
+ phykit/services/tree/__init__.py,sha256=5JXLKkqGN3Z6AgoQjLZhOTo_8H4yjsZlsDqCtlhH0vw,1372
34
+ phykit/services/tree/base.py,sha256=PPx5neXZsGesXmjQMxwL6g_fz6UAgYIo2cMKkh2-yBs,5820
35
+ phykit/services/tree/bipartition_support_stats.py,sha256=ww7bJX_3Z7ugjAb4mvGZzyhJnZHrvfksqZRi9IlHSwA,1576
36
+ phykit/services/tree/branch_length_multiplier.py,sha256=jYjPFW6cJdMkCsIeKpf30kvEDz8IIgrnzm51QEBd1Ys,1126
37
+ phykit/services/tree/collapse_branches.py,sha256=2ec5K9pJkwsEM8iZnQ9anJKe9INnUyNY3-kl0CQazuU,816
38
+ phykit/services/tree/covarying_evolutionary_rates.py,sha256=qRHSBGtDKVeunu4TOgxP9O8lf8xMoLYKkBghe3SJ-K8,10625
39
+ phykit/services/tree/dvmc.py,sha256=2tU-7JQ8CtojiIevylvrjl06tCJrOk029uJSyq7nXI0,1060
40
+ phykit/services/tree/evolutionary_rate.py,sha256=zqSMgQcyyccK-MJOksgXxUMu4myoKFHiWu4s3yd5v0o,495
41
+ phykit/services/tree/hidden_paralogy_check.py,sha256=EUEdwHN2ztToCEr-yVDAQhT-0vBkiMCyRMMWkXtJy4c,4717
42
+ phykit/services/tree/internal_branch_stats.py,sha256=_hOqIENDTbyWwzta2q7dSlokG-ms5nDbuMFdywuWjKI,2294
43
+ phykit/services/tree/internode_labeler.py,sha256=ieoU3crVwYn4QCfFjro9vTPd9VcwWJN5JfM2JZdl4JY,917
44
+ phykit/services/tree/last_common_ancestor_subtree.py,sha256=xHYlIMmjLFPjnqoghXeRj0aHC_D-cyCNqt7srntdKXk,1088
45
+ phykit/services/tree/lb_score.py,sha256=pofW3qmWX7AygjAu4IuUqozsMcuWrYVLgG1nnVcuYSE,6648
46
+ phykit/services/tree/monophyly_check.py,sha256=TXHAUgoavZ9Nk7PDUcrTrYRxFKv7YJDJzFSLCMKzTEI,3545
47
+ phykit/services/tree/nearest_neighbor_interchange.py,sha256=T-tNn7T7iSXMdFvnXheF06B63L5ftxDAM0ur42wM-lc,5653
48
+ phykit/services/tree/patristic_distances.py,sha256=jEk5Qwq1Qu_ASA4pi2rEF9uWxhpYXz6QgRxnj5JrfRs,3776
49
+ phykit/services/tree/polytomy_test.py,sha256=tx6akImmlhxNwFRjrPDtHbqevrqajNNsLXuhC9hxRT8,21065
50
+ phykit/services/tree/print_tree.py,sha256=7yJNjrfXsh6CSvp6E5rEE9IbzpAsZc6bss_O2G5mEFU,716
51
+ phykit/services/tree/prune_tree.py,sha256=47vu9-awiTRJNdzNfb1fS7FlgzJtjUMUnjXO_8qYrHw,1206
52
+ phykit/services/tree/rename_tree_tips.py,sha256=9ToyYtJkJljwoVN1ni37uva5qeW9Hd0MB06slTQpKfk,1707
53
+ phykit/services/tree/rf_distance.py,sha256=zn1indM8GGQNbQKyyiL3tk_T0MbZgJozJSRQ_970RhI,5237
54
+ phykit/services/tree/root_tree.py,sha256=4fwe_yRg3pO15FAG1Jse2JSIqYckpOcXwCT_lw26p2k,962
55
+ phykit/services/tree/saturation.py,sha256=A6AJ2TsWWcrcyve8rLMcVqjfeHo4fHuOB43PBbdJfCE,7034
56
+ phykit/services/tree/spurious_sequence.py,sha256=lExV6ogxJCTbGWFusgY3uqBZYXMghq2xG2P6qYgvtYM,2122
57
+ phykit/services/tree/terminal_branch_stats.py,sha256=BtRkvRNp-A53St6B3qEowrN4oq-nhAIizR2g55pBImo,2575
58
+ phykit/services/tree/tip_labels.py,sha256=JDhNo-I3jcG1nAEKWSfWJXEH4Imub4iIc2dTbHW5Las,462
59
+ phykit/services/tree/tip_to_tip_distance.py,sha256=OHP0Wag6aIYnO_20oTtfWiDxqaeZRTNQi-pZJo2bvMA,1081
60
+ phykit/services/tree/tip_to_tip_node_distance.py,sha256=3hUncROX9-oTbVnt-WNlaVJDQnIXNK5magN5pbD0AWc,1085
61
+ phykit/services/tree/total_tree_length.py,sha256=vdOT7qygyFHavlB0dwfScFcLL3S6b4NikAGipjE_OKs,664
62
+ phykit/services/tree/treeness.py,sha256=xDisu6Co0hfeWo3fPG3SFXKgL6tt2vS9rgk8tNFqMWc,409
63
+ phykit/services/tree/treeness_over_rcv.py,sha256=JXf-LzDvV5ckj6DvaDrKOjyCiVN-UdLcMaQqUA6BBDI,1056
64
+ phykit-2.1.0.dist-info/licenses/LICENSE.md,sha256=S5sMP_xz_OTEdzTX7xK9cLnSzcSjv3asDzo17b4sPZ4,1078
65
+ phykit-2.1.0.dist-info/METADATA,sha256=hK7JsTrjI0c9J86MakxBOENb66E8YVp0-_1VX627Xow,5334
66
+ phykit-2.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
67
+ phykit-2.1.0.dist-info/entry_points.txt,sha256=Sjk6OdXt2ROk3mbU5z7_k5ps3akjoN20CclzRACtGVw,5814
68
+ phykit-2.1.0.dist-info/top_level.txt,sha256=bOMmJQrzcB3UDlMLE7OeP__Ek0x3D6KlKUI4XhDw-0U,7
69
+ phykit-2.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.9.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,121 @@
1
+ [console_scripts]
2
+ phykit = phykit.phykit:main
3
+ pk_al = phykit.phykit:alignment_length
4
+ pk_alignment_length = phykit.phykit:alignment_length
5
+ pk_alignment_length_no_gaps = phykit.phykit:alignment_length_no_gaps
6
+ pk_alignment_recoding = phykit.phykit:alignment_recoding
7
+ pk_aln_len = phykit.phykit:alignment_length
8
+ pk_aln_len_no_gaps = phykit.phykit:alignment_length_no_gaps
9
+ pk_aln_recoding = phykit.phykit:alignment_recoding
10
+ pk_alng = phykit.phykit:alignment_length_no_gaps
11
+ pk_bipartition_support_stats = phykit.phykit:bipartition_support_stats
12
+ pk_blm = phykit.phykit:branch_length_multiplier
13
+ pk_branch_length_multiplier = phykit.phykit:branch_length_multiplier
14
+ pk_bss = phykit.phykit:bipartition_support_stats
15
+ pk_cb = phykit.phykit:collapse_branches
16
+ pk_cbps = phykit.phykit:compositional_bias_per_site
17
+ pk_cc = phykit.phykit:create_concatenation_matrix
18
+ pk_clan_check = phykit.phykit:hidden_paralogy_check
19
+ pk_collapse = phykit.phykit:collapse_branches
20
+ pk_collapse_branches = phykit.phykit:collapse_branches
21
+ pk_column_score = phykit.phykit:column_score
22
+ pk_comp_bias_per_site = phykit.phykit:compositional_bias_per_site
23
+ pk_compositional_bias_per_site = phykit.phykit:compositional_bias_per_site
24
+ pk_covarying_evolutionary_rates = phykit.phykit:covarying_evolutionary_rates
25
+ pk_cover = phykit.phykit:covarying_evolutionary_rates
26
+ pk_create_concat = phykit.phykit:create_concatenation_matrix
27
+ pk_create_concatenation_matrix = phykit.phykit:create_concatenation_matrix
28
+ pk_cs = phykit.phykit:column_score
29
+ pk_degree_of_violation_of_a_molecular_clock = phykit.phykit:dvmc
30
+ pk_dvmc = phykit.phykit:dvmc
31
+ pk_erps = phykit.phykit:evolutionary_rate_per_site
32
+ pk_evo_rate = phykit.phykit:evolutionary_rate
33
+ pk_evo_rate_per_site = phykit.phykit:evolutionary_rate_per_site
34
+ pk_evolutionary_rate = phykit.phykit:evolutionary_rate
35
+ pk_evolutionary_rate_per_site = phykit.phykit:evolutionary_rate_per_site
36
+ pk_faidx = phykit.phykit:faidx
37
+ pk_gc = phykit.phykit:gc_content
38
+ pk_gc_content = phykit.phykit:gc_content
39
+ pk_ge = phykit.phykit:faidx
40
+ pk_get_entry = phykit.phykit:faidx
41
+ pk_hidden_paralogy_check = phykit.phykit:hidden_paralogy_check
42
+ pk_ibs = phykit.phykit:internal_branch_stats
43
+ pk_il = phykit.phykit:internode_labeler
44
+ pk_internal_branch_stats = phykit.phykit:internal_branch_stats
45
+ pk_internode_labeler = phykit.phykit:internode_labeler
46
+ pk_is_monophyletic = phykit.phykit:monophyly_check
47
+ pk_labels = phykit.phykit:tip_labels
48
+ pk_last_common_ancestor_subtree = phykit.phykit:last_common_ancestor_subtree
49
+ pk_lb_score = phykit.phykit:lb_score
50
+ pk_lbs = phykit.phykit:lb_score
51
+ pk_lca_subtree = phykit.phykit:last_common_ancestor_subtree
52
+ pk_long_branch_score = phykit.phykit:lb_score
53
+ pk_monophyly_check = phykit.phykit:monophyly_check
54
+ pk_nearest_neighbor_interchange = phykit.phykit:nearest_neighbor_interchange
55
+ pk_nni = phykit.phykit:nearest_neighbor_interchange
56
+ pk_p2n = phykit.phykit:thread_dna
57
+ pk_pairwise_id = phykit.phykit:pairwise_identity
58
+ pk_pairwise_identity = phykit.phykit:pairwise_identity
59
+ pk_pal2nal = phykit.phykit:thread_dna
60
+ pk_parsimony_informative_sites = phykit.phykit:parsimony_informative_sites
61
+ pk_patristic_distances = phykit.phykit:patristic_distances
62
+ pk_pd = phykit.phykit:patristic_distances
63
+ pk_pi = phykit.phykit:pairwise_identity
64
+ pk_pis = phykit.phykit:parsimony_informative_sites
65
+ pk_polyt = phykit.phykit:polytomy_test
66
+ pk_polyt_test = phykit.phykit:polytomy_test
67
+ pk_polytomy_test = phykit.phykit:polytomy_test
68
+ pk_print = phykit.phykit:print_tree
69
+ pk_print_tree = phykit.phykit:print_tree
70
+ pk_prune = phykit.phykit:prune_tree
71
+ pk_prune_tree = phykit.phykit:prune_tree
72
+ pk_pt = phykit.phykit:print_tree
73
+ pk_ptt = phykit.phykit:polytomy_test
74
+ pk_rcv = phykit.phykit:rcv
75
+ pk_rcvt = phykit.phykit:rcvt
76
+ pk_recode = phykit.phykit:alignment_recoding
77
+ pk_rel_comp_var = phykit.phykit:rcv
78
+ pk_rel_comp_var_taxon = phykit.phykit:rcvt
79
+ pk_relative_composition_variability = phykit.phykit:rcv
80
+ pk_relative_composition_variability_taxon = phykit.phykit:rcvt
81
+ pk_rename_fasta = phykit.phykit:rename_fasta_entries
82
+ pk_rename_fasta_entries = phykit.phykit:rename_fasta_entries
83
+ pk_rename_tips = phykit.phykit:rename_tree_tips
84
+ pk_rename_tree = phykit.phykit:rename_tree_tips
85
+ pk_rename_tree_tips = phykit.phykit:rename_tree_tips
86
+ pk_rf = phykit.phykit:rf_distance
87
+ pk_rf_dist = phykit.phykit:rf_distance
88
+ pk_rf_distance = phykit.phykit:rf_distance
89
+ pk_robinson_foulds_distance = phykit.phykit:rf_distance
90
+ pk_root = phykit.phykit:root_tree
91
+ pk_root_tree = phykit.phykit:root_tree
92
+ pk_rt = phykit.phykit:root_tree
93
+ pk_sat = phykit.phykit:saturation
94
+ pk_saturation = phykit.phykit:saturation
95
+ pk_sop = phykit.phykit:sum_of_pairs_score
96
+ pk_sops = phykit.phykit:sum_of_pairs_score
97
+ pk_spurious_seq = phykit.phykit:spurious_sequence
98
+ pk_spurious_sequence = phykit.phykit:spurious_sequence
99
+ pk_ss = phykit.phykit:spurious_sequence
100
+ pk_sum_of_pairs_score = phykit.phykit:sum_of_pairs_score
101
+ pk_t2t = phykit.phykit:tip_to_tip_distance
102
+ pk_t2t_dist = phykit.phykit:tip_to_tip_distance
103
+ pk_t2t_nd = phykit.phykit:tip_to_tip_node_distance
104
+ pk_t2t_node_dist = phykit.phykit:tip_to_tip_node_distance
105
+ pk_tbs = phykit.phykit:terminal_branch_stats
106
+ pk_terminal_branch_stats = phykit.phykit:terminal_branch_stats
107
+ pk_thread_dna = phykit.phykit:thread_dna
108
+ pk_tip_labels = phykit.phykit:tip_labels
109
+ pk_tip_to_tip_distance = phykit.phykit:tip_to_tip_distance
110
+ pk_tip_to_tip_node_distance = phykit.phykit:tip_to_tip_node_distance
111
+ pk_tl = phykit.phykit:tip_labels
112
+ pk_tness = phykit.phykit:treeness
113
+ pk_tor = phykit.phykit:treeness_over_rcv
114
+ pk_total_tree_length = phykit.phykit:total_tree_length
115
+ pk_toverr = phykit.phykit:treeness_over_rcv
116
+ pk_tree_labels = phykit.phykit:tip_labels
117
+ pk_tree_len = phykit.phykit:total_tree_length
118
+ pk_treeness = phykit.phykit:treeness
119
+ pk_treeness_over_rcv = phykit.phykit:treeness_over_rcv
120
+ pk_variable_sites = phykit.phykit:variable_sites
121
+ pk_vs = phykit.phykit:variable_sites
@@ -0,0 +1,7 @@
1
+ Copyright (c) 2020 Jacob L. Steenwyk and contributors
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1 @@
1
+ phykit