[Chimera-users] Chimera-users Digest, Vol 161, Issue 19

Healey, Joe J.R.J.Healey at warwick.ac.uk
Wed Sep 21 08:01:45 PDT 2016


Thanks Eric,


I still can't wrap my head around calling the module directly, so string synthesis and the runCommand will have to do.


I'm now getting errors from it such as:

  return proteinMatrix == chain.hasProtein()
AttributeError: '_molecule.Molecule' object has no attribute 'hasProtein'


Which I don't know what to do with, but the runcommand syntax does what I want - I just can't emulate it exactly in full python.


This means my hopefully final question is how exactly do you extract the RMSD from it if using chimera syntax wrapped in runCommand? Just doing:


result = runCommand('mmaker #{0} #{1} alg nw iter false'.format(reference, model)')


leaves "result" as None. I was hoping it would behave like your multiple variable assignment in:


"atoms1, atoms2, rmsd = match(......)"


Allowing me to then pull out the number.


All help much appreciated,


Joe




Joe Healey


M.Sc. B.Sc. (Hons)
PhD Student
MOAC CDT, Senate House
University of Warwick
Coventry
CV47AL
Mob: +44 (0) 7536 042620  |  Email: J.R.J.Healey at warwick.ac.uk

Jointly working in:
Waterfield Lab<http://www2.warwick.ac.uk/fac/med/research/tsm/microinfect/staff/waterfieldlab/> (WMS Microbiology and Infection Unit)
and the Gibson Lab<http://www2.warwick.ac.uk/fac/sci/chemistry/research/gibson/gibsongroup/> (Warwick Chemistry)

Twitter: @JRJHealey<https://twitter.com/JRJHealey>  |  Website: MOAC Page<http://www2.warwick.ac.uk/fac/sci/moac/people/students/2013/joseph_healey>
________________________________
From: Eric Pettersen <pett at cgl.ucsf.edu>
Sent: 21 September 2016 00:20:41
To: Healey, Joe
Cc: chimera-users at cgl.ucsf.edu
Subject: Re: Chimera-users Digest, Vol 161, Issue 19

As you’ve noticed, the back end of your script pretty much has the exact code you need, just commented out.  The function called in that code. MatchMaker.match(), is the function that the mmaker command ultimately calls (there’s an intermediate “cmdMatch” function that does some argument parsing).  You already do the correct imports at the top of your script (“from MatchMaker import match, …”).  I think you just need to adapt the commented-out code into the script’s workflow.

—Eric

On Sep 20, 2016, at 3:16 PM, Healey, Joe <J.R.J.Healey at warwick.ac.uk<mailto:J.R.J.Healey at warwick.ac.uk>> wrote:

Ah yes now I see. mmaker is what I want. I've figured out the appropriate syntax for the command I'd want to execute in chimera syntax I think.

In the code snippet below, it seems to me I have 2 options? I can synthesise a string and iterate the mmaker function in chimera syntax with something like:



    chimera.openModels.open(top_hit, type="PDB")

    # Open model structures
    for model_path in model_list:
         chimera.openModels.open(model_path,type="PDB")
         print("Opened: " + model_path)

    rmsd_file = '{0}.tsv'.format(rmsd)
    with open(rmsd_file, "a") as rmsd_output_file:
         for j in len(model_list):
               match_cmd = 'mmaker #0 #{0} alg nw iter false'.format(j)
               runCommand(match_cmd)

# <somewhere in here retrieve the rmsd and append to a result file>

or the other option would be to do the above but avoiding the string synthesis step with something like:
chimera.module.mmaker()

If the module can be accessed directly? If so which module is the mmaker function within?


Though I still don't know how to access the RMSD value from the mmaker function in either of these manners. Would executing mmaker in either such way return a tuple or list where the RMSD is a particular index?

Looking at your Match script the rmsd was the 3rd value of the tuple in the line:
atoms1, atoms2, rmsd = match(CP_SPECIFIC_SPECIFIC, [(c1, c2)], defaults[MATRIX],"nw", defaults[GAP_OPEN], defaults[GAP_EXTEND],iterate=defaults[ITER_CUTOFF])[0]

Would the same be true for mmaker?


(Sorry to ask so many questions in one go. I don't know what your policy is on whether all related questions should be in the same issue, or whether I should be raising separate ones)

Thanks again for all your help


Joe Healey


M.Sc. B.Sc. (Hons)
PhD Student
MOAC CDT, Senate House
University of Warwick
Coventry
CV47AL
Mob: +44 (0) 7536 042620  |  Email: J.R.J.Healey at warwick.ac.uk<mailto:J.R.J.Healey at warwick.ac.uk>

Jointly working in:
Waterfield Lab<http://www2.warwick.ac.uk/fac/med/research/tsm/microinfect/staff/waterfieldlab/> (WMS Microbiology and Infection Unit)
and the Gibson Lab<http://www2.warwick.ac.uk/fac/sci/chemistry/research/gibson/gibsongroup/> (Warwick Chemistry)

Twitter: @JRJHealey<https://twitter.com/JRJHealey>  |  Website: MOAC Page<http://www2.warwick.ac.uk/fac/sci/moac/people/students/2013/joseph_healey>


________________________________
From: chimera-users-bounces at cgl.ucsf.edu<mailto:chimera-users-bounces at cgl.ucsf.edu> <chimera-users-bounces at cgl.ucsf.edu<mailto:chimera-users-bounces at cgl.ucsf.edu>> on behalf of chimera-users-request at cgl.ucsf.edu<mailto:chimera-users-request at cgl.ucsf.edu> <chimera-users-request at cgl.ucsf.edu<mailto:chimera-users-request at cgl.ucsf.edu>>
Sent: 20 September 2016 19:30
To: chimera-users at cgl.ucsf.edu<mailto:chimera-users at cgl.ucsf.edu>
Subject: Chimera-users Digest, Vol 161, Issue 19

Send Chimera-users mailing list submissions to
        chimera-users at cgl.ucsf.edu<mailto:chimera-users at cgl.ucsf.edu>

To subscribe or unsubscribe via the World Wide Web, visit
        http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users
or, via email, send a message with subject or body 'help' to
        chimera-users-request at cgl.ucsf.edu<mailto:chimera-users-request at cgl.ucsf.edu>

You can reach the person managing the list at
        chimera-users-owner at cgl.ucsf.edu<mailto:chimera-users-owner at cgl.ucsf.edu>

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Chimera-users digest..."


Today's Topics:

   1. Re: Recursive structure matching and acquisition of
      descriptive numbers (Eric Pettersen)


----------------------------------------------------------------------

Message: 1
Date: Tue, 20 Sep 2016 11:30:38 -0700
From: Eric Pettersen <pett at cgl.ucsf.edu<mailto:pett at cgl.ucsf.edu>>
To: "Healey, Joe" <J.R.J.Healey at warwick.ac.uk<mailto:J.R.J.Healey at warwick.ac.uk>>
Cc: "chimera-users at cgl.ucsf.edu<mailto:chimera-users at cgl.ucsf.edu> BB" <chimera-users at cgl.ucsf.edu<mailto:chimera-users at cgl.ucsf.edu>>
Subject: Re: [Chimera-users] Recursive structure matching and
        acquisition of  descriptive numbers
Message-ID: <30002D29-1B25-4596-8868-EB3370B72E42 at cgl.ucsf.edu<mailto:30002D29-1B25-4596-8868-EB3370B72E42 at cgl.ucsf.edu>>
Content-Type: text/plain; charset="windows-1252"

Hi Joe,
        I guess the first thing is that the command equivalent for MatchMaker is ?matchmaker? or ?mmaker?, not ?match?.  The ?match? command is for when you know a priori the exact set of atoms you want matched in the two structures.  ?matchmaker? is for when you let Chimera figure out the set of atoms to use based on the sequences and secondary structure.  The documentation for the matchmaker command is here:

https://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/matchmaker.html#options<https://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/matchmaker.html#options>

I looked at your script and didn?t see anything obviously wrong.  What exactly isn?t working?  And unfortunately the answer is no, you can?t run a GUI  operation and easily find the command equivalent.  ChimeraX will have that capability though.

?Eric


> On Sep 20, 2016, at 5:07 AM, Healey, Joe <J.R.J.Healey at warwick.ac.uk<mailto:J.R.J.Healey at warwick.ac.uk>> wrote:
>
> Hi again,
>
> I'm making decent headway with the problem I mentioned before with Jaime's help and the use of pychimera. I'm down to the nitty-gritty of doing the actual RMSD/Match function alignment though and could use a bit more information.
>
> Is there are resource with more information on the commandline implementation of match anywhere other than the link below?
>
> https://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/match.html#options<https://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/match.html#options>
>
> I took a look at Eric's suggestion of the match.py script here: http://plato.cgl.ucsf.edu/pipermail/chimera-users/2009-March/003610.html <http://plato.cgl.ucsf.edu/pipermail/chimera-users/2009-March/003610.html>
>
> But I can't quite unwrap the options specified in the command for my uses.
>
> Perhaps another way to ask this is, can I run a command in GUI chimera, and find the EXACT command that was executed?
>
> I've put the semi-complete script in pastebin here http://pastebin.com/6k9cew55 <http://pastebin.com/6k9cew55> incase it gives you some indication of what I'm attempting to do.
>
> Many thanks
>
>
> Joe Healey
>
>
> M.Sc. B.Sc. (Hons)
> PhD Student
> MOAC CDT, Senate House
> University of Warwick
> Coventry
> CV47AL
> Mob: +44 (0) 7536 042620  |  Email: J.R.J.Healey at warwick.ac.uk<mailto:J.R.J.Healey at warwick.ac.uk> <mailto:J.R.J.Healey at warwick.ac.uk>
>
> Jointly working in:
> Waterfield Lab <http://www2.warwick.ac.uk/fac/med/research/tsm/microinfect/staff/waterfieldlab/> (WMS Microbiology and Infection Unit)
> and the Gibson Lab <http://www2.warwick.ac.uk/fac/sci/chemistry/research/gibson/gibsongroup/> (Warwick Chemistry)
>
> Twitter: @JRJHealey <https://twitter.com/JRJHealey>  |  Website: MOAC Page <http://www2.warwick.ac.uk/fac/sci/moac/people/students/2013/joseph_healey>
> From: Greg Couch <gregc at cgl.ucsf.edu<mailto:gregc at cgl.ucsf.edu> <mailto:gregc at cgl.ucsf.edu>>
> Sent: 08 September 2016 22:43:55
> To: Healey, Joe; chimera-users at cgl.ucsf.edu<mailto:chimera-users at cgl.ucsf.edu> <mailto:chimera-users at cgl.ucsf.edu> BB
> Subject: Re: [Chimera-users] Recursive structure matching and acquisition of descriptive numbers
>
> chimera --nogui can't access graphics.  Headless chimera has software OpenGL rendering, so it can be used to create images.  Make sure to use the windowsize command to set the size of the framebuffer.  Don't know if pychimera cares.
>
>     -- Greg
>
> On 09/08/2016 11:53 AM, Healey, Joe wrote:
>> Brilliant, that sounds like the most likely option. I had stumbled across pychimera a couple of days ago while trying to find out if chimera could simply be imported as a module. I initially steered away from it as I don't have sudo rights for the server where I'm trying to set all this up (couldnt run pip), but I've since sorted it with our sysadmin.
>>
>> On a related point, is running chimera with --nogui equivalent to running headless chimera? I'm just wondering if pychimera is happy with either
>>
>>
>> Joe Healey
>>
>>
>> M.Sc. B.Sc. (Hons)
>> PhD Student
>> MOAC CDT, Senate House
>> University of Warwick
>> Coventry
>> CV47AL
>> Mob: +44 (0) 7536 042620  |  Email: J.R.J.Healey at warwick.ac.uk<mailto:J.R.J.Healey at warwick.ac.uk> <mailto:J.R.J.Healey at warwick.ac.uk>
>>
>> Jointly working in:
>> Waterfield Lab <http://www2.warwick.ac.uk/fac/med/research/tsm/microinfect/staff/waterfieldlab/> (WMS Microbiology and Infection Unit)
>> and the Gibson Lab <http://www2.warwick.ac.uk/fac/sci/chemistry/research/gibson/gibsongroup/> (Warwick Chemistry)
>>
>> Twitter: @JRJHealey <https://twitter.com/JRJHealey>  |  Website: MOAC Page <http://www2.warwick.ac.uk/fac/sci/moac/people/students/2013/joseph_healey>
>> From: Greg Couch <gregc at cgl.ucsf.edu<mailto:gregc at cgl.ucsf.edu>> <mailto:gregc at cgl.ucsf.edu>
>> Sent: 07 September 2016 19:49:19
>> To: Healey, Joe; chimera-users at cgl.ucsf.edu<mailto:chimera-users at cgl.ucsf.edu> <mailto:chimera-users at cgl.ucsf.edu> BB
>> Subject: Re: [Chimera-users] Recursive structure matching and acquisition of descriptive numbers
>>
>> Yes, Chimera's Python code is only "warrantied" to work with its own Python.  See question 3b of the Chimera Programming FAQ,https://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/faq.html#q3b<https://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/faq.html#q3b>, for how to install other software into Chimera.  Other parts of the FAQ may help you too.
>>
>> That said, Jaime Rodr?guez-Guerra took my previous comments on this subject, http://www.cgl.ucsf.edu/pipermail/chimera-users/2015-January/010647.html <http://www.cgl.ucsf.edu/pipermail/chimera-users/2015-January/010647.html>, and came up with pychimera, https://pypi.python.org/pypi/pychimera <https://pypi.python.org/pypi/pychimera>.  I haven't checked to see how it handles all of my caveats, and it can't completely without using a modified Python, but I suspect that it would be good enough for you.
>>
>>     HTH,
>>
>>     Greg
>>
>> On 09/07/2016 07:36 AM, Healey, Joe wrote:
>>> Hi Eric,
>>>
>>> That looks good thank you. I think I'm going about this slightly the wrong way after some investigation however.
>>>
>>> Am I right in thinking that chimera can't be imported in to python inside a normal bash shell, and rather it must be done the other way round? So file manipulation and such must be done by calls to the system from within the chimera python shell, rather than a python interpreter calling chimera modules in?
>>>
>>> It certainly makes the chimera steps I plan to do much easier, but I was going to include it in a pipeline with some other programs and it makes that a little more taxing (though not insurmountable!).
>>>
>>> Additionally, I plan to invoke this inside a script on a headless linux box (hence why running it through a python script was ideal), so whatever solution I use will need to be 'command line friendly'.
>>>
>>> In effect all I need is the actual algorithm for the matching process to be accessed somehow from a python script.
>>>
>>> Do you have any advice about how best to proceed?
>>>
>>> Many thanks,
>>>
>>> Joe Healey
>>>
>>>
>>> M.Sc. B.Sc. (Hons)
>>> PhD Student
>>> MOAC CDT, Senate House
>>> University of Warwick
>>> Coventry
>>> CV47AL
>>> Mob: +44 (0) 7536 042620  |  Email: J.R.J.Healey at warwick.ac.uk<mailto:J.R.J.Healey at warwick.ac.uk> <mailto:J.R.J.Healey at warwick.ac.uk>
>>>
>>> Jointly working in:
>>> Waterfield Lab <http://www2.warwick.ac.uk/fac/med/research/tsm/microinfect/staff/waterfieldlab/> (WMS Microbiology and Infection Unit)
>>> and the Gibson Lab <http://www2.warwick.ac.uk/fac/sci/chemistry/research/gibson/gibsongroup/> (Warwick Chemistry)
>>>
>>> Twitter: @JRJHealey <https://twitter.com/JRJHealey>  |  Website: MOAC Page <http://www2.warwick.ac.uk/fac/sci/moac/people/students/2013/joseph_healey>
>>>
>>> From: Eric Pettersen <pett at cgl.ucsf.edu<mailto:pett at cgl.ucsf.edu>> <mailto:pett at cgl.ucsf.edu>
>>> Sent: 31 August 2016 18:23
>>> To: Healey, Joe
>>> Cc: chimera-users at cgl.ucsf.edu<mailto:chimera-users at cgl.ucsf.edu> <mailto:chimera-users at cgl.ucsf.edu>
>>> Subject: Re: [Chimera-users] Recursive structure matching and acquisition of descriptive numbers
>>>
>>> Hi Joe,
>>> This old chimera-users post has a Python script attachment that demonstrates how to call the underlying MatchMaker function to get the RMSD value programmatically.  The mailing list gives the attachment a ?.bin? extension but it?s really a .py file.  Just change the extension if you need to.  Let me know if you have any questions about how to adapt the script to your needs?
>>>
>>> http://plato.cgl.ucsf.edu/pipermail/chimera-users/2009-March/003610.html <http://plato.cgl.ucsf.edu/pipermail/chimera-users/2009-March/003610.html>
>>>
>>> ?Eric
>>>
>>> Eric Pettersen
>>> UCSF Computer Graphics Lab
>>>
>>>> On Aug 31, 2016, at 3:02 AM, Healey, Joe <J.R.J.Healey at warwick.ac.uk<mailto:J.R.J.Healey at warwick.ac.uk> <mailto:J.R.J.Healey at warwick.ac.uk>> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I have several hundred structure simulations that were performed on our HPC resource. Each simulation has approximately 5 models associated with it. I also have HMM model homologies for each of these proteins.
>>>>
>>>> I would like to use chimera's matchmaker function to compare the simulated structured to their nearest 'real' counterpart with a resolved structure. In order to do this I plan to script chimera to pull in the simulated models as well as the near homolog and then run the matchmaker algorithm.
>>>>
>>>> My question is: can the RMSD value that is returned in the reply log be 'accessed directly' such that for each match that is performed, I can obtain the RMSD and thus a ranking for the best fitting structures - or will it require parsing the reply log?
>>>>
>>>> Thanks
>>>>
>>>> Joe Healey
>>>>
>>>>
>>>> M.Sc. B.Sc. (Hons)
>>>> PhD Student
>>>> MOAC CDT, Senate House
>>>> University of Warwick
>>>> Coventry
>>>> CV47AL
>>>> Mob: +44 (0) 7536 042620  |  Email: J.R.J.Healey at warwick.ac.uk<mailto:J.R.J.Healey at warwick.ac.uk> <mailto:J.R.J.Healey at warwick.ac.uk>
>>>>
>>>> Jointly working in:
>>>> Waterfield Lab <http://www2.warwick.ac.uk/fac/med/research/tsm/microinfect/staff/waterfieldlab/> (WMS Microbiology and Infection Unit)
>>>> and the Gibson Lab <http://www2.warwick.ac.uk/fac/sci/chemistry/research/gibson/gibsongroup/> (Warwick Chemistry)
>>>>
>>>> Twitter: @JRJHealey <https://twitter.com/JRJHealey>  |  Website: MOAC Page <http://www2.warwick.ac.uk/fac/sci/moac/people/students/2013/joseph_healey>_______________________________________________
>>>> Chimera-users mailing list: Chimera-users at cgl.ucsf.edu<mailto:Chimera-users at cgl.ucsf.edu> <mailto:Chimera-users at cgl.ucsf.edu>
>>>> Manage subscription: http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users<http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users>
>>>
>>>
>>> _______________________________________________
>>> Chimera-users mailing list: Chimera-users at cgl.ucsf.edu<mailto:Chimera-users at cgl.ucsf.edu> <mailto:Chimera-users at cgl.ucsf.edu>
>>> Manage subscription: http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users<http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users>
>>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20160920/d01fa12e/attachment.html>

------------------------------

_______________________________________________
Chimera-users mailing list
Chimera-users at cgl.ucsf.edu<mailto:Chimera-users at cgl.ucsf.edu>
http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users


End of Chimera-users Digest, Vol 161, Issue 19
**********************************************

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-users/attachments/20160921/93af4a95/attachment-0001.html>


More information about the Chimera-users mailing list