batchruntomo(1) General Commands Manual batchruntomo(1)
NAME
batchruntomo - Align tilt series and generate tomograms automatically
SYNOPSIS
batchruntomo [options] directive_files...
DESCRIPTION
Batchruntomo runs all the operations required to align a tilt series
and build a tomogram, following a set of instructions called "direc-
tives" provided in a text file. These directives indicate either
parameter settings or which pathway to follow at various points in the
processing sequence. The program will perform operations in a fixed
order determined by these choices; the order of the directives does not
affect this order. The program can work on more than one data set and
can also move the tilt series from their current location into a sepa-
rate directory for each data set, which is created if necessary. It
accepts tilt series with extensions ".mrc", ".st", ".hdf", ".tif", and
".tiff". Depending on the image file naming style specified, it may
change the extension to ".st" so that other programs will work cor-
rectly.
Directives
Directives consist of key-value pairs separated by equals signs, where
the key has 2 to 4 components separated by periods. The first compo-
nent is a prefix that indicates the type of directive or the stage at
which it is applied. The value may be blank if appropriate but the
equals sign must be present. There are currently three prefixes:
"setupset", for directives involved when setting up a data set; "com-
param", for directives used to set options in command files; and "run-
time", for directives interpreted by Batchruntomo or Etomo. A descrip-
tion of all directives is contained in the file
"IMOD/com/directives.csv", which is in comma-separated values format.
It is accessible in a more readable form from the IMOD help index via
the link "Directives for batch processing and Etomo templates" (avail-
able from "imodhelp" or when accessing the html package of IMOD docu-
mentation with a browser).
"setupset" directives have two forms. The majority have the form
setupset.copyarg.<copytomocoms short option name>=value
These directives will be processed mostly generically by Etomo and sent
to Copytomocoms as command line arguments. The short option name
must be given in full. Unlike for the other two kinds of directives,
whenever there is a pair of directives corresponding to a pair of
options for each axis of a dual axis set, a directive for the first or
only axis does not apply to the second axis. A separate "b" directive
must be supplied.
Other "setupset" directives are interpreted exclusively by Batchruntomo
or Etomo and have the form
setupset.<parameter or option>=value
"comparam" directives are interpreted generically when a command file
is created either by Copytomocoms or by Makecomfile. They have
the form
comparam.<root name of file>.<program>.<Long option name>=value
The root name of the command file may include an axis letter ("a" or
"b"). For a single axis data set, directives without a letter and with
an "a" are treated as equivalent and ones with "b" are ignored. For a
dual axis data set, a directive without a letter can apply to either
axis, but will be overridden by a directive with a letter matching the
specific axis, regardless of which one occurs later in the processing
sequence. The long option name must be given in full. Options to
Tilt must match the case shown in the Tilt man page, even though
Tilt accepts case-insensitive options.
Because "comparam" directives are treated generically, they are not
restricted to the ones listed in the table of directives. Any valid
option can be used, although some would be meaningless in the context
of automation and some would conflict with the management provided by
Copytomocoms or be overridden by Makecomfile.
"runtime" directives have the form
runtime.<Processing step>.<axis>.<parameter or option>=value
Here the processing step and parameter have names that have been made
up just for the directive. The convention is for the processing step
to be capitalized and the parameter to start with lower case. The axis
must be either "a", "b", or "any". For a single axis data set, direc-
tives with "any" or "a" are treated as equivalent and ones with "b" are
ignored. For a dual axis data set, a directive with "any" can apply to
either axis, but will be overridden by a directive with a letter match-
ing the specific axis, regardless of which one occurs later in the pro-
cessing sequence.
Boolean directives must have a value of either 0 or 1: 1 to turn the
option on or 0 to turn it off; no other values (including blank) are
allowed. If a boolean directive is not present then the option is off,
unless it has been turned on by an entry in a template file (see
below). For any other kind of directive, the value can be blank, which
causes the option in question to be removed from consideration.
Specifically, for a "comparam" directive, a blank value will cause the
option to be removed from the command file if present. For other kinds
of directives, a blank value removes the setting of the parameter by a
previous directive in a template file.
If a processing step is being skipped or bypassed by an alternative
method of processing, then all the directives related to it have no
effect on the processing that is done. It is thus generally safe to
leave unused directives in a file. Such directives with prefix "com-
param" will be used to set parameters in command files produced by
Copytomocoms, but directives for parameters in other command files
will have no effect because those files will not be produced. Direc-
tives with prefix "runtime" are simply ignored if they are not relevant
to the chosen processing sequence.
Template Files
Template files can contain parameters that can be used meaningfully for
multiple, similar data sets. Directives exist to define a microscope
template file, a system template file, and a user template file. The
idea is for the microscope file to have parameters specific to a micro-
scope or microscope/camera combination, and to have the other template
files contain other parameters that would not be dataset-specific.
Each file consists of a subset of directives just like those described
for defining options for the batch processing. There is a heirarchy
among these directives. They are always processed in the order scope
template, system template, user template, and batch directive file, and
entries later in this sequence override ones that appeared earlier.
Batchruntomo reads the template files and uses their contents along
with those of the directive file to determine the values for parame-
ters. It also passes whatever template files exist, plus the batch
file, to Etomo for it to use when setting arguments for calling Copyto-
mocoms(1), and Etomo passes the files on to Copytomocoms to use for
setting parameters. Batchruntomo passes them to Makecomfile to use
similarly when making optional command files, as well as to Setupcom-
bine(1).
Another directive file, "batchDefaults.adoc" from the IMOD "com" direc-
tory, provides some default values needed when running with batch pro-
cessing. As of IMOD 4.10.15, these are read in to Batchruntomo and
processed prior to the templates. Prior to that, Etomo appended these
directives to the batch directive file unless there was an overriding
value in a template. Unfortunately, if such a file is used as a start-
ing batch file in the Etomo interface, these directives are indistin-
guishable from others and override corresponding template values, if
any, instead of being overridden. Batchruntomo now recognizes this
situation and will issue a warning if any such directives do override a
template value.
The program checks all directives after it reads them, including the
ones from a template file, against the master list in "directives.csv".
All "setupset" and "runtime" directives must match ones in this file.
It is possible to enter "comparam" directives not listed in this file,
provided that the command file name and program name match those of
other directives in the master file. The program will consult the
autodoc file for the program to determine whether the option is valid.
It will issue a warning if an autodoc cannot be found; otherwise, it
will be able to determine validity definitively.
Processing Steps Available
This section describes some of the capabilities and current limitations
of various steps.
X-ray removal is optional; if selected, automatic X-ray removal will be
done, and "clip stats" will be run on the fixed stack. There is also a
directive to run Archiveorig to make a compressed difference between
corrected and original stacks, then delete the original stack. A man-
ual replacement model can be specified. It is suggested that object 1
contain patches specified in the default way, by a point on each pixel;
object 2 contain lines, if any; object 3 contain patches specified by
boundary contours, if any; and that directives be added to specify
these choices and that objects 1-3 are all-section objects. These sug-
gestions will be enforced when there is a GUI for setting up batch
directives. If the manual replacement model is located elsewhere, it
will be copied to the dataset and renamed to the standard name for such
models, so that the model can be opened and added to when running in
Etomo.
Detection of blank images and images with large dark regions at the
highest tilt angles can be done before further processing by including
the preprocessing directive "endExcludeCriterion" with a fractional
value such as 0.5. (The directive is ignored for montaged tilt
series.) The program will look at the standard deviation (SD) of
images at each end of the tilt series and find ones whose SD is less
that the criterion times the mean SD of the five adjacent less-tilted
images. Up to three images can be excluded on each end of the series
by this analysis. The program will then do a histogram analysis with
Clip to see whether the intensity distribution has two peaks and how
much of the area falls in the lower peak. A view is excluded if inten-
sity at the lower peak is less than 0.17 times that at the upper peak
and more than 0.33 of the pixels are in the lower peak (these defaults
can be modified with "darkExcludeRatio" and "darkExcludeFraction"
directives). Views can be eliminated up to 6 tilts from either end in
this way, but with either analysis, only consecutive views will be
eliminated. View skipping/exclusion lists will be added or adjusted in
xcorr.com, track.com, align.com, and tilt.com.
Coarse alignment is always performed. The binning of a prealigned
stack can be specified.
Fiducialless alignment can be chosen, in which case tomogram thickness
must be specified. The tomogram will not be reoriented at all (no
angle offset or X-axis tilt applied).
Patch tracking can be chosen. Again, tomogram thickness must be speci-
fied, but in this case the tomogram will be reoriented based on angles
found by Tiltalign. Also, if you specify gold erasing after 3D bead
finding, the thickness must be specified for the tomogram used to find
the beads.
Gold fiducial tracking can be done either with automatic seed-finding
then bead tracking, or with RAPTOR followed by optional bead tracking.
For a second axis, Transferfid can be run, followed by automatic
seed-finding to fill in the resulting model. RAPTOR can be run instead
for the second axis (unlike in Etomo), although there will then be no
list of corresponding fiducials. Beadtrack can be run more than
once, because this completes a model more reliably than selecting fur-
ther rounds of tracking in a single run.
Fine alignment with Tiltalign can include local alignments in all
cases. There is a directive to enable the stretching (distortion)
solution. When enabled, stretching will be solved for only if there
are gold fiducials on two surfaces, and if there are enough on the
minority surface overall and relative to the total number. Stretching
may be solved for in the global solution but not in the local one if
there are too few fiducials on the minority surface per local area. In
addition to making these decisions, Batchruntomo also runs the program
Restrictalign, which will use cross-validation to test whether the
number of variables being solved for should be reduced. This poten-
tially lengthy process will be run once with global variables, then
once again if either stretching or local alignments are added.
Restrictalign will turn off robust fitting if it gives no benefit,
but if it does so when evaluating global variables and local alignments
are being done, Batchruntomo will turn robust fitting on again for the
local tests. The fine alignment produces an angle offset and an X-axis
tilt that is applied when building the tomogram, unless there are too
few gold. In addition, if there is gold on two surfaces, the distance
between the gold particles provides an estimate of thickness that can
be used as one basis for the tomogram thickness. Otherwise, if gold is
to be erased after 3D bead finding, the thickness for the required
tomogram must be specified.
Tomogram positioning can be done for both plastic sections and cryosam-
ples by setting the "Positioning.sampleType" directive to 1 or 2,
respectively. Plastic section positioning is done with a binned-down
whole tomogram for now. If there is no "Positioning.binByFactor"
directive, the program will pick a binning up to 4 that brings the
binned size under 512 in its largest dimension. If there is no "Posi-
tioning.thickness" directive, the program will pick a thickness based
on the largest dimension: 250 if size under 512, 400 if size under
1024, 500 if size under 2048, and 600 otherwise. The program will run
Findsection and try to make a model for Tomopitch with 5 pairs of
sample lines. Cryosample positioning is done with the script Cryoposi-
tion(1). In this case, the "Positioning.thickness" directive is
required. Cryoposition picks an appropriate binning, but if you do
want to set this binning, it can be done with a "cryoposition.Binning-
ToApply" directive instead of the runtime "Positioning.binByFactor"
directive. By default, 25 unbinned pixels will be added on each sur-
face by Tomopitch; this can be changed with a "tomopitch.ExtraThick-
ness" directive.
When there is no positioning, angles are set from the Tiltalign out-
put. The Z height of the specimen in the tomogram will be whatever
location results from the coarse alignment; thus the specimen will be
centered in Z if features contributing to the cross-correlations are
evenly distributed in depth. If the correlations are dominated by fea-
tures near one surface, the specimen will not be centered in Z. If
there are fiducials on two surfaces, one can use a "Position.centerOn-
Gold" directive to apply the Z shift computed by Tiltalign for cen-
tering on the range of fiducials in Z. Another side-effect of using
this directive is that the estimated thickness from alignment will be
larger so that the tomogram will then contain all of the gold included
as fiducials.
The aligned stack can have specified binning and size. Optional modi-
fications of the aligned stack are performed in the standard order, or
with gold erasing first if the -erase option is entered. CTF correc-
tion can be done with a single nominal defocus value. Alternatively,
Ctfplotter can be used to find the defocus automatically if the
"autofitRangeAndStep" directive is present. When Ctfphaseflip is
run, it will use a "setname.defocus" file if it is present; otherwise
it will use a "setname_simple.defocus" file created with the nominal
defocus from the "setupset.copyarg.defocus" directive. (The "set-
name.defocus" file could derive from manual or automatic running of
Ctfplotter, or could be created by other means). Gold erasing can
be done with automatic finding of beads in a tomogram, or by transform-
ing the fiducial model (or the model put out by Tiltalign that has
gaps filled in, if available). For finding beads in the tomogram, the
"GoldErasing.thickness" directive must be supplied unless there are
beads on two surfaces. The binning is set as the unbinned bead size
divided by 5 and rounded to an integer, as in Etomo; thus, the "Gold-
Erasing.binning" directive is no longer required. Both the automatic
finding of beads in 3D, and the detection of defocus, are steps that
one might want to check before proceeding. To allow intervention at a
single stopping place, CTF correction and gold erasing steps are inter-
leaved: defocus is detected, beads are found, CTF is corrected, then
beads are erased. 2D filtering and dose weighting can be done by
adding the directive "AlignedStack.filterStack". There are various
directives to enter the Mtffilter parameters for dose weighting. To
use an .mdoc file or the information inside an HDF file from SerialEM,
add the directive "mtffilter.TypeOfDoseFile" with value 4. The entry
for the dose information file in the command file is managed appropri-
ately by Copytomocoms except in one case: using the old naming style
with descriptive extensions when the input stack is an MRC file with an
extension other than ".mrc". In this case you need the "mtffil-
ter.DoseWeightingFile" directive with either the name of the .mdoc file
or a generic entry that works for multiple data sets: the extension
before the ".mdoc" in the name, typically ".st".
The tomogram can be computed with regular weighted back-projection,
with SIRT, or with a back-projection using a SIRT-like filter. The
iterations to leave can be specified for SIRT. The regular back-pro-
jection can be computed in the same run as a SIRT or SIRT-like one by
adding the directive "Reconstruction.doBackprojAlso". The thickness
can be chosen automatically if there are gold beads on both surfaces or
if tomogram positioning was done, otherwise it must be specified with a
directive. The "Reconstruction.fallbackThickness" directive is the
most useful one because it can be used to specify a thickness to be
used when there is no thickness available from either fine alignment or
positioning. The fallback thickness will also be used if the thickness
from either is less than 40% of the fallback thickness, which would be
the case if there are gold on only one surface and no positioning was
done.
A 3D CTF-corrected tomogram can be computed by adding the directive
"ctf3dsetup.SlabThicknessInNm"; "ctf3dsetup.RunSlabsInParallel" can be
added to make slabs in parallel and "ctf3dsetup.UseUnalignedImages" can
be added to reconstruct directly from the unaligned images (the raw
stack). The result will be given the name of the regular weighted
back-projection tomogram. You can make a SIRT or SIRT-like filtered
tomogram in addition to the 3D CTF-corrected one. Steps for modifying
the aligned stack are skipped when making just the 3D CTF-corrected
tomogram, and they are applied during the reconstruction step.
Tomogram combination for a dual-axis dataset is possible with all kinds
of alignments and will proceed automatically. The program first uses
Findsection to find the Z limits, and decides whether to get the
initial registration between volumes with Solvematch or Dualvol-
match(1). The patch correlations and fitting are done with Autopatch-
fit(1); by default, it will try medium to extra-large patches and add
target residual values of 0.4,0.45 for Findwarp on the final trial.
There are "runtime.Combine" directives to control this behavior and to
set a few other parameters for tomogram combination; also, "comparam"
directives can be used to modify parameters in solvematch.com, patch-
corr.com, and matchorwarp.com. If both SIRT or SIRT-like and regular
back-projection reconstructions are available, the latter will be com-
bined unless the combine "doSIRTifBoth" directive specifies otherwise.
The decision of whether to match A to B instead of B to A is made based
on the ratio of the B to A thicknesses determined from their Z limits.
This ratio is compared to a criterion that can be set with the "matchA-
toBThickRatio" directive and whose default is 0.9. With this crite-
rion, A will be matched to B if B is thinner than A by more than ~10%.
Lowering the criterion would make it match A to B only when the thick-
ness difference is more extreme. Raising the criterion toward 1 would
make it match A to B with less thickness difference. It can be set to
a very low number (0.2) to guarantee that B is always matched to A, or
a very high number (5) to have A always matched to B.
Postprocessing can be done with Trimvol, and should be selected with
the directive "runtime.Postprocess.any.doTrimvol". For compatibility
with old behavior, Trimvol will still be run if any of the "run-
time.Trimvol" directives "findSecAddThickness", "reorient", "thick-
ness", "sizeInX", "sizeInY", "scaleFromX", "scaleFromY", or "scale-
FromZ" are present. Findsection will be used to find the section
limits if the "findSecAddThickness" directive is present. The output
file for a final reconstruction will have the usual name, setname.rec.
For a dual-axis data set, it is possible to trim one or both of the
single axis reconstructions; here the output file will be named with
"_trim.rec". If both SIRT or SIRT-like and regular back-projection
reconstructions were made, the postprocessing "doSIRTifBoth" directive
controls whether to trim one or both reconstructions; in the latter
case the file for the back-projection will be named "_BP.rec". When-
ever a SIRT reconstruction is trimmed, the result on the final itera-
tion will be used. By default, the trimmed volume will be reoriented
by rotating around X. The entire volume will be used unless the "find-
SecAddThickness", "thickness", "sizeInX", or "sizeInY" directive is
present. If one of the "scaleFrom" directives or the "scaleToMeanSD"
directive is present, the volume will be scaled to bytes. If "scale-
FromX" or "scaleFromY" is not present, the area used for scaling in X
or Y will be the Trimvol default of 80% of the range; if "scaleFromZ"
is not present, the central one-third of slices will be used. All of
these size and scaling directives may be specified either as a number
of pixels, or as a fraction between 0.02 and 1.
Nonlinear anisotropic diffusion (NAD) with Nad_eed_3d can be run if
both "runtime.NAD" directives are present for specifying the number of
iterations and the K value. Trimvol must be run at least to create
the input file for the operation.
Reduction and Filtering The final volume can be reduced and/or filtered
by Reducefiltvol, where the reduction is done with antialiased fil-
tering and can be done by a non-integer amount. The directive "run-
time.Postprocess.any.doReduceFilt" must given, along with at least one
of the directives for "ReductionFactor", "LowPassRadiusSigma", or
"DeconvolutionStrength". Trimvol must be run at least to create the
input file for the operation.
Data set cleanup can be done with Tomocleanup by adding the "run-
time.Cleanup.doCleanup" directive. There are several "run-
time.Cleanup.keep..." directives to retain particular intermediate data
set files. The default is for Batchruntomo to include the Tomo-
cleanup(1) option -sirt to retain the output from running a SIRT or
SIRT-like reconstruction as well as a back-projection, but this can be
overridden with a directive.
Stopping and Restarting
The -start and -end options allow datasets to be started and stopped at
chosen steps in the sequence. The most useful step to stop at would be
10, to check CTF plotting and/or gold detection, then restart at 11.
To check fine alignment before going on, stop and restart at 6.
If you are setting up a situation where parameters are being changed
before restarting in an existing dataset, you should experiment to make
sure the changes have the desired effect and are not overridden. Here
are some general guidelines on that point:
1) Changes in "comparam" directives will generally have no effect once
a command file is created, because they are processed generically dur-
ing command file creation. In most cases, creation occurs during tomo-
gram setup, but some files are created with Makecomfile just when
needed, so it would be possible to change "comparam" directives for a
file still to be created. Some exceptions to this are "align.tiltal-
ign.SurfacesToAnalyze" and "tilt.tilt.THICKNESS", for which the current
directive value will be used instead of the value in the command file.
2) Changes in "setupset" directives will also generally have no effect
because they are interpreted during setup; the use of the defocus value
mentioned above is an exception.
3) Changes in "runtime" directives will generally have the desired
effect.
4) Changes in parameters in the command files will generally have the
desired effect, unless that parameter is managed by Batchruntomo on the
basis of "runtime" directives and other information. The biggest exam-
ple of this is the treatment of "align.com" when Tiltalign is rerun;
the -use option is provided specifically to avoid rerunning Tiltal-
ign(1).
Resource Usage
The CPU list provided with the -cpus option is passed directly to Pro-
cesschunks(1) for running operations that are divided into multiple
chunks. However, other operations that run from a single command file
will generally be run on the local machine, unless the -single option
is used to direct them to the first machine in the CPU list. The
exceptions are two time-consuming steps in dual-axis combination,
Matchvol and Autopatchfit, which benefit from using multiple
threads and are sent to the machine with the highest number of CPUs.
When running single command files, the program sets a limit on the num-
ber of threads equal to the number of CPUs designated in the CPU list
for the machine being used, if it is known (-limit can be entered if
this is not otherwise known for the local machine).
Batchruntomo can be run in parallel on multiple data sets, and in this
case it can also be run on a cluster queue. See the section OPTIONS
FOR PROCESSING DATA SETS IN PARALLEL for the options and environment
variables involved; see the Splitbatch man page for descriptions of
resource usage and how to use a cluster.
Running External Commands
It is possible to specify an arbitrary external command to run either
instead of a step or after one has run, with "runtime.ReplaceS-
tep.any.#" or "runtime.RunAfterStep.any.#", respectively, where "#" is
the step number given below for the -end option. So far this is possi-
ble only for CTF determination (step 9), aligned stack filtering (step
13), and post-processing (step 20), but more steps can be added easily
if needed. The directive value must consist of a single line to run
one command-line operation without piping or redirection. The program
will place this command after a "$" in a command file named "replaceS-
tep.#.com" or "runAfterStep.#.com", and a log will be created when it
is run. The command can contain %{setname}, which will be substituted
with the root name of the data set plus the axis letter, if any. A
replacement command will be run even if there are no directives to
activate the normal running of that step. However, a command to be run
after a step will be run only if the normal step is run.
OPTIONS
Batchruntomo uses the PIP package for input (see the manual page for
pip). Options can be specified either as command line arguments
(with the -) or one per line in a command file (without the -).
Options can be abbreviated to unique letters; the currently valid
abbreviations for short names are shown in parentheses.
FILE, DIRECTORY, AND DATA SET OPTIONS
These options give information about files, directories, and the data
set name
-directive (-di) OR -DirectiveFile File name
Input file with directives for automating one or more data sets.
The filename must end in .adoc. All non-option arguments will
be taken as such input files. (Successive entries accumulate)
-root (-ro) OR -RootName File name
A data set name can be provided with this option to override the
name contained in the directive file, thus allowing directive
files to be reused without editing. If this option is used, the
number of directive files must be either one or the same as the
number of root names. The current location of the tilt series
must be indicated with the -current option if only one directive
file is entered with multiple root names. (Successive entries
accumulate)
-current (-cu) OR -CurrentLocation File name
Directory where tilt series is currently located, or where it
was originally located if it has already been delivered. This
entry overrides the data set directory contained in the direc-
tive file. It can be used in two different ways. If the
-deliver or -make option is entered, this option specifies the
directory where a tilt series will be moved from, and it must be
entered either once (if all data sets are in the same place) or
once for each data set. If neither of those options are entered,
then this option specifies the directory where the data set will
be processed and must be entered once for each data set or not
at all. If the program is being rerun with the -deliver option
and the data set has already been delivered on a previous run,
the entry here can be either the original location of the stack
or its current location; the program will recognize that its
current location is under the delivery directory. However, if
the -make option was used and the data set was already deliv-
ered, this entry must be the original location of the stack
rather than its new location; otherwise the program will move it
into a subdirectory of its data set directory. (Successive
entries accumulate)
-deliver (-de) OR -DeliverToDirectory File name
Make a subdirectory of the specified directory for each data
set, named with the root name of the data set, and move the tilt
series into the subdirectory. This option can be entered either
once, or once for each data set to deliver to more than one
location. Several other files with the same root name as the
tilt series will be moved from the current location of the data
set: an associated metadata file with extension ".mdoc", a log
of acquisition with extension ".log", and a file of tilt angles
with extension ".rawtlt". A raw boundary model for patch track-
ing or autoseeding will also be delivered. The -current option
must be entered either once, or once for each data set. (Suc-
cessive entries accumulate)
-make (-mak) OR -MakeSubDirectory
Make a subdirectory for each data set at its current location,
named with the root name of the data set, and move the tilt
series into the subdirectory. Other files will be moved there
as well, just as for the -deliver option. With this option, you
can sort data sets into multiple top-level directories, and the
program will take care of putting each one into its own subdi-
rectory. This option cannot be entered with the -deliver
option. The -current option must be entered either once, or
once for each data set, and must specify the original location
of the stack if the program is being rerun and the stack has
already been delivered.
-check (-ch) OR -CheckFile File name
File to check for quit and finish signals. The default is
batchruntomo.###.input in the directory where this program is
started, where ### is the process ID. This file should not have
the same name as the file used by Batchruntomo to control Pro-
cesschunks when it runs jobs, which is "processchunks.cmds" in
the data set directory. If a Q is placed in this file, it will
terminate any running jobs and stop all processing. If an F is
placed in the file, the program will stop after finishing the
current data set. Termination will usually be quicker if a Q is
placed into "processchunks.cmds" as well, with no delay between
that action and writing Q to this check file. Thus, it should
be done by a program or by entering a single command line with
two commands on it.
-frompath (-fr) OR -TranslatePathsFrom Text string
Prefix from which to translate directive, location, and delivery
paths. When this program is being run in parallel, the path for
accessing the directories on the current machine may be at a
different mount point than on the machine where the runs were
set up. When there is a RemoteDirectory entry, Splitbatch
will add this option and the next one to indicate how to trans-
late the paths for directive files, current locations, and
delivery locations to work on any machine. However, it will
retain any existing entries and avoid duplicating any. These
entries should be equivalent to a mountrule defined in cpu.adoc
(see cpuadoc). Batchruntomo will use these translated paths
in all runs (hence they must work on all machines, even if they
are accessed through links on some machines). However, it will
translate paths in messages to the log back to having the origi-
nal prefixes so that Etomo can track file changes. If multiple
translations are entered (equivalent to having multiple global
mountrules in cpu.adoc), they must all work on all machines,
such as by all translating to the same mount point. (Successive
entries accumulate)
-topath (-t) OR -TranslatePathsTo Text string
Prefix to which directive, location, and delivery paths will be
translated. The number of entries must be the same for this
option as for -frompath (Successive entries accumulate)
-remote (-re) OR -RemoteDirectory File name
Path on remote machines to directory from which this program is
started.
BASIC PROCESSING RESOURCE OPTIONS
These options give information about the processing resources and
their limits in the simplest case of not running data sets in parallel
-cpus (-cp) OR -CPUMachineList Text string
Machines to use in parallel processing, or number of local
cores. Each machine name can be followed by a ":" (colon), fol-
lowed by the number of CPUs to use in that machine; e.g.,
druid:4,tubule:4. Prior to IMOD 4.8.25, a "#" sign was used
instead of ":". Using the "#" sign will now result in a warning
when entering options on the command line and an error when
entering options through standard input, because in the latter
case it cannot be distinguished from the start of a comment. If
the environment variable MULTI_PROC_CPU_LIST is set, it over-
rides this entry to the program.
-single (-si) OR -SingleOnFirstCPU
Run single command files on the first machine in the CPU list,
instead of on the local machine. The matchvol and autopatchfit
steps in combine are not affected by this entry; they are always
run on the machine with the most CPUs.
-gpus (-gp) OR -GPUMachineList Text string
Machines to use for parallel processing with a GPU, or 1 for
local GPU. As when running processchunks with the -G option,
multiple or specific GPUs can be specified by colon-separated
numbers after a machine name, e.g., druid:2,tubule:1:2. If the
environment variable MULTI_PROC_GPU_POOL is set, it overrides
this entry to the program.
-nice (-n) OR -NiceValue Integer
Priority level or niceness for running jobs. Note that this
applies to all computations, not just those run with parallel
processing. The default is 15.
-limit (-l) OR -LimitLocalThreads Integer
Limit on the number of threads when running a single command
file on the local machine. By default, this limit is set to the
number of CPUs on the local machine indicated by the entry to
-cpus. If that entry consists only of remote machines, then the
program has no information about this limit, and single command
files containing programs parallelized with OpenMP will use all
available cores. This option allows one to enter a limit in
this case, as well as to set a different limit than the number
of CPUs in the CPU list.
OPTIONS FOR PROCESSING DATA SETS IN PARALLEL
These options control the processing of multiple data sets in paral-
lel, including on a cluster
-parallel (-pa) OR -ParallelBatchRootName Text string
Root name that will be sent to Gpuallocator when this program
is being run in parallel with other instances and needs to use
one or more GPUs. In this case, the entry for -gpus needs to
have the full list of GPUs available for all of the instances.
This entry needs to be included to indicate batch is being run
in parallel even when there are no GPUs.
-maxGPUs (-max) OR -MaxGPUsInParallelBatch Integer
Maximum number of GPUs to use when running this program in par-
allel. The default is 4. See Splitbatch and Gpualloca-
tor(1).
-queue (-q) OR -QueueCommand Text string
Command for running processes on a cluster queue when running in
parallel, typically a Queuechunk command. This entry would
be the same as the "command" entry for a queue in a cpu.adoc
(see cpuadoc and "IMOD/autodoc/cpu.adoc" for examples). If
the environment variable MULTI_PROC_QUEUE_COMMAND is set, it
overrides this entry to the program. With this entry, the pro-
gram runs all operations that can be parallelized in chunks on
the queue. The treatment of single command files for other
operations depends on whether MULTI_PROC_QUEUE_COMMAND was set:
if it is, then Batchruntomo assumes it is itself running on a
queue and runs each command file normally; otherwise it runs
each command file on the queue. With this entry, -cpus and
-gpus entries are not allowed.
-jobs (-jo) OR -MaxJobsOnQueue Integer
Maximum number of jobs to submit to the cluster queue, which
influences how many chunks parallel operations will be divided
into. If the environment variable MULTI_PROC_MAX_QUEUE_JOBS is
set, it overrides this entry to the program.
-jcores (-jc) OR -CoresPerClusterJob Integer
Number of cores available to each job when running on a cluster;
these cores will be used directly instead of submitting command
files to the cluster queue. Thus, this entry and -queue cannot
be entered together, nor can -cpus and -gpus be entered. This
entry also sets the thread limit for processes whose command
files are not split into chunks. If the environment variable
MULTI_PROC_JOB_CORES is set, it overrides this entry to the pro-
gram.
-jgpus (-jg) OR -GPUsPerClusterJob Integer
Number of GPUs available to each job when running on a cluster;
these GPUs will be used directly instead of submitting command
files to the cluster queue. This option cannot be entered
unless -jcores is. If the environment variable
MULTI_PROC_JOB_GPUS is set, it overrides this entry to the pro-
gram.
-gqueue (-gq) OR -GPUQueueCommand Text string
Command for running GPU-using processes on a secondary cluster
queue, typically another Queuechunk command. For such a
process, either a single command file or separate chunks will be
submitted to this queue, depending on how many jobs are allowed
for this queue (the -gjobs entry). Ideally, this queue should
provide access to just one GPU, because there is no mechanism
for the submitted jobs to make use of multiple GPUs. If the
environment variable MULTI_PROC_GPU_QUEUE is set, it overrides
this entry to the program. The option can entered only if
-queue or -jcores is entered.
-gjobs (-gj) OR -MaxGPUJobsOnQueue Integer
Maximum number of jobs to submit to the secondary cluster queue
specified with -gqueue; this corresponds to the "number" entry
in a cpu.adoc section for that queue. The maximum jobs will
also be limited by the entry for -maxGPUs. If the environment
variable MULTI_PROC_MAX_GPU_JOBS is set, it overrides this entry
to the program.
PROCESSING FLOW CONTROL
These options allow doing a subset of processing operations
-one (-o) OR -ProcessOneAxis Integer
Enter 1 to do setup and process A axis, or 2 to skip setup and
process only B axis. This entry applies to all dual-axis data
sets being run.
-end (-en) OR -EndingStep Floating point
Step to end processing with in each set and axis. Steps are
numbered as follows:
0: Setup
1: Preprocessing
2: Cross-correlation alignment
3: Prealigned stack
4: Patch tracking, autoseeding, or RAPTOR
5: Bead tracking
6: Alignment
7: Positioning
8: Aligned stack generation
9: CTF plotting
10: 3D gold detection
11: CTF correction
12: Gold erasing after transforming fiducial model or
projecting 3D model
13: 2D filtering
14: Reconstruction
14.5: Postprocessing on a/b axis reconstruction
15: Combine setup
16: Solvematch
17: Initial matchvol
18: Autopatchfit
19: Volcombine
20: Postprocessing with Trimvol
21: NAD (Nonlinear anistropic diffusion)
21.5: Reducefiltvol
22: Cleanup
These numbers can be relied on not to change again since this
is now a floating point entry; fractional values will be used if
necessary to insert more steps without renumbering.
-start (-sta) OR -StartingStep Floating point
Step to start processing with. Steps are numbered as described
for -end. Each set will start at this step unless the -first
option is entered, in which case only the first set will start
with this step and others will start from the beginning. In the
latter case, add 100 to start with this step in the second axis
of a dual-axis data set.
-first (-fi) OR -StartForFirstSetOnly
Skip to starting step only for the first set; the following sets
will be run from the beginning.
-use OR -UseExistingAlignment
This option can be used to rerun Tiltalign instead of using the
existing fine alignment when the -start option is used with a
value over 6 and the program will be running any steps that
involve the aligned stack or reconstruction. With an entry of 0
in this situation, the program reruns Tiltalign iteratively
in the usual fashion before proceeding (this can only be done
with input on sequential lines, not from command line). The
default is not to do this, to keep the program from overwriting
an alignment based on manually adjusted parameters. Rerunning
alignment in this situation was a necessity in early versions of
the program but should no longer be needed; this option is being
kept just for backwards compatibility.
-exit (-exi) OR -ExitOnError
Exit on error instead of going on to next axis or data set
EMAIL, VALIDATION, RENAMING, AND TEST OPTIONS
Aside from the email options, these are miscellaneous options for
testing or for use with Etomo.
-email (-em) OR -EmailAddress Text string
Address for sending email messages either when a set is aborted
or when the run completes.
-SMTP (-SM) OR -SMTPserver Text string
An SMTP server for sending email messages. The default is
"localhost", but if the local host cannot send email, a server
can be entered with this option.
-validation (-v) OR -ValidationType Integer
By default, the program will check all directives in the direc-
tive and template files against the master list of directives in
IMOD_DIR/com/directives.csv. Enter 1 to run the program just to
check a directive file and exit, 2 to check a template file and
exit, or -1 to skip this step. When checking a directive file,
the directive file is first processed to find certain required
values, and an error in that step will prevent the checking of
directives. Template files referenced by the directive file
will be checked as well. With an entry of 2, the file will be
checked right after reading. A batch directive file is required
to contain only directives with a Y in the "Batch" column of the
master directives file, and a template file must contain only
directives with a Y in the "Tmplt" column.
-style (-sty) OR -NamingStyle Integer
0 for output image files to have descriptive extensions like
".preali", 1 for extension ".mrc", or 2 for extension ".hdf".
In the latter two cases the usual decriptive text is put before
the extension and generated image files will have the corre-
sponding type.
-pcm (-pc) OR -MakeComExtensionPcm Integer
0 or 1 to name output command files with extension ".com" or
".pcm". The latter is not yet supported by Etomo.
-ext OR -StackExtension Text string
Extension of an existing raw stack, used when just renaming
stacks(s), omitting the period. With this entry, the program
will perform the same renaming operations on one or two raw
stacks in the current directory as when doing a reconstruction.
The -root option must be entered once with the root name of the
file, and the -style option must also be entered.
-axis (-a) OR -AxisOfExtension Integer
When just renaming stacks, enter 0 for a single-axis dataset, or
1 or 2 for whether the extension provided with -ext applies to
the a or b stack of a dual-axis set. With a non-zero naming
style, the stack that this extension applies to will keep its
name, and the other axis of a dual axis set will have its exten-
sion changed to match if necessary.
-etomo (-et) OR -EtomoDebug Integer
Run Etomo with the given debug level
-bypass (-b) OR -BypassEtomo
Run Copytomocoms directly instead of Etomo for the setup step.
The program will add options to extract tilt angles if direc-
tives for using a raw tilt file are not present, and to specify
axis rotation angles if those directives are not present.
Setupset directives in the batch file only are passed as options
to Copytomocoms, but it may still need other directives there.
Excluded views are not removed since Etomo does that. An "edf"
file is made with just the items that would be added by
Batchruntomo.
-PID Print process ID
-help (-h) OR -usage
Print help output
-StandardInput
Read parameter entries from standard input
FILES
Batch and template files must have the extension ".adoc". The tilt
series file must have an extension ".st" or ".mrc". When Etomo is run
to set up the data set, it copies the batch directive file to the
dataset directory with the name "batchDirective.adoc". If there are
any template files, they are copied to the dataset with the the names
"scopeTemplate.adoc", "systemTemplate.adoc", and "userTemplate.adoc".
However, if any feature is used that requires modification of the batch
directive file, namely use of the -root or -current option or template
files listed without paths, Batchruntomo writes the modified file to
the dataset directory as "batchDirective.adoc" and runs Etomo with this
file.
AUTHOR
David Mastronarde
BUGS
Email bug reports to mast at colorado dot edu
SEE ALSO
etomo
HISTORY
IMOD 5.2.0 batchruntomo(1)