bed-reader 1.0.4b1__tar.gz → 1.0.4b2__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.
Files changed (105) hide show
  1. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/Cargo.lock +1 -1
  2. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/Cargo.toml +1 -1
  3. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/PKG-INFO +1 -1
  4. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/_open_bed.py +12 -4
  5. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/test_open_bed.py +4 -5
  6. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/test_open_bed_cloud.py +5 -6
  7. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/.flake8 +0 -0
  8. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/.github/workflows/ci.yml +0 -0
  9. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/.gitignore +0 -0
  10. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/.isort.cfg +0 -0
  11. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/AUTHORS.txt +0 -0
  12. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/CHANGELOG.md +0 -0
  13. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/LICENSE.md +0 -0
  14. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/README-rust.md +0 -0
  15. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/README.md +0 -0
  16. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/_sphinx_javascript_frameworks_compat.js +0 -0
  17. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/basic.css +0 -0
  18. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/doctools.js +0 -0
  19. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/documentation_options.js +0 -0
  20. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/file.png +0 -0
  21. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/jquery-3.4.1.js +0 -0
  22. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/jquery-3.5.1.js +0 -0
  23. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/jquery-3.6.0.js +0 -0
  24. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/jquery.js +0 -0
  25. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/js/badge_only.js +0 -0
  26. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/js/html5shiv-printshiv.min.js +0 -0
  27. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/js/html5shiv.min.js +0 -0
  28. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/js/modernizr.min.js +0 -0
  29. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/js/theme.js +0 -0
  30. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/language_data.js +0 -0
  31. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/minus.png +0 -0
  32. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/plus.png +0 -0
  33. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/pygments.css +0 -0
  34. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/searchtools.js +0 -0
  35. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/sphinx_highlight.js +0 -0
  36. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/underscore-1.12.0.js +0 -0
  37. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/underscore-1.13.1.js +0 -0
  38. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/underscore-1.3.1.js +0 -0
  39. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/_static/underscore.js +0 -0
  40. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/__init__.py +0 -0
  41. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/_sample_data.py +0 -0
  42. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/_to_bed.py +0 -0
  43. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/__init__.py +0 -0
  44. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/benchmark/bench2.ipynb +0 -0
  45. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/benchmark/benchmark.py +0 -0
  46. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/500x400_o640_array.memmap +0 -0
  47. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/badfile.bed +0 -0
  48. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/empty.bed +0 -0
  49. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.bed +0 -0
  50. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.bim +0 -0
  51. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/plink_sim_10s_100v_10pmiss.fam +0 -0
  52. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small.bad_bim +0 -0
  53. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small.bed +0 -0
  54. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small.bim +0 -0
  55. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small.bim_bad_positions.bim +0 -0
  56. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small.deb +0 -0
  57. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small.fam +0 -0
  58. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small.fam_bad +0 -0
  59. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small.maf +0 -0
  60. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small.mib +0 -0
  61. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small2_array.memmap +0 -0
  62. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small_array.memmap +0 -0
  63. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small_no_bim.bed +0 -0
  64. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small_no_bim.fam +0 -0
  65. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small_no_fam.bed +0 -0
  66. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small_no_fam.bim +0 -0
  67. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small_too_short.bed +0 -0
  68. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small_too_short.bim +0 -0
  69. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/small_too_short.fam +0 -0
  70. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/smallmode0.bed +0 -0
  71. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/smallmode0.bim +0 -0
  72. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/smallmode0.fam +0 -0
  73. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/smallmodebad.bed +0 -0
  74. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/some_missing.bed +0 -0
  75. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/some_missing.bim +0 -0
  76. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/some_missing.fam +0 -0
  77. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/some_missing.properties.npz +0 -0
  78. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/some_missing.val.npy +0 -0
  79. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/sparse.bed +0 -0
  80. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/sparse.bim +0 -0
  81. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/sparse.fam +0 -0
  82. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/toydata.5chrom.bed +0 -0
  83. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/toydata.5chrom.bim +0 -0
  84. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/data/toydata.5chrom.fam +0 -0
  85. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/registry.txt +0 -0
  86. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/test_file_dot.py +0 -0
  87. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/bed_reader/tests/test_opt_dep.py +0 -0
  88. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/build.rs +0 -0
  89. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/examples/cloud.rs +0 -0
  90. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/examples/no_cloud.rs +0 -0
  91. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/pyproject.toml +0 -0
  92. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/pytest.ini +0 -0
  93. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/requirements-dev.txt +0 -0
  94. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/requirements-min-dev.txt +0 -0
  95. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/requirements.txt +0 -0
  96. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/setpath.bat +0 -0
  97. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/src/bed_cloud.rs +0 -0
  98. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/src/lib.rs +0 -0
  99. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/src/python_module.rs +0 -0
  100. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/src/supplemental_documents/cloud_urls_etc.md +0 -0
  101. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/src/supplemental_documents/options_etc.md +0 -0
  102. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/src/tests.rs +0 -0
  103. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/tests/tests_api.rs +0 -0
  104. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/tests/tests_api_cloud.rs +0 -0
  105. {bed_reader-1.0.4b1 → bed_reader-1.0.4b2}/useful.md +0 -0
