perl – 如何将PHYLIP格式转换为FASTA

前端之家收集整理的这篇文章主要介绍了perl – 如何将PHYLIP格式转换为FASTA前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我刚开始使用perl,我有一个问题.我有PHYLIP文件,我需要将其转换为FASTA.我开始写一个脚本.首先,我删除了行中的scpaces,现在我需要对齐每行中应该是60个氨基酸的所有行,并且应该在新行中打印sequances识别符.也许有人可以给我一些建议?

解决方法

BioPerl Bio::AlignIO模块可能有所帮助.它支持 PHYLIP序列格式:

phylip2fasta.pl

use strict;
use warnings;
use Bio::AlignIO; 

# http://doc.bioperl.org/bioperl-live/Bio/AlignIO.html
# http://doc.bioperl.org/bioperl-live/Bio/AlignIO/phylip.html
# http://www.bioperl.org/wiki/PHYLIP_multiple_alignment_format

my ($inputfilename) = @ARGV;
die "must provide phylip file as 1st parameter...\n" unless $inputfilename;
my $in  = Bio::AlignIO->new(-file   => $inputfilename,-format => 'phylip',-interleaved => 1);
my $out = Bio::AlignIO->new(-fh   => \*STDOUT,-format => 'fasta');

while ( my $aln = $in->next_aln() ) {
    $out->write_aln($aln);
}

$perl phylip2fasta.pl test.phylip

>Turkey/1-42
AAGCTNGGGCATTTCAGGGTGAGCCCGGGCAATACAGGGTAT
>Salmo_gair/1-42
AAGCCTTGGCAGTGCAGGGTGAGCCGTGGCCGGGCACGGTAT
>H._Sapiens/1-42
ACCGGTTGGCCGTTCAGGGTACAGGTTGGCCGTTCAGGGTAA
>Chimp/1-42
AAACCCTTGCCGTTACGCTTAAACCGAGGCCGGGACACTCAT
>Gorilla/1-42
AAACCCTTGCCGGTACGCTTAAACCATTGCCGGTACGCTTAA

test.phylip http://evolution.genetics.washington.edu/phylip/doc/sequence.html

5    42
Turkey    AAGCTNGGGC ATTTCAGGGT
Salmo gairAAGCCTTGGC AGTGCAGGGT
H. SapiensACCGGTTGGC CGTTCAGGGT
Chimp     AAACCCTTGC CGTTACGCTT
Gorilla   AAACCCTTGC CGGTACGCTT

GAGCCCGGGC AATACAGGGT AT
GAGCCGTGGC CGGGCACGGT AT
ACAGGTTGGC CGTTCAGGGT AA
AAACCGAGGC CGGGACACTC AT
AAACCATTGC CGGTACGCTT AA

猜你在找的Perl相关文章