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.0.2 batchruntomo(1)