ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE-2.0/doc/SelectionExpression.html
(Generate patch)

Comparing trunk/OOPSE-2.0/doc/SelectionExpression.html (file contents):
Revision 2111 by gezelter, Thu Mar 10 21:51:06 2005 UTC vs.
Revision 2114 by tim, Thu Mar 10 23:56:42 2005 UTC

# Line 1 | Line 1
1 < <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 < <html>
3 < <head>
4 <  <title>Selection syntax for OOPSE utility programs</title>
5 < </head>
6 < <body style="background-color: white;">
7 < <basefont size="3">
8 < <div align="center">
9 < <p><font size="+2"><b>Selection syntax for OOPSE utility programs</b></font><span
10 < style="font-weight: bold;"></span><br>
11 < </p>
12 < <h2 align="left"><a name="introduction" id="introduction"> Introduction
13 < </a></h2>
14 < <p style="text-align: left;">The OOPSE utility programs compute
15 < properties from the <span
16 < style="font-family: monospace; font-weight: bold;">dump</span><span
17 < style="font-weight: bold;">
18 < </span>files that are generated during a molecular dynamics
19 < simulation.&nbsp;
20 < These programs are:<br>
21 < </p>
22 < <ul style="text-align: left;">
23 <  <li><span style="font-family: monospace; font-weight: bold;">Dump2XYZ</span><span
24 < style="font-weight: bold;"> </span>- Converts an OOPSE dump file into
25 < a file suitable
26 < for viewing in a molecular dynamics viewer like <a
27 < href="http://www.jmol.org">Jmol</a><br>
28 <  </li>
29 <  <li><span style="font-family: monospace; font-weight: bold;">StaticProps</span><span
30 < style="font-weight: bold;"> </span>- Computes static properties like
31 < the pair distribution function, <span style="font-style: italic;">g(r)</span>.<br>
32 <  </li>
33 <  <li><span style="font-family: monospace; font-weight: bold;">DynamicProps</span><span
34 < style="font-weight: bold;"> </span>- Computes time correlation
35 < functions like the
36 < velocity autocorrelation function, <span style="font-style: italic;">&lt;<span
37 < style="font-weight: bold;">v</span>(t)<span style="font-weight: bold;">v</span>(0)&gt;</span>,
38 < or the mean square displacement <span style="font-style: italic;">&lt;|<span
39 < style="font-weight: bold;">r</span>(t) - <span
40 < style="font-weight: bold;">r</span>(0)|<sup>2</sup>&gt;.</span></li>
41 < </ul>
42 < <div style="text-align: left;">These programs often need to operate on
43 < a subset of the data contained within a dump file.&nbsp; For example,
44 < if you want only the <span style="font-style: italic;">oxygen-oxygen</span>
45 < pair distribution from a water simulation, or if you want to make a
46 < movie including only the water molecules within a 6 angstrom radius of
47 < lipid head groups, you need a way to specify your selection to these
48 < utility programs.&nbsp;&nbsp; OOPSE has a selection syntax which allows
49 < you to specify the selection in a compact form in order to generate
50 < only the data you want.&nbsp; For example a common use of the
51 < StaticProps command would be:<br>
52 < <br>
53 < <div style="margin-left: 80px;"><span
54 < style="font-family: monospace; font-weight: bold;">StaticProps -i
55 < tp4.dump --gofr --sele1="select O*" --sele2="select O*"</span><br>
56 < </div>
57 < <br>
58 < This command computes the oxygen-oxygen pair distribution function, <span
59 < style="font-style: italic;">g<sub>OO</sub>(r)</span>, from a file
60 < named <span style="font-family: monospace;">tp4.dump</span>.&nbsp; In
61 < order to understand this selection syntax and to make full use of the
62 < selection capabilities of the analysis programs, it is necessary to
63 < understand a few of the core concepts that are used to perform
64 < simulations.<br>
65 < <h2><a name="Concepts"></a>Concepts</h2>
66 < OOPSE manipulates both traditional atoms as well as some objects that <span
67 < style="font-style: italic;">behave like atoms</span>.&nbsp; These
68 < objects can be rigid collections of atoms or atoms which have
69 < orientational degrees of freedom.&nbsp; Here is a diagram of the class
70 < heirarchy:<br>
71 < <span style="font-style: italic;"></span></div>
72 < <p align="center"><img src="classoopse_1_1StuntDouble.png" height="136"
73 < width="292"><br>
74 < </p>
75 < <ul style="text-align: left;">
76 <  <li>A <span style="font-family: monospace; font-weight: bold;">StuntDouble</span>
77 < is <span style="font-style: italic;">any</span> object that can be
78 < manipulated by the integrators and minimizers.</li>
79 <  <li>An <span style="font-family: monospace; font-weight: bold;">Atom</span>
80 < is a fundamental point-particle that can be moved around during a
81 < simulation.</li>
82 <  <li>A <span style="font-family: monospace; font-weight: bold;">DirectionalAtom</span>
83 < is an atom which has <span style="font-style: italic;">orientational</span>
84 < as well as translational degrees of freedom.</li>
85 <  <li>A <span style="font-family: monospace; font-weight: bold;">RigidBody</span>
86 < is a collection of <span
87 < style="font-family: monospace; font-weight: bold;">Atom</span>s or <span
88 < style="font-family: monospace; font-weight: bold;">DirectionalAtom</span>s
89 < which behaves as a <span style="font-style: italic;">single unit.</span></li>
90 < </ul>
91 < <p align="left"> Every Molecule, Atom and DirectionalAtom in OOPSE
92 < have their own names which are specified in the <span
93 < style="font-family: monospace; font-weight: bold;">.md</span> file. In
94 < contrast, RigidBodies are denoted by their membership and index inside
95 < a particular molecule: <span style="font-family: monospace;">[MoleculeName]_RB_[index]</span>
96 < (the contents inside
97 < the brackets depend on the specifics of the simulation). The names of
98 < rigid bodies are generated automatically. For
99 < example, the name of the first rigid body in a DMPC molecule is
100 < DMPC_RB_0.<br>
101 < </p>
102 < </div>
103 < <h2><a name="select"></a>Syntax of the Select Command</h2>
104 < The most general form of the select command is: <b>select <i>expression</i>
105 < </b>
106 < <p>This expression represents an arbitrary set of StuntDoubles (Atoms
107 < or
108 < RigidBodies) in OOPSE. Expressions are composed of either name
109 < expressions, index expression, predefined sets, user-defined
110 < expression,
111 < comparison operators, within expressions, or logical combinations of
112 < the above expression types. Expression can be combined using
113 < parentheses
114 < and the Boolean operators</p>
115 < <p><b><a name="logic"></a> Logical expression. </b> </p>
116 < <p>The logical operators allow complex queries to be constructed out of
117 < simpler ones using the standard boolean connectives <b>and, or, not</b>.
118 < Parentheses can be used to alter the precedence of the operators.
119 < </p>
120 < <ul>
121 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="441">
122 <    <tbody>
123 <      <tr bgcolor="#ffccff">
124 <        <td width="174">
125 <        <div align="left">logical operator </div>
126 <        </td>
127 <        <td width="241">
128 <        <div align="left">equivalent operator</div>
129 <        </td>
130 <      </tr>
131 <      <tr bgcolor="#ffccff">
132 <        <td>
133 <        <div align="left">and</div>
134 <        </td>
135 <        <td>
136 <        <div align="left">"&amp;", "&amp;&amp;" </div>
137 <        </td>
138 <      </tr>
139 <      <tr bgcolor="#ffccff">
140 <        <td>
141 <        <div align="left">or</div>
142 <        </td>
143 <        <td>
144 <        <div align="left">"|", "||", "," </div>
145 <        </td>
146 <      </tr>
147 <      <tr bgcolor="#ffccff">
148 <        <td>
149 <        <div align="left">not</div>
150 <        </td>
151 <        <td>
152 <        <div align="left">"!"</div>
153 <        </td>
154 <      </tr>
155 <    </tbody>
156 <  </table>
157 <  <p>&nbsp;</p>
158 < </ul>
159 < <p><a name="name"><b> Name expression.
160 < </b></a> </p>
161 < <ul>
162 <  <table bgcolor="#ffffcc" border="1" bordercolor="#6b7683" width="886">
163 <    <tbody>
164 <      <tr>
165 <        <td colspan="2">
166 <        <div align="center">expression</div>
167 <        </td>
168 <        <td width="434">
169 <        <div align="center">description</div>
170 <        </td>
171 <      </tr>
172 <      <tr>
173 <        <td rowspan="3" width="183">expression without "." </td>
174 <        <td width="247">
175 <        <div align="left">select DMPC</div>
176 <        </td>
177 <        <td>select all StuntDoubles belonging to all DMPC molecules </td>
178 <      </tr>
179 <      <tr>
180 <        <td>
181 <        <div align="left">select C*</div>
182 <        </td>
183 <        <td>select all atoms which have atom types beginning with C<br>
184 <        </td>
185 <      </tr>
186 <      <tr>
187 <        <td>
188 <        <div align="left">select DMPC_RB_*</div>
189 <        </td>
190 <        <td>select all RigidBodies in DMPC molecules (only select
191 < rigid-bodies, but not
192 < include the atoms belong to them)</td>
193 <      </tr>
194 <      <tr>
195 <        <td rowspan="3">expression has one "." </td>
196 <        <td>select TIP3P.O_TIP3P</td>
197 <        <td>select the O_TIP3P Atoms belong to TIP3P molecules </td>
198 <      </tr>
199 <      <tr>
200 <        <td>select DMPC_RB_0.PO4</td>
201 <        <td>select the PO4 Atoms belonging to first RigidBody in each
202 < DMPC molecule<br>
203 <        </td>
204 <      </tr>
205 <      <tr>
206 <        <td>select DMPC.20</td>
207 <        <td>select the 20th StuntDouble in each DMPC molecule<br>
208 <        </td>
209 <      </tr>
210 <      <tr>
211 <        <td>expression has two "."</td>
212 <        <td>select DMPC.DMPC_RB_?.*</td>
213 <        <td>select all Atoms belonging to all rigid-bodies within all
214 < DMPC molecules</td>
215 <      </tr>
216 <    </tbody>
217 <  </table>
218 <  <p>&nbsp;</p>
219 < </ul>
220 < <p><a name="index" id="index"><b> Index expression </b></a></p>
221 < <ul>
222 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="894">
223 <    <tbody>
224 <      <tr bgcolor="#ffffcc">
225 <        <td width="113">select 20 </td>
226 <        <td width="520">select all of the StuntDoubles belonging to
227 < Molecule 20</td>
228 <      </tr>
229 <      <tr bgcolor="#ffffcc">
230 <        <td>select 20 to 30 </td>
231 <        <td>select all of the StuntDoules belonging to molecules which
232 < have global
233 < indices between 20 (inclusive) and 30 (exclusive) </td>
234 <      </tr>
235 <    </tbody>
236 <  </table>
237 < </ul>
238 < <p>&nbsp; </p>
239 < <p><a name="predefine" id="predefine"><b> Predefined sets </b></a></p>
240 < <ul>
241 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="449">
242 <    <tbody>
243 <      <tr bgcolor="#ffccff">
244 <        <td width="91">
245 <        <div align="left">keyword</div>
246 <        </td>
247 <        <td width="332">
248 <        <div align="left">description</div>
249 <        </td>
250 <      </tr>
251 <      <tr bgcolor="#ffccff">
252 <        <td>
253 <        <div align="left">all</div>
254 <        </td>
255 <        <td>
256 <        <div align="left">select all StuntDoubles</div>
257 <        </td>
258 <      </tr>
259 <      <tr bgcolor="#ffccff">
260 <        <td>
261 <        <div align="left">none</div>
262 <        </td>
263 <        <td>
264 <        <div align="left">select none of the StuntDoubles </div>
265 <        </td>
266 <      </tr>
267 <    </tbody>
268 <  </table>
269 < </ul>
270 < <p>&nbsp;</p>
271 < <p><a name="user" id="user"><b> User defined expressions</b></a></p>
272 < <p> Users can define arbitrary terms to represent groups of
273 < StuntDoubles, and then use the define terms in select
274 < commands. The general form for the define command is: <strong>define <em>term
275 < expression</em></strong></p>
276 < <p> Once defined, the user can specify such terms in boolean
277 < expressions </p>
278 < <ul>
279 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="659">
280 <    <tbody>
281 <      <tr bgcolor="#ffffcc">
282 <        <td>
283 <        <p>define SSDWATER SSD or SSD1 or SSDRF</p>
284 <        <p>select SSDWATER </p>
285 <        </td>
286 <      </tr>
287 <    </tbody>
288 <  </table>
289 < </ul>
290 < <p><a name="comparison" id="comparison"> <b>Comparison expression.</b></a></p>
291 < <p>StuntDoubles can be selected by using comparision operators on
292 < their properties. The general form for the comparison command is: a
293 < property name, followed by a comparision operator and then a number.</p>
294 < <ul>
295 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="668">
296 <    <tbody>
297 <      <tr bgcolor="#ffccff">
298 <        <td width="305">
299 <        <div align="left">property</div>
300 <        </td>
301 <        <td width="331">
302 <        <div align="left">mass, dipole, charge </div>
303 <        </td>
304 <      </tr>
305 <      <tr bgcolor="#ffccff">
306 <        <td>
307 <        <div align="left">comparision operator</div>
308 <        </td>
309 <        <td>
310 <        <div align="left">"&gt;", "&lt;", "=", "&gt;=", "&lt;=", "!=" </div>
311 <        </td>
312 <      </tr>
313 <    </tbody>
314 <  </table>
315 < </ul>
316 < <ul>
317 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="672">
318 <    <tbody>
319 <      <tr bgcolor="#ffffcc">
320 <        <td width="302">select mass &gt; 16.0 and charge &lt; -2 </td>
321 <        <td width="338">select StuntDoubles which have mass greater
322 < than
323 < 16.0 and charges less than -2 </td>
324 <      </tr>
325 <    </tbody>
326 <  </table>
327 < </ul>
328 < <p>&nbsp;</p>
329 < <p><b> <a name="within"></a> Within expression.</b>
330 < </p>
331 < <p> The "within" selection allows the user to select all StuntDoubles
332 < within the specified
333 < distance (in Angstroms) from a selection, including the selected atom
334 < itself. The
335 < general form for within selection is: <b>select within(<i>distance,
336 < expression</i>) </b>
337 < </p>
338 < <ul>
339 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="681">
340 <    <tbody>
341 <      <tr bgcolor="#ffffcc">
342 <        <td width="306">select within(2.5, PO4 or NC4) </td>
343 <        <td width="343">
344 <        <blockquote>select all StuntDoubles which are within 2.5
345 < angstroms of PO4 or NC4 atoms<br>
346 <        </blockquote>
347 <        </td>
348 <      </tr>
349 <    </tbody>
350 <  </table>
351 < </ul>
352 < <p>
353 < </p>
354 < <h2><a name="syntax" id="syntax"> Tools which use the selection command
355 < </a></h2>
356 < <p><b><a name="within"></a> Dump2XYZ</b>
357 < </p>
358 < <p>Dump2XYZ can transform an OOPSE dump file into a xyz file which
359 < could be opened by other molecular viewers, such as Jmol and VMD. </p>
360 < <ul>
361 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="890">
362 <    <tbody>
363 <      <tr bgcolor="#6699ff">
364 <        <td width="191">
365 <        <blockquote>
366 <          <p>--selection</p>
367 <        </blockquote>
368 <        </td>
369 <        <td width="667">Specifying --selection="selection command" with
370 < Dump2XYZ, user can select an arbitrary set of stuntdoubles to be
371 < converted. </td>
372 <      </tr>
373 <      <tr bgcolor="#ccff99">
374 <        <td>
375 <        <blockquote>
376 <          <p>--originsele</p>
377 <        </blockquote>
378 <        </td>
379 <        <td rowspan="2">In order to rotate the system, --originsele and
380 < --refselec must be given to define the new coordinate set. A
381 < stuntdouble with a dipole, which direction is always (0, 0, 1) in body
382 < frame, is specified by --originsele. The new x-z plane is defined by
383 < the direction of dipole and the StuntDouble is specified by --refsele. </td>
384 <      </tr>
385 <      <tr bgcolor="#ccff99">
386 <        <td>
387 <        <blockquote>
388 <          <p>--refsele</p>
389 <        </blockquote>
390 <        </td>
391 <      </tr>
392 <    </tbody>
393 <  </table>
394 < </ul>
395 < <p>
396 < </p>
397 < <p><b><a name="within"></a> StaticProps<br>
398 < </b></p>
399 < StaticProps can compute properties which are averaged over the
400 < configurations that are contained within a dump file.&nbsp;&nbsp; The
401 < most common example of a static property that can be computed is the
402 < pair distribution function between atoms of type A and other atoms of
403 < type B, <span style="font-style: italic;">g<sub>AB</sub>(r)</span>.&nbsp;
404 < StaticProps can also be used to compute the density distributions of
405 < other molecules in a reference frame <span style="font-style: italic;">fixed
406 < to the body-fixed reference frame</span> of a selected atom or rigid
407 < body.<b><br>
408 < </b>
409 < <p> </p>
410 < <p align="center"><img src="definition.jpg" height="540" width="720"></p>
411 < <p align="left">There are five seperate radial distribution functions
412 < availiable in OOPSE. Since every radial distrbution function invlove
413 < the calculation between a pair, --sele1 and --sele2 must be given.
414 < </p>
415 < <ul>
416 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="890">
417 <    <tbody>
418 <      <tr bgcolor="#ccffcc">
419 <        <td width="191">
420 <        <blockquote>
421 <          <p>option</p>
422 <        </blockquote>
423 <        </td>
424 <        <td width="667">
425 <        <blockquote>
426 <          <div align="center">description</div>
427 <        </blockquote>
428 <        </td>
429 <      </tr>
430 <      <tr bgcolor="#ccffcc">
431 <        <td>
432 <        <blockquote>
433 <          <p>--gofr</p>
434 <        </blockquote>
435 <        </td>
436 <        <td>Computes the pair distribution function.</td>
437 <      </tr>
438 <      <tr bgcolor="#ccffcc">
439 <        <td>
440 <        <blockquote>
441 <          <p>--r_theta</p>
442 <        </blockquote>
443 <        </td>
444 <        <td>Computes the angle-dependent pair distribution function.
445 < The
446 < angle is defined by the intermolecular vector r and z-axis of
447 < DirectionalAtom A.<br>
448 <        </td>
449 <      </tr>
450 <      <tr bgcolor="#ccffcc">
451 <        <td>
452 <        <blockquote>
453 <          <p>--r_omega</p>
454 <        </blockquote>
455 <        </td>
456 <        <td>Computes an angle-dependent pair distribution function. The
457 < angle is defined by the z-axes of the two DirectionalAtoms A and B.<br>
458 <        </td>
459 <      </tr>
460 <      <tr bgcolor="#ccffcc">
461 <        <td>
462 <        <blockquote>
463 <          <p>--theta_omega</p>
464 <        </blockquote>
465 <        </td>
466 <        <td>Calculate the pair distribution of the two angles.</td>
467 <      </tr>
468 <      <tr bgcolor="#ccffcc">
469 <        <td>
470 <        <blockquote>
471 <          <p>--gxyz</p>
472 <        </blockquote>
473 <        </td>
474 <        <td>Calculate the density distribution of particles
475 < of type B in the body frame of particle A. Therefore, --originsele and
476 < --refsele must be given to define A's internal coordinate set. </td>
477 <      </tr>
478 <    </tbody>
479 <  </table>
480 < </ul>
481 < <p>&nbsp; </p>
482 < <p><b><a name="within"></a> DynamicProps<br>
483 < <span style="font-weight: bold;"><br>
484 < </span></b>DynamicProps computes time correlation functions from the
485 < configurations stored in a dump file.&nbsp; Typical examples of time
486 < correlation functions are the mean square displacement and the velocity
487 < autocorrelation functions. <b><span style="font-weight: bold;"><br>
488 < </span> </b></p>
489 < <ul>
490 <  <table bgcolor="#ffffff" border="1" cellpadding="5" width="890">
491 <    <tbody>
492 <      <tr bgcolor="#ccffcc">
493 <        <td width="191">
494 <        <p align="center">option</p>
495 <        </td>
496 <        <td width="667">
497 <        <blockquote>
498 <          <div align="center">description</div>
499 <        </blockquote>
500 <        </td>
501 <      </tr>
502 <      <tr bgcolor="#ccffcc">
503 <        <td>
504 <        <p align="center">--rcorr</p>
505 <        </td>
506 <        <td>mean square displacement </td>
507 <      </tr>
508 <      <tr bgcolor="#ccffcc">
509 <        <td>
510 <        <p align="center">--vcorr</p>
511 <        </td>
512 <        <td>velocity autocorrelation function</td>
513 <      </tr>
514 <      <tr bgcolor="#ccffcc">
515 <        <td>
516 <        <p align="center">--dcorr</p>
517 <        </td>
518 <        <td>dipole correlation function </td>
519 <      </tr>
520 <    </tbody>
521 <  </table>
522 < </ul>
523 < <p>
524 < </p>
525 < </body>
526 < </html>
1 > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 > <html>
3 > <head>
4 >  <title>Selection syntax for OOPSE utility programs</title>
5 > </head>
6 > <body style="background-color: white;">
7 > <basefont size="3">
8 > <div align="center">
9 > <p><font size="+2"><b>Selection syntax for OOPSE utility programs</b></font><span
10 > style="font-weight: bold;"></span><br>
11 > </p>
12 > <h2 align="left"><a name="introduction" id="introduction"> Introduction
13 > </a></h2>
14 > <p style="text-align: left;">The OOPSE utility programs compute
15 > properties from the <span
16 > style="font-family: monospace; font-weight: bold;">dump</span><span
17 > style="font-weight: bold;">
18 > </span>files that are generated during a molecular dynamics
19 > simulation.&nbsp;
20 > These programs are:<br>
21 > </p>
22 > <ul style="text-align: left;">
23 >  <li><span style="font-family: monospace; font-weight: bold;">Dump2XYZ</span><span
24 > style="font-weight: bold;"> </span>- Converts an OOPSE dump file into
25 > a file suitable
26 > for viewing in a molecular dynamics viewer like <a
27 > href="http://www.jmol.org">Jmol</a><br>
28 >  </li>
29 >  <li><span style="font-family: monospace; font-weight: bold;">StaticProps</span><span
30 > style="font-weight: bold;"> </span>- Computes static properties like
31 > the pair distribution function, <span style="font-style: italic;">g(r)</span>.<br>
32 >  </li>
33 >  <li><span style="font-family: monospace; font-weight: bold;">DynamicProps</span><span
34 > style="font-weight: bold;"> </span>- Computes time correlation
35 > functions like the
36 > velocity autocorrelation function, <span style="font-style: italic;">&lt;<span
37 > style="font-weight: bold;">v</span>(t)<span style="font-weight: bold;">v</span>(0)&gt;</span>,
38 > or the mean square displacement <span style="font-style: italic;">&lt;|<span
39 > style="font-weight: bold;">r</span>(t) - <span
40 > style="font-weight: bold;">r</span>(0)|<sup>2</sup>&gt;.</span></li>
41 > </ul>
42 > <div style="text-align: left;">These programs often need to operate on
43 > a subset of the data contained within a dump file.&nbsp; For example,
44 > if you want only the <span style="font-style: italic;">oxygen-oxygen</span>
45 > pair distribution from a water simulation, or if you want to make a
46 > movie including only the water molecules within a 6 angstrom radius of
47 > lipid head groups, you need a way to specify your selection to these
48 > utility programs.&nbsp;&nbsp; OOPSE has a selection syntax which allows
49 > you to specify the selection in a compact form in order to generate
50 > only the data you want.&nbsp; For example a common use of the
51 > StaticProps command would be:<br>
52 > <br>
53 > <div style="margin-left: 80px;"><span
54 > style="font-family: monospace; font-weight: bold;">StaticProps -i
55 > tp4.dump --gofr --sele1="select O*" --sele2="select O*"</span><br>
56 > </div>
57 > <br>
58 > This command computes the oxygen-oxygen pair distribution function, <span
59 > style="font-style: italic;">g<sub>OO</sub>(r)</span>, from a file
60 > named <span style="font-family: monospace;">tp4.dump</span>.&nbsp; In
61 > order to understand this selection syntax and to make full use of the
62 > selection capabilities of the analysis programs, it is necessary to
63 > understand a few of the core concepts that are used to perform
64 > simulations.<br>
65 > <h2><a name="Concepts"></a>Concepts</h2>
66 > OOPSE manipulates both traditional atoms as well as some objects that <span
67 > style="font-style: italic;">behave like atoms</span>.&nbsp; These
68 > objects can be rigid collections of atoms or atoms which have
69 > orientational degrees of freedom.&nbsp; Here is a diagram of the class
70 > heirarchy:<br>
71 > <span style="font-style: italic;"></span></div>
72 > <p align="center"><img src="classoopse_1_1StuntDouble.png" height="136"
73 > width="292"><br>
74 > </p>
75 > <ul style="text-align: left;">
76 >  <li>A <span style="font-family: monospace; font-weight: bold;">StuntDouble</span>
77 > is <span style="font-style: italic;">any</span> object that can be
78 > manipulated by the integrators and minimizers.</li>
79 >  <li>An <span style="font-family: monospace; font-weight: bold;">Atom</span>
80 > is a fundamental point-particle that can be moved around during a
81 > simulation.</li>
82 >  <li>A <span style="font-family: monospace; font-weight: bold;">DirectionalAtom</span>
83 > is an atom which has <span style="font-style: italic;">orientational</span>
84 > as well as translational degrees of freedom.</li>
85 >  <li>A <span style="font-family: monospace; font-weight: bold;">RigidBody</span>
86 > is a collection of <span
87 > style="font-family: monospace; font-weight: bold;">Atom</span>s or <span
88 > style="font-family: monospace; font-weight: bold;">DirectionalAtom</span>s
89 > which behaves as a <span style="font-style: italic;">single unit.</span></li>
90 > </ul>
91 > <p align="left"> Every Molecule, Atom and DirectionalAtom in OOPSE
92 > have their own names which are specified in the <span
93 > style="font-family: monospace; font-weight: bold;">.md</span> file. In
94 > contrast, RigidBodies are denoted by their membership and index inside
95 > a particular molecule: <span style="font-family: monospace;">[MoleculeName]_RB_[index]</span>
96 > (the contents inside
97 > the brackets depend on the specifics of the simulation). The names of
98 > rigid bodies are generated automatically. For
99 > example, the name of the first rigid body in a DMPC molecule is
100 > DMPC_RB_0.<br>
101 > </p>
102 > </div>
103 > <h2><a name="select"></a>Syntax of the Select Command</h2>
104 > The most general form of the select command is: <b>select <i>expression</i>
105 > </b>
106 > <p>This expression represents an arbitrary set of StuntDoubles (Atoms
107 > or
108 > RigidBodies) in OOPSE. Expressions are composed of either name
109 > expressions, index expression, predefined sets, user-defined
110 > expression,
111 > comparison operators, within expressions, or logical combinations of
112 > the above expression types. Expression can be combined using
113 > parentheses
114 > and the Boolean operators</p>
115 > <p><b><a name="logic"></a> Logical expression. </b> </p>
116 > <p>The logical operators allow complex queries to be constructed out of
117 > simpler ones using the standard boolean connectives <b>and, or, not</b>.
118 > Parentheses can be used to alter the precedence of the operators.
119 > </p>
120 > <ul>
121 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="441">
122 >    <tbody>
123 >      <tr bgcolor="#ffccff">
124 >        <td width="174">
125 >        <div align="left">logical operator </div>
126 >        </td>
127 >        <td width="241">
128 >        <div align="left">equivalent operator</div>
129 >        </td>
130 >      </tr>
131 >      <tr bgcolor="#ffccff">
132 >        <td>
133 >        <div align="left">and</div>
134 >        </td>
135 >        <td>
136 >        <div align="left">"&amp;", "&amp;&amp;" </div>
137 >        </td>
138 >      </tr>
139 >      <tr bgcolor="#ffccff">
140 >        <td>
141 >        <div align="left">or</div>
142 >        </td>
143 >        <td>
144 >        <div align="left">"|", "||", "," </div>
145 >        </td>
146 >      </tr>
147 >      <tr bgcolor="#ffccff">
148 >        <td>
149 >        <div align="left">not</div>
150 >        </td>
151 >        <td>
152 >        <div align="left">"!"</div>
153 >        </td>
154 >      </tr>
155 >    </tbody>
156 >  </table>
157 >  <p>&nbsp;</p>
158 > </ul>
159 > <p><a name="name"><b> Name expression.
160 > </b></a> </p>
161 > <ul>
162 >  <table bgcolor="#ffffcc" border="1" bordercolor="#6b7683" width="886">
163 >    <tbody>
164 >      <tr>
165 >        <td colspan="2">
166 >        <div align="center">expression</div>
167 >        </td>
168 >        <td width="434">
169 >        <div align="center">description</div>
170 >        </td>
171 >      </tr>
172 >      <tr>
173 >        <td rowspan="3" width="183">expression without "." </td>
174 >        <td width="247">
175 >        <div align="left">select DMPC</div>
176 >        </td>
177 >        <td>select all StuntDoubles belonging to all DMPC molecules </td>
178 >      </tr>
179 >      <tr>
180 >        <td>
181 >        <div align="left">select C*</div>
182 >        </td>
183 >        <td>select all atoms which have atom types beginning with C<br>
184 >        </td>
185 >      </tr>
186 >      <tr>
187 >        <td>
188 >        <div align="left">select DMPC_RB_*</div>
189 >        </td>
190 >        <td>select all RigidBodies in DMPC molecules (only select
191 > rigid-bodies, but not
192 > include the atoms belong to them)</td>
193 >      </tr>
194 >      <tr>
195 >        <td rowspan="3">expression has one "." </td>
196 >        <td>select TIP3P.O_TIP3P</td>
197 >        <td>select the O_TIP3P Atoms belong to TIP3P molecules </td>
198 >      </tr>
199 >      <tr>
200 >        <td>select DMPC_RB_0.PO4</td>
201 >        <td>select the PO4 Atoms belonging to first RigidBody in each
202 > DMPC molecule<br>
203 >        </td>
204 >      </tr>
205 >      <tr>
206 >        <td>select DMPC.20</td>
207 >        <td>select the 20th StuntDouble in each DMPC molecule<br>
208 >        </td>
209 >      </tr>
210 >      <tr>
211 >        <td>expression has two "."</td>
212 >        <td>select DMPC.DMPC_RB_?.*</td>
213 >        <td>select all Atoms belonging to all rigid-bodies within all
214 > DMPC molecules</td>
215 >      </tr>
216 >    </tbody>
217 >  </table>
218 >  <p>&nbsp;</p>
219 > </ul>
220 > <p><a name="index" id="index"><b> Index expression </b></a></p>
221 > <ul>
222 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="894">
223 >    <tbody>
224 >      <tr bgcolor="#ffffcc">
225 >        <td width="113">select 20 </td>
226 >        <td width="520">select all of the StuntDoubles belonging to
227 > Molecule 20</td>
228 >      </tr>
229 >      <tr bgcolor="#ffffcc">
230 >        <td>select 20 to 30 </td>
231 >        <td>select all of the StuntDoules belonging to molecules which
232 > have global
233 > indices between 20 (inclusive) and 30 (exclusive) </td>
234 >      </tr>
235 >    </tbody>
236 >  </table>
237 > </ul>
238 > <p>&nbsp; </p>
239 > <p><a name="predefine" id="predefine"><b> Predefined sets </b></a></p>
240 > <ul>
241 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="449">
242 >    <tbody>
243 >      <tr bgcolor="#ffccff">
244 >        <td width="91">
245 >        <div align="left">keyword</div>
246 >        </td>
247 >        <td width="332">
248 >        <div align="left">description</div>
249 >        </td>
250 >      </tr>
251 >      <tr bgcolor="#ffccff">
252 >        <td>
253 >        <div align="left">all</div>
254 >        </td>
255 >        <td>
256 >        <div align="left">select all StuntDoubles</div>
257 >        </td>
258 >      </tr>
259 >      <tr bgcolor="#ffccff">
260 >        <td>
261 >        <div align="left">none</div>
262 >        </td>
263 >        <td>
264 >        <div align="left">select none of the StuntDoubles </div>
265 >        </td>
266 >      </tr>
267 >    </tbody>
268 >  </table>
269 > </ul>
270 > <p>&nbsp;</p>
271 > <p><a name="user" id="user"><b> User defined expressions</b></a></p>
272 > <p> Users can define arbitrary terms to represent groups of
273 > StuntDoubles, and then use the define terms in select
274 > commands. The general form for the define command is: <strong>define <em>term
275 > expression</em></strong></p>
276 > <p> Once defined, the user can specify such terms in boolean
277 > expressions </p>
278 > <ul>
279 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="659">
280 >    <tbody>
281 >      <tr bgcolor="#ffffcc">
282 >        <td>
283 >        <p>define SSDWATER SSD or SSD1 or SSDRF</p>
284 >        <p>select SSDWATER </p>
285 >        </td>
286 >      </tr>
287 >    </tbody>
288 >  </table>
289 > </ul>
290 > <p><a name="comparison" id="comparison"> <b>Comparison expression.</b></a></p>
291 > <p>StuntDoubles can be selected by using comparision operators on
292 > their properties. The general form for the comparison command is: a
293 > property name, followed by a comparision operator and then a number.</p>
294 > <ul>
295 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="668">
296 >    <tbody>
297 >      <tr bgcolor="#ffccff">
298 >        <td width="305">
299 >        <div align="left">property</div>
300 >        </td>
301 >        <td width="331">
302 >        <div align="left">mass, charge </div>
303 >        </td>
304 >      </tr>
305 >      <tr bgcolor="#ffccff">
306 >        <td>
307 >        <div align="left">comparision operator</div>
308 >        </td>
309 >        <td>
310 >        <div align="left">"&gt;", "&lt;", "=", "&gt;=", "&lt;=", "!=" </div>
311 >        </td>
312 >      </tr>
313 >    </tbody>
314 >  </table>
315 > </ul>
316 > <ul>
317 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="672">
318 >    <tbody>
319 >      <tr bgcolor="#ffffcc">
320 >        <td width="302">select mass &gt; 16.0 and charge &lt; -2 </td>
321 >        <td width="338">select StuntDoubles which have mass greater
322 > than
323 > 16.0 and charges less than -2 </td>
324 >      </tr>
325 >    </tbody>
326 >  </table>
327 > </ul>
328 > <p>&nbsp;</p>
329 > <p><b> <a name="within"></a> Within expression.</b>
330 > </p>
331 > <p> The "within" selection allows the user to select all StuntDoubles
332 > within the specified
333 > distance (in Angstroms) from a selection, including the selected atom
334 > itself. The
335 > general form for within selection is: <b>select within(<i>distance,
336 > expression</i>) </b>
337 > </p>
338 > <ul>
339 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="681">
340 >    <tbody>
341 >      <tr bgcolor="#ffffcc">
342 >        <td width="306">select within(2.5, PO4 or NC4) </td>
343 >        <td width="343">
344 >        <blockquote>select all StuntDoubles which are within 2.5
345 > angstroms of PO4 or NC4 atoms<br>
346 >        </blockquote>
347 >        </td>
348 >      </tr>
349 >    </tbody>
350 >  </table>
351 > </ul>
352 > <p>
353 > </p>
354 > <h2><a name="syntax" id="syntax"> Tools which use the selection command
355 > </a></h2>
356 > <p><b><a name="within"></a> Dump2XYZ</b>
357 > </p>
358 > <p>Dump2XYZ can transform an OOPSE dump file into a xyz file which
359 > could be opened by other molecular viewers, such as Jmol and VMD. </p>
360 > <ul>
361 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="890">
362 >    <tbody>
363 >      <tr bgcolor="#6699ff">
364 >        <td width="191">
365 >        <blockquote>
366 >          <p>--selection</p>
367 >        </blockquote>
368 >        </td>
369 >        <td width="667">Specifying --selection="selection command" with
370 > Dump2XYZ, user can select an arbitrary set of stuntdoubles to be
371 > converted. </td>
372 >      </tr>
373 >      <tr bgcolor="#ccff99">
374 >        <td>
375 >        <blockquote>
376 >          <p>--originsele</p>
377 >        </blockquote>
378 >        </td>
379 >        <td rowspan="2">In order to rotate the system, --originsele and
380 > --refselec must be given to define the new coordinate set. A
381 > stuntdouble with a dipole, which direction is always (0, 0, 1) in body
382 > frame, is specified by --originsele. The new x-z plane is defined by
383 > the direction of dipole and the StuntDouble is specified by --refsele. </td>
384 >      </tr>
385 >      <tr bgcolor="#ccff99">
386 >        <td>
387 >        <blockquote>
388 >          <p>--refsele</p>
389 >        </blockquote>
390 >        </td>
391 >      </tr>
392 >    </tbody>
393 >  </table>
394 > </ul>
395 > <p>
396 > </p>
397 > <p><b><a name="within"></a> StaticProps<br>
398 > </b></p>
399 > StaticProps can compute properties which are averaged over the
400 > configurations that are contained within a dump file.&nbsp;&nbsp; The
401 > most common example of a static property that can be computed is the
402 > pair distribution function between atoms of type A and other atoms of
403 > type B, <span style="font-style: italic;">g<sub>AB</sub>(r)</span>.&nbsp;
404 > StaticProps can also be used to compute the density distributions of
405 > other molecules in a reference frame <span style="font-style: italic;">fixed
406 > to the body-fixed reference frame</span> of a selected atom or rigid
407 > body.<b><br>
408 > </b>
409 > <p> </p>
410 > <p align="center"><img src="definition.jpg" height="540" width="720"></p>
411 > <p align="left">There are five seperate radial distribution functions
412 > availiable in OOPSE. Since every radial distrbution function invlove
413 > the calculation between a pair, --sele1 and --sele2 must be given.
414 > </p>
415 > <ul>
416 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="890">
417 >    <tbody>
418 >      <tr bgcolor="#ccffcc">
419 >        <td width="191">
420 >        <blockquote>
421 >          <p>option</p>
422 >        </blockquote>
423 >        </td>
424 >        <td width="667">
425 >        <blockquote>
426 >          <div align="center">description</div>
427 >        </blockquote>
428 >        </td>
429 >      </tr>
430 >      <tr bgcolor="#ccffcc">
431 >        <td>
432 >        <blockquote>
433 >          <p>--gofr</p>
434 >        </blockquote>
435 >        </td>
436 >        <td>Computes the pair distribution function.</td>
437 >      </tr>
438 >      <tr bgcolor="#ccffcc">
439 >        <td>
440 >        <blockquote>
441 >          <p>--r_theta</p>
442 >        </blockquote>
443 >        </td>
444 >        <td>Computes the angle-dependent pair distribution function.
445 > The
446 > angle is defined by the intermolecular vector r and z-axis of
447 > DirectionalAtom A.<br>
448 >        </td>
449 >      </tr>
450 >      <tr bgcolor="#ccffcc">
451 >        <td>
452 >        <blockquote>
453 >          <p>--r_omega</p>
454 >        </blockquote>
455 >        </td>
456 >        <td>Computes an angle-dependent pair distribution function. The
457 > angle is defined by the z-axes of the two DirectionalAtoms A and B.<br>
458 >        </td>
459 >      </tr>
460 >      <tr bgcolor="#ccffcc">
461 >        <td>
462 >        <blockquote>
463 >          <p>--theta_omega</p>
464 >        </blockquote>
465 >        </td>
466 >        <td>Calculate the pair distribution of the two angles.</td>
467 >      </tr>
468 >      <tr bgcolor="#ccffcc">
469 >        <td>
470 >        <blockquote>
471 >          <p>--gxyz</p>
472 >        </blockquote>
473 >        </td>
474 >        <td>Calculate the density distribution of particles
475 > of type B in the body frame of particle A. Therefore, --originsele and
476 > --refsele must be given to define A's internal coordinate set. </td>
477 >      </tr>
478 >    </tbody>
479 >  </table>
480 > </ul>
481 > <p>&nbsp; </p>
482 > <p><b><a name="within"></a> DynamicProps<br>
483 > <span style="font-weight: bold;"><br>
484 > </span></b>DynamicProps computes time correlation functions from the
485 > configurations stored in a dump file.&nbsp; Typical examples of time
486 > correlation functions are the mean square displacement and the velocity
487 > autocorrelation functions. <b><span style="font-weight: bold;"><br>
488 > </span> </b></p>
489 > <ul>
490 >  <table bgcolor="#ffffff" border="1" cellpadding="5" width="890">
491 >    <tbody>
492 >      <tr bgcolor="#ccffcc">
493 >        <td width="191">
494 >        <p align="center">option</p>
495 >        </td>
496 >        <td width="667">
497 >        <blockquote>
498 >          <div align="center">description</div>
499 >        </blockquote>
500 >        </td>
501 >      </tr>
502 >      <tr bgcolor="#ccffcc">
503 >        <td>
504 >        <p align="center">--rcorr</p>
505 >        </td>
506 >        <td>mean square displacement </td>
507 >      </tr>
508 >      <tr bgcolor="#ccffcc">
509 >        <td>
510 >        <p align="center">--vcorr</p>
511 >        </td>
512 >        <td>velocity autocorrelation function</td>
513 >      </tr>
514 >      <tr bgcolor="#ccffcc">
515 >        <td>
516 >        <p align="center">--dcorr</p>
517 >        </td>
518 >        <td>dipole correlation function </td>
519 >      </tr>
520 >    </tbody>
521 >  </table>
522 > </ul>
523 > <p>
524 > </p>
525 > </body>
526 > </html>

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines