[Bioperl-l] Add sequence feature

2 views
Skip to first unread message

Jessica Sun

unread,
Aug 13, 2010, 11:06:46 AM8/13/10
to biop...@lists.open-bio.org
Does anyone knows how to open a genbank file, add new feature and then save
a new genbank
file with new feature added in bioperl ?

thx

--
Jessica Jingping Sun
_______________________________________________
Bioperl-l mailing list
Biop...@lists.open-bio.org
http://lists.open-bio.org/mailman/listinfo/bioperl-l

Jessica Sun

unread,
Aug 13, 2010, 11:27:10 AM8/13/10
to Roy Chaudhuri, biop...@lists.open-bio.org
unfortunately. I want to add the feature to the sequence object I got from
the Genbank file, I do not mind to save a new genbank file but these new
genbank file contains the original genbank format and info I got plus the
new feature tags I need to added to. Any quick solution to this?

thx

Jessica

On Fri, Aug 13, 2010 at 11:21 AM, Roy Chaudhuri <roy.ch...@gmail.com>wrote:

> Hi Jessica.
>
> You need to use Bio::SeqIO to read in the GenBank file to a BioPerl
> sequence object, and to write your new GenBank file:
> http://www.bioperl.org/wiki/HOWTO:SeqIO
>
> To add a new feature follow the instructions here:
>
> http://www.bioperl.org/wiki/HOWTO:Feature-Annotation#Building_Your_Own_Sequences
>
> (except that you are adding the feature to the sequence object you got from
> the Genbank file, not a new Bio::Seq object).
>
> Cheers.
> Roy.

Roy Chaudhuri

unread,
Aug 13, 2010, 11:21:04 AM8/13/10
to Jessica Sun, biop...@lists.open-bio.org
Hi Jessica.

You need to use Bio::SeqIO to read in the GenBank file to a BioPerl
sequence object, and to write your new GenBank file:
http://www.bioperl.org/wiki/HOWTO:SeqIO

(except that you are adding the feature to the sequence object you got
from the Genbank file, not a new Bio::Seq object).

Cheers.
Roy.

On 13/08/2010 16:06, Jessica Sun wrote:

> Does anyone knows how to open a genbank file, add new feature and then save
> a new genbank
> file with new feature added in bioperl ?
>
> thx
>

_______________________________________________

Roy Chaudhuri

unread,
Aug 13, 2010, 11:37:20 AM8/13/10
to Jessica Sun, biop...@lists.open-bio.org
I'm not sure I understand, do you mean that you want to load just the
sequence from the GenBank file (ignoring the existing annotation), then
add your own features? There are instructions on how to do that here:
http://www.bioperl.org/wiki/HOWTO:SeqIO#Speed.2C_Bio::Seq::SeqBuilder

Roy Chaudhuri

unread,
Aug 13, 2010, 11:57:27 AM8/13/10
to Jessica Sun, bioperl-l List
Please remember to copy replies to the mailing list.