@@ -136,7 +136,7 @@ checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
136
136
 
137
137
  [[package]]
138
138
  name = "bed-reader"
139
- version = "1.0.4-beta.1"
139
+ version = "1.0.4-beta.2"
140
140
  dependencies = [
141
141
  "anyhow",
142
142
  "anyinput",
@@ -1,5 +1,5 @@
1
1
  [package]
2
- version = "1.0.4-beta.1"
2
+ version = "1.0.4-beta.2"
3
3
  name = "bed-reader"
4
4
  description = "Read and write the PLINK BED format, simply and efficiently."
5
5
  repository = "https://github.com/fastlmm/bed-reader"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bed-reader
3
- Version: 1.0.4b1
3
+ Version: 1.0.4b2
4
4
  Classifier: Programming Language :: Python :: 3.8
5
5
  Classifier: Programming Language :: Python :: 3.9
6
6
  Classifier: Programming Language :: Python :: 3.10
@@ -1345,20 +1345,28 @@ class open_bed:
1345
1345
  if len(input.shape) != 1:
1346
1346
  raise ValueError(f"{key} should be one dimensional")
1347
1347
 
1348
- if not np.issubdtype(input.dtype, dtype):
1348
+ do_missing_values = True
1349
+ if np.issubdtype(input.dtype, np.floating) and np.issubdtype(dtype, int):
1350
+ input[input != input] = missing_value
1351
+ old_settings = np.seterr(invalid="warn")
1352
+ try:
1353
+ output = np.array(input, dtype=dtype)
1354
+ finally:
1355
+ np.seterr(**old_settings)
1356
+ elif not np.issubdtype(input.dtype, dtype):
1349
1357
  # This will convert, for example, numerical sids to string sids or
1350
1358
  # floats that happen to be integers into ints,
1351
1359
  # but there will be a warning generated.
1360
+ old_settings = np.seterr(invalid="warn")
1352
1361
  try:
1353
- np.seterr(invalid="warn")
1354
1362
  output = np.array(input, dtype=dtype)
1355
1363
  finally:
1356
- np.seterr(invalid="raise")
1364
+ np.seterr(**old_settings)
1357
1365
  else:
1358
1366
  output = input
1359
1367
 
1360
1368
  # Change NaN in input to correct missing value
1361
- if np.issubdtype(input.dtype, np.floating):
1369
+ if do_missing_values and np.issubdtype(input.dtype, np.floating):
1362
1370
  output[input != input] = missing_value
1363
1371
 
1364
1372
  return output
@@ -880,11 +880,10 @@ def test_coverage2(shared_datadir, tmp_path):
880
880
 
881
881
 
882
882
  def test_coverage3(shared_datadir, tmp_path):
883
- with pytest.warns(RuntimeWarning, match="invalid value encountered in cast"):
884
- with open_bed(
885
- shared_datadir / "small.bed", properties={"sex": [1.0, np.nan, 1.0, 2.0]}
886
- ) as bed:
887
- assert np.array_equal(bed.sex, np.array([1, 0, 1, 2]))
883
+ with open_bed(
884
+ shared_datadir / "small.bed", properties={"sex": [1.0, np.nan, 1.0, 2.0]}
885
+ ) as bed:
886
+ assert np.array_equal(bed.sex, np.array([1, 0, 1, 2]))
888
887
 
889
888
  with open_bed(
890
889
  shared_datadir / "small.bed",
@@ -712,12 +712,11 @@ def test_cloud_coverage2(shared_datadir, tmp_path):
712
712
 
713
713
 
714
714
  def test_cloud_coverage3(shared_datadir, tmp_path):
715
- with pytest.warns(RuntimeWarning, match="invalid value encountered in cast"):
716
- with open_bed(
717
- file_to_url(shared_datadir / "small.bed"),
718
- properties={"sex": [1.0, np.nan, 1.0, 2.0]},
719
- ) as bed:
720
- assert np.array_equal(bed.sex, np.array([1, 0, 1, 2]))
715
+ with open_bed(
716
+ file_to_url(shared_datadir / "small.bed"),
717
+ properties={"sex": [1.0, np.nan, 1.0, 2.0]},
718
+ ) as bed:
719
+ assert np.array_equal(bed.sex, np.array([1, 0, 1, 2]))
721
720
 
722
721
  with open_bed(
723
722
  file_to_url(shared_datadir / "small.bed"),
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes