pypop-genomics 1.2.2__cp310-cp310-musllinux_1_2_aarch64.whl → 1.3.0__cp310-cp310-musllinux_1_2_aarch64.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.
@@ -34,7 +34,6 @@ from argparse import (
34
34
  Action,
35
35
  ArgumentDefaultsHelpFormatter,
36
36
  ArgumentParser,
37
- FileType,
38
37
  RawDescriptionHelpFormatter,
39
38
  )
40
39
  from pathlib import Path
@@ -238,8 +237,7 @@ current directory""",
238
237
  add_input(
239
238
  "-f",
240
239
  "--filelist",
241
- help="file containing list of files (one per line) to process\n(mutually exclusive with supplying POPFILEs)",
242
- type=FileType("r"),
240
+ help="file containing list of files (one per line) to process. files are resolved relative to FILELIST, unless absolute. mutually exclusive with supplying POPFILEs)",
243
241
  default=None,
244
242
  )
245
243
  add_input(
PyPop/_version.py CHANGED
@@ -1,7 +1,14 @@
1
1
  # file generated by setuptools-scm
2
2
  # don't change, don't track in version control
3
3
 
4
- __all__ = ["__version__", "__version_tuple__", "version", "version_tuple"]
4
+ __all__ = [
5
+ "__version__",
6
+ "__version_tuple__",
7
+ "version",
8
+ "version_tuple",
9
+ "__commit_id__",
10
+ "commit_id",
11
+ ]
5
12
 
6
13
  TYPE_CHECKING = False
7
14
  if TYPE_CHECKING:
@@ -9,13 +16,19 @@ if TYPE_CHECKING:
9
16
  from typing import Union
10
17
 
11
18
  VERSION_TUPLE = Tuple[Union[int, str], ...]
19
+ COMMIT_ID = Union[str, None]
12
20
  else:
13
21
  VERSION_TUPLE = object
22
+ COMMIT_ID = object
14
23
 
15
24
  version: str
16
25
  __version__: str
17
26
  __version_tuple__: VERSION_TUPLE
18
27
  version_tuple: VERSION_TUPLE
28
+ commit_id: COMMIT_ID
29
+ __commit_id__: COMMIT_ID
19
30
 
20
- __version__ = version = '1.2.2'
21
- __version_tuple__ = version_tuple = (1, 2, 2)
31
+ __version__ = version = '1.3.0'
32
+ __version_tuple__ = version_tuple = (1, 3, 0)
33
+
34
+ __commit_id__ = commit_id = None
@@ -1 +1 @@
1
- Lancaster A.K., Nelson M.P., Single R., Solberg O., Tsai Y., Meyer D., Webster G., Mariani M.P., Sochat V., Kornel K., Spaaks J.H., Mack S.J., and Thomson G. PyPop: Python for Population Genomics (version v1.2.2). DOI: 10.5281/zenodo.16555858 URL: http://pypop.org/
1
+ Lancaster A.K., Nelson M.P., Single R., Solberg O., Tsai Y., Meyer D., Webster G., Mariani M.P., Sochat V., Kornel K., Spaaks J.H., Mack S.J., and Thomson G. PyPop: Python for Population Genomics (version v1.3.0). DOI: 10.5281/zenodo.17081295 URL: http://pypop.org/
@@ -1,6 +1,6 @@
1
1
  @misc{YourReferenceHere,
2
2
  author = {Lancaster, Alexander K. and Nelson, Mark P. and Single, Richard and Solberg, Owen and Tsai, Yingsu and Meyer, Diogo and Webster, Gordon and Mariani, Michael P. and Sochat, Vanessa and Kornel, Karl and Spaaks, Jurriaan H. and Mack, Steven J. and Thomson, Glenys},
3
- doi = {10.5281/zenodo.16555858},
3
+ doi = {10.5281/zenodo.17081295},
4
4
  title = {PyPop: Python for Population Genomics},
5
5
  url = {http://pypop.org/},
6
6
  note = {If you use this software, please cite both the software itself, as well as the article Lancaster AK et al. (2024) <a href="https://doi.org/10.3389/fimmu.2024.1378512">PyPop: A mature open-source software pipeline for population genomics</a>. <i>Front. Immunol.</i> <b>15</b>:1378512. doi: 10.3389/fimmu.2024.1378512}
@@ -98,7 +98,7 @@ title: 'PyPop: Python for Population Genomics'
98
98
  repository-artifact: https://pypi.org/project/pypop-genomics/
99
99
  repository-code: https://github.com/alexlancaster/pypop/
100
100
  license: GPL-2.0-or-later
101
- version: v1.2.2
101
+ version: v1.3.0
102
102
  type: software
103
103
  url: http://pypop.org/
104
104
  identifiers:
@@ -120,11 +120,11 @@ identifiers:
120
120
  relation: Continues
121
121
  - description: GitHub tag for repository
122
122
  type: url
123
- value: https://github.com/alexlancaster/pypop/tree/v1.2.2
123
+ value: https://github.com/alexlancaster/pypop/tree/v1.3.0
124
124
  relation: IsSupplementTo
125
125
  - description: PyPI package
126
126
  type: url
127
- value: https://pypi.org/project/pypop-genomics/1.2.2
127
+ value: https://pypi.org/project/pypop-genomics/1.3.0
128
128
  relation: IsSourceOf
129
129
  - description: DOI concept identifier for all versions of PyPop
130
130
  type: doi
@@ -140,4 +140,4 @@ keywords:
140
140
  - Major histocompatibility complex
141
141
  - HLA
142
142
  - MHC
143
- doi: 10.5281/zenodo.16555858
143
+ doi: 10.5281/zenodo.17081295
@@ -192,7 +192,7 @@
192
192
  ],
193
193
  "codeRepository": "https://github.com/alexlancaster/pypop/",
194
194
  "description": "<p>PyPop for Population Genomics (<a href=\"http://pypop.org/\">PyPop</a>) is a Python program for processing genotype and allele data and running population genetic analyses, including conformity to Hardy-Weinberg expectations; tests for balancing or directional selection; estimates of haplotype frequencies and measures and tests of significance for linkage disequilibrium (LD).&nbsp;Output of analyses are stored in XML format for maximum downstream flexibility. PyPop also has an internal facility for additionally aggregating the output XML and generating output tab-separated values (TSV) files, as well as default plain text files for each population. Although it can be run on any kind of genotype data, it has additional support for analyzing population genotype with allelic nomenclature from the human leukocyte antigen (HLA) region.</p>",
195
- "identifier": "https://doi.org/10.5281/zenodo.16555858",
195
+ "identifier": "https://doi.org/10.5281/zenodo.17081295",
196
196
  "keywords": [
197
197
  "population genetics",
198
198
  "population genomics",
@@ -207,5 +207,5 @@
207
207
  "license": "https://spdx.org/licenses/GPL-2.0-or-later",
208
208
  "name": "PyPop: Python for Population Genomics",
209
209
  "url": "http://pypop.org/",
210
- "version": "v1.2.2"
210
+ "version": "v1.3.0"
211
211
  }
@@ -21,6 +21,6 @@
21
21
  %K Major histocompatibility complex
22
22
  %K HLA
23
23
  %K MHC
24
- %R 10.5281/zenodo.16555858
24
+ %R 10.5281/zenodo.17081295
25
25
  %T PyPop: Python for Population Genomics
26
26
  %U http://pypop.org/
@@ -13,7 +13,7 @@ AU - Kornel, Karl
13
13
  AU - Spaaks, Jurriaan H.
14
14
  AU - Mack, Steven J.
15
15
  AU - Thomson, Glenys
16
- DO - 10.5281/zenodo.16555858
16
+ DO - 10.5281/zenodo.17081295
17
17
  KW - population genetics
18
18
  KW - population genomics
19
19
  KW - bioinformatics
@@ -192,7 +192,7 @@
192
192
  ],
193
193
  "codeRepository": "https://github.com/alexlancaster/pypop/",
194
194
  "description": "<p>PyPop for Population Genomics (<a href=\"http://pypop.org/\">PyPop</a>) is a Python program for processing genotype and allele data and running population genetic analyses, including conformity to Hardy-Weinberg expectations; tests for balancing or directional selection; estimates of haplotype frequencies and measures and tests of significance for linkage disequilibrium (LD).&nbsp;Output of analyses are stored in XML format for maximum downstream flexibility. PyPop also has an internal facility for additionally aggregating the output XML and generating output tab-separated values (TSV) files, as well as default plain text files for each population. Although it can be run on any kind of genotype data, it has additional support for analyzing population genotype with allelic nomenclature from the human leukocyte antigen (HLA) region.</p>",
195
- "identifier": "https://doi.org/10.5281/zenodo.16555858",
195
+ "identifier": "https://doi.org/10.5281/zenodo.17081295",
196
196
  "keywords": [
197
197
  "population genetics",
198
198
  "population genomics",
@@ -207,5 +207,5 @@
207
207
  "license": "https://spdx.org/licenses/GPL-2.0-or-later",
208
208
  "name": "PyPop: Python for Population Genomics",
209
209
  "url": "http://pypop.org/",
210
- "version": "v1.2.2"
210
+ "version": "v1.3.0"
211
211
  }
@@ -173,12 +173,12 @@
173
173
  "scheme": "url"
174
174
  },
175
175
  {
176
- "identifier": "https://github.com/alexlancaster/pypop/tree/v1.2.2",
176
+ "identifier": "https://github.com/alexlancaster/pypop/tree/v1.3.0",
177
177
  "relation": "isSupplementTo",
178
178
  "scheme": "url"
179
179
  },
180
180
  {
181
- "identifier": "https://pypi.org/project/pypop-genomics/1.2.2",
181
+ "identifier": "https://pypi.org/project/pypop-genomics/1.3.0",
182
182
  "relation": "isSourceOf",
183
183
  "scheme": "url"
184
184
  },
@@ -188,7 +188,7 @@
188
188
  "scheme": "doi"
189
189
  },
190
190
  {
191
- "identifier": "10.5281/zenodo.16555858",
191
+ "identifier": "10.5281/zenodo.17081295",
192
192
  "relation": "isSupplementedBy",
193
193
  "scheme": "doi"
194
194
  },
@@ -205,5 +205,5 @@
205
205
  ],
206
206
  "title": "PyPop: Python for Population Genomics",
207
207
  "upload_type": "software",
208
- "version": "v1.2.2"
208
+ "version": "v1.3.0"
209
209
  }
PyPop/pypop.py CHANGED
@@ -241,14 +241,24 @@ return for each prompt.""")
241
241
  print(f"PyPop is processing {fileNames[0]} ...")
