# 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;