UltraScan III
us_analyte.h
Go to the documentation of this file.
1 #ifndef US_ANALYTE_H
3 #define US_ANALYTE_H
4 
5 #include <QtCore>
6 
7 #include "us_extern.h"
8 #include "us_db2.h"
9 
12 {
13  public:
15  US_Analyte();
16 
18  bool operator== ( const US_Analyte& ) const;
19 
20 
22  enum analyte_t { PROTEIN, DNA, RNA, CARBOHYDRATE };
23 
24  double vbar20;
25  double mw;
26  QString description;
27  QString analyteGUID;
28  QString sequence;
30  bool grad_form;
31 
32  // The following values are valid for DNA/RNA only
34  bool complement;
35  bool _3prime;
36  bool _5prime;
37  double sodium;
38  double potassium;
39  double lithium;
40  double magnesium;
41  double calcium;
42 
44  QMap< double, double > extinction;
45 
47  QMap< double, double > refraction;
48 
50  QMap< double, double > fluorescence;
51 
54  QString message;
55  QString analyteID;
56 
63  int load( bool, const QString&, US_DB2* = 0 );
64 
72  int write( bool, const QString&, US_DB2* = 0 );
73 
78  static bool analyte_path( QString& );
79 
84  static QString get_filename( const QString&, const QString& );
85 
87  void dump ( void );
88 
89  private:
90  int load_db ( const QString&, US_DB2* );
91  int load_disk ( const QString& );
92  int read_analyte( const QString& );
93  void nucleotide ( void );
94 
95  int write_disk ( const QString& );
96  int write_db ( US_DB2* );
97  void set_spectrum ( US_DB2* );
98  void write_nucleotide( US_DB2* );
99 };
100 #endif