rubam 0.3.12__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 (134) hide show
  1. rubam-0.3.12/.gitattributes +16 -0
  2. rubam-0.3.12/.gitignore +93 -0
  3. rubam-0.3.12/CHANGELOG.md +783 -0
  4. rubam-0.3.12/CITATION.cff +26 -0
  5. rubam-0.3.12/CONTRIBUTING.md +133 -0
  6. rubam-0.3.12/Cargo.lock +1306 -0
  7. rubam-0.3.12/Cargo.toml +91 -0
  8. rubam-0.3.12/LICENSE +22 -0
  9. rubam-0.3.12/PKG-INFO +292 -0
  10. rubam-0.3.12/README.md +263 -0
  11. rubam-0.3.12/SECURITY.md +93 -0
  12. rubam-0.3.12/deny.toml +74 -0
  13. rubam-0.3.12/docs/bcftools_compatibility.md +78 -0
  14. rubam-0.3.12/docs/pysam_compatibility_matrix.md +199 -0
  15. rubam-0.3.12/docs/samtools_compatibility.md +90 -0
  16. rubam-0.3.12/docs/vcf_conformance_matrix.md +70 -0
  17. rubam-0.3.12/docs/wheel_smoke_test.md +156 -0
  18. rubam-0.3.12/docs/windows_native_stress.md +64 -0
  19. rubam-0.3.12/pyproject.toml +54 -0
  20. rubam-0.3.12/rubam/__init__.py +1029 -0
  21. rubam-0.3.12/rubam/_cli_shims.py +188 -0
  22. rubam-0.3.12/rubam/_tabix.py +157 -0
  23. rubam-0.3.12/rubam/cli.py +230 -0
  24. rubam-0.3.12/rubam/smoke_test.py +85 -0
  25. rubam-0.3.12/rubam/tools/__init__.py +77 -0
  26. rubam-0.3.12/rubam/tools/bcftools/__init__.py +110 -0
  27. rubam-0.3.12/src/alignment.rs +3460 -0
  28. rubam-0.3.12/src/api/aligned_segment.rs +196 -0
  29. rubam-0.3.12/src/api/alignment_file.rs +70 -0
  30. rubam-0.3.12/src/api/aux_data.rs +105 -0
  31. rubam-0.3.12/src/api/cigar.rs +90 -0
  32. rubam-0.3.12/src/api/error.rs +26 -0
  33. rubam-0.3.12/src/api/header.rs +50 -0
  34. rubam-0.3.12/src/api/mod.rs +17 -0
  35. rubam-0.3.12/src/bgzf_file.rs +207 -0
  36. rubam-0.3.12/src/bin/bcftools.rs +536 -0
  37. rubam-0.3.12/src/bin/depth.rs +114 -0
  38. rubam-0.3.12/src/bin/samtools.rs +337 -0
  39. rubam-0.3.12/src/bin/synth_bam.rs +302 -0
  40. rubam-0.3.12/src/common.rs +288 -0
  41. rubam-0.3.12/src/depth.rs +617 -0
  42. rubam-0.3.12/src/fasta_file.rs +214 -0
  43. rubam-0.3.12/src/fastx_file.rs +229 -0
  44. rubam-0.3.12/src/lib.rs +108 -0
  45. rubam-0.3.12/src/pileup.rs +271 -0
  46. rubam-0.3.12/src/pileup_iter.rs +46 -0
  47. rubam-0.3.12/src/stats.rs +210 -0
  48. rubam-0.3.12/src/tabix_file.rs +51 -0
  49. rubam-0.3.12/src/tools/bcftools/concat.rs +202 -0
  50. rubam-0.3.12/src/tools/bcftools/index.rs +173 -0
  51. rubam-0.3.12/src/tools/bcftools/mod.rs +14 -0
  52. rubam-0.3.12/src/tools/bcftools/norm.rs +627 -0
  53. rubam-0.3.12/src/tools/bcftools/query.rs +532 -0
  54. rubam-0.3.12/src/tools/bcftools/sort.rs +143 -0
  55. rubam-0.3.12/src/tools/bcftools/stats.rs +300 -0
  56. rubam-0.3.12/src/tools/bcftools/view.rs +330 -0
  57. rubam-0.3.12/src/tools/calmd.rs +70 -0
  58. rubam-0.3.12/src/tools/faidx.rs +64 -0
  59. rubam-0.3.12/src/tools/flagstat.rs +191 -0
  60. rubam-0.3.12/src/tools/idxstats.rs +60 -0
  61. rubam-0.3.12/src/tools/index.rs +31 -0
  62. rubam-0.3.12/src/tools/merge.rs +83 -0
  63. rubam-0.3.12/src/tools/mod.rs +16 -0
  64. rubam-0.3.12/src/tools/sort.rs +68 -0
  65. rubam-0.3.12/src/tools/view.rs +148 -0
  66. rubam-0.3.12/src/variant.rs +1864 -0
  67. rubam-0.3.12/tests/api_aligned_segment.rs +68 -0
  68. rubam-0.3.12/tests/api_alignment_file.rs +36 -0
  69. rubam-0.3.12/tests/api_aux.rs +35 -0
  70. rubam-0.3.12/tests/api_cigar.rs +69 -0
  71. rubam-0.3.12/tests/api_header.rs +43 -0
  72. rubam-0.3.12/tests/api_smoke.rs +16 -0
  73. rubam-0.3.12/tests/cargo_bcftools_cli.rs +183 -0
  74. rubam-0.3.12/tests/data/harmos_compat.bam +0 -0
  75. rubam-0.3.12/tests/data/harmos_compat.bam.bai +0 -0
  76. rubam-0.3.12/tests/data/harmos_compat.sam +13 -0
  77. rubam-0.3.12/tests/data/validation_3sample_100rec.vcf.gz +0 -0
  78. rubam-0.3.12/tests/data/validation_3sample_100rec.vcf.gz.tbi +0 -0
  79. rubam-0.3.12/tests/example.bam +0 -0
  80. rubam-0.3.12/tests/example.bam.bai +0 -0
  81. rubam-0.3.12/tests/fixtures/pysam_parity.bam +0 -0
  82. rubam-0.3.12/tests/fixtures/pysam_parity.bam.bai +0 -0
  83. rubam-0.3.12/tests/fixtures/smoke.bam +0 -0
  84. rubam-0.3.12/tests/fixtures/smoke.bam.bai +0 -0
  85. rubam-0.3.12/tests/harmos_compat.rs +139 -0
  86. rubam-0.3.12/tests/integration_test.rs +23 -0
  87. rubam-0.3.12/tests/proptest_cigar.rs +172 -0
  88. rubam-0.3.12/tests/proptest_depth.proptest-regressions +10 -0
  89. rubam-0.3.12/tests/proptest_depth.rs +411 -0
  90. rubam-0.3.12/tests/samtools_depth_options/expected.md +80 -0
  91. rubam-0.3.12/tests/samtools_depth_options/run_matrix.sh +300 -0
  92. rubam-0.3.12/tests/test_aligned_segment.py +125 -0
  93. rubam-0.3.12/tests/test_aligned_segment_setters.py +238 -0
  94. rubam-0.3.12/tests/test_alignment_file.py +208 -0
  95. rubam-0.3.12/tests/test_bam_write_builder.py +287 -0
  96. rubam-0.3.12/tests/test_bam_write_field_level.py +135 -0
  97. rubam-0.3.12/tests/test_bam_write_path.py +145 -0
  98. rubam-0.3.12/tests/test_bcftools_concat.py +98 -0
  99. rubam-0.3.12/tests/test_bcftools_index.py +109 -0
  100. rubam-0.3.12/tests/test_bcftools_norm.py +137 -0
  101. rubam-0.3.12/tests/test_bcftools_query.py +120 -0
  102. rubam-0.3.12/tests/test_bcftools_sort.py +98 -0
  103. rubam-0.3.12/tests/test_bcftools_stats.py +92 -0
  104. rubam-0.3.12/tests/test_bcftools_view.py +102 -0
  105. rubam-0.3.12/tests/test_cli_samtools.py +160 -0
  106. rubam-0.3.12/tests/test_core.py +69 -0
  107. rubam-0.3.12/tests/test_fasta_file.py +113 -0
  108. rubam-0.3.12/tests/test_features.py +112 -0
  109. rubam-0.3.12/tests/test_module_wrappers.py +132 -0
  110. rubam-0.3.12/tests/test_pileup_iter.py +19 -0
  111. rubam-0.3.12/tests/test_pysam_compat_v035_v038.py +573 -0
  112. rubam-0.3.12/tests/test_pysam_parity_findings.py +135 -0
  113. rubam-0.3.12/tests/test_tabix_file.py +97 -0
  114. rubam-0.3.12/tests/test_tools_calmd.py +51 -0
  115. rubam-0.3.12/tests/test_tools_faidx.py +34 -0
  116. rubam-0.3.12/tests/test_tools_idxstats.py +13 -0
  117. rubam-0.3.12/tests/test_tools_index.py +15 -0
  118. rubam-0.3.12/tests/test_tools_merge.py +27 -0
  119. rubam-0.3.12/tests/test_tools_smoke.py +16 -0
  120. rubam-0.3.12/tests/test_tools_sort.py +25 -0
  121. rubam-0.3.12/tests/test_tools_view.py +26 -0
  122. rubam-0.3.12/tests/test_validate_variants.py +45 -0
  123. rubam-0.3.12/tests/test_variant_file.py +572 -0
  124. rubam-0.3.12/tests/test_windows_native_stress.py +217 -0
  125. rubam-0.3.12/tests/vcf_conformance/__init__.py +0 -0
  126. rubam-0.3.12/tests/vcf_conformance/fixtures/format_complex.vcf +70 -0
  127. rubam-0.3.12/tests/vcf_conformance/fixtures/indels.vcf +226 -0
  128. rubam-0.3.12/tests/vcf_conformance/fixtures/missing_values.vcf +69 -0
  129. rubam-0.3.12/tests/vcf_conformance/fixtures/mnv.vcf +115 -0
  130. rubam-0.3.12/tests/vcf_conformance/fixtures/multi_allelic.vcf +68 -0
  131. rubam-0.3.12/tests/vcf_conformance/fixtures/multi_sample.vcf +68 -0
  132. rubam-0.3.12/tests/vcf_conformance/fixtures/phased_gt.vcf +66 -0
  133. rubam-0.3.12/tests/vcf_conformance/fixtures/snv_only.vcf +227 -0
  134. rubam-0.3.12/tests/vcf_conformance/test_conformance.py +294 -0
