Skip to content

Panic when calling gb_io::seq::Seq::set_origin: assertion failed: len == self.seq.len() #9

@J-Wall

Description

@J-Wall

Thanks for the overall great library for working with an... interesting... file format.

I ran into a failed assertion when I was trying to rotate records from refseq mitochondria. Turns out NCBI don't actually include the sequences in that file anymore. The CONTIG field now resembles something like a location, but with some external identifier as the sequence... As a result, the record's .len() is some positive number (i.e. 63999 for NW_017264706.1) but .seq.len() is 0.

The change in what's included in the refseq mitogenome genbank files notwithstanding, I think this behavior is a bug. At the very least an Err should be returned, especially since one might like to call .set_origin() on a Seq that's been modified after it's been parsed from a file (and therefore after the validation occurs, as I understand it). Or perhaps it should even succeed if the sequence data is empty (i.e. just rotate the features for an annotation-only genbank record).

Handling this type of CONTIG field is probably a separate issue...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions