# HG changeset patch
# User eskirton@lbl.gov
# Date 1331016189 28800
# Node ID c16d8db9338a1656c7a66f8513972a3aeebdeece
init repo
diff -r 000000000000 -r c16d8db9338a hmmer.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hmmer.xml Mon Mar 05 22:43:09 2012 -0800
@@ -0,0 +1,165 @@
+
+hmmscan/search seqs vs profiles
+
+$program
+##--cpu 8
+--tblout $tblout
+--domtblout $domtblout
+$acc
+$noali
+--notextw
+#if $threshold.select == 'E':
+-E $threshold.profile
+--domE $threshold.dom
+#else:
+-T $threshold.profile
+--domT $threshold.dom
+#end if
+--incE $incE
+--incdomE $incdomE
+#if $acceleration.select == "1":
+$acceleration.max
+--F1 $acceleration.F1
+--F2 $acceleration.F2
+--F3 $acceleration.F3
+$acceleration.nobias
+#end if
+#if $other.select == "1":
+$other.nonull2
+--seed $other.seed
+#end if
+-o $logfile
+#if $hmmdb.select == 'db':
+$hmmdb.file
+#else:
+${hmmdb.file.extra_files_path}/hmm
+#end if
+$seqfile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hmmscan
+ hmmsearch
+
+
+
+
+.. class:: warningmark
+
+**Note**. Hidden Markov Model (HMM) searches take a substantial amount of time.
+For large input datasets it is advisable to allow overnight processing.
+
+-----
+
+**What it does**
+
+hmmscan is used to search sequences against collections of profiles. For each sequence in seqfile,
+use that query sequence to search the target database of profiles in hmmdb, and output ranked lists of
+the profiles with the most significant matches to the sequence.
+
+hmmsearch is used to search one or more profiles against a sequence database.
+For each profile in "hmmfile", use that query profile to search the target database of profiles in "seqdb",
+and output ranked lists of the sequences with the most significant matches to the profile.
+
+If using a user-supplied profile database, it needs to be pressed using hmmpress before it can be searched with hmmscan.
+
+**Author**
+
+Sean Eddy, Howard Hughes Medical Institute and Dept. of Genetics, Washington University School of Medicine
+
+http://www.genetics.wustl.edu/eddy/
+
+**Manual**
+
+ftp://selab.janelia.org/pub/software/hmmer/CURRENT/Userguide.pdf
+
+
diff -r 000000000000 -r c16d8db9338a hmmpress.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hmmpress.xml Mon Mar 05 22:43:09 2012 -0800
@@ -0,0 +1,17 @@
+
+Compress profile db
+hmmpress_wrapper.pl $infile $outfile $outfile.extra_files_path
+
+
+
+
+
+
+
+**What It Does**
+
+Starting from a profile database in standard HMMER3 format, construct binary compressed datafiles for hmmscan.
+
+The hmmpress step is required for hmmscan to work.
+
+
diff -r 000000000000 -r c16d8db9338a hmmpress_wrapper.pl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hmmpress_wrapper.pl Mon Mar 05 22:43:09 2012 -0800
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+
+use warnings;
+use strict;
+
+die("Infile, outfile, outdir required\n") unless @ARGV == 3;
+my ($infile, $outfile, $outdir)=@ARGV;
+
+# setup
+-d $outdir or mkdir($outdir) or die($!);
+symlink($infile,"$outdir/hmm");
+
+# create output header file
+open(IN, "<$infile") or die($!);
+open(OUT, ">$outfile") or die($!);
+my $ok=0;
+while (my $line=) {
+ if (!$ok) {
+ die("Invalid input file (HMMER3 format required)\n") unless $line =~ /^HMMER3/;
+ $ok=1;
+ } elsif ($line =~ /^HMM/) {
+ last;
+ } else {
+ print OUT $line;
+ }
+}
+close IN;
+close OUT;
+
+# hmmpress
+my $output=`hmmpress $outdir/hmm 2>&1`;
+if ($? != 0) {
+ $output="FAILED\n" unless $output;
+ die($output);
+}
+unlink("$outdir/hmm");
+my @output=split(/\n/, $output);
+print $output[1], "\n";
+exit;