用perl修改序列名,但保留序列信息并输出。
>HWI-ST667:190:C0TPFACXX:1:1101:2885:19851:N:0:GATCAGTCGGATAGAGCTCCAAATCTATCT>HWI-ST6...
>HWI-ST667:190:C0TPFACXX:1:1101:2885:1985 1:N:0:GATCAG
TCGGATAGAGCTCCAAATCTATCT
>HWI-ST667:190:C0TPFACXX:1:1101:3058:1999 1:N:0:GATCAG
CAATATCAACTGCTGCAACTCTCT
>HWI-ST667:190:C0TPFACXX:1:1101:3372:1992 1:N:0:GATCAG
TCAAAGGTTGAAGAGAATGAAATTTCT
>HWI-ST667:190:C0TPFACXX:1:1101:7190:1996 1:N:0:GATCAG
AAAAGGGATGCGAGTTTTGAAACTTCT
>HWI-ST667:190:C0TPFACXX:1:1101:7768:1991 1:N:0:GATCAG
GATGGTGAACTATCT
如何利用perl编程将上面多个序列(每个序列有两行,第一行是序列名称,第二行是序列本身)改成如下格式?也就是把序列名按顺序编号?谢谢!
>seq_1
TCGGATAGAGCTCCAAATCTATCT
>seq_2
CAATATCAACTGCTGCAACTCTCT
>seq_3
TCAAAGGTTGAAGAGAATGAAATTTCT
>seq_4
AAAAGGGATGCGAGTTTTGAAACTTCT
>seq_5
GATGGTGAACTATCT 展开
TCGGATAGAGCTCCAAATCTATCT
>HWI-ST667:190:C0TPFACXX:1:1101:3058:1999 1:N:0:GATCAG
CAATATCAACTGCTGCAACTCTCT
>HWI-ST667:190:C0TPFACXX:1:1101:3372:1992 1:N:0:GATCAG
TCAAAGGTTGAAGAGAATGAAATTTCT
>HWI-ST667:190:C0TPFACXX:1:1101:7190:1996 1:N:0:GATCAG
AAAAGGGATGCGAGTTTTGAAACTTCT
>HWI-ST667:190:C0TPFACXX:1:1101:7768:1991 1:N:0:GATCAG
GATGGTGAACTATCT
如何利用perl编程将上面多个序列(每个序列有两行,第一行是序列名称,第二行是序列本身)改成如下格式?也就是把序列名按顺序编号?谢谢!
>seq_1
TCGGATAGAGCTCCAAATCTATCT
>seq_2
CAATATCAACTGCTGCAACTCTCT
>seq_3
TCAAAGGTTGAAGAGAATGAAATTTCT
>seq_4
AAAAGGGATGCGAGTTTTGAAACTTCT
>seq_5
GATGGTGAACTATCT 展开
1个回答
展开全部
#!/usr/bin/perl -w
use strict;
die "perl $0 <Input fa>\n" unless(@ARGV == 1);
open IN,$ARGV[0];
open OUT,">Output.fa";
my $count = 1;
while(<IN>){
if($_=~/^>/){
print ">seq_$count\n";
print OUT ">seq_$count\n";
$count++;
}
else
{
print $_;
print OUT $_;
}
}
close IN;
close OUT;
将上面的脚本存为run.pl 假设你的输入序列文件为a.fa, 运行的时候在命令行输入:
perl run.pl a.fa 即可。
输出的结果存放在Output.fa中,并且同时在屏幕回显出来。
希望我的回答已经解决了你的问题。
use strict;
die "perl $0 <Input fa>\n" unless(@ARGV == 1);
open IN,$ARGV[0];
open OUT,">Output.fa";
my $count = 1;
while(<IN>){
if($_=~/^>/){
print ">seq_$count\n";
print OUT ">seq_$count\n";
$count++;
}
else
{
print $_;
print OUT $_;
}
}
close IN;
close OUT;
将上面的脚本存为run.pl 假设你的输入序列文件为a.fa, 运行的时候在命令行输入:
perl run.pl a.fa 即可。
输出的结果存放在Output.fa中,并且同时在屏幕回显出来。
希望我的回答已经解决了你的问题。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询