[chimera-dev] Save PDB and Map before fitting

Pablo Solar Rodríguez pablosolar.r at gmail.com
Sun May 7 10:28:02 PDT 2017


Hi Eric,

Or even better, would it be possible to update the old pdb xform and
coordinates to the new ones that Midas write command already does? I think
that would work, wouldn't it?

Regards!

2017-05-02 11:19 GMT+02:00 Pablo Solar Rodríguez <pablosolar.r at gmail.com>:

> ​Hello Eric,
>
> I'm sorry fornot explaining myself correctly. I'm gonna try it again​ with
> two example situations:
>
> 1) Simple situation: I open the PDB and the Map and apply my exhaustive
> fitting plugin. After it is finished, I can move the molecule to the
> different fitted coordinates solutions and even I give the chance to copy a
> solution into a new molecule in the model panel (there is a question in
> this forum about this I posted some weeks ago)
>
> Now the second example and the problem of this post:
>
> 2) Advanced situations: I open the PDB and the Map and, before fitting, I
> move them unchecking de 'A' checkbox in the model panel. Let's suppose that
> I move only the PDB. Well, with this, I need to save the moved PDB to disk
> (temp.pdb with the python scrip save.py you told me) before fitting to have
> the new coordinates and execute the fitting algorithm with the map and this
> saved molecule (fitting Map and temp.pdb). When the fitting is finished, I
> should move the original molecule to the different fitted coordinates
> solutions but it doesnt work properly.
>
> Related with 2, if I save the original moved molecule to disk (temp.pdb)
> and I open this new copy in Chimera and I fit it with the map directly, it
> works fine. There's something wrong between the acts of opening the
> molecule, moving it, writing it to disk, fitting, and trying to move the
> original one with the fitted coordinates (between the copy and the map) and
> I don't know why.
>
> Hope it is more clear now. If not, let me know and I try to explain it
> better.
>
> Thank you in advance and regards from Spain.
>
>
> 2017-05-01 23:12 GMT+02:00 Eric Pettersen <pett at cgl.ucsf.edu>:
>
>> Hi Pablo,
>> I couldn’t quite puzzle out what you were saying below.  In particular, I
>> didn’t understand:
>>
>> "Then, I get the coordinates that are result from fitting "temporal.pdb"
>> -- "mapY.ccp4" and move "chainX.pdb" opened in Chimera to these
>> coordinates. But does not work fine.”
>>
>> So instead of trying to answer directly, I’ll just try to outline the
>> principles involved and see if that helps.  You open your map and your
>> original PDB.  Then you fit your PDB into the map.  If you want to save the
>> fitted PDB in the same coordinate reference frame as the map, then you need
>> to take the transformed coordinates of the PDB, apply the *inverse* of
>> the map’s transformation matrix, and use those coordinates.
>> You don’t really say what API you use to save the PDB file, but you could
>> just use the “write” command with the “relative” keyword to save the PDB
>> file.  Also, Midas.write(pdb_model, map_model, file_name) would do it.  If
>> you then open the map and new PDB file together they will be in their
>> fitted orientation.
>>
>> Hope this helps,
>>
>> Eric Pettersen
>> UCSF Computer Graphics Lab
>>
>>
>> On Apr 28, 2017, at 12:32 AM, Pablo Solar Rodríguez <
>> pablo.solar at delogica.com> wrote:
>>
>>
>> Hello again!
>>
>> Well, I've been testing the PDB saving in my plugin and it doesn't work
>> as I expected. I'm gonna try to explain the best I know because maybe my
>> theoretical concepts are wrong.
>>
>> The aim of saving PDB is beacuse if I move (rotate and translate) my
>> molecule on Chimera I need to save it before executing the exhaustive
>> fitting to have the correct coordinates on disk. But when the process is
>> finished and I move the molecule on Chimera to the fitting coordinates, it
>> doesn't work properly. This not happens if I open the saved PDB and I
>> execute the exhaustive fitting; in that case, the molecule moves correctly
>> to the fitting coordinates.
>>
>> I'm gonna explain it with the example.
>>
>> 1. Suppouse I have opened "chainX.pdb" and "mapY.ccp4" in Chimera and I
>> move the molecule (uncheckin the 'A' in the model panel):
>>
>> 2. If I execute the exhaustive fitting in Chimera, the process will save
>> "temporal.pdb" from "chainX.pdb" on disk. Then, I get the coordinates that
>> are result from fitting "temporal.pdb" -- "mapY.ccp4" and move "chainX.pdb"
>> opened in Chimera to these coordinates. But does not work fine.
>>
>> 3. However, If I open "temporal.pdb" in Chimera and I execute the
>> process, it works fine.
>>
>> Could be a desynchronization between the opened "chainX.pdb" in Chimera,
>> the "temporal.pdb" saved on disk and the "mapY.ccp4"? I cannot see what
>> could be happening...
>>
>> I hope to have explained myself correctly.
>>
>> Thank you so much in advance
>>
>>
>>
>> *<e3596d50.png>   Pablo Solar Rodríguez   *pablo.solar at delogica.com
>> *   Delógica - *www.delogica.com
>>
>> España: C/Nuñez de Balboa 31, 2ª Planta - 2, 28001 Madrid, Tel.: (34) 91
>> 431 31 09 <914%2031%2031%2009>
>> Colombia: Edificio Torre Zimma - Carrera 15 88-70 Bogotá, PBX (571)
>> 3000302
>> ------------------------------
>>
>> *<2057ace7.png> Por favor, antes de imprimir este mensaje, asegúrate de
>> que es necesario. Ayudemos a cuidar el medio ambiente. *
>> *Este mensaje puede contener información confidencial o privilegiada. Si
>> le ha llegado por error, rogamos no haga uso del mismo, avise al remitente
>> y bórrelo. Consulte aviso legal. *
>> *This message may contain confidential or privileged information. If it
>> has been sent to you in error, please do not use it, notify the sender of
>> the error and delete it. See legal notice.*
>>
>>
>>
>> El 27-04-2017 20:04, Pablo Solar Rodríguez escribió:
>>
>> Hello Eric,
>>
>> Thank you for the response. I will check it!!
>>
>> Kind regards!
>>
>> 2017-04-26 19:28 GMT+02:00 Eric Pettersen <pett at cgl.ucsf.edu>:
>>
>>> Hi Pablo,
>>> Every model has an 'openState' attribute which in turn has a 'xform'
>>> attribute which holds the model's transformation matrix.  A newly opened
>>> model, if it's the only model, will have the identity matrix as it's
>>> initial xform.  If there are other models open, then its initial xform will
>>> be the same as that of the currently open model with the lowest ID number,
>>> in a "best effort" attempt to keep the newly opened model in the same frame
>>> of reference as the other models.
>>> So to see if you need to resave it you should compare the current xform
>>> to the one it had the last time you saved it.
>>> There is a trigger that fires when a model's transformation matrix
>>> changes — the 'OpenState' trigger will fire in the chimera.triggers trigger
>>> set, with the trigger data '.reasons' attribute containing 'transformation
>>> change'.  However, there is a convenience trigger, chimera.MOTION_STOP,
>>> that you probably want to register for instead, that will collate all the
>>> many OpenState trigger firings that will occur during a mouse motion.  That
>>> trigger is also in the chimera.triggers trigger set.  If you aren't
>>> familiar with triggers, there is a programmer example about them:
>>>
>>> https://www.cgl.ucsf.edu/chimera/current/docs/ProgrammersGui
>>> de/Examples/Main_AtomTrigger.html
>>>
>>> —Eric
>>>
>>>
>>> Eric Pettersen
>>> UCSF Computer Graphics Lab
>>>
>>>
>>> On Apr 26, 2017, at 12:41 AM, Pablo Solar Rodríguez <
>>> pablo.solar at delogica.com> wrote:
>>>
>>> Hello Elaine,
>>>
>>> Thank you for the quick response. I'll check the info to find a way to
>>> do it. Just one more thing. Is there a manner to know when the map has been
>>> moved? Just to not resampling it each time needlessly.
>>>
>>> Thank you!
>>>
>>>
>>>
>>> El 25-04-2017 18:21, Elaine Meng escribió:
>>>
>>> Hi Pablo,
>>> The map format doesn't include rotation information.  You would have to
>>> resample it on a new grid to create a new map, such as with command "vop
>>> resample"... details here on saving maps after fitting (bottom of the page):
>>>
>>> <http://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/savemodel.
>>> html#afterfitting>
>>>
>>> I hope this helps,
>>> Elaine
>>> ----------
>>> Elaine C. Meng, Ph.D.
>>> UCSF Computer Graphics Lab (Chimera team) and Babbitt Lab
>>> Department of Pharmaceutical Chemistry
>>> University of California, San Francisco
>>>
>>> On Apr 25, 2017, at 2:24 AM, Pablo Solar Rodríguez <
>>> pablo.solar at delogica.com> wrote:
>>>
>>> Hello Tom,
>>> Thank you for your quick response. I've checked the code in my plugin
>>> and the PDB saving works fine as I expected, even if I move the molecule.
>>>
>>> My question is about saving the map. I tried to move it
>>> (rotate&translate unchecking the 'A' in the ModelPanel) and then save it
>>> with this code, but when I open the saved map, it is similar to the
>>> original one and does not keep the new coordinates. This could be a problem
>>> in my plugin, because I need to save them case of moving to get correct
>>> results in the fitting process.
>>>
>>> So, how can I handle this situation? Is there any other way for saving
>>> the new map coordinates in the same way the PDB saving does? Hope I have
>>> explained myself correctly.
>>> Thank you in advance and kind regards,
>>> Pablo.
>>>
>>> _______________________________________________
>>> Chimera-dev mailing list
>>> Chimera-dev at cgl.ucsf.edu
>>> http://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev
>>>
>>>
>>> _______________________________________________
>>> Chimera-dev mailing list
>>> Chimera-dev at cgl.ucsf.edu
>>> http://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev
>>>
>>>
>>
>>
>> --
>>
>>
>> *Pablo Solar Rodríguez*
>> *pablosolar.r at gmail.com* <pablosolar.r at gmail.com>
>>
>>
>> _______________________________________________
>> Chimera-dev mailing list
>> Chimera-dev at cgl.ucsf.edu
>> http://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev
>>
>> _______________________________________________
>> Chimera-dev mailing list
>> Chimera-dev at cgl.ucsf.edu
>> http://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev
>>
>>
>>
>> _______________________________________________
>> Chimera-dev mailing list
>> Chimera-dev at cgl.ucsf.edu
>> http://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev
>>
>>
>
>
> --
>
> *Pablo Solar Rodríguez*
>
> *pablosolar.r at gmail.com <pablosolar.r at gmail.com>*
>
>
>


-- 

*Pablo Solar Rodríguez*

*pablosolar.r at gmail.com <pablosolar.r at gmail.com>*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-dev/attachments/20170507/49d93287/attachment-0001.html>


More information about the Chimera-dev mailing list