[Chimera-users] Recursive structure matching and acquisition of descriptive numbers

Eric Pettersen pett at cgl.ucsf.edu
Wed Sep 21 13:47:20 PDT 2016


Hi Joe,
	I guess the first thing is that since you are using the default chain pairing (i.e. best pair in both) you want to call match() with CP_BEST rather than CP_SPECIFIC_SPECIFIC.  Then you can pass in structures instead of chains.  Of course, you still need to get the structures (rather than just their ID numbers).  Assuming the ref structure is opened first, the following code will get the structures:

models = chimera.openModels.list(modelTypes=[chimera.Molecule])
ref = models[0]
sims = models[1:]

# No iteration is the default, so just omit the ‘iterate’ keyword.  ‘rmsd’ and ‘fullRmsd’ will be the same when there's no iteration.
for simAtoms, refAtoms, rmsd, fullRmsd in match(CP_BEST, [ref, sims], defaults[MATRIX], "nw", defaults[GAP_OPEN], defaults[GAP_EXTEND]):
	# One set of simAtoms/refAtoms/rmsds per sim structure
	…output RMSD…

—Eric

P.S.  You’ll need to import CP_BEST instead of CP_SPECIFIC_SPECIFIC

> On Sep 21, 2016, at 11:47 AM, Healey, Joe <J.R.J.Healey at warwick.ac.uk> wrote:
> 
> Thanks for clarifying Eric. That is what I had assumed the code to be doing, but I guess I'm trying to be a bit more naive than that in not having to specify the chains/atoms. I'll explain a little more of what I'm trying to do in the hope that makes it a bit more understandable:
> 
> As per the original question, I have several hundred protein simulation models. I'm running the HHSuite of tools to identify their nearest published structures, and then I want to get the RMSDs of the 'reference' structure, vs each of my simulations (for any given protein, there are up to 5 simulated PDBs). So far everything works, I parse in the top hit no problem, and can retrieve my models and open everything in chimera programmatically.
> 
> ------
> 
> If we assume in the preceeding code, a variable is populated with the PDB ID of the nearest hit and stored in "top_hit". Next the script trawls my folders of all the simulations, finds them based on a "basename" which is just the locus tag for the corresponding gene (also defined earlier in the code):
> 
>         # Acquire the protein simulations
>  
>         model_list = []
>         for root, dirnames, filenames in os.walk(directory):
>                 for filename in fnmatch.filter(filenames, '*.pdb'):
>                         if filename.startswith(basename):
>                                 model_list.append(os.path.join(root, filename))
>  
>         print("---------------------------")
>         print("Found the following models:")
>         for model_path in model_list:
>                 print(model_path)
>  
>         locus_dir = os.path.dirname(model_path)
>  
>         # Get reference structure from PDB
>         reference = chimera.openModels.open(top_hit,type="PDB")
>         print("Opened reference structure: " + top_hit)
>  
>         # Open model structures
>         for model_path in model_list:
>                 chimera.openModels.open(model_path,type="PDB")
>                 print("Opened: " + model_path)
>  
> 
>       rmsd_file = '{0}{1}.tsv'.format(locus_dir,basename)
>  
>       with open(rmsd_file, "a") as rmsd_output_file:
>               for j in len(model_list):                   # For every model retrieved above, match it to the reference structure and obtain an RMSD for it
>                        rc('matchmaker #{0} #{1} alg nw iter false'.format(reference,j))
>                      < capture RMSD somehow >
>                      rmsd_output_file.write(reference + "\t" + j + "\t" + rmsd)
> 
> 
> So where I'm still stuck is that when I execute the mmaker command within chimera in it's own syntax, I can specify the models and not the atoms with the #0 #1 notations. The command runs and chimera picks the best atoms for me (this is also desirable because when I run this unattended on many structures, I don't know which chain within those chimera might match best). I want to emulate that behaviour exactly. So unless I'm very much mistaken, chimera should take the 2 models, fit them as best it can, and return the RMSD.
> 
> In short, whatever the MatchMaker.match() equivalent syntax of the relatively 'naive' rc('matchmaker #{0} #{1} alg nw iter false'.format(reference,j)) command is what I need I think?
> 
> Hope that's clear,
> 
> 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 <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>
> Sent: 21 September 2016 18:54:26
> To: Healey, Joe
> Cc: chimera-users at cgl.ucsf.edu BB
> Subject: Re: [Chimera-users] Recursive structure matching and acquisition of descriptive numbers
>  
> When the matching is CP_SPECIFIC_SPECIFIC, the arguments have to be chains, not structures.  This is what this part of the original commented-out code was doing:
> 
> s1, s2 = openModels.list(modelTypes=[Molecule])
> c1, c2 = s1.sequence('A'), s2.sequence('A’)
> 
> c1/c2 were the specific chains (namely, the ‘A’ chains) that would be used in the ‘match’ call:
> 
> atoms1, atoms2, rmsd = match(CP_SPECIFIC_SPECIFIC, [(c1, c2)], defaults[MATRIX],
>  "nw", defaults[GAP_OPEN], defaults[GAP_EXTEND],
> iterate=defaults[ITER_CUTOFF])[0]
> 
> Maybe if you sent me the part of your script that was trying to make the ‘match’ call I could help you sort this out.  ‘runCommand’ is a generic command that just treats the string as if it were typed at the command line (and therefore it could contain multiple commands strung together with ‘;’) and does not return any value.
> 
> —Eric
> 
>> On Sep 21, 2016, at 8:01 AM, Healey, Joe <J.R.J.Healey at warwick.ac.uk <mailto:J.R.J.Healey at warwick.ac.uk>> wrote:
>> 
>> 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 <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>>
>> Sent: 21 September 2016 00:20:41
>> To: Healey, Joe
>> Cc: chimera-users at cgl.ucsf.edu <mailto: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 <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><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><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> <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> <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 <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/ <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/ <http://www2.warwick.ac.uk/fac/sci/chemistry/research/gibson/gibsongroup/>> (Warwick Chemistry)
>>> > 
>>> > Twitter: @JRJHealey <https://twitter.com/JRJHealey <https://twitter.com/JRJHealey>>  |  Website: MOAC Page <http://www2.warwick.ac.uk/fac/sci/moac/people/students/2013/joseph_healey <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 <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 <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 <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/ <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/ <http://www2.warwick.ac.uk/fac/sci/chemistry/research/gibson/gibsongroup/>> (Warwick Chemistry)
>>> >> 
>>> >> Twitter: @JRJHealey <https://twitter.com/JRJHealey <https://twitter.com/JRJHealey>>  |  Website: MOAC Page <http://www2.warwick.ac.uk/fac/sci/moac/people/students/2013/joseph_healey <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 <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 <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><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> <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> <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 <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/ <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/ <http://www2.warwick.ac.uk/fac/sci/chemistry/research/gibson/gibsongroup/>> (Warwick Chemistry)
>>> >>> 
>>> >>> Twitter: @JRJHealey <https://twitter.com/JRJHealey <https://twitter.com/JRJHealey>>  |  Website: MOAC Page <http://www2.warwick.ac.uk/fac/sci/moac/people/students/2013/joseph_healey <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 <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 <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> <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 <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 <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/ <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/ <http://www2.warwick.ac.uk/fac/sci/chemistry/research/gibson/gibsongroup/>> (Warwick Chemistry)
>>> >>>> 
>>> >>>> Twitter: @JRJHealey <https://twitter.com/JRJHealey <https://twitter.com/JRJHealey>>  |  Website: MOAC Page <http://www2.warwick.ac.uk/fac/sci/moac/people/students/2013/joseph_healey <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 <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><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 <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><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 <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 <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/11236ede/attachment.html>


More information about the Chimera-users mailing list