<?xml version='1.0'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:atom="http://www.w3.org/2005/Atom" >
<channel>
	<title><![CDATA[BOL: Perl script to merge LastZ overlaps]]></title>
	<link>https://bioinformaticsonline.com/snippets/view/37277/perl-script-to-merge-lastz-overlaps?</link>
	<atom:link href="https://bioinformaticsonline.com/snippets/view/37277/perl-script-to-merge-lastz-overlaps?" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/snippets/view/37277/perl-script-to-merge-lastz-overlaps</guid>
	<pubDate>Wed, 11 Jul 2018 04:13:51 -0500</pubDate>
	<link>https://bioinformaticsonline.com/snippets/view/37277/perl-script-to-merge-lastz-overlaps</link>
	<title><![CDATA[Perl script to merge LastZ overlaps]]></title>
	<description><![CDATA[<code>#!/usr/bin/perl
use strict;
use warnings;
use 5.010;

# Filter out the exact/direct overlaps from tab seperated alignment file. (lastz format=general- ready)
# Do not inclide header in lastz outfile 

# USAGE: perl filterOverlaps.pl infile &gt; outfile

open my $fh, &#039;&lt;&#039;, $ARGV[0];

my @terms;
while (&lt;$fh&gt;) {
    chomp;
    push @terms, [split /\t/];
}

my $biggest = 0;
my $id = &#039;&#039;;

for my $term (sort sorter @terms) {
	$biggest = 0 if $id ne $term-&gt;[0];
    if ($term-&gt;[2] &gt; $biggest) {
        say join &quot;\t&quot;, @$term;
        $biggest = $term-&gt;[2];
    }
    $id = $term-&gt;[0];    
}

sub sorter {
	$a-&gt;[0] cmp $b-&gt;[0] ||
     $a-&gt;[1] &lt;=&gt; $b-&gt;[1]
  || $b-&gt;[2] &lt;=&gt; $a-&gt;[2]
}</code>]]></description>
	<dc:creator>Jit</dc:creator>
</item>

</channel>
</rss>