以下是用perl把两个行数相同的以制表符分割的文件合并,分别去掉两个文件的换行符,第一个文件打印第一列和第四列,第二个文件打印第四列,并输出一个以制表符分割的新文件
#####sevcf.map文件和emmax.ps文件整合
###map文件第一列为chr,第二列为ID,第四列为位置
###ps文件第四列为p
###ID chr position p
#!/usr/bin/perl -w
use strict;
open svmap,"<$ARGV[0]";
open ps,"<$ARGV[1]";
open OU,">$ARGV[2]";
print OU "ID\tchr\tposition\tp\n";
while(my $line1=<svmap> and my $line2=<ps>){
chomp $line1;
chomp $line2;
my @line1=split/\t/,$line1;
my @line2=split/\t/,$line2;
my $chr=$line1[0],my $pos=$line1[3];
my $p=$line2[3];
print OU "$chr-$pos\t$chr\t$pos\t$p\n";
}
close ps;
close svmap;
close OU;
网友评论