99_99_992 99_999_930 99_999_930 99_99_999 99_99_999 99_99_9992 99_99_9992 99_99_9992 #### 99_99_992 chr16.fsa 11064 11088 TAGGTAAACGAGGAGTCTTTCAATA - 25 99_999_930 chr04.fsa 148776 148800 TGCAAACGAGGACAACCTGTTTGTG + 25 99_999_930 chr04.fsa 148882 148916 CCGGAAAAATTTGCTATTGGAAGAGGTGGCGCTGG - 35 99_99_999 chr12.fsa 468017 468049 TTTTCGGTGACGGAAATACGCTTCAGAGACCCT + 33 99_99_999 chr12.fsa 468138 468162 CTATGTTTTCTTACTCCTATGTCTA - 25 99_99_9992 chr12.fsa 468138 468162 CTATGTTTTCTTACTCCTATGTCTA - 25 99_99_9992 chr12.fsa 468138 468162 CTATGTTTTCTTACTCCTATGTCTA - 25 99_99_9992 chr12.fsa 468138 468162 CTATGTTTTCTTACTCCTATGTCTA - 25 ... #### 99_999_930 chr04.fsa 148776 148800 TGCAAACGAGGACAACCTGTTTGTG + 25 99_999_930 chr04.fsa 148882 148916 CCGGAAAAATTTGCTATTGGAAGAGGTGGCGCTGG - 35 99_99_999 chr12.fsa 468017 468049 TTTTCGGTGACGGAAATACGCTTCAGAGACCCT + 33 99_99_999 chr12.fsa 468138 468162 CTATGTTTTCTTACTCCTATGTCTA - 25 #### #!/usr/bin/perl #use strict; use warnings; $numArgs = $#ARGV + 1; if ($numArgs < 2) { print "USAGE: extract_duplicate_rows <# of duplicate rows>\n\n"; exit(0); } $finput = $ARGV[0]; $duplicate_count = $ARGV[1]; open(IFILE, "<", $finput) or die $!; chomp($prev_line = ); $match_count = 1; while (1) { chomp($line = ); if ($line eq $prev_line) { $match_count++; } else { if ($match_count == $duplicate_count) { print "$prev_line\n"; } $prev_line = $line; $match_count = 1; if (eof(IFILE)) { last; } } } close IFILE;