Mercurial > repos > kuyt002 > mummer_toolsuite
diff MUMmer/nucmer_coords2ACT_galaxy.pl @ 0:61f30d177448 default tip
initial commit on Mummer toolsuite on toolshed
author | eric |
---|---|
date | Tue, 31 Mar 2015 14:19:49 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MUMmer/nucmer_coords2ACT_galaxy.pl Tue Mar 31 14:19:49 2015 +0200 @@ -0,0 +1,42 @@ +#!/usr/bin/perl + +# converts the MUMmer-nucmer coords file in a file readable for Artemis Comparison Tool +# Output format is like crunch of BLAST +# +# [nov 2010] Galaxy wrapped up version +# +# Alex.Bossers@wur.nl + + +use warnings; +use strict; + +#$filename=shift; + #$ARGV[0] =~ m/^([A-Z0-9_.-]+)$/ig; +my $filename = $ARGV[0]; + #$ARGV[1] =~ m/^([A-Z0-9_.-]+)$/ig; +my $fileout = $ARGV[1]; +#my $filename = "Curated_vs_noncurated_8067_01.nucmer.coords"; +#my $fileout = "Curated_vs_noncurated_8067_01.nucmer.tab"; + +open (COORDS,$filename) || die "error opening input coords file"; +open (OUT,">$fileout") || die "error opening tab output file"; + +while (<COORDS>) + { + unless ($_ =~ /^(\s*)\d/){next} + $_ =~ s/\|//g; + + my @f = split; + # create crude match score = ((length_of_match * %identity)-(length_of_match * (100 - %identity))) /20 + my $crude_plus_score=($f[4]*$f[6]); + my $crude_minus_score=($f[4]*(100-$f[6])); + my $crude_score= int(($crude_plus_score - $crude_minus_score) / 20); + # reorganise columns and print crunch format to stdout + # score %id S1 E1 seq1 S2 E2 seq2 (description) + print OUT " $crude_score $f[6] $f[0] $f[1] $f[7] $f[2] $f[3] $f[8] nucmer comparison coordinates\n" + } + +close (COORDS); +close (OUT); +print "Done!\n\n";