On Wed, 2006-11-01 at 02:11 +1100, Edward d'Auvergne wrote:

> > pymol.cartoon() doesn't work for me. The commands go to pymol (they
> > appear in the tcl gui at least) but have no apparent effect. Just doing:
> >
> > hide everything
> > show cartoon
> >
> > on the pymol cmd line has the expected effect.
> 
> This could be a PyMOL version issue.  Which version are you using?
> I'm using the open source v0.99rc6 version (that you have to compile
> yourself).  The PyMOL 'cmd.hide()' function also works on the non open
> source binary build of the same version.
> 

I've tracked this one down. My PDB file is not in the current working
directory, so path details need to be stripped before the cmd.hide(),
cmd.show() functions. So I have:

relax> pymol.view('test')
relax> PyMOL>reinitialise
Traceback (most recent call last):
  File "/home/chris/bin/pymol/modules/pymol/parser.py", line 370, in
parse
    exec(com2[nest]+"\n",pymol_names,pymol_names)
  File "<string>", line 1, in ?
NameError: name 'reinitialise' is not defined
PyMOL>load ../abp_600MHz_tensorFrame.pdb
 CmdLoad: "../abp_600MHz_tensorFrame.pdb" loaded as
"abp_600MHz_tensorFrame".

This is all good so far... but:

relax> pymol.cartoon('test')
relax> PyMOL>cmd.hide('everything','../abp_600MHz_tensorFrame')
PyMOL>cmd.show('cartoon','../abp_600MHz_tensorFrame')
PyMOL>util.cbss('../abp_600MHz_tensorFrame', 'red', 'yellow', 'green')

fails because there is no such object (in pymol)
as ../abp_600MHz_tensorFrame. It should be 

cmd.hide('everything','abp_600MHz_tensorFrame')
etc.
 
> 
> > And finally, if I do pymol.tensor_pdb(), then close pymol and then do
> > pymol.view() in the same run, I get the tensor back again (I was just
> > expecting to get my protein).
> 
> This is a feature.  The PyMOL functions have inherited the command
> history feature of the Molmol code.  Any commands generated by relax
> are rerun if you reopen PyMOL from relax.  There is the user function
> 'pymol.clear_history()' which I forgot to mention in the original
> email.

Fine. As long as it is run aware. If I have different tensors (or
different structures?) in separate runs but the same relax instance
(full_analysis.py, eg.), I don't want the two getting confused when I
start looking at them. The fact that pymol.clear_history() doesn't take
a run argument suggests that there might be the potential for such
confussion?

> 
> > Oh, and one last thought. It would be nice to automatically scale the
> > tensor size for the size of the protein, so we don't have to do
> > trial-and-error adjustments of the scaling factor. The current fixed
> > default scaling factor means larger proteins will have smaller tensors
> > and vice-versa. This is something I could have a go at implimenting if
> > others think its a godd idea?
> 
> The reason I have used a scaling factor is twofold.  Firstly for
> comparing two states or systems, you need to have exactly the same
> scaling in both analyses.  Secondly the scaling factor should probably
> be given with the figure.  The value is important - it is the
> diffusion rate per Angstrom within the figure.  I should add this to
> the user function docstring.
> 

What I had in mind was a default auto-scaling that can be overiden as
required. ie.

def pdb.create_tensor_pdb(run, file, scaling):
    if scaling == None:
        scaling = autoScale()
    ...

In our experience of using this sort of functionality with tensor, its
most common use is for a quick look to check that the tensor looks
reasonable, rather than for quantitative comparisons. Given this, a
default auto-scaling will give the most commonly desired behaviour with
minimal effort, but can easily be overriden when quantitation is
required.


Chris


> Edward
> 


_______________________________________________
relax (http://nmr-relax.com)

This is the relax-devel mailing list
[email protected]

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel

Reply via email to