[Bioperl-l] nexus to fasta converter

Amit R Indap indapa at CS.Arizona.EDU
Mon Jan 27 14:48:20 EST 2003


On Mon, 27 Jan 2003, Jason Stajich wrote:

> Also the file in bioperl-live/t/data/testaln.nexus provides an example of
> what the parser theoretically supports.

My original nexus file was a different format; it was generated by a
program called DnaSp which adds some extraneous features which don't
correspond to a standard nexus file. But I'm perplexed why the program
is complaining about the testalgn.nexus file...


> nexus_to_fasta.pl testaln.nexus
------------- EXCEPTION: Bio::Root::Exception -------------
MSG: Not a valid interleaved NEXUS file! [#NEXUS] not starting the file
STACK: Error::throw
STACK: Bio::Root::Root::throw
/usr/local/lib/perl5/site_perl/5.6.0/Bio/Root/Root.pm:315
STACK: Bio::AlignIO::nexus::next_aln
/usr/local/lib/perl5/site_perl/5.6.0/Bio/AlignIO/nexus.pm:98
STACK: nexus_to_fasta.pl:8
-----------------------------------------------------------

#!/usr/bin/perl
use Bio::AlignIO;
$file = $ARGV[0];
$stream = Bio::AlignIO->new(-file => $file, '-format' => 'nexus');
$out = Bio::AlignIO->new(-file => ">out.aln.fasta" , '-format' =>
'fasta');


while ( my $aln = $stream->next_aln() ) { # throwing an expection here
    print "testing\n";
    $out->write_aln($aln);
}

My testaln.nexus file:

[#NEXUS]
[TITLE: Four Anthropoidea]

begin data;
dimensions ntax=4 nchar=50;
format interleave datatype=RNA missing=N gap=-;

matrix
'Homo sapiens'      AGUCGAGUC---GCAGAAACGCAUGAC-GAC
Pan_paniscus        AGUCGCGUCG--GCAGAAACGCAUGACGGAC
Gorilla_gorilla     AGUCGCGUCG--GCAGAUACGCAUCACGGAC
Pongo_pigmaeus      AGUCGCGUCGAAGCAGA--CGCAUGACGGAC

'Homo sapiens'      CACAUUUU-CCUUGCAAAG
Pan_paniscus        CACAUCAU-CCUUGCAAAG
Gorilla_gorilla     -ACAUCAUCCCUCGCAGAG
Pongo_pigmaeus      CACAUCAUCCCUUGCAGAG
;

endblock;
begin assumptions;
options deftype=unord;




More information about the Bioperl-l mailing list