加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-16 06:18:55 所属栏目:大数据 来源:网络整理
导读:我刚开始使用perl,我有一个问题.我有PHYLIP文件,我需要将其转换为FASTA.我开始写一个脚本.首先,我删除了行中的scpaces,现在我需要对齐每行中应该是60个氨基酸的所有行,并且应该在新行中打印sequances识别符.也许有人可以给我一些建议? 解决方法 BioPerl Bio
我刚开始使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读