Author: bugman
Date: Wed Oct 1 19:44:25 2014
New Revision: 26113
URL: http://svn.gna.org/viewcvs/relax?rev=26113&view=rev
Log:
The pipe_control.structure.main functions translate() and rotate() now accept
the pipe_name argument.
This is used to translate and rotate structures in different data pipes, as
required by the
structure.align user function.
Modified:
trunk/pipe_control/structure/main.py
Modified: trunk/pipe_control/structure/main.py
URL:
http://svn.gna.org/viewcvs/relax/trunk/pipe_control/structure/main.py?rev=26113&r1=26112&r2=26113&view=diff
==============================================================================
--- trunk/pipe_control/structure/main.py (original)
+++ trunk/pipe_control/structure/main.py Wed Oct 1 19:44:25 2014
@@ -42,7 +42,7 @@
from pipe_control import molmol, pipes
from pipe_control.interatomic import interatomic_loop
from pipe_control.mol_res_spin import check_mol_res_spin_data, create_spin,
generate_spin_id_unique, linear_ave, return_spin, spin_loop
-from pipe_control.pipes import check_pipe, get_pipe
+from pipe_control.pipes import cdp_name, check_pipe, get_pipe
from pipe_control.structure.mass import pipe_centre_of_mass
from status import Status; status = Status()
from target_functions.ens_pivot_finder import Pivot_finder
@@ -962,7 +962,7 @@
return cdp.structure.rmsd
-def rotate(R=None, origin=None, model=None, atom_id=None):
+def rotate(R=None, origin=None, model=None, atom_id=None, pipe_name=None):
"""Rotate the structural data about the origin by the specified forwards
rotation.
@keyword R: The forwards rotation matrix.
@@ -973,11 +973,20 @@
@type model: int
@keyword atom_id: The molecule, residue, and atom identifier string.
Only atoms matching this selection will be used.
@type atom_id: str or None
- """
+ @keyword pipe_name: The name of the data pipe containing the structures to
translate. This defaults to the current data pipe.
+ @type pipe_name: None or str
+ """
+
+ # Defaults.
+ if pipe_name == None:
+ pipe_name = cdp_name()
# Checks.
- check_pipe()
- check_structure()
+ check_pipe(pipe_name)
+ check_structure(pipe_name)
+
+ # Get the data pipe.
+ dp = get_pipe(pipe_name)
# Set the origin if not supplied.
if origin == None:
@@ -988,8 +997,8 @@
origin = array(origin, float64)
# Call the specific code.
- selection = cdp.structure.selection(atom_id=atom_id)
- cdp.structure.rotate(R=R, origin=origin, model=model, selection=selection)
+ selection = dp.structure.selection(atom_id=atom_id)
+ dp.structure.rotate(R=R, origin=origin, model=model, selection=selection)
def set_vector(spin=None, xh_vect=None):
@@ -1074,7 +1083,7 @@
rotate(R=R[i], origin=pivot[i], model=models[i])
-def translate(T=None, model=None, atom_id=None):
+def translate(T=None, model=None, atom_id=None, pipe_name=None):
"""Shift the structural data by the specified translation vector.
@keyword T: The translation vector.
@@ -1083,18 +1092,27 @@
@type model: int or None
@keyword atom_id: The molecule, residue, and atom identifier string.
Only atoms matching this selection will be used.
@type atom_id: str or None
- """
+ @keyword pipe_name: The name of the data pipe containing the structures to
translate. This defaults to the current data pipe.
+ @type pipe_name: None or str
+ """
+
+ # Defaults.
+ if pipe_name == None:
+ pipe_name = cdp_name()
# Checks.
- check_pipe()
- check_structure()
+ check_pipe(pipe_name)
+ check_structure(pipe_name)
+
+ # Get the data pipe.
+ dp = get_pipe(pipe_name)
# Convert the args to numpy float data structures.
T = array(T, float64)
# Call the specific code.
- selection = cdp.structure.selection(atom_id=atom_id)
- cdp.structure.translate(T=T, model=model, selection=selection)
+ selection = dp.structure.selection(atom_id=atom_id)
+ dp.structure.translate(T=T, model=model, selection=selection)
def vectors(spin_id1=None, spin_id2=None, model=None, verbosity=1, ave=True,
unit=True):
_______________________________________________
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