@@ -0,0 +1,16 @@
1
+ # Normalize line endings: text files are LF in the repo, checked out
2
+ # natively. Keeps Windows checkouts from churning every source file.
3
+ * text=auto eol=lf
4
+
5
+ # Binary fixtures and assets — never touch.
6
+ *.bam binary
7
+ *.bai binary
8
+ *.cram binary
9
+ *.crai binary
10
+ *.pdf binary
11
+ *.png binary
12
+ *.pyd binary
13
+ *.so binary
14
+
15
+ # Shell scripts must stay LF even on Windows checkouts.
16
+ *.sh text eol=lf
@@ -0,0 +1,93 @@
1
+ # Cargo build artifacts
2
+ debug/
3
+ target/
4
+
5
+ # Backup files generated by rustfmt
6
+ **/*.rs.bk
7
+
8
+ # MSVC debugging info
9
+ *.pdb
10
+
11
+ # IDE
12
+ #.idea/
13
+
14
+ # Notebooks
15
+ .ipynb
16
+ .ipynb_*
17
+ .ipynb_*/
18
+ notebooks/
19
+
20
+ # Build helpers
21
+ .develop.sh
22
+
23
+ # Python build outputs (the cdylib lives in rubam/_rubam.{pyd,so})
24
+ *.so
25
+ *.pyd
26
+ __pycache__
27
+ *.swp
28
+
29
+ # Python venvs
30
+ .venv/
31
+ venv/
32
+
33
+ # Datasets and bench outputs (huge — kept on D:\Victor\rubam\data and \results)
34
+ data/
35
+ results/
36
+ *.bam
37
+ *.bai
38
+ *.cram
39
+ *.crai
40
+ *.fa
41
+ *.fasta
42
+ *.fa.fai
43
+ *.fasta.fai
44
+ *.fastq
45
+ *.fastq.gz
46
+ !tests/example.bam
47
+ !tests/example.bam.bai
48
+ !tests/data/
49
+ !tests/data/harmos_compat.bam
50
+ !tests/data/harmos_compat.bam.bai
51
+ !tests/data/harmos_compat.sam
52
+ !tests/fixtures/
53
+ !tests/fixtures/*.bam
54
+ !tests/fixtures/*.bai
55
+
56
+ # Local scratch / demo apps (not part of the published package)
57
+ demo_app.py
58
+ demanding_app.py
59
+ scratch_demo.bam
60
+
61
+ # Author-local material kept out of the public software repo: research
62
+ # paper, benchmark harness + outputs, dataset/setup scripts, container and
63
+ # bench dependency manifests, and local agent/config files. These live on
64
+ # the author's machine only and are not part of the rubam software.
65
+ /CLAUDE.md
66
+ /.claude/
67
+ /bench/
68
+ /paper/
69
+ /scripts/
70
+ /results/
71
+ /requirements.txt
72
+ /Dockerfile
73
+ /.github/workflows/bench-cross-env.yml
74
+
75
+ # Pytest / coverage caches
76
+ .pytest_cache/
77
+ .coverage
78
+ coverage.svg
79
+
80
+ # bioRxiv build outputs
81
+ paper/*.aux
82
+ paper/*.bbl
83
+ paper/*.blg
84
+ paper/*.log
85
+ paper/*.out
86
+ paper/*.toc
87
+ paper/*.synctex.gz
88
+ paper/_output/
89
+ paper/_freeze/
90
+ paper/.quarto/
91
+ # LaTeX-generated figure PDFs are ignored, but matplotlib-generated
92
+ # bench figures (committed alongside the paper text) are kept.
93
+ # To regenerate: bench/plot_*.py against results/<run-id>/metrics.csv.