Difference between revisions of "Walkthrough on command line based tilt series alignment"

From Dynamo
Jump to navigation Jump to search
Line 50: Line 50:
 
== Grep coordinates in the binned tomogram==
 
== Grep coordinates in the binned tomogram==
  
<tt>dtmslice 'workflows/new.AWF/reconstruction/binnedReconstructionWBP.mrc';</tt>
+
Open the binned reconstruction with <tt>dtmslice</tt>
 +
<tt>dtmslice 'workflows/hivCommandLine.AWF/reconstruction/binnedReconstructionWBP.mrc';</tt>
 +
 
 +
 
 +
 
 +
Now we can save the table as a file:
 +
<tt>write(temp_table,'binnedGoldbeads.tbl');</tt>
 +
 
 +
=== Cropping the gold bead particles ===
 +
 
 +
<code>tomo = 'workflows/workshop.AWF/reconstruction/binnedReconstructionWBP.mrc';
 +
tbl  = 'binnedGoldbeads.tbl';
 +
targetBinnedParticles = 'binnedGoldBeads.Data';
 +
sidelength = 32;
 +
o = dtcrop(tomo,tbl,target,sidelength);</code>
 +
 
 +
And then we visualise a projection along <tt>z</tt> of each cropped particle
 +
<tt>dslices(targetBinnedParticles,'proj','c');shg;</tt>
  
 
== Reconstruct particles on the fly ==
 
== Reconstruct particles on the fly ==

Revision as of 14:17, 27 August 2019

This is the command line based version of the GUI based alignment walkthrough

Create the workflow

name = 'hivCommandLine';
folder = 'workflows';
u = dtsa(name,'--nogui','-path',folder,'fp',1); 

Here, we instruct Dynamo to skip opening the GUI. We also create the workflow in a different folder.

Entering the data

The u object contains several areas to interact with the workflow. They can be found by autocompletion using the tab key. Here, we will proceed step by step; remember that you can write all the command lines in a single .m script.

Basic data

u.enter.tiltSeries(fileWorkshop);

u.enter.tiltAngles(-57:3:60);

If you want to reject some of the hight tilts (or any other view that appears to have been damages,) u.enter.discardedTiltIndices([1,40]);

Acquisition settings

u.enter.settingAcquisition.apix(2.7);

Computation settings

u.enter.settingComputing.parallelCPUUse(1);

Detection settings

These here are the actual design decisions when running an alignment workflow:

u.enter.settingDetection.beadRadius(16); u.enter.settingDetection.maskRadius(28);

u.enter.templateSidelength(64);

The bin level is mainly used to accelerate the detection procedure. Needs to be chosen in a way that a binned gold bead still can be recognisable as such, with a radius of at least 4 pixels.

u.enter.settingDetection.detectionBinningFactor(1);

Changing generic parameters

Yo can find handles to the parameters of the individuals steps through auto ompletion on the area, then step items.

u.area.indexing.step.tiltGapFiller.parameterSet.residualsThreshold(8);


Running the workflow

u.run.all('noctf',1);

On the fly reconstruction of particles

Grep coordinates in the binned tomogram

Open the binned reconstruction with dtmslice dtmslice 'workflows/hivCommandLine.AWF/reconstruction/binnedReconstructionWBP.mrc';


Now we can save the table as a file: write(temp_table,'binnedGoldbeads.tbl');

Cropping the gold bead particles

tomo = 'workflows/workshop.AWF/reconstruction/binnedReconstructionWBP.mrc'; tbl = 'binnedGoldbeads.tbl'; targetBinnedParticles = 'binnedGoldBeads.Data'; sidelength = 32; o = dtcrop(tomo,tbl,target,sidelength);

And then we visualise a projection along z of each cropped particle

dslices(targetBinnedParticles,'proj','c');shg;

Reconstruct particles on the fly

The command that reconstructs full sized particles from an aligned stack is dynama_table_trec. This is an independent function, not part of the workflow, implying that we will need to perform some format conversion.

tbl = dread('binnedGoldbeads.tbl');

We scale the table

alignmentBinLevel = 2;

tblFull = dynamo_table_rescale(tbl,'factor',2^alignmentBinLevel);


source  = 'workflows/new.AWF/align/alignedFullStack.mrc';


We create a data folder to contain the particles reconstructed on the fly.

targetDirectory = 'tempCrop.Data';

if exist(targetDirectory,'dir')==7

   o.e('Deleting directory');
  rmdir(targetDirectory,'s'); 

end

Angles are contained in the

angles =  'workflows/new.AWF/align/reconstructionTiltAngles.tlt';

sidelength = 160;

% % shift tomogram center % % if the binned visualization tomogram would contain a shift % we would have to scale it visualizationTomogram = 'workflows/ hivCommandLine.AWF/reconstruction/binnedReconstructionWBP.mrc'; sizeTomogram = dynamo_read_size(visualizationTomogram); sizeTomogramFull = sizeTomogram*2^alignmentBinLevel;


% % shift tomogram center % % if the binned visualization tomogram would contain a shift % we would have to scale it shiftTomogramCenter = [0,0,0];

% % command executions % dynamo_table_rec(tblFull,source,angles,targetDirectory,sidelength,....

   'applyRampFilter',1,....
   'sizeTomogram',sizeTomogramFull,....
   'shiftTomogramCenter',shiftTomogramCenter);

figure;dslices(targetDirectory,'proj','c');shg; disp('done');