prismalign 0.2.4__tar.gz → 0.2.6__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.

Potentially problematic release.


This version of prismalign might be problematic. Click here for more details.

Files changed (139) hide show
  1. {prismalign-0.2.4/prismalign.egg-info → prismalign-0.2.6}/PKG-INFO +1 -1
  2. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/adapters/base.py +17 -11
  3. {prismalign-0.2.4 → prismalign-0.2.6/prismalign.egg-info}/PKG-INFO +1 -1
  4. {prismalign-0.2.4 → prismalign-0.2.6}/pyproject.toml +1 -1
  5. {prismalign-0.2.4 → prismalign-0.2.6}/LICENSE +0 -0
  6. {prismalign-0.2.4 → prismalign-0.2.6}/MANIFEST.in +0 -0
  7. {prismalign-0.2.4 → prismalign-0.2.6}/README.md +0 -0
  8. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/__init__.py +0 -0
  9. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/adapters/__init__.py +0 -0
  10. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/adapters/bowtie2/__init__.py +0 -0
  11. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/adapters/bwa/__init__.py +0 -0
  12. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/adapters/bwa_mem2/__init__.py +0 -0
  13. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/adapters/hisat2/__init__.py +0 -0
  14. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/adapters/minimap2/__init__.py +0 -0
  15. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/adapters/sam/__init__.py +0 -0
  16. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/adapters/strobealign/__init__.py +0 -0
  17. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/__init__.py +0 -0
  18. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/base.py +0 -0
  19. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/bwamem/__init__.py +0 -0
  20. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/bwamem2/__init__.py +0 -0
  21. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/mappy/__init__.py +0 -0
  22. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/minibwa/__init__.py +0 -0
  23. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/registry.py +0 -0
  24. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/__init__.py +0 -0
  25. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/LICENSE.wfa2 +0 -0
  26. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/alignment/affine2p_penalties.c +0 -0
  27. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/alignment/affine2p_penalties.h +0 -0
  28. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/alignment/affine_penalties.c +0 -0
  29. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/alignment/affine_penalties.h +0 -0
  30. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/alignment/cigar.c +0 -0
  31. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/alignment/cigar.h +0 -0
  32. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/alignment/cigar_utils.c +0 -0
  33. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/alignment/cigar_utils.h +0 -0
  34. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/alignment/linear_penalties.h +0 -0
  35. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/alignment/score_matrix.c +0 -0
  36. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/alignment/score_matrix.h +0 -0
  37. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/system/mm_allocator.c +0 -0
  38. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/system/mm_allocator.h +0 -0
  39. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/system/mm_stack.c +0 -0
  40. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/system/mm_stack.h +0 -0
  41. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/system/profiler_counter.c +0 -0
  42. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/system/profiler_counter.h +0 -0
  43. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/system/profiler_timer.c +0 -0
  44. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/system/profiler_timer.h +0 -0
  45. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/utils/bitmap.c +0 -0
  46. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/utils/bitmap.h +0 -0
  47. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/utils/commons.c +0 -0
  48. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/utils/commons.h +0 -0
  49. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/utils/dna_text.c +0 -0
  50. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/utils/dna_text.h +0 -0
  51. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/utils/heatmap.c +0 -0
  52. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/utils/heatmap.h +0 -0
  53. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/utils/sequence_buffer.c +0 -0
  54. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/utils/sequence_buffer.h +0 -0
  55. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/utils/vector.c +0 -0
  56. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/utils/vector.h +0 -0
  57. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront.c +0 -0
  58. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront.h +0 -0
  59. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_align.c +0 -0
  60. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_align.h +0 -0
  61. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_aligner.c +0 -0
  62. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_aligner.h +0 -0
  63. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_attributes.c +0 -0
  64. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_attributes.h +0 -0
  65. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_backtrace.c +0 -0
  66. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_backtrace.h +0 -0
  67. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_backtrace_buffer.c +0 -0
  68. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_backtrace_buffer.h +0 -0
  69. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_backtrace_offload.c +0 -0
  70. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_backtrace_offload.h +0 -0
  71. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_bialign.c +0 -0
  72. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_bialign.h +0 -0
  73. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_bialigner.c +0 -0
  74. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_bialigner.h +0 -0
  75. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_components.c +0 -0
  76. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_components.h +0 -0
  77. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_compute.c +0 -0
  78. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_compute.h +0 -0
  79. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_compute_affine.c +0 -0
  80. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_compute_affine.h +0 -0
  81. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_compute_affine2p.c +0 -0
  82. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_compute_affine2p.h +0 -0
  83. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_compute_edit.c +0 -0
  84. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_compute_edit.h +0 -0
  85. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_compute_linear.c +0 -0
  86. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_compute_linear.h +0 -0
  87. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_debug.c +0 -0
  88. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_debug.h +0 -0
  89. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_display.c +0 -0
  90. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_display.h +0 -0
  91. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_extend.c +0 -0
  92. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_extend.h +0 -0
  93. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_extend_kernels.c +0 -0
  94. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_extend_kernels.h +0 -0
  95. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_extend_kernels_avx.h +0 -0
  96. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_heuristic.c +0 -0
  97. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_heuristic.h +0 -0
  98. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_offset.h +0 -0
  99. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_pcigar.c +0 -0
  100. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_pcigar.h +0 -0
  101. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_penalties.c +0 -0
  102. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_penalties.h +0 -0
  103. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_plot.c +0 -0
  104. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_plot.h +0 -0
  105. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_sequences.c +0 -0
  106. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_sequences.h +0 -0
  107. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_slab.c +0 -0
  108. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_slab.h +0 -0
  109. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_termination.c +0 -0
  110. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_termination.h +0 -0
  111. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_unialign.c +0 -0
  112. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wavefront_unialign.h +0 -0
  113. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wfa2lib/wavefront/wfa.h +0 -0
  114. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/backends/wfa2/wrap.c +0 -0
  115. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/cli.py +0 -0
  116. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/colorops.py +0 -0
  117. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/em.py +0 -0
  118. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/engine.py +0 -0
  119. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/schemes.py +0 -0
  120. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign/seqops.c +0 -0
  121. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign.egg-info/SOURCES.txt +0 -0
  122. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign.egg-info/dependency_links.txt +0 -0
  123. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign.egg-info/entry_points.txt +0 -0
  124. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign.egg-info/requires.txt +0 -0
  125. {prismalign-0.2.4 → prismalign-0.2.6}/prismalign.egg-info/top_level.txt +0 -0
  126. {prismalign-0.2.4 → prismalign-0.2.6}/setup.cfg +0 -0
  127. {prismalign-0.2.4 → prismalign-0.2.6}/setup.py +0 -0
  128. {prismalign-0.2.4 → prismalign-0.2.6}/tests/test_adapters.py +0 -0
  129. {prismalign-0.2.4 → prismalign-0.2.6}/tests/test_backends.py +0 -0
  130. {prismalign-0.2.4 → prismalign-0.2.6}/tests/test_backends_matrix.py +0 -0
  131. {prismalign-0.2.4 → prismalign-0.2.6}/tests/test_batch_backend.py +0 -0
  132. {prismalign-0.2.4 → prismalign-0.2.6}/tests/test_colorops.py +0 -0
  133. {prismalign-0.2.4 → prismalign-0.2.6}/tests/test_em.py +0 -0
  134. {prismalign-0.2.4 → prismalign-0.2.6}/tests/test_engine.py +0 -0
  135. {prismalign-0.2.4 → prismalign-0.2.6}/tests/test_hierarchy.py +0 -0
  136. {prismalign-0.2.4 → prismalign-0.2.6}/tests/test_parity.py +0 -0
  137. {prismalign-0.2.4 → prismalign-0.2.6}/tests/test_pe_minibwa.py +0 -0
  138. {prismalign-0.2.4 → prismalign-0.2.6}/tests/test_sam_backend.py +0 -0
  139. {prismalign-0.2.4 → prismalign-0.2.6}/tests/test_wfa2_backend.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prismalign
3
- Version: 0.2.4
3
+ Version: 0.2.6
4
4
  Summary: N-color (2-color / 3-color / 3-nt) nucleotide-conversion alignment engine with pluggable backends
5
5
  Author-email: Chang Ye <yech1990@gmail.com>
6
6
  License-Expression: GPL-3.0-only
@@ -422,7 +422,6 @@ class CliAdapter:
422
422
  raise RuntimeError(f"aligner failed: {stderr[:500]}")
423
423
  return [by_name[name] for name, _seq, _qual in reads]
424
424
 
425
- # -- one whole file: prismalign manages the batching itself ---------------
426
425
  # -- one whole file: prismalign manages the batching itself ---------------
427
426
  def _map_batches(self, batches, threads=None, workers=1):
428
427
  """Map batches (an iterable of read-lists) via :meth:`map_batch`.
@@ -436,19 +435,26 @@ class CliAdapter:
436
435
  results = list(ex.map(lambda b: self.map_batch(b, threads=threads), batches))
437
436
  return [h for r in results for g in r for h in g]
438
437
 
439
- def map_file(self, fastq_path, batch_size=8192, threads=1, workers=1) -> list:
438
+ def map_file(self, fastq_path, batch_size=32768, threads=1, workers=1) -> list:
440
439
  """Map a whole FASTQ (plain or ``.gz``).
