annotate hmmer_wrapper.pl @ 2:376092ae10ed draft

reformat output to tabular
author Edward Kirton <eskirton@lbl.gov>
date Thu, 30 Aug 2012 11:58:27 -0700
parents
children c0fb858f44a2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
1 #!/usr/bin/env perl
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
2
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
3 use warnings;
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
4 use strict;
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
5 use File::Copy;
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
6
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
7 my $cmd="@ARGV";
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
8 my ($tblout,$domtblout);
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
9 die("Missing --tblout\n") unless $cmd =~ / \-\-?tblout\s+(\S+)/;
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
10 $tblout = $1;
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
11 die("Missing --domtblout\n") unless $cmd =~ / \-\-?domtblout\s+(\S+)/;
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
12 $domtblout = $1;
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
13 my $output = `$cmd 2>&1`;
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
14 die("HMMer failure: $output\n") unless $? == 0;
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
15 reformat($tblout);
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
16 reformat($domtblout);
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
17 exit;
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
18
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
19 sub reformat
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
20 {
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
21 my $infile = shift;
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
22 my $outfile = "$infile.new";
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
23 open(IN, "<$infile") or die($!);
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
24 open(OUT, ">$outfile") or die($!);
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
25 print OUT "#target name\taccession\tquery name\taccession\tE-value (full)\tscore (full)\tbias (full)\tE-value (best)\tscore (best)\tbias (best)\texp\treg\tclu\tov\tenv\tdom\trep\tinc\tdescription of target\n";
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
26 while (<IN>)
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
27 {
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
28 next if /^#/;
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
29 my @row0 = split(/\s+/);
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
30 my @row = @row0[0..17];
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
31 push @row, join(' ', @row0[18..$#row0]);
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
32 print OUT join("\t", @row), "\n";
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
33 }
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
34 close(IN);
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
35 close(OUT);
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
36 move($outfile,$infile);
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
37 }
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
38
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
39 __END__