Provided by: hmmer_3.1b2+dfsg-5ubuntu1_amd64 bug


       hmmpgmd - daemon for searching a protein query against a protein database


       hmmpgmd [options]


       The hmmpgmd program is the daemon that we use internally for the web server, and
       essentially stands in front of the protein search programs phmmer, hmmsearch, and hmmscan.

       To use hmmpgmd, first an instance must be started up as a master server, and provided with
       at least one of a sequence database (using the --seqdb flag) and/or an HMM database (using
       the --hmmdb flag).  A sequence database must be  in  the  hmmpgmd  format,  which  may  be
       produced  using  esl-reformat.   An HMM database is of the form produced by hmmbuild.  The
       input database(s) will be loaded into memory by the master. When the master  has  finished
       loading the database(s), it prints the line: "Data loaded into memory. Master is ready."

       Only  after  master  is ready, one or more instances of hmmpgmd may be started as workers.
       These workers may be (and typically are) on different machines from the master,  but  must
       have  access  to  the same database file(s) provided to the master, with the same path. As
       with the master, each worker loads the database(s) into memory, and  indicates  completion
       by printing: "Data loaded into memory. Worker is ready."

       The  master  server  and workers are expected to remain running.  One or more clients then
       connect to the master and submit possibly many queries. The master distributes the work of
       a  query  among  the  workers,  collects results, and merges them before responding to the
       client. Two example client programs are included in the HMMER3.1 src  directory  -  the  C
       program  hmmc2  and  the  perl  script   These are intended as
       examples only, and should be extended as necessary to meet your needs.

       A query is submitted to the master from the client as a character string. Queries  may  be
       the  sort that would normally be handled by phmmer (protein sequence vs protein database),
       hmmsearch (protein HMM query vs protein database), or hmmscan (protein  query  vs  protein
       HMM database).

       The  general form of a client query is to start with a single line of the form @[options],
       followed by multiple lines of text representing either the query  HMM  or  fasta-formatted
       sequence. The final line of each query is the separator //.

       For  example,  to  perform  a phmmer type search of a sequence against a sequence database
       file, the first line is of the form @--seqdb 1, then the  fasta-formatted  query  sequence
       starting  with  the header line >sequence-name, followed by one or more lines of sequence,
       and finally the closing //.

       To perform an hmmsearch type search, the query sequence is replaced by the full text of  a
       HMMER-format query HMM.

       To perform an hmmscan type search, the text matches that of the phmmer type search, except
       that the first line changes to @--hmmdb 1.

       In the hmmpgmd-formatted sequence database file, each sequence can be associated with  one
       or  more  sub-databases.  The  --seqdb flag indicates which of these sub-databases will be
       queried.  The HMM database format does not support sub-databases.

       The result of each query is an undocumented data structure in binary format. In the future
       the  data  will  be  returned  in  a proper serialized structure, but for now, it requires
       meticulous unpacking within the client. The example clients show how this is done.


       -h     Help; print a brief reminder of command line usage and all available options.


              Run as the master server.

       --worker <s>
              Run as a worker, connecting to the master server that is running on IP address <s>.

              Run as a daemon using config file: /etc/hmmpgmd.conf

       --cport <n>
              Port to use for communication between clients and the master server.   The  default
              is 51371.

       --wport <n>
              Port  to  use for communication between workers and the master server.  The default
              is 51372.

       --ccncts <n>
              Maximum number of client connections to accept. The default is 16.

       --wcncts <n>
              Maximum number of worker connections to accept. The default is 32.

       --pid <f>
              Name of file into which the process id will be written.

       --seqdb <f>
              Name of the file (in hmmpgmd format) containing protein sequences.  The contents of
              this file will be cached for searches.

       --hmmdb <f>
              Name  of the file containing protein HMMs. The contents of this file will be cached
              for searches.

       --cpu <n>
              Number of parallel threads to use (for --worker ).


       See hmmer(1) for a master man page with a  list  of  all  the  individual  man  pages  for
       programs in the HMMER package.

       For  complete  documentation,  see  the  user guide that came with your HMMER distribution
       (Userguide.pdf); or see the HMMER web page ().


       Copyright (C) 2015 Howard Hughes Medical Institute.
       Freely distributed under the GNU General Public License (GPLv3).

       For additional information on copyright and licensing, see the file  called  COPYRIGHT  in
       your HMMER source distribution, or see the HMMER web page ().


       Eddy/Rivas Laboratory
       Janelia Farm Research Campus
       19700 Helix Drive
       Ashburn VA 20147 USA