1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 import __builtin__
24 from re import match
25 from types import ClassType
26 import time
27 import warnings
28 import inspect
29
30
31
32
33
34
37 """Class for placing all the errors below into __builtin__"""
38
39
40 for name in dir(self):
41
42 object = getattr(self, name)
43
44
45 if not (isinstance(object, ClassType) or isinstance(object, type(type))) or not match('Relax', name):
46 continue
47
48
49 setattr(object, '_relax', relax)
50
51
52 __builtin__.__setattr__(name, object)
53
54
55 if hasattr(__builtin__, 'AllRelaxErrors'):
56 __builtin__.AllRelaxErrors = __builtin__.AllRelaxErrors, object
57 else:
58 __builtin__.AllRelaxErrors = object,
59
60
61
62
63
66 return ("RelaxError: " + self.text + "\n")
67
68
70 """Function for saving the program state."""
71
72 now = time.localtime()
73 file_name = "relax_state_%i%02i%02i_%02i%02i%02i" % (now[0], now[2], now[1], now[3], now[4], now[5])
74 self._relax.interpreter._State.save(file_name)
75
76
77
78
79
85
86
87
88
89
92 self.text = "Impossible to be here, please re-run relax with the '--debug' flag and summit a bug report at https://web.archive.org/web/https://gna.org/projects/relax/."
93 self.save_state()
94
95
96
97
98
99
102 self.text = "The program " + `name` + " cannot be found."
103 if Debug:
104 self.save_state()
105
106
107
110 self.text = "The binary executable file " + `name` + " does not exist."
111 if Debug:
112 self.save_state()
113
114
115
118 self.text = "The binary executable file " + `name` + " is not executable."
119 if Debug:
120 self.save_state()
121
122
123
126 self.text = "The binary executable file " + `name` + " is not located within the system path."
127 if Debug:
128 self.save_state()
129
130
131
134 self.text = "Execution of the program " + name + " has failed."
135 if Debug:
136 self.save_state()
137
138
139
140
141
142
145 self.text = "PDB data corresponding to the run " + `run` + " already exists."
146 if Debug:
147 self.save_state()
148
149
152 self.text = "No PDB file has been loaded for the run " + `run` + "."
153 if Debug:
154 self.save_state()
155
156
159 self.text = "The PDB file " + `name` + " could not be loaded properly, no molecular chains could be extracted."
160 if Debug:
161 self.save_state()
162
163
166 self.text = "The unit XH bond vectors for the run " + `run` + " have not been calculated."
167 if Debug:
168 self.save_state()
169
170
173 self.text = "No peptide or nucleotide chains can be found within the PDB file."
174 if Debug:
175 self.save_state()
176
177
178
179
180
181
184 self.text = "The type of nucleus has not yet been set."
185 if Debug:
186 self.save_state()
187
188
189
190
191
194 self.text = "The " + name + " argument " + `value` + " is invalid."
195 if Debug:
196 self.save_state()
197
198
201 self.text = "The " + name + " argument " + `value` + " is neither "
202 for i in xrange(len(list)-1):
203 self.text = self.text + `list[i]` + ', '
204 self.text = self.text + 'nor ' + `list[-1]` + "."
205 if Debug:
206 self.save_state()
207
208
211 self.text = "The " + name + " argument " + `value` + " must either be the integer 0 or 1."
212 if Debug:
213 self.save_state()
214
215
218 self.text = "The " + name + " argument " + `value` + " must be a floating point number."
219 if Debug:
220 self.save_state()
221
222
225 self.text = "The " + name + " argument " + `value` + " must be a number."
226 if Debug:
227 self.save_state()
228
229
232 self.text = "The " + name + " argument " + `value` + " must be a function."
233 if Debug:
234 self.save_state()
235
236
239 self.text = "The " + name + " argument " + `value` + " must be an integer."
240 if Debug:
241 self.save_state()
242
243
246 self.text = "The " + name + " argument " + `value` + " must either be an integer or an array of integers."
247 if Debug:
248 self.save_state()
249
250
253 self.text = "The " + name + " argument " + `value` + " must either be an integer or a string."
254 if Debug:
255 self.save_state()
256
257
260 self.text = "The " + name + " argument must be of length " + `len` + "."
261 if Debug:
262 self.save_state()
263
264
267 self.text = "The " + name + " argument " + `value` + " must be an array."
268 if Debug:
269 self.save_state()
270
271
274 self.text = "The " + name + " argument " + `value` + " must be an array of floating point numbers."
275 if Debug:
276 self.save_state()
277
278
281 self.text = "The " + name + " argument " + `value` + " must be an array of integers."
282 if Debug:
283 self.save_state()
284
285
288 self.text = "The " + name + " argument " + `value` + " must be an array of numbers."
289 if Debug:
290 self.save_state()
291
292
295 self.text = "The " + name + " argument " + `value` + " must be an array of strings."
296 if Debug:
297 self.save_state()
298
299
302 self.text = "The " + name + " argument " + `value` + " must be a tuple."
303 if Debug:
304 self.save_state()
305
306
309 self.text = "The " + name + " argument " + `value` + " must either be a number or tuple of numbers."
310 if Debug:
311 self.save_state()
312
313
316 self.text = "The " + name + " argument has not been supplied."
317 if Debug:
318 self.save_state()
319
320
323 self.text = "The " + name + " argument " + `value` + " must either be a floating point number or None."
324 if Debug:
325 self.save_state()
326
327
330 self.text = "The " + name + " argument " + `value` + " must either be a floating point number, a list, or None."
331 if Debug:
332 self.save_state()
333
334
337 self.text = "The " + name + " argument " + `value` + " must either be an integer or None."
338 if Debug:
339 self.save_state()
340
341
344 self.text = "The " + name + " argument " + `value` + " must either be an integer, a string, or None."
345 if Debug:
346 self.save_state()
347
348
351 self.text = "The " + name + " argument " + `value` + " must either be an array or None."
352 if Debug:
353 self.save_state()
354
355
358 self.text = "The " + name + " argument " + `value` + " must either be a number or None."
359 if Debug:
360 self.save_state()
361
362
365 self.text = "The " + name + " argument " + `value` + " must either be a string or None."
366 if Debug:
367 self.save_state()
368
369
372 self.text = "The " + name + " argument " + `value` + " must either be a string or None."
373 if Debug:
374 self.save_state()
375
376
379 self.text = "The " + name + " argument " + `value` + " must either be a tuple or None."
380 if Debug:
381 self.save_state()
382
383
386 self.text = "The " + name + " argument " + `value` + " must be a string."
387 if Debug:
388 self.save_state()
389
390
393 self.text = "The " + name + " argument " + `value` + " must either be an string or an array of strings."
394 if Debug:
395 self.save_state()
396
397
398
399
400
401
404 self.text = "The sequence data for the run " + `run` + " does not exist."
405 if Debug:
406 self.save_state()
407
408
411 self.text = "The sequence data for the run " + `run` + " already exists."
412 if Debug:
413 self.save_state()
414
415
418 self.text = "The sequences for the runs " + `run1` + " and " + `run2` + " are not the same."
419 if Debug:
420 self.save_state()
421
422
425 if name == None:
426 self.text = "The residue '" + `number` + "' cannot be found in the sequence."
427 else:
428 self.text = "The residue '" + `number` + " " + name + "' cannot be found in the sequence."
429 if Debug:
430 self.save_state()
431
432
433
434
435
436
438 - def __init__(self, ri_label, frq_label):
439 self.text = "Relaxation data corresponding to ri_label = " + `ri_label` + " and frq_label = " + `frq_label` + " does not exist."
440 if Debug:
441 self.save_state()
442
443
445 - def __init__(self, ri_label, frq_label):
446 self.text = "Relaxation data corresponding to ri_label = " + `ri_label` + " and frq_label = " + `frq_label` + " already exists."
447 if Debug:
448 self.save_state()
449
450
451
452
453
454
457 self.text = "Model-free data corresponding to the run " + `run` + " already exists."
458 if Debug:
459 self.save_state()
460
461
462
463
464
465
468 self.text = "Diffusion tensor data corresponding to the run " + `run` + " already exists."
469 if Debug:
470 self.save_state()
471
472
475 self.text = "No diffusion tensor data is loaded for the run " + `run` + "."
476 if Debug:
477 self.save_state()
478
479
480
481
482
483
486 if name == None:
487 self.text = "The directory " + `dir` + " does not exist."
488 else:
489 self.text = "The " + name + " directory " + `dir` + " does not exist."
490 if Debug:
491 self.save_state()
492
493
495 - def __init__(self, name, file_name=None):
496 if file_name == None:
497 self.text = "The file " + `name` + " does not exist."
498 else:
499 self.text = "The " + name + " file " + `file_name` + " does not exist."
500 if Debug:
501 self.save_state()
502
503
506 self.text = "The file contains no data."
507 if Debug:
508 self.save_state()
509
510
513 self.text = "The file " + `file_name` + " already exists. Set the " + flag + " to 1 to overwrite."
514 if Debug:
515 self.save_state()
516
517
520 self.text = "The format of the data is invalid."
521 if Debug:
522 self.save_state()
523
524
525
526
527
528
531 self.text = "The run " + `run` + " already exists."
532 if Debug:
533 self.save_state()
534
535
538 self.text = "The run " + `run` + " has not been created yet."
539 if Debug:
540 self.save_state()
541
542
543
544
545
546
549 self.text = "This function is not available for " + string + "."
550 if Debug:
551 self.save_state()
552
553
556 self.text = "The models corresponding to the run " + `run` + " have not been setup."
557 if Debug:
558 self.save_state()
559
560
561
562
563
564
567 self.text = "The " + name + " argument " + `value` + " is not valid regular expression."
568 if Debug:
569 self.save_state()
570
571
572
573
574
575
578 self.text = "The data type " + `data_type` + " already exists for " + `run` + "."
579 if Debug:
580 self.save_state()
581
582
585 self.text = "The " + `name` + " value has not yet been set."
586 if Debug:
587 self.save_state()
588
589
592 self.text = "The data type " + `name` + " is unknown."
593 if Debug:
594 self.save_state()
595
596
598 - def __init__(self, name, param_type=None):
599 if param_type:
600 self.text = "The " + param_type + " parameter " + `name` + " is unknown."
601 else:
602 self.text = "The parameter " + `name` + " is unknown."
603 if Debug:
604 self.save_state()
605
606
609 self.text = "The " + `name` + " argument " + `data` + " represents an unknown parameter combination."
610 if Debug:
611 self.save_state()
612
613
614
615
616
617
620 self.text = "Simulations for the run " + `run` + " have not been setup."
621 if Debug:
622 self.save_state()
623
624
625
626
627
628
631 self.text = "The style " + `style` + " is unknown."
632 if Debug:
633 self.save_state()
634
635
636
637
638
639
645
646
647
648
649
650
653 self.text = "The invalid " + name + " floating point value of infinity has occurred."
654 if Debug:
655 self.save_state()
656
657
660 self.text = "The invalid " + name + " floating point value of NaN (Not a Number) has occurred."
661 if Debug:
662 self.save_state()
663
664
665
666
667
668
671 """Class for placing all the warnings below into __builtin__"""
672
673
674 for name in dir(self):
675
676 object = getattr(self, name)
677
678
679 if not (isinstance(object, ClassType) or isinstance(object, type(type))) or not match('Relax', name):
680 continue
681
682
683 __builtin__.__setattr__(name, object)
684
685
686 if hasattr(__builtin__, 'AllRelaxWarnings'):
687 __builtin__.AllRelaxWarnings = __builtin__.AllRelaxWarnings, object
688 else:
689 __builtin__.AllRelaxWarnings = object,
690
691
692 warnings.formatwarning = self.format
693
694
695 if Pedantic:
696 warnings.filterwarnings('error', category=self.BaseWarning)
697 else:
698 warnings.filterwarnings('always', category=self.BaseWarning)
699
700
728
729
730
731
732
736
737
738
739
740
744
745
746
747
748
749
752 self.text = "The XH bond vector for residue " + `res` + " is of zero length."
753
754
755
758 self.text = "The atom %s could not be found for residue %i" % (atom, res)
759
760
761
764 self.text = "The PDB file %s cannot be found, no structures will be loaded." % file
765