Skip to content

Genbank LOCUS line parsing #833

Closed
Closed

Description

@jamesmorris

Hi,

I have been working on upgrading the version of Biojava used in a code base that was previously using version 1.7.

Most of the biojava code was used for working with genbank files, I have gone about altering this code to be compatible with version 5 of biojava.

During this work I have come across an issue with the locus line parsing in GenbankSequenceParser class.

This became apparent because tests previously passing using 1.7 are now failing using 5.1 due to "Bad locus line" exceptions when trying to parse the unchanged test genbank files.

These test failures are being caused by a few changes in the way the locus line is parsed:
Units (bp/aa) - is required to be lower case
Topology (linear/circular) - is required to be lower case
Strand (ds-/ss-/ms-) - is required to be lower case
There is also a requirement of at least one white space character after the units even though all the following fields are captured optionally.

Before I submit a pull request with a change to the Pattern that captures information in the locus line to correct these issues I wanted to check if there was any reason for the case sensitivity?

Thanks,
James

Activity

  1. heuermh commented on Apr 11, 2019

    @heuermh
    Member

    Hello @jamesmorris, thank you for submitting this issue.

    Note that Biojava 1.x is still maintained at https://github.com/biojava/biojava-legacy, and if there are new features/bug fixes you require there, we can cut new releases. So if it ain't broke don't fix it. ;)

    If you have other reasons for migrating to Biojava 5.x, then yes, unfortunately there might be differences in the parser implementations, as they were written by different people, and no integration tests were made to compare 5.x against 1.x. I know I've seen other differences with regards to FASTA description lines.

    Please submit a pull request here with your proposed changes. We can see if the specification has any guidance, and perhaps add a flag for leniency with regards to case-sensitivity, if the spec says one thing and real data the other.

  2. heuermh commented on Apr 24, 2019

    @heuermh
    Member

    Thank you, @jamesmorris

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions