Skip to content
Kyle M. Douglass edited this page Jun 6, 2018 · 16 revisions

Single Particle Reconstruction Software

Spartan provides convenience wrappers around some popular single particle reconstruction software packages. These allow you to easily leverage the capabilities of external packages from within Spartan's MATLAB workspace.

Scipion

This section assumes that you have setup Scipion to work with Spartan as described in the installation section.

Basic commands

MATLAB commands:

% Launches the Scipion manager from your native installation.
em.ScipionWorkflow.launchNativeManager();

% Launches the Scipion manager from your Docker installation.
em.ScipionWorkflow.launchDockerManager();

% Retrieves the path to a file containing reconstructed volume data
filename = em.ScipionWorkflow.getVolume(projectName, proteinType, id)

Single particle analyses

The purpose of a single particle analysis is to reconstruct a single protein density.

Launch a Scipion single particle analysis workflow natively

%% Create and initialize the Scipion wrapper
%
dataDir = fullfile('/', 'home', 'laboleb', 'src', 'sparta', 'test_data');
montageRefPath = fullfile(dataDir, 'Montage_Cep152.tif');
projectName = 'Test_Project';
pairedAnalysis = false;
refLabel = 'Cep152';

swf = em.ScipionWorkflow('native', projectName, pairedAnalysis, ...
                         montageRefPath, refLabel);
                  
%% Launch Scipion with the two-protein workflow
%
swf.launchWorkflow();

Paired particle analyses

The purpose of a paired particle analysis is to reconstruct two different protein densities, one known as a reference and the other a protein-of-interest (POI). The inputs for this analysis include:

  • A project name
  • A montage of reference protein images
  • A montage of POI images
  • A label for the reference protein (e.g. Cep152)
  • A label for the POI (e.g. Cep164)

Launch a Scipion paired analysis workflow natively

%% Create and initialize the Scipion wrapper
%
dataDir = fullfile('/', 'home', 'laboleb', 'src', 'sparta', 'test_data');
montageRefPath = fullfile(dataDir, 'Montage_Cep152.tif');
montagePoiPath = fullfile(dataDir, 'Montage_Cep164.tif');
projectName = 'Test_Project';
pairedAnalysis = true;
refLabel = 'Cep152';
poiLabel = 'Cep164';

swf = em.ScipionWorkflow('native', projectName, pairedAnalysis, ...
                         montageRefPath, refLabel, montagePoiPath, poiLabel);
                  
%% Launch Scipion with the two-protein workflow
%
swf.launchWorkflow();

Launch a Scipion analysis workflow via Docker

If you choose to use a Docker image for Scipion, then you will only need Docker installed. Once you run swf.launchWorkflow(), the Scipion image will download if you do not already have it. (Note: it's approximately 8 GB, so it may take a while to start the first time you run it.).

%% Create and initialize the Scipion wrapper
%
dataDir = fullfile('/', 'home', 'laboleb', 'src', 'sparta', 'test_data');
montageRefPath = fullfile(dataDir, 'Montage_Cep152.tif');
montagePoiPath = fullfile(dataDir, 'Montage_Cep164.tif');
projectName = 'Test_Project';
pairedAnalysis = true;
refLabel = 'Cep152';
poiLabel = 'Cep164';

swf = em.ScipionWorkflow('docker', projectName, pairedAnalysis, ...
                         montageRefPath, refLabel, montagePoiPath, poiLabel);
                  
%% Launch Scipion with the two-protein workflow
%
swf.launchWorkflow();

Retrieve paths to volume data files

Files containing volume data are sometimes difficult to find in Scipion's project folders, so the getVolume() convenience method was created. To find the volume data from a project named 2017-12-01_Cep152_Cep164 and that was generated during a Scipion paired protein analysis protocol, type:

filenameRef = em.ScipionWorkflow.getVolumeNative('2017-12-01_Cep152_Cep164', 'ref', 557);
filenamePoi = em.ScipionWorkflow.getVolumeNative('2017-12-01_Cep152_Cep164', 'poi', 713);

Here, the numbers 557 and 713 refer to the ID numbers of the Scipion protocols that generated the data. In general, these will be different for every project. ref and poi refer to the reference protein and the protein of interest, respectively.

Chimera

To use Chimera, you need to have installed and configured it as described in the installation section.

Basic commands

MATLAB commands:

% Fits the volume data in map1 into the data in map2.
% map1 and map2 are strings containing the paths to the volume files.
em.ChimeraWorkflow.fitInMap(map1, map2);

% Translates the volume data in mapPath relative to the volume data in
% mapPathFixed by amounts x, y, and z.
em.ChimeraWorkflow.transformCoordinates(mapPath, mapPathFixed, x, y, z);

Clone this wiki locally