
Hi Jeff, The Chimera handling of the MRC file origin position is done in Python code chimera/share/VolumeData/mrc/mrc_format.py In summary, if it is an MRC2000 file (ie has xorigin, yorigin, and zorigin header values) then (xorigin, yorigin, zorigin) is used as the xyz coordinates of the volume index (0,0,0) unless xorigin, yorigin and zorigin are all zero in which case the xyz position of the map index (0,0,0) is calculated using integer (ncstart, nrstart, nsstart) header values times the grid spacing (defined by (xlen/mx,ylen/my,zlen/mz)). It is never the case that both (ncstart,nrstart,nsstart) and (xorigin,yorigin,zorigin) are used in positioning the map. Tom Jeff wrote:
I often use another tool to cut out subregions, that I then load into chimera - until you told me recently, I did not know I could pre-load subsampled maps, or be able to keep a 'subsampled overview' present while selecting various regions
when using other tools to cut out these smaller areas (either IMOD or Priism), some tools record displacements, and some don't. the Priism 'CopyRegion' tool appears to do this by adjusting the 'start pixel' field in the MRC header. IMOD doesn't do this. the 'copyRegion' tool also doesn't appear to transfer well to chimera, at least in my test case the original and subvolume do not register properly. (I don't have any expectation that it would work properly, but I would adapt if I knew what chimera expects.)
I am also not sure what entries chimera uses to keep track of displacements when it cuts out volumes (I could do that experiment right now), whether it uses 'start pixel' or 'origin', if 'origin' is recorded in Angstroms or pixels, etc. Also, I don't know what chimera considers the origin of a density map - if 'start pixel' is 10,10,10, the map is 20x20x20 pixels in dim, and the origin is (0,0,0), is the origin at the center of the map, or at the 0,0,0 pixel coordinate of the map? I have been assuming that 'origin' has to refer to the map's origin location in space, but this requires defining where the origin is in the volume map (I think). if there is a 'start pixel' entry, does this effectively shift the origin? As an example, if the pixel res is 10 A, will the map example above now display starting at (10 A, 10 A, 10 A)? Or, is one (or both) of these entries ignored? Finally, if there is already an entry in one of these fields, does chimera respect that and just increment, or does it clobber it with the relative displacement calculated when excising a subvolume? (this slew of questions is probably covered by a single answer, but I thought it would be good to elaborate)
If I knew, I could more appropriately jump between programs. As I am writing this, I just got an email from David at Boulder telling me that IMOD uses the origin entries in the header (but don't know yet what it considers to be the origin, 'far left' corner or center or something else).
-Jeff