Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix strand enum #350

Open
jsstevenson opened this issue Jul 3, 2024 · 0 comments
Open

Fix strand enum #350

jsstevenson opened this issue Jul 3, 2024 · 0 comments
Labels
priority:medium Medium priority technical debt A feature/requirement implemented in a sub-optimal way & must be re-written. Contrast to "cleanup"

Comments

@jsstevenson
Copy link
Member

jsstevenson commented Jul 3, 2024

Cool-Seq-Tool's strand class looks like this:

class Strand(IntEnum):
    """Create enum for positive and negative strand"""

    POSITIVE = 1
    NEGATIVE = -1

FUSOR's strand class looks like this:

class Strand(str, Enum):
    """Define possible values for strand"""

    POSITIVE = "+"
    NEGATIVE = "-"

and the Gene Normalizer's class looks like this:

class Strand(str, Enum):
    """Define string constraints for strand attribute."""

    FORWARD = "+"
    REVERSE = "-"

edit: another one! agct:

class Strand(str, Enum):
    """Constrain strand values."""

    POSITIVE = "+"
    NEGATIVE = "-"

This is all very annoying. Ideally, there would be a base Strand class somewhere that all of these tools could import from, but it's not going to be in VRS and it seems like a non-high priority for groups like sequence annotation. In the meantime, we should make all of them consistent, but that entails some decisions and API breaks.

I think I like the Cool-Seq-Tool way the most but obviously it doesn't really matter.

@jsstevenson jsstevenson added bug Something isn't working priority:medium Medium priority technical debt A feature/requirement implemented in a sub-optimal way & must be re-written. Contrast to "cleanup" and removed bug Something isn't working labels Jul 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority:medium Medium priority technical debt A feature/requirement implemented in a sub-optimal way & must be re-written. Contrast to "cleanup"
Projects
None yet
Development

No branches or pull requests

1 participant