Repository navigation
Use Rust for transcript-to-genome projection - #211
Merged
Merged
Conversation
…e=...) pandas-stubs has no pd.array overload for a generic Series.dtype (np.dtype | ExtensionDtype), so ty check failed in CI. Series.astype accepts it and yields the same arrays. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YSQEBfFhfhK1o1XRsbHtcP
Resolve the CHANGELOG conflict by moving the Unreleased Rust mapping entry into 1.5.2, and add it to the README changelog. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
endrebak
marked this pull request as ready for review
October 27, 2026 13:29
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PyRanges.map_to_globalcurrently expands queries against every exon in pandas. Switch the public method to the Rust projection path using query-first NumPy arguments and the emitting exon index to reconstruct the exact source index, original query/reference order, chromosome, strand composition, optional metadata, and pandas dtype/category behavior.Numeric sorting and clipping happen in ruranges-core. PyRanges1 retains transcript-end interpretation of negative offsets and uses an empty metadata merge to reproduce pandas dtype rules without materializing the query-by-exon table. Identifiers reused across chromosomes or strands keep the existing pandas implementation, since each locus has its own spliced coordinate system. Update the documentation and require ruranges >= 0.2.9 in packaging, tox, and the runtime dependency check. Remove the three obsolete tests targeting the deleted
pr.parallelismchunking API; the current thread-control tests remain in place.Validation:
ruff format --check --diff pyranges1,ruff check pyranges1,ty check, andgit diff --checkpass.pytest tests/: all 860 tests pass after removingtests/test_parallelism.py, whose three tests target removed APIs. The combined doctest/unit collection also finds a legacy module importing the oldpyrangespackage; doctests and the unit suite pass when run separately as in CI.This draft depends on ruranges_py#45 and the release of ruranges 0.2.9. Merge/publish ruranges-core 0.1.16 first, then ruranges 0.2.9, before merging this dependency bump. No mapping unit tests were added or modified in this PR; the additional development comparisons remain outside the repository.