1hmmpgmd(1) HMMER Manual hmmpgmd(1)
2
3
4
6 hmmpgmd - daemon for searching a protein query against a protein data‐
7 base
8
9
10
12 hmmpgmd [options]
13
14
15
17 The hmmpgmd program is the daemon that we use internally for the
18 hmmer.org web server, and essentially stands in front of the protein
19 search programs phmmer, hmmsearch, and hmmscan.
20
21 To use hmmpgmd, first an instance must be started up as a master
22 server, and provided with at least one of a sequence database (using
23 the --seqdb flag) and/or an HMM database (using the --hmmdb flag). A
24 sequence database must be in the hmmpgmd format, which may be produced
25 using esl-reformat. An HMM database is of the form produced by hmm‐
26 build. The input database(s) will be loaded into memory by the master.
27 When the master has finished loading the database(s), it prints the
28 line: "Data loaded into memory. Master is ready."
29
30
31
32 Only after master is ready, one or more instances of hmmpgmd may be
33 started as workers. These workers may be (and typically are) on differ‐
34 ent machines from the master, but must have access to the same database
35 file(s) provided to the master, with the same path. As with the master,
36 each worker loads the database(s) into memory, and indicates completion
37 by printing: "Data loaded into memory. Worker is ready."
38
39
40
41 The master server and workers are expected to remain running. One or
42 more clients then connect to the master and submit possibly many
43 queries. The master distributes the work of a query among the workers,
44 collects results, and merges them before responding to the client. Two
45 example client programs are included in the HMMER3.1 src directory -
46 the C program hmmc2 and the perl script hmmpgmd_client_example.pl.
47 These are intended as examples only, and should be extended as neces‐
48 sary to meet your needs.
49
50
51 A query is submitted to the master from the client as a character
52 string. Queries may be the sort that would normally be handled by phm‐
53 mer (protein sequence vs protein database), hmmsearch (protein HMM
54 query vs protein database), or hmmscan (protein query vs protein HMM
55 database).
56
57
58 The general form of a client query is to start with a single line of
59 the form @[options], followed by multiple lines of text representing
60 either the query HMM or fasta-formatted sequence. The final line of
61 each query is the separator //.
62
63
64
65 For example, to perform a phmmer type search of a sequence against a
66 sequence database file, the first line is of the form @--seqdb 1, then
67 the fasta-formatted query sequence starting with the header line
68 >sequence-name, followed by one or more lines of sequence, and finally
69 the closing //.
70
71
72 To perform an hmmsearch type search, the query sequence is replaced by
73 the full text of a HMMER-format query HMM.
74
75
76 To perform an hmmscan type search, the text matches that of the phmmer
77 type search, except that the first line changes to @--hmmdb 1.
78
79
80 In the hmmpgmd-formatted sequence database file, each sequence can be
81 associated with one or more sub-databases. The --seqdb flag indicates
82 which of these sub-databases will be queried. The HMM database format
83 does not support sub-databases.
84
85
86 The result of each query is an undocumented data structure in binary
87 format. In the future the data will be returned in a proper serialized
88 structure, but for now, it requires meticulous unpacking within the
89 client. The example clients show how this is done.
90
91
92
93
95 -h Help; print a brief reminder of command line usage and all
96 available options.
97
98
99
100
102 --master
103 Run as the master server.
104
105
106 --worker <s>
107 Run as a worker, connecting to the master server that is running
108 on IP address <s>.
109
110
111 --daemon
112 Run as a daemon using config file: /etc/hmmpgmd.conf
113
114
115 --cport <n>
116 Port to use for communication between clients and the master
117 server. The default is 51371.
118
119
120 --wport <n>
121 Port to use for communication between workers and the master
122 server. The default is 51372.
123
124
125 --ccncts <n>
126 Maximum number of client connections to accept. The default is
127 16.
128
129
130 --wcncts <n>
131 Maximum number of worker connections to accept. The default is
132 32.
133
134
135 --pid <f>
136 Name of file into which the process id will be written.
137
138
139 --seqdb <f>
140 Name of the file (in hmmpgmd format) containing protein
141 sequences. The contents of this file will be cached for
142 searches.
143
144
145 --hmmdb <f>
146 Name of the file containing protein HMMs. The contents of this
147 file will be cached for searches.
148
149
150 --cpu <n>
151 Number of parallel threads to use (for --worker ).
152
153
154
156 See hmmer(1) for a master man page with a list of all the individual
157 man pages for programs in the HMMER package.
158
159
160 For complete documentation, see the user guide that came with your
161 HMMER distribution (Userguide.pdf); or see the HMMER web page ().
162
163
164
165
167 Copyright (C) 2015 Howard Hughes Medical Institute.
168 Freely distributed under the GNU General Public License (GPLv3).
169
170 For additional information on copyright and licensing, see the file
171 called COPYRIGHT in your HMMER source distribution, or see the HMMER
172 web page ().
173
174
175
177 Eddy/Rivas Laboratory
178 Janelia Farm Research Campus
179 19700 Helix Drive
180 Ashburn VA 20147 USA
181 http://eddylab.org
182
183
184
185
186
187
188HMMER 3.1b2 February 2015 hmmpgmd(1)