mailRe: r6275 - /1.3/specific_fns/model_free/results.py


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

Header


Content

Posted by Edward d'Auvergne on May 30, 2008 - 10:32:
That's a good point, the length is not constant.  I might change the test to:

-----
if len(file_data[0]) > 9 and file_data[0][0:8] == ['Num', 'Name',
'Selected', 'Data_set', 'Nucleus', 'Model', 'Equation', 'Params']:
-----

This will then avoid the error situation of elements 0 to 8 not
existing in file_data[0].

Thanks,

Edward


On Thu, May 29, 2008 at 9:42 PM, Sébastien Morin
<sebastien.morin.1@xxxxxxxxx> wrote:
Hi Ed,

Won't the variable "len(file_data[0])" change size depending on the
number of datasets used in relax but also on the diffusion tensor selected ?

For example, there are 51 fields for a 'local_tm' diffusion using 8
datasets, but 58 fields for an ellipsoid using 9 datasets...

Maybe the check for version 1.2 could be something more like :

--------------------------
if file_data[0][0:8] == ['Num', 'Name', 'Selected', 'Data_set',
'Nucleus', 'Model', 'Equation', 'Params']:
--------------------------

instead of

--------------------------
if len(file_data[0]) == 54 and file_data[0][0:8] == ['Num', 'Name',
'Selected', 'Data_set', 'Nucleus', 'Model', 'Equation', 'Params']:
--------------------------

This change works for the two cases in example above...

What do you think ?

Ciao !


Séb





edward@xxxxxxxxxxxxx wrote:
Author: bugman
Date: Wed May 28 21:35:55 2008
New Revision: 6275

URL: http://svn.gna.org/viewcvs/relax?rev=6275&view=rev
Log:
Wrote a method for determining which relax version the results file 
belongs to.


Modified:
    1.3/specific_fns/model_free/results.py

Modified: 1.3/specific_fns/model_free/results.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/specific_fns/model_free/results.py?rev=6275&r1=6274&r2=6275&view=diff
==============================================================================
--- 1.3/specific_fns/model_free/results.py (original)
+++ 1.3/specific_fns/model_free/results.py Wed May 28 21:35:55 2008
@@ -38,6 +38,32 @@
 class Results:
     """Class containing methods specific to the model-free results 
files."""

+    def __determine_version(self, file_data):
+        """Determine which relax version the results file belongs to.
+
+        @param file_data:   The processed results file data.
+        @type file_data:    list of lists of str
+        @return:            The relax version number.
+        @rtype:             str
+        @raises RelaxError: If the relax version the model-free results 
file belongs to cannot be
+                            determined.
+        """
+
+        # relax 1.2 results file (test for the 1.2 header line).
+        if len(file_data[0]) == 54 and file_data[0][0:8] == ['Num', 
'Name', 'Selected', 'Data_set', 'Nucleus', 'Model', 'Equation', 'Params']:
+            version = '1.2'
+
+        # Can't determine the file version.
+        else:
+            raise RelaxError, "Cannot determine the relax version the 
model-free results file belongs to."
+
+        # Print out.
+        print "relax " + version + " model-free results file."
+
+        # Return the version.
+        return version
+
+
     def read_columnar_col_numbers(self, header):
         """Function for sorting the column numbers from the columnar 
formatted results file."""

@@ -721,6 +747,9 @@
         @type verbosity:    int
         """

+        # Determine the results file version.
+        version = self.__determine_version(file_data)
+
         # Extract and remove the header.
         header = file_data[0]
         file_data = file_data[1:]


_______________________________________________
relax (http://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







Related Messages


Powered by MHonArc, Updated Fri May 30 10:42:05 2008