[BioSQL-l] How is is_circular recorded in BioSQL (by BioPerl)?
Peter Cock
p.j.a.cock at googlemail.com
Mon Jul 25 11:20:42 UTC 2011
On Mon, Jul 25, 2011 at 12:14 PM, Roy Chaudhuri <roy.chaudhuri at gmail.com> wrote:
> Hi Peter,
>
> As far as I understand, is_circular is not stored in BioSQL by default when
> using bp_load_seqdatabase.pl. As indicated in the thread you quoted, you can
> optionally store it as an annotation using a SequenceProcessor - I use a
> copy of Bio::Seq::BaseSeqProcessor modified with the following subroutine:
>
> sub process_seq {
> my ($self,$seq) = @_;
> my $value=Bio::Annotation::SimpleValue->new(-tagname=>'is_circular',
> -value=>$seq->is_circular);
> $seq->annotation->add_Annotation($value);
> return ($seq);
> }
>
> This SequenceProcessor module can be specified to bp_load_seqdatabase.pl
> using the --pipeline flag, and results in the value of is_circular being
> stored in the table bioentry_qualifier_value. Its value can be determined
> using SQL like:
>
> select q.value from bioentry e
> join bioentry_qualifier_value q using(bioentry_id)
> join term t using(term_id)
> where e.accession='U00096' and t.name='is_circular'
>
That's interesting - I hadn't realised this was optional in BioPerl.
Can you tell what value is actually put in the database? Presumably
whatever Perl defaults to as the string representation of a boolean?
> In the thread you mentioned, it was suggested that a specific is_circular
> column be added to the BioSQL schema (in the biosequence table), but I don't
> think this has been implemented yet.
>
> Cheers,
> Roy.
Confirmed, there is no such column in the biosequence table (yet).
Thank you,
Peter
More information about the BioSQL-l
mailing list