Workshop exercises

From Dynamo
Jump to navigation Jump to search

General tools

These are basic skills for data manipulation in Dynamo


Create an average given a table and a data folder, programmatically.

Table manipulation

How do you extract a subtable from a given table?

  • Based on the particle tag (i.e., extract a subtable indexing only particles in a range of tags).
  • Based on the original tomogram (i.e., extract a subtable indexing particles from a single tomogram).
  • Based on the cross correlation (i.e., extract a subtable with the "best" particles).

Particle extraction

Fast annotations on a tomogram

Sometimes, for small tasks, accessing the tomograms through the Catalogue can be tedious. It is thus convenient to become familiar with alternatives.

Inspect a tomogram, mark several 3D positions and get them as a text file with three columns (x,y,z).

Cropping a data folder with a different particle size

You have a data folder containing particles and a crop.tbl (and the usual auxiliary files produced when extracting particles through the catalogue). The table indicates that several tomograms where used during the extraction. You want to reproduce the data folder with bigger particles, but don't remember how you used the Catalogue to generate the data folder (maybe some weeks ago).

Task: Recrop the particles with a different particle sidelength using dtcrop and without using the catalogue.

Importing annotations for a single tomogram

You have a tomogram and a text file with 3D coordinates. It's a simple situation, so you don't want to use the Catalogue to crop particles from the tomogram in the positions indicated by the file.

  • How can you create a data folder and a table?
  • What if the coordinates in your file correspond to a binned tomogram?
  • What if you have a second file indicating an euler triplet of orientations for each particle?

Importing annotations for several catalogued tomograms

Imagine the same situation as in the previous exercise, but for multiple tomograms: You have several tomograms and for each one you have a text file with particle coordinates. This time you want to keep a clean track of everything you do, so you plan to use the Catalogue. To this end, you have already put your volumes inside a catalogue.

Task: How do you convert a text file into a Dynamo model? How do you assign programmatically to each volume in a catalogue a different model?

Subboxing from tomograms

Subboxing tools are used to crop subtomograms from subtomograms. We call these "subtomograms inside subtomogras" subboxes. They are used to extract subunits from a previously extracted bigger macromolecule. Sometimes, it may happen that these subboxes cannot be cropped from the subtomogram, if the subtomogram has been cropped too tight (a too small sidelength was used).

imagine that you have a data folder, containing a crop.tbl file and the two auxiliary doc files keeping track of the original model and tomogram of each subtomogram.

Task: Use subboxing tools to produce a subboxing table that can crop the directly the subboxes from the original tomograms.

Model manipulation

Command line manipulation of sets of models

This is a very common situation: you want to apply a set of predefined actions onto a set of predefined models. We know that we can do it with the approach of saving a Model workflow and reuse it later on a set of models defined inside the Catalogue manager dcm. This technique may proof inflexible in some situations, as its foresee model workflows as predefined sets of actions onto a model.

Task: Reproduce with the command line the technique of addressing sets of models that already contain points to [operate] on them the same geometric computation.


Ribosomes from noise

You have access to a supercomputer (GPU). Generate a data set of particles containing pure noise (around 1K should be ok) and align them against a ribosome template.... can you reproduce the famouse "Einstein from noise" example out of these pure data particles?

A (low resolution) ribosome template is available as file ribosome32.em

Suggested tools: rand, dwrite.