Mercurial > repos > yufei-luo > s_mart
view SMART/bacteriaRegulatoryRegion_Detection/colorGff.pl @ 34:529e3e6a0954
Deleted selected files
author | m-zytnicki |
---|---|
date | Tue, 30 Apr 2013 14:35:27 -0400 |
parents | 94ab73e8a190 |
children |
line wrap: on
line source
#!/usr/bin/perl -w ### # But : ajout ou modif de couleur d'un gff # # Entrees : fichier gff # # Sortie : gff affiche a l'ecran # ###------------------------------------------------------ use vars qw($USAGE); use strict; =head1 NAME colorGff.pl - add or change color of a gff file =head1 SYNOPSIS % colorGff.pl -i file.gff -c color [-h] =head1 DESCRIPTION This script will parse DOOR repport file and write information in gff3 format. -i|--input fileName gff input file name -c|--color RGBcode RGB code for color -o|--output fileName gff3 output file name [-h|--help] help mode then die =head1 AUTHOR - Claire Toffano-Nioche - jan.11 =cut #----------------------- my ($fileName, $colourGff, $outFileName) = ("", "", "colorOut.gff3") ; # command line check foreach my $num (0 .. $#ARGV) { SWITCH: for ($ARGV[$num]) { /--input|-i/ && do { $fileName=$ARGV[$num+1]; open ( fichierGff, "< $fileName" ) or die "Can't open gff file: \"$fileName\"\n" ; last }; /--color|-c/ && do { $colourGff =$ARGV[$num+1]." ".$ARGV[$num+2]." ".$ARGV[$num+3]; last }; # /--output|-o/ && do { # $outFileName=$ARGV[$num+1]; # last }; /--help|-h/ && do { exec("pod2text $0\n") ; die }; } } # open(OUT,">$outFileName") or die "Error can't $outFileName open for output. $!\n"; # informations retrieval my @lines = <fichierGff> ; close fichierGff ; # treatment #print "gff file read ; number of lines : $#lines\n"; for (my $i=0 ; $i <= $#lines ; $i++) { if ($lines[$i] =~ /;/) { if ($lines[$i] =~ /color=/) { $lines[$i] =~ s/color=.*;/color=$colourGff;/ ; } else { # add colour $lines[$i] =~ s/;/;color=$colourGff;/ ; } } else { # (no = gff bug if col9 begin with semi-coma ?) or only one tag : add color tag chomp($lines[$i]) ; $lines[$i] .= "; color=".$colourGff.";\n"; } # print OUT $lines[$i] ; print $lines[$i]; } # close OUT ; exit(0);