441
440
 
442
- A thin wrapper: read the file in ``batch_size``-read batches (default
443
- 8192, a multiple of bwa-mem2's internal 512 batch) and :meth:`map_batch`
444
- each. ``workers>1`` processes the batches **concurrently** via a thread
445
- pool -- each batch is an **independent tool subprocess**, which is the
446
- real throughput lever (bwa-mem2's own ``-t`` saturates on a shared index;
447
- separate processes each get their own memory bandwidth).
441
+ A thin wrapper: read the file in ``batch_size``-read batches and
442
+ :meth:`map_batch` each (one tool subprocess per batch).
443
+
444
+ ``batch_size`` matters a lot (measured with bwa-mem2):
445
+
446
+ * it amortizes the **per-invocation** cost (subprocess startup + index
447
+ load). Even single-threaded, 32768/batch is ~3x faster than 8192/batch
448
+ because there are far fewer subprocess invocations.
449
+ * it must be large enough to give the tool's ``-t`` **threads** real work.
450
+ With a too-small batch (e.g. 8192) bwa-mem2's threads do not engage and
451
+ ``threads`` buys nothing; at 32768+ ``threads=4`` reaches ~3x and
452
+ ``threads=8`` ~6x over ``threads=1``.
448
453
 
449
- For max throughput set ``workers`` to ~cpu/2..cpu and keep ``threads=1``
450
- (parallelize via processes, not the tool's threads). Returns the combined
451
- ``list[RawHit]``.
454
+ ``workers>1`` runs the batches **concurrently** (each an independent tool
455
+ subprocess), so total parallelism is roughly ``workers x threads``. A good
456
+ default is a handful of workers each with a few threads (e.g. ``workers=2,
457
+ threads=4`` on 8 cores). Returns the combined ``list[RawHit]``.
452
458
  """
453
459
  self._ensure_index()
454
460
  return self._map_batches(_iter_batches(fastq_path, batch_size), threads, workers)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prismalign
3
- Version: 0.2.4
3
+ Version: 0.2.6
4
4
  Summary: N-color (2-color / 3-color / 3-nt) nucleotide-conversion alignment engine with pluggable backends
5
5
  Author-email: Chang Ye <yech1990@gmail.com>
6
6
  License-Expression: GPL-3.0-only
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "prismalign"
3
- version = "0.2.4"
3
+ version = "0.2.6"
4
4
  description = "N-color (2-color / 3-color / 3-nt) nucleotide-conversion alignment engine with pluggable backends"
5
5
  authors = [{ name = "Chang Ye", email = "yech1990@gmail.com" }]
6
6
  requires-python = ">=3.10"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes