From 0e0ddd3b24a2e62c837bad955b2e15484df8496f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Carn=C3=AB=20Draug?= Date: Thu, 28 Mar 2013 18:00:37 +0000 Subject: [PATCH] maint: remove hard tabs and trailing whitespace --- Bio/AlignIO/fasta.pm | 230 ++++++++++++++++++++--------------------- Bio/AlignIO/largemultifasta.pm | 106 +++++++++---------- 2 files changed, 169 insertions(+), 167 deletions(-) diff --git a/Bio/AlignIO/fasta.pm b/Bio/AlignIO/fasta.pm index 33526464f..0a5a30250 100644 --- a/Bio/AlignIO/fasta.pm +++ b/Bio/AlignIO/fasta.pm @@ -12,7 +12,7 @@ Bio::AlignIO::fasta - fasta MSA Sequence input/output stream =head1 SYNOPSIS -Do not use this module directly. Use it via the L +Do not use this module directly. Use it via the L class. =head1 DESCRIPTION @@ -24,15 +24,15 @@ FastA (FastX, FastN, FastP, tFastA, etc) use the Bio::SearchIO module. =head1 FEEDBACK -=head2 Support +=head2 Support Please direct usage questions or support issues to the mailing list: I -rather than to the module maintainer directly. Many experienced and -reponsive experts will be able look at the problem and quickly -address it. Please include a thorough description of the problem +rather than to the module maintainer directly. Many experienced and +reponsive experts will be able look at the problem and quickly +address it. Please include a thorough description of the problem with code and data examples if at all possible. =head2 Reporting Bugs @@ -69,7 +69,7 @@ use Bio::LocatableSeq; Usage : $aln = $stream->next_aln Function: returns the next alignment in the stream. Returns : Bio::Align::AlignI object - returns 0 on end of file - or on error + or on error Args : -width => optional argument to specify the width sequence will be written (60 chars by default) @@ -78,89 +78,89 @@ See L =cut sub next_aln { - my $self = shift; - my ($width) = $self->_rearrange([qw(WIDTH)],@_); - $self->width($width || $WIDTH); - - my ($start, $end, $name, $seqname, $seq, $seqchar, $entry, - $tempname, $tempdesc, %align, $desc, $maxlen); - my $aln = Bio::SimpleAlign->new(); - - while (defined ($entry = $self->_readline) ) { - chomp $entry; - if ( $entry =~ s/^>\s*(\S+)\s*// ) { - $tempname = $1; - chomp($entry); - $tempdesc = $entry; - if ( defined $name ) { - $seqchar =~ s/\s//g; - $seqname = $name; - $start = 1; - $end = $self->_get_len($seqchar); - $seq = Bio::LocatableSeq->new - ( - -seq => $seqchar, - -display_id => $seqname, - -description => $desc, - -start => $start, - -end => $end, - -alphabet => $self->alphabet, - ); - $aln->add_seq($seq); - $self->debug("Reading $seqname\n"); - } - $desc = $tempdesc; - $name = $tempname; - $desc = $entry; - $seqchar = ""; - next; - } - # removed redundant symbol validation - # this is already done in Bio::PrimarySeq - $seqchar .= $entry; - } - - # Next two lines are to silence warnings that - # otherwise occur at EOF when using <$fh> - $name = "" if (!defined $name); - $seqchar="" if (!defined $seqchar); - $seqchar =~ s/\s//g; - - # Put away last name and sequence - if ( $name =~ /(\S+)\/(\d+)-(\d+)/ ) { - $seqname = $1; - $start = $2; - $end = $3; - } else { - $seqname = $name; - $start = 1; - $end = $self->_get_len($seqchar); - } - - # This logic now also reads empty lines at the - # end of the file. Skip this is seqchar and seqname is null - unless ( length($seqchar) == 0 && length($seqname) == 0 ) { - $seq = Bio::LocatableSeq->new - (-seq => $seqchar, - -display_id => $seqname, - -description => $desc, - -start => $start, - -end => $end, - -alphabet => $self->alphabet, - ); - $aln->add_seq($seq); - $self->debug("Reading $seqname\n"); - } - my $alnlen = $aln->length; - foreach my $seq ( $aln->each_seq ) { - if ( $seq->length < $alnlen ) { - my ($diff) = ($alnlen - $seq->length); - $seq->seq( $seq->seq() . "-" x $diff); - } - } + my $self = shift; + my ($width) = $self->_rearrange([qw(WIDTH)],@_); + $self->width($width || $WIDTH); + + my ($start, $end, $name, $seqname, $seq, $seqchar, $entry, + $tempname, $tempdesc, %align, $desc, $maxlen); + my $aln = Bio::SimpleAlign->new(); + + while (defined ($entry = $self->_readline) ) { + chomp $entry; + if ( $entry =~ s/^>\s*(\S+)\s*// ) { + $tempname = $1; + chomp($entry); + $tempdesc = $entry; + if ( defined $name ) { + $seqchar =~ s/\s//g; + $seqname = $name; + $start = 1; + $end = $self->_get_len($seqchar); + $seq = Bio::LocatableSeq->new + ( + -seq => $seqchar, + -display_id => $seqname, + -description => $desc, + -start => $start, + -end => $end, + -alphabet => $self->alphabet, + ); + $aln->add_seq($seq); + $self->debug("Reading $seqname\n"); + } + $desc = $tempdesc; + $name = $tempname; + $desc = $entry; + $seqchar = ""; + next; + } + # removed redundant symbol validation + # this is already done in Bio::PrimarySeq + $seqchar .= $entry; + } + + # Next two lines are to silence warnings that + # otherwise occur at EOF when using <$fh> + $name = "" if (!defined $name); + $seqchar="" if (!defined $seqchar); + $seqchar =~ s/\s//g; + + # Put away last name and sequence + if ( $name =~ /(\S+)\/(\d+)-(\d+)/ ) { + $seqname = $1; + $start = $2; + $end = $3; + } else { + $seqname = $name; + $start = 1; + $end = $self->_get_len($seqchar); + } + + # This logic now also reads empty lines at the + # end of the file. Skip this is seqchar and seqname is null + unless ( length($seqchar) == 0 && length($seqname) == 0 ) { + $seq = Bio::LocatableSeq->new + (-seq => $seqchar, + -display_id => $seqname, + -description => $desc, + -start => $start, + -end => $end, + -alphabet => $self->alphabet, + ); + $aln->add_seq($seq); + $self->debug("Reading $seqname\n"); + } + my $alnlen = $aln->length; + foreach my $seq ( $aln->each_seq ) { + if ( $seq->length < $alnlen ) { + my ($diff) = ($alnlen - $seq->length); + $seq->seq( $seq->seq() . "-" x $diff); + } + } # no sequences means empty alignment (possible EOF) - return $aln if $aln->num_sequences; + return $aln if $aln->num_sequences; } =head2 write_aln @@ -181,28 +181,28 @@ sub write_aln { my ($seq,$desc,$rseq,$name,$count,$length,$seqsub); foreach my $aln (@aln) { - if( ! $aln || ! $aln->isa('Bio::Align::AlignI') ) { - $self->warn("Must provide a Bio::Align::AlignI object when calling write_aln"); - next; - } - if( $self->force_displayname_flat ) { - $aln->set_displayname_flat(1); - } - foreach $rseq ( $aln->each_seq() ) { - $name = $aln->displayname($rseq->get_nse()); - $seq = $rseq->seq(); - $desc = $rseq->description || ''; - $desc = ' '.$desc if $desc; - $self->_print (">$name$desc\n") or return; - $count = 0; - $length = length($seq); - if(defined $seq && $length > 0) { - $seq =~ s/(.{1,$width})/$1\n/g; - } else { - $seq = "\n"; - } - $self->_print($seq); - } + if( ! $aln || ! $aln->isa('Bio::Align::AlignI') ) { + $self->warn("Must provide a Bio::Align::AlignI object when calling write_aln"); + next; + } + if( $self->force_displayname_flat ) { + $aln->set_displayname_flat(1); + } + foreach $rseq ( $aln->each_seq() ) { + $name = $aln->displayname($rseq->get_nse()); + $seq = $rseq->seq(); + $desc = $rseq->description || ''; + $desc = ' '.$desc if $desc; + $self->_print (">$name$desc\n") or return; + $count = 0; + $length = length($seq); + if(defined $seq && $length > 0) { + $seq =~ s/(.{1,$width})/$1\n/g; + } else { + $seq = "\n"; + } + $self->_print($seq); + } } $self->flush if $self->_flush_on_write && defined $self->_fh; return 1; @@ -211,7 +211,7 @@ sub write_aln { =head2 _get_len Title : _get_len - Usage : + Usage : Function: determine number of alphabetic chars Returns : integer Args : sequence string @@ -219,10 +219,10 @@ sub write_aln { =cut sub _get_len { - my ($self,$seq) = @_; - my $chars = $Bio::LocatableSeq::GAP_SYMBOLS.$Bio::LocatableSeq::FRAMESHIFT_SYMBOLS; - $seq =~ s{[$chars]+}{}gi; - return CORE::length($seq); + my ($self,$seq) = @_; + my $chars = $Bio::LocatableSeq::GAP_SYMBOLS.$Bio::LocatableSeq::FRAMESHIFT_SYMBOLS; + $seq =~ s{[$chars]+}{}gi; + return CORE::length($seq); } =head2 width @@ -231,7 +231,7 @@ sub _get_len { Usage : $obj->width($newwidth) $width = $obj->width; Function: Get/set width of alignment - Returns : integer value of width + Returns : integer value of width Args : on set, new value (a scalar or undef, optional) diff --git a/Bio/AlignIO/largemultifasta.pm b/Bio/AlignIO/largemultifasta.pm index 10699644b..4cc542b51 100644 --- a/Bio/AlignIO/largemultifasta.pm +++ b/Bio/AlignIO/largemultifasta.pm @@ -36,15 +36,15 @@ temporary files instead of keeping the whole sequences in memory. =head1 FEEDBACK -=head2 Support +=head2 Support Please direct usage questions or support issues to the mailing list: I -rather than to the module maintainer directly. Many experienced and -reponsive experts will be able look at the problem and quickly -address it. Please include a thorough description of the problem +rather than to the module maintainer directly. Many experienced and +reponsive experts will be able look at the problem and quickly +address it. Please include a thorough description of the problem with code and data examples if at all possible. =head2 Reporting Bugs @@ -79,13 +79,14 @@ use base qw(Bio::AlignIO Bio::SeqIO Bio::SimpleAlign); sub _initialize { - my($self,@args) = @_; - $self->SUPER::_initialize(@args); - if( ! defined $self->sequence_factory ) { - $self->sequence_factory(Bio::Seq::SeqFactory->new - (-verbose => $self->verbose(), - -type => 'Bio::Seq::LargeLocatableSeq')); - } + my($self,@args) = @_; + $self->SUPER::_initialize(@args); + if( ! defined $self->sequence_factory ) { + $self->sequence_factory(Bio::Seq::SeqFactory->new( + -verbose => $self->verbose(), + -type => 'Bio::Seq::LargeLocatableSeq' + )); + } } =head2 next_seq @@ -106,23 +107,24 @@ sub next_seq { my $count = 0; my $seen = 0; while( defined ($entry = $self->_readline) ) { - if( $seen == 1 && $entry =~ /^\s*>/ ) { - $self->_pushback($entry); - return $largeseq; - } - if ( ($entry eq '>') ) { $seen = 1; next; } - elsif( $entry =~ /\s*>(.+?)$/ ) { - $seen = 1; - ($id,$fulldesc) = ($1 =~ /^\s*(\S+)\s*(.*)$/) - or $self->warn("Can't parse fasta header"); - $largeseq->display_id($id); - $largeseq->primary_id($id); - $largeseq->desc($fulldesc); - } else { - $entry =~ s/\s+//g; - $largeseq->add_sequence_as_string($entry); - } - (++$count % 1000 == 0 && $self->verbose() > 0) && print "line $count\n"; + if( $seen == 1 && $entry =~ /^\s*>/ ) { + $self->_pushback($entry); + return $largeseq; + } + if ( $entry eq '>' ) { + $seen = 1; next; + } elsif( $entry =~ /\s*>(.+?)$/ ) { + $seen = 1; + ($id,$fulldesc) = ($1 =~ /^\s*(\S+)\s*(.*)$/) + or $self->warn("Can't parse fasta header"); + $largeseq->display_id($id); + $largeseq->primary_id($id); + $largeseq->desc($fulldesc); + } else { + $entry =~ s/\s+//g; + $largeseq->add_sequence_as_string($entry); + } + (++$count % 1000 == 0 && $self->verbose() > 0) && print "line $count\n"; } if( ! $seen ) { return; } return $largeseq; @@ -135,7 +137,7 @@ sub next_seq { Usage : $aln = $stream->next_aln() Function: returns the next alignment in the stream. Returns : L object - returns 0 on end of file - or on error + or on error Args : NONE =cut @@ -143,7 +145,7 @@ sub next_seq { sub next_aln { my $self = shift; my $largeseq; - my $aln = Bio::SimpleAlign->new(); + my $aln = Bio::SimpleAlign->new(); while (defined ($largeseq = $self->next_seq) ) { $aln->add_seq($largeseq); $self->debug("sequence readed\n"); @@ -151,14 +153,14 @@ sub next_aln { my $alnlen = $aln->length; foreach my $largeseq ( $aln->each_seq ) { - if( $largeseq->length < $alnlen ) { - my ($diff) = ($alnlen - $largeseq->length); - $largeseq->seq("-" x $diff); - } + if( $largeseq->length < $alnlen ) { + my ($diff) = ($alnlen - $largeseq->length); + $largeseq->seq("-" x $diff); + } } return $aln if $aln->num_sequences; - return; + return; } @@ -178,23 +180,23 @@ sub write_aln { my ($seq,$desc,$rseq,$name,$count,$length,$seqsub); foreach my $aln (@aln) { - if( ! $aln || ! $aln->isa('Bio::Align::AlignI') ) { - $self->warn("Must provide a Bio::Align::AlignI object when calling write_aln"); - next; - } - foreach $rseq ( $aln->each_seq() ) { - $name = $aln->displayname($rseq->get_nse()); - $seq = $rseq->seq(); - $desc = $rseq->description || ''; - $self->_print (">$name $desc\n") or return ; - $count =0; - $length = length($seq); - while( ($count * 60 ) < $length ) { - $seqsub = substr($seq,$count*60,60); - $self->_print ("$seqsub\n") or return ; - $count++; - } - } + if( ! $aln || ! $aln->isa('Bio::Align::AlignI') ) { + $self->warn("Must provide a Bio::Align::AlignI object when calling write_aln"); + next; + } + foreach $rseq ( $aln->each_seq() ) { + $name = $aln->displayname($rseq->get_nse()); + $seq = $rseq->seq(); + $desc = $rseq->description || ''; + $self->_print (">$name $desc\n") or return ; + $count =0; + $length = length($seq); + while( ($count * 60 ) < $length ) { + $seqsub = substr($seq,$count*60,60); + $self->_print ("$seqsub\n") or return ; + $count++; + } + } } $self->flush if $self->_flush_on_write && defined $self->_fh; return 1; -- 2.11.4.GIT