extensions/net.sf.basedb.meludi/trunk/src/net/sf/basedb/meludi/dao/Annotationtype.java

Code
Comments
Other
Rev Date Author Line
2933 14 Nov 14 olle 1 package net.sf.basedb.meludi.dao;
2933 14 Nov 14 olle 2
2933 14 Nov 14 olle 3 import java.lang.reflect.Field;
2933 14 Nov 14 olle 4 import java.util.ArrayList;
2933 14 Nov 14 olle 5 import java.util.Collections;
2933 14 Nov 14 olle 6 import java.util.List;
2933 14 Nov 14 olle 7
2933 14 Nov 14 olle 8 import org.json.simple.JSONObject;
2933 14 Nov 14 olle 9
2933 14 Nov 14 olle 10 import net.sf.basedb.core.Annotatable;
2933 14 Nov 14 olle 11 import net.sf.basedb.core.AnnotationSet;
2933 14 Nov 14 olle 12 import net.sf.basedb.core.AnnotationType;
2933 14 Nov 14 olle 13 import net.sf.basedb.core.DbControl;
2933 14 Nov 14 olle 14 import net.sf.basedb.core.Include;
2933 14 Nov 14 olle 15 import net.sf.basedb.core.InvalidDataException;
2933 14 Nov 14 olle 16 import net.sf.basedb.core.Item;
2933 14 Nov 14 olle 17 import net.sf.basedb.core.ItemNotFoundException;
2933 14 Nov 14 olle 18 import net.sf.basedb.core.ItemQuery;
2933 14 Nov 14 olle 19 import net.sf.basedb.core.Type;
2933 14 Nov 14 olle 20 import net.sf.basedb.core.query.Expression;
2933 14 Nov 14 olle 21 import net.sf.basedb.core.query.Expressions;
2933 14 Nov 14 olle 22 import net.sf.basedb.core.query.Hql;
2933 14 Nov 14 olle 23 import net.sf.basedb.core.query.Restrictions;
2933 14 Nov 14 olle 24 import net.sf.basedb.core.snapshot.AnnotationSnapshot;
2933 14 Nov 14 olle 25 import net.sf.basedb.core.snapshot.AnnotationTypeFilter;
2933 14 Nov 14 olle 26 import net.sf.basedb.core.snapshot.SnapshotManager;
2933 14 Nov 14 olle 27
2933 14 Nov 14 olle 28 /**
2933 14 Nov 14 olle 29   Used to define a annotation type items.
2933 14 Nov 14 olle 30   
2933 14 Nov 14 olle 31   @author nicklas (Reggie)
2933 14 Nov 14 olle 32   @since 1.0
2933 14 Nov 14 olle 33 */
2933 14 Nov 14 olle 34 public class Annotationtype 
2933 14 Nov 14 olle 35 {
2933 14 Nov 14 olle 36
2933 14 Nov 14 olle 37
2933 14 Nov 14 olle 38   /**
2933 14 Nov 14 olle 39     The "PersonalNumber" annotation type, used
2933 14 Nov 14 olle 40     to store 12-digit personal number for biosources (Patient). The
2933 14 Nov 14 olle 41     number should be unique and is stored as a string.
2933 14 Nov 14 olle 42   */
2933 14 Nov 14 olle 43   public static final Annotationtype PERSONAL_NUMBER = 
2933 14 Nov 14 olle 44     new Annotationtype("PersonalNumber", Type.STRING, true, Item.BIOSOURCE);
2933 14 Nov 14 olle 45
2933 14 Nov 14 olle 46   /**
2933 14 Nov 14 olle 47     The "FamilyName" annotation type, used
2933 14 Nov 14 olle 48     to store the family name for biosources (Patient). It is a
2933 14 Nov 14 olle 49     string annotation type.
2933 14 Nov 14 olle 50   */
2933 14 Nov 14 olle 51   public static final Annotationtype FAMILY_NAME = 
2933 14 Nov 14 olle 52     new Annotationtype("FamilyName", Type.STRING, true, Item.BIOSOURCE);
2933 14 Nov 14 olle 53   
2933 14 Nov 14 olle 54   /**
2933 14 Nov 14 olle 55     The "AllFirstNames" annotation type, used
2933 14 Nov 14 olle 56     to store the first names for biosources (Patient). It is a
2933 14 Nov 14 olle 57     string annotation type.
2933 14 Nov 14 olle 58   */
2933 14 Nov 14 olle 59   public static final Annotationtype ALL_FIRST_NAMES = 
2933 14 Nov 14 olle 60     new Annotationtype("AllFirstNames", Type.STRING, true, Item.BIOSOURCE);
2933 14 Nov 14 olle 61   
2933 14 Nov 14 olle 62   /**
2933 14 Nov 14 olle 63     The "Gender" annotation type, used
2933 14 Nov 14 olle 64     to store the gender of biosources (Patient). It is an
2933 14 Nov 14 olle 65     enumerated string annotation type with two options: F and M.
2933 14 Nov 14 olle 66   */
2933 14 Nov 14 olle 67   public static final Annotationtype GENDER = 
2933 14 Nov 14 olle 68     new Annotationtype("Gender", Type.STRING, false, Item.BIOSOURCE);
2933 14 Nov 14 olle 69   
2933 14 Nov 14 olle 70   /**
2933 14 Nov 14 olle 71     The "DateOfBirth" annotation type, used
2933 14 Nov 14 olle 72     to store the date of birth for biosources (Patient). It is a
2933 14 Nov 14 olle 73     date annotation type.
2933 14 Nov 14 olle 74   */
2933 14 Nov 14 olle 75   public static final Annotationtype DATE_OF_BIRTH = 
2933 14 Nov 14 olle 76     new Annotationtype("DateOfBirth", Type.DATE, false, Item.BIOSOURCE);
2933 14 Nov 14 olle 77
2933 14 Nov 14 olle 78   /**
4773 20 Apr 18 olle 79     The "Consent" annotation type, used
4773 20 Apr 18 olle 80     for samples (Case). It is an enumerated string annotation 
4773 20 Apr 18 olle 81     type with three options: Yes, No and Not asked
4773 20 Apr 18 olle 82   */
4773 20 Apr 18 olle 83   public static final Annotationtype CONSENT = 
4773 20 Apr 18 olle 84     new Annotationtype("Consent", Type.STRING, false, Item.SAMPLE);
4773 20 Apr 18 olle 85
4773 20 Apr 18 olle 86   /**
4773 20 Apr 18 olle 87     The "ConsentDate" annotation type, used
4773 20 Apr 18 olle 88     for samples (Case). It is a date annotation.
4773 20 Apr 18 olle 89   */
4773 20 Apr 18 olle 90   public static final Annotationtype CONSENT_DATE = 
4773 20 Apr 18 olle 91     new Annotationtype("ConsentDate", Type.DATE, false, Item.SAMPLE);
4773 20 Apr 18 olle 92
4773 20 Apr 18 olle 93   /**
4879 27 Jun 18 olle 94     The "DiagnosisConfirmed" annotation type, used
4879 27 Jun 18 olle 95     for samples (Case). It is a boolean annotation.
4879 27 Jun 18 olle 96   */
4879 27 Jun 18 olle 97   public static final Annotationtype DIAGNOSIS_CONFIRMED = 
4879 27 Jun 18 olle 98     new Annotationtype("DiagnosisConfirmed", Type.BOOLEAN, false, Item.SAMPLE);
4879 27 Jun 18 olle 99
4879 27 Jun 18 olle 100   /**
4795 08 May 18 olle 101     The "BloodSamplingDateTime" annotation, used
4795 08 May 18 olle 102     for samples (Blood). It is a time stamp annotation.
4795 08 May 18 olle 103   */
4795 08 May 18 olle 104   public static final Annotationtype BLOOD_SAMPLING_DATETIME = 
4795 08 May 18 olle 105     new Annotationtype("BloodSamplingDateTime", Type.TIMESTAMP, false, Item.SAMPLE);
4795 08 May 18 olle 106
4795 08 May 18 olle 107   /**
4795 08 May 18 olle 108     The "BloodSample" annotation, used for samples (Blood). It
4795 08 May 18 olle 109     is an enumerated string annotation with options:
4795 08 May 18 olle 110     PreNeo, PreOp, FollowUp06, FollowUp12, FollowUp36
4795 08 May 18 olle 111   */
4795 08 May 18 olle 112 /*
4795 08 May 18 olle 113   public static final Annotationtype BLOOD_SAMPLE = 
4795 08 May 18 olle 114     new Annotationtype("BloodSample", Type.STRING, false, Item.SAMPLE);
4795 08 May 18 olle 115 */
4795 08 May 18 olle 116
4795 08 May 18 olle 117   /**
4986 28 Sep 18 olle 118     The "TubeLabel" annotation type, used
4986 28 Sep 18 olle 119     for samples (Blood). It is a string annotation type.
4986 28 Sep 18 olle 120   */
4986 28 Sep 18 olle 121   public static final Annotationtype TUBE_LABEL = 
4986 28 Sep 18 olle 122     new Annotationtype("TubeLabel", Type.STRING, true, Item.SAMPLE);
4986 28 Sep 18 olle 123
4986 28 Sep 18 olle 124   /**
4840 08 Jun 18 olle 125     The "ReferralId" annotation type, used
4840 08 Jun 18 olle 126     for samples (Case). It is a string annotation type.
4840 08 Jun 18 olle 127   */
4840 08 Jun 18 olle 128   public static final Annotationtype REFERRAL_ID = 
4840 08 Jun 18 olle 129     new Annotationtype("ReferralId", Type.STRING, true, Item.SAMPLE);
4840 08 Jun 18 olle 130
4840 08 Jun 18 olle 131   /**
4899 10 Jul 18 olle 132     The "CaseId" annotation type, used
4899 10 Jul 18 olle 133     for samples (Blood, FFPE blocks). It is a string annotation type.
4899 10 Jul 18 olle 134   */
4899 10 Jul 18 olle 135   public static final Annotationtype CASE_ID = 
4899 10 Jul 18 olle 136     new Annotationtype("CaseId", Type.STRING, false, Item.SAMPLE);
4899 10 Jul 18 olle 137
4899 10 Jul 18 olle 138   /**
2933 14 Nov 14 olle 139     The "PLNumber" annotation type, used
2933 14 Nov 14 olle 140     for samples (Specimen). It is a string annotation type.
2933 14 Nov 14 olle 141   */
2933 14 Nov 14 olle 142   public static final Annotationtype PL_NUMBER = 
2933 14 Nov 14 olle 143     new Annotationtype("PLNumber", Type.STRING, true, Item.SAMPLE);
2933 14 Nov 14 olle 144
2933 14 Nov 14 olle 145   /**
2933 14 Nov 14 olle 146     The "PAD" annotation type, used
2933 14 Nov 14 olle 147     for samples (Specimen). It is a string annotation type.
2933 14 Nov 14 olle 148   */
2933 14 Nov 14 olle 149   public static final Annotationtype PAD = 
2933 14 Nov 14 olle 150     new Annotationtype("PAD", Type.STRING, true, Item.SAMPLE);
2933 14 Nov 14 olle 151
2933 14 Nov 14 olle 152   /**
5074 06 Nov 18 olle 153     The "MaterialNumber" annotation type, used
5074 06 Nov 18 olle 154     for samples (FFPE block). It is a string annotation type.
5074 06 Nov 18 olle 155   */
5074 06 Nov 18 olle 156   public static final Annotationtype MATERIAL_NUMBER = 
5074 06 Nov 18 olle 157     new Annotationtype("MaterialNumber", Type.STRING, true, Item.SAMPLE);
5074 06 Nov 18 olle 158
5074 06 Nov 18 olle 159   /**
5160 30 Nov 18 olle 160     The "Localisation" annotation type, used
5074 06 Nov 18 olle 161     for samples (FFPE block). It is a string annotation type.
5074 06 Nov 18 olle 162   */
5160 30 Nov 18 olle 163   public static final Annotationtype LOCALISATION = 
5160 30 Nov 18 olle 164     new Annotationtype("Localisation", Type.STRING, false, Item.SAMPLE);
5074 06 Nov 18 olle 165
5074 06 Nov 18 olle 166   /**
2933 14 Nov 14 olle 167      The "OtherPathNote" annotation type, 
2933 14 Nov 14 olle 168      used for samples (Specimen). It is a string annotation type.
2933 14 Nov 14 olle 169   */
2933 14 Nov 14 olle 170   public static final Annotationtype OTHER_PATH_NOTE = 
2933 14 Nov 14 olle 171     new Annotationtype("OtherPathNote", Type.STRING, false, Item.SAMPLE);
2933 14 Nov 14 olle 172   
2933 14 Nov 14 olle 173   /**
3028 11 Dec 14 olle 174     The "SamplingDate" annotation type, used
3028 11 Dec 14 olle 175     for samples (Specimen). It is a date annotation.
2933 14 Nov 14 olle 176   */
3028 11 Dec 14 olle 177   public static final Annotationtype SAMPLING_DATE = 
3028 11 Dec 14 olle 178     new Annotationtype("SamplingDate", Type.DATE, false, Item.SAMPLE);
2933 14 Nov 14 olle 179   
2933 14 Nov 14 olle 180   /**
2933 14 Nov 14 olle 181      The "ArrivalDate" annotation type, used
2933 14 Nov 14 olle 182      for samples (Specimen). It is a time stamp annotation.
2933 14 Nov 14 olle 183   */
2933 14 Nov 14 olle 184   public static final Annotationtype ARRIVAL_DATE = 
2933 14 Nov 14 olle 185     new Annotationtype("ArrivalDate", Type.DATE, false, Item.SAMPLE);
2933 14 Nov 14 olle 186     
2933 14 Nov 14 olle 187   /**
5034 17 Oct 18 olle 188     The "ArrivalOperator" annotation type, used
5034 17 Oct 18 olle 189     for samples (Blood). It is a String annotation type.
5034 17 Oct 18 olle 190     @since 1.6.0
5034 17 Oct 18 olle 191   */
5034 17 Oct 18 olle 192   public static final Annotationtype ARRIVAL_OPERATOR = 
5034 17 Oct 18 olle 193     new Annotationtype("ArrivalOperator", Type.STRING, false, Item.SAMPLE);
5034 17 Oct 18 olle 194
5034 17 Oct 18 olle 195   /**
2933 14 Nov 14 olle 196      The "NofDeliveredTubes" annotation type, used
2933 14 Nov 14 olle 197      for samples (Specimen). It is an Integer annotation type.
2933 14 Nov 14 olle 198   */
2933 14 Nov 14 olle 199   public static final Annotationtype NOF_DELIVERED_TUBES = 
2933 14 Nov 14 olle 200     new Annotationtype("NofDeliveredTubes", Type.INT, false, Item.SAMPLE);
2933 14 Nov 14 olle 201
2933 14 Nov 14 olle 202   /**
2933 14 Nov 14 olle 203      The "OperatorDeliveryComment" annotation type, used
2933 14 Nov 14 olle 204      for samples (Specimen). It is a String annotation type.
2933 14 Nov 14 olle 205   */
2933 14 Nov 14 olle 206   public static final Annotationtype OPERATOR_DELIVERY_COMMENT = 
2933 14 Nov 14 olle 207     new Annotationtype("OperatorDeliveryComment", Type.STRING, false, Item.SAMPLE);
2933 14 Nov 14 olle 208
2933 14 Nov 14 olle 209   /**
2933 14 Nov 14 olle 210     The "MutationAnalysis" annotation type, 
2933 14 Nov 14 olle 211     used for samples (Specimen). It is a String annotation type.
2933 14 Nov 14 olle 212   */
2933 14 Nov 14 olle 213   public static final Annotationtype MUTATION_ANALYSIS = 
2933 14 Nov 14 olle 214     new Annotationtype("MutationAnalysis", Type.STRING, false, Item.SAMPLE);
2933 14 Nov 14 olle 215
2933 14 Nov 14 olle 216   /**
2933 14 Nov 14 olle 217     The "Site" annotation type,  used for samples (Specimen).
2933 14 Nov 14 olle 218     It is a String enumeration annotation.
2933 14 Nov 14 olle 219   */
2933 14 Nov 14 olle 220   public static final Annotationtype SITE = 
2933 14 Nov 14 olle 221     new Annotationtype("Site", Type.STRING, false, Item.SAMPLE);
2933 14 Nov 14 olle 222
2933 14 Nov 14 olle 223   /**
3028 11 Dec 14 olle 224     The "TubeContentType" annotation type, used for 
2933 14 Nov 14 olle 225     samples. It is a String enumeration annotation.
2933 14 Nov 14 olle 226   */
3028 11 Dec 14 olle 227   public static final Annotationtype TUBE_CONTENT_TYPE = 
3028 11 Dec 14 olle 228     new Annotationtype("TubeContentType", Type.STRING, false, Item.SAMPLE);
2933 14 Nov 14 olle 229
2933 14 Nov 14 olle 230   /**
2933 14 Nov 14 olle 231     The "ProjectFocus" annotation type, used for samples (Specimen).
2933 14 Nov 14 olle 232     It is a String enumeration annotation.
2933 14 Nov 14 olle 233   */
2933 14 Nov 14 olle 234   public static final Annotationtype PROJECT_FOCUS = 
2933 14 Nov 14 olle 235     new Annotationtype("ProjectFocus", Type.STRING, false, Item.SAMPLE);
2933 14 Nov 14 olle 236
2933 14 Nov 14 olle 237   /**
4732 04 Apr 18 olle 238     The "MetastasisSite" annotation type, used for samples (Specimen).
4732 04 Apr 18 olle 239     It is a String enumeration annotation.
4732 04 Apr 18 olle 240   */
4732 04 Apr 18 olle 241   public static final Annotationtype METASTASIS_SITE = 
4732 04 Apr 18 olle 242     new Annotationtype("MetastasisSite", Type.STRING, false, Item.SAMPLE);
4732 04 Apr 18 olle 243
4732 04 Apr 18 olle 244   /**
2933 14 Nov 14 olle 245     The "SpecimenType" annotation type, used for 
2933 14 Nov 14 olle 246     samples (Specimen). It is a String enumeration annotation.
4195 31 Oct 16 olle 247     This property describes the biological origin of the specimen,
4195 31 Oct 16 olle 248     e.g. "Primary tumour" or "Metastasis".
2933 14 Nov 14 olle 249   */
2933 14 Nov 14 olle 250   public static final Annotationtype SPECIMEN_TYPE = 
2933 14 Nov 14 olle 251     new Annotationtype("SpecimenType", Type.STRING, false, Item.SAMPLE);
2933 14 Nov 14 olle 252   
2933 14 Nov 14 olle 253   /**
4195 31 Oct 16 olle 254     The "SpecimenInputType" annotation type, used for 
4195 31 Oct 16 olle 255     samples (Specimen). It is a String enumeration annotation.
4195 31 Oct 16 olle 256     This property describes the form in which the specimen is delivered,
4195 31 Oct 16 olle 257     e.g. "Fresh frozen", "FFPE punch", "FFPE section", "FFPE slide", or "Cell line".
4195 31 Oct 16 olle 258   */
4195 31 Oct 16 olle 259   public static final Annotationtype SPECIMEN_INPUT_TYPE = 
4195 31 Oct 16 olle 260     new Annotationtype("SpecimenInputType", Type.STRING, false, Item.SAMPLE);
4195 31 Oct 16 olle 261
4195 31 Oct 16 olle 262   /**
2933 14 Nov 14 olle 263     The "BiopsyType" annotation type, used for 
2933 14 Nov 14 olle 264     samples (Specimen). It is a String enumeration annotation.
2933 14 Nov 14 olle 265   */
3050 17 Dec 14 olle 266 /*
2933 14 Nov 14 olle 267   public static final Annotationtype BIOPSY_TYPE = 
2933 14 Nov 14 olle 268     new Annotationtype("BiopsyType", Type.STRING, false, Item.SAMPLE);
3050 17 Dec 14 olle 269 */
2933 14 Nov 14 olle 270   
2933 14 Nov 14 olle 271   /**
5031 16 Oct 18 olle 272      The "YellowLabel" annotation type, used
5031 16 Oct 18 olle 273      for samples (Specimen). It is a String enumeration annotation type.
5031 16 Oct 18 olle 274      @since 4.0
5031 16 Oct 18 olle 275   */
5031 16 Oct 18 olle 276   public static final Annotationtype YELLOW_LABEL = 
5031 16 Oct 18 olle 277     new Annotationtype("YellowLabel", Type.STRING, false, Item.SAMPLE);
5031 16 Oct 18 olle 278
5031 16 Oct 18 olle 279   /**
5031 16 Oct 18 olle 280      The "CompletedDate" annotation type, used
5031 16 Oct 18 olle 281      for samples (Specimen) that are also YellowLabel.
5031 16 Oct 18 olle 282      It is a date annotation that when set indicates the date the 
5031 16 Oct 18 olle 283      processing of the specimen has been completed.
5031 16 Oct 18 olle 284      @since 4.3
5031 16 Oct 18 olle 285    */
5031 16 Oct 18 olle 286   public static final Annotationtype COMPLETED_DATE = 
5031 16 Oct 18 olle 287     new Annotationtype("CompletedDate", Type.DATE, false, Item.SAMPLE);
5031 16 Oct 18 olle 288
5031 16 Oct 18 olle 289   /**
5243 17 Jan 19 olle 290     The "FFPEBlockOrderDate" annotation type, used
5243 17 Jan 19 olle 291     for samples (Case). It is a date annotation type that
5243 17 Jan 19 olle 292     when set indicates the date an FFPE order form is created
5243 17 Jan 19 olle 293     and approved.
5158 30 Nov 18 olle 294     @since 1.6.0
5158 30 Nov 18 olle 295   */
5243 17 Jan 19 olle 296   public static final Annotationtype FFPE_BLOCK_ORDER_DATE =
5243 17 Jan 19 olle 297     new Annotationtype("FFPEBlockOrderDate", Type.DATE, false, Item.SAMPLE);
5158 30 Nov 18 olle 298
5158 30 Nov 18 olle 299   /**
5061 30 Oct 18 olle 300     The "UsedForFFPESectionOrderForm" annotation, used
5052 25 Oct 18 olle 301     for samples (FFPE blocks). It is a Boolean annotation type.
5061 30 Oct 18 olle 302     Store a flag indicating if the item is used for FFPE section
5158 30 Nov 18 olle 303     order form, and therefore should not appear in these selection lists.
5052 25 Oct 18 olle 304     @since 1.6.0
5052 25 Oct 18 olle 305   */
5061 30 Oct 18 olle 306   public static final Annotationtype USED_FOR_FFPE_SECTION_ORDER_FORM =
5061 30 Oct 18 olle 307     new Annotationtype("UsedForFFPESectionOrderForm", Type.BOOLEAN, false, Item.SAMPLE);
5052 25 Oct 18 olle 308
5052 25 Oct 18 olle 309   /**
5061 30 Oct 18 olle 310     The "UsedForFFPESection" annotation, used
5061 30 Oct 18 olle 311     for samples (FFPE blocks). It is a Boolean annotation type.
5061 30 Oct 18 olle 312     Store a flag indicating if the item is used for FFPE section,
5061 30 Oct 18 olle 313     and therefore not should appear in these selection lists.
5061 30 Oct 18 olle 314     @since 1.6.0
5061 30 Oct 18 olle 315   */
5061 30 Oct 18 olle 316   public static final Annotationtype USED_FOR_FFPE_SECTION =
5061 30 Oct 18 olle 317     new Annotationtype("UsedForFFPESection", Type.BOOLEAN, false, Item.SAMPLE);
5061 30 Oct 18 olle 318
5061 30 Oct 18 olle 319   /**
5060 29 Oct 18 olle 320     The "ReturnedDate" annotation type, used
5060 29 Oct 18 olle 321     for samples (FFPE blocks).
5060 29 Oct 18 olle 322     It is a date annotation that when set indicates the date the 
5060 29 Oct 18 olle 323     FFPE block was returned to another destination for storage.
5060 29 Oct 18 olle 324     @since 4.3
5060 29 Oct 18 olle 325   */
5060 29 Oct 18 olle 326   public static final Annotationtype RETURNED_DATE = 
5060 29 Oct 18 olle 327     new Annotationtype("ReturnedDate", Type.DATE, false, Item.SAMPLE);
5060 29 Oct 18 olle 328
5060 29 Oct 18 olle 329   /**
2933 14 Nov 14 olle 330      The "NofPieces" annotation type, used for
2933 14 Nov 14 olle 331      samples (Specimen). It is a Integer annotation type.
2933 14 Nov 14 olle 332    */
3028 11 Dec 14 olle 333 /*
2933 14 Nov 14 olle 334   public static final Annotationtype NOF_PIECES = 
2933 14 Nov 14 olle 335     new Annotationtype("NofPieces", Type.INT, false, Item.SAMPLE);
3028 11 Dec 14 olle 336 */
2933 14 Nov 14 olle 337
2933 14 Nov 14 olle 338   /**
3028 11 Dec 14 olle 339      The "NofSections" annotation type, used for
3028 11 Dec 14 olle 340      samples (Specimen). It is a Integer annotation type.
3028 11 Dec 14 olle 341   */
3028 11 Dec 14 olle 342   public static final Annotationtype NOF_SECTIONS = 
3028 11 Dec 14 olle 343     new Annotationtype("NofSections", Type.INT, false, Item.SAMPLE);
3028 11 Dec 14 olle 344
3028 11 Dec 14 olle 345   /**
3067 08 Jan 15 olle 346     The "ViableTumourCellsPercent" annotation type, used for
3067 08 Jan 15 olle 347     samples (Specimen). It is a Integer annotation type.
3067 08 Jan 15 olle 348    */
3067 08 Jan 15 olle 349   public static final Annotationtype VIABLE_TUMOUR_CELLS_PERCENT = 
3067 08 Jan 15 olle 350     new Annotationtype("ViableTumourCellsPercent", Type.INT, false, Item.SAMPLE);
3067 08 Jan 15 olle 351
3067 08 Jan 15 olle 352   /**
5111 20 Nov 18 olle 353     The "TumourCellsPercent" annotation type, used for
5111 20 Nov 18 olle 354     samples (Stain). It is a Integer annotation type.
5111 20 Nov 18 olle 355   */
5111 20 Nov 18 olle 356   public static final Annotationtype TUMOUR_CELLS_PERCENT = 
5111 20 Nov 18 olle 357     new Annotationtype("TumourCellsPercent", Type.INT, false, Item.SAMPLE);
5111 20 Nov 18 olle 358
5111 20 Nov 18 olle 359   /**
2933 14 Nov 14 olle 360     The "OtherPartitionComment" annotation type, used
2933 14 Nov 14 olle 361     for samples (Specimen). It s a String annotation type.    
2933 14 Nov 14 olle 362   */
2933 14 Nov 14 olle 363 /*
2933 14 Nov 14 olle 364   public static final Annotationtype OPERATOR_PARTITION_COMMENT = 
2933 14 Nov 14 olle 365     new Annotationtype("OperatorPartitionComment", Type.STRING, false, Item.SAMPLE);
2933 14 Nov 14 olle 366 */
2933 14 Nov 14 olle 367   
2933 14 Nov 14 olle 368   /**
2933 14 Nov 14 olle 369     The "Partition date" annotation type, used for 
2933 14 Nov 14 olle 370     samples (Histology) and extracts (Lysate). It is a date annotation type.
2933 14 Nov 14 olle 371    */
2933 14 Nov 14 olle 372 /*
2933 14 Nov 14 olle 373   public static final Annotationtype PARTITION_DATE = 
2933 14 Nov 14 olle 374     new Annotationtype("PartitionDate", Type.DATE, false, Item.SAMPLE, Item.EXTRACT);
2933 14 Nov 14 olle 375 */
2933 14 Nov 14 olle 376
2933 14 Nov 14 olle 377   /**
5111 20 Nov 18 olle 378     The "IHC" annotation type, used for bioplates (HE glass) to indicate the
5111 20 Nov 18 olle 379     type of staining. It is a string enumeration annotation type.
5111 20 Nov 18 olle 380     @since 1.6.0
5111 20 Nov 18 olle 381   */
5111 20 Nov 18 olle 382   public static final Annotationtype IHC =
5111 20 Nov 18 olle 383     new Annotationtype("IHC", Type.STRING, false, Item.BIOPLATE);
5111 20 Nov 18 olle 384
5111 20 Nov 18 olle 385   /**
2933 14 Nov 14 olle 386     The "MultPieces" annotation, used for samples (Lysate). It is a
2933 14 Nov 14 olle 387     boolean annotation type.
2933 14 Nov 14 olle 388     @since 2.7
2933 14 Nov 14 olle 389   */
2933 14 Nov 14 olle 390 /*
2933 14 Nov 14 olle 391   public static final Annotationtype MULTIPLE_PIECES = 
2933 14 Nov 14 olle 392     new Annotationtype("MultPieces", Type.BOOLEAN, false, Item.EXTRACT);
2933 14 Nov 14 olle 393 */
2933 14 Nov 14 olle 394   
2933 14 Nov 14 olle 395   /**
3318 08 May 15 olle 396     The "SamplingDateExtract" annotation type, used
3318 08 May 15 olle 397     for extracts (RNA, DNA). It is a date annotation.
3318 08 May 15 olle 398   */
3318 08 May 15 olle 399   public static final Annotationtype SAMPLING_DATE_EXTRACT = 
3318 08 May 15 olle 400     new Annotationtype("SamplingDateExtract", Type.DATE, false, Item.EXTRACT);
3318 08 May 15 olle 401
3318 08 May 15 olle 402   /**
3318 08 May 15 olle 403      The "ArrivalDateExtract" annotation type, used
3318 08 May 15 olle 404      for extracts (RNA, DNA). It is a time stamp annotation.
3318 08 May 15 olle 405   */
3318 08 May 15 olle 406   public static final Annotationtype ARRIVAL_DATE_EXTRACT = 
3318 08 May 15 olle 407     new Annotationtype("ArrivalDateExtract", Type.DATE, false, Item.EXTRACT);
3318 08 May 15 olle 408   
3318 08 May 15 olle 409   /**
3318 08 May 15 olle 410     The "SpecimenTypeExtract" annotation type, used for 
3318 08 May 15 olle 411     extracts (RNA, DNA). It is a String enumeration annotation.
3318 08 May 15 olle 412   */
3318 08 May 15 olle 413   public static final Annotationtype SPECIMEN_TYPE_EXTRACT = 
3318 08 May 15 olle 414     new Annotationtype("SpecimenTypeExtract", Type.STRING, false, Item.EXTRACT);
3318 08 May 15 olle 415
3318 08 May 15 olle 416   /**
3318 08 May 15 olle 417     The "ViableTumourCellsPercentExtract" annotation type, used for
3318 08 May 15 olle 418     extracts (RNA, DNA). It is a Integer annotation type.
3318 08 May 15 olle 419   */
3318 08 May 15 olle 420   public static final Annotationtype VIABLE_TUMOUR_CELLS_PERCENT_EXTRACT = 
3318 08 May 15 olle 421     new Annotationtype("ViableTumourCellsPercentExtract", Type.INT, false, Item.EXTRACT);
3318 08 May 15 olle 422
3318 08 May 15 olle 423   /**
3318 08 May 15 olle 424      The "OperatorDeliveryCommentExtract" annotation type, used
3318 08 May 15 olle 425      for extracts (RNA, DNA). It is a String annotation type.
3318 08 May 15 olle 426   */
3318 08 May 15 olle 427   public static final Annotationtype OPERATOR_DELIVERY_COMMENT_EXTRACT = 
3318 08 May 15 olle 428     new Annotationtype("OperatorDeliveryCommentExtract", Type.STRING, false, Item.EXTRACT);
3318 08 May 15 olle 429
3318 08 May 15 olle 430   /**
3180 17 Mar 15 olle 431     The "IsolationDate" annotation type, used for extracts (RNA, DNA).
3180 17 Mar 15 olle 432     It is a date annotation type.
3180 17 Mar 15 olle 433     @since 1.2
3180 17 Mar 15 olle 434   */
3180 17 Mar 15 olle 435   public static final Annotationtype ISOLATION_DATE = 
3180 17 Mar 15 olle 436     new Annotationtype("IsolationDate", Type.DATE, false, Item.EXTRACT);
3180 17 Mar 15 olle 437
3180 17 Mar 15 olle 438   /**
3501 21 Sep 15 olle 439     The "ExtractionOperator" annotation type, used for extracts (RNA, DNA).
3501 21 Sep 15 olle 440     It is a string annotation type.
3501 21 Sep 15 olle 441     @since 1.3.2
3501 21 Sep 15 olle 442   */
3501 21 Sep 15 olle 443   public static final Annotationtype EXTRACTION_OPERATOR = 
3501 21 Sep 15 olle 444     new Annotationtype("ExtractionOperator", Type.STRING, false, Item.EXTRACT);
3501 21 Sep 15 olle 445
3501 21 Sep 15 olle 446   /**
2933 14 Nov 14 olle 447     The "QiacubeDate" annotation type, used for extracts (RNA, DNA).
2933 14 Nov 14 olle 448     It is a date annotation type.
3176 06 Mar 15 olle 449     @since 1.2
2933 14 Nov 14 olle 450   */
2933 14 Nov 14 olle 451   public static final Annotationtype QIACUBE_DATE = 
2933 14 Nov 14 olle 452     new Annotationtype("QiacubeDate", Type.DATE, false, Item.EXTRACT);
2933 14 Nov 14 olle 453
2933 14 Nov 14 olle 454   /**
2933 14 Nov 14 olle 455     The "QiacubeOperator" annotation type, used for extracts (RNA, DNA).
2933 14 Nov 14 olle 456     It is a string annotation type.
3176 06 Mar 15 olle 457     @since 1.2
2933 14 Nov 14 olle 458   */
2933 14 Nov 14 olle 459   public static final Annotationtype QIACUBE_OPERATOR = 
2933 14 Nov 14 olle 460     new Annotationtype("QiacubeOperator", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 461
2933 14 Nov 14 olle 462   /**
3176 06 Mar 15 olle 463     The "QiacubeInstrumentPrefix" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 464     It is a string annotation type indicating the QIAcube instrument used.
3176 06 Mar 15 olle 465     @since 1.2
3176 06 Mar 15 olle 466    */
3176 06 Mar 15 olle 467   public static final Annotationtype QIACUBE_INSTRUMENT_PREFIX = 
3176 06 Mar 15 olle 468     new Annotationtype("QiacubeInstrumentPrefix", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 469
3176 06 Mar 15 olle 470   /**
2933 14 Nov 14 olle 471     The "QiacubePosition" annotation type, used for extracts (RNA, DNA).
2933 14 Nov 14 olle 472     It is an integer annotation type with allowed values between 1 and 12.
3176 06 Mar 15 olle 473     @since 1.2
2933 14 Nov 14 olle 474   */
2933 14 Nov 14 olle 475   public static final Annotationtype QIACUBE_POSITION = 
2933 14 Nov 14 olle 476     new Annotationtype("QiacubePosition", Type.INT, false, Item.EXTRACT);
2933 14 Nov 14 olle 477
2933 14 Nov 14 olle 478   /**
2933 14 Nov 14 olle 479     The "QiacubeRunNo" annotation type, used for extracts (RNA, DNA).
2933 14 Nov 14 olle 480     It is an integer annotation type with allowed values >= 1.
3176 06 Mar 15 olle 481     @since 1.2
2933 14 Nov 14 olle 482   */
2933 14 Nov 14 olle 483   public static final Annotationtype QIACUBE_RUN_NO = 
2933 14 Nov 14 olle 484     new Annotationtype("QiacubeRunNo", Type.INT, false, Item.EXTRACT);
2933 14 Nov 14 olle 485
2933 14 Nov 14 olle 486   /**
2933 14 Nov 14 olle 487     The "RLT_Plus" annotation type, used for extracts (Lysate).
2933 14 Nov 14 olle 488     @since 2.16
2933 14 Nov 14 olle 489   */
2933 14 Nov 14 olle 490 /*
2933 14 Nov 14 olle 491   public static final Annotationtype RLT_PLUS = 
2933 14 Nov 14 olle 492     new Annotationtype("RLT_Plus", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 493 */
2933 14 Nov 14 olle 494
2933 14 Nov 14 olle 495   /**
2933 14 Nov 14 olle 496     The "BetaMerca" annotation type, used for extracts (Lysate).
2933 14 Nov 14 olle 497     @since 2.16
2933 14 Nov 14 olle 498   */
2933 14 Nov 14 olle 499 /*
2933 14 Nov 14 olle 500   public static final Annotationtype BETA_MERCA = 
2933 14 Nov 14 olle 501     new Annotationtype("BetaMerca", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 502 */
2933 14 Nov 14 olle 503
2933 14 Nov 14 olle 504   /**
2933 14 Nov 14 olle 505     The "ReagentDX" annotation type, used for extracts (Lysate).
2933 14 Nov 14 olle 506     @since 2.16
2933 14 Nov 14 olle 507   */
2933 14 Nov 14 olle 508 /*
2933 14 Nov 14 olle 509   public static final Annotationtype REAGENT_DX = 
2933 14 Nov 14 olle 510     new Annotationtype("ReagentDX", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 511 */
2933 14 Nov 14 olle 512
2933 14 Nov 14 olle 513   /**
2933 14 Nov 14 olle 514     The "QiaShredder" annotation type, used for extracts (Lysate).
2933 14 Nov 14 olle 515     @since 2.16
2933 14 Nov 14 olle 516   */
2933 14 Nov 14 olle 517 /*
2933 14 Nov 14 olle 518   public static final Annotationtype QIA_SHREDDER = 
2933 14 Nov 14 olle 519     new Annotationtype("QiaShredder", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 520 */
2933 14 Nov 14 olle 521
2933 14 Nov 14 olle 522   /**
2933 14 Nov 14 olle 523     The "AllprepMiniKit" annotation type, used for extracts (RNA, DNA).
2933 14 Nov 14 olle 524     @since 2.16
2933 14 Nov 14 olle 525   */
2933 14 Nov 14 olle 526 /*
2933 14 Nov 14 olle 527   public static final Annotationtype ALLPREP_MINI_KIT = 
2933 14 Nov 14 olle 528     new Annotationtype("AllprepMiniKit", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 529 */
2933 14 Nov 14 olle 530
2933 14 Nov 14 olle 531   /**
3176 06 Mar 15 olle 532     The "AllprepFfpeKit" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 533     @since 1.2
3176 06 Mar 15 olle 534   */
3176 06 Mar 15 olle 535   public static final Annotationtype ALLPREP_FFPE_KIT = 
3176 06 Mar 15 olle 536     new Annotationtype("AllprepFfpeKit", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 537
3176 06 Mar 15 olle 538   /**
2933 14 Nov 14 olle 539     The "ETOH70" annotation type, used for extracts (RNA, DNA).
2933 14 Nov 14 olle 540     @since 2.16
2933 14 Nov 14 olle 541   */
2933 14 Nov 14 olle 542 /*
2933 14 Nov 14 olle 543   public static final Annotationtype ETOH70 = 
2933 14 Nov 14 olle 544     new Annotationtype("ETOH70", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 545 */
2933 14 Nov 14 olle 546   
2933 14 Nov 14 olle 547   /**
3176 06 Mar 15 olle 548     The "Xylene_Specimen" annotation type, used for  extracts (RNA, DNA).
3176 06 Mar 15 olle 549     @since 1.2
3176 06 Mar 15 olle 550   */
3176 06 Mar 15 olle 551   public static final Annotationtype XYLENE_SPECIMEN = 
3176 06 Mar 15 olle 552     new Annotationtype("Xylene_Specimen", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 553
3176 06 Mar 15 olle 554   /**
3176 06 Mar 15 olle 555     The "ETOH995_Specimen" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 556     @since 1.2
3176 06 Mar 15 olle 557    */
3176 06 Mar 15 olle 558   public static final Annotationtype ETOH995_SPECIMEN = 
3176 06 Mar 15 olle 559     new Annotationtype("ETOH995_Specimen", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 560
3176 06 Mar 15 olle 561   /**
3176 06 Mar 15 olle 562     The "BufferPKD_Specimen" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 563     @since 1.2
3176 06 Mar 15 olle 564   */
3176 06 Mar 15 olle 565   public static final Annotationtype BUFFER_PKD_SPECIMEN = 
3176 06 Mar 15 olle 566     new Annotationtype("BufferPKD_Specimen", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 567
3176 06 Mar 15 olle 568   /**
3176 06 Mar 15 olle 569     The "BufferATL_Specimen" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 570     @since 1.2
3176 06 Mar 15 olle 571    */
3176 06 Mar 15 olle 572   public static final Annotationtype BUFFER_ATL_SPECIMEN = 
3176 06 Mar 15 olle 573     new Annotationtype("BufferATL_Specimen", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 574
3176 06 Mar 15 olle 575   /**
3176 06 Mar 15 olle 576     The "ProteinaseK_Specimen" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 577     @since 1.2
3176 06 Mar 15 olle 578    */
3176 06 Mar 15 olle 579   public static final Annotationtype PROTEINASE_K_SPECIMEN = 
3176 06 Mar 15 olle 580     new Annotationtype("ProteinaseK_Specimen", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 581
3176 06 Mar 15 olle 582   /**
3176 06 Mar 15 olle 583     The "RNaseA_Specimen" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 584     @since 1.2
3176 06 Mar 15 olle 585    */
3176 06 Mar 15 olle 586   public static final Annotationtype RNASE_A_SPECIMEN = 
3176 06 Mar 15 olle 587     new Annotationtype("RNaseA_Specimen", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 588
3176 06 Mar 15 olle 589   /**
3176 06 Mar 15 olle 590     The "ETOH995" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 591     @since 1.2
3176 06 Mar 15 olle 592   */
3176 06 Mar 15 olle 593   public static final Annotationtype ETOH995 = 
3176 06 Mar 15 olle 594     new Annotationtype("ETOH995", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 595
3176 06 Mar 15 olle 596   /**
3176 06 Mar 15 olle 597     The "BufferRLT" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 598     @since 1.2
3176 06 Mar 15 olle 599   */
3176 06 Mar 15 olle 600   public static final Annotationtype BUFFER_RLT = 
3176 06 Mar 15 olle 601     new Annotationtype("BufferRLT", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 602
3176 06 Mar 15 olle 603   /**
3176 06 Mar 15 olle 604     The "BufferFRN" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 605     @since 1.2
3176 06 Mar 15 olle 606   */
3176 06 Mar 15 olle 607   public static final Annotationtype BUFFER_FRN = 
3176 06 Mar 15 olle 608     new Annotationtype("BufferFRN", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 609
3176 06 Mar 15 olle 610   /**
2933 14 Nov 14 olle 611     The "BufferRW1" annotation type, used for extracts (RNA, DNA).
2933 14 Nov 14 olle 612     @since 2.16
2933 14 Nov 14 olle 613   */
2933 14 Nov 14 olle 614 /*
2933 14 Nov 14 olle 615   public static final Annotationtype BUFFER_RW1 = 
2933 14 Nov 14 olle 616     new Annotationtype("BufferRW1", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 617 */
2933 14 Nov 14 olle 618   
2933 14 Nov 14 olle 619   /**
2933 14 Nov 14 olle 620     The "BufferRPE" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 621     @since 1.2
2933 14 Nov 14 olle 622   */
2933 14 Nov 14 olle 623   public static final Annotationtype BUFFER_RPE = 
2933 14 Nov 14 olle 624     new Annotationtype("BufferRPE", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 625   
2933 14 Nov 14 olle 626   /**
3176 06 Mar 15 olle 627     The "BufferAL" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 628     @since 1.2
3176 06 Mar 15 olle 629   */
3176 06 Mar 15 olle 630   public static final Annotationtype BUFFER_AL = 
3176 06 Mar 15 olle 631     new Annotationtype("BufferAL", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 632
3176 06 Mar 15 olle 633   /**
2933 14 Nov 14 olle 634     The "BufferAW1" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 635     @since 1.2
2933 14 Nov 14 olle 636   */
2933 14 Nov 14 olle 637   public static final Annotationtype BUFFER_AW1 = 
2933 14 Nov 14 olle 638     new Annotationtype("BufferAW1", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 639   
2933 14 Nov 14 olle 640   /**
2933 14 Nov 14 olle 641     The "BufferAW2" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 642     @since 1.2
2933 14 Nov 14 olle 643   */
2933 14 Nov 14 olle 644   public static final Annotationtype BUFFER_AW2 = 
2933 14 Nov 14 olle 645     new Annotationtype("BufferAW2", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 646   
2933 14 Nov 14 olle 647   /**
3176 06 Mar 15 olle 648     The "BufferATE" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 649     @since 1.2
3176 06 Mar 15 olle 650   */
3176 06 Mar 15 olle 651   public static final Annotationtype BUFFER_ATE = 
3176 06 Mar 15 olle 652     new Annotationtype("BufferATE", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 653
3176 06 Mar 15 olle 654   /**
3176 06 Mar 15 olle 655     The "BufferRDD" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 656     @since 1.2
3176 06 Mar 15 olle 657   */
3176 06 Mar 15 olle 658   public static final Annotationtype BUFFER_RDD = 
3176 06 Mar 15 olle 659     new Annotationtype("BufferRDD", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 660
3176 06 Mar 15 olle 661   /**
2933 14 Nov 14 olle 662     The "BufferEB" annotation type, used for extracts (RNA, DNA).
2933 14 Nov 14 olle 663     @since 2.16
2933 14 Nov 14 olle 664   */
2933 14 Nov 14 olle 665 /*
2933 14 Nov 14 olle 666   public static final Annotationtype BUFFER_EB = 
2933 14 Nov 14 olle 667     new Annotationtype("BufferEB", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 668 */
2933 14 Nov 14 olle 669   
2933 14 Nov 14 olle 670   /**
2933 14 Nov 14 olle 671     The "RNaseFreeWater" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 672     @since 1.2
2933 14 Nov 14 olle 673   */
2933 14 Nov 14 olle 674   public static final Annotationtype RNASE_FREE_WATER = 
2933 14 Nov 14 olle 675     new Annotationtype("RNaseFreeWater", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 676   
2933 14 Nov 14 olle 677   /**
3176 06 Mar 15 olle 678     The "DNaseMix" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 679     @since 1.2
3176 06 Mar 15 olle 680   */
3176 06 Mar 15 olle 681   public static final Annotationtype DNASE_MIX = 
3176 06 Mar 15 olle 682     new Annotationtype("DNaseMix", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 683
3176 06 Mar 15 olle 684   /**
2933 14 Nov 14 olle 685     The "AllPrepDNA_col" annotation type, used for extracts (RNA, DNA).
2933 14 Nov 14 olle 686     @since 2.16
2933 14 Nov 14 olle 687   */
2933 14 Nov 14 olle 688 /*
2933 14 Nov 14 olle 689   public static final Annotationtype ALLPREP_DNA_COL = 
2933 14 Nov 14 olle 690     new Annotationtype("AllPrepDNA_col", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 691 */
2933 14 Nov 14 olle 692   
2933 14 Nov 14 olle 693   /**
2933 14 Nov 14 olle 694     The "RNeasy_col" annotation type, used for extracts (RNA, DNA).
2933 14 Nov 14 olle 695     @since 2.16
2933 14 Nov 14 olle 696   */
2933 14 Nov 14 olle 697 /*
2933 14 Nov 14 olle 698   public static final Annotationtype RNEASY_COL = 
2933 14 Nov 14 olle 699     new Annotationtype("RNeasy_col", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 700 */
2933 14 Nov 14 olle 701
2933 14 Nov 14 olle 702   /**
3176 06 Mar 15 olle 703     The "RNeasyMinEluteSpin_col" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 704     @since 1.2
3176 06 Mar 15 olle 705   */
3176 06 Mar 15 olle 706   public static final Annotationtype RNEASY_MIN_ELUTE_SPIN_COL = 
3176 06 Mar 15 olle 707     new Annotationtype("RNeasyMinEluteSpin_col", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 708
3176 06 Mar 15 olle 709   /**
3176 06 Mar 15 olle 710     The "QIAampMinEluteSpin_col" annotation type, used for extracts (RNA, DNA).
3176 06 Mar 15 olle 711     @since 1.2
3176 06 Mar 15 olle 712   */
3176 06 Mar 15 olle 713   public static final Annotationtype QIAAMP_MIN_ELUTE_SPIN_COL = 
3176 06 Mar 15 olle 714     new Annotationtype("QIAampMinEluteSpin_col", Type.STRING, false, Item.EXTRACT);
3176 06 Mar 15 olle 715
3176 06 Mar 15 olle 716   /**
3324 11 May 15 olle 717     The "KapaSybrFast" annotation type, used for extracts (RNA, DNA).
3324 11 May 15 olle 718     @since 1.2.4
3324 11 May 15 olle 719   */
3324 11 May 15 olle 720   public static final Annotationtype KAPA_SYBR_FAST = 
3324 11 May 15 olle 721     new Annotationtype("KapaSybrFast", Type.STRING, false, Item.EXTRACT);
3324 11 May 15 olle 722
3324 11 May 15 olle 723   /**
3324 11 May 15 olle 724     The "QualityControlPrimersQcpRgt" annotation type, used for extracts (RNA, DNA).
3324 11 May 15 olle 725     @since 1.2.4
3324 11 May 15 olle 726   */
3324 11 May 15 olle 727   public static final Annotationtype QUALITY_CONTROL_PRIMERS_QCP_RGT = 
3324 11 May 15 olle 728     new Annotationtype("QualityControlPrimersQcpRgt", Type.STRING, false, Item.EXTRACT);
3324 11 May 15 olle 729
3324 11 May 15 olle 730   /**
3438 03 Jul 15 olle 731     The "QualityControlTemplateQct" annotation type, used for extracts (RNA, DNA).
3438 03 Jul 15 olle 732     @since 1.3
3438 03 Jul 15 olle 733   */
3438 03 Jul 15 olle 734   public static final Annotationtype QUALITY_CONTROL_TEMPLATE_QCT = 
3438 03 Jul 15 olle 735     new Annotationtype("QualityControlTemplateQct", Type.STRING, false, Item.EXTRACT);
3438 03 Jul 15 olle 736
3438 03 Jul 15 olle 737   /**
3324 11 May 15 olle 738     The "QubitDnaHighSens" annotation type, used for extracts (RNA, DNA).
3324 11 May 15 olle 739     @since 1.2.4
3324 11 May 15 olle 740   */
3324 11 May 15 olle 741   public static final Annotationtype QUBIT_DNA_HIGH_SENS = 
3324 11 May 15 olle 742     new Annotationtype("QubitDnaHighSens", Type.STRING, false, Item.EXTRACT);
3324 11 May 15 olle 743
3324 11 May 15 olle 744   /**
3324 11 May 15 olle 745     The "QubitDnaBroadRange" annotation type, used for extracts (RNA, DNA).
3324 11 May 15 olle 746     @since 1.2.4
3324 11 May 15 olle 747   */
3324 11 May 15 olle 748   public static final Annotationtype QUBIT_DNA_BROAD_RANGE = 
3324 11 May 15 olle 749     new Annotationtype("QubitDnaBroadRange", Type.STRING, false, Item.EXTRACT);
3324 11 May 15 olle 750
3324 11 May 15 olle 751   /**
3233 09 Apr 15 olle 752     The "SourceItemNamesListString" annotation which, if set, indicates names
3233 09 Apr 15 olle 753     of source items for bioplates. It is a text annotation type. It is expected
3233 09 Apr 15 olle 754     to be used to store a comma-separated list of extract source item names,
3233 09 Apr 15 olle 755     and can therefore be used, when it is important that the order of the items
3233 09 Apr 15 olle 756     is retained.
3233 09 Apr 15 olle 757     @since 1.2.1
3233 09 Apr 15 olle 758   */
3233 09 Apr 15 olle 759   public static final Annotationtype SOURCE_ITEM_NAMES_LIST_STRING = 
3233 09 Apr 15 olle 760     new Annotationtype("SourceItemNamesListString", Type.TEXT, false, Item.BIOPLATE);
3233 09 Apr 15 olle 761
3233 09 Apr 15 olle 762   /**
3180 17 Mar 15 olle 763     The "BatchNumberExtraQiacubeItems" annotation type, used for bioplates (RNA/DNA).
3180 17 Mar 15 olle 764     It is an integer annotation type with allowed values >= 0.
3180 17 Mar 15 olle 765     @since 1.2
3180 17 Mar 15 olle 766   */
3180 17 Mar 15 olle 767   public static final Annotationtype BATCH_NUMBER_EXTRA_QIACUBE_ITEMS = 
3180 17 Mar 15 olle 768     new Annotationtype("BatchNumberExtraQiacubeItems", Type.INT, false, Item.BIOPLATE);
3180 17 Mar 15 olle 769
3180 17 Mar 15 olle 770   /**
3245 14 Apr 15 olle 771     The "ExtraQiacubeItemNamesListString" annotation which, if set, indicates names
3245 14 Apr 15 olle 772     of extra QIAcube items for bioplates. It is a text annotation type. It is expected
3245 14 Apr 15 olle 773     to be used to store a comma-separated list of extra QIAcube item names,
3245 14 Apr 15 olle 774     and can therefore be used, when it is important that the order of the items
3245 14 Apr 15 olle 775     is retained.
3245 14 Apr 15 olle 776     @since 1.2.2
3245 14 Apr 15 olle 777   */
3245 14 Apr 15 olle 778   public static final Annotationtype EXTRA_QIACUBE_ITEM_NAMES_LIST_STRING = 
3245 14 Apr 15 olle 779     new Annotationtype("ExtraQiacubeItemNamesListString", Type.TEXT, false, Item.BIOPLATE);
3245 14 Apr 15 olle 780
3245 14 Apr 15 olle 781   /**
3180 17 Mar 15 olle 782     The "BatchIsolationDate" annotation, used
3180 17 Mar 15 olle 783     for bioplates (RNA/DNA). It is a date annotation type.
3180 17 Mar 15 olle 784     @since 1.2
3180 17 Mar 15 olle 785   */
3180 17 Mar 15 olle 786   public static final Annotationtype BATCH_ISOLATION_DATE = 
3180 17 Mar 15 olle 787     new Annotationtype("BatchIsolationDate", Type.DATE, false, Item.BIOPLATE);
3180 17 Mar 15 olle 788
3180 17 Mar 15 olle 789   /**
3180 17 Mar 15 olle 790     The "BatchExtractionProtocolId" annotation, used
3180 17 Mar 15 olle 791     for bioplates (RNA/DNA). It is an integer annotation type.
3180 17 Mar 15 olle 792     @since 1.2
3180 17 Mar 15 olle 793   */
3180 17 Mar 15 olle 794   public static final Annotationtype BATCH_EXTRACTION_PROTOCOL_ID = 
3180 17 Mar 15 olle 795     new Annotationtype("BatchExtractionProtocolId", Type.INT, false, Item.BIOPLATE);
3180 17 Mar 15 olle 796
3180 17 Mar 15 olle 797   /**
3180 17 Mar 15 olle 798     The "BatchExtractionProtocolName" annotation, used
3180 17 Mar 15 olle 799     for bioplates (RNA/DNA). It is a string annotation type.
3180 17 Mar 15 olle 800     @since 1.2
3180 17 Mar 15 olle 801   */
3180 17 Mar 15 olle 802   public static final Annotationtype BATCH_EXTRACTION_PROTOCOL_NAME = 
3180 17 Mar 15 olle 803     new Annotationtype("BatchExtractionProtocolName", Type.STRING, false, Item.BIOPLATE);
3180 17 Mar 15 olle 804
3180 17 Mar 15 olle 805   /**
3180 17 Mar 15 olle 806     The "BatchRnaDefaultVolumeInMicroLitre" annotation, used
3180 17 Mar 15 olle 807     for bioplates (RNA/DNA). It is a float annotation type.
3180 17 Mar 15 olle 808     @since 1.2
3180 17 Mar 15 olle 809   */
3180 17 Mar 15 olle 810   public static final Annotationtype BATCH_RNA_DEFAULT_VOLUME_IN_MICROLITRE =
3180 17 Mar 15 olle 811     new Annotationtype("BatchRnaDefaultVolumeInMicroLitre", Type.FLOAT, false, Item.BIOPLATE);
3180 17 Mar 15 olle 812
3180 17 Mar 15 olle 813   /**
3180 17 Mar 15 olle 814     The "BatchDnaDefaultVolumeInMicroLitre" annotation, used
3180 17 Mar 15 olle 815     for bioplates (RNA/DNA). It is a float annotation type.
3180 17 Mar 15 olle 816     @since 1.2
3180 17 Mar 15 olle 817   */
3180 17 Mar 15 olle 818   public static final Annotationtype BATCH_DNA_DEFAULT_VOLUME_IN_MICROLITRE =
3180 17 Mar 15 olle 819     new Annotationtype("BatchDnaDefaultVolumeInMicroLitre", Type.FLOAT, false, Item.BIOPLATE);
3180 17 Mar 15 olle 820
3180 17 Mar 15 olle 821   /**
3180 17 Mar 15 olle 822     The "BatchQiacubeDate" annotation type, used
3180 17 Mar 15 olle 823     for bioplates (RNA/DNA). It is a date annotation type.
3180 17 Mar 15 olle 824     @since 1.2
3180 17 Mar 15 olle 825   */
3180 17 Mar 15 olle 826   public static final Annotationtype BATCH_QIACUBE_DATE = 
3180 17 Mar 15 olle 827     new Annotationtype("BatchQiacubeDate", Type.DATE, false, Item.BIOPLATE);
3180 17 Mar 15 olle 828
3180 17 Mar 15 olle 829   /**
3180 17 Mar 15 olle 830     The "BatchQiacubePrimaryPrefix" annotation, used
3180 17 Mar 15 olle 831     for bioplates (RNA/DNA). It is a string annotation type.
3180 17 Mar 15 olle 832     @since 1.2
3180 17 Mar 15 olle 833   */
3180 17 Mar 15 olle 834   public static final Annotationtype BATCH_QIACUBE_PRIMARY_PREFIX = 
3180 17 Mar 15 olle 835     new Annotationtype("BatchQiacubePrimaryPrefix", Type.STRING, false, Item.BIOPLATE);
3180 17 Mar 15 olle 836
3180 17 Mar 15 olle 837   /**
3180 17 Mar 15 olle 838     The "BatchQiacubeSecondaryPrefix" annotation, used
3180 17 Mar 15 olle 839     for bioplates (RNA/DNA). It is a string annotation type.
3180 17 Mar 15 olle 840     @since 1.2
3180 17 Mar 15 olle 841    */
3180 17 Mar 15 olle 842   public static final Annotationtype BATCH_QIACUBE_SECONDARY_PREFIX = 
3180 17 Mar 15 olle 843     new Annotationtype("BatchQiacubeSecondaryPrefix", Type.STRING, false, Item.BIOPLATE);
3180 17 Mar 15 olle 844
3180 17 Mar 15 olle 845   /**
3180 17 Mar 15 olle 846     The "BatchQiacubeRunNo" annotation type, used for bioplates (RNA/DNA).
3180 17 Mar 15 olle 847     It is an integer annotation type with allowed values >= 1.
3180 17 Mar 15 olle 848     @since 1.2
3180 17 Mar 15 olle 849   */
3180 17 Mar 15 olle 850   public static final Annotationtype BATCH_QIACUBE_RUN_NO = 
3180 17 Mar 15 olle 851     new Annotationtype("BatchQiacubeRunNo", Type.INT, false, Item.BIOPLATE);
3180 17 Mar 15 olle 852
3180 17 Mar 15 olle 853   /**
3180 17 Mar 15 olle 854     The "BatchQiacubeOperator" annotation, used
3180 17 Mar 15 olle 855     for bioplates (RNA/DNA). It is a string annotation type.
3180 17 Mar 15 olle 856     @since 1.2
3180 17 Mar 15 olle 857   */
3180 17 Mar 15 olle 858   public static final Annotationtype BATCH_QIACUBE_OPERATOR = 
3180 17 Mar 15 olle 859     new Annotationtype("BatchQiacubeOperator", Type.STRING, false, Item.BIOPLATE);
3180 17 Mar 15 olle 860
3180 17 Mar 15 olle 861   /**
3180 17 Mar 15 olle 862     The "BatchAllprepFfpeKit" annotation type, used
3180 17 Mar 15 olle 863     for bioplates (RNA/DNA). It is a string annotation type.
3180 17 Mar 15 olle 864     @since 1.2
3180 17 Mar 15 olle 865   */
3180 17 Mar 15 olle 866   public static final Annotationtype BATCH_ALLPREP_FFPE_KIT = 
3180 17 Mar 15 olle 867     new Annotationtype("BatchAllprepFfpeKit", Type.STRING, false, Item.BIOPLATE);
3180 17 Mar 15 olle 868
3180 17 Mar 15 olle 869   /**
3430 29 Jun 15 olle 870     The "SamplePrepListIsProcessed" annotation, used for item lists.
3430 29 Jun 15 olle 871     Store a flag indicating if the item list is processed, and the items
3430 29 Jun 15 olle 872     therefore not should appear in selection lists.
3430 29 Jun 15 olle 873     @since 1.3
3430 29 Jun 15 olle 874   */
3430 29 Jun 15 olle 875   public static final Annotationtype SAMPLE_PREP_LIST_IS_PROCESSED =
3430 29 Jun 15 olle 876     new Annotationtype("SamplePrepListIsProcessed", Type.BOOLEAN, false, Item.ITEMLIST);
3430 29 Jun 15 olle 877
3430 29 Jun 15 olle 878   /**
3430 29 Jun 15 olle 879     The "ListIsolationDate" annotation, used
3430 29 Jun 15 olle 880     for item lists. It is a date annotation type.
3430 29 Jun 15 olle 881     @since 1.3
3430 29 Jun 15 olle 882   */
3430 29 Jun 15 olle 883   public static final Annotationtype LIST_ISOLATION_DATE = 
3430 29 Jun 15 olle 884     new Annotationtype("ListIsolationDate", Type.DATE, false, Item.ITEMLIST);
3430 29 Jun 15 olle 885
3430 29 Jun 15 olle 886   /**
3501 21 Sep 15 olle 887     The "ListExtractionOperator" annotation, used
3501 21 Sep 15 olle 888     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 889     @since 1.3.2
3501 21 Sep 15 olle 890   */
3501 21 Sep 15 olle 891   public static final Annotationtype LIST_EXTRACTION_OPERATOR = 
3501 21 Sep 15 olle 892     new Annotationtype("ListExtractionOperator", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 893
3501 21 Sep 15 olle 894   /**
3430 29 Jun 15 olle 895     The "ListExtractionDate" annotation, used
3430 29 Jun 15 olle 896     for item lists. It is a date annotation type.
3430 29 Jun 15 olle 897     @since 1.3
3430 29 Jun 15 olle 898   */
3430 29 Jun 15 olle 899   public static final Annotationtype LIST_EXTRACTION_DATE = 
3430 29 Jun 15 olle 900     new Annotationtype("ListExtractionDate", Type.DATE, false, Item.ITEMLIST);
3430 29 Jun 15 olle 901
3430 29 Jun 15 olle 902   /**
3430 29 Jun 15 olle 903     The "ListExtractionProtocolId" annotation, used
3430 29 Jun 15 olle 904     for item lists. It is an integer annotation type.
3430 29 Jun 15 olle 905     @since 1.3
3430 29 Jun 15 olle 906   */
3430 29 Jun 15 olle 907   public static final Annotationtype LIST_EXTRACTION_PROTOCOL_ID = 
3430 29 Jun 15 olle 908     new Annotationtype("ListExtractionProtocolId", Type.INT, false, Item.ITEMLIST);
3430 29 Jun 15 olle 909
3430 29 Jun 15 olle 910   /**
3430 29 Jun 15 olle 911     The "ListExtractionProtocolName" annotation, used
3430 29 Jun 15 olle 912     for item lists. It is a string annotation type.
3430 29 Jun 15 olle 913     @since 1.3
3430 29 Jun 15 olle 914   */
3430 29 Jun 15 olle 915   public static final Annotationtype LIST_EXTRACTION_PROTOCOL_NAME = 
3430 29 Jun 15 olle 916     new Annotationtype("ListExtractionProtocolName", Type.STRING, false, Item.ITEMLIST);
3430 29 Jun 15 olle 917
3430 29 Jun 15 olle 918   /**
3430 29 Jun 15 olle 919     The "ListRnaDefaultVolumeInMicroLitre" annotation, used
3430 29 Jun 15 olle 920     for item lists. It is a float annotation type.
3430 29 Jun 15 olle 921     @since 1.3
3430 29 Jun 15 olle 922   */
3430 29 Jun 15 olle 923   public static final Annotationtype LIST_RNA_DEFAULT_VOLUME_IN_MICROLITRE =
3430 29 Jun 15 olle 924     new Annotationtype("ListRnaDefaultVolumeInMicroLitre", Type.FLOAT, false, Item.ITEMLIST);
3430 29 Jun 15 olle 925
3430 29 Jun 15 olle 926   /**
3430 29 Jun 15 olle 927     The "ListDnaDefaultVolumeInMicroLitre" annotation, used
3430 29 Jun 15 olle 928     for item lists. It is a float annotation type.
3430 29 Jun 15 olle 929     @since 1.3
3430 29 Jun 15 olle 930   */
3430 29 Jun 15 olle 931   public static final Annotationtype LIST_DNA_DEFAULT_VOLUME_IN_MICROLITRE =
3430 29 Jun 15 olle 932     new Annotationtype("ListDnaDefaultVolumeInMicroLitre", Type.FLOAT, false, Item.ITEMLIST);
3430 29 Jun 15 olle 933
3430 29 Jun 15 olle 934   /**
3430 29 Jun 15 olle 935     The "ListQiacubeDate" annotation type, used
3430 29 Jun 15 olle 936     for item lists. It is a date annotation type.
3430 29 Jun 15 olle 937     @since 1.3
3430 29 Jun 15 olle 938   */
3430 29 Jun 15 olle 939   public static final Annotationtype LIST_QIACUBE_DATE = 
3430 29 Jun 15 olle 940     new Annotationtype("ListQiacubeDate", Type.DATE, false, Item.ITEMLIST);
3430 29 Jun 15 olle 941
3430 29 Jun 15 olle 942   /**
3430 29 Jun 15 olle 943     The "ListQiacubePrimaryPrefix" annotation, used
3430 29 Jun 15 olle 944     for item lists. It is a string annotation type.
3430 29 Jun 15 olle 945     @since 1.3
3430 29 Jun 15 olle 946   */
3430 29 Jun 15 olle 947   public static final Annotationtype LIST_QIACUBE_PRIMARY_PREFIX = 
3430 29 Jun 15 olle 948     new Annotationtype("ListQiacubePrimaryPrefix", Type.STRING, false, Item.ITEMLIST);
3430 29 Jun 15 olle 949
3430 29 Jun 15 olle 950   /**
3430 29 Jun 15 olle 951     The "ListQiacubeSecondaryPrefix" annotation, used
3430 29 Jun 15 olle 952     for item lists. It is a string annotation type.
3430 29 Jun 15 olle 953     @since 1.3
3430 29 Jun 15 olle 954   */
3430 29 Jun 15 olle 955   public static final Annotationtype LIST_QIACUBE_SECONDARY_PREFIX = 
3430 29 Jun 15 olle 956     new Annotationtype("ListQiacubeSecondaryPrefix", Type.STRING, false, Item.ITEMLIST);
3430 29 Jun 15 olle 957
3430 29 Jun 15 olle 958   /**
3430 29 Jun 15 olle 959     The "ListQiacubeRunNo" annotation type, used for item lists.
3430 29 Jun 15 olle 960     It is an integer annotation type with allowed values >= 1.
3430 29 Jun 15 olle 961     @since 1.3
3430 29 Jun 15 olle 962   */
3430 29 Jun 15 olle 963   public static final Annotationtype LIST_QIACUBE_RUN_NO = 
3430 29 Jun 15 olle 964     new Annotationtype("ListQiacubeRunNo", Type.INT, false, Item.ITEMLIST);
3430 29 Jun 15 olle 965
3430 29 Jun 15 olle 966   /**
3430 29 Jun 15 olle 967     The "ListQiacubeOperator" annotation, used
3430 29 Jun 15 olle 968     for item lists. It is a string annotation type.
3430 29 Jun 15 olle 969     @since 1.3
3430 29 Jun 15 olle 970   */
3430 29 Jun 15 olle 971   public static final Annotationtype LIST_QIACUBE_OPERATOR = 
3430 29 Jun 15 olle 972     new Annotationtype("ListQiacubeOperator", Type.STRING, false, Item.ITEMLIST);
3430 29 Jun 15 olle 973
3430 29 Jun 15 olle 974   /**
3430 29 Jun 15 olle 975     The "ListAllprepFfpeKit" annotation type, used
3430 29 Jun 15 olle 976     for item lists. It is a string annotation type.
3430 29 Jun 15 olle 977     @since 1.3
3430 29 Jun 15 olle 978   */
3430 29 Jun 15 olle 979   public static final Annotationtype LIST_ALLPREP_FFPE_KIT = 
3430 29 Jun 15 olle 980     new Annotationtype("ListAllprepFfpeKit", Type.STRING, false, Item.ITEMLIST);
3430 29 Jun 15 olle 981
3430 29 Jun 15 olle 982   /**
3501 21 Sep 15 olle 983     The "ListXylene_Specimen" annotation type, used
3501 21 Sep 15 olle 984     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 985     @since 1.3.2
3501 21 Sep 15 olle 986   */
3501 21 Sep 15 olle 987   public static final Annotationtype LIST_XYLENE_SPECIMEN = 
3501 21 Sep 15 olle 988     new Annotationtype("ListXylene_Specimen", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 989
3501 21 Sep 15 olle 990   /**
3501 21 Sep 15 olle 991     The "ListETOH995_Specimen" annotation type, used
3501 21 Sep 15 olle 992     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 993     @since 1.3.2
3501 21 Sep 15 olle 994   */
3501 21 Sep 15 olle 995   public static final Annotationtype LIST_ETOH995_SPECIMEN = 
3501 21 Sep 15 olle 996     new Annotationtype("ListETOH995_Specimen", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 997
3501 21 Sep 15 olle 998   /**
3501 21 Sep 15 olle 999     The "ListBufferPKD_Specimen" annotation type, used
3501 21 Sep 15 olle 1000     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1001     @since 1.3.2
3501 21 Sep 15 olle 1002   */
3501 21 Sep 15 olle 1003   public static final Annotationtype LIST_BUFFER_PKD_SPECIMEN = 
3501 21 Sep 15 olle 1004     new Annotationtype("ListBufferPKD_Specimen", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1005
3501 21 Sep 15 olle 1006   /**
3501 21 Sep 15 olle 1007     The "ListBufferATL_Specimen" annotation type, used
3501 21 Sep 15 olle 1008     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1009     @since 1.3.2
3501 21 Sep 15 olle 1010   */
3501 21 Sep 15 olle 1011   public static final Annotationtype LIST_BUFFER_ATL_SPECIMEN = 
3501 21 Sep 15 olle 1012     new Annotationtype("ListBufferATL_Specimen", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1013
3501 21 Sep 15 olle 1014   /**
3501 21 Sep 15 olle 1015     The "ListProteinaseK_Specimen" annotation type, used
3501 21 Sep 15 olle 1016     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1017     @since 1.3.2
3501 21 Sep 15 olle 1018   */
3501 21 Sep 15 olle 1019   public static final Annotationtype LIST_PROTEINASE_K_SPECIMEN = 
3501 21 Sep 15 olle 1020     new Annotationtype("ListProteinaseK_Specimen", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1021
3501 21 Sep 15 olle 1022   /**
3501 21 Sep 15 olle 1023     The "ListRNaseA_Specimen" annotation type, used
3501 21 Sep 15 olle 1024     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1025     @since 1.3.2
3501 21 Sep 15 olle 1026   */
3501 21 Sep 15 olle 1027   public static final Annotationtype LIST_RNASE_A_SPECIMEN = 
3501 21 Sep 15 olle 1028     new Annotationtype("ListRNaseA_Specimen", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1029
3501 21 Sep 15 olle 1030   /**
3501 21 Sep 15 olle 1031     The "ListETOH995" annotation type, used
3501 21 Sep 15 olle 1032     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1033     @since 1.3.2
3501 21 Sep 15 olle 1034   */
3501 21 Sep 15 olle 1035   public static final Annotationtype LIST_ETOH995 = 
3501 21 Sep 15 olle 1036     new Annotationtype("ListETOH995", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1037
3501 21 Sep 15 olle 1038   /**
3501 21 Sep 15 olle 1039     The "ListBufferRLT" annotation type, used
3501 21 Sep 15 olle 1040     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1041     @since 1.3.2
3501 21 Sep 15 olle 1042   */
3501 21 Sep 15 olle 1043   public static final Annotationtype LIST_BUFFER_RLT = 
3501 21 Sep 15 olle 1044     new Annotationtype("ListBufferRLT", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1045
3501 21 Sep 15 olle 1046   /**
3501 21 Sep 15 olle 1047     The "ListBufferFRN" annotation type, used
3501 21 Sep 15 olle 1048     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1049     @since 1.3.2
3501 21 Sep 15 olle 1050   */
3501 21 Sep 15 olle 1051   public static final Annotationtype LIST_BUFFER_FRN = 
3501 21 Sep 15 olle 1052     new Annotationtype("ListBufferFRN", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1053
3501 21 Sep 15 olle 1054   /**
3501 21 Sep 15 olle 1055     The "ListBufferRPE" annotation type, used
3501 21 Sep 15 olle 1056     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1057     @since 1.3.2
3501 21 Sep 15 olle 1058   */
3501 21 Sep 15 olle 1059   public static final Annotationtype LIST_BUFFER_RPE = 
3501 21 Sep 15 olle 1060     new Annotationtype("ListBufferRPE", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1061
3501 21 Sep 15 olle 1062   /**
3501 21 Sep 15 olle 1063     The "ListBufferAL" annotation type, used
3501 21 Sep 15 olle 1064     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1065     @since 1.3.2
3501 21 Sep 15 olle 1066   */
3501 21 Sep 15 olle 1067   public static final Annotationtype LIST_BUFFER_AL = 
3501 21 Sep 15 olle 1068     new Annotationtype("ListBufferAL", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1069
3501 21 Sep 15 olle 1070   /**
3501 21 Sep 15 olle 1071     The "ListBufferAW1" annotation type, used
3501 21 Sep 15 olle 1072     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1073     @since 1.3.2
3501 21 Sep 15 olle 1074   */
3501 21 Sep 15 olle 1075   public static final Annotationtype LIST_BUFFER_AW1 = 
3501 21 Sep 15 olle 1076     new Annotationtype("ListBufferAW1", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1077
3501 21 Sep 15 olle 1078   /**
3501 21 Sep 15 olle 1079     The "ListBufferAW2" annotation type, used
3501 21 Sep 15 olle 1080     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1081     @since 1.3.2
3501 21 Sep 15 olle 1082   */
3501 21 Sep 15 olle 1083   public static final Annotationtype LIST_BUFFER_AW2 = 
3501 21 Sep 15 olle 1084     new Annotationtype("ListBufferAW2", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1085
3501 21 Sep 15 olle 1086   /**
3501 21 Sep 15 olle 1087     The "ListBufferATE" annotation type, used
3501 21 Sep 15 olle 1088     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1089     @since 1.3.2
3501 21 Sep 15 olle 1090   */
3501 21 Sep 15 olle 1091   public static final Annotationtype LIST_BUFFER_ATE = 
3501 21 Sep 15 olle 1092     new Annotationtype("ListBufferATE", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1093
3501 21 Sep 15 olle 1094   /**
3501 21 Sep 15 olle 1095     The "ListBufferRDD" annotation type, used
3501 21 Sep 15 olle 1096     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1097     @since 1.3.2
3501 21 Sep 15 olle 1098   */
3501 21 Sep 15 olle 1099   public static final Annotationtype LIST_BUFFER_RDD = 
3501 21 Sep 15 olle 1100     new Annotationtype("ListBufferRDD", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1101
3501 21 Sep 15 olle 1102   /**
3501 21 Sep 15 olle 1103     The "ListRNaseFreeWater" annotation type, used
3501 21 Sep 15 olle 1104     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1105     @since 1.3.2
3501 21 Sep 15 olle 1106   */
3501 21 Sep 15 olle 1107   public static final Annotationtype LIST_RNASE_FREE_WATER = 
3501 21 Sep 15 olle 1108     new Annotationtype("ListRNaseFreeWater", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1109
3501 21 Sep 15 olle 1110   /**
3501 21 Sep 15 olle 1111     The "ListDNaseMix" annotation type, used
3501 21 Sep 15 olle 1112     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1113     @since 1.3.2
3501 21 Sep 15 olle 1114   */
3501 21 Sep 15 olle 1115   public static final Annotationtype LIST_DNASE_MIX = 
3501 21 Sep 15 olle 1116     new Annotationtype("ListDNaseMix", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1117
3501 21 Sep 15 olle 1118   /**
3501 21 Sep 15 olle 1119     The "ListRNeasyMinEluteSpin_col" annotation type, used
3501 21 Sep 15 olle 1120     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1121     @since 1.3.2
3501 21 Sep 15 olle 1122   */
3501 21 Sep 15 olle 1123   public static final Annotationtype LIST_RNEASY_MIN_ELUTE_SPIN_COL = 
3501 21 Sep 15 olle 1124     new Annotationtype("ListRNeasyMinEluteSpin_col", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1125
3501 21 Sep 15 olle 1126   /**
3501 21 Sep 15 olle 1127     The "ListQIAampMinEluteSpin_col" annotation type, used
3501 21 Sep 15 olle 1128     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1129     @since 1.3.2
3501 21 Sep 15 olle 1130   */
3501 21 Sep 15 olle 1131   public static final Annotationtype LIST_QIAAMP_MIN_ELUTE_SPIN_COL = 
3501 21 Sep 15 olle 1132     new Annotationtype("ListQIAampMinEluteSpin_col", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1133
3501 21 Sep 15 olle 1134   /**
3501 21 Sep 15 olle 1135     The "ListKapaSybrFast" annotation type, used
3501 21 Sep 15 olle 1136     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1137     @since 1.3.2
3501 21 Sep 15 olle 1138   */
3501 21 Sep 15 olle 1139   public static final Annotationtype LIST_KAPA_SYBR_FAST = 
3501 21 Sep 15 olle 1140     new Annotationtype("ListKapaSybrFast", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1141
3501 21 Sep 15 olle 1142   /**
3501 21 Sep 15 olle 1143     The "ListQualityControlPrimersQcpRgt" annotation type, used
3501 21 Sep 15 olle 1144     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1145     @since 1.3.2
3501 21 Sep 15 olle 1146   */
3501 21 Sep 15 olle 1147   public static final Annotationtype LIST_QUALITY_CONTROL_PRIMERS_QCP_RGT = 
3501 21 Sep 15 olle 1148     new Annotationtype("ListQualityControlPrimersQcpRgt", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1149
3501 21 Sep 15 olle 1150   /**
3501 21 Sep 15 olle 1151     The "ListQualityControlTemplateQct" annotation type, used
3501 21 Sep 15 olle 1152     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1153     @since 1.3.2
3501 21 Sep 15 olle 1154   */
3501 21 Sep 15 olle 1155   public static final Annotationtype LIST_QUALITY_CONTROL_TEMPLATE_QCT = 
3501 21 Sep 15 olle 1156     new Annotationtype("ListQualityControlTemplateQct", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1157
3501 21 Sep 15 olle 1158   /**
3501 21 Sep 15 olle 1159     The "ListQubitDnaHighSens" annotation type, used
3501 21 Sep 15 olle 1160     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1161     @since 1.3.2
3501 21 Sep 15 olle 1162   */
3501 21 Sep 15 olle 1163   public static final Annotationtype LIST_QUBIT_DNA_HIGH_SENS = 
3501 21 Sep 15 olle 1164     new Annotationtype("ListQubitDnaHighSens", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1165
3501 21 Sep 15 olle 1166   /**
3501 21 Sep 15 olle 1167     The "ListQubitDnaBroadRange" annotation type, used
3501 21 Sep 15 olle 1168     for item lists. It is a string annotation type.
3501 21 Sep 15 olle 1169     @since 1.3.2
3501 21 Sep 15 olle 1170   */
3501 21 Sep 15 olle 1171   public static final Annotationtype LIST_QUBIT_DNA_BROAD_RANGE = 
3501 21 Sep 15 olle 1172     new Annotationtype("ListQubitDnaBroadRange", Type.STRING, false, Item.ITEMLIST);
3501 21 Sep 15 olle 1173
3501 21 Sep 15 olle 1174   /**
3610 20 Nov 15 olle 1175     The "LibPrepKitLibPrepBox1" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1176     It is a string annotation type.
3610 20 Nov 15 olle 1177     @since 1.3.4
3610 20 Nov 15 olle 1178   */
3610 20 Nov 15 olle 1179   public static final Annotationtype LIBPREPKIT_LIB_PREP_BOX1 = 
3610 20 Nov 15 olle 1180     new Annotationtype("LibPrepKitLibPrepBox1", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1181
3610 20 Nov 15 olle 1182   /**
3610 20 Nov 15 olle 1183     The "LibPrepKitIndexKit" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1184     It is a string annotation type.
3610 20 Nov 15 olle 1185     @since 1.3.4
3610 20 Nov 15 olle 1186   */
3610 20 Nov 15 olle 1187   public static final Annotationtype LIBPREPKIT_LIB_INDEX_KIT = 
3610 20 Nov 15 olle 1188     new Annotationtype("LibPrepKitIndexKit", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1189
3610 20 Nov 15 olle 1190   /**
3610 20 Nov 15 olle 1191     The "LibPrepKitContentSetBox3" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1192     It is a string annotation type.
3610 20 Nov 15 olle 1193     @since 1.3.4
3610 20 Nov 15 olle 1194   */
3610 20 Nov 15 olle 1195   public static final Annotationtype LIBPREPKIT_CONTENT_SET_BOX3 = 
3610 20 Nov 15 olle 1196     new Annotationtype("LibPrepKitContentSetBox3", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1197
3610 20 Nov 15 olle 1198   /**
3610 20 Nov 15 olle 1199     The "LibPrepKitOligoPoolAFpa" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1200     It is a string annotation type.
3610 20 Nov 15 olle 1201     @since 1.3.4
3610 20 Nov 15 olle 1202   */
3610 20 Nov 15 olle 1203   public static final Annotationtype LIBPREPKIT_OLIGO_POOL_A_FPA = 
3610 20 Nov 15 olle 1204     new Annotationtype("LibPrepKitOligoPoolAFpa", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1205
3610 20 Nov 15 olle 1206   /**
3610 20 Nov 15 olle 1207     The "LibPrepKitOligoPoolBFpb" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1208     It is a string annotation type.
3610 20 Nov 15 olle 1209     @since 1.3.4
3610 20 Nov 15 olle 1210   */
3610 20 Nov 15 olle 1211   public static final Annotationtype LIBPREPKIT_OLIGO_POOL_B_FPB = 
3610 20 Nov 15 olle 1212     new Annotationtype("LibPrepKitOligoPoolBFpb", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1213
3610 20 Nov 15 olle 1214   /**
3610 20 Nov 15 olle 1215     The "LibPrepKitOligoHybrSeqReagent3Ohs3" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1216     It is a string annotation type.
3610 20 Nov 15 olle 1217     @since 1.3.4
3610 20 Nov 15 olle 1218   */
3610 20 Nov 15 olle 1219   public static final Annotationtype LIBPREPKIT_OLIGO_HYBR_SEQ_REAGENT3_OHS3 = 
3610 20 Nov 15 olle 1220     new Annotationtype("LibPrepKitOligoHybrSeqReagent3Ohs3", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1221
3610 20 Nov 15 olle 1222   /**
3610 20 Nov 15 olle 1223     The "LibPrepKitStringentWash1Sw1" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1224     It is a string annotation type.
3610 20 Nov 15 olle 1225     @since 1.3.4
3610 20 Nov 15 olle 1226   */
3610 20 Nov 15 olle 1227   public static final Annotationtype LIBPREPKIT_STRINGENT_WASH1_SW1 = 
3610 20 Nov 15 olle 1228     new Annotationtype("LibPrepKitStringentWash1Sw1", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1229
3610 20 Nov 15 olle 1230   /**
3610 20 Nov 15 olle 1231     The "LibPrepKitExtensionLigationMix3Elm3" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1232     It is a string annotation type.
3610 20 Nov 15 olle 1233     @since 1.3.4
3610 20 Nov 15 olle 1234   */
3610 20 Nov 15 olle 1235   public static final Annotationtype LIBPREPKIT_EXTENSION_LIGATION_MIX3_ELM3 = 
3610 20 Nov 15 olle 1236     new Annotationtype("LibPrepKitExtensionLigationMix3Elm3", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1237
3610 20 Nov 15 olle 1238   /**
3610 20 Nov 15 olle 1239     The "LibPrepKitPcrMasterMix2Pmm2" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1240     It is a string annotation type.
3610 20 Nov 15 olle 1241     @since 1.3.4
3610 20 Nov 15 olle 1242   */
3610 20 Nov 15 olle 1243   public static final Annotationtype LIBPREPKIT_PCR_MASTER_MIX2_PMM2 = 
3610 20 Nov 15 olle 1244     new Annotationtype("LibPrepKitPcrMasterMix2Pmm2", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1245
3610 20 Nov 15 olle 1246   /**
3610 20 Nov 15 olle 1247     The "LibPrepKitUb1" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1248     It is a string annotation type.
3610 20 Nov 15 olle 1249     @since 1.3.4
3610 20 Nov 15 olle 1250   */
3610 20 Nov 15 olle 1251   public static final Annotationtype LIBPREPKIT_UB1 = 
3610 20 Nov 15 olle 1252     new Annotationtype("LibPrepKitUb1", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1253
3610 20 Nov 15 olle 1254   /**
3610 20 Nov 15 olle 1255     The "LibPrepKitTdp" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1256     It is a string annotation type.
3610 20 Nov 15 olle 1257     @since 1.3.4
3610 20 Nov 15 olle 1258   */
3610 20 Nov 15 olle 1259   public static final Annotationtype LIBPREPKIT_TDP = 
3610 20 Nov 15 olle 1260     new Annotationtype("LibPrepKitTdp", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1261
3610 20 Nov 15 olle 1262   /**
3610 20 Nov 15 olle 1263     The "LibPrepKitFilterPlate" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1264     It is a string annotation type.
3610 20 Nov 15 olle 1265     @since 1.3.4
3610 20 Nov 15 olle 1266   */
3610 20 Nov 15 olle 1267   public static final Annotationtype LIBPREPKIT_FILTER_PLATE = 
3610 20 Nov 15 olle 1268     new Annotationtype("LibPrepKitFilterPlate", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1269
3610 20 Nov 15 olle 1270   /**
3610 20 Nov 15 olle 1271     The "LibPrepKitA701" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1272     It is a string annotation type.
3610 20 Nov 15 olle 1273     @since 1.3.4
3610 20 Nov 15 olle 1274   */
3610 20 Nov 15 olle 1275   public static final Annotationtype LIBPREPKIT_A701 = 
3610 20 Nov 15 olle 1276     new Annotationtype("LibPrepKitA701", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1277
3610 20 Nov 15 olle 1278   /**
3610 20 Nov 15 olle 1279     The "LibPrepKitA702" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1280     It is a string annotation type.
3610 20 Nov 15 olle 1281     @since 1.3.4
3610 20 Nov 15 olle 1282   */
3610 20 Nov 15 olle 1283   public static final Annotationtype LIBPREPKIT_A702 = 
3610 20 Nov 15 olle 1284     new Annotationtype("LibPrepKitA702", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1285
3610 20 Nov 15 olle 1286   /**
3610 20 Nov 15 olle 1287     The "LibPrepKitA703" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1288     It is a string annotation type.
3610 20 Nov 15 olle 1289     @since 1.3.4
3610 20 Nov 15 olle 1290   */
3610 20 Nov 15 olle 1291   public static final Annotationtype LIBPREPKIT_A703 = 
3610 20 Nov 15 olle 1292     new Annotationtype("LibPrepKitA703", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1293
3610 20 Nov 15 olle 1294   /**
3610 20 Nov 15 olle 1295     The "LibPrepKitA704" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1296     It is a string annotation type.
3610 20 Nov 15 olle 1297     @since 1.3.4
3610 20 Nov 15 olle 1298   */
3610 20 Nov 15 olle 1299   public static final Annotationtype LIBPREPKIT_A704 = 
3610 20 Nov 15 olle 1300     new Annotationtype("LibPrepKitA704", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1301
3610 20 Nov 15 olle 1302   /**
3610 20 Nov 15 olle 1303     The "LibPrepKitA705" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1304     It is a string annotation type.
3610 20 Nov 15 olle 1305     @since 1.3.4
3610 20 Nov 15 olle 1306   */
3610 20 Nov 15 olle 1307   public static final Annotationtype LIBPREPKIT_A705 = 
3610 20 Nov 15 olle 1308     new Annotationtype("LibPrepKitA705", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1309
3610 20 Nov 15 olle 1310   /**
3610 20 Nov 15 olle 1311     The "LibPrepKitA706" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1312     It is a string annotation type.
3610 20 Nov 15 olle 1313     @since 1.3.4
3610 20 Nov 15 olle 1314   */
3610 20 Nov 15 olle 1315   public static final Annotationtype LIBPREPKIT_A706 = 
3610 20 Nov 15 olle 1316     new Annotationtype("LibPrepKitA706", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1317
3610 20 Nov 15 olle 1318   /**
3610 20 Nov 15 olle 1319     The "LibPrepKitA707" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1320     It is a string annotation type.
3610 20 Nov 15 olle 1321     @since 1.3.4
3610 20 Nov 15 olle 1322   */
3610 20 Nov 15 olle 1323   public static final Annotationtype LIBPREPKIT_A707 = 
3610 20 Nov 15 olle 1324     new Annotationtype("LibPrepKitA707", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1325
3610 20 Nov 15 olle 1326   /**
3610 20 Nov 15 olle 1327     The "LibPrepKitA708" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1328     It is a string annotation type.
3610 20 Nov 15 olle 1329     @since 1.3.4
3610 20 Nov 15 olle 1330   */
3610 20 Nov 15 olle 1331   public static final Annotationtype LIBPREPKIT_A708 = 
3610 20 Nov 15 olle 1332     new Annotationtype("LibPrepKitA708", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1333
3610 20 Nov 15 olle 1334   /**
3610 20 Nov 15 olle 1335     The "LibPrepKitA709" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1336     It is a string annotation type.
3610 20 Nov 15 olle 1337     @since 1.3.4
3610 20 Nov 15 olle 1338   */
3610 20 Nov 15 olle 1339   public static final Annotationtype LIBPREPKIT_A709 = 
3610 20 Nov 15 olle 1340     new Annotationtype("LibPrepKitA709", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1341
3610 20 Nov 15 olle 1342   /**
3610 20 Nov 15 olle 1343     The "LibPrepKitA710" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1344     It is a string annotation type.
3610 20 Nov 15 olle 1345     @since 1.3.4
3610 20 Nov 15 olle 1346   */
3610 20 Nov 15 olle 1347   public static final Annotationtype LIBPREPKIT_A710 = 
3610 20 Nov 15 olle 1348     new Annotationtype("LibPrepKitA710", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1349
3610 20 Nov 15 olle 1350   /**
3610 20 Nov 15 olle 1351     The "LibPrepKitA711" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1352     It is a string annotation type.
3610 20 Nov 15 olle 1353     @since 1.3.4
3610 20 Nov 15 olle 1354   */
3610 20 Nov 15 olle 1355   public static final Annotationtype LIBPREPKIT_A711 = 
3610 20 Nov 15 olle 1356     new Annotationtype("LibPrepKitA711", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1357
3610 20 Nov 15 olle 1358   /**
3610 20 Nov 15 olle 1359     The "LibPrepKitA712" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1360     It is a string annotation type.
3610 20 Nov 15 olle 1361     @since 1.3.4
3610 20 Nov 15 olle 1362   */
3610 20 Nov 15 olle 1363   public static final Annotationtype LIBPREPKIT_A712 = 
3610 20 Nov 15 olle 1364     new Annotationtype("LibPrepKitA712", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1365
3610 20 Nov 15 olle 1366   /**
3610 20 Nov 15 olle 1367     The "LibPrepKitA501" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1368     It is a string annotation type.
3610 20 Nov 15 olle 1369     @since 1.3.4
3610 20 Nov 15 olle 1370   */
3610 20 Nov 15 olle 1371   public static final Annotationtype LIBPREPKIT_A501 = 
3610 20 Nov 15 olle 1372       new Annotationtype("LibPrepKitA501", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1373
3610 20 Nov 15 olle 1374   /**
3610 20 Nov 15 olle 1375     The "LibPrepKitA502" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1376     It is a string annotation type.
3610 20 Nov 15 olle 1377     @since 1.3.4
3610 20 Nov 15 olle 1378   */
3610 20 Nov 15 olle 1379   public static final Annotationtype LIBPREPKIT_A502 = 
3610 20 Nov 15 olle 1380     new Annotationtype("LibPrepKitA502", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1381
3610 20 Nov 15 olle 1382   /**
3610 20 Nov 15 olle 1383     The "LibPrepKitA503" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1384     It is a string annotation type.
3610 20 Nov 15 olle 1385     @since 1.3.4
3610 20 Nov 15 olle 1386   */
3610 20 Nov 15 olle 1387   public static final Annotationtype LIBPREPKIT_A503 = 
3610 20 Nov 15 olle 1388     new Annotationtype("LibPrepKitA503", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1389
3610 20 Nov 15 olle 1390   /**
3610 20 Nov 15 olle 1391     The "LibPrepKitA504" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1392     It is a string annotation type.
3610 20 Nov 15 olle 1393     @since 1.3.4
3610 20 Nov 15 olle 1394   */
3610 20 Nov 15 olle 1395   public static final Annotationtype LIBPREPKIT_A504 = 
3610 20 Nov 15 olle 1396     new Annotationtype("LibPrepKitA504", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1397
3610 20 Nov 15 olle 1398   /**
3610 20 Nov 15 olle 1399     The "LibPrepKitA505" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1400     It is a string annotation type.
3610 20 Nov 15 olle 1401     @since 1.3.4
3610 20 Nov 15 olle 1402   */
3610 20 Nov 15 olle 1403   public static final Annotationtype LIBPREPKIT_A505 = 
3610 20 Nov 15 olle 1404     new Annotationtype("LibPrepKitA505", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1405
3610 20 Nov 15 olle 1406   /**
3610 20 Nov 15 olle 1407     The "LibPrepKitA506" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1408     It is a string annotation type.
3610 20 Nov 15 olle 1409     @since 1.3.4
3610 20 Nov 15 olle 1410   */
3610 20 Nov 15 olle 1411   public static final Annotationtype LIBPREPKIT_A506 = 
3610 20 Nov 15 olle 1412     new Annotationtype("LibPrepKitA506", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1413
3610 20 Nov 15 olle 1414   /**
3610 20 Nov 15 olle 1415     The "LibPrepKitA507" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1416     It is a string annotation type.
3610 20 Nov 15 olle 1417     @since 1.3.4
3610 20 Nov 15 olle 1418   */
3610 20 Nov 15 olle 1419   public static final Annotationtype LIBPREPKIT_A507 = 
3610 20 Nov 15 olle 1420     new Annotationtype("LibPrepKitA507", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1421
3610 20 Nov 15 olle 1422   /**
3610 20 Nov 15 olle 1423     The "LibPrepKitA508" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1424     It is a string annotation type.
3610 20 Nov 15 olle 1425     @since 1.3.4
3610 20 Nov 15 olle 1426   */
3610 20 Nov 15 olle 1427   public static final Annotationtype LIBPREPKIT_A508 = 
3610 20 Nov 15 olle 1428     new Annotationtype("LibPrepKitA508", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1429
3610 20 Nov 15 olle 1430   /**
3610 20 Nov 15 olle 1431     The "LibPrepKitLastUpdated" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1432     It is a date annotation type.
3610 20 Nov 15 olle 1433     @since 1.3.4
3610 20 Nov 15 olle 1434   */
3610 20 Nov 15 olle 1435   public static final Annotationtype LIBPREPKIT_LAST_UPDATED = 
3610 20 Nov 15 olle 1436     new Annotationtype("LibPrepKitLastUpdated", Type.DATE, false, Item.KIT);
3610 20 Nov 15 olle 1437
3610 20 Nov 15 olle 1438   /**
3610 20 Nov 15 olle 1439     The "LibPrepKitNumberTimesUsed" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1440     It is an integer annotation type.
3610 20 Nov 15 olle 1441     @since 1.3.4
3610 20 Nov 15 olle 1442   */
3610 20 Nov 15 olle 1443   public static final Annotationtype LIBPREPKIT_NUMBER_TIMES_USED = 
3610 20 Nov 15 olle 1444     new Annotationtype("LibPrepKitNumberTimesUsed", Type.INT, false, Item.KIT);
3610 20 Nov 15 olle 1445
3610 20 Nov 15 olle 1446   /**
3610 20 Nov 15 olle 1447     The "LibPrepKitUnusedFpaWells" annotation type, used for kits (Library Preparation).
3610 20 Nov 15 olle 1448     It is a string annotation type.
3610 20 Nov 15 olle 1449     @since 1.3.4
3610 20 Nov 15 olle 1450   */
3610 20 Nov 15 olle 1451   public static final Annotationtype LIBPREPKIT_UNUSED_FPA_WELLS = 
3610 20 Nov 15 olle 1452     new Annotationtype("LibPrepKitUnusedFpaWells", Type.STRING, false, Item.KIT);
3610 20 Nov 15 olle 1453
3610 20 Nov 15 olle 1454   /**
2933 14 Nov 14 olle 1455     The "QCRunDate" annotation, used
2933 14 Nov 14 olle 1456     for bioplates (RNA). It is a date annotation type.
2933 14 Nov 14 olle 1457   */
2933 14 Nov 14 olle 1458 /*
2933 14 Nov 14 olle 1459   public static final Annotationtype QC_RUN_DATE = 
2933 14 Nov 14 olle 1460     new Annotationtype("QCRunDate", Type.DATE, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1461 */
2933 14 Nov 14 olle 1462   
2933 14 Nov 14 olle 1463   /**
2933 14 Nov 14 olle 1464     The "QCOperator" annotation, used
2933 14 Nov 14 olle 1465     for bioplates (RNA). It is a string annotation type.
2933 14 Nov 14 olle 1466   */
2933 14 Nov 14 olle 1467 /*
2933 14 Nov 14 olle 1468   public static final Annotationtype QC_OPERATOR = 
2933 14 Nov 14 olle 1469     new Annotationtype("QCOperator", Type.STRING, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1470 */
2933 14 Nov 14 olle 1471   
2933 14 Nov 14 olle 1472   /**
2933 14 Nov 14 olle 1473     The "BA_RIN" annotation, used
2933 14 Nov 14 olle 1474     for extract (RNAQC). It is a float annotation type
2933 14 Nov 14 olle 1475   */
2933 14 Nov 14 olle 1476 /*
2933 14 Nov 14 olle 1477   public static final Annotationtype BA_RIN = 
2933 14 Nov 14 olle 1478     new Annotationtype("BA_RIN", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1479 */
2933 14 Nov 14 olle 1480   
2933 14 Nov 14 olle 1481   /**
2933 14 Nov 14 olle 1482     The "CA_RQS" annotation, used
2933 14 Nov 14 olle 1483     for extract (RNAQC). It is a float annotation type
2933 14 Nov 14 olle 1484   */
2933 14 Nov 14 olle 1485 /*
2933 14 Nov 14 olle 1486   public static final Annotationtype CA_RQS = 
2933 14 Nov 14 olle 1487     new Annotationtype("CA_RQS", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1488 */
2933 14 Nov 14 olle 1489   
2933 14 Nov 14 olle 1490   /**
2933 14 Nov 14 olle 1491     The "NDConc" annotation, used for extract (DNA/RNA).
3176 06 Mar 15 olle 1492     @since 1.2
2933 14 Nov 14 olle 1493   */
2933 14 Nov 14 olle 1494   public static final Annotationtype ND_CONC = 
2933 14 Nov 14 olle 1495     new Annotationtype("NDConc", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1496
2933 14 Nov 14 olle 1497   /**
2933 14 Nov 14 olle 1498     The "ND260by280" annotation, used for extract (DNA/RNA).
2933 14 Nov 14 olle 1499     It is a float annotation type.
3176 06 Mar 15 olle 1500     @since 1.2
2933 14 Nov 14 olle 1501   */
2933 14 Nov 14 olle 1502   public static final Annotationtype ND_260_BY_280 = 
2933 14 Nov 14 olle 1503     new Annotationtype("ND260by280", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1504
2933 14 Nov 14 olle 1505   /**
2933 14 Nov 14 olle 1506     The "ND260by230" annotation, used for extract (DNA/RNA).
2933 14 Nov 14 olle 1507     It is a float annotation type.
3176 06 Mar 15 olle 1508     @since 1.2
2933 14 Nov 14 olle 1509   */
2933 14 Nov 14 olle 1510   public static final Annotationtype ND_260_BY_230 = 
2933 14 Nov 14 olle 1511     new Annotationtype("ND260by230", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1512   
2933 14 Nov 14 olle 1513   /**
2933 14 Nov 14 olle 1514     The "QCHiSense" annotation, used for
2933 14 Nov 14 olle 1515     extract (RNAQC). It is a boolean annotation type.
2933 14 Nov 14 olle 1516   */
2933 14 Nov 14 olle 1517 /*
2933 14 Nov 14 olle 1518   public static final Annotationtype QC_HISENSE = 
2933 14 Nov 14 olle 1519     new Annotationtype("QCHiSense", Type.BOOLEAN, false, Item.EXTRACT);
2933 14 Nov 14 olle 1520 */
2933 14 Nov 14 olle 1521
2933 14 Nov 14 olle 1522   /**
2933 14 Nov 14 olle 1523     The "AutoProcessing" annotation which, if set, is a 
2933 14 Nov 14 olle 1524     flag to indicate how the item should be handled by
2933 14 Nov 14 olle 1525     auto-processing wizards. No value indicates normal
2933 14 Nov 14 olle 1526     processing in the regular flow. Other values may mean
2933 14 Nov 14 olle 1527     either disabled auto-processing (eg. "Disable") or
2933 14 Nov 14 olle 1528     forced (re)-auto-processing (eg. "ReProcess"). The 
2933 14 Nov 14 olle 1529     support and meaning is up to each wizard.
2933 14 Nov 14 olle 1530     @since 2.12
2933 14 Nov 14 olle 1531   */
2933 14 Nov 14 olle 1532 /*
2933 14 Nov 14 olle 1533   public static final Annotationtype AUTO_PROCESSING = 
2933 14 Nov 14 olle 1534     new Annotationtype("AutoProcessing", Type.STRING, false, Item.EXTRACT, Item.DERIVEDBIOASSAY, Item.SAMPLE);
2933 14 Nov 14 olle 1535 */
2933 14 Nov 14 olle 1536
2933 14 Nov 14 olle 1537   /**
2933 14 Nov 14 olle 1538     The "PlateProcessResult" annotation which is set after a reaction
3449 28 Jul 15 olle 1539     plate has been processed to indicate the outcome of the plate as
2933 14 Nov 14 olle 1540     a whole. A value of "Successful" typically means that the next step
2933 14 Nov 14 olle 1541     in the process can be taken, but a value of "Failed" indicates a 
2933 14 Nov 14 olle 1542     complete failure and everything should be restarted at a previous level.
2933 14 Nov 14 olle 1543     Can also be used on a flow cell (physical bioassay).
2933 14 Nov 14 olle 1544     @since 2.12
2933 14 Nov 14 olle 1545   */
2933 14 Nov 14 olle 1546   public static final Annotationtype PLATE_PROCESS_RESULT =
2933 14 Nov 14 olle 1547     new Annotationtype("PlateProcessResult", Type.STRING, false, Item.BIOPLATE, Item.PHYSICALBIOASSAY);
2933 14 Nov 14 olle 1548
2933 14 Nov 14 olle 1549   /**
3449 28 Jul 15 olle 1550     Expected concentration after diluting RNA to be processed
3449 28 Jul 15 olle 1551     to libraries. Used on "DNA" and "Library" items.
3449 28 Jul 15 olle 1552     @since 1.3
2933 14 Nov 14 olle 1553   */
3449 28 Jul 15 olle 1554   public static final Annotationtype DILUTION_CONC =
3449 28 Jul 15 olle 1555     new Annotationtype("DilutionConc", Type.FLOAT, false, Item.EXTRACT);
3449 28 Jul 15 olle 1556
3449 28 Jul 15 olle 1557   /**
3449 28 Jul 15 olle 1558     Annotation for DNA dilution date.
3449 28 Jul 15 olle 1559     @since 1.3
3449 28 Jul 15 olle 1560   */
2933 14 Nov 14 olle 1561   public static final Annotationtype DILUTION_DATE =
2933 14 Nov 14 olle 1562       new Annotationtype("DilutionDate", Type.DATE, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1563
2933 14 Nov 14 olle 1564   /**
2933 14 Nov 14 olle 1565     Annotation for mRNA dilution operator.
3449 28 Jul 15 olle 1566     @since 1.3
2933 14 Nov 14 olle 1567   */
2933 14 Nov 14 olle 1568   public static final Annotationtype DILUTION_OPERATOR =
2933 14 Nov 14 olle 1569       new Annotationtype("DilutionOperator", Type.STRING, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1570
2933 14 Nov 14 olle 1571   
2933 14 Nov 14 olle 1572   /**
2933 14 Nov 14 olle 1573     Annotation for mRNA purification date.
2933 14 Nov 14 olle 1574     @since 2.12
2933 14 Nov 14 olle 1575   */
2933 14 Nov 14 olle 1576 /*
2933 14 Nov 14 olle 1577   public static final Annotationtype PURIFICATION_DATE =
2933 14 Nov 14 olle 1578       new Annotationtype("PurificationDate", Type.DATE, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1579 */
2933 14 Nov 14 olle 1580   
2933 14 Nov 14 olle 1581   /**
2933 14 Nov 14 olle 1582     Annotation for mRNA purification operator.
2933 14 Nov 14 olle 1583     @since 2.12
2933 14 Nov 14 olle 1584   */
2933 14 Nov 14 olle 1585 /*
2933 14 Nov 14 olle 1586   public static final Annotationtype PURIFICATION_OPERATOR =
2933 14 Nov 14 olle 1587       new Annotationtype("PurificationOperator", Type.STRING, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1588 */
2933 14 Nov 14 olle 1589
2933 14 Nov 14 olle 1590   /**
2933 14 Nov 14 olle 1591     Annotation for mRNA fragmentation date.
2933 14 Nov 14 olle 1592     @since 2.12
2933 14 Nov 14 olle 1593   */
2933 14 Nov 14 olle 1594 /*
2933 14 Nov 14 olle 1595   public static final Annotationtype FRAGMENTATION_DATE =
2933 14 Nov 14 olle 1596       new Annotationtype("FragmentationDate", Type.DATE, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1597 */
2933 14 Nov 14 olle 1598   
2933 14 Nov 14 olle 1599   /**
2933 14 Nov 14 olle 1600     Annotation for mRNA fragmentation operator.
2933 14 Nov 14 olle 1601     @since 2.12
2933 14 Nov 14 olle 1602   */
2933 14 Nov 14 olle 1603 /*
2933 14 Nov 14 olle 1604   public static final Annotationtype FRAGMENTATION_OPERATOR =
2933 14 Nov 14 olle 1605       new Annotationtype("FragmentationOperator", Type.STRING, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1606 */
2933 14 Nov 14 olle 1607
2933 14 Nov 14 olle 1608   /**
2933 14 Nov 14 olle 1609     Annotation for mRNA cleanup date.
2933 14 Nov 14 olle 1610     @since 2.12
2933 14 Nov 14 olle 1611   */
2933 14 Nov 14 olle 1612 /*
2933 14 Nov 14 olle 1613   public static final Annotationtype CLEANUP_DATE =
2933 14 Nov 14 olle 1614       new Annotationtype("CleanupDate", Type.DATE, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1615 */
2933 14 Nov 14 olle 1616   
2933 14 Nov 14 olle 1617   /**
2933 14 Nov 14 olle 1618     Annotation for mRNA cleanup operator.
2933 14 Nov 14 olle 1619     @since 2.12
2933 14 Nov 14 olle 1620   */
2933 14 Nov 14 olle 1621 /*
2933 14 Nov 14 olle 1622   public static final Annotationtype CLEANUP_OPERATOR =
2933 14 Nov 14 olle 1623       new Annotationtype("CleanupOperator", Type.STRING, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1624 */
2933 14 Nov 14 olle 1625
2933 14 Nov 14 olle 1626   /**
2933 14 Nov 14 olle 1627     Annotation for cDNA synthesis date.
2933 14 Nov 14 olle 1628     @since 2.12
2933 14 Nov 14 olle 1629   */
2933 14 Nov 14 olle 1630 /*
2933 14 Nov 14 olle 1631   public static final Annotationtype SYNTHESIS_DATE =
2933 14 Nov 14 olle 1632       new Annotationtype("SynthesisDate", Type.DATE, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1633 */
3449 28 Jul 15 olle 1634
2933 14 Nov 14 olle 1635   /**
2933 14 Nov 14 olle 1636     Annotation for cDNA synthesis operator.
2933 14 Nov 14 olle 1637     @since 2.12
2933 14 Nov 14 olle 1638   */
2933 14 Nov 14 olle 1639 /*
2933 14 Nov 14 olle 1640   public static final Annotationtype SYNTHESIS_OPERATOR =
2933 14 Nov 14 olle 1641       new Annotationtype("SynthesisOperator", Type.STRING, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1642 */
3449 28 Jul 15 olle 1643
2933 14 Nov 14 olle 1644   /**
2933 14 Nov 14 olle 1645     Annotation for Lib amplification date.
2933 14 Nov 14 olle 1646     @since 2.12
2933 14 Nov 14 olle 1647   */
2933 14 Nov 14 olle 1648 /*
2933 14 Nov 14 olle 1649   public static final Annotationtype AMPLIFICATION_DATE =
2933 14 Nov 14 olle 1650       new Annotationtype("AmplificationDate", Type.DATE, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1651 */
2933 14 Nov 14 olle 1652   
2933 14 Nov 14 olle 1653   /**
2933 14 Nov 14 olle 1654     Annotation for Lib amplification operator.
2933 14 Nov 14 olle 1655     @since 2.12
2933 14 Nov 14 olle 1656   */
2933 14 Nov 14 olle 1657 /*
2933 14 Nov 14 olle 1658   public static final Annotationtype AMPLIFICATION_OPERATOR =
2933 14 Nov 14 olle 1659       new Annotationtype("AmplificationOperator", Type.STRING, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1660 */
2933 14 Nov 14 olle 1661
2933 14 Nov 14 olle 1662   
2933 14 Nov 14 olle 1663   /**
2933 14 Nov 14 olle 1664     Annotation for pooling operator
2933 14 Nov 14 olle 1665     @since 2.14
2933 14 Nov 14 olle 1666   */
2933 14 Nov 14 olle 1667 /*
2933 14 Nov 14 olle 1668   public static final Annotationtype POOL_OPERATOR =
2933 14 Nov 14 olle 1669     new Annotationtype("PoolOperator", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 1670 */
2933 14 Nov 14 olle 1671
2933 14 Nov 14 olle 1672   
2933 14 Nov 14 olle 1673   /**
2933 14 Nov 14 olle 1674     The "Flag" annotation which, if set, is a 
2933 14 Nov 14 olle 1675     flag to indicate a special condition that happened
2933 14 Nov 14 olle 1676     during the processing of an item. This annotation is
2933 14 Nov 14 olle 1677     usually set in combination with adding the item to 
2933 14 Nov 14 olle 1678     a biomaterial list (eg. {@link BiomaterialList#FLAGGED_RNA}).
2933 14 Nov 14 olle 1679     @since 2.12
2933 14 Nov 14 olle 1680   */
3050 17 Dec 14 olle 1681 /*
2933 14 Nov 14 olle 1682   public static final Annotationtype FLAG = 
2933 14 Nov 14 olle 1683     new Annotationtype("Flag", Type.STRING, false, Item.SAMPLE, Item.EXTRACT);
3050 17 Dec 14 olle 1684 */
2933 14 Nov 14 olle 1685
2933 14 Nov 14 olle 1686   /**
2933 14 Nov 14 olle 1687     The "PoolSchema" annotation which, if set, indicates the default
2933 14 Nov 14 olle 1688     pooling schema to use when working with mRNA, cDNA and Library
2933 14 Nov 14 olle 1689     plates. It an enumerated string annotation type. 
2933 14 Nov 14 olle 1690     @since 2.12
2933 14 Nov 14 olle 1691   */
2933 14 Nov 14 olle 1692   public static final Annotationtype POOL_SCHEMA = 
2933 14 Nov 14 olle 1693     new Annotationtype("PoolSchema", Type.STRING, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1694
2933 14 Nov 14 olle 1695   /**
2933 14 Nov 14 olle 1696     The "BarcodeVariant" annotation which, if set, indicates the default
2933 14 Nov 14 olle 1697     barcode variant to use when working with mRNA, cDNA and Library
2933 14 Nov 14 olle 1698     plates. It a string annotation type. 
2933 14 Nov 14 olle 1699     @since 2.12
2933 14 Nov 14 olle 1700   */
2933 14 Nov 14 olle 1701   public static final Annotationtype BARCODE_VARIANT = 
2933 14 Nov 14 olle 1702     new Annotationtype("BarcodeVariant", Type.STRING, false, Item.BIOPLATE);
2933 14 Nov 14 olle 1703
2933 14 Nov 14 olle 1704   /**
3176 06 Mar 15 olle 1705     The "QubitConc" annotation, used for extract (DNA/RNAA).
3176 06 Mar 15 olle 1706     @since 1.2
2933 14 Nov 14 olle 1707   */
2933 14 Nov 14 olle 1708   public static final Annotationtype QUBIT_CONC = 
2933 14 Nov 14 olle 1709     new Annotationtype("QubitConc", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1710
2933 14 Nov 14 olle 1711   /**
2933 14 Nov 14 olle 1712     The "QubitConcAfterSpeedVac" annotation, used for extract (Library).
2933 14 Nov 14 olle 1713     @since 2.12
2933 14 Nov 14 olle 1714   */
2933 14 Nov 14 olle 1715 /*
2933 14 Nov 14 olle 1716   public static final Annotationtype QUBIT_CONC_AFTER_SPEEDVAC = 
2933 14 Nov 14 olle 1717     new Annotationtype("QubitConcAfterSpeedVac", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1718 */
2933 14 Nov 14 olle 1719
2933 14 Nov 14 olle 1720   /**
3176 06 Mar 15 olle 1721     The "deltaCt" annotation, used for extract (DNA/RNA).
3176 06 Mar 15 olle 1722     @since 1.2
3176 06 Mar 15 olle 1723   */
3176 06 Mar 15 olle 1724   public static final Annotationtype DELTA_CT = 
3176 06 Mar 15 olle 1725     new Annotationtype("deltaCt", Type.FLOAT, false, Item.EXTRACT);
3176 06 Mar 15 olle 1726
3176 06 Mar 15 olle 1727   /**
2933 14 Nov 14 olle 1728     The "CA_Size" annotation, used for extract (Library).
2933 14 Nov 14 olle 1729     Read from Caliper well table CSV, Region[180-600] Size [BP]
2933 14 Nov 14 olle 1730     @since 2.12
2933 14 Nov 14 olle 1731   */
2933 14 Nov 14 olle 1732 /*
2933 14 Nov 14 olle 1733   public static final Annotationtype CA_SIZE =
2933 14 Nov 14 olle 1734     new Annotationtype("CA_Size", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1735 */
2933 14 Nov 14 olle 1736
2933 14 Nov 14 olle 1737   /**
2933 14 Nov 14 olle 1738     The "CA_Molarity" annotation, used for extract (Library).
2933 14 Nov 14 olle 1739     Read from Caliper well table CSV, Region[180-600] Molarity (nmol/l)
2933 14 Nov 14 olle 1740     multiplied by 10. Used to store calculated values, but since 2.15.2 
2933 14 Nov 14 olle 1741     these have move to {@link LIBRARY_MOLARITY_EST}
2933 14 Nov 14 olle 1742     @since 2.12, 2.15.2
2933 14 Nov 14 olle 1743   */
2933 14 Nov 14 olle 1744 /*
2933 14 Nov 14 olle 1745   public static final Annotationtype CA_MOLARITY =
2933 14 Nov 14 olle 1746     new Annotationtype("CA_Molarity", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1747 */
2933 14 Nov 14 olle 1748
2933 14 Nov 14 olle 1749   /**
2933 14 Nov 14 olle 1750     The "CA_Size_Adpt" annotation, used for extract (Library).
2933 14 Nov 14 olle 1751     Read from Caliper well table CSV, Region[120-140] Size [BP]
2933 14 Nov 14 olle 1752     @since 2.15.2
2933 14 Nov 14 olle 1753   */
2933 14 Nov 14 olle 1754 /*
2933 14 Nov 14 olle 1755   public static final Annotationtype CA_SIZE_ADPT =
2933 14 Nov 14 olle 1756     new Annotationtype("CA_Size_Adpt", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1757 */
2933 14 Nov 14 olle 1758
2933 14 Nov 14 olle 1759   /**
2933 14 Nov 14 olle 1760     The "CA_Molarity_Adpt" annotation, used for extract (Library).
2933 14 Nov 14 olle 1761     Read from Caliper well table CSV, Region[120-140] Molarity (nmol/l)
2933 14 Nov 14 olle 1762     multiplied by 10.
2933 14 Nov 14 olle 1763     @since 2.15.2
2933 14 Nov 14 olle 1764   */
2933 14 Nov 14 olle 1765 /*
2933 14 Nov 14 olle 1766   public static final Annotationtype CA_MOLARITY_ADPT =
2933 14 Nov 14 olle 1767     new Annotationtype("CA_Molarity_Adpt", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1768 */
2933 14 Nov 14 olle 1769
2933 14 Nov 14 olle 1770   /**
2933 14 Nov 14 olle 1771     Calculated value for library molarity.
2933 14 Nov 14 olle 1772     @since 2.15.2
2933 14 Nov 14 olle 1773    */
2933 14 Nov 14 olle 1774 /*
2933 14 Nov 14 olle 1775   public static final Annotationtype LIBRARY_MOLARITY_EST =
2933 14 Nov 14 olle 1776     new Annotationtype("Library_Molarity_Est", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1777 */
2933 14 Nov 14 olle 1778
2933 14 Nov 14 olle 1779   /**
2933 14 Nov 14 olle 1780     Calculated value for library size. Weighted average of
2933 14 Nov 14 olle 1781     {@link #CA_SIZE} and {@link #CA_SIZE_ADPT}.
2933 14 Nov 14 olle 1782     @since 2.15.2
2933 14 Nov 14 olle 1783    */
2933 14 Nov 14 olle 1784 /*
2933 14 Nov 14 olle 1785   public static final Annotationtype LIBRARY_SIZE_EST =
2933 14 Nov 14 olle 1786     new Annotationtype("Library_Size_Est", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1787 */
2933 14 Nov 14 olle 1788
2933 14 Nov 14 olle 1789   /**
2933 14 Nov 14 olle 1790     Calculated value for adapter fraction (in percent). Calculated
2933 14 Nov 14 olle 1791     from {@link #CA_MOLARITY} and {@link #CA_MOLARITY_ADPT}.
2933 14 Nov 14 olle 1792     @since 2.15.2
2933 14 Nov 14 olle 1793    */
2933 14 Nov 14 olle 1794 /*
2933 14 Nov 14 olle 1795   public static final Annotationtype LIBRARY_FRAC_ADPT =
2933 14 Nov 14 olle 1796     new Annotationtype("Library_Frac_Adpt", Type.INT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1797 */
2933 14 Nov 14 olle 1798   
2933 14 Nov 14 olle 1799   /**
2933 14 Nov 14 olle 1800     The "PoolConc" annotation, used for extracts (PooledLibrary).
2933 14 Nov 14 olle 1801     Automatically calculated from the quantities used from the
2933 14 Nov 14 olle 1802     libraries mixed in the pool.
2933 14 Nov 14 olle 1803     @since 2.12
2933 14 Nov 14 olle 1804   */
2933 14 Nov 14 olle 1805 /*
2933 14 Nov 14 olle 1806   public static final Annotationtype POOL_CONC = 
2933 14 Nov 14 olle 1807     new Annotationtype("PoolConc", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1808 */
2933 14 Nov 14 olle 1809
2933 14 Nov 14 olle 1810   /**
2933 14 Nov 14 olle 1811     The "PoolMolarity" annotation, used for extracts (PooledLibrary).
2933 14 Nov 14 olle 1812     Automatically calculated using the molarity from from the
2933 14 Nov 14 olle 1813     libraries mixed in the pool.
2933 14 Nov 14 olle 1814     @since 2.12
2933 14 Nov 14 olle 1815   */
2933 14 Nov 14 olle 1816 /*
2933 14 Nov 14 olle 1817   public static final Annotationtype POOL_MOLARITY = 
2933 14 Nov 14 olle 1818     new Annotationtype("PoolMolarity", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1819 */
2933 14 Nov 14 olle 1820
2933 14 Nov 14 olle 1821   /**
2933 14 Nov 14 olle 1822     The "PoolTargetVolumePerLib" annotation, used for extracts (PooledLibrary).
2933 14 Nov 14 olle 1823     Store the admin-defined setting for target volume per library in a
2933 14 Nov 14 olle 1824     pool. The actual volume may be different due to limitations implied by
2933 14 Nov 14 olle 1825     library concentration and rounding.
2933 14 Nov 14 olle 1826     @since 2.13
2933 14 Nov 14 olle 1827   */
2933 14 Nov 14 olle 1828 /*
2933 14 Nov 14 olle 1829   public static final Annotationtype POOL_TARGET_VOLUME_PER_LIB =
2933 14 Nov 14 olle 1830     new Annotationtype("PoolTargetVolumePerLib", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1831 */
2933 14 Nov 14 olle 1832
2933 14 Nov 14 olle 1833   /**
2933 14 Nov 14 olle 1834     The "PoolTargetMolarity" annotation, used for extracts (PooledLibrary).
2933 14 Nov 14 olle 1835     Store the admin-defined setting for target molarity used when designing
2933 14 Nov 14 olle 1836     the pool. The actual molarity may different due to limitations implied by
2933 14 Nov 14 olle 1837     library concentration and rounding.
2933 14 Nov 14 olle 1838     @since 2.14
2933 14 Nov 14 olle 1839   */
2933 14 Nov 14 olle 1840 /*
2933 14 Nov 14 olle 1841   public static final Annotationtype POOL_TARGET_MOLARITY =
2933 14 Nov 14 olle 1842     new Annotationtype("PoolTargetMolarity", Type.FLOAT, false, Item.EXTRACT);
2933 14 Nov 14 olle 1843 */
2933 14 Nov 14 olle 1844
2933 14 Nov 14 olle 1845   /**
2933 14 Nov 14 olle 1846     The "PoolIsManual" annotation, used for extracts (PooledLibrary).
2933 14 Nov 14 olle 1847     Store a flag indicating if the pool is manaually created. If not set,
2933 14 Nov 14 olle 1848     it is asssumed that the pool is created from an entire library working plate.
2933 14 Nov 14 olle 1849     @since 2.14
2933 14 Nov 14 olle 1850   */
2933 14 Nov 14 olle 1851 /*
2933 14 Nov 14 olle 1852   public static final Annotationtype POOL_IS_MANUAL =
2933 14 Nov 14 olle 1853     new Annotationtype("PoolIsManual", Type.BOOLEAN, false, Item.EXTRACT);
2933 14 Nov 14 olle 1854 */
2933 14 Nov 14 olle 1855
2933 14 Nov 14 olle 1856   /**
2933 14 Nov 14 olle 1857     The "PoolDate" annotation, used for extracts (PooledLibrary).
2933 14 Nov 14 olle 1858     The date the pool was created.
2933 14 Nov 14 olle 1859     @since 2.13
2933 14 Nov 14 olle 1860   */
2933 14 Nov 14 olle 1861 /*
2933 14 Nov 14 olle 1862   public static final Annotationtype POOL_DATE =
2933 14 Nov 14 olle 1863     new Annotationtype("PoolDate", Type.DATE, false, Item.EXTRACT);
2933 14 Nov 14 olle 1864 */
2933 14 Nov 14 olle 1865
2933 14 Nov 14 olle 1866   /**
2933 14 Nov 14 olle 1867     The "PoolMixingStrategy" annotation, used for extracts (PooledLibrary).
2933 14 Nov 14 olle 1868     Store the admin-defined setting for the strategy to use when mixing the pool.
2933 14 Nov 14 olle 1869     Enumeration: fixed, dynamic. Default is fixed.
2933 14 Nov 14 olle 1870     @since 2.13
2933 14 Nov 14 olle 1871   */
2933 14 Nov 14 olle 1872 /*
2933 14 Nov 14 olle 1873   public static final Annotationtype POOL_MIXING_STRATEGY =
2933 14 Nov 14 olle 1874     new Annotationtype("PoolMixingStrategy", Type.STRING, false, Item.EXTRACT);
2933 14 Nov 14 olle 1875 */
2933 14 Nov 14 olle 1876   
2933 14 Nov 14 olle 1877   /**
3630 27 Nov 15 olle 1878     The "ControlLotNo" annotation, used for extract (DNA/RNA).
3630 27 Nov 15 olle 1879     It is a string annotation.
3630 27 Nov 15 olle 1880     @since 1.3.4
3630 27 Nov 15 olle 1881   */
3630 27 Nov 15 olle 1882   public static final Annotationtype CONTROL_LOT_NO = 
3630 27 Nov 15 olle 1883     new Annotationtype("ControlLotNo", Type.STRING, false, Item.EXTRACT);
3630 27 Nov 15 olle 1884
3630 27 Nov 15 olle 1885   /**
3719 22 Jan 16 olle 1886     The "QpcrBranch" annotation, used for extracts (DNA).
3719 22 Jan 16 olle 1887     Store a flag indicating if the DNA is to be processed by qPCR. If not set,
3719 22 Jan 16 olle 1888     it is assumed that the DNA is to be put on a start DNA plate.
3719 22 Jan 16 olle 1889     @since 1.4.2
3719 22 Jan 16 olle 1890   */
3719 22 Jan 16 olle 1891   public static final Annotationtype QPCR_BRANCH =
3719 22 Jan 16 olle 1892     new Annotationtype("QpcrBranch", Type.BOOLEAN, false, Item.EXTRACT);
3719 22 Jan 16 olle 1893
3719 22 Jan 16 olle 1894   /**
2933 14 Nov 14 olle 1895     The "FlowCellID" annotation, used for physical bioassays (FlowCell).
2933 14 Nov 14 olle 1896     @since 2.13
2933 14 Nov 14 olle 1897   */
2933 14 Nov 14 olle 1898 /*
2933 14 Nov 14 olle 1899   public static final Annotationtype FLOWCELL_ID = 
2933 14 Nov 14 olle 1900     new Annotationtype("FlowCellID", Type.STRING, false, Item.PHYSICALBIOASSAY);
2933 14 Nov 14 olle 1901 */
2933 14 Nov 14 olle 1902
2933 14 Nov 14 olle 1903   /**
2933 14 Nov 14 olle 1904     The "FlowCellType" annotation, used for physical bioassays (FlowCell).
2933 14 Nov 14 olle 1905     @since 2.15.1
2933 14 Nov 14 olle 1906   */
2933 14 Nov 14 olle 1907 /*
2933 14 Nov 14 olle 1908   public static final Annotationtype FLOWCELL_TYPE = 
2933 14 Nov 14 olle 1909     new Annotationtype("FlowCellType", Type.STRING, false, Item.PHYSICALBIOASSAY);
2933 14 Nov 14 olle 1910 */
2933 14 Nov 14 olle 1911
2933 14 Nov 14 olle 1912   /**
2933 14 Nov 14 olle 1913     The "ClusterStart" annotation, used for physical bioassays (FlowCell).
2933 14 Nov 14 olle 1914     The date the flow cell was clustered.
2933 14 Nov 14 olle 1915     @since 2.13
2933 14 Nov 14 olle 1916   */
2933 14 Nov 14 olle 1917 /*
2933 14 Nov 14 olle 1918   public static final Annotationtype CLUSTER_START =
2933 14 Nov 14 olle 1919     new Annotationtype("ClusterStart", Type.DATE, false, Item.PHYSICALBIOASSAY);
2933 14 Nov 14 olle 1920 */
2933 14 Nov 14 olle 1921
2933 14 Nov 14 olle 1922   /**
2933 14 Nov 14 olle 1923     The "ClusterOperator" annotation, used for physical bioassays (FlowCell).
2933 14 Nov 14 olle 1924     The operator that is responsible for clustering.
2933 14 Nov 14 olle 1925     @since 2.13
2933 14 Nov 14 olle 1926   */
2933 14 Nov 14 olle 1927 /*
2933 14 Nov 14 olle 1928   public static final Annotationtype CLUSTER_OPERATOR =
2933 14 Nov 14 olle 1929     new Annotationtype("ClusterOperator", Type.STRING, false, Item.PHYSICALBIOASSAY);
2933 14 Nov 14 olle 1930 */
2933 14 Nov 14 olle 1931
2933 14 Nov 14 olle 1932   
2933 14 Nov 14 olle 1933   /**
2933 14 Nov 14 olle 1934     The "SequencingCycles" annotation, used for physical bioassays and 
2933 14 Nov 14 olle 1935     (FlowCell) derived bioassays (SequencingRun).
2933 14 Nov 14 olle 1936     @since 2.13
2933 14 Nov 14 olle 1937   */
2933 14 Nov 14 olle 1938 /*
2933 14 Nov 14 olle 1939   public static final Annotationtype SEQUENCING_CYCLES = 
2933 14 Nov 14 olle 1940     new Annotationtype("SequencingCycles", Type.STRING, false, Item.PHYSICALBIOASSAY, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 1941 */
2933 14 Nov 14 olle 1942
2933 14 Nov 14 olle 1943   /**
2933 14 Nov 14 olle 1944     The "FailedLanes" annotation, used for physical bioassays (FlowCell).
2933 14 Nov 14 olle 1945     It is a multi-valued annotation type representing the index numbers
2933 14 Nov 14 olle 1946     of lanes that failed during sequencing of a flow cell. The index numbers
2933 14 Nov 14 olle 1947     go from 1 to the size of the flow cell (eg. 1-8).
2933 14 Nov 14 olle 1948     @since 2.15
2933 14 Nov 14 olle 1949   */
2933 14 Nov 14 olle 1950 /*
2933 14 Nov 14 olle 1951   public static final Annotationtype FAILED_LANES = 
2933 14 Nov 14 olle 1952     new Annotationtype("FailedLanes", Type.INT, false, Item.PHYSICALBIOASSAY);
2933 14 Nov 14 olle 1953 */
2933 14 Nov 14 olle 1954
2933 14 Nov 14 olle 1955   /**
2933 14 Nov 14 olle 1956     The "HiSeqPosition" annotation, used for derived bioassays (SequencingRun).
2933 14 Nov 14 olle 1957     It is an enumerated string annotation type with two options: A and B
2933 14 Nov 14 olle 1958     @since 2.13
2933 14 Nov 14 olle 1959   */
2933 14 Nov 14 olle 1960 /*
2933 14 Nov 14 olle 1961   public static final Annotationtype HISEQ_POSITION = 
2933 14 Nov 14 olle 1962     new Annotationtype("HiSeqPosition", Type.STRING, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 1963 */
2933 14 Nov 14 olle 1964   
2933 14 Nov 14 olle 1965   /**
2933 14 Nov 14 olle 1966     The "SequencingStart" annotation, used for derived bioassays (SequencingRun).
2933 14 Nov 14 olle 1967     @since 2.13
2933 14 Nov 14 olle 1968   */
2933 14 Nov 14 olle 1969 /*
2933 14 Nov 14 olle 1970   public static final Annotationtype SEQUENCING_START =
2933 14 Nov 14 olle 1971     new Annotationtype("SequencingStart", Type.DATE, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 1972 */
2933 14 Nov 14 olle 1973
2933 14 Nov 14 olle 1974   /**
2933 14 Nov 14 olle 1975     The "SequencingTurnAround" annotation, used for derived bioassays (SequencingRun).
2933 14 Nov 14 olle 1976     @since 2.14
2933 14 Nov 14 olle 1977   */
2933 14 Nov 14 olle 1978 /*
2933 14 Nov 14 olle 1979   public static final Annotationtype SEQUENCING_TURN_AROUND =
2933 14 Nov 14 olle 1980     new Annotationtype("SequencingTurnAround", Type.TIMESTAMP, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 1981 */
2933 14 Nov 14 olle 1982
2933 14 Nov 14 olle 1983   /**
2933 14 Nov 14 olle 1984     The "SequencingEnd" annotation, used for derived bioassays (SequencingRun).
2933 14 Nov 14 olle 1985     @since 2.14
2933 14 Nov 14 olle 1986   */
2933 14 Nov 14 olle 1987 /*
2933 14 Nov 14 olle 1988   public static final Annotationtype SEQUENCING_END =
2933 14 Nov 14 olle 1989     new Annotationtype("SequencingEnd", Type.TIMESTAMP, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 1990 */
2933 14 Nov 14 olle 1991
2933 14 Nov 14 olle 1992   /**
2933 14 Nov 14 olle 1993     The "SequencingRunNumber" annotation, used for derived bioassays (SequencingRun).
2933 14 Nov 14 olle 1994     @since 2.15
2933 14 Nov 14 olle 1995   */
2933 14 Nov 14 olle 1996 /*
2933 14 Nov 14 olle 1997   public static final Annotationtype SEQUENCING_RUN_NUMBER =
2933 14 Nov 14 olle 1998     new Annotationtype("SequencingRunNumber", Type.INT, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 1999 */
2933 14 Nov 14 olle 2000
2933 14 Nov 14 olle 2001   /**
2933 14 Nov 14 olle 2002     The "SequencingOperator" annotation, used for derived bioassays (SequencingRun).
2933 14 Nov 14 olle 2003     @since 2.13
2933 14 Nov 14 olle 2004   */
2933 14 Nov 14 olle 2005 /*
2933 14 Nov 14 olle 2006   public static final Annotationtype SEQUENCING_OPERATOR =
2933 14 Nov 14 olle 2007     new Annotationtype("SequencingOperator", Type.STRING, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2008 */
2933 14 Nov 14 olle 2009
2933 14 Nov 14 olle 2010   /**
2933 14 Nov 14 olle 2011     The "DataFilesFolder" annotation, used for derived bioassays that
2933 14 Nov 14 olle 2012     are linked with data files on the server.
2933 14 Nov 14 olle 2013     @since 2.15
2933 14 Nov 14 olle 2014   */
2933 14 Nov 14 olle 2015 /*
2933 14 Nov 14 olle 2016   public static final Annotationtype DATA_FILES_FOLDER =
2933 14 Nov 14 olle 2017     new Annotationtype("DataFilesFolder", Type.STRING, false, Item.DERIVEDBIOASSAY, Item.RAWBIOASSAY);
2933 14 Nov 14 olle 2018 */
2933 14 Nov 14 olle 2019
2933 14 Nov 14 olle 2020   /**
2933 14 Nov 14 olle 2021     The "SequencingResult" annotation, used for derived bioassays (SequencingRun).
2933 14 Nov 14 olle 2022     A value of "Successful" typically means that the process can continue with
2933 14 Nov 14 olle 2023     next step (demux and merge). A value of "Failed" indicates a complete
2933 14 Nov 14 olle 2024     failure that require a new flow cell to be clustered. The pooled
2933 14 Nov 14 olle 2025     libraries on the current flow cell are flagged with "SequencingFailed".
2933 14 Nov 14 olle 2026     A value of "FirstBaseReportFailed" indicates that the first sequencing attempt
2933 14 Nov 14 olle 2027     failed but that it is possible to re-start with the same flow cell. The
2933 14 Nov 14 olle 2028     annotation is also copied to the flow cell.
2933 14 Nov 14 olle 2029     @since 2.15
2933 14 Nov 14 olle 2030   */
2933 14 Nov 14 olle 2031 /*
2933 14 Nov 14 olle 2032   public static final Annotationtype SEQUENCING_RESULT =
2933 14 Nov 14 olle 2033     new Annotationtype("SequencingResult", Type.STRING, false, Item.PHYSICALBIOASSAY, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2034 */
2933 14 Nov 14 olle 2035
2933 14 Nov 14 olle 2036   /**
2933 14 Nov 14 olle 2037     The "SequencingConfirmed" annotation, used for derived bioassays (SequencingRun).
2933 14 Nov 14 olle 2038     Store a flag indicating that the sequencing result has been confirmed by a
2933 14 Nov 14 olle 2039     user with {@link RegggieRole#SECONDARY_ANALYSIS} role.
2933 14 Nov 14 olle 2040     @since 2.15
2933 14 Nov 14 olle 2041   */
2933 14 Nov 14 olle 2042 /*
2933 14 Nov 14 olle 2043   public static final Annotationtype SEQUENCING_CONFIRMED =
2933 14 Nov 14 olle 2044     new Annotationtype("SequencingConfirmed", Type.BOOLEAN, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2045 */
2933 14 Nov 14 olle 2046
2933 14 Nov 14 olle 2047   /**
2933 14 Nov 14 olle 2048     The "ReadString" annotation, used for derived bioassays (DemuxedSequences).
2933 14 Nov 14 olle 2049     @since 2.13
2933 14 Nov 14 olle 2050   */
2933 14 Nov 14 olle 2051 /*
2933 14 Nov 14 olle 2052   public static final Annotationtype READ_STRING = 
2933 14 Nov 14 olle 2053     new Annotationtype("ReadString", Type.STRING, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2054 */
2933 14 Nov 14 olle 2055
2933 14 Nov 14 olle 2056   /**
2933 14 Nov 14 olle 2057     The "OmitLanes" annotation, used for derived bioassays (DemuxedSequences).
2933 14 Nov 14 olle 2058     It is a multi-valued annotation type representing the index numbers
2933 14 Nov 14 olle 2059     of lanes that was omitted during demulitplexing of the sequenced data.
2933 14 Nov 14 olle 2060     The index numbers go from 1 to the size of the flow cell (eg. 1-8).
2933 14 Nov 14 olle 2061     @since 2.16
2933 14 Nov 14 olle 2062   */
2933 14 Nov 14 olle 2063 /*
2933 14 Nov 14 olle 2064   public static final Annotationtype OMIT_LANES = 
2933 14 Nov 14 olle 2065     new Annotationtype("OmitLanes", Type.INT, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2066 */
2933 14 Nov 14 olle 2067
2933 14 Nov 14 olle 2068   /**
3449 28 Jul 15 olle 2069     The "BarcodeSequence" annotation, used for tags (Barcode).
2933 14 Nov 14 olle 2070     It is a string annotation containing the sequence for
2933 14 Nov 14 olle 2071     the barcode. Typically 7 characters from ACGT.
3449 28 Jul 15 olle 2072     @since 1.3
2933 14 Nov 14 olle 2073   */
2933 14 Nov 14 olle 2074   public static final Annotationtype BARCODE_SEQUENCE = 
2933 14 Nov 14 olle 2075     new Annotationtype("BarcodeSequence", Type.STRING, false, Item.TAG);
2933 14 Nov 14 olle 2076   
2933 14 Nov 14 olle 2077   /**
2933 14 Nov 14 olle 2078     The "AnalysisResult" annotation, used for derived bioassays.
2933 14 Nov 14 olle 2079     A value of "Successful" typically means that the process can continue with
2933 14 Nov 14 olle 2080     next step in the analysis pipeline. A value of "Failed" indicates a 
2933 14 Nov 14 olle 2081     failure that require analysis and/or sequencing to be re-done at a
2933 14 Nov 14 olle 2082     higher level. The current pipeline is not continued. 
2933 14 Nov 14 olle 2083     @since 2.16
2933 14 Nov 14 olle 2084   */
2933 14 Nov 14 olle 2085 /*
2933 14 Nov 14 olle 2086   public static final Annotationtype ANALYSIS_RESULT =
2933 14 Nov 14 olle 2087     new Annotationtype("AnalysisResult", Type.STRING, false, Item.DERIVEDBIOASSAY, Item.RAWBIOASSAY);
2933 14 Nov 14 olle 2088 */
2933 14 Nov 14 olle 2089
2933 14 Nov 14 olle 2090   /**
2933 14 Nov 14 olle 2091     The "READS" annotation, used for derived bioassays (MergedSequences).
2933 14 Nov 14 olle 2092     The annotation is the number of sequences that has been assigned to
2933 14 Nov 14 olle 2093     the library before any masking or filtering.
2933 14 Nov 14 olle 2094     @since 2.16
2933 14 Nov 14 olle 2095   */
2933 14 Nov 14 olle 2096 /*
2933 14 Nov 14 olle 2097   public static final Annotationtype READS =
2933 14 Nov 14 olle 2098     new Annotationtype("READS", Type.LONG, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2099 */
2933 14 Nov 14 olle 2100
2933 14 Nov 14 olle 2101   /**
2933 14 Nov 14 olle 2102     The "PF_READS" annotation, used for derived bioassays (MergedSequences).
2933 14 Nov 14 olle 2103     The annotation is the number of sequences that has been assigned to
2933 14 Nov 14 olle 2104     the library after filtering.
2933 14 Nov 14 olle 2105     @since 2.16
2933 14 Nov 14 olle 2106   */
2933 14 Nov 14 olle 2107 /*
2933 14 Nov 14 olle 2108   public static final Annotationtype PF_READS =
2933 14 Nov 14 olle 2109     new Annotationtype("PF_READS", Type.LONG, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2110 */
2933 14 Nov 14 olle 2111
2933 14 Nov 14 olle 2112   /**
2933 14 Nov 14 olle 2113     The "ADAPTER_READS" annotation, used for derived bioassays (MergedSequences).
2933 14 Nov 14 olle 2114     The annotation is the number of sequences that was removed due to matching 
2933 14 Nov 14 olle 2115     an Illumina adpter sequence.
2933 14 Nov 14 olle 2116     @since 2.16
2933 14 Nov 14 olle 2117   */
2933 14 Nov 14 olle 2118 /*
2933 14 Nov 14 olle 2119   public static final Annotationtype ADAPTER_READS =
2933 14 Nov 14 olle 2120     new Annotationtype("ADAPTER_READS", Type.LONG, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2121 */
2933 14 Nov 14 olle 2122
2933 14 Nov 14 olle 2123   /**
2933 14 Nov 14 olle 2124     The "PT_READS" annotation, used for derived bioassays (MergedSequences).
2933 14 Nov 14 olle 2125     The annotation is the number of sequences that remains for a library after 
2933 14 Nov 14 olle 2126     running trimmomatic.
2933 14 Nov 14 olle 2127     @since 2.16
2933 14 Nov 14 olle 2128   */
2933 14 Nov 14 olle 2129 /*
2933 14 Nov 14 olle 2130   public static final Annotationtype PT_READS =
2933 14 Nov 14 olle 2131     new Annotationtype("PT_READS", Type.LONG, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2132 */
2933 14 Nov 14 olle 2133
2933 14 Nov 14 olle 2134   /**
2933 14 Nov 14 olle 2135     The "FragmentSizeAvg" annotation, used for derived bioassays (MergedSequences).
2933 14 Nov 14 olle 2136     The annotation is the average size of fragments in the library
2933 14 Nov 14 olle 2137     as estimated after alignment.
2933 14 Nov 14 olle 2138     @since 2.16
2933 14 Nov 14 olle 2139   */
2933 14 Nov 14 olle 2140 /*
2933 14 Nov 14 olle 2141   public static final Annotationtype FRAGMENT_SIZE_AVG =
2933 14 Nov 14 olle 2142     new Annotationtype("FragmentSizeAvg", Type.INT, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2143 */
2933 14 Nov 14 olle 2144
2933 14 Nov 14 olle 2145   /**
2933 14 Nov 14 olle 2146     The "FragmentSizeStdev" annotation, used for derived bioassays (MergedSequences).
2933 14 Nov 14 olle 2147     The annotation is the standard deviation of the size of fragments in the library
2933 14 Nov 14 olle 2148     as estimated after alignment.
2933 14 Nov 14 olle 2149     @since 2.16
2933 14 Nov 14 olle 2150   */
2933 14 Nov 14 olle 2151 /*
2933 14 Nov 14 olle 2152   public static final Annotationtype FRAGMENT_SIZE_STDEV =
2933 14 Nov 14 olle 2153     new Annotationtype("FragmentSizeStdev", Type.INT, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2154 */
2933 14 Nov 14 olle 2155   
2933 14 Nov 14 olle 2156     
2933 14 Nov 14 olle 2157   /**
2933 14 Nov 14 olle 2158     The "PF_NNNN_PCT" annotation, used for derived bioassays (DemuxedSequences).
2933 14 Nov 14 olle 2159     The annotation is the percentage of sequences that has could not be assigned
2933 14 Nov 14 olle 2160     to any barcode when demultiplexing.
2933 14 Nov 14 olle 2161     @since 2.16
2933 14 Nov 14 olle 2162   */
2933 14 Nov 14 olle 2163 /*
2933 14 Nov 14 olle 2164   public static final Annotationtype PF_NNNN_PCT =
2933 14 Nov 14 olle 2165     new Annotationtype("PF_NNNN_PCT", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2166 */
2933 14 Nov 14 olle 2167
2933 14 Nov 14 olle 2168   /**
2933 14 Nov 14 olle 2169     The "PF_UNUSED_PCT" annotation, used for derived bioassays (DemuxedSequences).
2933 14 Nov 14 olle 2170     The annotation is the percentage of sequences that was assigned to a barcode
2933 14 Nov 14 olle 2171     that has not been used in the pool (used to detect misatakes when pooling or
2933 14 Nov 14 olle 2172     loading the sequencer).
2933 14 Nov 14 olle 2173     @since 2.16
2933 14 Nov 14 olle 2174   */
2933 14 Nov 14 olle 2175 /*
2933 14 Nov 14 olle 2176   public static final Annotationtype PF_UNUSED_PCT =
2933 14 Nov 14 olle 2177     new Annotationtype("PF_UNUSED_PCT", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2178 */
2933 14 Nov 14 olle 2179
2933 14 Nov 14 olle 2180   /**
2933 14 Nov 14 olle 2181     The "DemuxWarnings" annotation, used for derived bioassays (DemuxedSequences).
2933 14 Nov 14 olle 2182     Use to register warnings about things that seem strange during the demultiplexing.
2933 14 Nov 14 olle 2183     Eg. high percentage of unused barcodes.
2933 14 Nov 14 olle 2184     @since 2.16
2933 14 Nov 14 olle 2185   */
2933 14 Nov 14 olle 2186 /*
2933 14 Nov 14 olle 2187   public static final Annotationtype DEMUX_WARNINGS =
2933 14 Nov 14 olle 2188     new Annotationtype("DemuxWarnings", Type.STRING, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2189 */
2933 14 Nov 14 olle 2190
2933 14 Nov 14 olle 2191   /**
2933 14 Nov 14 olle 2192     The "PM_READS" annotation, used for derived bioassays (MaskedSequences).
2933 14 Nov 14 olle 2193     The annotation is the number of sequences that has been assigned to
2933 14 Nov 14 olle 2194     the library after masking.
2933 14 Nov 14 olle 2195     @since 2.16
2933 14 Nov 14 olle 2196   */
2933 14 Nov 14 olle 2197 /*
2933 14 Nov 14 olle 2198   public static final Annotationtype PM_READS =
2933 14 Nov 14 olle 2199     new Annotationtype("PM_READS", Type.LONG, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2200 */
2933 14 Nov 14 olle 2201
2933 14 Nov 14 olle 2202   /**
2933 14 Nov 14 olle 2203     The "ALIGNED_PAIRS" annotation, used for derived bioassays (AlignedSequences).
2933 14 Nov 14 olle 2204     The annotation is the number of sequences that has been assigned to
2933 14 Nov 14 olle 2205     the library after aligning.
2933 14 Nov 14 olle 2206     @since 2.16
2933 14 Nov 14 olle 2207   */
2933 14 Nov 14 olle 2208 /*
2933 14 Nov 14 olle 2209   public static final Annotationtype ALIGNED_PAIRS =
2933 14 Nov 14 olle 2210     new Annotationtype("ALIGNED_PAIRS", Type.LONG, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2211 */
2933 14 Nov 14 olle 2212   
2933 14 Nov 14 olle 2213   /**
2933 14 Nov 14 olle 2214     The "READ_PAIRS_EXAMINED" annotation, used for derived bioassays (AlignedSequences).
2933 14 Nov 14 olle 2215     The annotation is the number of sequences that has been examined by picard MarkDuplicates.
2933 14 Nov 14 olle 2216     @since 2.16
2933 14 Nov 14 olle 2217   */
2933 14 Nov 14 olle 2218 /*
2933 14 Nov 14 olle 2219   public static final Annotationtype READ_PAIRS_EXAMINED =
2933 14 Nov 14 olle 2220     new Annotationtype("READ_PAIRS_EXAMINED", Type.LONG, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2221 */
2933 14 Nov 14 olle 2222
2933 14 Nov 14 olle 2223   /**
2933 14 Nov 14 olle 2224     The "READ_PAIR_DUPLICATES" annotation, used for derived bioassays (AlignedSequences).
2933 14 Nov 14 olle 2225     The annotation is the number of sequences that has been found as duplicates
2933 14 Nov 14 olle 2226     by picard MarkDuplicates.
2933 14 Nov 14 olle 2227     @since 2.16
2933 14 Nov 14 olle 2228   */
2933 14 Nov 14 olle 2229 /*
2933 14 Nov 14 olle 2230   public static final Annotationtype READ_PAIR_DUPLICATES =
2933 14 Nov 14 olle 2231     new Annotationtype("READ_PAIR_DUPLICATES", Type.LONG, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2232 */
2933 14 Nov 14 olle 2233
2933 14 Nov 14 olle 2234   /**
2933 14 Nov 14 olle 2235     The "FRACTION_DUPLICATION" annotation, used for derived bioassays (AlignedSequences).
2933 14 Nov 14 olle 2236     The annotation is the fraction of sequences that has been found as duplicates
2933 14 Nov 14 olle 2237     by picard MarkDuplicates (PERCENT_DUPLICATION field).
2933 14 Nov 14 olle 2238     @since 2.16
2933 14 Nov 14 olle 2239   */
2933 14 Nov 14 olle 2240 /*
2933 14 Nov 14 olle 2241   public static final Annotationtype FRACTION_DUPLICATION =
2933 14 Nov 14 olle 2242     new Annotationtype("FRACTION_DUPLICATION", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
2933 14 Nov 14 olle 2243 */
2933 14 Nov 14 olle 2244   
2933 14 Nov 14 olle 2245   /**
2933 14 Nov 14 olle 2246     The "SerialNumber" annotation, used for hardware items.
2933 14 Nov 14 olle 2247     It is a string annotation containing a typically unique 
2933 14 Nov 14 olle 2248     value for each hardware item.
2933 14 Nov 14 olle 2249     @since 2.16
2933 14 Nov 14 olle 2250   */
2933 14 Nov 14 olle 2251 /*
2933 14 Nov 14 olle 2252   public static final Annotationtype SERIAL_NUMBER = 
2933 14 Nov 14 olle 2253     new Annotationtype("SerialNumber", Type.STRING, false, Item.HARDWARE);
2933 14 Nov 14 olle 2254 */
2933 14 Nov 14 olle 2255
2933 14 Nov 14 olle 2256   /**
2933 14 Nov 14 olle 2257     Get the annotation type by name of the static constant defined in this class.
2933 14 Nov 14 olle 2258     
2933 14 Nov 14 olle 2259     @param name The name of the static constant
2933 14 Nov 14 olle 2260     @return An annotationtype object or null if not found
2933 14 Nov 14 olle 2261   */
2933 14 Nov 14 olle 2262   public static Annotationtype getByCName(String cName)
2933 14 Nov 14 olle 2263   {
2933 14 Nov 14 olle 2264     if (cName == null) return null;
2933 14 Nov 14 olle 2265     Annotationtype type = null;
2933 14 Nov 14 olle 2266     try
2933 14 Nov 14 olle 2267     {
2933 14 Nov 14 olle 2268       Field f = Annotationtype.class.getDeclaredField(cName);
2933 14 Nov 14 olle 2269       type = (Annotationtype)f.get(null);
2933 14 Nov 14 olle 2270     }
2933 14 Nov 14 olle 2271     catch (NoSuchFieldException ex)
2933 14 Nov 14 olle 2272     {}
2933 14 Nov 14 olle 2273     catch (IllegalAccessException ex)
2933 14 Nov 14 olle 2274     {}
2933 14 Nov 14 olle 2275     catch (ClassCastException ex)
2933 14 Nov 14 olle 2276     {}
2933 14 Nov 14 olle 2277     return type;
2933 14 Nov 14 olle 2278   }
2933 14 Nov 14 olle 2279   
2933 14 Nov 14 olle 2280   private final String name;
2933 14 Nov 14 olle 2281   private final boolean disableLog;
2933 14 Nov 14 olle 2282   private final Item[] mainType;
2933 14 Nov 14 olle 2283   private final Type valueType;
2933 14 Nov 14 olle 2284   
2933 14 Nov 14 olle 2285   private int id;
2933 14 Nov 14 olle 2286   private AnnotationTypeFilter snapshotFilter;
2933 14 Nov 14 olle 2287   private JSONObject json;
2933 14 Nov 14 olle 2288   
2933 14 Nov 14 olle 2289
2933 14 Nov 14 olle 2290   /**
2933 14 Nov 14 olle 2291     Create a new definition of an annotation type.
2933 14 Nov 14 olle 2292     
2933 14 Nov 14 olle 2293     @param name The name of the subtype
2933 14 Nov 14 olle 2294     @param valueType The date type of values that can be stored 
2933 14 Nov 14 olle 2295     @param disableLog TRUE if change history logging of annotation values should be disabled
2933 14 Nov 14 olle 2296     @param mainType The main item type(s) of the annotation type
2933 14 Nov 14 olle 2297   */
2933 14 Nov 14 olle 2298   private Annotationtype(String name, Type valueType, boolean disableLog, Item... mainType)
2933 14 Nov 14 olle 2299   {
2933 14 Nov 14 olle 2300     this.name = name;
2933 14 Nov 14 olle 2301     this.valueType = valueType;
2933 14 Nov 14 olle 2302     this.disableLog = disableLog;
2933 14 Nov 14 olle 2303     this.mainType = mainType;
2933 14 Nov 14 olle 2304   }
2933 14 Nov 14 olle 2305   
2933 14 Nov 14 olle 2306   /**
2933 14 Nov 14 olle 2307     Get the name of the subtype.
2933 14 Nov 14 olle 2308   */
2933 14 Nov 14 olle 2309   public String getName()
2933 14 Nov 14 olle 2310   {
2933 14 Nov 14 olle 2311     return name;
2933 14 Nov 14 olle 2312   }
2933 14 Nov 14 olle 2313   
2933 14 Nov 14 olle 2314   /**
2933 14 Nov 14 olle 2315     Get the data type of the values that can be stored.
2933 14 Nov 14 olle 2316   */
2933 14 Nov 14 olle 2317   public Type getValueType()
2933 14 Nov 14 olle 2318   {
2933 14 Nov 14 olle 2319     return valueType;
2933 14 Nov 14 olle 2320   }
2933 14 Nov 14 olle 2321   
2933 14 Nov 14 olle 2322   /**
2933 14 Nov 14 olle 2323     Should change history logging be disabled or not for annotation values.
2933 14 Nov 14 olle 2324     @since 2.16
2933 14 Nov 14 olle 2325   */
2933 14 Nov 14 olle 2326   public boolean getDisableChangeHistoryLog()
2933 14 Nov 14 olle 2327   {
2933 14 Nov 14 olle 2328     return disableLog;
2933 14 Nov 14 olle 2329   }
2933 14 Nov 14 olle 2330   
2933 14 Nov 14 olle 2331   /**
2933 14 Nov 14 olle 2332     Get the item type on which this annotation type can be used.
2933 14 Nov 14 olle 2333   */
2933 14 Nov 14 olle 2334   public Item[] getMainType()
2933 14 Nov 14 olle 2335   {
2933 14 Nov 14 olle 2336     return mainType;
2933 14 Nov 14 olle 2337   }
2933 14 Nov 14 olle 2338   
2933 14 Nov 14 olle 2339   /**
2933 14 Nov 14 olle 2340     Get the annotation type information as a JSON object ready to be sent as an AJAX response.
2933 14 Nov 14 olle 2341   */
2933 14 Nov 14 olle 2342   @SuppressWarnings("unchecked")
2933 14 Nov 14 olle 2343   public JSONObject asJSONObject(DbControl dc)
2933 14 Nov 14 olle 2344   {
2933 14 Nov 14 olle 2345     if (json == null)
2933 14 Nov 14 olle 2346     {
2933 14 Nov 14 olle 2347       if (id==0) load(dc); // Ensure that the annotationtype has been loaded
2933 14 Nov 14 olle 2348       json = new JSONObject();
2933 14 Nov 14 olle 2349       json.put("id", id);
2933 14 Nov 14 olle 2350       json.put("name", getName());
2933 14 Nov 14 olle 2351     }
2933 14 Nov 14 olle 2352     return json;
2933 14 Nov 14 olle 2353   }
2933 14 Nov 14 olle 2354   
2933 14 Nov 14 olle 2355   /**
2933 14 Nov 14 olle 2356     Load the underlying annotation type. If it doesn't exists and exception is thrown.
2933 14 Nov 14 olle 2357     
2933 14 Nov 14 olle 2358     @param dc The DbControl to use for database access
2933 14 Nov 14 olle 2359     @return An AnnotationType object
2933 14 Nov 14 olle 2360   */
2933 14 Nov 14 olle 2361   public AnnotationType load(DbControl dc)
2933 14 Nov 14 olle 2362   {
2933 14 Nov 14 olle 2363     AnnotationType type = null;
2933 14 Nov 14 olle 2364     if (id == 0)
2933 14 Nov 14 olle 2365     {
2933 14 Nov 14 olle 2366       List<AnnotationType> result = list(dc);
2933 14 Nov 14 olle 2367       if (result.size() == 0)
2933 14 Nov 14 olle 2368       {
2933 14 Nov 14 olle 2369         throw new ItemNotFoundException("AnnotationType["+name+"]");
2933 14 Nov 14 olle 2370       }
2933 14 Nov 14 olle 2371       else if (result.size() > 1)
2933 14 Nov 14 olle 2372       {
2933 14 Nov 14 olle 2373         throw new InvalidDataException("Found > 1 AnnotationType["+name+"]");
2933 14 Nov 14 olle 2374       }
2933 14 Nov 14 olle 2375       type = result.get(0);
2933 14 Nov 14 olle 2376       id = type.getId();
2933 14 Nov 14 olle 2377     }
2933 14 Nov 14 olle 2378     else
2933 14 Nov 14 olle 2379     {
2933 14 Nov 14 olle 2380       type = AnnotationType.getById(dc, id);
2933 14 Nov 14 olle 2381     }
2933 14 Nov 14 olle 2382     return type;
2933 14 Nov 14 olle 2383   }
2933 14 Nov 14 olle 2384   
2933 14 Nov 14 olle 2385   /**
2933 14 Nov 14 olle 2386     Load the annotation type as a BASE item. Same as {@link #load(DbControl)} but return null
2933 14 Nov 14 olle 2387     if no BASE item is found instead of throwing an exception.
2933 14 Nov 14 olle 2388     @param dc The DbControl to use for database access
2933 14 Nov 14 olle 2389     @return An ItemSubtype object
2933 14 Nov 14 olle 2390     @since 2.16
2933 14 Nov 14 olle 2391   */
2933 14 Nov 14 olle 2392   public AnnotationType get(DbControl dc)
2933 14 Nov 14 olle 2393   {
2933 14 Nov 14 olle 2394     AnnotationType type = null;
2933 14 Nov 14 olle 2395     if (id == 0)
2933 14 Nov 14 olle 2396     {
2933 14 Nov 14 olle 2397       List<AnnotationType> result = list(dc);
2933 14 Nov 14 olle 2398       if (result.size() == 1)
2933 14 Nov 14 olle 2399       {
2933 14 Nov 14 olle 2400         type = result.get(0);
2933 14 Nov 14 olle 2401         id = type.getId();
2933 14 Nov 14 olle 2402       }
2933 14 Nov 14 olle 2403     }
2933 14 Nov 14 olle 2404     else
2933 14 Nov 14 olle 2405     {
2933 14 Nov 14 olle 2406       type = AnnotationType.getById(dc, id);
2933 14 Nov 14 olle 2407     }
2933 14 Nov 14 olle 2408     return type;
2933 14 Nov 14 olle 2409   }
2933 14 Nov 14 olle 2410
2933 14 Nov 14 olle 2411   /**
2933 14 Nov 14 olle 2412     List all annotation types registered in BASE with a name and main item type 
2933 14 Nov 14 olle 2413     matching this annotation type definition. Normally, only a single annotation
2933 14 Nov 14 olle 2414     type should be returned.
2933 14 Nov 14 olle 2415   */
2933 14 Nov 14 olle 2416   public List<AnnotationType> list(DbControl dc)
2933 14 Nov 14 olle 2417   {
2933 14 Nov 14 olle 2418     ItemQuery<AnnotationType> query = AnnotationType.getQuery(null);
2933 14 Nov 14 olle 2419     query.restrict(Restrictions.eq(Hql.property("name"), Expressions.parameter("name", name, Type.STRING)));
2933 14 Nov 14 olle 2420     
2933 14 Nov 14 olle 2421     Item[] mt = getMainType();
2933 14 Nov 14 olle 2422     Expression[] mainTypes = new Expression[mt.length];
2933 14 Nov 14 olle 2423     for (int i = 0; i < mainTypes.length; ++i)
2933 14 Nov 14 olle 2424     {
2933 14 Nov 14 olle 2425       mainTypes[i] = Expressions.integer(mt[i].getValue());
2933 14 Nov 14 olle 2426     }
2933 14 Nov 14 olle 2427     if (mainTypes.length > 0)
2933 14 Nov 14 olle 2428     {
2933 14 Nov 14 olle 2429       query.joinPermanent(Hql.innerJoin("itemTypes", "it"));
2933 14 Nov 14 olle 2430       query.restrictPermanent(Restrictions.in(Hql.alias("it"), mainTypes));
2933 14 Nov 14 olle 2431     }
2933 14 Nov 14 olle 2432
2933 14 Nov 14 olle 2433     query.include(Include.ALL);
2933 14 Nov 14 olle 2434     query.setDistinct(true);
2933 14 Nov 14 olle 2435     return query.list(dc);
2933 14 Nov 14 olle 2436   }
2933 14 Nov 14 olle 2437
2933 14 Nov 14 olle 2438   /**
2933 14 Nov 14 olle 2439     Get the annotation value (single) for this annotation type from the
2933 14 Nov 14 olle 2440     annotatable item.
2933 14 Nov 14 olle 2441     @return The value, or null if the item is not annotated
2933 14 Nov 14 olle 2442   */
2933 14 Nov 14 olle 2443   public Object getAnnotationValue(DbControl dc, Annotatable item)
2933 14 Nov 14 olle 2444   {
2933 14 Nov 14 olle 2445     if (item == null) return null;
2933 14 Nov 14 olle 2446     AnnotationType at = load(dc);
2933 14 Nov 14 olle 2447     if (!item.isAnnotated()) return null;
2933 14 Nov 14 olle 2448     AnnotationSet as = item.getAnnotationSet();
5468 04 Jun 19 olle 2449     //if (!as.hasAnnotation(at)) return null;
5468 04 Jun 19 olle 2450     if (!as.hasAnnotation(at, null)) return null;
2933 14 Nov 14 olle 2451     return as.getAnnotation(at).getValues().get(0);
2933 14 Nov 14 olle 2452   }
2933 14 Nov 14 olle 2453
2933 14 Nov 14 olle 2454   /**
2933 14 Nov 14 olle 2455     Get the annotation value (single) for this annotation type from the
2933 14 Nov 14 olle 2456     annotatable item using a snapshot stored on the disk if available.
2933 14 Nov 14 olle 2457     @return The value, or null if the item is not annotated
2933 14 Nov 14 olle 2458     @since 2.7
2933 14 Nov 14 olle 2459   */
2933 14 Nov 14 olle 2460   public Object getAnnotationValue(DbControl dc, SnapshotManager manager, Annotatable item)
2933 14 Nov 14 olle 2461   {
2933 14 Nov 14 olle 2462     if (snapshotFilter == null)
2933 14 Nov 14 olle 2463     {
2933 14 Nov 14 olle 2464       snapshotFilter = new AnnotationTypeFilter(load(dc));
2933 14 Nov 14 olle 2465     }
2933 14 Nov 14 olle 2466     List<AnnotationSnapshot> snapshots = manager.findAnnotations(dc, item, snapshotFilter, false);
5468 04 Jun 19 olle 2467     //return snapshots.size() > 0 ? snapshots.get(0).getValues().get(0) : null;
5468 04 Jun 19 olle 2468     return snapshots.size() > 0 ? snapshots.get(0).getThisValues().get(0) : null;
2933 14 Nov 14 olle 2469   }
2933 14 Nov 14 olle 2470   
2933 14 Nov 14 olle 2471   /**
2933 14 Nov 14 olle 2472      Get an array annotation value from an item. Returns an empty list if
2933 14 Nov 14 olle 2473      there are no annotations of the given type.
2933 14 Nov 14 olle 2474   */
2933 14 Nov 14 olle 2475   public List<?> getAnnotationValues(DbControl dc, Annotatable item)
2933 14 Nov 14 olle 2476   {
2933 14 Nov 14 olle 2477     AnnotationType at = load(dc);
2933 14 Nov 14 olle 2478     if (!item.isAnnotated()) return Collections.emptyList();
2933 14 Nov 14 olle 2479     AnnotationSet as = item.getAnnotationSet();
5468 04 Jun 19 olle 2480     //if (!as.hasAnnotation(at)) return Collections.emptyList();
5468 04 Jun 19 olle 2481     if (!as.hasAnnotation(at, null)) return Collections.emptyList();
2933 14 Nov 14 olle 2482     return as.getAnnotation(at).getValues();
2933 14 Nov 14 olle 2483   }
2933 14 Nov 14 olle 2484
2933 14 Nov 14 olle 2485   /**
3233 09 Apr 15 olle 2486     Get an array annotation value from an item. Returns an empty list if
3233 09 Apr 15 olle 2487     there are no annotations of the given type. If flag 'fromListString'
3233 09 Apr 15 olle 2488     is set to 'true', the list is expected to be stored as a string with
3233 09 Apr 15 olle 2489     comma-separated values.
3233 09 Apr 15 olle 2490   */
3233 09 Apr 15 olle 2491   public List<?> getAnnotationValues(DbControl dc, Annotatable item, Boolean fromListString)
3233 09 Apr 15 olle 2492   {
3233 09 Apr 15 olle 2493     return getAnnotationValues(dc, item, fromListString, false);
3233 09 Apr 15 olle 2494   }
3233 09 Apr 15 olle 2495
3233 09 Apr 15 olle 2496   /**
3233 09 Apr 15 olle 2497      Get an array annotation value from an item. Returns an empty list if
3233 09 Apr 15 olle 2498      there are no annotations of the given type. If flag 'fromListString'
3233 09 Apr 15 olle 2499      is set to 'true', the list is expected to be stored as a string with
3233 09 Apr 15 olle 2500      comma-separated values.
3233 09 Apr 15 olle 2501   */
3233 09 Apr 15 olle 2502   public List<?> getAnnotationValues(DbControl dc, Annotatable item, Boolean fromListString, Boolean trim)
3233 09 Apr 15 olle 2503   {
3233 09 Apr 15 olle 2504     AnnotationType at = load(dc);
3233 09 Apr 15 olle 2505     if (!item.isAnnotated()) return Collections.emptyList();
3233 09 Apr 15 olle 2506     if (fromListString == null || !fromListString)
3233 09 Apr 15 olle 2507     {
3233 09 Apr 15 olle 2508       AnnotationSet as = item.getAnnotationSet();
5468 04 Jun 19 olle 2509       //if (!as.hasAnnotation(at)) return Collections.emptyList();
5468 04 Jun 19 olle 2510       if (!as.hasAnnotation(at, null)) return Collections.emptyList();
3233 09 Apr 15 olle 2511       return as.getAnnotation(at).getValues();      
3233 09 Apr 15 olle 2512     }
3233 09 Apr 15 olle 2513     else
3233 09 Apr 15 olle 2514     {
3233 09 Apr 15 olle 2515       List<String> list = new ArrayList<String>(); 
3233 09 Apr 15 olle 2516       String listStr = (String) getAnnotationValue(dc, item);
3233 09 Apr 15 olle 2517       if (listStr != null && !listStr.equals(""))
3233 09 Apr 15 olle 2518       {
3233 09 Apr 15 olle 2519         String[] itemNames = listStr.split(",");
3233 09 Apr 15 olle 2520         for (int i = 0; i < itemNames.length; i++)
3233 09 Apr 15 olle 2521         {
3233 09 Apr 15 olle 2522           String itemName = itemNames[i];
3233 09 Apr 15 olle 2523           // Optional removal of leading and trailing white space
3233 09 Apr 15 olle 2524           if (itemName != null && trim != null && trim)
3233 09 Apr 15 olle 2525           {
3233 09 Apr 15 olle 2526             itemName = itemName.trim();
3233 09 Apr 15 olle 2527           }
3233 09 Apr 15 olle 2528           list.add(itemName);
3233 09 Apr 15 olle 2529         }          
3233 09 Apr 15 olle 2530       }
3233 09 Apr 15 olle 2531       return list;
3233 09 Apr 15 olle 2532     }
3233 09 Apr 15 olle 2533   }
3233 09 Apr 15 olle 2534
3233 09 Apr 15 olle 2535   /**
2933 14 Nov 14 olle 2536      Set a (single) annotation value on an item. If the value is null the annotation
2933 14 Nov 14 olle 2537      will be removed.
2933 14 Nov 14 olle 2538   */
2933 14 Nov 14 olle 2539   public void setAnnotationValue(DbControl dc, Annotatable item, Object value)
2933 14 Nov 14 olle 2540   {
2933 14 Nov 14 olle 2541     AnnotationType at = load(dc);
2933 14 Nov 14 olle 2542     if (value == null)
2933 14 Nov 14 olle 2543     {
5468 04 Jun 19 olle 2544       //if (item.isAnnotated() && item.getAnnotationSet().hasAnnotation(at))
5468 04 Jun 19 olle 2545       if (item.isAnnotated() && item.getAnnotationSet().hasAnnotation(at, null))
2933 14 Nov 14 olle 2546       {
2933 14 Nov 14 olle 2547         item.getAnnotationSet().removeAnnotation(at);
2933 14 Nov 14 olle 2548       }
2933 14 Nov 14 olle 2549     }
2933 14 Nov 14 olle 2550     else
2933 14 Nov 14 olle 2551     {
2933 14 Nov 14 olle 2552       Type valueType = at.getValueType();
2933 14 Nov 14 olle 2553       if (valueType.isNumerical() && value instanceof Number)
2933 14 Nov 14 olle 2554       {
2933 14 Nov 14 olle 2555         value = valueType.convertNumber((Number)value);
2933 14 Nov 14 olle 2556       }
5468 04 Jun 19 olle 2557       //item.getAnnotationSet().getAnnotation(at).setValue(value);
5468 04 Jun 19 olle 2558       item.getAnnotationSet().getAnnotation(at).setValueIfDifferent(value, null);
2933 14 Nov 14 olle 2559     }
2933 14 Nov 14 olle 2560   }
2933 14 Nov 14 olle 2561   
2933 14 Nov 14 olle 2562   /**
2933 14 Nov 14 olle 2563      Set a multi-valued annotation on an item. If the values list is null or 
2933 14 Nov 14 olle 2564      emtpy the annotation will be removed.
2933 14 Nov 14 olle 2565      @since 2.15
2933 14 Nov 14 olle 2566   */
2933 14 Nov 14 olle 2567   public void setAnnotationValues(DbControl dc, Annotatable item, List<?> values)
2933 14 Nov 14 olle 2568   {
2933 14 Nov 14 olle 2569     AnnotationType at = load(dc);
2933 14 Nov 14 olle 2570     if (values == null || values.isEmpty())
2933 14 Nov 14 olle 2571     {
5468 04 Jun 19 olle 2572       //if (item.isAnnotated() && item.getAnnotationSet().hasAnnotation(at))
5468 04 Jun 19 olle 2573       if (item.isAnnotated() && item.getAnnotationSet().hasAnnotation(at, null))
2933 14 Nov 14 olle 2574       {
2933 14 Nov 14 olle 2575         item.getAnnotationSet().removeAnnotation(at);
2933 14 Nov 14 olle 2576       }
2933 14 Nov 14 olle 2577     }
2933 14 Nov 14 olle 2578     else
2933 14 Nov 14 olle 2579     {
3233 09 Apr 15 olle 2580       if (at.getMultiplicity() == 1)
3233 09 Apr 15 olle 2581       {
3233 09 Apr 15 olle 2582         String listStr = "";
3233 09 Apr 15 olle 2583         for (int i = 0; i < values.size(); i++)
3233 09 Apr 15 olle 2584         {
3233 09 Apr 15 olle 2585           String value = (String) values.get(i);
3233 09 Apr 15 olle 2586           if (i > 0)
3233 09 Apr 15 olle 2587           {
3233 09 Apr 15 olle 2588             listStr += ",";
3233 09 Apr 15 olle 2589           }
3233 09 Apr 15 olle 2590           listStr += value;
3233 09 Apr 15 olle 2591         }
5468 04 Jun 19 olle 2592         //item.getAnnotationSet().getAnnotation(at).setValue(listStr);
5468 04 Jun 19 olle 2593         item.getAnnotationSet().getAnnotation(at).setValueIfDifferent(listStr, null);
3233 09 Apr 15 olle 2594       }
3233 09 Apr 15 olle 2595       else
3233 09 Apr 15 olle 2596       {
5468 04 Jun 19 olle 2597         //item.getAnnotationSet().getAnnotation(at).setValues(values);
5468 04 Jun 19 olle 2598         item.getAnnotationSet().getAnnotation(at).setValuesIfDifferent(values, null);
3233 09 Apr 15 olle 2599       }
2933 14 Nov 14 olle 2600     }
2933 14 Nov 14 olle 2601   }
2933 14 Nov 14 olle 2602
2933 14 Nov 14 olle 2603   /**
2933 14 Nov 14 olle 2604     Append an annotation value to a multi-valued annotation type where each 
2933 14 Nov 14 olle 2605     value should be unique.
2933 14 Nov 14 olle 2606   */
2933 14 Nov 14 olle 2607   public void appendAnnotationValueIfUnique(DbControl dc, Annotatable item, Object value)
2933 14 Nov 14 olle 2608   {
2933 14 Nov 14 olle 2609     List<?> currentValues = getAnnotationValues(dc, item);
2933 14 Nov 14 olle 2610     if (!currentValues.contains(value))
2933 14 Nov 14 olle 2611     {
2933 14 Nov 14 olle 2612       AnnotationType at = load(dc);
2933 14 Nov 14 olle 2613       List<Object> newValues = new ArrayList<Object>(currentValues);
2933 14 Nov 14 olle 2614       newValues.add(value);
5468 04 Jun 19 olle 2615       //item.getAnnotationSet().getAnnotation(at).setValues(newValues);
5468 04 Jun 19 olle 2616       item.getAnnotationSet().getAnnotation(at).setValuesIfDifferent(newValues, null);
2933 14 Nov 14 olle 2617     }
2933 14 Nov 14 olle 2618   }
2933 14 Nov 14 olle 2619
2933 14 Nov 14 olle 2620   /**
2933 14 Nov 14 olle 2621     Remove an annotation value to a multi-valued annotation type where each 
2933 14 Nov 14 olle 2622     value should be unique.
2933 14 Nov 14 olle 2623   */
2933 14 Nov 14 olle 2624   public void removeAnnotationValue(DbControl dc, Annotatable item, Object value)
2933 14 Nov 14 olle 2625   {
2933 14 Nov 14 olle 2626     List<?> currentValues = getAnnotationValues(dc, item);
2933 14 Nov 14 olle 2627     if (currentValues.contains(value))
2933 14 Nov 14 olle 2628     {
2933 14 Nov 14 olle 2629       AnnotationType at = load(dc);
2933 14 Nov 14 olle 2630       List<Object> newValues = new ArrayList<Object>(currentValues);
2933 14 Nov 14 olle 2631       newValues.remove(value);
5468 04 Jun 19 olle 2632       //item.getAnnotationSet().getAnnotation(at).setValues(newValues);
5468 04 Jun 19 olle 2633       item.getAnnotationSet().getAnnotation(at).setValuesIfDifferent(newValues, null);
2933 14 Nov 14 olle 2634     }
2933 14 Nov 14 olle 2635   }
2933 14 Nov 14 olle 2636
2933 14 Nov 14 olle 2637   /**
2933 14 Nov 14 olle 2638     Copy annotation values between two items.
2933 14 Nov 14 olle 2639     
2933 14 Nov 14 olle 2640      @param from The item to copy from. If this item is not annotated with 
2933 14 Nov 14 olle 2641        the given annotation type, nothing is copied
2933 14 Nov 14 olle 2642     @param to The item to copy to. If this item already has been annotated with 
2933 14 Nov 14 olle 2643       the given annotation type, the 'force' paremter decides if the annotation is
2933 14 Nov 14 olle 2644       overwritten or not
2933 14 Nov 14 olle 2645      @param force TRUE to overwrite existing annotations, FALSE to not
2933 14 Nov 14 olle 2646      @return TRUE if this method copied annotations, FALSE if not
2933 14 Nov 14 olle 2647   */
2933 14 Nov 14 olle 2648   public boolean copyAnnotationValues(DbControl dc, Annotatable from, Annotatable to, boolean force)
2933 14 Nov 14 olle 2649   {
2933 14 Nov 14 olle 2650     List<?> annotations = getAnnotationValues(dc, from);
2933 14 Nov 14 olle 2651     if (annotations == null || annotations.size() == 0) return false;
2933 14 Nov 14 olle 2652     
2933 14 Nov 14 olle 2653     AnnotationType at = load(dc);
2933 14 Nov 14 olle 2654     if (!force)
2933 14 Nov 14 olle 2655     {
2933 14 Nov 14 olle 2656       // We need to check if the 'to' item already has the annotation
5468 04 Jun 19 olle 2657       //if (to.isAnnotated() && to.getAnnotationSet().hasAnnotation(at)) return false;
5468 04 Jun 19 olle 2658       if (to.isAnnotated() && to.getAnnotationSet().hasAnnotation(at, null)) return false;
2933 14 Nov 14 olle 2659     }
2933 14 Nov 14 olle 2660     
2933 14 Nov 14 olle 2661     // Copy the values
5468 04 Jun 19 olle 2662     //to.getAnnotationSet().getAnnotation(at).setValues(annotations);
5468 04 Jun 19 olle 2663     to.getAnnotationSet().getAnnotation(at).setValuesIfDifferent(annotations, null);
2933 14 Nov 14 olle 2664     return true;
2933 14 Nov 14 olle 2665   }
2933 14 Nov 14 olle 2666
2933 14 Nov 14 olle 2667   
2933 14 Nov 14 olle 2668 }