mailRe: model free analysis: spin deselection problem


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by Alain Oregioni on November 19, 2015 - 13:03:
Hi Edward,

Thanks for your reply. I was out of the office till now, so I've not had time 
to debug more till now.

I had a look at the log and I didn't see any warning earlier than the ones I 
mentioned, so I'm again stuck. I will check for name mismatch though, as this 
has happened before.

Sorry about the attachments, I'm afraid I didn't read the communication 
protocols...Here's the beginning of the script:

#################################################################################

# The diffusion model.
DIFF_MODEL = 'prolate'

# The model-free models.  Do not change these unless absolutely necessary, 
the protocol is likely to fail if these are changed.
MF_MODELS = ['m0', 'm1', 'm2', 'm3', 'm4', 'm5', 'm6', 'm7', 'm8', 'm9']
LOCAL_TM_MODELS = ['tm0', 'tm1', 'tm2', 'tm3', 'tm4', 'tm5', 'tm6', 'tm7', 
'tm8', 'tm9']

# The grid search size (the number of increments per dimension).
GRID_INC = 13

# The optimisation technique.
MIN_ALGOR = 'newton'

# The number of Monte Carlo simulations to be used for error analysis at the 
end of the analysis.
MC_NUM = 500

# Automatic looping over all rounds until convergence (must be a boolean 
value of True or False).
CONV_LOOP = True

# The local paths.
SEQ_PATH = 
'C:\\Users\\aoregio\\Desk\\Crick\\Projects\\Woolfson_coiledCoil\\RC'


# Set up the data pipe.
#######################

# The following sequence of user function calls can be changed as needed.

# Create the data pipe.
pipe_bundle = "mf (%s)" % asctime(localtime())
name = "origin - " + pipe_bundle
pipe.create(name, 'mf', bundle=pipe_bundle)

# Load the PDB file.
structure.read_pdb('4DZM-CC-pIL-I17N-dimer-AsnA.pdb', dir='.', 
set_mol_name=['CCDi_mol1','CCDi_mol2'], alt_loc='A')

# Set up the 15N and 1H spins (both backbone and Trp indole sidechains).
#structure.load_spins(spin_id='@N', ave_pos=False)
structure.load_spins(spin_id=':6@N', ave_pos=False)
structure.load_spins(spin_id=':13@N', ave_pos=False)
structure.load_spins(spin_id=':17@N', ave_pos=False)
structure.load_spins(spin_id=':20@N', ave_pos=False)
structure.load_spins(spin_id=':27@N', ave_pos=False)

spin.isotope('15N', spin_id='@N*')
spin.isotope('1H', spin_id='@H*')

# Generate the 1H spins for the magnetic dipole-dipole relaxation interaction.
sequence.attach_protons()

# Define the magnetic dipole-dipole relaxation interaction.
interatom.define(spin_id1='@N', spin_id2='@H', direct_bond=True)
interatom.set_dist(spin_id1='@N', spin_id2='@H', ave_dist=1.02 * 1e-10)

# Define the chemical shift relaxation interaction.
value.set(-172 * 1e-6, 'csa', spin_id='@N*')

#################################################################################


Please, let me know if you see something wrong or have any other debug ideas.

Best wishes,
Alain.




On 17/11/2015 11:07, Edward d'Auvergne wrote:

On 12 November 2015 at 19:00, Alain Oregioni 
<Alain.Oregioni@xxxxxxxxxxx><mailto:Alain.Oregioni@xxxxxxxxxxx> wrote:


Hi,

I'm new to Relax and I'm having some trouble running a model free analysis
with my data. In short, all the spins are being deselected, supposedly
because of missing structural data even though I have loaded a PDB of the
structure.

Some details of the system:
I'm using Relax 4.0.0 with scripts under Win7 Pro 64
The molecule is a homodimer and I have R1, R2, hetNOE data at 600 and 700
MHz
The data is only from 5 spins out of 31 (for a chain, both chains being
identical)
The pdb is from a crystal structure (so, no proton)

What I've done so far:
I've run the dauvergne_protocol.py with 'local_tm' and 'sphere' without
problem. 'sphere' converged after 5 rounds. Both gave 'aic' solutions (but
then, I think they are not using the PDB directly).

However, when I run any of 'prolate', 'oblate', 'ellipsoid', the script end
up with "no model selected...'aic' pipe not created".
Looking at the console output, it seems that after the data is loaded fine
and dAuvergne_protocol() starts:
- pipe is created OK
- local_tm is read OK
- model_free.remove_tm() is run OK
- diffusion_tensor.init() is run OK
- fix()  is run OK
Then:
- minimise.grid_search() starts and deselects all the spins: "Over-fit spin
deselection... because of missing structural data"
Of course, after this, the grid search does not work.

I'm thinking that my system is far from standard for this type of analysis,
and there are a few possibilities for things going wrong, starting with the
fact it's a homodimer, and that the spins with data are in limited numbers
(although they are spatially well distributed). But I have no ideas
how/where/why, so I'm a bit stuck for now. Does anyone have an idea?

I've attached a screenshot and the first 3 scripts in case that helps. If
you need anything else, please ask.




Hi Alain,

Welcome to the relax mailing lists!  Have you managed to work out what
the problem was?  I would suggest looking at your log file (you should
really run relax with the --log or --tee options to capture
everything).  Look at the very top of the log for any warnings.  This
type of error is almost always visible as a warning in the set up
stage of the analysis.  Specifically where the structural data is
loaded into the relax data store.  There is probably a mismatch
between the X and H spins and how they are named in the PDB file.
What are the first few lines of your analysis script?

Note that attachments cause a large strain on the open source
infrastructure, as they are amplified and sent off to everyone on the
mailing list and to the 4 mailing list archives (
http://www.nmr-relax.com/communication.html#relax-users ).  Therefore
attachments will be automatically stripped out of the mailing list
messages.  To send files, the best is to create a bug report (
https://gna.org/bugs/?group=relax ) or support request (
https://gna.org/support/?group=relax ) and attach the files there.




I've also noticed something that's probably not related, but just in case:
it seems that the function minimise.grid_search() starts with 'inc=11' even
if I passed 'GRID_INC=13' in my script (through dAuvergne_protocol() )...If
it's not expected, and other variables are somehow not updated, this might
be the cause of the problems.



If you have a look at the auto_analyses/dauvergne_protocol.py file (
http://www.nmr-relax.com/api/4.0/auto_analyses.dauvergne_protocol-module.html
), you see another option called 'diff_tensor_grid_inc' which defaults
to {'sphere': 11, 'prolate': 11, 'oblate': 11, 'ellipsoid': 6}.  This
is where this number of 11 comes from.  See the file itself for more
details.

Regards,

Edward


The Francis Crick Institute Limited is a registered charity in England and 
Wales no. 1140062 and a company registered in England and Wales no. 06885462, 
with its registered office at 215 Euston Road, London NW1 2BE.


Related Messages


Powered by MHonArc, Updated Thu Nov 19 14:00:18 2015