Re: model free analysis: spin deselection problem

2015-11-19 Thread Alain Oregioni

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 
 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 

Re: model free analysis: spin deselection problem

2015-11-19 Thread Edward d'Auvergne
On 19 November 2015 at 13:03, Alain Oregioni  wrote:
> 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()

Hi Alain,

The problem is right here!  The sequence.attach_protons user function
is only for use when you don't have a 3D structure
(http://www.nmr-relax.com/manual/sequence_attach_protons.html).  I
should probably document that better!  Ok, done:

http://article.gmane.org/gmane.science.nmr.relax.scm/25823

You should load your protons from the 3D structure with
structure.load_spins user function calls
(http://www.nmr-relax.com/manual/structure_load_spins.html).  That way
the proton spin containers will have atomic coordinates, and the NH
bond vectors can then be calculated (which you'll need to add to your
script, see http://www.nmr-relax.com/manual/interatom_unit_vectors.html).
For more details, see:


http://www.nmr-relax.com/manual/d_Auvergne_protocol_script_mode_setting_up_the_spin_systems.html

and the following pages.  If you do not have protons in your PDB file,
you'll need to generate them with external software (Molmol, Pymol,
etc.).  Unfortunately I haven't implemented a structure.attach_protons
user function yet, as I never found the citation for an algorithm to
correctly place protons in an X-ray structure.  And I know that the
calculated positions are not always the same for different software
programs, so it would be good to implement a number of the algorithms
so that there is a choice.

Regards,

Edward

___
relax (http://www.nmr-relax.com)

This is the relax-users mailing list
relax-users@gna.org

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-users