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