Mercurial > repos > matces > carpet_toolsuite
diff carpet-src-1/tools/CARPET/gff2bed_v2.pl @ 0:cdd489d98766
Migrated tool version 1.0.0 from old tool shed archive to new tool shed repository
author | matces |
---|---|
date | Tue, 07 Jun 2011 16:50:41 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/carpet-src-1/tools/CARPET/gff2bed_v2.pl Tue Jun 07 16:50:41 2011 -0400 @@ -0,0 +1,44 @@ +#! /usr/bin/perl + +# Copyright 2009 Matteo Cesaroni, Lucilla Luzi +# +# This program is free software; ; you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + + +$fname=$ARGV[0]; #legge il nome del file che gli passi dopo il comando +$col3=$ARGV[1]; + +qx {sort -k 1,1 -k 4,4n $fname >$fname.sortato}; + +open(FILE, "< $fname.sortato") or die "Cannot find file $fname\n"; + +@array=<FILE>; + +print "track type=wiggle_0 name=\"$col3\" description=\"raw_data ratio\" visibility=full autoscale=off maxHeightPixels=100:50:20 color=200,100,0 altColor=0,100,200 \n"; + +for ($i=0;$i<$#array;$i++){ + @array_new= split("\t",$array[$i]); + @array_new2=split("\t",$array[$i+1]); + $dist=$array_new[4]-$array_new2[3]; + if (($array_new[4]>=$array_new2[3])&&("$array_new[0]"eq"$array_new2[0]")){ + $fine=$array_new2[3]-1; + } + else { + $fine=$array_new[4]; + + } + print "$array_new[0]\t$array_new[3]\t$fine\t$array_new[5]\n"; + + } + @array_fine=split("\t", $array[$#array]); + print "$array_fine[0]\t$array_fine[3]\t$array_fine[4]\t$array_fine[5]\n"; + + close FILE;