242
242
 
243
243
  else:
244
- # non-interactive mode: run in 'batch' mode
244
+ # non-interactive mode: run in 'batch'xb mode
245
245
 
246
246
  if fileList:
247
247
  # if we are providing the filelist
248
248
  # use list from file as list to check
249
- # li = [f.strip('\n') for f in open(fileList).readlines()]
250
- li = [f.strip("\n") for f in fileList.readlines()]
251
- fileList.close() # make sure we close it
249
+
250
+ with open(fileList) as fileListHandle:
251
+ base_dir = (
252
+ Path(fileListHandle.name).resolve().parent
253
+ ) # interpret paths relative to the fileListHandle location
254
+ li = []
255
+ for line in fileListHandle:
256
+ entry = line.strip()
257
+ if not entry:
258
+ continue
259
+ p = Path(entry)
260
+ li.append(p if p.is_absolute() else (base_dir / p).resolve())
261
+
252
262
  elif popFilenames:
253
263
  # check number of arguments, must be at least one, but can be more
254
264
  # use args as list to check
@@ -264,7 +274,7 @@ return for each prompt.""")
264
274
  # arguments
265
275
  for fileName in li:
266
276
  # globbedFiles = glob_with_pathlib(fileName)
267
- globbedFiles = glob(fileName) # noqa: PTH207
277
+ globbedFiles = glob(str(fileName)) # noqa: PTH207
268
278
  if len(globbedFiles) == 0:
269
279
  # if no files were found for that glob, please exit and warn
270
280
  # the user
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pypop-genomics
3
- Version: 1.2.2
3
+ Version: 1.3.0
4
4
  Summary: PyPop: Python for Population Genomics
5
5
  Author: Alex Lancaster
6
6
  Maintainer: PyPop team
@@ -20,8 +20,8 @@ Classifier: Operating System :: POSIX :: Linux
20
20
  Description-Content-Type: text/x-rst
21
21
  License-File: LICENSE
22
22
  License-File: AUTHORS.rst
23
- Requires-Dist: numpy<=2.3.1
24
- Requires-Dist: lxml<=6.0.0
23
+ Requires-Dist: numpy<=2.3.2
24
+ Requires-Dist: lxml<=6.0.1
25
25
  Requires-Dist: pooch<=v1.8.2
26
26
  Requires-Dist: importlib-resources; python_version <= "3.8"
27
27
  Requires-Dist: importlib-metadata; python_version <= "3.8"
@@ -1,5 +1,5 @@
1
1
  PyPop/Arlequin.py,sha256=lYkGQDvmX6b9aZ1lt4QWQOhkmL-DlFHSsr5NIJ5xXbI,26264
2
- PyPop/CommandLineInterface.py,sha256=ChfyDs5wCmrciOJWn5Uqdb6m-OHrYLxxKS-xmyJ-PfU,10512
2
+ PyPop/CommandLineInterface.py,sha256=EDG8XjzaKRB5kiWTmYeQYFMLuh2sUplg9milUAotXlM,10527
3
3
  PyPop/DataTypes.py,sha256=VMbq4tJDcS9ZFqFJ40tFHCBPc5v0XC6LqqpdsxwV-Po,17828
4
4
  PyPop/Filter.py,sha256=8eqDgeAHU0ndNNG2Sjv0f9EX-hGFSP_uUhzXCkBMpyI,47508
5
5
  PyPop/GUIApp.py,sha256=-Hk7UpEperP4_aaZOydR95ZIlWJm_Hx7d_gXZ0HCP_c,8326
@@ -18,18 +18,18 @@ PyPop/_Haplostats.cpython-310-aarch64-linux-gnu.so,sha256=Ijy5KCwVbl8bajBm8TJAya
18
18
  PyPop/_Pvalue.cpython-310-aarch64-linux-gnu.so,sha256=DbubuQ8cuyUR0hj70SI8RfEiRHvGxAcGwvrCNi8hRbk,187016
19
19
  PyPop/__init__.py,sha256=HAkR6vghF3uKG_L0OSWhHOF8EEHu9rZivA2OLkZs3Vs,3523
20
20
  PyPop/_metadata.py,sha256=klJm9CiOzcoi5lD8TksmMF_uy_VSn8ONj0dbpxonDcQ,84
21
- PyPop/_version.py,sha256=o0zEAUXpMoJZCULVYplCdjcZuIQ-3sIIZKyfNu_loQE,511
21
+ PyPop/_version.py,sha256=0Oc4EBzGTJOvXX0Vym4evglW1NQPpe8RLn8TdxsKzfs,704
22
22
  PyPop/citation.py,sha256=0Cz7N9SjAM5PIPbAxzN87R4xwRnNLMsAo5HCkwV1LfE,2909
23
23
  PyPop/popmeta.py,sha256=00aPgpMu3emjGGZhfHf4PO97uPjqr02zgV4jBe6VlOg,3097
24
- PyPop/pypop.py,sha256=Rl5OBaRlEafCoukagBeo6xk-GH2L0kNhuszghDDClRQ,13057
25
- PyPop/citation/CITATION.apalike,sha256=ZYM1iE2gse7AE_PDSGm4ZbUbcufJekYBHfYashJDlcQ,266
26
- PyPop/citation/CITATION.bibtex,sha256=TZk8QoxP3YNEdzTDU_aaqHIzImfp-68xpK9md32Oirw,734
27
- PyPop/citation/CITATION.cff,sha256=6dMU_VQMH6kXveyE91dp-GMr3ke-awLocK4yI6uv4fE,5203
28
- PyPop/citation/CITATION.codemeta,sha256=SKX1PCi1c5ZYgYeYTUarn1AMVIqOZxEeXArKo5MLOMI,6128
29
- PyPop/citation/CITATION.endnote,sha256=VkaY-JfDCYcB-PjgboY9Xw_hRCz_Df7Jsvm3r1QqG4Q,542
30
- PyPop/citation/CITATION.ris,sha256=lFsg_nF2Z7o94Usj2jlM8vfodLh85MZy_fZhcjvc4QI,1473
31
- PyPop/citation/CITATION.schema.org,sha256=IfsvlxklmZXAngHFp_LHSKvSJBOZW9q7BT45IZslegk,6103
32
- PyPop/citation/CITATION.zenodo,sha256=ihvpZZEDAvr3wa1YjvGYZ6QtrSfle4jtIIJb_K6WLCw,5813
24
+ PyPop/pypop.py,sha256=RiFy2fpXQv8oBxYXSHOkY8fnohf-VuGdb9Nx3A3AZlg,13392
25
+ PyPop/citation/CITATION.apalike,sha256=NBRvEAr-DIyVldf0e1zsL1YaW3grcUQ1da3OdruarMY,266
26
+ PyPop/citation/CITATION.bibtex,sha256=N0WZCylgHpqWzC73PwcW8h7gd8yZtW3i2v79BzgoqTY,734
27
+ PyPop/citation/CITATION.cff,sha256=YMy1x5I1KX9ia-iBeJoOygNkE8XS0Hkt6ydqo-9KnqE,5203
28
+ PyPop/citation/CITATION.codemeta,sha256=MiA6kNsNJAhzTF38s71MlCmMCV0At-pIr_hqUVzjJQI,6128
29
+ PyPop/citation/CITATION.endnote,sha256=0GQp6QiZH_NB1otIrl0Tb9PuAHFTbVSpeGzW0gvYGBc,542
30
+ PyPop/citation/CITATION.ris,sha256=D4mo4-25txU12VsEa0qZkAevjTSWXWy_lMfqqzTzBRY,1473
31
+ PyPop/citation/CITATION.schema.org,sha256=jyLWVl3BEkxk4fp3q0FR-NRjQ57hKzRVyMlgdqJcC0Y,6103
32
+ PyPop/citation/CITATION.zenodo,sha256=PBPNiFigw0wPU-0z4m1FMDchKOJOWfhOrCM7JqgHREc,5813
33
33
  PyPop/xslt/__init__.py,sha256=PYM98BZ2IawMsWWHnyupJh_5fLiCxLq6JOu0k6hFnQI,3353
34
34
  PyPop/xslt/allelelist-by-locus.xsl,sha256=cBBkxZWJ37RQM_ZIJV76uBaFJeSFqjUC7odnjFj8HjU,1744
35
35
  PyPop/xslt/common.xsl,sha256=p9Kd51_2-qT7uZloEv0agPqljZ-BrE7STX2hGhECfsY,24660
@@ -48,10 +48,10 @@ PyPop/xslt/summary.xsl,sha256=65ELgLKiACtDzg513zPeeRJgh2D2JiJodVmIYkrFt4o,8104
48
48
  PyPop/xslt/text.xsl,sha256=CtyvwY8nw1uMZEsiJKXdpxi1Pv73klSwYdIDfSPWGTY,1789
49
49
  pypop_genomics.libs/libgsl-39a6c00d.so.27.0.0,sha256=l0thpVzKDNmMONxZjhF0JWvHdZlGjE8UtowwTjYwXOQ,2600673
50
50
  pypop_genomics.libs/libgslcblas-46a2b345.so.0.0.0,sha256=nGcmltDcKw-5UUdoaPPkrzClODlp3vTMlF0VMp5Ov44,266033
51
- pypop_genomics-1.2.2.dist-info/METADATA,sha256=mBXksEA1rznQCHr3Sp39ll7Qa67GWmXIRCatEAAbHTg,16441
52
- pypop_genomics-1.2.2.dist-info/WHEEL,sha256=qvx19vD_zYvGQFVzkH0wrT4tVIal9wOVogYGQfy9ymw,113
53
- pypop_genomics-1.2.2.dist-info/entry_points.txt,sha256=xuDv6wA6DWZCGBAb7ToXJAtZqgif4jbETunSRUCQ8gM,121
54
- pypop_genomics-1.2.2.dist-info/top_level.txt,sha256=-FmIDUP0746bJsBmhtrb6yAGMKot7SzKWvHLRmtFBJ8,6
55
- pypop_genomics-1.2.2.dist-info/RECORD,,
56
- pypop_genomics-1.2.2.dist-info/licenses/AUTHORS.rst,sha256=z6f2avIyI-u3doYPtWLR5gHXeO_kBac-E2mRNONbRZc,4300
57
- pypop_genomics-1.2.2.dist-info/licenses/LICENSE,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092
51
+ pypop_genomics-1.3.0.dist-info/METADATA,sha256=q4Wg24nUyROXHn9Go6cdohnVjU5rxZIzSX3lm4Tof34,16441
52
+ pypop_genomics-1.3.0.dist-info/WHEEL,sha256=qvx19vD_zYvGQFVzkH0wrT4tVIal9wOVogYGQfy9ymw,113
53
+ pypop_genomics-1.3.0.dist-info/entry_points.txt,sha256=xuDv6wA6DWZCGBAb7ToXJAtZqgif4jbETunSRUCQ8gM,121
54
+ pypop_genomics-1.3.0.dist-info/top_level.txt,sha256=-FmIDUP0746bJsBmhtrb6yAGMKot7SzKWvHLRmtFBJ8,6
55
+ pypop_genomics-1.3.0.dist-info/RECORD,,
56
+ pypop_genomics-1.3.0.dist-info/licenses/AUTHORS.rst,sha256=z6f2avIyI-u3doYPtWLR5gHXeO_kBac-E2mRNONbRZc,4300
57
+ pypop_genomics-1.3.0.dist-info/licenses/LICENSE,sha256=gXf5dRMhNSbfLPYYTY_5hsZ1r7UU1OaKQEAQUhuIBkM,18092