[Bioperl-l] [BioSQL-l] How is is_circular recorded in BioSQL (by BioPerl)?

Roy Chaudhuri roy.chaudhuri at gmail.com
Mon Jul 25 07:14:08 EDT 2011


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'

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.

On 25/07/2011 09:29, Peter Cock wrote:
> Hi all,
>
> I'm trying to check how (currently) BioSQL should be used to record
> if a sequence is circular or linear. I know this property is exposed in
> BioPerl as the boolean is_circular() method from Bio::PrimarySeq,
> and based on this old thread the value gets stored in BioSQL as a
> sequence level annotation:
>
> http://www.bioperl.org/pipermail/biosql-l/2005-June/000843.html
> http://www.bioperl.org/pipermail/biosql-l/2005-June/000846.html
> http://www.bioperl.org/pipermail/biosql-l/2005-June/000849.html
> http://www.bioperl.org/pipermail/biosql-l/2005-June/000859.html
>
> The term is_circular also matches nicely with GFF3, other than a
> possible difference in capitalisation:
>
> "Is_circular A flag to indicate whether a feature is circular."
>
> and:
>
> "For a circular genome, the landmark feature should include
> Is_circular=true in column 9."
>
> http://www.sequenceontology.org/gff3.shtml.
>
> Can anyone confirm how exactly the is_circular (or Is_circular?)
> annotation is used in BioSQL by BioPerl? I am guessing that
> it is in the standard bioentry_qualifier_value table, with the
> term_id referencing "is_circular" (check case), rank 0, and
> value of "true" or "false" (check case).
>
> I want to make Biopython's BioSQL usage consistent, see:
> https://redmine.open-bio.org/issues/2578
>
> Thanks,
>
> Peter
> _______________________________________________
> BioSQL-l mailing list
> BioSQL-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biosql-l




More information about the Bioperl-l mailing list