From 26f9353c2cb09fce0bd5ecca0e75a143f61c0cbc Mon Sep 17 00:00:00 2001 From: elserj Date: Thu, 7 May 2020 21:21:53 +0000 Subject: [PATCH] Add efficient reverse grep script. Works much better than grep for large scale reverse search svn path=/; revision=678 --- interactome_scripts/efficient_reverse_grep.pl | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 interactome_scripts/efficient_reverse_grep.pl diff --git a/interactome_scripts/efficient_reverse_grep.pl b/interactome_scripts/efficient_reverse_grep.pl new file mode 100755 index 0000000..c4abfe1 --- /dev/null +++ b/interactome_scripts/efficient_reverse_grep.pl @@ -0,0 +1,36 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +if($#ARGV != 2 ) { + print "usage: efficient_reverse_grep.pl term_file search_file output_file\n"; + exit; +} + +my $in_file = $ARGV[0]; +my $search_file = $ARGV[1]; +my $out_file = $ARGV[2]; + +my %in_hash; + +open(INFILE,"$in_file"); + +while() { + my $line = $_; + chomp $line; + $in_hash{$line} = $line; +} +close(INFILE); + +open(SEARCHFILE,"$search_file"); +open(OUTFILE, ">$out_file"); + +while() { + my $line = $_; + chomp $line; + if(!defined($in_hash{$line})) { + print OUTFILE "$line\n"; + } +} + -- 2.34.1