[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