Author: tlinnet
Date: Thu Dec 12 11:02:00 2013
New Revision: 21949
URL: http://svn.gna.org/viewcvs/relax?rev=21949&view=rev
Log:
Implemented to read spins from a SPARKY list, when no intensity column is
present.
Addition to Support Request #3044, (https://gna.org/support/index.php?3044)
- Load spins from SPARKY list.
Modified:
trunk/lib/spectrum/sparky.py
trunk/test_suite/system_tests/peak_lists.py
Modified: trunk/lib/spectrum/sparky.py
URL:
http://svn.gna.org/viewcvs/relax/trunk/lib/spectrum/sparky.py?rev=21949&r1=21948&r2=21949&view=diff
==============================================================================
--- trunk/lib/spectrum/sparky.py (original)
+++ trunk/lib/spectrum/sparky.py Thu Dec 12 11:02:00 2013
@@ -204,15 +204,29 @@
except ValueError:
raise RelaxError("The peak intensity value from the line
%s is invalid." % line)
- # Add the assignment to the peak list object.
- if dim == 1:
- peak_list.add(res_nums=[res_num1], res_names=[res_name1],
spin_names=[name1], shifts=[w1], intensity=intensity)
- elif dim == 2:
- peak_list.add(res_nums=[res_num1, res_num2],
res_names=[res_name1, res_name2], spin_names=[name1, name2], shifts=[w1,
w2], intensity=intensity)
- elif dim == 3:
- peak_list.add(res_nums=[res_num1, res_num2, res_num1],
res_names=[res_name1, res_name2, res_name1], spin_names=[name1, name2,
name3], shifts=[w1, w2, w3], intensity=intensity)
- elif dim == 4:
- peak_list.add(res_nums=[res_num1, res_num2, res_num1,
res_num1], res_names=[res_name1, res_name2, res_name1, res_name1],
spin_names=[name1, name2, name3, name4], shifts=[w1, w2, w3, w4],
intensity=intensity)
+ # Add the assignment to the peak list object.
+ if dim == 1:
+ peak_list.add(res_nums=[res_num1], res_names=[res_name1],
spin_names=[name1], shifts=[w1], intensity=intensity)
+ elif dim == 2:
+ peak_list.add(res_nums=[res_num1, res_num2],
res_names=[res_name1, res_name2], spin_names=[name1, name2], shifts=[w1,
w2], intensity=intensity)
+ elif dim == 3:
+ peak_list.add(res_nums=[res_num1, res_num2, res_num1],
res_names=[res_name1, res_name2, res_name1], spin_names=[name1, name2,
name3], shifts=[w1, w2, w3], intensity=intensity)
+ elif dim == 4:
+ peak_list.add(res_nums=[res_num1, res_num2, res_num1,
res_num1], res_names=[res_name1, res_name2, res_name1, res_name1],
spin_names=[name1, name2, name3, name4], shifts=[w1, w2, w3, w4],
intensity=intensity)
+
+ # If no intensity column, for example when reading spins from a
spectrum list.
+ elif int_col == None:
+ warn(RelaxWarning(("The peak intensity value from the line %s
is invalid. The return value will be without intensity." % line)))
+
+ # Add the assignment to the peak list object.
+ if dim == 1:
+ peak_list.add(res_nums=[res_num1], res_names=[res_name1],
spin_names=[name1], shifts=[w1])
+ elif dim == 2:
+ peak_list.add(res_nums=[res_num1, res_num2],
res_names=[res_name1, res_name2], spin_names=[name1, name2], shifts=[w1,
w2])
+ elif dim == 3:
+ peak_list.add(res_nums=[res_num1, res_num2, res_num1],
res_names=[res_name1, res_name2, res_name1], spin_names=[name1, name2,
name3], shifts=[w1, w2, w3])
+ elif dim == 4:
+ peak_list.add(res_nums=[res_num1, res_num2, res_num1,
res_num1], res_names=[res_name1, res_name2, res_name1, res_name1],
spin_names=[name1, name2, name3, name4], shifts=[w1, w2, w3, w4])
def write_list(file_prefix=None, dir=None, res_names=None, res_nums=None,
atom1_names=None, atom2_names=None, w1=None, w2=None, data_height=None,
force=True):
Modified: trunk/test_suite/system_tests/peak_lists.py
URL:
http://svn.gna.org/viewcvs/relax/trunk/test_suite/system_tests/peak_lists.py?rev=21949&r1=21948&r2=21949&view=diff
==============================================================================
--- trunk/test_suite/system_tests/peak_lists.py (original)
+++ trunk/test_suite/system_tests/peak_lists.py Thu Dec 12 11:02:00 2013
@@ -456,6 +456,76 @@
# Read the spins from peak list.
self.interpreter.spectrum.read_spins(file="sparky2dim.list",
dir=status.install_path +
sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=1)
self.interpreter.spectrum.read_spins(file="sparky2dim.list",
dir=status.install_path +
sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=2)
+
+ # Test some of the sequence.
+ self.assertEqual(len(cdp.mol), 1)
+ self.assertEqual(cdp.mol[0].name, None)
+ self.assertEqual(len(cdp.mol[0].res), 7)
+
+ # 1st residue.
+ self.assertEqual(cdp.mol[0].res[0].num, 62)
+ self.assertEqual(cdp.mol[0].res[0].name, 'W')
+ self.assertEqual(len(cdp.mol[0].res[0].spin), 2)
+ self.assertEqual(cdp.mol[0].res[0].spin[0].num, None)
+ self.assertEqual(cdp.mol[0].res[0].spin[0].name, 'NE1')
+ self.assertEqual(cdp.mol[0].res[0].spin[1].num, None)
+ self.assertEqual(cdp.mol[0].res[0].spin[1].name, 'HE1')
+
+ # 2nd residue.
+ self.assertEqual(cdp.mol[0].res[1].num, 10)
+ self.assertEqual(cdp.mol[0].res[1].name, 'L')
+ self.assertEqual(len(cdp.mol[0].res[1].spin), 2)
+ self.assertEqual(cdp.mol[0].res[1].spin[0].num, None)
+ self.assertEqual(cdp.mol[0].res[1].spin[0].name, 'N')
+ self.assertEqual(cdp.mol[0].res[1].spin[1].num, None)
+ self.assertEqual(cdp.mol[0].res[1].spin[1].name, 'HN')
+
+ # 3rd residue.
+ self.assertEqual(cdp.mol[0].res[2].num, 6)
+ self.assertEqual(cdp.mol[0].res[2].name, 'V')
+ self.assertEqual(len(cdp.mol[0].res[2].spin), 2)
+ self.assertEqual(cdp.mol[0].res[2].spin[0].num, None)
+ self.assertEqual(cdp.mol[0].res[2].spin[0].name, 'N')
+ self.assertEqual(cdp.mol[0].res[2].spin[1].num, None)
+ self.assertEqual(cdp.mol[0].res[2].spin[1].name, 'HN')
+
+ # 4th residue.
+ self.assertEqual(cdp.mol[0].res[3].num, 2)
+ self.assertEqual(cdp.mol[0].res[3].name, 'T')
+ self.assertEqual(len(cdp.mol[0].res[3].spin), 2)
+ self.assertEqual(cdp.mol[0].res[3].spin[0].num, None)
+ self.assertEqual(cdp.mol[0].res[3].spin[0].name, 'N')
+ self.assertEqual(cdp.mol[0].res[3].spin[1].num, None)
+ self.assertEqual(cdp.mol[0].res[3].spin[1].name, 'HN')
+
+ # 5th residue.
+ self.assertEqual(cdp.mol[0].res[4].num, 3)
+ self.assertEqual(cdp.mol[0].res[4].name, 'K')
+ self.assertEqual(len(cdp.mol[0].res[4].spin), 1)
+ self.assertEqual(cdp.mol[0].res[4].spin[0].num, None)
+ self.assertEqual(cdp.mol[0].res[4].spin[0].name, 'N')
+
+ # 6th residue.
+ self.assertEqual(cdp.mol[0].res[5].num, 4)
+ self.assertEqual(cdp.mol[0].res[5].name, 'A')
+ self.assertEqual(len(cdp.mol[0].res[5].spin), 1)
+ self.assertEqual(cdp.mol[0].res[5].spin[0].num, None)
+ self.assertEqual(cdp.mol[0].res[5].spin[0].name, 'N')
+
+ # 7th residue.
+ self.assertEqual(cdp.mol[0].res[6].num, 5)
+ self.assertEqual(cdp.mol[0].res[6].name, 'V')
+ self.assertEqual(len(cdp.mol[0].res[6].spin), 1)
+ self.assertEqual(cdp.mol[0].res[6].spin[0].num, None)
+ self.assertEqual(cdp.mol[0].res[6].spin[0].name, 'N')
+
+
+ def test_read_spins_peak_list_sparky_with_no_int_col(self):
+ """Test the reading of spins from a Sparky peak list with no
intensity column."""
+
+ # Read the spins from peak list.
+ self.interpreter.spectrum.read_spins(file="sparky_wo_int.list",
dir=status.install_path +
sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=1)
+ self.interpreter.spectrum.read_spins(file="sparky_wo_int.list",
dir=status.install_path +
sep+'test_suite'+sep+'shared_data'+sep+'peak_lists', dim=2)
# Test some of the sequence.
self.assertEqual(len(cdp.mol), 1)
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits mailing list
relax-commits@xxxxxxx
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