RAxML+Perl+Scripts

Script de Perl para convertir de fasta a relaxed-phylip (input Raxml) en caso que no tuvieran. Esto es util si tienen nombres largos.

Para usarlo:

1) salvar el script como e.g fasta2relaxedphylip.pl

2) ejecutarlo desde la terminal como desde la misma carpeta donde tienen el .fasta. e.g. escribir: perl fasta2relaxedphylip.pl xxxxx.fasta


 * 1) !/usr/local/bin/perl

$t1 = $ARGV[0];

$outf = " > ".$t1.".phylip";

open (F, " < ".$t1);

$taxa = -1;

while($line = ) { if($line =~ />/) { $taxa++; $name = $line; $name =~ s/[\s+|\(|\)|\,|;]/_/g; $name =~ s/,//g; $name =~ s/>//g; $taxonNames[$taxa] = $name; } else { $seq = $line; $seq =~ s/\s+//g; $sequences[$taxa] = $sequences[$taxa].$seq; } }

close(F);

for($i = 0; $i <= $taxa; $i++) { print $taxonNames[$i]." ".(length($sequences[$i]))."\ n"; }

$s = $taxa + 1; $bp = length($sequences[0]);

open (F, $outf);

print F $s." ".$bp."\n";

for($i = 0; $i <= $taxa; $i++) { print F $taxonNames[$i]." ".$sequences[$i]."\n"; }