Skip to content

FM index cursor enable node access #2061

@tloka

Description

@tloka

Hey,

I have one more request concerning the FM index cursor. While with #2048 you provide cerealisation for FM index cursors (which is great and clearly resolves #2044 ), this unfortunately does not resolve a different issue I have with the current implementation of the cursor.

Need

For my FM index algorithm, I need to compare the locations of FM index cursors. I use this for sorting, removing duplicates, detecting nodes that are "contained" in other nodes, etc.. Therefore, I need access to the cursor members to compare cursors with each other, either manually or by enabling the implementation of operators such as < to use stl functions.

Solution

To be able to do this with SeqAn3, I would need to access at least the node of FM index cursors which is currently not possible (private member). Would it be possible to provide access to the node of FM index cursors? As these are not too big, I guess a getter returning a copy would in principle be fine in case you want to ensure that corruption of a cursor is not possible, though returning a reference or a getter to access each node member individually would probably be more efficient.

Notes

I am aware that == and != operators for FM index cursors are defined. Still, this is not sufficient for my purpose as I need very special types of comparisons which would probably not be appropriate for general purpose (e.g., in some of my comparisons the depth should not be included in the comparison, which it currently is for the == operator which generally also makes sense). This is why I would like to have access to the members and define my own comparisons instead of asking for operators directly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions