我正在尝试编写一个Perl脚本,将表1转换为表2:
表1
1 rs2905037-G-A 0 775426
1 rs6701114-C-T 0 1022037
2 SNP1-G-T 0 2
10 rs7918734-C-A 0 192533
10 rs1476129-A-C 0 265520
10 rs1476130-T-A 0 274675
10 rs17221239-C-G 0 285113
23 rs17537524-C-A 0 816304
23 rs17461767-G-A 0 2335503
24 SNP2-T-C 0 48
表2
chr1 dbSNP SNV 775426 775426 20 + 0 rs2905037-G-A
chr1 dbSNP SNV 1022037 1022037 20 + 0 rs6701114-C-T
chr2 dbSNP SNV 2 2 20 + 0 SNP1-G-T
chr10 dbSNP SNV 192533 192533 20 + 0 rs7918734-C-A
chr10 dbSNP SNV 265520 265520 20 + 0 rs1476129-A-C
chr10 dbSNP SNV 274675 274675 20 + 0 rs1476130-T-A
chr10 dbSNP SNV 285113 285113 20 + 0 rs17221239-C-G
chrX dbSNP SNV 816304 816304 20 + 0 rs17537524-C-A
chrX dbSNP SNV 2335503 2335503 20 + 0 rs17461767-G-A
chrY dbSNP SNV 48 48 20 + 0 SNP2-T-C
我试过使用下面的代码....但是......它只是将两个表放在一个新的文本文件中。我想将表1中的格式转换为表2中的格式。
@docList = glob ('*');
open(OUTPUT, ">combined.txt");
foreach $filename(@docList) {
open(INPUT, $filename);
print OUTPUT <INPUT>;
close(INPUT);
}
close(OUTPUT);
我需要一个Perl脚本将表1转换为表2?
谢谢!
答案 0 :(得分:0)
while (<$INPUT>) {
chomp;
my @f = split /\t/;
say $OUTPUT join "\t",
"chr".$f[0],
"dbSNP",
"SNV",
$f[3],
$f[3],
"20",
"+",
$f[2],
$f[1];
}