[Bioperl-l] reading and writing GFF3
Robert Buels
rmb32 at cornell.edu
Sat Jun 17 10:36:59 UTC 2006
Yep. I'm almost finished with the first draft of a function that does
this. I'll polish it up over the weekend then on Monday I'll submit a
bugzilla bug and patch with it so you can take a look.
Rob
Scott Cain wrote:
> Rob,
>
> I came to the same conclusion as well; I wrote my response as I was
> heading out the door and while I was running errands, I realized the
> right thing to do is to write a Bio::SeqFeature::Annotated method called
> new_from_object, whose usage would be:
>
> my $my_BSFA = Bio::SeqFeature::Annotated->new_from_object($my_BSFI, %args);
>
> where you would give it a Bio::SeqFeatureI compliant object and try to
> create a BSFA like use suggested below. You could allow passing in args
> to control how different things are handled, like mapping non-SO types
> to SO types. I'll think about this over the weekend and let you know if
> brilliance strikes me.
>
> Scott
>
>
> On Fri, 2006-06-16 at 13:31 -0700, Robert Buels wrote:
>
>> Rather than cobble together some ad-hoc solution, I would be interested
>> in working on a good solution to this problem, because it seems like
>> it's just going to get more common as more people start wanting to write
>> GFF3. What about some code in whatever customarily makes these objects
>> (probably BSF::Annotated's new() method?) that could take another type
>> of Feature object and attempt to shoehorn its data into a new
>> BSF::Annotated? If it failed (because the type isn't in SO or
>> whatever), it could throw() some informative error message.
>>
>> Then, people could write straightforward code something like:
>>
>> while(my $oldstylefeature = $features_in->next_feature) {
>> $oldstylefeature->primary_tag('something_that_is_in_so');
>> $oldstylefeature->something_else('some other something that needs to
>> be changed for compliance');
>> my $newfeature = Bio::SeqFeature::Annotated->new($oldstylefeature);
>> $gff3_out->write_feature($newfeature);
>> }
>>
>> Does that sound like a good idea? I'd be more than willing to implement
>> this, since I'm going to need to do this sort of thing with many more
>> things than just RepeatMasker.
>>
>> Rob
>>
>> Scott Cain wrote:
>>
>>> Um, yeah, good question. The reason I didn't answer you when you wrote
>>> before is that I was hoping for divine inspiration for an answer (or for
>>> somebody else to answer, which would have been really great :-)
>>>
>>> The short answer (and easy one for me to type) is that you will probably
>>> need an ad hoc method to do it, which is the same thing I do when I need
>>> to convert gff2 to gff3, to make sure the things I need mapped get
>>> mapped the 'right' way (that is, the way I want them to go). I don't
>>> have any sample code that does this, but if you want to start working up
>>> an ad hoc method, I will certainly try to help you as much as I can.
>>>
>>> Scott
>>>
>>>
>>> On Fri, 2006-06-16 at 12:34 -0700, Robert Buels wrote:
>>>
>>>
>>>> So about that converting ye olde feature objects into
>>>> Bio::SeqFeature::Annotated objects. How do I do it?
>>>>
>>>>
>>>> Scott Cain wrote:
>>>>
>>>>
>>>>> That's OK--You added a few items that should be escaped that weren't, so
>>>>> I added those too.
>>>>>
>>>>> Thanks,
>>>>> Scott
>>>>>
>>>>>
>>>>> On Fri, 2006-06-16 at 12:30 -0700, Robert Buels wrote:
>>>>>
>>>>>
>>>>>
>>>>>> Woops, I should have said something about that. I submitted it before
>>>>>> I saw that Scott had already done the escaping in CVS.
>>>>>>
>>>>>> Chris Fields wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Scott,
>>>>>>>
>>>>>>> Looks like Robert also submitted a bug report related to this as well=
>>>>>>> ------------------------------------------------------------------------
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Bioperl-l mailing list
>>>>>>> Bioperl-l at lists.open-bio.org
>>>>>>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>>>>>>
--
Robert Buels
SGN Bioinformatics Analyst
252A Emerson Hall, Cornell University
Ithaca, NY 14853
Tel: 503-889-8539
rmb32 at cornell.edu
http://www.sgn.cornell.edu
More information about the Bioperl-l
mailing list