Author: bugman
Date: Fri Nov 21 09:08:44 2014
New Revision: 26677
URL: http://svn.gna.org/viewcvs/relax?rev=26677&view=rev
Log:
Size fix for the rotor representation from the frame_order.pdb_model user
function.
The size problem was detected via the Frame_order.test_pdb_model_rotor system
test. The rotors in
the PDB representation were all fixed in size, and ignored the 'size' argument
of the
frame_order.pdb_model user function. The size argument is now passed into the
add_rotors() function
of the specific_analyses.frame_order.geometric and passed on to the rotor()
function of the
lib.structure.represent.rotor module.
Modified:
branches/frame_order_cleanup/specific_analyses/frame_order/geometric.py
Modified:
branches/frame_order_cleanup/specific_analyses/frame_order/geometric.py
URL:
http://svn.gna.org/viewcvs/relax/branches/frame_order_cleanup/specific_analyses/frame_order/geometric.py?rev=26677&r1=26676&r2=26677&view=diff
==============================================================================
--- branches/frame_order_cleanup/specific_analyses/frame_order/geometric.py
(original)
+++ branches/frame_order_cleanup/specific_analyses/frame_order/geometric.py
Fri Nov 21 09:08:44 2014
@@ -350,13 +350,15 @@
mol.atom_add(atom_name=atom_name, res_name='TLE', res_num=1, pos=pos,
element='Ti', pdb_record='HETATM')
-def add_rotors(structure=None, representation=None, sims=False):
+def add_rotors(structure=None, representation=None, size=None, sims=False):
"""Add all rotor objects for the current frame order model to the
structural object.
@keyword structure: The internal structural object to add the
rotor objects to.
@type structure: lib.structure.internal.object.Internal instance
@keyword representation: The representation to create. If this is set
to None, the rotor will be dumbbell shaped with propellers at both ends. If
set to 'A' or 'B', only half of the rotor will be shown.
@type representation: None or str
+ @keyword size: The size of the geometric object in Angstroms.
+ @type size: float
@keyword sims: A flag which if True will add the Monte Carlo
simulation rotors to the structural object. There must be one model for each
Monte Carlo simulation already present in the structural object.
@type sims: bool
"""
@@ -416,11 +418,11 @@
axes = generate_axis_system(sim_index=sim_indices[i])
axis.append(axes[:, 2])
- # The size of the rotor, taking the 30 Angstrom cone
representation into account.
+ # The size of the rotor (Angstrom), taking the cone representation
into account by adding 5 Angstrom.
if cdp.model in [MODEL_ROTOR, MODEL_FREE_ROTOR]:
- span.append(20e-10)
- else:
- span.append(35e-10)
+ span.append(size)
+ else:
+ span.append(size + 5.0)
# Stagger the propeller blades.
if cdp.model in MODEL_LIST_FREE_ROTORS:
@@ -461,9 +463,9 @@
axis.append(frame[:, 0])
axis.append(frame[:, 1])
- # The rotor size.
- span.append(20e-10)
- span.append(20e-10)
+ # The rotor size (Angstrom).
+ span.append(size)
+ span.append(size)
# Stagger the propeller blades.
staggered.append(True)
@@ -487,7 +489,7 @@
# Add each rotor to the structure as a new molecule.
for i in range(len(axis)):
- rotor(structure=structure, rotor_angle=rotor_angle[i], axis=dot(T,
axis[i]), axis_pt=pivot[i], label=label[i], centre=com[i], span=span[i],
blade_length=5e-10, model_num=models[i], staggered=staggered[i],
half_rotor=half_rotor)
+ rotor(structure=structure, rotor_angle=rotor_angle[i], axis=dot(T,
axis[i]), axis_pt=pivot[i], label=label[i], centre=com[i], span=span[i]/1e10,
blade_length=5e-10, model_num=models[i], staggered=staggered[i],
half_rotor=half_rotor)
def average_position(structure=None, models=None, sim=None):
@@ -705,7 +707,7 @@
add_pivots(structure=structures[i], sims=sims[i])
# Add all rotor objects.
- add_rotors(structure=structures[i], representation=representation[i],
sims=sims[i])
+ add_rotors(structure=structures[i], representation=representation[i],
size=size, sims=sims[i])
# Add the axis systems.
add_axes(structure=structures[i], representation=representation[i],
size=size, sims=sims[i])
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits 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-commits