You can loop over the features in your Bio::Seq object:
for my $feat ($seq->get_SeqFeatures) { # do something }

And once you have found the feature you want to modify, you can add a
tag using something like:
$feat->add_tag_value('note',"this is a note");

When you're finished you can write out the modified sequence object to a
new GenBank file.

On 13/08/2010 16:40, Jessica Sun wrote:
> no i want to load the genbank file with existing features and I need to
> add some new feature tags to the existing ones and then save to a new
> update genbank file for local usage. I just not quite good on how to
> easily merge the two steps you recommended into one in a neat way.
>
> thx
>
>
> On Fri, Aug 13, 2010 at 11:37 AM, Roy Chaudhuri <roy.ch...@gmail.com


> <mailto:roy.ch...@gmail.com>> wrote:
>
> I'm not sure I understand, do you mean that you want to load just
> the sequence from the GenBank file (ignoring the existing
> annotation), then add your own features? There are instructions on
> how to do that here:
> http://www.bioperl.org/wiki/HOWTO:SeqIO#Speed.2C_Bio::Seq::SeqBuilder
>
>
> On 13/08/2010 16:27, Jessica Sun wrote:
>
> unfortunately. I want to add the feature to the sequence object
> I got
> from the Genbank file, I do not mind to save a new genbank file but
> these new genbank file contains the original genbank format and
> info I
> got plus the new feature tags I need to added to. Any quick
> solution to
> this?
>
> thx
>
> Jessica
>
>
>
> On Fri, Aug 13, 2010 at 11:21 AM, Roy Chaudhuri
> <roy.ch...@gmail.com <mailto:roy.ch...@gmail.com>

> <mailto:roy.ch...@gmail.com

Jessica Sun

unread,
Aug 13, 2010, 1:06:32 PM8/13/10
to Roy Chaudhuri, biop...@lists.open-bio.org
Thanks. I somehow get these error messages.

--------------------- WARNING ---------------------
MSG: Bio::SeqIO::genbank=HASH(0xa7ba1c) is not a SeqI compliant module.
Attempting to dump, but may fail!
---------------------------------------------------
Can't locate object method "seq" via package "Bio::SeqIO::genbank" at
/Library/Perl/5.8.8/Bio/SeqIO/genbank.pm line 760, <GEN0> line 447.

by doing this,

my $feat = new Bio::SeqFeature::Generic(-start =>20,
-end => $40,
-primary_tag => 'newfeature' );


$feat->add_tag_value("note","this is

notes");
$f->add_SeqFeature($feat); ## f is original feature pointer
$io = Bio::SeqIO->new(-format => "genbank", -file => ">$newoutfile" );

$io->write_seq($seqio_object);

Mike Williams

unread,
Aug 13, 2010, 1:41:55 PM8/13/10
to biop...@lists.open-bio.org
On Fri, Aug 13, 2010 at 1:06 PM, Jessica Sun <jessi...@gmail.com> wrote:

> Thanks. I somehow get these error messages.

> by doing this,
>
> my $feat = new Bio::SeqFeature::Generic(-start =>20,
> -end => $40,
> -primary_tag => 'newfeature' );
> $feat->add_tag_value("note","this is
> notes");
>

That $40 looks fishy. Try deleting the dollar sign. You did mean just 40,
right?

Mike

Cook, Malcolm

unread,
Aug 13, 2010, 1:37:50 PM8/13/10
to Jessica Sun, Roy Chaudhuri, biop...@lists.open-bio.org
Jessica,

Show more code!

In particular, where did $f get set?

--Malcolm

Kevin Brown

unread,
Aug 13, 2010, 1:53:50 PM8/13/10
to biop...@lists.open-bio.org
If I'm reading your sample code correctly, then you are mistakenly
trying to output the input SeqIO object and not the actual Bio::Seq
object that was read in by SeqIO.

My $seqio = Bio::SeqIO->new;
My $seq = $seqio->next_seq;

#manipulate $seq

My $out = Bio::SeqIO->new;
$out->write_seq($seq);

-----Original Message-----
From: bioperl-...@lists.open-bio.org
[mailto:bioperl-...@lists.open-bio.org] On Behalf Of Jessica Sun
Sent: Friday, August 13, 2010 10:07 AM
To: Roy Chaudhuri
Cc: biop...@lists.open-bio.org
Subject: Re: [Bioperl-l] Add sequence feature

Jessica Sun

unread,
Aug 13, 2010, 3:16:51 PM8/13/10
to biop...@lists.open-bio.org
---------- Forwarded message ----------
From: Jessica Sun <jessi...@gmail.com>
Date: Fri, Aug 13, 2010 at 3:16 PM
Subject: Re: [Bioperl-l] Add sequence feature
To: Kevin Brown <Kevin....@asu.edu>


yes, I change that, somehow it still did not take the added features in.

Cook, Malcolm

unread,
Aug 13, 2010, 3:56:09 PM8/13/10
to Jessica Sun, biop...@lists.open-bio.org
if you want to show all your code we might not have to guess at what the problem is.....


Malcolm Cook
Stowers Institute for Medical Research - Bioinformatics
Kansas City, Missouri USA

Reply all
Reply to author
Forward
0 new messages