bioperl / bioperl-live-redmine

Legacy tickets migrated from the OBF Redmine issue tracker: http://redmine.open-bio.org
0 stars 0 forks source link

seq_version() in Bio::PrimarySeq not found #84

Open cjfields opened 8 years ago

cjfields commented 8 years ago

Author Name: Peng Yu (Peng Yu) Original Redmine Issue: 3095, https://redmine.open-bio.org/issues/3095 Original Date: 2010-06-07 Original Assignee: Chris Fields


According to perldoc Bio::Seq, seq_version should be available in Bio::PrimarySeq.

Bear in mind that some of these methods come from PrimarySeq objects, which are simpler than Seq objects, stripped of features (see Bio::PrimarySeq for more information). … $seqobj->seq_version() # when there, the version

But I only found version instead of seq_version in perldoc Bio::PrimarySeq. Is it a bug?

cjfields commented 8 years ago

Original Redmine Comment Author Name: Jason Stajich Original Date: 2010-06-07T16:18:53Z


I think you just want to use ‘version’ seq_version is in Bio::Seq::RichSeqI which refers to extra fields in GenBank/EMBL/Swissprot data

I am not sure why the Bio::Seq documentation mentions seq_version

cjfields commented 8 years ago

Original Redmine Comment Author Name: Chris Fields Original Date: 2010-06-25T16:33:47Z


Posted about this to the list, hopefully will get some responses.

cjfields commented 8 years ago

Original Redmine Comment Author Name: Chris Fields Original Date: 2010-07-16T17:29:07Z


The consensus on this is that version() and seq_version() can be two different things; version() corresponds to any sequence version (local, remote, whatever), whereas seq_version() corresponds to the sequence database version (e.g. what one gets from a seq record).

Saying that, I’ve noticed several inconsistencies with how the two are used. For instance, SeqIO::genbank and SeqIO::embl use seq_version (which seems correct), whereas SeqIO::swiss uses vanilla PrimarySeq::version(). In cases such as this, I suggest we always set seq_version() for sequence record versions via SeqIO, then have seq_version() fall back to returning version() unless explicitly set. This should catch issues with legacy cases like SeqIO::swiss being the odd one out.

If I don’t see much objection, I’ll implement the latter behavior on a branch.

cjfields commented 8 years ago

Original Redmine Comment Author Name: Jason Stajich Original Date: 2011-03-05T18:51:30Z


This seems like good plan - did you manage to get this implemented?