phynetpy 0.2.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.
Binary file
@@ -0,0 +1,52 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+
5
+ # C extensions
6
+ *.so
7
+
8
+ # Distribution / packaging
9
+ bin/
10
+ build/
11
+ develop-eggs/
12
+ dist/
13
+ eggs/
14
+ lib/
15
+ lib64/
16
+ parts/
17
+ sdist/
18
+ var/
19
+ Data/
20
+ Nexus/
21
+ *.egg-info/
22
+ .installed.cfg
23
+ *.egg
24
+
25
+ # Installer logs
26
+ pip-log.txt
27
+ pip-delete-this-directory.txt
28
+
29
+ # Unit test / coverage reports
30
+ .tox/
31
+ .coverage
32
+ .cache
33
+ nosetests.xml
34
+ coverage.xml
35
+
36
+ # Translations
37
+ *.mo
38
+
39
+ # Mr Developer
40
+ .mr.developer.cfg
41
+ .project
42
+ .pydevproject
43
+
44
+ # Rope
45
+ .ropeproject
46
+
47
+ # Django stuff:
48
+ *.log
49
+ *.pot
50
+
51
+ # Sphinx documentation
52
+ docs/_build/
phynetpy-0.2.0/LICENSE ADDED
@@ -0,0 +1,18 @@
1
+ Copyright 2025 Rice University Nakhleh Lab
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the “Software”), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
15
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
16
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,58 @@
1
+ Metadata-Version: 2.4
2
+ Name: phynetpy
3
+ Version: 0.2.0
4
+ Summary: A library and framework for Phylogenetics research, data analytics, networks inference, and network tooling.
5
+ Home-page: https://github.com/NakhlehLab/PhyNetPy
6
+ Author: Mark Kessler
7
+ Author-email: mak17@rice.edu
8
+ Project-URL: Bug Reports, https://github.com/NakhlehLab/PhyNetPy/issues
9
+ Project-URL: Source, https://github.com/NakhlehLab/PhyNetPy
10
+ Keywords: phylogenetics,networks,data,biology,graphical modeling,development,methods,statistics,bayesian,python
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Topic :: Software Development :: Build Tools
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Programming Language :: Python :: 3.8
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Requires-Python: >=3.8, <4
20
+ Description-Content-Type: text/markdown
21
+ Requires-Dist: numpy>=1.19.0
22
+ Requires-Dist: scikit-learn>=0.24.0
23
+ Requires-Dist: matplotlib>=3.3.0
24
+ Requires-Dist: networkx>=2.5
25
+ Requires-Dist: biopython>=1.78
26
+ Requires-Dist: python-nexus
27
+ Requires-Dist: newick
28
+ Requires-Dist: scipy>=1.5.0
29
+ Requires-Dist: pulp
30
+ Provides-Extra: dev
31
+ Requires-Dist: check-manifest; extra == "dev"
32
+ Provides-Extra: test
33
+ Requires-Dist: coverage; extra == "test"
34
+ Dynamic: author
35
+ Dynamic: author-email
36
+ Dynamic: classifier
37
+ Dynamic: description
38
+ Dynamic: description-content-type
39
+ Dynamic: home-page
40
+ Dynamic: keywords
41
+ Dynamic: project-url
42
+ Dynamic: provides-extra
43
+ Dynamic: requires-dist
44
+ Dynamic: requires-python
45
+ Dynamic: summary
46
+
47
+ # PhyNetPy
48
+
49
+ PhyNetPy is a Python Library that provides some improved methods from PhyloNet, as well as a framework for the development of Bayesian/Simulation based methods and structures.
50
+
51
+ The current version of this software is v0.1.0, which is the release for the Botany Conference in Boise for July 2023.
52
+
53
+ This version is unstable, and only meant to provide tutorial functionality. A stable release is planned for September 1, 2023.
54
+
55
+ To install PhyNetPy, simply open up a command line instance and execute the following:
56
+ `pip install phynetpy`.
57
+
58
+ A tutorial and further instructions on how to use PhyNetPy will be made available on our website, https://phylogenomics.rice.edu
@@ -0,0 +1,12 @@
1
+ # PhyNetPy
2
+
3
+ PhyNetPy is a Python Library that provides some improved methods from PhyloNet, as well as a framework for the development of Bayesian/Simulation based methods and structures.
4
+
5
+ The current version of this software is v0.1.0, which is the release for the Botany Conference in Boise for July 2023.
6
+
7
+ This version is unstable, and only meant to provide tutorial functionality. A stable release is planned for September 1, 2023.
8
+
9
+ To install PhyNetPy, simply open up a command line instance and execute the following:
10
+ `pip install phynetpy`.
11
+
12
+ A tutorial and further instructions on how to use PhyNetPy will be made available on our website, https://phylogenomics.rice.edu
@@ -0,0 +1,58 @@
1
+ Metadata-Version: 2.4
2
+ Name: phynetpy
3
+ Version: 0.2.0
4
+ Summary: A library and framework for Phylogenetics research, data analytics, networks inference, and network tooling.
5
+ Home-page: https://github.com/NakhlehLab/PhyNetPy
6
+ Author: Mark Kessler
7
+ Author-email: mak17@rice.edu
8
+ Project-URL: Bug Reports, https://github.com/NakhlehLab/PhyNetPy/issues
9
+ Project-URL: Source, https://github.com/NakhlehLab/PhyNetPy
10
+ Keywords: phylogenetics,networks,data,biology,graphical modeling,development,methods,statistics,bayesian,python
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: Topic :: Software Development :: Build Tools
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Programming Language :: Python :: 3.8
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Requires-Python: >=3.8, <4
20
+ Description-Content-Type: text/markdown
21
+ Requires-Dist: numpy>=1.19.0
22
+ Requires-Dist: scikit-learn>=0.24.0
23
+ Requires-Dist: matplotlib>=3.3.0
24
+ Requires-Dist: networkx>=2.5
25
+ Requires-Dist: biopython>=1.78
26
+ Requires-Dist: python-nexus
27
+ Requires-Dist: newick
28
+ Requires-Dist: scipy>=1.5.0
29
+ Requires-Dist: pulp
30
+ Provides-Extra: dev
31
+ Requires-Dist: check-manifest; extra == "dev"
32
+ Provides-Extra: test
33
+ Requires-Dist: coverage; extra == "test"
34
+ Dynamic: author
35
+ Dynamic: author-email
36
+ Dynamic: classifier
37
+ Dynamic: description
38
+ Dynamic: description-content-type
39
+ Dynamic: home-page
40
+ Dynamic: keywords
41
+ Dynamic: project-url
42
+ Dynamic: provides-extra
43
+ Dynamic: requires-dist
44
+ Dynamic: requires-python
45
+ Dynamic: summary
46
+
47
+ # PhyNetPy
48
+
49
+ PhyNetPy is a Python Library that provides some improved methods from PhyloNet, as well as a framework for the development of Bayesian/Simulation based methods and structures.
50
+
51
+ The current version of this software is v0.1.0, which is the release for the Botany Conference in Boise for July 2023.
52
+
53
+ This version is unstable, and only meant to provide tutorial functionality. A stable release is planned for September 1, 2023.
54
+
55
+ To install PhyNetPy, simply open up a command line instance and execute the following:
56
+ `pip install phynetpy`.
57
+
58
+ A tutorial and further instructions on how to use PhyNetPy will be made available on our website, https://phylogenomics.rice.edu
@@ -0,0 +1,30 @@
1
+ .DS_Store
2
+ .gitignore
3
+ LICENSE
4
+ README.md
5
+ pyproject.toml
6
+ setup.cfg
7
+ setup.py
8
+ phynetpy.egg-info/PKG-INFO
9
+ phynetpy.egg-info/SOURCES.txt
10
+ phynetpy.egg-info/dependency_links.txt
11
+ phynetpy.egg-info/requires.txt
12
+ phynetpy.egg-info/top_level.txt
13
+ src/PhyNetPy/Alphabet.py
14
+ src/PhyNetPy/BirthDeath.py
15
+ src/PhyNetPy/GTR.py
16
+ src/PhyNetPy/GeneTrees.py
17
+ src/PhyNetPy/GraphUtils.py
18
+ src/PhyNetPy/MSA.py
19
+ src/PhyNetPy/Matrix.py
20
+ src/PhyNetPy/Network.py
21
+ src/PhyNetPy/NetworkMoves.py
22
+ src/PhyNetPy/NetworkParser.py
23
+ src/PhyNetPy/Newick.py
24
+ src/PhyNetPy/PhyloNet.py
25
+ src/PhyNetPy/Validation.py
26
+ src/PhyNetPy/__init__.py
27
+ src/PhyNetPy/test_alphabet.py
28
+ src/PhyNetPy/test_birthdeath.py
29
+ src/PhyNetPy/test_network.py
30
+ src/PhyNetPy/validation_demo.py
@@ -0,0 +1,15 @@
1
+ numpy>=1.19.0
2
+ scikit-learn>=0.24.0
3
+ matplotlib>=3.3.0
4
+ networkx>=2.5
5
+ biopython>=1.78
6
+ python-nexus
7
+ newick
8
+ scipy>=1.5.0
9
+ pulp
10
+
11
+ [dev]
12
+ check-manifest
13
+
14
+ [test]
15
+ coverage
@@ -0,0 +1 @@
1
+ phynetpy
@@ -0,0 +1,5 @@
1
+ [build-system]
2
+ requires = ["setuptools>=61", "wheel", "setuptools_scm"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+
@@ -0,0 +1,7 @@
1
+ [metadata]
2
+ license_files = LICENSE.txt
3
+
4
+ [egg_info]
5
+ tag_build =
6
+ tag_date = 0
7
+
@@ -0,0 +1,170 @@
1
+ # Always prefer setuptools over distutils
2
+ from setuptools import setup, find_packages
3
+ import pathlib
4
+
5
+ here = pathlib.Path(__file__).parent.resolve()
6
+
7
+ # Get the long description from the README file
8
+ long_description = (here / "README.md").read_text(encoding="utf-8")
9
+
10
+ # Arguments marked as "Required" below must be included for upload to PyPI.
11
+ # Fields marked as "Optional" may be commented out.
12
+
13
+ setup(
14
+ # This is the name of your project. The first time you publish this
15
+ # package, this name will be registered for you. It will determine how
16
+ # users can install this project, e.g.:
17
+ #
18
+ # $ pip install sampleproject
19
+ #
20
+ # And where it will live on PyPI: https://pypi.org/project/sampleproject/
21
+ #
22
+ # There are some restrictions on what makes a valid project name
23
+ # specification here:
24
+ # https://packaging.python.org/specifications/core-metadata/#name
25
+ name="phynetpy", # Required
26
+ # Versions should comply with PEP 440:
27
+ # https://www.python.org/dev/peps/pep-0440/
28
+ #
29
+ # For a discussion on single-sourcing the version across setup.py and the
30
+ # project code, see
31
+ # https://packaging.python.org/guides/single-sourcing-package-version/
32
+ version="0.2.0", # Required
33
+ # This is a one-line description or tagline of what your project does. This
34
+ # corresponds to the "Summary" metadata field:
35
+ # https://packaging.python.org/specifications/core-metadata/#summary
36
+ description="A library and framework for Phylogenetics research, data analytics, networks inference, and network tooling.", # Optional
37
+ # This is an optional longer description of your project that represents
38
+ # the body of text which users will see when they visit PyPI.
39
+ #
40
+ # Often, this is the same as your README, so you can just read it in from
41
+ # that file directly (as we have already done above)
42
+ #
43
+ # This field corresponds to the "Description" metadata field:
44
+ # https://packaging.python.org/specifications/core-metadata/#description-optional
45
+ long_description=long_description, # Optional
46
+ # Denotes that our long_description is in Markdown; valid values are
47
+ # text/plain, text/x-rst, and text/markdown
48
+ #
49
+ # Optional if long_description is written in reStructuredText (rst) but
50
+ # required for plain-text or Markdown; if unspecified, "applications should
51
+ # attempt to render [the long_description] as text/x-rst; charset=UTF-8 and
52
+ # fall back to text/plain if it is not valid rst" (see link below)
53
+ #
54
+ # This field corresponds to the "Description-Content-Type" metadata field:
55
+ # https://packaging.python.org/specifications/core-metadata/#description-content-type-optional
56
+ long_description_content_type="text/markdown", # Optional (see note above)
57
+ # This should be a valid link to your project's main homepage.
58
+ #
59
+ # This field corresponds to the "Home-Page" metadata field:
60
+ # https://packaging.python.org/specifications/core-metadata/#home-page-optional
61
+ url="https://github.com/NakhlehLab/PhyNetPy", # Optional
62
+ # This should be your name or the name of the organization which owns the
63
+ # project.
64
+ author="Mark Kessler", # Optional
65
+ # This should be a valid email address corresponding to the author listed
66
+ # above.
67
+ author_email="mak17@rice.edu", # Optional
68
+ # Classifiers help users find your project by categorizing it.
69
+ #
70
+ # For a list of valid classifiers, see https://pypi.org/classifiers/
71
+ classifiers=[ # Optional
72
+ # How mature is this project? Common values are
73
+ # 3 - Alpha
74
+ # 4 - Beta
75
+ # 5 - Production/Stable
76
+ "Development Status :: 3 - Alpha",
77
+ # Indicate who your project is intended for
78
+ "Intended Audience :: Developers",
79
+ "Intended Audience :: Science/Research",
80
+ "Topic :: Software Development :: Build Tools",
81
+ # Pick your license as you wish
82
+ "License :: OSI Approved :: MIT License",
83
+ # Specify the Python versions you support here. In particular, ensure
84
+ # that you indicate you support Python 3. These classifiers are *not*
85
+ # checked by 'pip install'. See instead 'python_requires' below.
86
+
87
+ "Programming Language :: Python :: 3.8",
88
+ "Programming Language :: Python :: 3.9",
89
+ "Programming Language :: Python :: 3.10"
90
+ ],
91
+ # This field adds keywords for your project which will appear on the
92
+ # project page. What does your project relate to?
93
+ #
94
+ # Note that this is a list of additional keywords, separated
95
+ # by commas, to be used to assist searching for the distribution in a
96
+ # larger catalog.
97
+ keywords="phylogenetics, networks, data, biology, graphical modeling, development, methods, statistics, bayesian, python", # Optional
98
+ # When your source code is in a subdirectory under the project root, e.g.
99
+ # `src/`, it is necessary to specify the `package_dir` argument.
100
+ package_dir={"phynetpy": "src/PhyNetPy"}, # Optional
101
+ # You can just specify package directories manually here if your project is
102
+ # simple. Or you can use find_packages().
103
+ #
104
+ # Alternatively, if you just want to distribute a single Python file, use
105
+ # the `py_modules` argument instead as follows, which will expect a file
106
+ # called `my_module.py` to exist:
107
+ #
108
+ # py_modules=["my_module"],
109
+ #
110
+ packages= ["phynetpy"], #find_packages(where="src"), # Required
111
+ # Specify which Python versions you support. In contrast to the
112
+ # 'Programming Language' classifiers above, 'pip install' will check this
113
+ # and refuse to install the project if the version does not match. See
114
+ # https://packaging.python.org/guides/distributing-packages-using-setuptools/#python-requires
115
+ python_requires=">=3.8, <4",
116
+ # This field lists other packages that your project depends on to run.
117
+ # Any package you put here will be installed by pip when your project is
118
+ # installed, so they must be valid existing projects.
119
+ #
120
+ # For an analysis of "install_requires" vs pip's requirements files see:
121
+ # https://packaging.python.org/discussions/install-requires-vs-requirements/
122
+ install_requires=[
123
+ "numpy>=1.19.0", # Works with Python 3.7+
124
+ "scikit-learn>=0.24.0",
125
+ "matplotlib>=3.3.0",
126
+ "networkx>=2.5",
127
+ "biopython>=1.78",
128
+ "python-nexus", # No version constraint
129
+ "newick", # No version constraint
130
+ "scipy>=1.5.0",
131
+ "pulp",
132
+ ], # Optional
133
+ # List additional groups of dependencies here (e.g. development
134
+ # dependencies). Users will be able to install these using the "extras"
135
+ # syntax, for example:
136
+ #
137
+ # $ pip install sampleproject[dev]
138
+ #
139
+ # Similar to `install_requires` above, these must be valid existing
140
+ # projects.
141
+ extras_require={ # Optional
142
+ "dev": ["check-manifest"],
143
+ "test": ["coverage"],
144
+ },
145
+ # If there are data files included in your packages that need to be
146
+ # installed, specify them here.
147
+ # package_data={ # Optional
148
+ # "sample": ["package_data.dat"],
149
+ # },
150
+ # Entry points. The following would provide a command called `sample` which
151
+ # executes the function `main` from this package when invoked:
152
+ # entry_points={ # Optional
153
+ # "console_scripts": [
154
+ # "sample=sample:main",
155
+ # ],
156
+ # },
157
+ # List additional URLs that are relevant to your project as a dict.
158
+ #
159
+ # This field corresponds to the "Project-URL" metadata fields:
160
+ # https://packaging.python.org/specifications/core-metadata/#project-url-multiple-use
161
+ #
162
+ # Examples listed include a pattern for specifying where the package tracks
163
+ # issues, where the source is hosted, where to say thanks to the package
164
+ # maintainers, and where to support the project financially. The key is
165
+ # what's used to render the link text on PyPI.
166
+ project_urls={ # Optional
167
+ "Bug Reports": "https://github.com/NakhlehLab/PhyNetPy/issues",
168
+ "Source": "https://github.com/NakhlehLab/PhyNetPy"
169
+ },
170
+ )