回文筛选

^\(.*\)\t\(.*\)\t\S\+\t\S\+\(\n.*\)\+\n\2\t\1
#!/usr/bin/perl
use warnings;
use strict;

open IN,"<",$ARGV[0];
my $header=<IN>;
my %name_hash;
while(<IN>){
    chomp;
    my @line_list=split/\t/;
    $name_hash{"$line_list[0]$line_list[1]"}++;
}
close IN;

open INPUT,"<",$ARGV[0];
my $header2=<INPUT>;
print $header2;
while(<INPUT>){
    chomp;
    my @line_list=split/\t/;
    if(!($name_hash{"$line_list[0]$line_list[1]"} && $name_hash{"$line_list[1]$line_list[0]"})){
        print "$line_list[0]$line_list[1]\t$line_list[1]$line_list[0]\n";
    }else{delete $name_hash{"$line_list[1]$line_list[0]"}}
}

 

posted @ 2019-03-24 19:38  xlfj1205  阅读(134)  评论(0编辑  收藏  举报