[Bioperl-l] gap characters in SimpleAlign objects
Jason Stajich
jason at cgt.duhs.duke.edu
Wed Feb 18 09:15:27 EST 2004
It's easier than this - not sure why gaps are becoming '.' but I had to
work around this in other places as well Coordinate::Pair.
$aln->map_chars('\.','-')
--jason
On Wed, 18 Feb 2004, Ewan Birney wrote:
> On Wed, 18 Feb 2004, Nathan Haigh wrote:
>
> > I've been using the clustalw module for creating alignment, and I've just
> > realised that when you output the alignment the gap character is a "." not a
> > "-".
> > This is most annoying because I am adding support to this module for
> > generating trees via clustalw, and clustalw removes these "." characters. Is
> > there a method for changing these gap characters to "-". I have seen the
> > gap_char method in the SimpleAlign module, but this seems only to designate
> > a particular character as a gap character, and does not actually change the
> > character.
> >
> > Any ideas on how to do this substitution, and where in BioPerl does this
> > assignment get made in the first place, since the default gap char for
> > clustalw output is "-" not "."
>
> To fix (short term): Loop over the sequences making a new SimpleAlign
> object with LocatableSeqs and s/\./-/ on the seq strings
>
>
>
> How are you reading in Clustalw alignments? The Bio::AlignIO::clustalw
> doesn't touch the gap characters:
>
>
> foreach my $name ( sort { $order{$a} <=> $order{$b} } keys %alignments
> ) {
> if( $name =~ /(\S+):(\d+)-(\d+)/ ) {
> ($sname,$start,$end) = ($1,$2,$3);
> } else {
> ($sname, $start) = ($name,1);
> my $str = $alignments{$name};
> $str =~ s/[^A-Za-z]//g;
> $end = length($str);
> }
> my $seq = new Bio::LocatableSeq('-seq' => $alignments{$name},
> '-id' => $sname,
> '-start' => $start,
> '-end' => $end);
>
>
>
> ($alignments{$name} has no regex put on it earlier either)
>
>
>
> >
> > Thanks
> > Nathan
> >
> >
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l at portal.open-bio.org
> > http://portal.open-bio.org/mailman/listinfo/bioperl-l
> >
>
> -----------------------------------------------------------------
> Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420
> <birney at ebi.ac.uk>.
> -----------------------------------------------------------------
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at portal.open-bio.org
> http://portal.open-bio.org/mailman/listinfo/bioperl-l
>
--
Jason Stajich
Duke University
jason at cgt.mc.duke.edu
More information about the Bioperl-l
mailing list