[Bioperl-l] Question on SeqFeature_RelationShip

lajus florian.lajus at inria.fr
Fri Jan 13 04:27:27 EST 2012


I should write
- a new adaptor called SeqFeatureRelationshipAdaptor in Bio/DB/BioSQL
of course

Le 13/01/2012 10:25, lajus a écrit :
> Hi hilmar,
>
> Thanks for your hint, but I'm quite lost in the BioPerl architecture 
> (and quite new in perl programming). I'd like to use the handling of 
> term-to-term relationships as a template but I don't find what files 
> are related to this.
>
> As far as I understand, I should create:
>     - a new adaptor called SeqFeatureRelationshipAdaptor in Bio/DB
>     - a new object SeqFeatureRelationship (and its interface) in 
> Bio/Seqfeature
>     - modify SeqFeatureAdaptor to store children (just with a call to 
> subSeqFeature in store_children sub and thanks to my 
> SeqFeatureRelationshipAdaptor create new relationships)
>     - modify SeqFeatureAdaptor to retrieve children ( thanks to my 
> SeqFeatureRelationshipAdaptor create new relationships )
>
> Is it the right way?
>
> Florian
>
> Le 12/01/2012 18:49, Hilmar Lapp a écrit :
>> Hi Florian,
>>
>> Thanks for digging this up - this is what I had in memory, but I ran 
>> out of time last night in ascertaining that it is indeed still true.
>>
>> It'd be awesome if you can add the code to SeqFeatureAdaptor to also 
>> persist and retrieve sub-features. I think the object-relational 
>> mappings are all there already (in BaseDriver.pm). You could use the 
>> handling of bioentry-to-bioentry relationships (or term-to-term 
>> relationships) as a template for how to implement this.
>>
>>     -hilmar
>>
>> On Jan 12, 2012, at 4:23 AM, lajus wrote:
>>
>>> Ok, I have looked in BioPerl code and it appears that subSeqFeature 
>>> are not handled yet:
>>> comment in SeqFeatureAdaptor.pm for store children function (and 
>>> attach childrenn too):
>>> "Bio::SeqFeatureI has a location, annotation, and possibly 
>>> sub-seqfeatures as children. The latter is not implemented yet."
>>>
>>> So it's totally normal, if it doesn't work.
>>> Have you started to implement this stuff, or should I rewrite 
>>> another SeqFeatureAdaptor which handle this ?
>>>
>>> Florian
>>>
>>> Le 11/01/2012 16:44, Fields, Christopher J a écrit :
>>>> Seems like a possible bug with bioperl-db, I believe hierarchal 
>>>> seqfeatures are stored, but it's worth looking into.  Do you have 
>>>> some example data (genbank file you are using, for instance)?
>>>>
>>>> chris
>>>>
>>>> On Jan 11, 2012, at 7:09 AM, lajus wrote:
>>>>
>>>>> Therefore, if I look in verbose mode, I can see that in the stack 
>>>>> I have many :
>>>>>
>>>>> no adaptor found for class Bio::Annotation::TypeManager
>>>>> no adaptor found for class 
>>>>> Bio::DB::Persistent::PersistentObjectFactory
>>>>>
>>>>> Just warning, no errors but...
>>>>> Any clues?
>>>>>
>>>>> Thanks by advance,
>>>>>
>>>>> Florian
>>>>>
>>>>> Le 11/01/2012 13:43, lajus a écrit :
>>>>>> I have looked to the Unflattener and  the magic works quite fine.
>>>>>> Then, the $seq which is given (by side-effect)  by
>>>>>> $unflattener->unflatten_seq(-seq=>$seq, -use_magic=>1);
>>>>>> has a good hierarchy for us.
>>>>>> So I'm asking why can't I store this Bio::Seq in my database? Now 
>>>>>> there is an explicit parent/child links between the gene and CDS.
>>>>>> But when I create a persitent object for $seq and if I create it:
>>>>>>     $adaptor->create_persistent($seq);
>>>>>>     $pseq->create();
>>>>>> In my database, the bioentry and subseqFeatures are written but 
>>>>>> still no relation in the seqFeature_relationship table.
>>>>>>
>>>>>> Do you have an explanation?
>>>>>>
>>>>>> Florian
>>>>>>
>>>>>> Le 10/01/2012 19:45, Fields, Christopher J a écrit :
>>>>>>> On Jan 10, 2012, at 12:18 PM, Peter Cock wrote:
>>>>>>>
>>>>>>>> On Tue, Jan 10, 2012 at 5:06 PM, 
>>>>>>>> lajus<florian.lajus at inria.fr>    wrote:
>>>>>>>>> Hello,
>>>>>>>>> I am currently working on a refactoring of the Genolevures 
>>>>>>>>> project
>>>>>>>>> (http://www.genolevures.org/)
>>>>>>>>> We are trying to better use bioperl and the bioSQL shema on a 
>>>>>>>>> postgreSQL
>>>>>>>>> database.
>>>>>>>>>
>>>>>>>>> I have loaded an EMBL file into my BioSQL database (postgres). 
>>>>>>>>> If I look in
>>>>>>>>> my database, my bioentry have been added and seqFeatures 
>>>>>>>>> associated too.
>>>>>>>>> But it seems that my seqfeature_relationship table is empty.
>>>>>>>>> I find it strange in so far as there is a relationship between 
>>>>>>>>> gene and its
>>>>>>>>> CDS. right?
>>>>>>>> No, not explicitly. Unlike GFF3 where there can be (and should be)
>>>>>>>> explicit parent/child links between the gene and CDS, in GenBank
>>>>>>>> and EMBL feature tables this is implicit only. I don't know if 
>>>>>>>> BioPerl
>>>>>>>> attempts to infer this kind of relationship, and if it did, if 
>>>>>>>> that would
>>>>>>>> get record in the BioSQL tables.
>>>>>>>>
>>>>>>>> Peter
>>>>>>> BioPerl does not attempt to infer these by default (too much 
>>>>>>> magic, and too many potential issues), but one can use something 
>>>>>>> like the Unflattener, which does have some magic built-in:
>>>>>>>
>>>>>>> https://metacpan.org/module/Bio::SeqFeature::Tools::Unflattener
>>>>>>>
>>>>>>> chris
>>>>>>>
>>>>> _______________________________________________
>>>>> Bioperl-l mailing list
>>>>> Bioperl-l at lists.open-bio.org
>>>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>> _______________________________________________
>>> Bioperl-l mailing list
>>> Bioperl-l at lists.open-bio.org
>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>



More information about the Bioperl-l mailing list