Closed AlexTate closed 2 years ago
Interval selectors are now objects which are stored in each identity match tuple of each feature record in the StepVector. Like the other selectors, candidate alignments are evaluated by calling the selector's contains() method. This leverages the bytecode advantage of using the in
operator (COMPARE_OP) rather than an expensive function call (LOAD+CALL_METHOD or LOAD+CALL_FUNCTION).
Need to revise it so that 5' and 3' anchor points account for the strand the small RNA is derived from as well as the strand the feature is derived from.
Strand semantics have been corrected for 3'/5' Anchored selectors
very nice!
Additional interval selectors have been added for
Exact
,5' anchored`, and
3' anchored`.The names of the
anchored
selectors may lead to some confusion. Positions in GFF3 and SAM files are defined using the same axis and origin regardless of strand. Thestart
position does not imply5' position
.Therefore strand is not considered when determining a match. An alignment matches aTurns out I was right: there was certainly room for confusion here (my own). See recent comments below.5' anchored
selector when itsstart
position matches the feature. The same is true for theend
position when using a3' anchored
selector.Closes #164