46 |
# print_alignment_as_nexus( $filename, [ \%label_hash, ] @seq_entry_list ); |
# print_alignment_as_nexus( $filename, [ \%label_hash, ] @seq_entry_list ); |
47 |
# print_alignment_as_nexus( $filename, [ \%label_hash, ] \@seq_entry_list ); |
# print_alignment_as_nexus( $filename, [ \%label_hash, ] \@seq_entry_list ); |
48 |
# print_seq_as_fasta( \*FILEHANDLE, $id, $desc, $seq) ; |
# print_seq_as_fasta( \*FILEHANDLE, $id, $desc, $seq) ; |
49 |
# print_seq_as_fasta( \*FILEHANDLE, @seq_entry ); |
# print_seq_as_fasta( $id, $desc, $seq ); |
50 |
# print_gb_locus( \*FILEHANDLE, $locus, $def, $accession, $seq ); |
# print_gb_locus( \*FILEHANDLE, $locus, $def, $accession, $seq ); |
51 |
# |
# |
52 |
# @packed_seqs = pack_alignment( @seqs ) |
# @packed_seqs = pack_alignment( @seqs ) |
384 |
|
|
385 |
sub read_next_fasta_seq |
sub read_next_fasta_seq |
386 |
{ |
{ |
387 |
|
$_[0] ||= \*STDIN; # Undefined $_[0] fails with use warn |
388 |
my $fh = $file_handle{ $_[0] }; |
my $fh = $file_handle{ $_[0] }; |
389 |
if ( ! $fh ) |
if ( ! $fh ) |
390 |
{ |
{ |
393 |
return () if ref $_[0] ne 'GLOB'; |
return () if ref $_[0] ne 'GLOB'; |
394 |
$fh = $_[0]; |
$fh = $_[0]; |
395 |
} |
} |
396 |
elsif ( $_[0] ) |
else |
397 |
{ |
{ |
398 |
my $file = $_[0]; |
my $file = $_[0]; |
399 |
if ( -f $file ) { $file = "<$file" } |
if ( -f $file ) { $file = "<$file" } |
403 |
open $fh, $file or return (); |
open $fh, $file or return (); |
404 |
$close_file{ $fh } = 1; |
$close_file{ $fh } = 1; |
405 |
} |
} |
|
else |
|
|
{ |
|
|
$fh = \*STDIN; |
|
|
} |
|
406 |
$file_handle{ $_[0] } = $fh; |
$file_handle{ $_[0] } = $fh; |
407 |
} |
} |
408 |
|
|
735 |
# Print one sequence in fasta format to an open file |
# Print one sequence in fasta format to an open file |
736 |
# |
# |
737 |
# print_seq_as_fasta( \*FILEHANDLE, $id, $desc, $seq ); |
# print_seq_as_fasta( \*FILEHANDLE, $id, $desc, $seq ); |
738 |
# print_seq_as_fasta( \*FILEHANDLE, @seq_entry ); |
# print_seq_as_fasta( $id, $desc, $seq ); |
739 |
#----------------------------------------------------------------------------- |
#----------------------------------------------------------------------------- |
740 |
sub print_seq_as_fasta { |
sub print_seq_as_fasta |
741 |
my $fh = shift; |
{ |
742 |
my ($id, $desc, $seq) = @_; |
my $fh = ( ref $_[0] eq 'GLOB' ) ? shift : \*STDOUT; |
743 |
|
print $fh $_[1] =~ /\S/ ? ">$_[0] $_[1]\n" : ">$_[0]\n"; |
744 |
printf $fh ($desc) ? ">$id $desc\n" : ">$id\n"; |
print $fh join( "\n", $_[2] =~ m/.{1,60}/g ), "\n"; |
|
my $len = length($seq); |
|
|
for (my $i = 0; $i < $len; $i += 60) { |
|
|
print $fh substr($seq, $i, 60) . "\n"; |
|
|
} |
|
745 |
} |
} |
746 |
|
|
747 |
|
|