组学学习

perl 合并两个文件

2023-08-26  本文已影响0人  花生学生信

以下是用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;
上一篇下一篇

猜你喜欢

热点阅读