gpureproj

Overview

gpureproj is a command-line application that takes a 3D reconstruction and a model tilt series and generates another tilt series which is a reprojection of the 3D reconstruction and has the same tilt angles as the model tilt series. The x and y dimensions of the generated tilt series are the same as the x and y dimensions of the reconstruction. gpureproj is basically the same as reproj but uses one or more servers with graphics cards to perform the projection calculations and expects the input reconstruction to be stored in xyz order rather than the xzy order expected by reproj. The command-line syntax for gpureproj is (optional parts are in brackets)

    gpureproj recon_name model_series_name series_name [-res=i] [-multires] [-server=address [-server=address ...]]

The three arguments are

recon_name
Is the name of the MRC file containing the 3D reconstruction. The reconstruction is assumed to be in orientation (xyz) generated by Priism's gpurecon module.
model_series_name
Is the name of the MRC file containing the model tilt series. gpureproj only uses the header of this file.
series_name
Is the name of the MRC file that gpureproj will generate. gpureproj will not work correctly if series_name refers to the same file as model_series_name.

The three options are

-res=i
Causes gpureproj to read from the ith resolution of the reconstruction. i must be a non-negative integer less than the number of resolutions in the reconstruction. If you do not specify the -res option, reproj will use the highest resolution (i.e. act as if you gave it the option -res=0).
-multires
Causes gpureproj to add lower resolutions to the generated tilt series if the x and y dimensions are sufficiently large. If you do not specify this option, gpureproj will generate a tilt series with a single resolution.
-server=address
Specifies the name of a server to use. You can use multiple -server options to have the calculations performed on more than one server. If you do not specify any -server options, gpureproj will look at the environment variable RGEMT_SERVER_LIST. The value of the variable should be a comma-separated list of the addresses to use. An address is usually just the host name (for instance, msg.ucsf.edu) or IP number (for instance, 169.230.30.46) of the server to contact. If the server does not use the default port number, 20248, you should add a colon followed by the port number to use at the end of the address (as an example, msg.usf.edu:20000, would contact port 20000 on msg.ucsf.edu). The address may also contain a specification of the protocol to use immediately before the host name or IP number. Currently two protocols are understood:
rgemt1://
This protocol routes all communication between the client and server over a single TCP connection. This is the default protocol when the address does not include a protocol specification.
rgemt0://
This protocol routes some commands over a TCP connection between the client and server, but all other parameters and data are communicated via files that reside on a filesystem visible to both the client and the server. On the client side, you can control the directory where those files are stored by setting the RGEMT0_DIR environment variable before running gpureproj; that directory will have to agree with the directory where the server will look for the files.

Related Priism Topics

Priism | gpurecon | iterative alignment + reconstruction