^\(.*\)\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]"}}
}