annotate hmmer_wrapper.pl @ 3:c0fb858f44a2 draft default tip

fix domtblout hdr
author Edward Kirton <eskirton@lbl.gov>
date Tue, 11 Sep 2012 00:40:34 -0700
parents 376092ae10ed
children
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;
3
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
15 reformat_tblout($tblout);
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
16 reformat_domtblout($domtblout);
2
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
3
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
19 sub reformat_tblout
2
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
3
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
39 sub reformat_domtblout
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
40 {
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
41 my $infile = shift;
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
42 my $outfile = "$infile.new";
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
43 open(IN, "<$infile") or die($!);
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
44 open(OUT, ">$outfile") or die($!);
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
45 print OUT "#target name\taccession\ttlen\tquery name\taccession\tqlen\tE-value (full)\tscore (full)\tbias (full)\t# (this)\tof (this)\tc-Evalue (this)\ti-Evalue (this)\tscore (this)\tbias (this)\tfrom (hmm)\tto (hmm)\tfrom (ali)\tto (ali)\tfrom (env)\tto (env)\tacc\tdescription of target\n";
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
46 while (<IN>)
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
47 {
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
48 next if /^#/;
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
49 my @row0 = split(/\s+/);
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
50 my @row = @row0[0..21];
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
51 push @row, join(' ', @row0[22..$#row0]);
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
52 print OUT join("\t", @row), "\n";
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
53 }
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
54 close(IN);
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
55 close(OUT);
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
56 move($outfile,$infile);
c0fb858f44a2 fix domtblout hdr
Edward Kirton <eskirton@lbl.gov>
parents: 2
diff changeset
57 }
2
376092ae10ed reformat output to tabular
Edward Kirton <eskirton@lbl.gov>
parents:
diff changeset
58 __END__