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

Code
Comments
Other
Rev Date Author Line
1610 23 Apr 12 nicklas 1 package net.sf.basedb.reggie.dao;
1610 23 Apr 12 nicklas 2
1610 23 Apr 12 nicklas 3 import java.lang.reflect.Field;
1610 23 Apr 12 nicklas 4 import java.util.ArrayList;
1610 23 Apr 12 nicklas 5 import java.util.Collections;
5792 16 Dec 19 nicklas 6 import java.util.HashMap;
1610 23 Apr 12 nicklas 7 import java.util.List;
5792 16 Dec 19 nicklas 8 import java.util.Map;
3942 16 May 16 nicklas 9 import java.util.Set;
1610 23 Apr 12 nicklas 10
1610 23 Apr 12 nicklas 11 import org.json.simple.JSONObject;
1610 23 Apr 12 nicklas 12
1610 23 Apr 12 nicklas 13 import net.sf.basedb.core.Annotatable;
3571 30 Oct 15 nicklas 14 import net.sf.basedb.core.Annotation;
1610 23 Apr 12 nicklas 15 import net.sf.basedb.core.AnnotationSet;
1610 23 Apr 12 nicklas 16 import net.sf.basedb.core.AnnotationType;
3618 23 Nov 15 nicklas 17 import net.sf.basedb.core.BasicItem;
1610 23 Apr 12 nicklas 18 import net.sf.basedb.core.DbControl;
1610 23 Apr 12 nicklas 19 import net.sf.basedb.core.Include;
1610 23 Apr 12 nicklas 20 import net.sf.basedb.core.InvalidDataException;
1610 23 Apr 12 nicklas 21 import net.sf.basedb.core.Item;
1610 23 Apr 12 nicklas 22 import net.sf.basedb.core.ItemNotFoundException;
1610 23 Apr 12 nicklas 23 import net.sf.basedb.core.ItemQuery;
1610 23 Apr 12 nicklas 24 import net.sf.basedb.core.Type;
1640 09 May 12 nicklas 25 import net.sf.basedb.core.query.Expression;
1610 23 Apr 12 nicklas 26 import net.sf.basedb.core.query.Expressions;
1610 23 Apr 12 nicklas 27 import net.sf.basedb.core.query.Hql;
1610 23 Apr 12 nicklas 28 import net.sf.basedb.core.query.Restrictions;
1676 31 May 12 nicklas 29 import net.sf.basedb.core.snapshot.AnnotationSnapshot;
1676 31 May 12 nicklas 30 import net.sf.basedb.core.snapshot.AnnotationTypeFilter;
1676 31 May 12 nicklas 31 import net.sf.basedb.core.snapshot.SnapshotManager;
5962 03 Jun 20 nicklas 32 import net.sf.basedb.reggie.ssp.SspModel;
3618 23 Nov 15 nicklas 33 import net.sf.basedb.util.filter.Filter;
1610 23 Apr 12 nicklas 34
1610 23 Apr 12 nicklas 35 /**
1610 23 Apr 12 nicklas 36   Used to define a annotation type items.
1610 23 Apr 12 nicklas 37   
1610 23 Apr 12 nicklas 38   @author nicklas
1610 23 Apr 12 nicklas 39   @since 2.5
1610 23 Apr 12 nicklas 40 */
1610 23 Apr 12 nicklas 41 public class Annotationtype 
1610 23 Apr 12 nicklas 42 {
1610 23 Apr 12 nicklas 43
1610 23 Apr 12 nicklas 44
1610 23 Apr 12 nicklas 45   /**
1610 23 Apr 12 nicklas 46     The "PersonalNumber" annotation type, used
1610 23 Apr 12 nicklas 47     to store 12-digit personal number for biosources (Patient). The
1610 23 Apr 12 nicklas 48     number should be unique and is stored as a string.
1610 23 Apr 12 nicklas 49   */
1610 23 Apr 12 nicklas 50   public static final Annotationtype PERSONAL_NUMBER = 
2351 10 Apr 14 nicklas 51     new Annotationtype("PersonalNumber", Type.STRING, true, Item.BIOSOURCE);
1610 23 Apr 12 nicklas 52
1610 23 Apr 12 nicklas 53   /**
1610 23 Apr 12 nicklas 54     The "FamilyName" annotation type, used
1610 23 Apr 12 nicklas 55     to store the family name for biosources (Patient). It is a
1610 23 Apr 12 nicklas 56     string annotation type.
1610 23 Apr 12 nicklas 57   */
1610 23 Apr 12 nicklas 58   public static final Annotationtype FAMILY_NAME = 
2351 10 Apr 14 nicklas 59     new Annotationtype("FamilyName", Type.STRING, true, Item.BIOSOURCE);
1610 23 Apr 12 nicklas 60   
1610 23 Apr 12 nicklas 61   /**
1610 23 Apr 12 nicklas 62     The "AllFirstNames" annotation type, used
1610 23 Apr 12 nicklas 63     to store the first names for biosources (Patient). It is a
1610 23 Apr 12 nicklas 64     string annotation type.
1610 23 Apr 12 nicklas 65   */
1610 23 Apr 12 nicklas 66   public static final Annotationtype ALL_FIRST_NAMES = 
2351 10 Apr 14 nicklas 67     new Annotationtype("AllFirstNames", Type.STRING, true, Item.BIOSOURCE);
1610 23 Apr 12 nicklas 68   
1610 23 Apr 12 nicklas 69   /**
1610 23 Apr 12 nicklas 70     The "Gender" annotation type, used
1610 23 Apr 12 nicklas 71     to store the gender of biosources (Patient). It is an
1610 23 Apr 12 nicklas 72     enumerated string annotation type with two options: F and M.
1610 23 Apr 12 nicklas 73   */
1610 23 Apr 12 nicklas 74   public static final Annotationtype GENDER = 
2351 10 Apr 14 nicklas 75     new Annotationtype("Gender", Type.STRING, false, Item.BIOSOURCE);
1610 23 Apr 12 nicklas 76   
1610 23 Apr 12 nicklas 77   /**
1610 23 Apr 12 nicklas 78     The "DateOfBirth" annotation type, used
1610 23 Apr 12 nicklas 79     to store the date of birth for biosources (Patient). It is a
1610 23 Apr 12 nicklas 80     date annotation type.
1610 23 Apr 12 nicklas 81   */
1610 23 Apr 12 nicklas 82   public static final Annotationtype DATE_OF_BIRTH = 
2351 10 Apr 14 nicklas 83     new Annotationtype("DateOfBirth", Type.DATE, false, Item.BIOSOURCE);
1610 23 Apr 12 nicklas 84
1610 23 Apr 12 nicklas 85   /**
3756 18 Feb 16 olle 86     The "RetractNaLab" annotation type, used to store a flag for
3756 18 Feb 16 olle 87     biosources (Retract or RetroNo) that the date a retract request/response
3756 18 Feb 16 olle 88     was sent/received to/from laboratory is N/A. It is a boolean annotation type.
3756 18 Feb 16 olle 89   */
3756 18 Feb 16 olle 90   public static final Annotationtype RETRACT_NA_LAB = 
3756 18 Feb 16 olle 91     new Annotationtype("RetractNaLab", Type.BOOLEAN, false, Item.BIOSOURCE);
3756 18 Feb 16 olle 92
3756 18 Feb 16 olle 93   /**
3091 15 Jan 15 olle 94     The "RetractTxLab" annotation type, used
3085 15 Jan 15 olle 95     to store the date retract request was sent to laboratory for
3085 15 Jan 15 olle 96     biosources (Retract or RetroNo). It is a date annotation type.
3085 15 Jan 15 olle 97   */
3091 15 Jan 15 olle 98   public static final Annotationtype RETRACT_TX_LAB = 
3091 15 Jan 15 olle 99     new Annotationtype("RetractTxLab", Type.DATE, false, Item.BIOSOURCE);
3085 15 Jan 15 olle 100
3085 15 Jan 15 olle 101   /**
3091 15 Jan 15 olle 102     The "RetractRxLab" annotation type, used
3085 15 Jan 15 olle 103     to store the date retract response was received from laboratory for
3085 15 Jan 15 olle 104     biosources (Retract or RetroNo). It is a date annotation type.
3085 15 Jan 15 olle 105   */
3091 15 Jan 15 olle 106   public static final Annotationtype RETRACT_RX_LAB = 
3091 15 Jan 15 olle 107     new Annotationtype("RetractRxLab", Type.DATE, false, Item.BIOSOURCE);
3085 15 Jan 15 olle 108
3085 15 Jan 15 olle 109   /**
3756 18 Feb 16 olle 110     The "RetractNaBB" annotation type, used to store a flag for
3756 18 Feb 16 olle 111     biosources (Retract or RetroNo) that the date a retract request/response
3756 18 Feb 16 olle 112     was sent/received for blood samples is N/A. It is a boolean annotation type.
3756 18 Feb 16 olle 113   */
3756 18 Feb 16 olle 114   public static final Annotationtype RETRACT_NA_BB = 
3756 18 Feb 16 olle 115     new Annotationtype("RetractNaBB", Type.BOOLEAN, false, Item.BIOSOURCE);
3756 18 Feb 16 olle 116
3756 18 Feb 16 olle 117   /**
3091 15 Jan 15 olle 118     The "RetractTxBB" annotation type, used
3085 15 Jan 15 olle 119     to store the date retract request was sent for blood samples for
3085 15 Jan 15 olle 120     biosources (Retract or RetroNo). It is a date annotation type.
3085 15 Jan 15 olle 121   */
3091 15 Jan 15 olle 122   public static final Annotationtype RETRACT_TX_BB = 
3091 15 Jan 15 olle 123     new Annotationtype("RetractTxBB", Type.DATE, false, Item.BIOSOURCE);
3085 15 Jan 15 olle 124
3085 15 Jan 15 olle 125   /**
3091 15 Jan 15 olle 126     The "RetractRxBB" annotation type, used
3085 15 Jan 15 olle 127     to store the date retract response was received for blood samples for
3085 15 Jan 15 olle 128     biosources (Retract or RetroNo). It is a date annotation type.
3085 15 Jan 15 olle 129   */
3091 15 Jan 15 olle 130   public static final Annotationtype RETRACT_RX_BB = 
3091 15 Jan 15 olle 131     new Annotationtype("RetractRxBB", Type.DATE, false, Item.BIOSOURCE);
3085 15 Jan 15 olle 132
3085 15 Jan 15 olle 133   /**
3756 18 Feb 16 olle 134     The "RetractNaFrozen" annotation type, used to store a flag for
3756 18 Feb 16 olle 135     biosources (Retract or RetroNo) that the date a retract request/response
3756 18 Feb 16 olle 136     was sent/received for frozen samples is N/A. It is a boolean annotation type.
3756 18 Feb 16 olle 137   */
3756 18 Feb 16 olle 138   public static final Annotationtype RETRACT_NA_FROZEN = 
3756 18 Feb 16 olle 139     new Annotationtype("RetractNaFrozen", Type.BOOLEAN, false, Item.BIOSOURCE);
3756 18 Feb 16 olle 140
3756 18 Feb 16 olle 141   /**
3091 15 Jan 15 olle 142     The "RetractTxFrozen" annotation type, used
3085 15 Jan 15 olle 143     to store the date retract request was sent for frozen samples for
3085 15 Jan 15 olle 144     biosources (Retract or RetroNo). It is a date annotation type.
3085 15 Jan 15 olle 145   */
3091 15 Jan 15 olle 146   public static final Annotationtype RETRACT_TX_FROZEN = 
3091 15 Jan 15 olle 147     new Annotationtype("RetractTxFrozen", Type.DATE, false, Item.BIOSOURCE);
3085 15 Jan 15 olle 148
3085 15 Jan 15 olle 149   /**
3091 15 Jan 15 olle 150     The "RetractRxFrozen" annotation type, used
3085 15 Jan 15 olle 151     to store the date retract response was received for frozen samples for
3085 15 Jan 15 olle 152     biosources (Retract or RetroNo). It is a date annotation type.
3085 15 Jan 15 olle 153   */
3091 15 Jan 15 olle 154   public static final Annotationtype RETRACT_RX_FROZEN = 
3091 15 Jan 15 olle 155     new Annotationtype("RetractRxFrozen", Type.DATE, false, Item.BIOSOURCE);
3085 15 Jan 15 olle 156
3085 15 Jan 15 olle 157   /**
3756 18 Feb 16 olle 158     The "RetractNaRccSyd" annotation type, used to store a flag for
3756 18 Feb 16 olle 159     biosources (Retract or RetroNo) that the date a retract request
3756 18 Feb 16 olle 160     was sent to RCC Syd (Regionalt cancercentrum syd) is N/A. It is a boolean annotation type.
3756 18 Feb 16 olle 161   */
3756 18 Feb 16 olle 162   public static final Annotationtype RETRACT_NA_RCC_SYD = 
3756 18 Feb 16 olle 163     new Annotationtype("RetractNaRccSyd", Type.BOOLEAN, false, Item.BIOSOURCE);
3756 18 Feb 16 olle 164
3756 18 Feb 16 olle 165   /**
3265 21 Apr 15 olle 166     The "RetractTxRccSyd" annotation type, used
3265 21 Apr 15 olle 167     to store the date retract notification was sent to RCC Syd (Regionalt cancercentrum syd)
3265 21 Apr 15 olle 168     for biosources (Retract or RetroNo). It is a date annotation type.
3265 21 Apr 15 olle 169   */
3265 21 Apr 15 olle 170   public static final Annotationtype RETRACT_TX_RCC_SYD = 
3265 21 Apr 15 olle 171     new Annotationtype("RetractTxRccSyd", Type.DATE, false, Item.BIOSOURCE);
3265 21 Apr 15 olle 172
3265 21 Apr 15 olle 173   /**
3085 15 Jan 15 olle 174     The "RetractStatus" annotation type, used for biosource item (Retract or RetroNo).
3085 15 Jan 15 olle 175     It is an enumerated string annotation type with two options: ReadyForDestruction and RetractionCompleted.
3085 15 Jan 15 olle 176   */
3085 15 Jan 15 olle 177   public static final Annotationtype RETRACT_STATUS = 
5637 03 Oct 19 nicklas 178     new Annotationtype("RetractStatus", Type.STRING, false, Item.BIOSOURCE, Item.SAMPLE, Item.EXTRACT);
3085 15 Jan 15 olle 179
3085 15 Jan 15 olle 180   /**
4512 31 May 17 nicklas 181     The "LiasonComment" annotation type, used
4512 31 May 17 nicklas 182     for comments arriving outside of regular procedure.
4512 31 May 17 nicklas 183     Used on biosource (Patient) and samples (Case, Specimen and NoSpecimen).
4512 31 May 17 nicklas 184     @since 4.9.5
4512 31 May 17 nicklas 185   */
4512 31 May 17 nicklas 186   public static final Annotationtype LIASON_COMMENT = 
4512 31 May 17 nicklas 187     new Annotationtype("LiasonComment", Type.TEXT, false, Item.BIOSOURCE, Item.SAMPLE);
4512 31 May 17 nicklas 188
4512 31 May 17 nicklas 189   /**
1610 23 Apr 12 nicklas 190     The "Laterality" annotation type, used
1610 23 Apr 12 nicklas 191     for samples (Case). It is an enumerated string annotation 
1610 23 Apr 12 nicklas 192     type with two options: LEFT and RIGHT.
1610 23 Apr 12 nicklas 193   */
1610 23 Apr 12 nicklas 194   public static final Annotationtype LATERALITY = 
2351 10 Apr 14 nicklas 195     new Annotationtype("Laterality", Type.STRING, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 196   
1610 23 Apr 12 nicklas 197   /**
1610 23 Apr 12 nicklas 198     The "Consent" annotation type, used
1610 23 Apr 12 nicklas 199     for samples (Case and Blood). It is an enumerated string annotation 
1610 23 Apr 12 nicklas 200     type with three options: Yes, No and Not asked
1610 23 Apr 12 nicklas 201   */
1610 23 Apr 12 nicklas 202   public static final Annotationtype CONSENT = 
2351 10 Apr 14 nicklas 203     new Annotationtype("Consent", Type.STRING, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 204   
1610 23 Apr 12 nicklas 205   /**
1610 23 Apr 12 nicklas 206     The "ConsentDate" annotation type, used
1610 23 Apr 12 nicklas 207     for samples (Case). It is a date annotation.
1610 23 Apr 12 nicklas 208   */
1610 23 Apr 12 nicklas 209   public static final Annotationtype CONSENT_DATE = 
2351 10 Apr 14 nicklas 210     new Annotationtype("ConsentDate", Type.DATE, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 211
1610 23 Apr 12 nicklas 212   /**
4458 21 Apr 17 nicklas 213     The "ReferenceDate" annotation type, used
4458 21 Apr 17 nicklas 214     for samples (Case). It is a date annotation.
4458 21 Apr 17 nicklas 215     @since 4.10
4458 21 Apr 17 nicklas 216   */
4458 21 Apr 17 nicklas 217   public static final Annotationtype REFERENCE_DATE = 
4458 21 Apr 17 nicklas 218     new Annotationtype("ReferenceDate", Type.DATE, false, Item.SAMPLE);
4458 21 Apr 17 nicklas 219
4458 21 Apr 17 nicklas 220   /**
4458 21 Apr 17 nicklas 221     The "ReferenceDateSource" annotation type, used
4458 21 Apr 17 nicklas 222     for samples (Case). It is a string enumeration
4458 21 Apr 17 nicklas 223     describing the source of the ReferenceDate annotation.
4458 21 Apr 17 nicklas 224     @see ReferenceDateSource
4458 21 Apr 17 nicklas 225     @since 4.10
4458 21 Apr 17 nicklas 226   */
4458 21 Apr 17 nicklas 227   public static final Annotationtype REFERENCE_DATE_SOURCE = 
4458 21 Apr 17 nicklas 228     new Annotationtype("ReferenceDateSource", Type.STRING, false, Item.SAMPLE);
4458 21 Apr 17 nicklas 229
4458 21 Apr 17 nicklas 230   /**
6098 11 Jan 21 nicklas 231     The "LinkedCase" annotation type, used
6098 11 Jan 21 nicklas 232     for samples (Case). It is an Integer annotation.
6098 11 Jan 21 nicklas 233     @since 4.30
6098 11 Jan 21 nicklas 234   */
6098 11 Jan 21 nicklas 235   public static final Annotationtype LINKED_CASE = 
6098 11 Jan 21 nicklas 236     new Annotationtype("LinkedCase", Type.INT, false, Item.SAMPLE);
6098 11 Jan 21 nicklas 237
6098 11 Jan 21 nicklas 238   /**
3484 14 Sep 15 nicklas 239     The "FrozenTissueDate" annotation type, used
3484 14 Sep 15 nicklas 240     for samples (Case). It is a date annotation.
3484 14 Sep 15 nicklas 241     @since 3.6
3484 14 Sep 15 nicklas 242   */
3484 14 Sep 15 nicklas 243   public static final Annotationtype FROZEN_TISSUE_DATE = 
3484 14 Sep 15 nicklas 244     new Annotationtype("FrozenTissueDate", Type.DATE, false, Item.SAMPLE);
3484 14 Sep 15 nicklas 245
3786 17 Mar 16 olle 246   /**
3786 17 Mar 16 olle 247     The "IncaExportDate" annotation type, used for samples (Case).
3786 17 Mar 16 olle 248     It stores the date for the INCA export that was last imported for a case.
3786 17 Mar 16 olle 249     It is a date annotation type.
3786 17 Mar 16 olle 250   */
3786 17 Mar 16 olle 251   public static final Annotationtype INCA_EXPORT_DATE = 
3786 17 Mar 16 olle 252     new Annotationtype("IncaExportDate", Type.DATE, false, Item.SAMPLE);
3786 17 Mar 16 olle 253
3786 17 Mar 16 olle 254   /**
3786 17 Mar 16 olle 255     The "IncaImportDate" annotation type, used for samples (Case).
3786 17 Mar 16 olle 256     It stores the date the last INCA import was performed for a case.
3786 17 Mar 16 olle 257     It is a date annotation type.
3786 17 Mar 16 olle 258   */
3786 17 Mar 16 olle 259   public static final Annotationtype INCA_IMPORT_DATE = 
3786 17 Mar 16 olle 260     new Annotationtype("IncaImportDate", Type.DATE, false, Item.SAMPLE);
3484 14 Sep 15 nicklas 261   
3484 14 Sep 15 nicklas 262   /**
1610 23 Apr 12 nicklas 263     The "BloodSamplingDateTime" annotation, used
1610 23 Apr 12 nicklas 264     for samples (Blood). It is a timestamp annotation.
1610 23 Apr 12 nicklas 265    */
1610 23 Apr 12 nicklas 266   public static final Annotationtype BLOOD_SAMPLING_DATETIME = 
2351 10 Apr 14 nicklas 267     new Annotationtype("BloodSamplingDateTime", Type.TIMESTAMP, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 268   
1610 23 Apr 12 nicklas 269   /**
1610 23 Apr 12 nicklas 270     The "BloodFreezerDateTime" annotation, used
1610 23 Apr 12 nicklas 271     for samples (Blood). It is a timestamp annotation.
1610 23 Apr 12 nicklas 272    */
1610 23 Apr 12 nicklas 273   public static final Annotationtype BLOOD_FREEZER_DATETIME = 
2351 10 Apr 14 nicklas 274     new Annotationtype("BloodFreezerDateTime", Type.TIMESTAMP, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 275   
1610 23 Apr 12 nicklas 276   /**
1610 23 Apr 12 nicklas 277     The "BloodSerum" annotation, used
1610 23 Apr 12 nicklas 278     for samples (Blood). It is an enumerated string annotation with
1610 23 Apr 12 nicklas 279     Yes and No as options.
1610 23 Apr 12 nicklas 280    */
1610 23 Apr 12 nicklas 281   public static final Annotationtype BLOOD_SERUM = 
2351 10 Apr 14 nicklas 282     new Annotationtype("BloodSerum", Type.STRING, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 283   
1610 23 Apr 12 nicklas 284   /**
1614 24 Apr 12 nicklas 285     The "BloodSample" annotation, used for samples (Blood). It
1614 24 Apr 12 nicklas 286     is an enumerated string annotation with options:
2023 19 Sep 13 olle 287     PreNeo, PreOp, FollowUp06, FollowUp12, FollowUp36
1614 24 Apr 12 nicklas 288   */
1614 24 Apr 12 nicklas 289   public static final Annotationtype BLOOD_SAMPLE = 
2351 10 Apr 14 nicklas 290     new Annotationtype("BloodSample", Type.STRING, false, Item.SAMPLE);
1614 24 Apr 12 nicklas 291   
1614 24 Apr 12 nicklas 292   /**
2023 19 Sep 13 olle 293     The "BloodRccidNumber" annotation, used for follow-up samples (Blood). It
2023 19 Sep 13 olle 294     is a string annotation.
2023 19 Sep 13 olle 295    */
2023 19 Sep 13 olle 296   public static final Annotationtype BLOOD_RCCIDNUMBER = 
2351 10 Apr 14 nicklas 297     new Annotationtype("BloodRccidNumber", Type.STRING, false, Item.SAMPLE);
2023 19 Sep 13 olle 298
2023 19 Sep 13 olle 299   /**
6277 03 Jun 21 nicklas 300     The "BD47_ID" annotation, used for samples that end up in 
6277 03 Jun 21 nicklas 301     the biobank. This annotation store the ID that the biobank
6277 03 Jun 21 nicklas 302     is using for the sample.
6277 03 Jun 21 nicklas 303     @since 4.31.2
6277 03 Jun 21 nicklas 304    */
6277 03 Jun 21 nicklas 305   public static final Annotationtype BD47_ID = 
6277 03 Jun 21 nicklas 306     new Annotationtype("BD47_ID", Type.STRING, false, Item.SAMPLE);
6277 03 Jun 21 nicklas 307
6277 03 Jun 21 nicklas 308   
6277 03 Jun 21 nicklas 309   /**
1610 23 Apr 12 nicklas 310     The "ReasonIfNoSpecimen" annotation type, used
1610 23 Apr 12 nicklas 311     for samples (NoSpecimen). It is a string annotation.
1610 23 Apr 12 nicklas 312   */
1610 23 Apr 12 nicklas 313   public static final Annotationtype REASON_IF_NO_SPECIMEN = 
2351 10 Apr 14 nicklas 314     new Annotationtype("ReasonIfNoSpecimen", Type.STRING, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 315   
1610 23 Apr 12 nicklas 316   /**
6574 08 Feb 22 nicklas 317     The "ExternalSpecimenExists" annotation type, used
6574 08 Feb 22 nicklas 318     for samples (NoSpecimen). It is a string annotation.
6574 08 Feb 22 nicklas 319     @since 4.36
6574 08 Feb 22 nicklas 320   */
6574 08 Feb 22 nicklas 321   public static final Annotationtype EXTERNAL_SPECIMEN_EXISTS = 
6574 08 Feb 22 nicklas 322     new Annotationtype("ExternalSpecimenExists", Type.STRING, false, Item.SAMPLE);
6574 08 Feb 22 nicklas 323
6711 27 Apr 22 nicklas 324   /**
6918 01 Dec 22 nicklas 325     The "ExternalStorage" annotation type, used for samples and extracts 
6918 01 Dec 22 nicklas 326     that are or have been stored at an external location where we don't
6918 01 Dec 22 nicklas 327     have exact information.
6918 01 Dec 22 nicklas 328     @since 4.41
6918 01 Dec 22 nicklas 329   */
6918 01 Dec 22 nicklas 330   public static final Annotationtype EXTERNAL_STORAGE = 
6918 01 Dec 22 nicklas 331     new Annotationtype("ExternalStorage", Type.STRING, false, Item.SAMPLE, Item.EXTRACT);
6918 01 Dec 22 nicklas 332   
6918 01 Dec 22 nicklas 333   /**
6711 27 Apr 22 nicklas 334     The "TubeLabel" annotation type, which is used if the storage
6711 27 Apr 22 nicklas 335     tubes have a text that is different from the name of the item.
6711 27 Apr 22 nicklas 336     Typically used for Specimen, Lysate, RNA, DNA and FlowThrough
6711 27 Apr 22 nicklas 337     that has been externally handled before being delivered to SCAN-B.
6711 27 Apr 22 nicklas 338     @since 4.39
6711 27 Apr 22 nicklas 339   */
6711 27 Apr 22 nicklas 340   public static final Annotationtype TUBE_LABEL = 
6711 27 Apr 22 nicklas 341     new Annotationtype("TubeLabel", Type.STRING, false, Item.SAMPLE, Item.EXTRACT);
6574 08 Feb 22 nicklas 342   
6574 08 Feb 22 nicklas 343   /**
1610 23 Apr 12 nicklas 344     The "PAD" annotation type, used
1610 23 Apr 12 nicklas 345     for samples (Specimen). It is a string annotation type.
1610 23 Apr 12 nicklas 346   */
1610 23 Apr 12 nicklas 347   public static final Annotationtype PAD = 
2351 10 Apr 14 nicklas 348     new Annotationtype("PAD", Type.STRING, true, Item.SAMPLE);
1610 23 Apr 12 nicklas 349
1610 23 Apr 12 nicklas 350   /**
6990 19 Jan 23 nicklas 351     The "AlternatePAD" annotation type, used
6990 19 Jan 23 nicklas 352     for samples (Specimen). It is a string annotation type.
6990 19 Jan 23 nicklas 353     @since 4.43
6990 19 Jan 23 nicklas 354   */
6990 19 Jan 23 nicklas 355   public static final Annotationtype ALTERNATE_PAD = 
6990 19 Jan 23 nicklas 356     new Annotationtype("AlternatePAD", Type.STRING, true, Item.SAMPLE);
6990 19 Jan 23 nicklas 357     
6990 19 Jan 23 nicklas 358   /**
1610 23 Apr 12 nicklas 359      The "OtherPathNote" annotation type, 
1610 23 Apr 12 nicklas 360      used for samples (Specimen). It is a string annotation type.
1610 23 Apr 12 nicklas 361   */
1610 23 Apr 12 nicklas 362   public static final Annotationtype OTHER_PATH_NOTE = 
2351 10 Apr 14 nicklas 363     new Annotationtype("OtherPathNote", Type.STRING, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 364   
1610 23 Apr 12 nicklas 365   /**
1610 23 Apr 12 nicklas 366     The "SamplingDateTime" annotation type, used
1610 23 Apr 12 nicklas 367     for samples (Specimen and NoSpecimen). It is a timestamp annotation.
1610 23 Apr 12 nicklas 368   */
1610 23 Apr 12 nicklas 369   public static final Annotationtype SAMPLING_DATETIME = 
2351 10 Apr 14 nicklas 370     new Annotationtype("SamplingDateTime", Type.TIMESTAMP, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 371   
1610 23 Apr 12 nicklas 372   /**
1610 23 Apr 12 nicklas 373     The "RNALaterDateTime" annotation type, used
1610 23 Apr 12 nicklas 374     for samples (Specimen). It is a timestamp annotation.
1610 23 Apr 12 nicklas 375   */
1610 23 Apr 12 nicklas 376   public static final Annotationtype RNALATER_DATETIME = 
2351 10 Apr 14 nicklas 377     new Annotationtype("RNALaterDateTime", Type.TIMESTAMP, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 378
1610 23 Apr 12 nicklas 379   /**
1610 23 Apr 12 nicklas 380      The "ArrivalDate" annotation type, used
1610 23 Apr 12 nicklas 381      for samples (Specimen). It is a timestamp annotation.
1610 23 Apr 12 nicklas 382   */
1610 23 Apr 12 nicklas 383   public static final Annotationtype ARRIVAL_DATE = 
2351 10 Apr 14 nicklas 384     new Annotationtype("ArrivalDate", Type.DATE, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 385     
1610 23 Apr 12 nicklas 386   /**
1610 23 Apr 12 nicklas 387      The "NofDeliveredTubes" annotation type, used
1610 23 Apr 12 nicklas 388      for samples (Specimen). It is an Integer annotation type.
1610 23 Apr 12 nicklas 389   */
1610 23 Apr 12 nicklas 390   public static final Annotationtype NOF_DELIVERED_TUBES = 
2351 10 Apr 14 nicklas 391     new Annotationtype("NofDeliveredTubes", Type.INT, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 392
1610 23 Apr 12 nicklas 393   /**
1610 23 Apr 12 nicklas 394      The "OperatorDeliveryComment" annotation type, used
1610 23 Apr 12 nicklas 395      for samples (Specimen). It is a String annotation type.
1610 23 Apr 12 nicklas 396   */
1610 23 Apr 12 nicklas 397   public static final Annotationtype OPERATOR_DELIVERY_COMMENT = 
2351 10 Apr 14 nicklas 398     new Annotationtype("OperatorDeliveryComment", Type.STRING, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 399   
1610 23 Apr 12 nicklas 400   /**
1610 23 Apr 12 nicklas 401     The "SpecimenType" annotation type, used for 
1610 23 Apr 12 nicklas 402     samples (Specimen). It is a String enumeration annotation.
1610 23 Apr 12 nicklas 403   */
1610 23 Apr 12 nicklas 404   public static final Annotationtype SPECIMEN_TYPE = 
2351 10 Apr 14 nicklas 405     new Annotationtype("SpecimenType", Type.STRING, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 406   
1610 23 Apr 12 nicklas 407   /**
1610 23 Apr 12 nicklas 408     The "BiopsyType" annotation type, used for 
1610 23 Apr 12 nicklas 409     samples (Specimen). It is a String enumeration annotation.
1610 23 Apr 12 nicklas 410   */
1610 23 Apr 12 nicklas 411   public static final Annotationtype BIOPSY_TYPE = 
2351 10 Apr 14 nicklas 412     new Annotationtype("BiopsyType", Type.STRING, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 413   
1610 23 Apr 12 nicklas 414   /**
3602 16 Nov 15 nicklas 415      The "YellowLabel" annotation type, used
3602 16 Nov 15 nicklas 416      for samples (Specimen). It is a String enumeration annotation type.
3602 16 Nov 15 nicklas 417      @since 4.0
3602 16 Nov 15 nicklas 418   */
3602 16 Nov 15 nicklas 419   public static final Annotationtype YELLOW_LABEL = 
3602 16 Nov 15 nicklas 420     new Annotationtype("YellowLabel", Type.STRING, false, Item.SAMPLE);
3602 16 Nov 15 nicklas 421   
3784 16 Mar 16 nicklas 422   /**
3784 16 Mar 16 nicklas 423      The "CompletedDate" annotation type, used
3784 16 Mar 16 nicklas 424      for samples (Specimen) that are also YellowLabel.
3784 16 Mar 16 nicklas 425      It is a date annotation that when set indicates the date the 
3784 16 Mar 16 nicklas 426      processing of the specimen has been completed.
3784 16 Mar 16 nicklas 427      @since 4.3
3784 16 Mar 16 nicklas 428   */
3784 16 Mar 16 nicklas 429   public static final Annotationtype COMPLETED_DATE = 
3784 16 Mar 16 nicklas 430     new Annotationtype("CompletedDate", Type.DATE, false, Item.SAMPLE);
3602 16 Nov 15 nicklas 431
3602 16 Nov 15 nicklas 432   /**
1610 23 Apr 12 nicklas 433      The "NofPieces" annotation type, used for
1610 23 Apr 12 nicklas 434      samples (Specimen). It is a Integer annotation type.
1610 23 Apr 12 nicklas 435    */
1610 23 Apr 12 nicklas 436   public static final Annotationtype NOF_PIECES = 
2351 10 Apr 14 nicklas 437     new Annotationtype("NofPieces", Type.INT, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 438
1610 23 Apr 12 nicklas 439   /**
3145 25 Feb 15 nicklas 440     The "OperatorPartitionComment" annotation type, used
1610 23 Apr 12 nicklas 441     for samples (Specimen). It s a String annotation type.    
1610 23 Apr 12 nicklas 442   */
1610 23 Apr 12 nicklas 443   public static final Annotationtype OPERATOR_PARTITION_COMMENT = 
2351 10 Apr 14 nicklas 444     new Annotationtype("OperatorPartitionComment", Type.STRING, false, Item.SAMPLE);
3394 12 Jun 15 nicklas 445
3394 12 Jun 15 nicklas 446   /**
3394 12 Jun 15 nicklas 447     The "LinkedSpecimen" annotation type, used for 
3394 12 Jun 15 nicklas 448     samples (Specimen/NoSpecimen). It is a String enumeration annotation.
3394 12 Jun 15 nicklas 449     @since 3.5
3394 12 Jun 15 nicklas 450   */
3394 12 Jun 15 nicklas 451   public static final Annotationtype LINKED_SPECIMEN = 
3394 12 Jun 15 nicklas 452     new Annotationtype("LinkedSpecimen", Type.STRING, false, Item.SAMPLE);
3394 12 Jun 15 nicklas 453
5774 04 Dec 19 nicklas 454   /**
5774 04 Dec 19 nicklas 455     Name of TMA block were a TMASpecimen is located.
5774 04 Dec 19 nicklas 456     @since 4.25
5774 04 Dec 19 nicklas 457    */
5774 04 Dec 19 nicklas 458   public static final Annotationtype TMA_BLOCK = 
5774 04 Dec 19 nicklas 459     new Annotationtype("TMABlock", Type.STRING, false, Item.SAMPLE);
1610 23 Apr 12 nicklas 460   
1610 23 Apr 12 nicklas 461   /**
5774 04 Dec 19 nicklas 462     Position on TMA block were a TMASpecimen is located.
5774 04 Dec 19 nicklas 463     @since 4.25
5774 04 Dec 19 nicklas 464    */
5774 04 Dec 19 nicklas 465   public static final Annotationtype TMA_BLOCK_POS = 
5774 04 Dec 19 nicklas 466     new Annotationtype("TMABlockPos", Type.STRING, false, Item.SAMPLE);
5799 18 Dec 19 nicklas 467
5774 04 Dec 19 nicklas 468   /**
5799 18 Dec 19 nicklas 469     PAD that was requested when creating a TMA. The actually
5799 18 Dec 19 nicklas 470     used PAD may be different in case the requested one is not
5799 18 Dec 19 nicklas 471     available. Used on TMASpecimen items.
5799 18 Dec 19 nicklas 472     @since 4.25
5799 18 Dec 19 nicklas 473   */
5799 18 Dec 19 nicklas 474   public static final Annotationtype PAD_REQUESTED = 
5799 18 Dec 19 nicklas 475     new Annotationtype("PADRequested", Type.STRING, true, Item.SAMPLE);
5799 18 Dec 19 nicklas 476
5799 18 Dec 19 nicklas 477   /**
5798 18 Dec 19 nicklas 478     Annotation to be used on samples/extracts that are
5798 18 Dec 19 nicklas 479     "owned" by an external partner. First use case is
5798 18 Dec 19 nicklas 480     TMA specimen, but could be used for other external
5798 18 Dec 19 nicklas 481     items as well.
5798 18 Dec 19 nicklas 482     @since 4.25
5798 18 Dec 19 nicklas 483   */
5798 18 Dec 19 nicklas 484   public static final Annotationtype SAMPLE_OWNER =
5798 18 Dec 19 nicklas 485     new Annotationtype("SampleOwner", Type.STRING, false, Item.SAMPLE, Item.EXTRACT);
5798 18 Dec 19 nicklas 486   
5798 18 Dec 19 nicklas 487   /**
1610 23 Apr 12 nicklas 488     The "Partition date" annotation type, used for 
1610 23 Apr 12 nicklas 489     samples (Histology) and extracts (Lysate). It is a date annotation type.
1610 23 Apr 12 nicklas 490    */
1610 23 Apr 12 nicklas 491   public static final Annotationtype PARTITION_DATE = 
2351 10 Apr 14 nicklas 492     new Annotationtype("PartitionDate", Type.DATE, false, Item.SAMPLE, Item.EXTRACT);
1610 23 Apr 12 nicklas 493
1610 23 Apr 12 nicklas 494   /**
1693 08 Jun 12 nicklas 495     The "MultPieces" annotation, used for samples (Lysate). It is a
1693 08 Jun 12 nicklas 496     boolean annotation type.
1693 08 Jun 12 nicklas 497     @since 2.7
1693 08 Jun 12 nicklas 498   */
1693 08 Jun 12 nicklas 499   public static final Annotationtype MULTIPLE_PIECES = 
2351 10 Apr 14 nicklas 500     new Annotationtype("MultPieces", Type.BOOLEAN, false, Item.EXTRACT);
1693 08 Jun 12 nicklas 501   
1693 08 Jun 12 nicklas 502   /**
2371 23 Apr 14 nicklas 503     The "EmbedDate" annotation type, used for histology
2371 23 Apr 14 nicklas 504     work lists. It is a date annotation type.
2371 23 Apr 14 nicklas 505     @since 2.16
2371 23 Apr 14 nicklas 506   */
2371 23 Apr 14 nicklas 507   public static final Annotationtype EMBED_DATE =
3247 14 Apr 15 nicklas 508     new Annotationtype("EmbedDate", Type.DATE, false, Item.ITEMLIST);
2371 23 Apr 14 nicklas 509
2371 23 Apr 14 nicklas 510   /**
1668 25 May 12 nicklas 511     The "GoodStain" annotation type, used for samples
1668 25 May 12 nicklas 512     (Stained). It is a boolean annotation type.
1668 25 May 12 nicklas 513     @since 2.7
1668 25 May 12 nicklas 514   */
1668 25 May 12 nicklas 515   public static final Annotationtype GOOD_STAIN =
2351 10 Apr 14 nicklas 516     new Annotationtype("GoodStain", Type.BOOLEAN, false, Item.SAMPLE);
2134 11 Nov 13 nicklas 517
3121 06 Feb 15 nicklas 518   /**
3121 06 Feb 15 nicklas 519     The "IHC" annotation type, used for bioplates (HE glass) to indicate the
3121 06 Feb 15 nicklas 520     type of staining. It is a string enumeration annotation type.
3121 06 Feb 15 nicklas 521     @since 3.1
3121 06 Feb 15 nicklas 522   */
3121 06 Feb 15 nicklas 523   public static final Annotationtype IHC =
3121 06 Feb 15 nicklas 524     new Annotationtype("IHC", Type.STRING, false, Item.BIOPLATE);
3169 06 Mar 15 nicklas 525
3169 06 Mar 15 nicklas 526   /**
3169 06 Mar 15 nicklas 527     The "IHCQuality" annotation type, used for samples
3169 06 Mar 15 nicklas 528     (Stained). It is a string (enumeration) annotation type.
3169 06 Mar 15 nicklas 529     @since 3.2
3169 06 Mar 15 nicklas 530   */
3169 06 Mar 15 nicklas 531   public static final Annotationtype IHC_QUALITY =
3169 06 Mar 15 nicklas 532     new Annotationtype("IHCQuality", Type.STRING, false, Item.SAMPLE);
1668 25 May 12 nicklas 533   
1668 25 May 12 nicklas 534   /**
2134 11 Nov 13 nicklas 535     The "ScoreComplete" annotation type, used for histology samples
2134 11 Nov 13 nicklas 536     (Stained) and bioplates (HE glass). It is a boolean annotation type.
2134 11 Nov 13 nicklas 537     @since 2.14
2134 11 Nov 13 nicklas 538   */
2134 11 Nov 13 nicklas 539   public static final Annotationtype SCORE_COMPLETE =
2351 10 Apr 14 nicklas 540     new Annotationtype("ScoreComplete", Type.BOOLEAN, false, Item.SAMPLE, Item.BIOPLATE);
2134 11 Nov 13 nicklas 541
2134 11 Nov 13 nicklas 542
2134 11 Nov 13 nicklas 543   /**
2134 11 Nov 13 nicklas 544     The "ScoreInvasiveCancer" annotation type, used for histology samples
2134 11 Nov 13 nicklas 545     (Stained). It is an integer annotation type.
2134 11 Nov 13 nicklas 546     @since 2.14
2134 11 Nov 13 nicklas 547   */
2134 11 Nov 13 nicklas 548   public static final Annotationtype SCORE_INVASIVE_CANCER =
2351 10 Apr 14 nicklas 549     new Annotationtype("ScoreInvasiveCancer", Type.INT, false, Item.SAMPLE);
2134 11 Nov 13 nicklas 550
2134 11 Nov 13 nicklas 551   /**
2134 11 Nov 13 nicklas 552     The "ScoreInsituCancer" annotation type, used for histology samples
2134 11 Nov 13 nicklas 553     (Stained). It is an integer annotation type.
2134 11 Nov 13 nicklas 554     @since 2.14
2134 11 Nov 13 nicklas 555   */
2134 11 Nov 13 nicklas 556   public static final Annotationtype SCORE_INSITU_CANCER =
2351 10 Apr 14 nicklas 557     new Annotationtype("ScoreInsituCancer", Type.INT, false, Item.SAMPLE);
2134 11 Nov 13 nicklas 558
2134 11 Nov 13 nicklas 559   /**
2134 11 Nov 13 nicklas 560     The "ScoreLymphocytes" annotation type, used for histology samples
2134 11 Nov 13 nicklas 561     (Stained). It is an integer annotation type.
2134 11 Nov 13 nicklas 562     @since 2.14
2134 11 Nov 13 nicklas 563   */
2134 11 Nov 13 nicklas 564   public static final Annotationtype SCORE_LYMPHOCYTES =
2351 10 Apr 14 nicklas 565     new Annotationtype("ScoreLymphocytes", Type.INT, false, Item.SAMPLE);
2134 11 Nov 13 nicklas 566
2134 11 Nov 13 nicklas 567   /**
2134 11 Nov 13 nicklas 568     The "ScoreNormal" annotation type, used for histology samples
2134 11 Nov 13 nicklas 569     (Stained). It is an integer annotation type.
2134 11 Nov 13 nicklas 570     @since 2.14
2134 11 Nov 13 nicklas 571   */
2134 11 Nov 13 nicklas 572   public static final Annotationtype SCORE_NORMAL =
2351 10 Apr 14 nicklas 573     new Annotationtype("ScoreNormal", Type.INT, false, Item.SAMPLE);
2134 11 Nov 13 nicklas 574
2134 11 Nov 13 nicklas 575   /**
2134 11 Nov 13 nicklas 576     The "ScoreStroma" annotation type, used for histology samples
2134 11 Nov 13 nicklas 577     (Stained). It is an integer annotation type.
2134 11 Nov 13 nicklas 578     @since 2.14
2134 11 Nov 13 nicklas 579   */
2134 11 Nov 13 nicklas 580   public static final Annotationtype SCORE_STROMA =
2351 10 Apr 14 nicklas 581     new Annotationtype("ScoreStroma", Type.INT, false, Item.SAMPLE);
2134 11 Nov 13 nicklas 582
2134 11 Nov 13 nicklas 583   /**
2134 11 Nov 13 nicklas 584     The "ScoreFat" annotation type, used for histology samples
2134 11 Nov 13 nicklas 585     (Stained). It is an integer annotation type.
2134 11 Nov 13 nicklas 586     @since 2.14
2134 11 Nov 13 nicklas 587   */
2134 11 Nov 13 nicklas 588   public static final Annotationtype SCORE_FAT =
2351 10 Apr 14 nicklas 589     new Annotationtype("ScoreFat", Type.INT, false, Item.SAMPLE);
2134 11 Nov 13 nicklas 590   
2134 11 Nov 13 nicklas 591   /**
3469 27 Aug 15 nicklas 592     The "ReservedBy" annotation type, used for extracts (Lysate)
3469 27 Aug 15 nicklas 593     to indicate that it has been selected for processing.
3469 27 Aug 15 nicklas 594     @since 3.5
3469 27 Aug 15 nicklas 595   */
3469 27 Aug 15 nicklas 596   public static final Annotationtype RESERVED_BY = 
3469 27 Aug 15 nicklas 597     new Annotationtype("ReservedBy", Type.STRING, false, Item.EXTRACT);
3469 27 Aug 15 nicklas 598
3469 27 Aug 15 nicklas 599   
3469 27 Aug 15 nicklas 600   /**
1639 09 May 12 nicklas 601     The "QiacubeDate" annotation type, used for extracts (RNA, DNA).
1639 09 May 12 nicklas 602     It is a date annotation type.
1639 09 May 12 nicklas 603     @since 2.6
1639 09 May 12 nicklas 604   */
1639 09 May 12 nicklas 605   public static final Annotationtype QIACUBE_DATE = 
2351 10 Apr 14 nicklas 606     new Annotationtype("QiacubeDate", Type.DATE, false, Item.EXTRACT);
1639 09 May 12 nicklas 607
1639 09 May 12 nicklas 608   /**
1639 09 May 12 nicklas 609     The "QiacubeOperator" annotation type, used for extracts (RNA, DNA).
1639 09 May 12 nicklas 610     It is a string annotation type.
1639 09 May 12 nicklas 611     @since 2.6
1639 09 May 12 nicklas 612   */
1639 09 May 12 nicklas 613   public static final Annotationtype QIACUBE_OPERATOR = 
2351 10 Apr 14 nicklas 614     new Annotationtype("QiacubeOperator", Type.STRING, false, Item.EXTRACT);
1639 09 May 12 nicklas 615
1639 09 May 12 nicklas 616   /**
1639 09 May 12 nicklas 617     The "QiacubePosition" annotation type, used for extracts (RNA, DNA).
1639 09 May 12 nicklas 618     It is an integer annotation type with allowed values between 1 and 12.
1639 09 May 12 nicklas 619     @since 2.6
1639 09 May 12 nicklas 620   */
1639 09 May 12 nicklas 621   public static final Annotationtype QIACUBE_POSITION = 
2351 10 Apr 14 nicklas 622     new Annotationtype("QiacubePosition", Type.INT, false, Item.EXTRACT);
1639 09 May 12 nicklas 623
1639 09 May 12 nicklas 624   /**
6510 03 Dec 21 nicklas 625     The "QiacubeRunNo" annotation type, used for extracts (RNA, DNA, FlowThrough).
1639 09 May 12 nicklas 626     It is an integer annotation type with allowed values >= 1.
1639 09 May 12 nicklas 627     @since 2.6
1639 09 May 12 nicklas 628   */
1639 09 May 12 nicklas 629   public static final Annotationtype QIACUBE_RUN_NO = 
2351 10 Apr 14 nicklas 630     new Annotationtype("QiacubeRunNo", Type.INT, false, Item.EXTRACT);
1639 09 May 12 nicklas 631
1639 09 May 12 nicklas 632   /**
6510 03 Dec 21 nicklas 633     The "QiacubeRunId" annotation type, used for extracts (RNA, DNA, FlowThrough)
6510 03 Dec 21 nicklas 634     extract by external lab. It is a string ID-like annotation
6510 03 Dec 21 nicklas 635     that group items that has been extracted in the same Qiacube run.
6510 03 Dec 21 nicklas 636     @since 4.33.5
6510 03 Dec 21 nicklas 637   */
6510 03 Dec 21 nicklas 638   public static final Annotationtype QIACUBE_RUN_ID = 
6510 03 Dec 21 nicklas 639     new Annotationtype("QiacubeRunId", Type.STRING, false, Item.EXTRACT);
6510 03 Dec 21 nicklas 640
6510 03 Dec 21 nicklas 641   
6510 03 Dec 21 nicklas 642   /**
2690 24 Sep 14 nicklas 643     The "RLT_Plus" annotation type, used for extracts (Lysate).
2690 24 Sep 14 nicklas 644     @since 2.16
2690 24 Sep 14 nicklas 645   */
2690 24 Sep 14 nicklas 646   public static final Annotationtype RLT_PLUS = 
2690 24 Sep 14 nicklas 647     new Annotationtype("RLT_Plus", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 648
2690 24 Sep 14 nicklas 649   /**
2690 24 Sep 14 nicklas 650     The "BetaMerca" annotation type, used for extracts (Lysate).
2690 24 Sep 14 nicklas 651     @since 2.16
2690 24 Sep 14 nicklas 652   */
2690 24 Sep 14 nicklas 653   public static final Annotationtype BETA_MERCA = 
2690 24 Sep 14 nicklas 654     new Annotationtype("BetaMerca", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 655
2690 24 Sep 14 nicklas 656   /**
2690 24 Sep 14 nicklas 657     The "ReagentDX" annotation type, used for extracts (Lysate).
2690 24 Sep 14 nicklas 658     @since 2.16
2690 24 Sep 14 nicklas 659   */
2690 24 Sep 14 nicklas 660   public static final Annotationtype REAGENT_DX = 
2690 24 Sep 14 nicklas 661     new Annotationtype("ReagentDX", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 662
2690 24 Sep 14 nicklas 663   /**
2690 24 Sep 14 nicklas 664     The "QiaShredder" annotation type, used for extracts (Lysate).
2690 24 Sep 14 nicklas 665     @since 2.16
2690 24 Sep 14 nicklas 666   */
2690 24 Sep 14 nicklas 667   public static final Annotationtype QIA_SHREDDER = 
2690 24 Sep 14 nicklas 668     new Annotationtype("QiaShredder", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 669
2690 24 Sep 14 nicklas 670   /**
2690 24 Sep 14 nicklas 671     The "AllprepMiniKit" annotation type, used for extracts (RNA, DNA, FlowThrough).
2690 24 Sep 14 nicklas 672     @since 2.16
2690 24 Sep 14 nicklas 673   */
2690 24 Sep 14 nicklas 674   public static final Annotationtype ALLPREP_MINI_KIT = 
2690 24 Sep 14 nicklas 675     new Annotationtype("AllprepMiniKit", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 676
2690 24 Sep 14 nicklas 677   /**
2690 24 Sep 14 nicklas 678     The "ETOH70" annotation type, used for extracts (RNA, DNA, FlowThrough).
2690 24 Sep 14 nicklas 679     @since 2.16
2690 24 Sep 14 nicklas 680   */
2690 24 Sep 14 nicklas 681   public static final Annotationtype ETOH70 = 
2690 24 Sep 14 nicklas 682     new Annotationtype("ETOH70", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 683   
2690 24 Sep 14 nicklas 684   /**
2690 24 Sep 14 nicklas 685     The "BufferRW1" annotation type, used for extracts (RNA, DNA, FlowThrough).
2690 24 Sep 14 nicklas 686     @since 2.16
2690 24 Sep 14 nicklas 687   */
2690 24 Sep 14 nicklas 688   public static final Annotationtype BUFFER_RW1 = 
2690 24 Sep 14 nicklas 689     new Annotationtype("BufferRW1", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 690   
2690 24 Sep 14 nicklas 691   /**
2690 24 Sep 14 nicklas 692     The "BufferRPE" annotation type, used for extracts (RNA, DNA, FlowThrough).
2690 24 Sep 14 nicklas 693     @since 2.16
2690 24 Sep 14 nicklas 694   */
2690 24 Sep 14 nicklas 695   public static final Annotationtype BUFFER_RPE = 
2690 24 Sep 14 nicklas 696     new Annotationtype("BufferRPE", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 697   
2690 24 Sep 14 nicklas 698   /**
2690 24 Sep 14 nicklas 699     The "BufferAW1" annotation type, used for extracts (RNA, DNA, FlowThrough).
2690 24 Sep 14 nicklas 700     @since 2.16
2690 24 Sep 14 nicklas 701   */
2690 24 Sep 14 nicklas 702   public static final Annotationtype BUFFER_AW1 = 
2690 24 Sep 14 nicklas 703     new Annotationtype("BufferAW1", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 704   
2690 24 Sep 14 nicklas 705   /**
2690 24 Sep 14 nicklas 706     The "BufferAW2" annotation type, used for extracts (RNA, DNA, FlowThrough).
2690 24 Sep 14 nicklas 707     @since 2.16
2690 24 Sep 14 nicklas 708   */
2690 24 Sep 14 nicklas 709   public static final Annotationtype BUFFER_AW2 = 
2690 24 Sep 14 nicklas 710     new Annotationtype("BufferAW2", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 711   
2690 24 Sep 14 nicklas 712   /**
2690 24 Sep 14 nicklas 713     The "BufferEB" annotation type, used for extracts (RNA, DNA, FlowThrough).
2690 24 Sep 14 nicklas 714     @since 2.16
2690 24 Sep 14 nicklas 715   */
2690 24 Sep 14 nicklas 716   public static final Annotationtype BUFFER_EB = 
2690 24 Sep 14 nicklas 717     new Annotationtype("BufferEB", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 718   
2690 24 Sep 14 nicklas 719   /**
2690 24 Sep 14 nicklas 720     The "RNaseFreeWater" annotation type, used for extracts (RNA, DNA, FlowThrough).
2690 24 Sep 14 nicklas 721     @since 2.16
2690 24 Sep 14 nicklas 722   */
2690 24 Sep 14 nicklas 723   public static final Annotationtype RNASE_FREE_WATER = 
2690 24 Sep 14 nicklas 724     new Annotationtype("RNaseFreeWater", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 725   
2690 24 Sep 14 nicklas 726   /**
2690 24 Sep 14 nicklas 727     The "AllPrepDNA_col" annotation type, used for extracts (RNA, DNA, FlowThrough).
2690 24 Sep 14 nicklas 728     @since 2.16
2690 24 Sep 14 nicklas 729   */
2690 24 Sep 14 nicklas 730   public static final Annotationtype ALLPREP_DNA_COL = 
2690 24 Sep 14 nicklas 731     new Annotationtype("AllPrepDNA_col", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 732   
2690 24 Sep 14 nicklas 733   /**
2690 24 Sep 14 nicklas 734     The "RNeasy_col" annotation type, used for extracts (RNA, DNA, FlowThrough).
2690 24 Sep 14 nicklas 735     @since 2.16
2690 24 Sep 14 nicklas 736   */
2690 24 Sep 14 nicklas 737   public static final Annotationtype RNEASY_COL = 
2690 24 Sep 14 nicklas 738     new Annotationtype("RNeasy_col", Type.STRING, false, Item.EXTRACT);
2690 24 Sep 14 nicklas 739
2690 24 Sep 14 nicklas 740   /**
1610 23 Apr 12 nicklas 741     The "QCRunDate" annotation, used
1610 23 Apr 12 nicklas 742     for bioplates (RNA). It is a date annotation type.
1610 23 Apr 12 nicklas 743   */
1610 23 Apr 12 nicklas 744   public static final Annotationtype QC_RUN_DATE = 
2351 10 Apr 14 nicklas 745     new Annotationtype("QCRunDate", Type.DATE, false, Item.BIOPLATE);
1610 23 Apr 12 nicklas 746   
1610 23 Apr 12 nicklas 747   /**
1610 23 Apr 12 nicklas 748     The "QCOperator" annotation, used
1610 23 Apr 12 nicklas 749     for bioplates (RNA). It is a string annotation type.
1610 23 Apr 12 nicklas 750   */
1610 23 Apr 12 nicklas 751   public static final Annotationtype QC_OPERATOR = 
2351 10 Apr 14 nicklas 752     new Annotationtype("QCOperator", Type.STRING, false, Item.BIOPLATE);
1610 23 Apr 12 nicklas 753   
1610 23 Apr 12 nicklas 754   /**
1610 23 Apr 12 nicklas 755     The "BA_RIN" annotation, used
1610 23 Apr 12 nicklas 756     for extract (RNAQC). It is a float annotation type
1610 23 Apr 12 nicklas 757   */
1610 23 Apr 12 nicklas 758   public static final Annotationtype BA_RIN = 
2351 10 Apr 14 nicklas 759     new Annotationtype("BA_RIN", Type.FLOAT, false, Item.EXTRACT);
1610 23 Apr 12 nicklas 760   
1610 23 Apr 12 nicklas 761   /**
1610 23 Apr 12 nicklas 762     The "CA_RQS" annotation, used
1610 23 Apr 12 nicklas 763     for extract (RNAQC). It is a float annotation type
1610 23 Apr 12 nicklas 764   */
1610 23 Apr 12 nicklas 765   public static final Annotationtype CA_RQS = 
2351 10 Apr 14 nicklas 766     new Annotationtype("CA_RQS", Type.FLOAT, false, Item.EXTRACT);
1610 23 Apr 12 nicklas 767   
1610 23 Apr 12 nicklas 768   /**
1610 23 Apr 12 nicklas 769     The "NDConc" annotation, used for extract (DNA/RNA).
1610 23 Apr 12 nicklas 770     @since 2.4
1610 23 Apr 12 nicklas 771   */
1610 23 Apr 12 nicklas 772   public static final Annotationtype ND_CONC = 
2351 10 Apr 14 nicklas 773     new Annotationtype("NDConc", Type.FLOAT, false, Item.EXTRACT);
1639 09 May 12 nicklas 774
1639 09 May 12 nicklas 775   /**
1639 09 May 12 nicklas 776     The "ND260by280" annotation, used for extract (DNA/RNA).
1639 09 May 12 nicklas 777     It is a float annotation type.
1639 09 May 12 nicklas 778     @since 2.6
1639 09 May 12 nicklas 779   */
1639 09 May 12 nicklas 780   public static final Annotationtype ND_260_BY_280 = 
2351 10 Apr 14 nicklas 781     new Annotationtype("ND260by280", Type.FLOAT, false, Item.EXTRACT);
1639 09 May 12 nicklas 782
1639 09 May 12 nicklas 783   /**
1639 09 May 12 nicklas 784     The "ND260by230" annotation, used for extract (DNA/RNA).
1639 09 May 12 nicklas 785     It is a float annotation type.
1639 09 May 12 nicklas 786     @since 2.6
1639 09 May 12 nicklas 787   */
1639 09 May 12 nicklas 788   public static final Annotationtype ND_260_BY_230 = 
2351 10 Apr 14 nicklas 789     new Annotationtype("ND260by230", Type.FLOAT, false, Item.EXTRACT);
1610 23 Apr 12 nicklas 790   
1610 23 Apr 12 nicklas 791   /**
1610 23 Apr 12 nicklas 792     The "QCHiSense" annotation, used for
1610 23 Apr 12 nicklas 793     extract (RNAQC). It is a boolean annotation type.
1610 23 Apr 12 nicklas 794   */
1610 23 Apr 12 nicklas 795   public static final Annotationtype QC_HISENSE = 
2351 10 Apr 14 nicklas 796     new Annotationtype("QCHiSense", Type.BOOLEAN, false, Item.EXTRACT);
1610 23 Apr 12 nicklas 797
1865 19 Feb 13 nicklas 798   /**
3269 23 Apr 15 nicklas 799     The "RNATargetAmount" annotation, used for
3269 23 Apr 15 nicklas 800     protocol (RNANormalization). It is a float annotation type.
3269 23 Apr 15 nicklas 801     @since 3.4
3269 23 Apr 15 nicklas 802   */
3269 23 Apr 15 nicklas 803   public static final Annotationtype RNA_TARGET_AMOUNT = 
5891 07 Apr 20 nicklas 804     new Annotationtype("RNATargetAmount", Type.FLOAT, false, Item.PROTOCOL, Item.BIOPLATE);
3269 23 Apr 15 nicklas 805
3269 23 Apr 15 nicklas 806   /**
3829 06 Apr 16 nicklas 807     The "RNAMinimalAmount" annotation, used for
3829 06 Apr 16 nicklas 808     protocol (RNANormalization). It is a float annotation type.
3829 06 Apr 16 nicklas 809     @since 4.3
3829 06 Apr 16 nicklas 810   */
3829 06 Apr 16 nicklas 811   public static final Annotationtype RNA_MINIMAL_AMOUNT = 
3829 06 Apr 16 nicklas 812     new Annotationtype("RNAMinimalAmount", Type.FLOAT, false, Item.PROTOCOL);
3829 06 Apr 16 nicklas 813   
3829 06 Apr 16 nicklas 814   /**
3269 23 Apr 15 nicklas 815     The "RNATargetVolume" annotation, used for
3269 23 Apr 15 nicklas 816     protocol (RNANormalization). It is a float annotation type.
3269 23 Apr 15 nicklas 817     @since 3.4
3269 23 Apr 15 nicklas 818   */
3269 23 Apr 15 nicklas 819   public static final Annotationtype RNA_TARGET_VOLUME = 
5891 07 Apr 20 nicklas 820     new Annotationtype("RNATargetVolume", Type.FLOAT, false, Item.PROTOCOL, Item.BIOPLATE);
3269 23 Apr 15 nicklas 821
3269 23 Apr 15 nicklas 822   /**
5434 17 May 19 nicklas 823     Flag to set on various items to indicate which pipeline
5434 17 May 19 nicklas 824     they belong to.
5434 17 May 19 nicklas 825     @since 4.23
5434 17 May 19 nicklas 826   */
5434 17 May 19 nicklas 827   public static final Annotationtype PIPELINE =
5470 05 Jun 19 nicklas 828     new Annotationtype("Pipeline", Type.STRING, false, Item.EXTRACT, Item.TAG, 
5543 06 Aug 19 nicklas 829       Item.BIOPLATE, Item.PHYSICALBIOASSAY, Item.DERIVEDBIOASSAY, Item.RAWBIOASSAY, 
6819 26 Aug 22 nicklas 830       Item.PROTOCOL, Item.SOFTWARE, Item.ARRAYDESIGN);
5434 17 May 19 nicklas 831   
5434 17 May 19 nicklas 832   /**
3833 08 Apr 16 nicklas 833     Flag to set on normalization protocol to indicate the
3833 08 Apr 16 nicklas 834     target platform they can be used on. Eg. NeoPrep or manual.
3833 08 Apr 16 nicklas 835     @since 4.3
3833 08 Apr 16 nicklas 836   */
3833 08 Apr 16 nicklas 837   public static final Annotationtype LIBPREP_TARGET =
3833 08 Apr 16 nicklas 838     new Annotationtype("LibPrepTarget", Type.STRING, false, Item.PROTOCOL);
3833 08 Apr 16 nicklas 839
3833 08 Apr 16 nicklas 840   /**
5359 12 Apr 19 nicklas 841     The "DNATargetAmount" annotation, used for
5359 12 Apr 19 nicklas 842     protocol (DNANormalization). It is a float annotation type.
5359 12 Apr 19 nicklas 843     @since 4.23
5359 12 Apr 19 nicklas 844   */
5359 12 Apr 19 nicklas 845   public static final Annotationtype DNA_TARGET_AMOUNT = 
5359 12 Apr 19 nicklas 846     new Annotationtype("DNATargetAmount", Type.FLOAT, false, Item.PROTOCOL);
5359 12 Apr 19 nicklas 847   
5359 12 Apr 19 nicklas 848   /**
5359 12 Apr 19 nicklas 849     The "DNAMinimalAmount" annotation, used for
5359 12 Apr 19 nicklas 850     protocol (DNANormalization). It is a float annotation type.
5359 12 Apr 19 nicklas 851     @since 4.23
5359 12 Apr 19 nicklas 852   */
5359 12 Apr 19 nicklas 853   public static final Annotationtype DNA_MINIMAL_AMOUNT = 
5359 12 Apr 19 nicklas 854     new Annotationtype("DNAMinimalAmount", Type.FLOAT, false, Item.PROTOCOL);
5359 12 Apr 19 nicklas 855   
5359 12 Apr 19 nicklas 856   /**
5359 12 Apr 19 nicklas 857     The "DNATargetVolume" annotation, used for
5359 12 Apr 19 nicklas 858     protocol (DNANormalization). It is a float annotation type.
5359 12 Apr 19 nicklas 859     @since 4.23
5359 12 Apr 19 nicklas 860   */
5359 12 Apr 19 nicklas 861   public static final Annotationtype DNA_TARGET_VOLUME = 
5359 12 Apr 19 nicklas 862     new Annotationtype("DNATargetVolume", Type.FLOAT, false, Item.PROTOCOL);
5359 12 Apr 19 nicklas 863
5402 07 May 19 nicklas 864   /**
5601 13 Sep 19 nicklas 865     The "MIPS_Panel" annotation, used for extracts
5402 07 May 19 nicklas 866     in the MIPs pipeline. It is a string annotation type.
5402 07 May 19 nicklas 867     @since 4.23
5402 07 May 19 nicklas 868   */
5601 13 Sep 19 nicklas 869   public static final Annotationtype MIPS_PANEL =
5601 13 Sep 19 nicklas 870     new Annotationtype("MIPS_Panel", Type.STRING, false, Item.EXTRACT, Item.PROTOCOL);
5402 07 May 19 nicklas 871
5402 07 May 19 nicklas 872   /**
5447 24 May 19 nicklas 873     The "MIPS_PoolVolume" annotation, used for extracts
5461 03 Jun 19 nicklas 874     in the MIPs pipeline. It is a numeric annotation type.
5402 07 May 19 nicklas 875     @since 4.23
5402 07 May 19 nicklas 876   */
5447 24 May 19 nicklas 877   public static final Annotationtype MIPS_POOL_VOLUME =
5461 03 Jun 19 nicklas 878     new Annotationtype("MIPS_PoolVolume", Type.FLOAT, false, Item.EXTRACT);
5447 24 May 19 nicklas 879
5447 24 May 19 nicklas 880   /**
5447 24 May 19 nicklas 881     The "MIPS_NormalTumor" annotation, used for extracts
5447 24 May 19 nicklas 882     in the MIPs pipeline. It is a string annotation type.
5447 24 May 19 nicklas 883     @since 4.23
5447 24 May 19 nicklas 884   */
5447 24 May 19 nicklas 885   public static final Annotationtype MIPS_NORMAL_TUMOR =
5447 24 May 19 nicklas 886     new Annotationtype("MIPS_NormalTumor", Type.STRING, false, Item.EXTRACT);
5447 24 May 19 nicklas 887
5447 24 May 19 nicklas 888   /**
5447 24 May 19 nicklas 889     The "MIPS_Form" annotation, used for extracts
5447 24 May 19 nicklas 890     in the MIPs pipeline. It is a string annotation type.
5447 24 May 19 nicklas 891     @since 4.23
5447 24 May 19 nicklas 892   */
5447 24 May 19 nicklas 893   public static final Annotationtype MIPS_FORM =
5447 24 May 19 nicklas 894     new Annotationtype("MIPS_Form", Type.STRING, false, Item.EXTRACT);
5447 24 May 19 nicklas 895     
5447 24 May 19 nicklas 896   /**
5447 24 May 19 nicklas 897     The "MIPS_Variant" annotation, used for extracts
5447 24 May 19 nicklas 898     in the MIPs pipeline. It is a string annotation type.
5447 24 May 19 nicklas 899     @since 4.23
5447 24 May 19 nicklas 900   */
5447 24 May 19 nicklas 901   public static final Annotationtype MIPS_VARIANT =
5447 24 May 19 nicklas 902     new Annotationtype("MIPS_Variant", Type.STRING, false, Item.EXTRACT);
5447 24 May 19 nicklas 903
5447 24 May 19 nicklas 904   /**
5447 24 May 19 nicklas 905     The "MIPS_VariantList annotation, used for extracts
5447 24 May 19 nicklas 906     in the MIPs pipeline. It is a string annotation type.
5447 24 May 19 nicklas 907     @since 4.23
5447 24 May 19 nicklas 908   */
5447 24 May 19 nicklas 909   public static final Annotationtype MIPS_VARIANT_LIST =
5447 24 May 19 nicklas 910     new Annotationtype("MIPS_VariantList", Type.STRING, false, Item.EXTRACT);
5447 24 May 19 nicklas 911
5447 24 May 19 nicklas 912   /**
5447 24 May 19 nicklas 913     The "MIPS_Screening annotation, used for extracts
5447 24 May 19 nicklas 914     in the MIPs pipeline. It is a string annotation type.
5447 24 May 19 nicklas 915     @since 4.23
5447 24 May 19 nicklas 916   */
5447 24 May 19 nicklas 917   public static final Annotationtype MIPS_SCREENING =
5447 24 May 19 nicklas 918     new Annotationtype("MIPS_Screening", Type.STRING, false, Item.EXTRACT);
5447 24 May 19 nicklas 919
5359 12 Apr 19 nicklas 920   /**
5663 11 Oct 19 nicklas 921     The "BRCA_PatientID annotation, used for extracts
5663 11 Oct 19 nicklas 922     in the MIPs pipeline. It is a string annotation type.
5663 11 Oct 19 nicklas 923     @since 4.23.2
5663 11 Oct 19 nicklas 924   */
5663 11 Oct 19 nicklas 925   public static final Annotationtype BRCA_PATIENTID =
5663 11 Oct 19 nicklas 926     new Annotationtype("BRCA_PatientID", Type.STRING, false, Item.EXTRACT);
5663 11 Oct 19 nicklas 927
5663 11 Oct 19 nicklas 928   /**
5663 11 Oct 19 nicklas 929     The "BRCA_Provnummer annotation, used for extracts
5663 11 Oct 19 nicklas 930     in the MIPs pipeline. It is a string annotation type.
5663 11 Oct 19 nicklas 931     @since 4.23.2
5663 11 Oct 19 nicklas 932   */
5663 11 Oct 19 nicklas 933   public static final Annotationtype BRCA_PROVNUMMER =
5663 11 Oct 19 nicklas 934     new Annotationtype("BRCA_Provnummer", Type.STRING, false, Item.EXTRACT);
5663 11 Oct 19 nicklas 935
5663 11 Oct 19 nicklas 936   /**
5407 08 May 19 nicklas 937     The "PlateProcessing" annotation which is used to control which 
5407 08 May 19 nicklas 938     actions that are available for a bioplate at a given time. 
5407 08 May 19 nicklas 939     It is typically used for plates that can be used multiple
5407 08 May 19 nicklas 940     times before moving on to the next state. For example,
5407 08 May 19 nicklas 941     Plates for pre-normalized DNA are filled with DNA aliquots
5407 08 May 19 nicklas 942     in multiple steps. When the plate is first used for 
5407 08 May 19 nicklas 943     MIPs plate design, no more aliquots can be added, but
5407 08 May 19 nicklas 944     it may still be used for multiple MIPs plates before
5407 08 May 19 nicklas 945     finally being "used up".
5407 08 May 19 nicklas 946     @since 4.23
5407 08 May 19 nicklas 947   */
5407 08 May 19 nicklas 948   public static final Annotationtype PLATE_PROCESSING =
5407 08 May 19 nicklas 949     new Annotationtype("PlateProcessing", Type.STRING, false, Item.BIOPLATE);
5407 08 May 19 nicklas 950
5407 08 May 19 nicklas 951   
5407 08 May 19 nicklas 952   /**
1889 27 Feb 13 nicklas 953     The "AutoProcessing" annotation which, if set, is a 
1889 27 Feb 13 nicklas 954     flag to indicate how the item should be handled by
1889 27 Feb 13 nicklas 955     auto-processing wizards. No value indicates normal
1889 27 Feb 13 nicklas 956     processing in the regular flow. Other values may mean
1889 27 Feb 13 nicklas 957     either disabled auto-processing (eg. "Disable") or
1889 27 Feb 13 nicklas 958     forced (re)-auto-processing (eg. "ReProcess"). The 
1889 27 Feb 13 nicklas 959     support and meaning is up to each wizard.
1867 19 Feb 13 nicklas 960     @since 2.12
1865 19 Feb 13 nicklas 961   */
1889 27 Feb 13 nicklas 962   public static final Annotationtype AUTO_PROCESSING = 
7223 31 May 23 nicklas 963     new Annotationtype("AutoProcessing", Type.STRING, false, Item.BIOPLATE, Item.EXTRACT, 
7223 31 May 23 nicklas 964         Item.DERIVEDBIOASSAY, Item.SAMPLE, Item.RAWBIOASSAY, Item.ITEMLIST, Item.FILESERVER);
1865 19 Feb 13 nicklas 965
1865 19 Feb 13 nicklas 966   /**
1890 01 Mar 13 nicklas 967     The "PlateProcessResult" annotation which is set after a reaction
1890 01 Mar 13 nicklas 968     plate has been proccessed to indicate the outcome of the plate as
1890 01 Mar 13 nicklas 969     a whole. A value of "Successful" typically means that the next step
1890 01 Mar 13 nicklas 970     in the process can be taken, but a value of "Failed" indicates a 
1890 01 Mar 13 nicklas 971     complete failure and everything should be restarted at a previous level.
2020 13 Sep 13 nicklas 972     Can also be used on a flow cell (physical bioassay).
1890 01 Mar 13 nicklas 973     @since 2.12
1890 01 Mar 13 nicklas 974   */
1890 01 Mar 13 nicklas 975   public static final Annotationtype PLATE_PROCESS_RESULT =
2351 10 Apr 14 nicklas 976     new Annotationtype("PlateProcessResult", Type.STRING, false, Item.BIOPLATE, Item.PHYSICALBIOASSAY);
1977 16 May 13 nicklas 977
1977 16 May 13 nicklas 978   /**
3303 04 May 15 nicklas 979     Flag that is set on mRNA items that should be used for
3303 04 May 15 nicklas 980     QC in the library preparation.
3303 04 May 15 nicklas 981     @since 3.4
3303 04 May 15 nicklas 982   */
3303 04 May 15 nicklas 983   public static final Annotationtype USE_FOR_QC =
3303 04 May 15 nicklas 984     new Annotationtype("UseForQC", Type.BOOLEAN, false, Item.EXTRACT);
3303 04 May 15 nicklas 985   
3303 04 May 15 nicklas 986   /**
3303 04 May 15 nicklas 987     Expected concentration after diluting RNA to be processed
3303 04 May 15 nicklas 988     to libraries. Used on "mRNA" and "Library" items.
3303 04 May 15 nicklas 989     @since 3.4
3303 04 May 15 nicklas 990   */
3303 04 May 15 nicklas 991   public static final Annotationtype DILUTION_CONC =
3303 04 May 15 nicklas 992     new Annotationtype("DilutionConc", Type.FLOAT, false, Item.EXTRACT);
3303 04 May 15 nicklas 993   
3303 04 May 15 nicklas 994   /**
3832 07 Apr 16 nicklas 995     Expected volume after diluting RNA to be processed
3832 07 Apr 16 nicklas 996     to libraries. Used on "mRNA" and "Library" items.
3832 07 Apr 16 nicklas 997     @since 4.3
3832 07 Apr 16 nicklas 998   */
3832 07 Apr 16 nicklas 999   public static final Annotationtype DILUTION_VOLUME =
3832 07 Apr 16 nicklas 1000     new Annotationtype("DilutionVolume", Type.FLOAT, false, Item.EXTRACT);
3832 07 Apr 16 nicklas 1001   
3833 08 Apr 16 nicklas 1002   
3832 07 Apr 16 nicklas 1003   /**
2898 05 Nov 14 nicklas 1004     Annotation for mRNA and pre-normalized RNA dilution date.
2898 05 Nov 14 nicklas 1005     @since 2.12, 2.18
1998 29 May 13 nicklas 1006   */
1998 29 May 13 nicklas 1007   public static final Annotationtype DILUTION_DATE =
2898 05 Nov 14 nicklas 1008       new Annotationtype("DilutionDate", Type.DATE, false, Item.BIOPLATE, Item.EXTRACT);
1998 29 May 13 nicklas 1009
1998 29 May 13 nicklas 1010   /**
2898 05 Nov 14 nicklas 1011     Annotation for mRNA and pre-normalized RNA dilution operator.
2898 05 Nov 14 nicklas 1012     @since 2.12, 2.18
1998 29 May 13 nicklas 1013   */
1998 29 May 13 nicklas 1014   public static final Annotationtype DILUTION_OPERATOR =
2898 05 Nov 14 nicklas 1015       new Annotationtype("DilutionOperator", Type.STRING, false, Item.BIOPLATE, Item.EXTRACT);
1998 29 May 13 nicklas 1016
1998 29 May 13 nicklas 1017   
1998 29 May 13 nicklas 1018   /**
1998 29 May 13 nicklas 1019     Annotation for mRNA purification date.
1998 29 May 13 nicklas 1020     @since 2.12
1998 29 May 13 nicklas 1021   */
1998 29 May 13 nicklas 1022   public static final Annotationtype PURIFICATION_DATE =
2351 10 Apr 14 nicklas 1023       new Annotationtype("PurificationDate", Type.DATE, false, Item.BIOPLATE);
1998 29 May 13 nicklas 1024   
1998 29 May 13 nicklas 1025   /**
1998 29 May 13 nicklas 1026     Annotation for mRNA purification operator.
1998 29 May 13 nicklas 1027     @since 2.12
1998 29 May 13 nicklas 1028   */
1998 29 May 13 nicklas 1029   public static final Annotationtype PURIFICATION_OPERATOR =
2351 10 Apr 14 nicklas 1030       new Annotationtype("PurificationOperator", Type.STRING, false, Item.BIOPLATE);
1998 29 May 13 nicklas 1031
1998 29 May 13 nicklas 1032   /**
1998 29 May 13 nicklas 1033     Annotation for mRNA fragmentation date.
1998 29 May 13 nicklas 1034     @since 2.12
1998 29 May 13 nicklas 1035   */
1998 29 May 13 nicklas 1036   public static final Annotationtype FRAGMENTATION_DATE =
2351 10 Apr 14 nicklas 1037       new Annotationtype("FragmentationDate", Type.DATE, false, Item.BIOPLATE);
1998 29 May 13 nicklas 1038   
1998 29 May 13 nicklas 1039   /**
1998 29 May 13 nicklas 1040     Annotation for mRNA fragmentation operator.
1998 29 May 13 nicklas 1041     @since 2.12
1998 29 May 13 nicklas 1042   */
1998 29 May 13 nicklas 1043   public static final Annotationtype FRAGMENTATION_OPERATOR =
2351 10 Apr 14 nicklas 1044       new Annotationtype("FragmentationOperator", Type.STRING, false, Item.BIOPLATE);
1998 29 May 13 nicklas 1045
1998 29 May 13 nicklas 1046   /**
1998 29 May 13 nicklas 1047     Annotation for mRNA cleanup date.
1998 29 May 13 nicklas 1048     @since 2.12
1998 29 May 13 nicklas 1049   */
1998 29 May 13 nicklas 1050   public static final Annotationtype CLEANUP_DATE =
2351 10 Apr 14 nicklas 1051       new Annotationtype("CleanupDate", Type.DATE, false, Item.BIOPLATE);
1998 29 May 13 nicklas 1052   
1998 29 May 13 nicklas 1053   /**
1998 29 May 13 nicklas 1054     Annotation for mRNA cleanup operator.
1998 29 May 13 nicklas 1055     @since 2.12
1998 29 May 13 nicklas 1056   */
1998 29 May 13 nicklas 1057   public static final Annotationtype CLEANUP_OPERATOR =
2351 10 Apr 14 nicklas 1058       new Annotationtype("CleanupOperator", Type.STRING, false, Item.BIOPLATE);
1998 29 May 13 nicklas 1059
1999 29 May 13 nicklas 1060   /**
1999 29 May 13 nicklas 1061     Annotation for cDNA synthesis date.
1999 29 May 13 nicklas 1062     @since 2.12
1999 29 May 13 nicklas 1063   */
1999 29 May 13 nicklas 1064   public static final Annotationtype SYNTHESIS_DATE =
2351 10 Apr 14 nicklas 1065       new Annotationtype("SynthesisDate", Type.DATE, false, Item.BIOPLATE);
1998 29 May 13 nicklas 1066   
1998 29 May 13 nicklas 1067   /**
1999 29 May 13 nicklas 1068     Annotation for cDNA synthesis operator.
1999 29 May 13 nicklas 1069     @since 2.12
1999 29 May 13 nicklas 1070   */
1999 29 May 13 nicklas 1071   public static final Annotationtype SYNTHESIS_OPERATOR =
2351 10 Apr 14 nicklas 1072       new Annotationtype("SynthesisOperator", Type.STRING, false, Item.BIOPLATE);
1999 29 May 13 nicklas 1073   
2002 29 May 13 nicklas 1074   /**
2002 29 May 13 nicklas 1075     Annotation for Lib amplification date.
2002 29 May 13 nicklas 1076     @since 2.12
2002 29 May 13 nicklas 1077   */
2002 29 May 13 nicklas 1078   public static final Annotationtype AMPLIFICATION_DATE =
2351 10 Apr 14 nicklas 1079       new Annotationtype("AmplificationDate", Type.DATE, false, Item.BIOPLATE);
1999 29 May 13 nicklas 1080   
1999 29 May 13 nicklas 1081   /**
2002 29 May 13 nicklas 1082     Annotation for Lib amplification operator.
2002 29 May 13 nicklas 1083     @since 2.12
2002 29 May 13 nicklas 1084   */
2002 29 May 13 nicklas 1085   public static final Annotationtype AMPLIFICATION_OPERATOR =
2351 10 Apr 14 nicklas 1086       new Annotationtype("AmplificationOperator", Type.STRING, false, Item.BIOPLATE);
2002 29 May 13 nicklas 1087
3319 11 May 15 nicklas 1088   /**
5450 27 May 19 nicklas 1089     Annotation for HybridizationDate date.
5450 27 May 19 nicklas 1090     @since 4.23
5450 27 May 19 nicklas 1091   */
5450 27 May 19 nicklas 1092   public static final Annotationtype HYBRIDIZATION_DATE =
5450 27 May 19 nicklas 1093     new Annotationtype("HybridizationDate", Type.DATE, false, Item.BIOPLATE);
5450 27 May 19 nicklas 1094   
5450 27 May 19 nicklas 1095   /**
5450 27 May 19 nicklas 1096     Annotation for Hybridization operator.
5450 27 May 19 nicklas 1097     @since 4.23
5450 27 May 19 nicklas 1098   */
5450 27 May 19 nicklas 1099   public static final Annotationtype HYBRIDIZATION_OPERATOR =
5450 27 May 19 nicklas 1100     new Annotationtype("HybridizationOperator", Type.STRING, false, Item.BIOPLATE);
5450 27 May 19 nicklas 1101   
5450 27 May 19 nicklas 1102   /**
5450 27 May 19 nicklas 1103     Annotation for PCRDate date.
5450 27 May 19 nicklas 1104     @since 4.23
5450 27 May 19 nicklas 1105   */
5450 27 May 19 nicklas 1106   public static final Annotationtype PCR_DATE =
5450 27 May 19 nicklas 1107     new Annotationtype("PCRDate", Type.DATE, false, Item.BIOPLATE);
5450 27 May 19 nicklas 1108   
5450 27 May 19 nicklas 1109   /**
5450 27 May 19 nicklas 1110     Annotation for PCR operator.
5450 27 May 19 nicklas 1111     @since 4.23
5450 27 May 19 nicklas 1112   */
5450 27 May 19 nicklas 1113   public static final Annotationtype PCR_OPERATOR =
5450 27 May 19 nicklas 1114     new Annotationtype("PCROperator", Type.STRING, false, Item.BIOPLATE);
5450 27 May 19 nicklas 1115
5450 27 May 19 nicklas 1116   
5450 27 May 19 nicklas 1117   /**
3319 11 May 15 nicklas 1118     Annotation for NeoPrep date.
3319 11 May 15 nicklas 1119     @since 3.4
3319 11 May 15 nicklas 1120   */
3319 11 May 15 nicklas 1121   public static final Annotationtype NEOPREP_DATE =
3319 11 May 15 nicklas 1122       new Annotationtype("NeoPrepDate", Type.DATE, false, Item.BIOPLATE);
2002 29 May 13 nicklas 1123   
2002 29 May 13 nicklas 1124   /**
3319 11 May 15 nicklas 1125     Annotation for NeoPrep operator.
3319 11 May 15 nicklas 1126     @since 3.4
3319 11 May 15 nicklas 1127   */
3319 11 May 15 nicklas 1128   public static final Annotationtype NEOPREP_OPERATOR =
3319 11 May 15 nicklas 1129     new Annotationtype("NeoPrepOperator", Type.STRING, false, Item.BIOPLATE);
3319 11 May 15 nicklas 1130   
3319 11 May 15 nicklas 1131   /**
2191 13 Jan 14 nicklas 1132     Annotation for pooling operator
2191 13 Jan 14 nicklas 1133     @since 2.14
1977 16 May 13 nicklas 1134   */
2191 13 Jan 14 nicklas 1135   public static final Annotationtype POOL_OPERATOR =
5427 14 May 19 nicklas 1136     new Annotationtype("PoolOperator", Type.STRING, false, Item.EXTRACT, Item.BIOPLATE);
1977 16 May 13 nicklas 1137
1890 01 Mar 13 nicklas 1138   
1890 01 Mar 13 nicklas 1139   /**
1889 27 Feb 13 nicklas 1140     The "Flag" annotation which, if set, is a 
1889 27 Feb 13 nicklas 1141     flag to indicate a special condition that happened
1889 27 Feb 13 nicklas 1142     during the processing of an item. This annotation is
1889 27 Feb 13 nicklas 1143     usually set in combination with adding the item to 
1889 27 Feb 13 nicklas 1144     a biomaterial list (eg. {@link BiomaterialList#FLAGGED_RNA}).
1889 27 Feb 13 nicklas 1145     @since 2.12
1889 27 Feb 13 nicklas 1146   */
1889 27 Feb 13 nicklas 1147   public static final Annotationtype FLAG = 
2351 10 Apr 14 nicklas 1148     new Annotationtype("Flag", Type.STRING, false, Item.SAMPLE, Item.EXTRACT);
1889 27 Feb 13 nicklas 1149
1889 27 Feb 13 nicklas 1150   /**
1865 19 Feb 13 nicklas 1151     The "PoolSchema" annotation which, if set, indicates the default
1865 19 Feb 13 nicklas 1152     pooling schema to use when working with mRNA, cDNA and Library
1865 19 Feb 13 nicklas 1153     plates. It an enumerated string annotation type. 
1867 19 Feb 13 nicklas 1154     @since 2.12
1865 19 Feb 13 nicklas 1155   */
1865 19 Feb 13 nicklas 1156   public static final Annotationtype POOL_SCHEMA = 
2351 10 Apr 14 nicklas 1157     new Annotationtype("PoolSchema", Type.STRING, false, Item.BIOPLATE);
1865 19 Feb 13 nicklas 1158
1865 19 Feb 13 nicklas 1159   /**
1865 19 Feb 13 nicklas 1160     The "BarcodeVariant" annotation which, if set, indicates the default
1865 19 Feb 13 nicklas 1161     barcode variant to use when working with mRNA, cDNA and Library
1865 19 Feb 13 nicklas 1162     plates. It a string annotation type. 
1867 19 Feb 13 nicklas 1163     @since 2.12
1865 19 Feb 13 nicklas 1164   */
1865 19 Feb 13 nicklas 1165   public static final Annotationtype BARCODE_VARIANT = 
2351 10 Apr 14 nicklas 1166     new Annotationtype("BarcodeVariant", Type.STRING, false, Item.BIOPLATE);
1865 19 Feb 13 nicklas 1167
1902 13 Mar 13 nicklas 1168   /**
1902 13 Mar 13 nicklas 1169     The "QubitConc" annotation, used for extract (Library).
1902 13 Mar 13 nicklas 1170     @since 2.12
1902 13 Mar 13 nicklas 1171   */
1902 13 Mar 13 nicklas 1172   public static final Annotationtype QUBIT_CONC = 
2351 10 Apr 14 nicklas 1173     new Annotationtype("QubitConc", Type.FLOAT, false, Item.EXTRACT);
1925 11 Apr 13 nicklas 1174
1925 11 Apr 13 nicklas 1175   /**
7286 15 Aug 23 nicklas 1176     The "QuantITConc" annotation, used for extract (Library).
7286 15 Aug 23 nicklas 1177     @since 4.48.5
7286 15 Aug 23 nicklas 1178   */
7286 15 Aug 23 nicklas 1179   public static final Annotationtype QUANTIT_CONC = 
7286 15 Aug 23 nicklas 1180     new Annotationtype("QuantITConc", Type.FLOAT, false, Item.EXTRACT);
7286 15 Aug 23 nicklas 1181
7286 15 Aug 23 nicklas 1182   
7286 15 Aug 23 nicklas 1183   /**
1925 11 Apr 13 nicklas 1184     The "QubitConcAfterSpeedVac" annotation, used for extract (Library).
1925 11 Apr 13 nicklas 1185     @since 2.12
1925 11 Apr 13 nicklas 1186   */
1925 11 Apr 13 nicklas 1187   public static final Annotationtype QUBIT_CONC_AFTER_SPEEDVAC = 
2351 10 Apr 14 nicklas 1188     new Annotationtype("QubitConcAfterSpeedVac", Type.FLOAT, false, Item.EXTRACT);
1925 11 Apr 13 nicklas 1189
1610 23 Apr 12 nicklas 1190   
1610 23 Apr 12 nicklas 1191   /**
1906 14 Mar 13 nicklas 1192     The "CA_Size" annotation, used for extract (Library).
2454 23 May 14 nicklas 1193     Read from Caliper well table CSV, Region[180-600] Size [BP]
1902 13 Mar 13 nicklas 1194     @since 2.12
1902 13 Mar 13 nicklas 1195   */
1902 13 Mar 13 nicklas 1196   public static final Annotationtype CA_SIZE =
2351 10 Apr 14 nicklas 1197     new Annotationtype("CA_Size", Type.FLOAT, false, Item.EXTRACT);
1902 13 Mar 13 nicklas 1198
1906 14 Mar 13 nicklas 1199   /**
1906 14 Mar 13 nicklas 1200     The "CA_Molarity" annotation, used for extract (Library).
2454 23 May 14 nicklas 1201     Read from Caliper well table CSV, Region[180-600] Molarity (nmol/l)
2454 23 May 14 nicklas 1202     multiplied by 10. Used to store calculated values, but since 2.15.2 
3571 30 Oct 15 nicklas 1203     these have move to {@link #LIBRARY_MOLARITY_EST}
2454 23 May 14 nicklas 1204     @since 2.12, 2.15.2
1906 14 Mar 13 nicklas 1205   */
1906 14 Mar 13 nicklas 1206   public static final Annotationtype CA_MOLARITY =
2351 10 Apr 14 nicklas 1207     new Annotationtype("CA_Molarity", Type.FLOAT, false, Item.EXTRACT);
1906 14 Mar 13 nicklas 1208
1959 03 May 13 nicklas 1209   /**
2454 23 May 14 nicklas 1210     The "CA_Size_Adpt" annotation, used for extract (Library).
2454 23 May 14 nicklas 1211     Read from Caliper well table CSV, Region[120-140] Size [BP]
2454 23 May 14 nicklas 1212     @since 2.15.2
2454 23 May 14 nicklas 1213   */
2454 23 May 14 nicklas 1214   public static final Annotationtype CA_SIZE_ADPT =
2454 23 May 14 nicklas 1215     new Annotationtype("CA_Size_Adpt", Type.FLOAT, false, Item.EXTRACT);
2454 23 May 14 nicklas 1216
2454 23 May 14 nicklas 1217   /**
2454 23 May 14 nicklas 1218     The "CA_Molarity_Adpt" annotation, used for extract (Library).
2454 23 May 14 nicklas 1219     Read from Caliper well table CSV, Region[120-140] Molarity (nmol/l)
2454 23 May 14 nicklas 1220     multiplied by 10.
2454 23 May 14 nicklas 1221     @since 2.15.2
2454 23 May 14 nicklas 1222   */
2454 23 May 14 nicklas 1223   public static final Annotationtype CA_MOLARITY_ADPT =
2454 23 May 14 nicklas 1224     new Annotationtype("CA_Molarity_Adpt", Type.FLOAT, false, Item.EXTRACT);
2454 23 May 14 nicklas 1225
2454 23 May 14 nicklas 1226   /**
2454 23 May 14 nicklas 1227     Calculated value for library molarity.
2454 23 May 14 nicklas 1228     @since 2.15.2
2454 23 May 14 nicklas 1229    */
2454 23 May 14 nicklas 1230   public static final Annotationtype LIBRARY_MOLARITY_EST =
2454 23 May 14 nicklas 1231     new Annotationtype("Library_Molarity_Est", Type.FLOAT, false, Item.EXTRACT);
2454 23 May 14 nicklas 1232
2454 23 May 14 nicklas 1233   /**
2454 23 May 14 nicklas 1234     Calculated value for library size. Weighted average of
2454 23 May 14 nicklas 1235     {@link #CA_SIZE} and {@link #CA_SIZE_ADPT}.
2454 23 May 14 nicklas 1236     @since 2.15.2
2454 23 May 14 nicklas 1237    */
2454 23 May 14 nicklas 1238   public static final Annotationtype LIBRARY_SIZE_EST =
2454 23 May 14 nicklas 1239     new Annotationtype("Library_Size_Est", Type.FLOAT, false, Item.EXTRACT);
2454 23 May 14 nicklas 1240
2454 23 May 14 nicklas 1241   /**
3309 06 May 15 nicklas 1242     Calculated value for library concentration when there is no
3309 06 May 15 nicklas 1243     direct Qubit (or other) measuerment.
3309 06 May 15 nicklas 1244     @since 3.4
3309 06 May 15 nicklas 1245    */
3309 06 May 15 nicklas 1246   public static final Annotationtype LIBRARY_CONC_EST =
3309 06 May 15 nicklas 1247     new Annotationtype("Library_Conc_Est", Type.FLOAT, false, Item.EXTRACT);
3309 06 May 15 nicklas 1248
3309 06 May 15 nicklas 1249   
3309 06 May 15 nicklas 1250   /**
2454 23 May 14 nicklas 1251     Calculated value for adapter fraction (in percent). Calculated
2454 23 May 14 nicklas 1252     from {@link #CA_MOLARITY} and {@link #CA_MOLARITY_ADPT}.
2454 23 May 14 nicklas 1253     @since 2.15.2
2454 23 May 14 nicklas 1254    */
2454 23 May 14 nicklas 1255   public static final Annotationtype LIBRARY_FRAC_ADPT =
2454 23 May 14 nicklas 1256     new Annotationtype("Library_Frac_Adpt", Type.INT, false, Item.EXTRACT);
2454 23 May 14 nicklas 1257   
2454 23 May 14 nicklas 1258   /**
5870 20 Mar 20 nicklas 1259     Annotation for storing position of an item (eg. library) that
5870 20 Mar 20 nicklas 1260     is processed externally.
5870 20 Mar 20 nicklas 1261     @since 4.26
5870 20 Mar 20 nicklas 1262   */
5870 20 Mar 20 nicklas 1263   public static final Annotationtype EXTERNAL_PLATE_POS = 
5870 20 Mar 20 nicklas 1264     new Annotationtype("ExternalPlatePos", Type.STRING, false, Item.EXTRACT);
5870 20 Mar 20 nicklas 1265
5870 20 Mar 20 nicklas 1266   /**
5870 20 Mar 20 nicklas 1267     Annotation for storing the external operator.
5870 20 Mar 20 nicklas 1268     @since 4.26
5870 20 Mar 20 nicklas 1269   */
5870 20 Mar 20 nicklas 1270   public static final Annotationtype EXTERNAL_OPERATOR = 
7227 01 Jun 23 nicklas 1271     new Annotationtype("ExternalOperator", Type.STRING, false, Item.SAMPLE, Item.EXTRACT, 
7227 01 Jun 23 nicklas 1272       Item.BIOPLATE, Item.FILESERVER);
5870 20 Mar 20 nicklas 1273
5870 20 Mar 20 nicklas 1274   
5870 20 Mar 20 nicklas 1275   /**
1959 03 May 13 nicklas 1276     The "PoolConc" annotation, used for extracts (PooledLibrary).
1959 03 May 13 nicklas 1277     Automatically calculated from the quantities used from the
1959 03 May 13 nicklas 1278     libraries mixed in the pool.
1959 03 May 13 nicklas 1279     @since 2.12
1959 03 May 13 nicklas 1280   */
1959 03 May 13 nicklas 1281   public static final Annotationtype POOL_CONC = 
2351 10 Apr 14 nicklas 1282     new Annotationtype("PoolConc", Type.FLOAT, false, Item.EXTRACT);
1959 03 May 13 nicklas 1283
1959 03 May 13 nicklas 1284   /**
1959 03 May 13 nicklas 1285     The "PoolMolarity" annotation, used for extracts (PooledLibrary).
1959 03 May 13 nicklas 1286     Automatically calculated using the molarity from from the
1959 03 May 13 nicklas 1287     libraries mixed in the pool.
1959 03 May 13 nicklas 1288     @since 2.12
1959 03 May 13 nicklas 1289   */
1959 03 May 13 nicklas 1290   public static final Annotationtype POOL_MOLARITY = 
2351 10 Apr 14 nicklas 1291     new Annotationtype("PoolMolarity", Type.FLOAT, false, Item.EXTRACT);
2021 17 Sep 13 nicklas 1292
2021 17 Sep 13 nicklas 1293   /**
2027 30 Sep 13 nicklas 1294     The "PoolTargetVolumePerLib" annotation, used for extracts (PooledLibrary).
2027 30 Sep 13 nicklas 1295     Store the admin-defined setting for target volume per library in a
2027 30 Sep 13 nicklas 1296     pool. The actual volume may be different due to limitations implied by
2027 30 Sep 13 nicklas 1297     library concentration and rounding.
2027 30 Sep 13 nicklas 1298     @since 2.13
2027 30 Sep 13 nicklas 1299   */
2027 30 Sep 13 nicklas 1300   public static final Annotationtype POOL_TARGET_VOLUME_PER_LIB =
2351 10 Apr 14 nicklas 1301     new Annotationtype("PoolTargetVolumePerLib", Type.FLOAT, false, Item.EXTRACT);
2140 18 Nov 13 nicklas 1302
2140 18 Nov 13 nicklas 1303   /**
2140 18 Nov 13 nicklas 1304     The "PoolTargetMolarity" annotation, used for extracts (PooledLibrary).
2140 18 Nov 13 nicklas 1305     Store the admin-defined setting for target molarity used when designing
2140 18 Nov 13 nicklas 1306     the pool. The actual molarity may different due to limitations implied by
2140 18 Nov 13 nicklas 1307     library concentration and rounding.
2140 18 Nov 13 nicklas 1308     @since 2.14
2140 18 Nov 13 nicklas 1309   */
2140 18 Nov 13 nicklas 1310   public static final Annotationtype POOL_TARGET_MOLARITY =
2351 10 Apr 14 nicklas 1311     new Annotationtype("PoolTargetMolarity", Type.FLOAT, false, Item.EXTRACT);
2141 18 Nov 13 nicklas 1312
2141 18 Nov 13 nicklas 1313   /**
2141 18 Nov 13 nicklas 1314     The "PoolIsManual" annotation, used for extracts (PooledLibrary).
2141 18 Nov 13 nicklas 1315     Store a flag indicating if the pool is manaually created. If not set,
2141 18 Nov 13 nicklas 1316     it is asssumed that the pool is created from an entire library working plate.
2141 18 Nov 13 nicklas 1317     @since 2.14
2141 18 Nov 13 nicklas 1318   */
2141 18 Nov 13 nicklas 1319   public static final Annotationtype POOL_IS_MANUAL =
2351 10 Apr 14 nicklas 1320     new Annotationtype("PoolIsManual", Type.BOOLEAN, false, Item.EXTRACT);
2141 18 Nov 13 nicklas 1321
2027 30 Sep 13 nicklas 1322   
2027 30 Sep 13 nicklas 1323   /**
5427 14 May 19 nicklas 1324     The "PoolDate" annotation, used for extracts (PooledLibrary) 
5427 14 May 19 nicklas 1325     and bioplates (Library). The date the pool was created.
2066 15 Oct 13 nicklas 1326     @since 2.13
2066 15 Oct 13 nicklas 1327   */
2066 15 Oct 13 nicklas 1328   public static final Annotationtype POOL_DATE =
5427 14 May 19 nicklas 1329     new Annotationtype("PoolDate", Type.DATE, false, Item.EXTRACT, Item.BIOPLATE);
2066 15 Oct 13 nicklas 1330
2066 15 Oct 13 nicklas 1331   
2066 15 Oct 13 nicklas 1332   /**
2041 04 Oct 13 nicklas 1333     The "PoolMixingStrategy" annotation, used for extracts (PooledLibrary).
2041 04 Oct 13 nicklas 1334     Store the admin-defined setting for the strategy to use when mixing the pool.
2041 04 Oct 13 nicklas 1335     Enumeration: fixed, dynamic. Default is fixed.
2041 04 Oct 13 nicklas 1336     @since 2.13
2041 04 Oct 13 nicklas 1337   */
2041 04 Oct 13 nicklas 1338   public static final Annotationtype POOL_MIXING_STRATEGY =
2351 10 Apr 14 nicklas 1339     new Annotationtype("PoolMixingStrategy", Type.STRING, false, Item.EXTRACT);
2041 04 Oct 13 nicklas 1340
2041 04 Oct 13 nicklas 1341   
2041 04 Oct 13 nicklas 1342   /**
7099 06 Apr 23 nicklas 1343     The "FlowCellID" annotation, used for physical bioassays (FlowCell)
7099 06 Apr 23 nicklas 1344     and also FASTQ files.
2021 17 Sep 13 nicklas 1345     @since 2.13
2021 17 Sep 13 nicklas 1346   */
2021 17 Sep 13 nicklas 1347   public static final Annotationtype FLOWCELL_ID = 
7099 06 Apr 23 nicklas 1348     new Annotationtype("FlowCellID", Type.STRING, false, Item.PHYSICALBIOASSAY, Item.FILE);
2021 17 Sep 13 nicklas 1349
1902 13 Mar 13 nicklas 1350   /**
7099 06 Apr 23 nicklas 1351     The "LaneNumber" annotation, used for FASTQ files.
7099 06 Apr 23 nicklas 1352     @since 4.46
7099 06 Apr 23 nicklas 1353   */
7099 06 Apr 23 nicklas 1354   public static final Annotationtype LANE_NUMBER = 
7099 06 Apr 23 nicklas 1355     new Annotationtype("LaneNumber", Type.INT, false, Item.FILE);
7099 06 Apr 23 nicklas 1356
7099 06 Apr 23 nicklas 1357   /**
7108 13 Apr 23 nicklas 1358     The "ReadNumber" annotation, used for FASTQ files.
7108 13 Apr 23 nicklas 1359     @since 4.46
7099 06 Apr 23 nicklas 1360   */
7099 06 Apr 23 nicklas 1361   public static final Annotationtype READ_NUMBER = 
7099 06 Apr 23 nicklas 1362     new Annotationtype("ReadNumber", Type.INT, false, Item.FILE);
7099 06 Apr 23 nicklas 1363
7099 06 Apr 23 nicklas 1364   /**
7108 13 Apr 23 nicklas 1365     The "ReadLnegth" annotation, used for FASTQ files.
7108 13 Apr 23 nicklas 1366     @since 4.46
7108 13 Apr 23 nicklas 1367   */
7108 13 Apr 23 nicklas 1368   public static final Annotationtype READ_LENGTH = 
7108 13 Apr 23 nicklas 1369     new Annotationtype("ReadLength", Type.INT, false, Item.FILE);
7108 13 Apr 23 nicklas 1370
7108 13 Apr 23 nicklas 1371   /**
5469 04 Jun 19 nicklas 1372     The "FlowCellType" annotation, used for physical bioassays (FlowCell)
7108 13 Apr 23 nicklas 1373     and hardware (Sequencer) and also FASTQ files.
2412 09 May 14 nicklas 1374     @since 2.15.1
2412 09 May 14 nicklas 1375   */
2412 09 May 14 nicklas 1376   public static final Annotationtype FLOWCELL_TYPE = 
7108 13 Apr 23 nicklas 1377     new Annotationtype("FlowCellType", Type.STRING, false, Item.PHYSICALBIOASSAY, Item.HARDWARE, Item.FILE);
2412 09 May 14 nicklas 1378
2412 09 May 14 nicklas 1379   /**
6461 01 Nov 21 nicklas 1380     The "BeadChipID" annotation, used for physical bioassays (BeadChip).
6461 01 Nov 21 nicklas 1381     @since 4.34
6461 01 Nov 21 nicklas 1382   */
6461 01 Nov 21 nicklas 1383   public static final Annotationtype BEADCHIP_ID = 
6461 01 Nov 21 nicklas 1384     new Annotationtype("BeadChipID", Type.STRING, false, Item.PHYSICALBIOASSAY);
6461 01 Nov 21 nicklas 1385   
6461 01 Nov 21 nicklas 1386   /**
6461 01 Nov 21 nicklas 1387     The "BeadChipType" annotation, used for physical bioassays (BeadChip).
6461 01 Nov 21 nicklas 1388     @since 4.34
6461 01 Nov 21 nicklas 1389   */
6461 01 Nov 21 nicklas 1390   public static final Annotationtype BEADCHIP_TYPE = 
6461 01 Nov 21 nicklas 1391     new Annotationtype("BeadChipType", Type.STRING, false, Item.PHYSICALBIOASSAY);
6461 01 Nov 21 nicklas 1392
6461 01 Nov 21 nicklas 1393   /**
6461 01 Nov 21 nicklas 1394     The "BeadChipPosition" annotation, used for extracts (BloodDNA).
6461 01 Nov 21 nicklas 1395     @since 4.34
6461 01 Nov 21 nicklas 1396   */
6461 01 Nov 21 nicklas 1397   public static final Annotationtype BEADCHIP_POSITION = 
6461 01 Nov 21 nicklas 1398     new Annotationtype("BeadChipPosition", Type.STRING, false, Item.EXTRACT);
6461 01 Nov 21 nicklas 1399
6461 01 Nov 21 nicklas 1400   /**
6461 01 Nov 21 nicklas 1401     The "ScanDate" annotation, used for derived bioassays (Scan). It is
6461 01 Nov 21 nicklas 1402     a timestamp annotation.
6461 01 Nov 21 nicklas 1403     @since 4.34
6461 01 Nov 21 nicklas 1404   */
6461 01 Nov 21 nicklas 1405   public static final Annotationtype SCAN_DATE = 
6461 01 Nov 21 nicklas 1406     new Annotationtype("ScanDate", Type.TIMESTAMP, false, Item.DERIVEDBIOASSAY);
6461 01 Nov 21 nicklas 1407   
6461 01 Nov 21 nicklas 1408   /**
2079 17 Oct 13 nicklas 1409     The "ClusterStart" annotation, used for physical bioassays (FlowCell).
2079 17 Oct 13 nicklas 1410     The date the flow cell was clustered.
2079 17 Oct 13 nicklas 1411     @since 2.13
2079 17 Oct 13 nicklas 1412   */
2079 17 Oct 13 nicklas 1413   public static final Annotationtype CLUSTER_START =
2351 10 Apr 14 nicklas 1414     new Annotationtype("ClusterStart", Type.DATE, false, Item.PHYSICALBIOASSAY);
2079 17 Oct 13 nicklas 1415
2079 17 Oct 13 nicklas 1416   /**
2079 17 Oct 13 nicklas 1417     The "ClusterOperator" annotation, used for physical bioassays (FlowCell).
2079 17 Oct 13 nicklas 1418     The operator that is responsible for clustering.
2079 17 Oct 13 nicklas 1419     @since 2.13
2079 17 Oct 13 nicklas 1420   */
2079 17 Oct 13 nicklas 1421   public static final Annotationtype CLUSTER_OPERATOR =
2351 10 Apr 14 nicklas 1422     new Annotationtype("ClusterOperator", Type.STRING, false, Item.PHYSICALBIOASSAY);
2079 17 Oct 13 nicklas 1423
2079 17 Oct 13 nicklas 1424   
2079 17 Oct 13 nicklas 1425   /**
2224 12 Feb 14 nicklas 1426     The "SequencingCycles" annotation, used for physical bioassays and 
2224 12 Feb 14 nicklas 1427     (FlowCell) derived bioassays (SequencingRun).
2085 18 Oct 13 nicklas 1428     @since 2.13
2085 18 Oct 13 nicklas 1429   */
2087 18 Oct 13 nicklas 1430   public static final Annotationtype SEQUENCING_CYCLES = 
2351 10 Apr 14 nicklas 1431     new Annotationtype("SequencingCycles", Type.STRING, false, Item.PHYSICALBIOASSAY, Item.DERIVEDBIOASSAY);
2085 18 Oct 13 nicklas 1432
2085 18 Oct 13 nicklas 1433   /**
2226 13 Feb 14 nicklas 1434     The "FailedLanes" annotation, used for physical bioassays (FlowCell).
2226 13 Feb 14 nicklas 1435     It is a multi-valued annotation type representing the index numbers
2226 13 Feb 14 nicklas 1436     of lanes that failed during sequencing of a flow cell. The index numbers
2226 13 Feb 14 nicklas 1437     go from 1 to the size of the flow cell (eg. 1-8).
2226 13 Feb 14 nicklas 1438     @since 2.15
2226 13 Feb 14 nicklas 1439   */
2226 13 Feb 14 nicklas 1440   public static final Annotationtype FAILED_LANES = 
2351 10 Apr 14 nicklas 1441     new Annotationtype("FailedLanes", Type.INT, false, Item.PHYSICALBIOASSAY);
2226 13 Feb 14 nicklas 1442
2226 13 Feb 14 nicklas 1443   /**
2224 12 Feb 14 nicklas 1444     The "HiSeqPosition" annotation, used for derived bioassays (SequencingRun).
2060 11 Oct 13 nicklas 1445     It is an enumerated string annotation type with two options: A and B
2060 11 Oct 13 nicklas 1446     @since 2.13
2060 11 Oct 13 nicklas 1447   */
2060 11 Oct 13 nicklas 1448   public static final Annotationtype HISEQ_POSITION = 
2351 10 Apr 14 nicklas 1449     new Annotationtype("HiSeqPosition", Type.STRING, false, Item.DERIVEDBIOASSAY);
2079 17 Oct 13 nicklas 1450   
2028 30 Sep 13 nicklas 1451   /**
2049 07 Oct 13 nicklas 1452     The "SequencingStart" annotation, used for derived bioassays (SequencingRun).
2049 07 Oct 13 nicklas 1453     @since 2.13
2049 07 Oct 13 nicklas 1454   */
2049 07 Oct 13 nicklas 1455   public static final Annotationtype SEQUENCING_START =
2351 10 Apr 14 nicklas 1456     new Annotationtype("SequencingStart", Type.DATE, false, Item.DERIVEDBIOASSAY);
2049 07 Oct 13 nicklas 1457
2049 07 Oct 13 nicklas 1458   /**
2196 13 Jan 14 nicklas 1459     The "SequencingTurnAround" annotation, used for derived bioassays (SequencingRun).
2196 13 Jan 14 nicklas 1460     @since 2.14
2196 13 Jan 14 nicklas 1461   */
2196 13 Jan 14 nicklas 1462   public static final Annotationtype SEQUENCING_TURN_AROUND =
2351 10 Apr 14 nicklas 1463     new Annotationtype("SequencingTurnAround", Type.TIMESTAMP, false, Item.DERIVEDBIOASSAY);
2196 13 Jan 14 nicklas 1464
2196 13 Jan 14 nicklas 1465   
2196 13 Jan 14 nicklas 1466   /**
2196 13 Jan 14 nicklas 1467     The "SequencingEnd" annotation, used for derived bioassays (SequencingRun).
2196 13 Jan 14 nicklas 1468     @since 2.14
2196 13 Jan 14 nicklas 1469   */
2196 13 Jan 14 nicklas 1470   public static final Annotationtype SEQUENCING_END =
2351 10 Apr 14 nicklas 1471     new Annotationtype("SequencingEnd", Type.TIMESTAMP, false, Item.DERIVEDBIOASSAY);
2196 13 Jan 14 nicklas 1472
2196 13 Jan 14 nicklas 1473   /**
7099 06 Apr 23 nicklas 1474     The "SequencingRunNumber" annotation, used for derived bioassays (SequencingRun)
7099 06 Apr 23 nicklas 1475     and also FASTQ files.
2224 12 Feb 14 nicklas 1476     @since 2.15
2224 12 Feb 14 nicklas 1477   */
2224 12 Feb 14 nicklas 1478   public static final Annotationtype SEQUENCING_RUN_NUMBER =
7099 06 Apr 23 nicklas 1479     new Annotationtype("SequencingRunNumber", Type.INT, false, Item.DERIVEDBIOASSAY, Item.FILE);
2224 12 Feb 14 nicklas 1480
2224 12 Feb 14 nicklas 1481   /**
2049 07 Oct 13 nicklas 1482     The "SequencingOperator" annotation, used for derived bioassays (SequencingRun).
2049 07 Oct 13 nicklas 1483     @since 2.13
2049 07 Oct 13 nicklas 1484   */
2049 07 Oct 13 nicklas 1485   public static final Annotationtype SEQUENCING_OPERATOR =
2351 10 Apr 14 nicklas 1486     new Annotationtype("SequencingOperator", Type.STRING, false, Item.DERIVEDBIOASSAY);
2049 07 Oct 13 nicklas 1487
2224 12 Feb 14 nicklas 1488   /**
2224 12 Feb 14 nicklas 1489     The "DataFilesFolder" annotation, used for derived bioassays that
2224 12 Feb 14 nicklas 1490     are linked with data files on the server.
2224 12 Feb 14 nicklas 1491     @since 2.15
2224 12 Feb 14 nicklas 1492   */
2224 12 Feb 14 nicklas 1493   public static final Annotationtype DATA_FILES_FOLDER =
2721 01 Oct 14 nicklas 1494     new Annotationtype("DataFilesFolder", Type.STRING, false, Item.DERIVEDBIOASSAY, Item.RAWBIOASSAY);
2224 12 Feb 14 nicklas 1495
2049 07 Oct 13 nicklas 1496   /**
6215 16 Apr 21 nicklas 1497     The "RawFASTQ" annotation, used for (demuxed) derived bioassays that
6209 13 Apr 21 nicklas 1498     use external FASTQ files for import. This annotation should typically
6209 13 Apr 21 nicklas 1499     have 2 values (one for R1 and one for R2).
6209 13 Apr 21 nicklas 1500     @since 4.32
6209 13 Apr 21 nicklas 1501   */
6209 13 Apr 21 nicklas 1502   public static final Annotationtype RAW_FASTQ =
6209 13 Apr 21 nicklas 1503     new Annotationtype("RawFASTQ", Type.STRING, false, Item.DERIVEDBIOASSAY);
6209 13 Apr 21 nicklas 1504   
6209 13 Apr 21 nicklas 1505   /**
2225 13 Feb 14 nicklas 1506     The "SequencingResult" annotation, used for derived bioassays (SequencingRun).
2225 13 Feb 14 nicklas 1507     A value of "Successful" typically means that the process can continue with
2225 13 Feb 14 nicklas 1508     next step (demux and merge). A value of "Failed" indicates a complete
2225 13 Feb 14 nicklas 1509     failure that require a new flow cell to be clustered. The pooled
2225 13 Feb 14 nicklas 1510     libraries on the current flow cell are flagged with "SequencingFailed".
3635 30 Nov 15 nicklas 1511     A value of "FirstBaseReportFailed" (user for HiSeq only) indicates that the 
3635 30 Nov 15 nicklas 1512     first sequencing attempt
2225 13 Feb 14 nicklas 1513     failed but that it is possible to re-start with the same flow cell. The
2225 13 Feb 14 nicklas 1514     annotation is also copied to the flow cell.
2225 13 Feb 14 nicklas 1515     @since 2.15
2225 13 Feb 14 nicklas 1516   */
2225 13 Feb 14 nicklas 1517   public static final Annotationtype SEQUENCING_RESULT =
2351 10 Apr 14 nicklas 1518     new Annotationtype("SequencingResult", Type.STRING, false, Item.PHYSICALBIOASSAY, Item.DERIVEDBIOASSAY);
2225 13 Feb 14 nicklas 1519
2225 13 Feb 14 nicklas 1520   /**
2228 14 Feb 14 nicklas 1521     The "SequencingConfirmed" annotation, used for derived bioassays (SequencingRun).
2228 14 Feb 14 nicklas 1522     Store a flag indicating that the sequencing result has been confirmed by a
3571 30 Oct 15 nicklas 1523     user with {@link ReggieRole#SECONDARY_ANALYSIS} role.
2228 14 Feb 14 nicklas 1524     @since 2.15
2228 14 Feb 14 nicklas 1525   */
2228 14 Feb 14 nicklas 1526   public static final Annotationtype SEQUENCING_CONFIRMED =
2351 10 Apr 14 nicklas 1527     new Annotationtype("SequencingConfirmed", Type.BOOLEAN, false, Item.DERIVEDBIOASSAY);
2228 14 Feb 14 nicklas 1528
2228 14 Feb 14 nicklas 1529   /**
2320 04 Apr 14 nicklas 1530     The "ReadString" annotation, used for derived bioassays (DemuxedSequences).
2320 04 Apr 14 nicklas 1531     @since 2.13
2320 04 Apr 14 nicklas 1532   */
2320 04 Apr 14 nicklas 1533   public static final Annotationtype READ_STRING = 
2351 10 Apr 14 nicklas 1534     new Annotationtype("ReadString", Type.STRING, false, Item.DERIVEDBIOASSAY);
2320 04 Apr 14 nicklas 1535
2320 04 Apr 14 nicklas 1536   /**
2320 04 Apr 14 nicklas 1537     The "OmitLanes" annotation, used for derived bioassays (DemuxedSequences).
2320 04 Apr 14 nicklas 1538     It is a multi-valued annotation type representing the index numbers
2320 04 Apr 14 nicklas 1539     of lanes that was omitted during demulitplexing of the sequenced data.
2320 04 Apr 14 nicklas 1540     The index numbers go from 1 to the size of the flow cell (eg. 1-8).
2320 04 Apr 14 nicklas 1541     @since 2.16
2320 04 Apr 14 nicklas 1542   */
2320 04 Apr 14 nicklas 1543   public static final Annotationtype OMIT_LANES = 
2351 10 Apr 14 nicklas 1544     new Annotationtype("OmitLanes", Type.INT, false, Item.DERIVEDBIOASSAY);
2320 04 Apr 14 nicklas 1545
2350 10 Apr 14 nicklas 1546   /**
5865 12 Mar 20 nicklas 1547     The "BarcodeSet" annotation, used for tags (Barcode).
5865 12 Mar 20 nicklas 1548     It is a string annotation for grouping possible barcodes
5865 12 Mar 20 nicklas 1549     that are typically used together when sequencing.
5865 12 Mar 20 nicklas 1550     @since 4.26
5865 12 Mar 20 nicklas 1551   */
5865 12 Mar 20 nicklas 1552   public static final Annotationtype BARCODE_SET = 
5865 12 Mar 20 nicklas 1553     new Annotationtype("BarcodeSet", Type.STRING, false, Item.TAG);
5865 12 Mar 20 nicklas 1554
5865 12 Mar 20 nicklas 1555   
5865 12 Mar 20 nicklas 1556   /**
5489 12 Jun 19 nicklas 1557     The "BarcodeSequence" annotation, used for tags (Barcode).
2350 10 Apr 14 nicklas 1558     It is a string annotation containing the sequence for
2350 10 Apr 14 nicklas 1559     the barcode. Typically 7 characters from ACGT.
2350 10 Apr 14 nicklas 1560     @since 2.16
2350 10 Apr 14 nicklas 1561   */
2350 10 Apr 14 nicklas 1562   public static final Annotationtype BARCODE_SEQUENCE = 
2351 10 Apr 14 nicklas 1563     new Annotationtype("BarcodeSequence", Type.STRING, false, Item.TAG);
2320 04 Apr 14 nicklas 1564   
2320 04 Apr 14 nicklas 1565   /**
5489 12 Jun 19 nicklas 1566     The "BarcodeSequence2" annotation, used for tags (Barcode).
5489 12 Jun 19 nicklas 1567     It is a string annotation containing the sequence for
5489 12 Jun 19 nicklas 1568     the a second barcode when that is used in the sequencing.
5489 12 Jun 19 nicklas 1569     Typically 7 or 8 characters from ACGT.
5489 12 Jun 19 nicklas 1570     @since 4.23
5489 12 Jun 19 nicklas 1571   */
5489 12 Jun 19 nicklas 1572   public static final Annotationtype BARCODE_SEQUENCE_2 = 
5489 12 Jun 19 nicklas 1573     new Annotationtype("BarcodeSequence2", Type.STRING, false, Item.TAG);
5489 12 Jun 19 nicklas 1574   
5489 12 Jun 19 nicklas 1575   /**
2364 15 Apr 14 nicklas 1576     The "AnalysisResult" annotation, used for derived bioassays.
2364 15 Apr 14 nicklas 1577     A value of "Successful" typically means that the process can continue with
2364 15 Apr 14 nicklas 1578     next step in the analysis pipeline. A value of "Failed" indicates a 
2364 15 Apr 14 nicklas 1579     failure that require analysis and/or sequencing to be re-done at a
2364 15 Apr 14 nicklas 1580     higher level. The current pipeline is not continued. 
2364 15 Apr 14 nicklas 1581     @since 2.16
2364 15 Apr 14 nicklas 1582   */
2364 15 Apr 14 nicklas 1583   public static final Annotationtype ANALYSIS_RESULT =
2826 16 Oct 14 nicklas 1584     new Annotationtype("AnalysisResult", Type.STRING, false, Item.DERIVEDBIOASSAY, Item.RAWBIOASSAY);
2364 15 Apr 14 nicklas 1585
2365 16 Apr 14 nicklas 1586   /**
7099 06 Apr 23 nicklas 1587     The "READS" annotation, used for derived bioassays (MergedSequences)
7099 06 Apr 23 nicklas 1588     and FASTQ files.
2365 16 Apr 14 nicklas 1589     The annotation is the number of sequences that has been assigned to
2420 13 May 14 nicklas 1590     the library before any masking or filtering.
2365 16 Apr 14 nicklas 1591     @since 2.16
2365 16 Apr 14 nicklas 1592   */
2420 13 May 14 nicklas 1593   public static final Annotationtype READS =
7099 06 Apr 23 nicklas 1594     new Annotationtype("READS", Type.LONG, false, Item.DERIVEDBIOASSAY, Item.FILE);
2365 16 Apr 14 nicklas 1595
2365 16 Apr 14 nicklas 1596   /**
2420 13 May 14 nicklas 1597     The "PF_READS" annotation, used for derived bioassays (MergedSequences).
2365 16 Apr 14 nicklas 1598     The annotation is the number of sequences that has been assigned to
2365 16 Apr 14 nicklas 1599     the library after filtering.
2365 16 Apr 14 nicklas 1600     @since 2.16
2365 16 Apr 14 nicklas 1601   */
2420 13 May 14 nicklas 1602   public static final Annotationtype PF_READS =
2420 13 May 14 nicklas 1603     new Annotationtype("PF_READS", Type.LONG, false, Item.DERIVEDBIOASSAY);
2368 17 Apr 14 nicklas 1604
2364 15 Apr 14 nicklas 1605   /**
2689 23 Sep 14 nicklas 1606     The "ADAPTER_READS" annotation, used for derived bioassays (MergedSequences).
2689 23 Sep 14 nicklas 1607     The annotation is the number of sequences that was removed due to matching 
2689 23 Sep 14 nicklas 1608     an Illumina adpter sequence.
2689 23 Sep 14 nicklas 1609     @since 2.16
2689 23 Sep 14 nicklas 1610   */
2689 23 Sep 14 nicklas 1611   public static final Annotationtype ADAPTER_READS =
2689 23 Sep 14 nicklas 1612     new Annotationtype("ADAPTER_READS", Type.LONG, false, Item.DERIVEDBIOASSAY);
2689 23 Sep 14 nicklas 1613
2689 23 Sep 14 nicklas 1614   /**
2497 05 Jun 14 nicklas 1615     The "PT_READS" annotation, used for derived bioassays (MergedSequences).
2497 05 Jun 14 nicklas 1616     The annotation is the number of sequences that remains for a library after 
2497 05 Jun 14 nicklas 1617     running trimmomatic.
2497 05 Jun 14 nicklas 1618     @since 2.16
2497 05 Jun 14 nicklas 1619   */
2497 05 Jun 14 nicklas 1620   public static final Annotationtype PT_READS =
2497 05 Jun 14 nicklas 1621     new Annotationtype("PT_READS", Type.LONG, false, Item.DERIVEDBIOASSAY);
2497 05 Jun 14 nicklas 1622
2497 05 Jun 14 nicklas 1623   /**
2680 18 Sep 14 nicklas 1624     The "FragmentSizeAvg" annotation, used for derived bioassays (MergedSequences).
2680 18 Sep 14 nicklas 1625     The annotation is the average size of fragments in the library
2680 18 Sep 14 nicklas 1626     as estimated after alignment.
2680 18 Sep 14 nicklas 1627     @since 2.16
2680 18 Sep 14 nicklas 1628   */
2680 18 Sep 14 nicklas 1629   public static final Annotationtype FRAGMENT_SIZE_AVG =
2680 18 Sep 14 nicklas 1630     new Annotationtype("FragmentSizeAvg", Type.INT, false, Item.DERIVEDBIOASSAY);
2680 18 Sep 14 nicklas 1631
2680 18 Sep 14 nicklas 1632   /**
2680 18 Sep 14 nicklas 1633     The "FragmentSizeStdev" annotation, used for derived bioassays (MergedSequences).
2680 18 Sep 14 nicklas 1634     The annotation is the standard deviation of the size of fragments in the library
2680 18 Sep 14 nicklas 1635     as estimated after alignment.
2680 18 Sep 14 nicklas 1636     @since 2.16
2680 18 Sep 14 nicklas 1637   */
2680 18 Sep 14 nicklas 1638   public static final Annotationtype FRAGMENT_SIZE_STDEV =
2680 18 Sep 14 nicklas 1639     new Annotationtype("FragmentSizeStdev", Type.INT, false, Item.DERIVEDBIOASSAY);
2680 18 Sep 14 nicklas 1640   
6421 23 Sep 21 nicklas 1641   /**
6421 23 Sep 21 nicklas 1642     The "ReadLengthAvgR1" annotation, used for derived bioassays (MergedSequences).
6421 23 Sep 21 nicklas 1643     The annotation is the average size of read length in the FASTQ file for the
6421 23 Sep 21 nicklas 1644     first read.
6421 23 Sep 21 nicklas 1645     @since 4.33
6421 23 Sep 21 nicklas 1646   */
6421 23 Sep 21 nicklas 1647   public static final Annotationtype READLENGTH_AVG_R1 =
6421 23 Sep 21 nicklas 1648     new Annotationtype("ReadLengthAvgR1", Type.INT, false, Item.DERIVEDBIOASSAY);
6421 23 Sep 21 nicklas 1649   
6421 23 Sep 21 nicklas 1650   /**
6421 23 Sep 21 nicklas 1651     The "ReadLengthAvgR2" annotation, used for derived bioassays (MergedSequences).
6421 23 Sep 21 nicklas 1652     The annotation is the average size of read length in the FASTQ file for the
6421 23 Sep 21 nicklas 1653     second read.
6421 23 Sep 21 nicklas 1654     @since 4.33
6421 23 Sep 21 nicklas 1655   */
6421 23 Sep 21 nicklas 1656   public static final Annotationtype READLENGTH_AVG_R2 =
6421 23 Sep 21 nicklas 1657     new Annotationtype("ReadLengthAvgR2", Type.INT, false, Item.DERIVEDBIOASSAY);
2680 18 Sep 14 nicklas 1658     
2680 18 Sep 14 nicklas 1659   /**
2434 19 May 14 nicklas 1660     The "PF_NNNN_PCT" annotation, used for derived bioassays (DemuxedSequences).
2434 19 May 14 nicklas 1661     The annotation is the percentage of sequences that has could not be assigned
2434 19 May 14 nicklas 1662     to any barcode when demultiplexing.
2434 19 May 14 nicklas 1663     @since 2.16
2434 19 May 14 nicklas 1664   */
2434 19 May 14 nicklas 1665   public static final Annotationtype PF_NNNN_PCT =
2434 19 May 14 nicklas 1666     new Annotationtype("PF_NNNN_PCT", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
2434 19 May 14 nicklas 1667
2434 19 May 14 nicklas 1668   /**
2434 19 May 14 nicklas 1669     The "PF_UNUSED_PCT" annotation, used for derived bioassays (DemuxedSequences).
2434 19 May 14 nicklas 1670     The annotation is the percentage of sequences that was assigned to a barcode
2434 19 May 14 nicklas 1671     that has not been used in the pool (used to detect misatakes when pooling or
2434 19 May 14 nicklas 1672     loading the sequencer).
2434 19 May 14 nicklas 1673     @since 2.16
2434 19 May 14 nicklas 1674   */
2434 19 May 14 nicklas 1675   public static final Annotationtype PF_UNUSED_PCT =
2434 19 May 14 nicklas 1676     new Annotationtype("PF_UNUSED_PCT", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
2434 19 May 14 nicklas 1677
2434 19 May 14 nicklas 1678   /**
2434 19 May 14 nicklas 1679     The "DemuxWarnings" annotation, used for derived bioassays (DemuxedSequences).
2434 19 May 14 nicklas 1680     Use to register warnings about things that seem strange during the demultiplexing.
2434 19 May 14 nicklas 1681     Eg. high percentage of unused barcodes.
2434 19 May 14 nicklas 1682     @since 2.16
2434 19 May 14 nicklas 1683   */
2434 19 May 14 nicklas 1684   public static final Annotationtype DEMUX_WARNINGS =
2434 19 May 14 nicklas 1685     new Annotationtype("DemuxWarnings", Type.STRING, false, Item.DERIVEDBIOASSAY);
2434 19 May 14 nicklas 1686
2434 19 May 14 nicklas 1687   /**
3140 24 Feb 15 nicklas 1688     The "SkippedTiles" annotation, used for derived bioassays (DemuxedSequences).
3140 24 Feb 15 nicklas 1689     Use to register information about tiles that could not be demuxed. If
3140 24 Feb 15 nicklas 1690     the number of tiles is higher than a specified limit a warning will 
3140 24 Feb 15 nicklas 1691     be added to "DemuxWarnings" as well.
3140 24 Feb 15 nicklas 1692     @since 3.2
3140 24 Feb 15 nicklas 1693   */
3140 24 Feb 15 nicklas 1694   public static final Annotationtype SKIPPED_TILES =
3140 24 Feb 15 nicklas 1695     new Annotationtype("SkippedTiles", Type.STRING, false, Item.DERIVEDBIOASSAY);
3140 24 Feb 15 nicklas 1696
3140 24 Feb 15 nicklas 1697   
3140 24 Feb 15 nicklas 1698   /**
2420 13 May 14 nicklas 1699     The "PM_READS" annotation, used for derived bioassays (MaskedSequences).
2420 13 May 14 nicklas 1700     The annotation is the number of sequences that has been assigned to
2420 13 May 14 nicklas 1701     the library after masking.
2420 13 May 14 nicklas 1702     @since 2.16
2420 13 May 14 nicklas 1703   */
2420 13 May 14 nicklas 1704   public static final Annotationtype PM_READS =
2420 13 May 14 nicklas 1705     new Annotationtype("PM_READS", Type.LONG, false, Item.DERIVEDBIOASSAY);
2420 13 May 14 nicklas 1706
2420 13 May 14 nicklas 1707   /**
2420 13 May 14 nicklas 1708     The "ALIGNED_PAIRS" annotation, used for derived bioassays (AlignedSequences).
2420 13 May 14 nicklas 1709     The annotation is the number of sequences that has been assigned to
2420 13 May 14 nicklas 1710     the library after aligning.
2420 13 May 14 nicklas 1711     @since 2.16
2420 13 May 14 nicklas 1712   */
2420 13 May 14 nicklas 1713   public static final Annotationtype ALIGNED_PAIRS =
2420 13 May 14 nicklas 1714     new Annotationtype("ALIGNED_PAIRS", Type.LONG, false, Item.DERIVEDBIOASSAY);
5843 25 Feb 20 nicklas 1715
5843 25 Feb 20 nicklas 1716   /**
5843 25 Feb 20 nicklas 1717     The "ALIGNED_BASES" annotation, used for derived bioassays (AlignedSequences).
5843 25 Feb 20 nicklas 1718     The annotation is the number of bases that has been aligned.
5843 25 Feb 20 nicklas 1719     @since 4.26
5843 25 Feb 20 nicklas 1720   */
5843 25 Feb 20 nicklas 1721   public static final Annotationtype ALIGNED_BASES =
5843 25 Feb 20 nicklas 1722     new Annotationtype("ALIGNED_BASES", Type.LONG, false, Item.DERIVEDBIOASSAY);
5843 25 Feb 20 nicklas 1723
7113 14 Apr 23 nicklas 1724   /**
7113 14 Apr 23 nicklas 1725     The "PF_BASES" annotation, used for derived bioassays (AlignedSequences).
7113 14 Apr 23 nicklas 1726     The annotation is the number of bases that passed filter.
7113 14 Apr 23 nicklas 1727     @since 4.46
7113 14 Apr 23 nicklas 1728   */
7113 14 Apr 23 nicklas 1729   public static final Annotationtype PF_BASES =
7113 14 Apr 23 nicklas 1730     new Annotationtype("PF_BASES", Type.LONG, false, Item.DERIVEDBIOASSAY);
7113 14 Apr 23 nicklas 1731
7113 14 Apr 23 nicklas 1732   /**
7113 14 Apr 23 nicklas 1733     The "PF_Q30_BASES" annotation, used for derived bioassays (AlignedSequences).
7113 14 Apr 23 nicklas 1734     The annotation is the number of bases that passed filter with Q30 or better
7113 14 Apr 23 nicklas 1735     quality.
7113 14 Apr 23 nicklas 1736     @since 4.46
7113 14 Apr 23 nicklas 1737   */
7113 14 Apr 23 nicklas 1738   public static final Annotationtype PF_Q30_BASES =
7113 14 Apr 23 nicklas 1739     new Annotationtype("PF_Q30_BASES", Type.LONG, false, Item.DERIVEDBIOASSAY);
7113 14 Apr 23 nicklas 1740
2420 13 May 14 nicklas 1741   
2420 13 May 14 nicklas 1742   /**
2706 29 Sep 14 nicklas 1743     The "READ_PAIRS_EXAMINED" annotation, used for derived bioassays (AlignedSequences).
2706 29 Sep 14 nicklas 1744     The annotation is the number of sequences that has been examined by picard MarkDuplicates.
2706 29 Sep 14 nicklas 1745     @since 2.16
2706 29 Sep 14 nicklas 1746   */
2706 29 Sep 14 nicklas 1747   public static final Annotationtype READ_PAIRS_EXAMINED =
2706 29 Sep 14 nicklas 1748     new Annotationtype("READ_PAIRS_EXAMINED", Type.LONG, false, Item.DERIVEDBIOASSAY);
2706 29 Sep 14 nicklas 1749
2706 29 Sep 14 nicklas 1750   /**
2706 29 Sep 14 nicklas 1751     The "READ_PAIR_DUPLICATES" annotation, used for derived bioassays (AlignedSequences).
2706 29 Sep 14 nicklas 1752     The annotation is the number of sequences that has been found as duplicates
2706 29 Sep 14 nicklas 1753     by picard MarkDuplicates.
2706 29 Sep 14 nicklas 1754     @since 2.16
2706 29 Sep 14 nicklas 1755   */
2706 29 Sep 14 nicklas 1756   public static final Annotationtype READ_PAIR_DUPLICATES =
2706 29 Sep 14 nicklas 1757     new Annotationtype("READ_PAIR_DUPLICATES", Type.LONG, false, Item.DERIVEDBIOASSAY);
7104 11 Apr 23 nicklas 1758   
2706 29 Sep 14 nicklas 1759   /**
7104 11 Apr 23 nicklas 1760     The "READ_PAIR_OPTICAL_DUPLICATES" annotation, used for derived bioassays (AlignedSequences).
7104 11 Apr 23 nicklas 1761     The annotation is the number of sequences that has been found as duplicates.
7104 11 Apr 23 nicklas 1762     @since 4.46
7104 11 Apr 23 nicklas 1763   */
7104 11 Apr 23 nicklas 1764   public static final Annotationtype READ_PAIR_OPTICAL_DUPLICATES =
7104 11 Apr 23 nicklas 1765     new Annotationtype("READ_PAIR_OPTICAL_DUPLICATES", Type.LONG, false, Item.DERIVEDBIOASSAY);
7104 11 Apr 23 nicklas 1766
7104 11 Apr 23 nicklas 1767   /**
7106 12 Apr 23 nicklas 1768     The "MEAN_COVERAGE" annotation, used for derived bioassays (AlignedSequences).
7106 12 Apr 23 nicklas 1769     @since 4.46
7106 12 Apr 23 nicklas 1770   */
7106 12 Apr 23 nicklas 1771   public static final Annotationtype MEAN_COVERAGE =
7106 12 Apr 23 nicklas 1772     new Annotationtype("MEAN_COVERAGE", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
7106 12 Apr 23 nicklas 1773
7106 12 Apr 23 nicklas 1774   /**
7106 12 Apr 23 nicklas 1775     The "SD_COVERAGE" annotation, used for derived bioassays (AlignedSequences).
7106 12 Apr 23 nicklas 1776     @since 4.46
7106 12 Apr 23 nicklas 1777   */
7106 12 Apr 23 nicklas 1778   public static final Annotationtype SD_COVERAGE =
7106 12 Apr 23 nicklas 1779     new Annotationtype("SD_COVERAGE", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
7106 12 Apr 23 nicklas 1780
7106 12 Apr 23 nicklas 1781   /**
2706 29 Sep 14 nicklas 1782     The "FRACTION_DUPLICATION" annotation, used for derived bioassays (AlignedSequences).
2706 29 Sep 14 nicklas 1783     The annotation is the fraction of sequences that has been found as duplicates
2706 29 Sep 14 nicklas 1784     by picard MarkDuplicates (PERCENT_DUPLICATION field).
2706 29 Sep 14 nicklas 1785     @since 2.16
2706 29 Sep 14 nicklas 1786   */
2706 29 Sep 14 nicklas 1787   public static final Annotationtype FRACTION_DUPLICATION =
2706 29 Sep 14 nicklas 1788     new Annotationtype("FRACTION_DUPLICATION", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
4620 16 Nov 17 nicklas 1789
4620 16 Nov 17 nicklas 1790   /**
7104 11 Apr 23 nicklas 1791     The "FRACTION_OPTICAL_DUPLICATION" annotation, used for derived bioassays (AlignedSequences).
7104 11 Apr 23 nicklas 1792     The annotation is the fraction of sequences that has been found as duplicates.
7104 11 Apr 23 nicklas 1793     @since 4.46
7104 11 Apr 23 nicklas 1794   */
7104 11 Apr 23 nicklas 1795   public static final Annotationtype FRACTION_OPTICAL_DUPLICATION =
7104 11 Apr 23 nicklas 1796     new Annotationtype("FRACTION_OPTICAL_DUPLICATION", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
7104 11 Apr 23 nicklas 1797   
7104 11 Apr 23 nicklas 1798   /**
4620 16 Nov 17 nicklas 1799     The "QC_GenoTypeCount" annotation, used for derived bioassays (AlignedSequences).
4620 16 Nov 17 nicklas 1800     The annotation is the number of genotypes available for QC checks.
4620 16 Nov 17 nicklas 1801     @since 4.13
4620 16 Nov 17 nicklas 1802   */
4620 16 Nov 17 nicklas 1803   public static final Annotationtype QC_GENOTYPE_COUNT =
4620 16 Nov 17 nicklas 1804     new Annotationtype("QC_GenoTypeCount", Type.INT, false, Item.DERIVEDBIOASSAY);
4620 16 Nov 17 nicklas 1805
4620 16 Nov 17 nicklas 1806   /**
4658 26 Jan 18 nicklas 1807     The "QC_GenoTypeHET_PCT" annotation, used for derived bioassays (AlignedSequences).
4658 26 Jan 18 nicklas 1808     The annotation is the percentage of genotypes found to be heterozygous.
4658 26 Jan 18 nicklas 1809     @since 4.14
4620 16 Nov 17 nicklas 1810   */
4658 26 Jan 18 nicklas 1811   public static final Annotationtype QC_GENOTYPE_HET_PCT =
4658 26 Jan 18 nicklas 1812     new Annotationtype("QC_GenoTypeHET_PCT", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
4642 28 Nov 17 nicklas 1813
4642 28 Nov 17 nicklas 1814   /**
4642 28 Nov 17 nicklas 1815     The "QC_GenoTypeStatus" annotation, used for derived bioassays (AlignedSequences).
4642 28 Nov 17 nicklas 1816     The annotation is an enum indicating if qc has been done or not or if it should
4642 28 Nov 17 nicklas 1817     be disabled.
4642 28 Nov 17 nicklas 1818     @since 4.14
4642 28 Nov 17 nicklas 1819   */
4642 28 Nov 17 nicklas 1820   public static final Annotationtype QC_GENOTYPE_STATUS =
4642 28 Nov 17 nicklas 1821     new Annotationtype("QC_GenoTypeStatus", Type.STRING, false, Item.DERIVEDBIOASSAY);
4642 28 Nov 17 nicklas 1822
4648 15 Dec 17 nicklas 1823   /**
4710 20 Mar 18 nicklas 1824     The "QC_GenoTypeVerified" annotation, used for derived bioassays (AlignedSequences).
4710 20 Mar 18 nicklas 1825     The annotation is an enum indicating if the genotypes of alignment has been verified 
4710 20 Mar 18 nicklas 1826     to match another alignment from a different sample.
4710 20 Mar 18 nicklas 1827     @since 4.16
4710 20 Mar 18 nicklas 1828   */
4710 20 Mar 18 nicklas 1829   public static final Annotationtype QC_GENOTYPE_VERIFIED =
4710 20 Mar 18 nicklas 1830     new Annotationtype("QC_GenoTypeVerified", Type.STRING, false, Item.DERIVEDBIOASSAY);
4710 20 Mar 18 nicklas 1831
4710 20 Mar 18 nicklas 1832   
4710 20 Mar 18 nicklas 1833   /**
4648 15 Dec 17 nicklas 1834     The "QC_GenoTypeComment" annotation type, used for comments about 
4648 15 Dec 17 nicklas 1835     genotype comparisons. Used on derived bioassays (AlignedSequences).
4648 15 Dec 17 nicklas 1836     @since 4.14
4648 15 Dec 17 nicklas 1837   */
4648 15 Dec 17 nicklas 1838   public static final Annotationtype QC_GENOTYPE_COMMENT = 
4648 15 Dec 17 nicklas 1839     new Annotationtype("QC_GenoTypeComment", Type.STRING, false, Item.DERIVEDBIOASSAY);
2706 29 Sep 14 nicklas 1840   
6476 05 Nov 21 nicklas 1841   
2706 29 Sep 14 nicklas 1842   /**
6476 05 Nov 21 nicklas 1843     The "CallDate" annotation type, used for derived bioassays (GenotypeCall).
6476 05 Nov 21 nicklas 1844     @since 4.34
6476 05 Nov 21 nicklas 1845   */
6476 05 Nov 21 nicklas 1846   public static final Annotationtype CALL_DATE = 
6476 05 Nov 21 nicklas 1847     new Annotationtype("CallDate", Type.TIMESTAMP, false, Item.DERIVEDBIOASSAY);
6476 05 Nov 21 nicklas 1848
6476 05 Nov 21 nicklas 1849   /**
6476 05 Nov 21 nicklas 1850     The "NumCalls" annotation type, used for derived bioassays (GenotypeCall).
6476 05 Nov 21 nicklas 1851     @since 4.34
6476 05 Nov 21 nicklas 1852   */
6476 05 Nov 21 nicklas 1853   public static final Annotationtype NUM_CALLS = 
6476 05 Nov 21 nicklas 1854     new Annotationtype("NumCalls", Type.INT, false, Item.DERIVEDBIOASSAY);
6476 05 Nov 21 nicklas 1855   
6476 05 Nov 21 nicklas 1856   /**
6476 05 Nov 21 nicklas 1857     The "NumNoCalls" annotation type, used for derived bioassays (GenotypeCall).
6476 05 Nov 21 nicklas 1858     @since 4.34
6476 05 Nov 21 nicklas 1859   */
6476 05 Nov 21 nicklas 1860   public static final Annotationtype NUM_NO_CALLS = 
6476 05 Nov 21 nicklas 1861     new Annotationtype("NumNoCalls", Type.INT, false, Item.DERIVEDBIOASSAY);
6476 05 Nov 21 nicklas 1862
6476 05 Nov 21 nicklas 1863   /**
6476 05 Nov 21 nicklas 1864     The "CallRate" annotation type, used for derived bioassays (GenotypeCall).
6476 05 Nov 21 nicklas 1865     @since 4.34
6476 05 Nov 21 nicklas 1866   */
6476 05 Nov 21 nicklas 1867   public static final Annotationtype CALL_RATE = 
6476 05 Nov 21 nicklas 1868     new Annotationtype("CallRate", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
6476 05 Nov 21 nicklas 1869
6476 05 Nov 21 nicklas 1870   /**
6476 05 Nov 21 nicklas 1871     The "GC10" annotation type, used for derived bioassays (GenotypeCall).
6476 05 Nov 21 nicklas 1872     @since 4.34
6476 05 Nov 21 nicklas 1873   */
6476 05 Nov 21 nicklas 1874   public static final Annotationtype GC10 = 
6476 05 Nov 21 nicklas 1875     new Annotationtype("GC10", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
6476 05 Nov 21 nicklas 1876   
6476 05 Nov 21 nicklas 1877   /**
6476 05 Nov 21 nicklas 1878     The "GC50" annotation type, used for derived bioassays (GenotypeCall).
6476 05 Nov 21 nicklas 1879     @since 4.34
6476 05 Nov 21 nicklas 1880   */
6476 05 Nov 21 nicklas 1881   public static final Annotationtype GC50 = 
6476 05 Nov 21 nicklas 1882     new Annotationtype("GC50", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
6476 05 Nov 21 nicklas 1883
6476 05 Nov 21 nicklas 1884   /**
6476 05 Nov 21 nicklas 1885     The "LogRDev" annotation type, used for derived bioassays (GenotypeCall).
6476 05 Nov 21 nicklas 1886     @since 4.34
6476 05 Nov 21 nicklas 1887   */
6476 05 Nov 21 nicklas 1888   public static final Annotationtype LOG_R_DEV = 
6476 05 Nov 21 nicklas 1889     new Annotationtype("LogRDev", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
6476 05 Nov 21 nicklas 1890     
6557 31 Jan 22 nicklas 1891   
6476 05 Nov 21 nicklas 1892   /**
6557 31 Jan 22 nicklas 1893     The "GenotypeCount" annotation type, used for raw bioassays (GenotypeCall).
6557 31 Jan 22 nicklas 1894     @since 4.35
6557 31 Jan 22 nicklas 1895   */
6557 31 Jan 22 nicklas 1896   public static final Annotationtype GENOTYPE_COUNT = 
6557 31 Jan 22 nicklas 1897     new Annotationtype("GenotypeCount", Type.INT, false, Item.RAWBIOASSAY);
6557 31 Jan 22 nicklas 1898
6557 31 Jan 22 nicklas 1899   /**
6557 31 Jan 22 nicklas 1900     The "GenoTypeREF_PCT" annotation, used for raw bioassays (GenotypeCall).
6557 31 Jan 22 nicklas 1901     The annotation is the percentage of genotypes found to be homozygous
6557 31 Jan 22 nicklas 1902     for the reference allele.
6557 31 Jan 22 nicklas 1903     @since 4.35
6557 31 Jan 22 nicklas 1904   */
6557 31 Jan 22 nicklas 1905   public static final Annotationtype GENOTYPE_REF_PCT =
6557 31 Jan 22 nicklas 1906     new Annotationtype("GenoTypeREF_PCT", Type.FLOAT, false, Item.RAWBIOASSAY);
6557 31 Jan 22 nicklas 1907
6557 31 Jan 22 nicklas 1908   /**
6557 31 Jan 22 nicklas 1909     The "GenoTypeHET_PCT" annotation, used for raw bioassays (GenotypeCall).
6557 31 Jan 22 nicklas 1910     The annotation is the percentage of genotypes found to be heterozygous.
6557 31 Jan 22 nicklas 1911     @since 4.35
6557 31 Jan 22 nicklas 1912   */
6557 31 Jan 22 nicklas 1913   public static final Annotationtype GENOTYPE_HET_PCT =
6557 31 Jan 22 nicklas 1914     new Annotationtype("GenoTypeHET_PCT", Type.FLOAT, false, Item.RAWBIOASSAY);
6557 31 Jan 22 nicklas 1915
6557 31 Jan 22 nicklas 1916   /**
6557 31 Jan 22 nicklas 1917     The "GenoTypeALT_PCT" annotation, used for raw bioassays (GenotypeCall).
6557 31 Jan 22 nicklas 1918     The annotation is the percentage of genotypes found to be homozygous
6557 31 Jan 22 nicklas 1919     for the alternate allele.
6557 31 Jan 22 nicklas 1920     @since 4.35
6557 31 Jan 22 nicklas 1921   */
6557 31 Jan 22 nicklas 1922   public static final Annotationtype GENOTYPE_ALT_PCT =
6557 31 Jan 22 nicklas 1923     new Annotationtype("GenoTypeALT_PCT", Type.FLOAT, false, Item.RAWBIOASSAY);
6557 31 Jan 22 nicklas 1924
6557 31 Jan 22 nicklas 1925   /**
6876 18 Nov 22 nicklas 1926     The "NumProbesRaw" annotation type, used for derived bioassays (Methylation).
6876 18 Nov 22 nicklas 1927     @since 4.41
6876 18 Nov 22 nicklas 1928   */
6876 18 Nov 22 nicklas 1929   public static final Annotationtype NUM_PROBES = 
6876 18 Nov 22 nicklas 1930     new Annotationtype("NumProbesRaw", Type.INT, false, Item.DERIVEDBIOASSAY);
6876 18 Nov 22 nicklas 1931   
6876 18 Nov 22 nicklas 1932   /**
6876 18 Nov 22 nicklas 1933     The "NumProbesBadPVal" annotation type, used for derived bioassays (Methylation).
6876 18 Nov 22 nicklas 1934     @since 4.41
6876 18 Nov 22 nicklas 1935   */
6876 18 Nov 22 nicklas 1936   public static final Annotationtype NUM_PROBES_BAD_PVAL = 
6876 18 Nov 22 nicklas 1937     new Annotationtype("NumProbesBadPVal", Type.INT, false, Item.DERIVEDBIOASSAY);
6876 18 Nov 22 nicklas 1938   
6876 18 Nov 22 nicklas 1939   /**
6876 18 Nov 22 nicklas 1940     The "NumProbes_I" annotation type, used for derived bioassays (Methylation).
6876 18 Nov 22 nicklas 1941     @since 4.41
6876 18 Nov 22 nicklas 1942   */
6876 18 Nov 22 nicklas 1943   public static final Annotationtype NUM_PROBES_I = 
6876 18 Nov 22 nicklas 1944     new Annotationtype("NumProbes_I", Type.INT, false, Item.DERIVEDBIOASSAY);
6876 18 Nov 22 nicklas 1945
6876 18 Nov 22 nicklas 1946   /**
6876 18 Nov 22 nicklas 1947     The "NumProbes_II" annotation type, used for derived bioassays (Methylation).
6876 18 Nov 22 nicklas 1948     @since 4.41
6876 18 Nov 22 nicklas 1949   */
6876 18 Nov 22 nicklas 1950   public static final Annotationtype NUM_PROBES_II = 
6876 18 Nov 22 nicklas 1951     new Annotationtype("NumProbes_II", Type.INT, false, Item.DERIVEDBIOASSAY);
6876 18 Nov 22 nicklas 1952   
6876 18 Nov 22 nicklas 1953   /**
6876 18 Nov 22 nicklas 1954     The "ProbesRate" annotation type, used for derived bioassays (Methylation).
6876 18 Nov 22 nicklas 1955     @since 4.41
6876 18 Nov 22 nicklas 1956   */
6876 18 Nov 22 nicklas 1957   public static final Annotationtype PROBES_RATE = 
6876 18 Nov 22 nicklas 1958     new Annotationtype("ProbesRate", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
6876 18 Nov 22 nicklas 1959
6876 18 Nov 22 nicklas 1960   /**
6876 18 Nov 22 nicklas 1961     The "MedianMeth" annotation type, used for derived bioassays (Methylation).
6876 18 Nov 22 nicklas 1962     @since 4.41
6876 18 Nov 22 nicklas 1963   */
6876 18 Nov 22 nicklas 1964   public static final Annotationtype MEDIAN_METH = 
6876 18 Nov 22 nicklas 1965     new Annotationtype("MedianMeth", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
6876 18 Nov 22 nicklas 1966
6876 18 Nov 22 nicklas 1967   /**
6876 18 Nov 22 nicklas 1968     The "MedianUnmeth" annotation type, used for derived bioassays (Methylation).
6876 18 Nov 22 nicklas 1969     @since 4.41
6876 18 Nov 22 nicklas 1970   */
6876 18 Nov 22 nicklas 1971   public static final Annotationtype MEDIAN_UNMETH = 
6876 18 Nov 22 nicklas 1972     new Annotationtype("MedianUnmeth", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
6876 18 Nov 22 nicklas 1973
6876 18 Nov 22 nicklas 1974   /**
6876 18 Nov 22 nicklas 1975     The "PeakMeth_I" annotation type, used for derived bioassays (Methylation).
6876 18 Nov 22 nicklas 1976     @since 4.41
6876 18 Nov 22 nicklas 1977   */
6876 18 Nov 22 nicklas 1978   public static final Annotationtype PEAK_METH_I = 
6876 18 Nov 22 nicklas 1979     new Annotationtype("PeakMeth_I", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
6876 18 Nov 22 nicklas 1980
6876 18 Nov 22 nicklas 1981   /**
6876 18 Nov 22 nicklas 1982     The "PeakUnmeth_I" annotation type, used for derived bioassays (Methylation).
6876 18 Nov 22 nicklas 1983     @since 4.41
6876 18 Nov 22 nicklas 1984   */
6876 18 Nov 22 nicklas 1985   public static final Annotationtype PEAK_UNMETH_I = 
6876 18 Nov 22 nicklas 1986     new Annotationtype("PeakUnmeth_I", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
6876 18 Nov 22 nicklas 1987   
6876 18 Nov 22 nicklas 1988   /**
6876 18 Nov 22 nicklas 1989     The "PeakMeth_II" annotation type, used for derived bioassays (Methylation).
6876 18 Nov 22 nicklas 1990     @since 4.41
6876 18 Nov 22 nicklas 1991   */
6876 18 Nov 22 nicklas 1992   public static final Annotationtype PEAK_METH_II = 
6876 18 Nov 22 nicklas 1993     new Annotationtype("PeakMeth_II", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
6876 18 Nov 22 nicklas 1994   
6876 18 Nov 22 nicklas 1995   /**
6876 18 Nov 22 nicklas 1996     The "PeakUnmeth_II" annotation type, used for derived bioassays (Methylation).
6876 18 Nov 22 nicklas 1997     @since 4.41
6876 18 Nov 22 nicklas 1998   */
6876 18 Nov 22 nicklas 1999   public static final Annotationtype PEAK_UNMETH_II = 
6876 18 Nov 22 nicklas 2000     new Annotationtype("PeakUnmeth_II", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
6878 18 Nov 22 nicklas 2001
6876 18 Nov 22 nicklas 2002   /**
6878 18 Nov 22 nicklas 2003     The "PeakUnmeth_II" annotation type, used for derived bioassays (Methylation).
6878 18 Nov 22 nicklas 2004     @since 4.41
6878 18 Nov 22 nicklas 2005   */
6878 18 Nov 22 nicklas 2006   public static final Annotationtype ANALYSIS_FLAG = 
6878 18 Nov 22 nicklas 2007     new Annotationtype("AnalysisFlag", Type.STRING, false, Item.DERIVEDBIOASSAY);
6878 18 Nov 22 nicklas 2008
6878 18 Nov 22 nicklas 2009   /**
7287 15 Aug 23 nicklas 2010     The "TauManual" annotation type, used for derived bioassays (CopyNumber).
7287 15 Aug 23 nicklas 2011     @since 4.49
7287 15 Aug 23 nicklas 2012   */
7287 15 Aug 23 nicklas 2013   public static final Annotationtype TAU_MANUAL = 
7287 15 Aug 23 nicklas 2014     new Annotationtype("TauManual", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
7287 15 Aug 23 nicklas 2015   /**
7287 15 Aug 23 nicklas 2016     The "RhoManual" annotation type, used for derived bioassays (CopyNumber).
7287 15 Aug 23 nicklas 2017     @since 4.49
7287 15 Aug 23 nicklas 2018   */
7287 15 Aug 23 nicklas 2019   public static final Annotationtype RHO_MANUAL = 
7287 15 Aug 23 nicklas 2020     new Annotationtype("RhoManual", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
7287 15 Aug 23 nicklas 2021   /**
7287 15 Aug 23 nicklas 2022     The "PsiManual" annotation type, used for derived bioassays (CopyNumber).
7287 15 Aug 23 nicklas 2023     @since 4.49
7287 15 Aug 23 nicklas 2024   */
7287 15 Aug 23 nicklas 2025   public static final Annotationtype PSI_MANUAL = 
7287 15 Aug 23 nicklas 2026     new Annotationtype("PsiManual", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
7287 15 Aug 23 nicklas 2027   /**
7341 11 Sep 23 nicklas 2028     The "Penalty" annotation type, used for derived bioassays (CopyNumber).
7341 11 Sep 23 nicklas 2029     @since 4.49.1
7341 11 Sep 23 nicklas 2030   */
7341 11 Sep 23 nicklas 2031   public static final Annotationtype PENALTY = 
7341 11 Sep 23 nicklas 2032     new Annotationtype("Penalty", Type.INT, false, Item.DERIVEDBIOASSAY);
7341 11 Sep 23 nicklas 2033   /**
7341 11 Sep 23 nicklas 2034     The "MinDepth" annotation type, used for derived bioassays (CopyNumber).
7341 11 Sep 23 nicklas 2035     @since 4.49.1
7341 11 Sep 23 nicklas 2036   */
7341 11 Sep 23 nicklas 2037   public static final Annotationtype MIN_DEPTH = 
7341 11 Sep 23 nicklas 2038     new Annotationtype("MinDepth", Type.INT, false, Item.DERIVEDBIOASSAY);
7341 11 Sep 23 nicklas 2039   /**
7287 15 Aug 23 nicklas 2040     The "ImbalanceTest" annotation type, used for derived bioassays (CopyNumber).
7287 15 Aug 23 nicklas 2041     @since 4.49
7287 15 Aug 23 nicklas 2042   */
7287 15 Aug 23 nicklas 2043   public static final Annotationtype IMBALANCE_TEST = 
7287 15 Aug 23 nicklas 2044     new Annotationtype("ImbalanceTest", Type.STRING, false, Item.DERIVEDBIOASSAY);
7287 15 Aug 23 nicklas 2045   /**
7287 15 Aug 23 nicklas 2046     The "NormalContamination" annotation type, used for derived bioassays (CopyNumber).
7287 15 Aug 23 nicklas 2047     @since 4.49
7287 15 Aug 23 nicklas 2048   */
7287 15 Aug 23 nicklas 2049   public static final Annotationtype NORMAL_CONTAMINATION = 
7287 15 Aug 23 nicklas 2050     new Annotationtype("NormalContamination", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
7287 15 Aug 23 nicklas 2051   /**
7287 15 Aug 23 nicklas 2052     The "Ploidy" annotation type, used for derived bioassays (CopyNumber).
7287 15 Aug 23 nicklas 2053     @since 4.49
7287 15 Aug 23 nicklas 2054   */
7287 15 Aug 23 nicklas 2055   public static final Annotationtype PLOIDY = 
7287 15 Aug 23 nicklas 2056     new Annotationtype("Ploidy", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
7287 15 Aug 23 nicklas 2057   /**
7287 15 Aug 23 nicklas 2058     The "Purity" annotation type, used for derived bioassays (CopyNumber).
7287 15 Aug 23 nicklas 2059     @since 4.49
7287 15 Aug 23 nicklas 2060   */
7287 15 Aug 23 nicklas 2061   public static final Annotationtype PURITY = 
7287 15 Aug 23 nicklas 2062     new Annotationtype("Purity", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
7287 15 Aug 23 nicklas 2063   /**
7287 15 Aug 23 nicklas 2064     The "GoodnessOfFit" annotation type, used for derived bioassays (CopyNumber).
7287 15 Aug 23 nicklas 2065     @since 4.49
7287 15 Aug 23 nicklas 2066   */
7287 15 Aug 23 nicklas 2067   public static final Annotationtype GOODNESS_OF_FIT = 
7287 15 Aug 23 nicklas 2068     new Annotationtype("GoodnessOfFit", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
7287 15 Aug 23 nicklas 2069
7287 15 Aug 23 nicklas 2070   /**
7341 11 Sep 23 nicklas 2071     The "NonAberrant" annotation type, used for derived bioassays (CopyNumber).
7341 11 Sep 23 nicklas 2072     @since 4.49.1
7341 11 Sep 23 nicklas 2073   */
7341 11 Sep 23 nicklas 2074   public static final Annotationtype NON_ABERRANT = 
7341 11 Sep 23 nicklas 2075     new Annotationtype("NonAberrant", Type.STRING, false, Item.DERIVEDBIOASSAY);
7341 11 Sep 23 nicklas 2076
7341 11 Sep 23 nicklas 2077   /**
7405 08 Nov 23 nicklas 2078     The "NumberOfSegments" annotation type, used for derived bioassays (CopyNumber).
7405 08 Nov 23 nicklas 2079     @since 4.49.4
7405 08 Nov 23 nicklas 2080   */
7405 08 Nov 23 nicklas 2081   public static final Annotationtype NUMBER_OF_SEGMENTS = 
7405 08 Nov 23 nicklas 2082     new Annotationtype("NumberOfSegments", Type.INT, false, Item.DERIVEDBIOASSAY);
7405 08 Nov 23 nicklas 2083
7405 08 Nov 23 nicklas 2084   /**
7405 08 Nov 23 nicklas 2085     The "LOH_fraction" annotation type, used for derived bioassays (CopyNumber).
7405 08 Nov 23 nicklas 2086     @since 4.49.4
7405 08 Nov 23 nicklas 2087   */
7405 08 Nov 23 nicklas 2088   public static final Annotationtype LOH_FRACTION = 
7405 08 Nov 23 nicklas 2089     new Annotationtype("LOH_fraction", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
7405 08 Nov 23 nicklas 2090
7405 08 Nov 23 nicklas 2091   /**
7405 08 Nov 23 nicklas 2092     The "GI_score" annotation type, used for derived bioassays (CopyNumber).
7405 08 Nov 23 nicklas 2093     @since 4.49.4
7405 08 Nov 23 nicklas 2094   */
7405 08 Nov 23 nicklas 2095   public static final Annotationtype GI_SCORE = 
7405 08 Nov 23 nicklas 2096     new Annotationtype("GI_score", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
7405 08 Nov 23 nicklas 2097
7405 08 Nov 23 nicklas 2098   /**
7293 22 Aug 23 nicklas 2099     The "AscatResult" annotation type, used for derived bioassays (CopyNumber).
7293 22 Aug 23 nicklas 2100     @since 4.49
7293 22 Aug 23 nicklas 2101   */
7293 22 Aug 23 nicklas 2102   public static final Annotationtype ASCAT_RESULT = 
7293 22 Aug 23 nicklas 2103     new Annotationtype("AscatResult", Type.STRING, false, Item.DERIVEDBIOASSAY);
7293 22 Aug 23 nicklas 2104     
7293 22 Aug 23 nicklas 2105   /**
5046 22 Oct 18 nicklas 2106     The "mBAF_SNPCount" annotation, used for derived bioassays (AlignedSequences).
5046 22 Oct 18 nicklas 2107     The annotation is the number of SNPs that was available for mBAF analysis.
5046 22 Oct 18 nicklas 2108     @since 4.20
5046 22 Oct 18 nicklas 2109   */
5046 22 Oct 18 nicklas 2110   public static final Annotationtype MBAF_SNP_COUNT =
5046 22 Oct 18 nicklas 2111     new Annotationtype("mBAF_SNPCount", Type.INT, false, Item.DERIVEDBIOASSAY);
5046 22 Oct 18 nicklas 2112
5046 22 Oct 18 nicklas 2113   /**
5046 22 Oct 18 nicklas 2114     The "mBAF_SNPCountFiltered" annotation, used for derived bioassays (AlignedSequences).
5046 22 Oct 18 nicklas 2115     The annotation is the number of SNPs that was actually used for mBAF analysis
5046 22 Oct 18 nicklas 2116     after filtering away homozygous SNPs and those with too few reads.
5046 22 Oct 18 nicklas 2117     @since 4.20
5046 22 Oct 18 nicklas 2118   */
5046 22 Oct 18 nicklas 2119   public static final Annotationtype MBAF_SNP_COUNT_FILTERED =
5046 22 Oct 18 nicklas 2120     new Annotationtype("mBAF_SNPCountFiltered", Type.INT, false, Item.DERIVEDBIOASSAY);
5046 22 Oct 18 nicklas 2121
5046 22 Oct 18 nicklas 2122   /**
5046 22 Oct 18 nicklas 2123     The "mBAF_MinPValue" annotation, used for derived bioassays (AlignedSequences).
5046 22 Oct 18 nicklas 2124     The annotation is the p-value for the region with the lowest p-value.
5046 22 Oct 18 nicklas 2125     @since 4.20
5046 22 Oct 18 nicklas 2126   */
5046 22 Oct 18 nicklas 2127   public static final Annotationtype MBAF_MIN_PVALUE =
5046 22 Oct 18 nicklas 2128     new Annotationtype("mBAF_MinPValue", Type.FLOAT, false, Item.DERIVEDBIOASSAY);
5046 22 Oct 18 nicklas 2129
5046 22 Oct 18 nicklas 2130   /**
5046 22 Oct 18 nicklas 2131     The "mBAF_MinPRegion" annotation, used for derived bioassays (AlignedSequences).
5046 22 Oct 18 nicklas 2132     The annotation is the region with the lowest p-value.
5046 22 Oct 18 nicklas 2133     @since 4.20
5046 22 Oct 18 nicklas 2134   */
5046 22 Oct 18 nicklas 2135   public static final Annotationtype MBAF_MIN_PREGION =
5046 22 Oct 18 nicklas 2136     new Annotationtype("mBAF_MinPRegion", Type.STRING, false, Item.DERIVEDBIOASSAY);
5046 22 Oct 18 nicklas 2137
5050 24 Oct 18 nicklas 2138   /**
5050 24 Oct 18 nicklas 2139     The "mBAF_NumRegions" annotation, used for derived bioassays (AlignedSequences).
5050 24 Oct 18 nicklas 2140     The annotation is the number of regions with a mBAF value.
5050 24 Oct 18 nicklas 2141     @since 4.20
5050 24 Oct 18 nicklas 2142   */
5050 24 Oct 18 nicklas 2143   public static final Annotationtype MBAF_NUM_REGIONS =
5050 24 Oct 18 nicklas 2144     new Annotationtype("mBAF_NumRegions", Type.INT, false, Item.DERIVEDBIOASSAY);
5050 24 Oct 18 nicklas 2145
5050 24 Oct 18 nicklas 2146   /**
5050 24 Oct 18 nicklas 2147     The "mBAF_SignificantRegions" annotation, used for derived bioassays (AlignedSequences).
5050 24 Oct 18 nicklas 2148     The annotation is the number of regions with a mBAF value that has a significant deviation
5050 24 Oct 18 nicklas 2149     from the normal reference.
5050 24 Oct 18 nicklas 2150     @since 4.20
5050 24 Oct 18 nicklas 2151   */
5050 24 Oct 18 nicklas 2152   public static final Annotationtype MBAF_SIGNIFICANT_REGIONS =
5050 24 Oct 18 nicklas 2153     new Annotationtype("mBAF_SignificantRegions", Type.INT, false, Item.DERIVEDBIOASSAY);
5046 22 Oct 18 nicklas 2154   
5046 22 Oct 18 nicklas 2155   /**
4972 20 Sep 18 nicklas 2156     The "DoNotUse" annotation type which is a flag to indicate that
4972 20 Sep 18 nicklas 2157     a biomaterial (sample or extract) is not correct and it should
4972 20 Sep 18 nicklas 2158     not be used. The typical problems are mixups in the QiaCube or
4972 20 Sep 18 nicklas 2159     contamination in the lib-prep. The flag is also put on all child items.
4972 20 Sep 18 nicklas 2160     The value is an enumeration that indicates the topmost item type.
4972 20 Sep 18 nicklas 2161     @since 4.20
4972 20 Sep 18 nicklas 2162   */
4972 20 Sep 18 nicklas 2163   public static final Annotationtype DO_NOT_USE = 
4972 20 Sep 18 nicklas 2164     new Annotationtype("DoNotUse", Type.STRING, false, Item.SAMPLE, Item.EXTRACT, Item.DERIVEDBIOASSAY, Item.RAWBIOASSAY);
4972 20 Sep 18 nicklas 2165   
4972 20 Sep 18 nicklas 2166   /**
4972 20 Sep 18 nicklas 2167     A comment that goes with the "DoNotUse" annotations.
4972 20 Sep 18 nicklas 2168     @since 4.20
4972 20 Sep 18 nicklas 2169   */
4972 20 Sep 18 nicklas 2170   public static final Annotationtype DO_NOT_USE_COMMENT = 
4972 20 Sep 18 nicklas 2171     new Annotationtype("DoNotUseComment", Type.STRING, false, Item.SAMPLE, Item.EXTRACT, Item.DERIVEDBIOASSAY, Item.RAWBIOASSAY);
4972 20 Sep 18 nicklas 2172   
4972 20 Sep 18 nicklas 2173   /**
7099 06 Apr 23 nicklas 2174     The "SerialNumber" annotation, used for hardware items
7099 06 Apr 23 nicklas 2175     and FASTQ files.
2368 17 Apr 14 nicklas 2176     It is a string annotation containing a typically unique 
2368 17 Apr 14 nicklas 2177     value for each hardware item.
2368 17 Apr 14 nicklas 2178     @since 2.16
2368 17 Apr 14 nicklas 2179   */
2368 17 Apr 14 nicklas 2180   public static final Annotationtype SERIAL_NUMBER = 
7099 06 Apr 23 nicklas 2181     new Annotationtype("SerialNumber", Type.STRING, false, Item.HARDWARE, Item.FILE);
2368 17 Apr 14 nicklas 2182
2368 17 Apr 14 nicklas 2183   /**
6010 18 Sep 20 nicklas 2184     The "Model" annotation, used for hardware items.
6010 18 Sep 20 nicklas 2185     It is a string annotation containing the generic name of 
6010 18 Sep 20 nicklas 2186     the model of the hardware.
6010 18 Sep 20 nicklas 2187     @since 4.27.4
6010 18 Sep 20 nicklas 2188   */
6010 18 Sep 20 nicklas 2189   public static final Annotationtype HARDWARE_MODEL = 
6010 18 Sep 20 nicklas 2190     new Annotationtype("Model", Type.STRING, false, Item.HARDWARE);
6010 18 Sep 20 nicklas 2191
6010 18 Sep 20 nicklas 2192   
6010 18 Sep 20 nicklas 2193   /**
3114 05 Feb 15 nicklas 2194     The "ParameterSet" annotation, used for software items.
3114 05 Feb 15 nicklas 2195     It is a string annotation containing a named set of alternate
3114 05 Feb 15 nicklas 2196     parameter to use in the secondary analysis pipeline.
3114 05 Feb 15 nicklas 2197     @since 3.1
3114 05 Feb 15 nicklas 2198   */
3114 05 Feb 15 nicklas 2199   public static final Annotationtype PARAMETER_SET =
3114 05 Feb 15 nicklas 2200     new Annotationtype("ParameterSet", Type.STRING, false, Item.SOFTWARE);
3114 05 Feb 15 nicklas 2201   
3114 05 Feb 15 nicklas 2202   /**
3616 23 Nov 15 nicklas 2203     The "ReportTemplate" annotation, used for software items.
3616 23 Nov 15 nicklas 2204     It is a string enum annotation containing the name of the
3616 23 Nov 15 nicklas 2205     report template/software used for generating a report.
3616 23 Nov 15 nicklas 2206     @since 4.0
3616 23 Nov 15 nicklas 2207   */
3616 23 Nov 15 nicklas 2208   public static final Annotationtype REPORT_TEMPLATE =
3616 23 Nov 15 nicklas 2209     new Annotationtype("ReportTemplate", Type.STRING, false, Item.SOFTWARE);
3616 23 Nov 15 nicklas 2210
4138 29 Sep 16 nicklas 2211   /**
6213 15 Apr 21 nicklas 2212     The "DemuxType" annotation, used for software/protocol items
6213 15 Apr 21 nicklas 2213     of type Demuxing. It is a string enum annotation containing the 
6213 15 Apr 21 nicklas 2214     name of the merge software used.
6213 15 Apr 21 nicklas 2215     @since 4.32
6213 15 Apr 21 nicklas 2216   */
6213 15 Apr 21 nicklas 2217   public static final Annotationtype DEMUX_TYPE =
6213 15 Apr 21 nicklas 2218     new Annotationtype("DemuxType", Type.STRING, false, Item.SOFTWARE, Item.PROTOCOL);
6213 15 Apr 21 nicklas 2219   
6213 15 Apr 21 nicklas 2220   /**
6213 15 Apr 21 nicklas 2221     The "MergeType" annotation, used for software/protocol items
6213 15 Apr 21 nicklas 2222     of type Merging. It is a string enum annotation containing the 
6213 15 Apr 21 nicklas 2223     name of the merge software used.
6213 15 Apr 21 nicklas 2224     @since 4.32
6213 15 Apr 21 nicklas 2225   */
6213 15 Apr 21 nicklas 2226   public static final Annotationtype MERGE_TYPE =
6213 15 Apr 21 nicklas 2227     new Annotationtype("MergeType", Type.STRING, false, Item.SOFTWARE, Item.PROTOCOL);
6213 15 Apr 21 nicklas 2228   
6213 15 Apr 21 nicklas 2229   /**
4602 29 Sep 17 nicklas 2230     The "AlignmentType" annotation, used for software/protocol items
4602 29 Sep 17 nicklas 2231     of type Alignment. It is a string enum annotation containing the 
4602 29 Sep 17 nicklas 2232     name of the align software used.
4602 29 Sep 17 nicklas 2233     @since 4.12
4602 29 Sep 17 nicklas 2234   */
4602 29 Sep 17 nicklas 2235   public static final Annotationtype ALIGNMENT_TYPE =
4602 29 Sep 17 nicklas 2236     new Annotationtype("AlignmentType", Type.STRING, false, Item.SOFTWARE, Item.PROTOCOL);
4602 29 Sep 17 nicklas 2237   
4602 29 Sep 17 nicklas 2238   /**
5057 29 Oct 18 nicklas 2239     The "VariantCallType" annotation, used for software items
5057 29 Oct 18 nicklas 2240     of type "Variant calling". It is a string enum annotation 
5057 29 Oct 18 nicklas 2241     containing the intended usage for the variant calling.
5057 29 Oct 18 nicklas 2242     @since 4.20
5057 29 Oct 18 nicklas 2243   */
5057 29 Oct 18 nicklas 2244   public static final Annotationtype VARIANT_CALL_TYPE =
5057 29 Oct 18 nicklas 2245     new Annotationtype("VariantCallType", Type.STRING, false, Item.SOFTWARE);
5057 29 Oct 18 nicklas 2246
5057 29 Oct 18 nicklas 2247   /**
4662 29 Jan 18 nicklas 2248     The "ExpressionType" annotation, used for software/protocol items
4662 29 Jan 18 nicklas 2249     of type Feature extrations. It is a string enum annotation containing the 
4662 29 Jan 18 nicklas 2250     name of the software used.
4662 29 Jan 18 nicklas 2251     @since 4.15
4662 29 Jan 18 nicklas 2252   */
4662 29 Jan 18 nicklas 2253   public static final Annotationtype EXPRESSION_TYPE =
4662 29 Jan 18 nicklas 2254     new Annotationtype("ExpressionType", Type.STRING, false, Item.SOFTWARE, Item.PROTOCOL);
4662 29 Jan 18 nicklas 2255   
4662 29 Jan 18 nicklas 2256   /**
4138 29 Sep 16 nicklas 2257     Annotation for marking a sample outtake as completed in the
4138 29 Sep 16 nicklas 2258     lab. Eg. tubes and boxes has been prepared and are ready
4138 29 Sep 16 nicklas 2259     for delivery.
4138 29 Sep 16 nicklas 2260     @since 4.8
4138 29 Sep 16 nicklas 2261   */
4138 29 Sep 16 nicklas 2262   public static final Annotationtype OUTTAKE_COMPLETED_DATE = 
4138 29 Sep 16 nicklas 2263     new Annotationtype("OuttakeCompleted", Type.DATE, false, Item.ITEMLIST);
3616 23 Nov 15 nicklas 2264   
3616 23 Nov 15 nicklas 2265   /**
4138 29 Sep 16 nicklas 2266     Annotation for marking a sample outtake as delivered
4138 29 Sep 16 nicklas 2267     to the external party.
4138 29 Sep 16 nicklas 2268     @since 4.8
4138 29 Sep 16 nicklas 2269   */
4138 29 Sep 16 nicklas 2270   public static final Annotationtype OUTTAKE_DELIVERED_DATE = 
4138 29 Sep 16 nicklas 2271     new Annotationtype("OuttakeDelivered", Type.DATE, false, Item.ITEMLIST);
4179 27 Oct 16 nicklas 2272
4138 29 Sep 16 nicklas 2273   /**
4179 27 Oct 16 nicklas 2274     The "OuttakeResult" annotation which is set after finalizing an
4179 27 Oct 16 nicklas 2275     outtake. A value of "Successful" typically means that the outtake was 
4179 27 Oct 16 nicklas 2276     successful. "Failed" indicates that the outtake could not be completed.
4179 27 Oct 16 nicklas 2277     @since 4.8
4179 27 Oct 16 nicklas 2278   */
4179 27 Oct 16 nicklas 2279   public static final Annotationtype OUTTAKE_RESULT =
4179 27 Oct 16 nicklas 2280     new Annotationtype("OuttakeResult", Type.STRING, false, Item.ITEMLIST);
4179 27 Oct 16 nicklas 2281
4179 27 Oct 16 nicklas 2282   /**
4154 06 Oct 16 nicklas 2283     Target amount that is aimed for when making an outtake of
4154 06 Oct 16 nicklas 2284     biomaterial.
4154 06 Oct 16 nicklas 2285     @since 4.8
4154 06 Oct 16 nicklas 2286   */
4154 06 Oct 16 nicklas 2287   public static final Annotationtype OUTTAKE_TARGET_AMOUNT =
4154 06 Oct 16 nicklas 2288     new Annotationtype("OuttakeTargetAmount", Type.FLOAT, false, Item.ITEMLIST);
4154 06 Oct 16 nicklas 2289
4154 06 Oct 16 nicklas 2290   /**
4154 06 Oct 16 nicklas 2291     Target amount that is aimed for when making an outtake of
4154 06 Oct 16 nicklas 2292     biomaterial.
4154 06 Oct 16 nicklas 2293     @since 4.8
4154 06 Oct 16 nicklas 2294   */
4154 06 Oct 16 nicklas 2295   public static final Annotationtype OUTTAKE_TARGET_VOLUME =
6326 14 Jun 21 nicklas 2296     new Annotationtype("OuttakeTargetVolume", Type.FLOAT, false, Item.ITEMLIST);
4154 06 Oct 16 nicklas 2297
4154 06 Oct 16 nicklas 2298   /**
6326 14 Jun 21 nicklas 2299     Subtype of the parent items for the outtake aliquots.
6326 14 Jun 21 nicklas 2300     @since 4.31.3
6326 14 Jun 21 nicklas 2301   */
6326 14 Jun 21 nicklas 2302   public static final Annotationtype OUTTAKE_PARENT_TYPE =
6326 14 Jun 21 nicklas 2303     new Annotationtype("OuttakeParentType", Type.STRING, false, Item.ITEMLIST);
6326 14 Jun 21 nicklas 2304     
6326 14 Jun 21 nicklas 2305   /**
4699 15 Mar 18 nicklas 2306     INCA2 diagnosis date annotation (provtagningsdatum). We need this to 
4699 15 Mar 18 nicklas 2307     be able to set {@link #REFERENCE_DATE} in the INCA import.
4699 15 Mar 18 nicklas 2308     @since 4.16
4699 15 Mar 18 nicklas 2309   */
4699 15 Mar 18 nicklas 2310   public static final Annotationtype INCA2_a_diag_dat = 
4699 15 Mar 18 nicklas 2311     new Annotationtype("INCA2_a_diag_dat", Type.DATE, false, Item.SAMPLE);
4699 15 Mar 18 nicklas 2312   
4699 15 Mar 18 nicklas 2313   /**
4536 21 Jun 17 nicklas 2314     Calculated subtype from pilot report. String enum.
4536 21 Jun 17 nicklas 2315     @since 4.11
4536 21 Jun 17 nicklas 2316   */
4536 21 Jun 17 nicklas 2317   public static final Annotationtype PILOT_SUBTYPE = 
4536 21 Jun 17 nicklas 2318     new Annotationtype("PILOT_Subtype", Type.STRING, false, Item.RAWBIOASSAY);
4536 21 Jun 17 nicklas 2319
4536 21 Jun 17 nicklas 2320   /**
4536 21 Jun 17 nicklas 2321     Calculated GGI value from pilot report. String enum.
4536 21 Jun 17 nicklas 2322     @since 4.11
4536 21 Jun 17 nicklas 2323   */
4536 21 Jun 17 nicklas 2324   public static final Annotationtype PILOT_GGI = 
4536 21 Jun 17 nicklas 2325     new Annotationtype("PILOT_GGI", Type.STRING, false, Item.RAWBIOASSAY);
4536 21 Jun 17 nicklas 2326
4536 21 Jun 17 nicklas 2327   /**
4536 21 Jun 17 nicklas 2328     Calculated ER value from pilot report. String enum.
4536 21 Jun 17 nicklas 2329     @since 4.11
4536 21 Jun 17 nicklas 2330   */
4536 21 Jun 17 nicklas 2331   public static final Annotationtype PILOT_ER = 
4536 21 Jun 17 nicklas 2332     new Annotationtype("PILOT_ER", Type.STRING, false, Item.RAWBIOASSAY);
4536 21 Jun 17 nicklas 2333
4536 21 Jun 17 nicklas 2334   /**
4536 21 Jun 17 nicklas 2335     Calculated PGR value from pilot report. String enum.
4536 21 Jun 17 nicklas 2336     @since 4.11
4536 21 Jun 17 nicklas 2337   */
4536 21 Jun 17 nicklas 2338   public static final Annotationtype PILOT_PGR = 
4536 21 Jun 17 nicklas 2339     new Annotationtype("PILOT_PGR", Type.STRING, false, Item.RAWBIOASSAY);
4536 21 Jun 17 nicklas 2340   
4536 21 Jun 17 nicklas 2341   /**
4536 21 Jun 17 nicklas 2342     Calculated HER2 value from pilot report. String enum.
4536 21 Jun 17 nicklas 2343     @since 4.11
4536 21 Jun 17 nicklas 2344   */
4536 21 Jun 17 nicklas 2345   public static final Annotationtype PILOT_HER2 = 
4536 21 Jun 17 nicklas 2346     new Annotationtype("PILOT_HER2", Type.STRING, false, Item.RAWBIOASSAY);
4536 21 Jun 17 nicklas 2347
4536 21 Jun 17 nicklas 2348   /**
4536 21 Jun 17 nicklas 2349     Calculated KI67 value from pilot report. String enum.
4536 21 Jun 17 nicklas 2350     @since 4.11
4536 21 Jun 17 nicklas 2351   */
4536 21 Jun 17 nicklas 2352   public static final Annotationtype PILOT_KI67 = 
4536 21 Jun 17 nicklas 2353     new Annotationtype("PILOT_KI67", Type.STRING, false, Item.RAWBIOASSAY);
4536 21 Jun 17 nicklas 2354
4536 21 Jun 17 nicklas 2355   /**
4536 21 Jun 17 nicklas 2356     Calculated Luminal A score from pilot report. Float.
4536 21 Jun 17 nicklas 2357     @since 4.11
4536 21 Jun 17 nicklas 2358   */
4536 21 Jun 17 nicklas 2359   public static final Annotationtype PILOT_SCORE_LUMA = 
4536 21 Jun 17 nicklas 2360     new Annotationtype("PILOT_SCORE_LumA", Type.FLOAT, false, Item.RAWBIOASSAY);
4536 21 Jun 17 nicklas 2361
4536 21 Jun 17 nicklas 2362   /**
4536 21 Jun 17 nicklas 2363     Calculated Luminal B score from pilot report. Float.
4536 21 Jun 17 nicklas 2364     @since 4.11
4536 21 Jun 17 nicklas 2365   */
4536 21 Jun 17 nicklas 2366   public static final Annotationtype PILOT_SCORE_LUMB = 
4536 21 Jun 17 nicklas 2367     new Annotationtype("PILOT_SCORE_LumB", Type.FLOAT, false, Item.RAWBIOASSAY);
4536 21 Jun 17 nicklas 2368
4536 21 Jun 17 nicklas 2369   /**
4536 21 Jun 17 nicklas 2370     Calculated HER2 score from pilot report. Float.
4536 21 Jun 17 nicklas 2371     @since 4.11
4536 21 Jun 17 nicklas 2372   */
4536 21 Jun 17 nicklas 2373   public static final Annotationtype PILOT_SCORE_HER2 = 
4536 21 Jun 17 nicklas 2374     new Annotationtype("PILOT_SCORE_HER2", Type.FLOAT, false, Item.RAWBIOASSAY);
4536 21 Jun 17 nicklas 2375   
4536 21 Jun 17 nicklas 2376   /**
4536 21 Jun 17 nicklas 2377     Calculated Basal score from pilot report. Float.
4536 21 Jun 17 nicklas 2378     @since 4.11
4536 21 Jun 17 nicklas 2379   */
4536 21 Jun 17 nicklas 2380   public static final Annotationtype PILOT_SCORE_BASAL = 
4536 21 Jun 17 nicklas 2381     new Annotationtype("PILOT_SCORE_Basal", Type.FLOAT, false, Item.RAWBIOASSAY);
4536 21 Jun 17 nicklas 2382
4536 21 Jun 17 nicklas 2383   /**
4536 21 Jun 17 nicklas 2384     Calculated Normal score from pilot report. Float.
4536 21 Jun 17 nicklas 2385     @since 4.11
4536 21 Jun 17 nicklas 2386   */
4536 21 Jun 17 nicklas 2387   public static final Annotationtype PILOT_SCORE_NORMAL = 
4536 21 Jun 17 nicklas 2388     new Annotationtype("PILOT_SCORE_Normal", Type.FLOAT, false, Item.RAWBIOASSAY);
4536 21 Jun 17 nicklas 2389
4536 21 Jun 17 nicklas 2390   /**
5721 13 Nov 19 nicklas 2391     Number of callable bases. Integer. Belongs to the alignment.
7397 06 Nov 23 nicklas 2392     @since 4.24, In 4.50 changed from INT to LONG
5706 07 Nov 19 nicklas 2393   */
5706 07 Nov 19 nicklas 2394   public static final Annotationtype CALLABLE_BASES = 
7410 10 Nov 23 nicklas 2395     new Annotationtype("CallableBases", Type.LONG, false, Item.DERIVEDBIOASSAY, Item.RAWBIOASSAY);
7390 02 Nov 23 nicklas 2396
7390 02 Nov 23 nicklas 2397   /**
7439 16 Nov 23 nicklas 2398     The panel-of-normal used in WGS paired variant calling.
7439 16 Nov 23 nicklas 2399     It is an enum with string values.
7439 16 Nov 23 nicklas 2400     @since 4.50
7439 16 Nov 23 nicklas 2401   */
7439 16 Nov 23 nicklas 2402   public static final Annotationtype PANEL_OF_NORMALS = 
7440 16 Nov 23 nicklas 2403     new Annotationtype("PanelOfNormals", Type.STRING, false, Item.DERIVEDBIOASSAY, Item.RAWBIOASSAY);
7439 16 Nov 23 nicklas 2404   
7439 16 Nov 23 nicklas 2405   /**
5721 13 Nov 19 nicklas 2406     Number of raw variants found. Integer. Belongs to the alignment.
5706 07 Nov 19 nicklas 2407     @since 4.24
5706 07 Nov 19 nicklas 2408   */
5721 13 Nov 19 nicklas 2409   public static final Annotationtype VARIANTS_RAW = 
7410 10 Nov 23 nicklas 2410     new Annotationtype("VariantsRaw", Type.INT, false, Item.DERIVEDBIOASSAY, Item.RAWBIOASSAY);
5706 07 Nov 19 nicklas 2411
5706 07 Nov 19 nicklas 2412   /**
5721 13 Nov 19 nicklas 2413     Number of variants passed filter. Integer. Belongs to the child raw bioassay.
5706 07 Nov 19 nicklas 2414     @since 4.24
5706 07 Nov 19 nicklas 2415   */
5706 07 Nov 19 nicklas 2416   public static final Annotationtype VARIANTS_PASSED_FILTER = 
5706 07 Nov 19 nicklas 2417     new Annotationtype("VariantsPassedFilter", Type.INT, false, Item.RAWBIOASSAY);
5706 07 Nov 19 nicklas 2418
6197 06 Apr 21 nicklas 2419   /**
6197 06 Apr 21 nicklas 2420     The "ExternalRef" annotation is used to store an ID reference on
6197 06 Apr 21 nicklas 2421     items that have been handled externally.
6197 06 Apr 21 nicklas 2422     @since 4.32
6197 06 Apr 21 nicklas 2423   */
6197 06 Apr 21 nicklas 2424   public static final Annotationtype EXTERNAL_REF =
6203 09 Apr 21 nicklas 2425     new Annotationtype("ExternalRef", Type.STRING, false, Item.SAMPLE, Item.EXTRACT, 
7174 17 May 23 nicklas 2426       Item.BIOPLATE, Item.SOFTWARE, Item.PROTOCOL, Item.ITEMLIST);
6387 15 Sep 21 nicklas 2427
6387 15 Sep 21 nicklas 2428   /**
6910 30 Nov 22 nicklas 2429     The "ImportWarnings" annotation is used to store warnings when importing
6910 30 Nov 22 nicklas 2430     data for externally processed samples.
6910 30 Nov 22 nicklas 2431     @since 4.41
6910 30 Nov 22 nicklas 2432    */
6910 30 Nov 22 nicklas 2433   public static final Annotationtype IMPORT_WARNINGS =
6926 02 Dec 22 nicklas 2434     new Annotationtype("ImportWarnings", Type.STRING, true, Item.SAMPLE, Item.EXTRACT);
7168 12 May 23 nicklas 2435
7168 12 May 23 nicklas 2436   /**
7168 12 May 23 nicklas 2437     The "TransportMessages" annotation is used to store messages about
7168 12 May 23 nicklas 2438     the transfer of biomaterial from transport boxes to new storage locations.
7168 12 May 23 nicklas 2439     Messages are linked to the item list and typically have information about
7168 12 May 23 nicklas 2440     biomaterial that should not be transfered (eg. due to missing consent).
7168 12 May 23 nicklas 2441     @since 4.47
7168 12 May 23 nicklas 2442   */
7168 12 May 23 nicklas 2443   public static final Annotationtype TRANSPORT_MESSAGES =
7168 12 May 23 nicklas 2444     new Annotationtype("TransportMessages", Type.STRING, true, Item.ITEMLIST);
7168 12 May 23 nicklas 2445
7186 22 May 23 nicklas 2446   /**
7186 22 May 23 nicklas 2447     The "MoveDate" annotation type, used for item lists that are representing
7186 22 May 23 nicklas 2448     transport boxes.
7186 22 May 23 nicklas 2449     @since 4.47
7186 22 May 23 nicklas 2450   */
7186 22 May 23 nicklas 2451   public static final Annotationtype MOVE_DATE = 
7186 22 May 23 nicklas 2452     new Annotationtype("MoveDate", Type.DATE, false, Item.ITEMLIST);
6910 30 Nov 22 nicklas 2453   
6910 30 Nov 22 nicklas 2454   /**
7186 22 May 23 nicklas 2455     The "MoveOperator" annotation type, used for item lists that are representing
7186 22 May 23 nicklas 2456     transport boxes.
7186 22 May 23 nicklas 2457     @since 4.47
7186 22 May 23 nicklas 2458   */
7186 22 May 23 nicklas 2459   public static final Annotationtype MOVE_OPERATOR = 
7186 22 May 23 nicklas 2460     new Annotationtype("MoveOperator", Type.STRING, false, Item.ITEMLIST);
7186 22 May 23 nicklas 2461
7186 22 May 23 nicklas 2462   /**
6387 15 Sep 21 nicklas 2463     The "TargetedGenotype" annotation is used VCF files that
6387 15 Sep 21 nicklas 2464     are the result of targeted genotyping.
6389 15 Sep 21 nicklas 2465     @since 4.32
6387 15 Sep 21 nicklas 2466   */
6387 15 Sep 21 nicklas 2467   public static final Annotationtype TARGETED_GENOTYPE =
6387 15 Sep 21 nicklas 2468     new Annotationtype("TargetedGenotype", Type.STRING, false, Item.FILE);
6387 15 Sep 21 nicklas 2469
5706 07 Nov 19 nicklas 2470   /**
6388 15 Sep 21 nicklas 2471     The "NumTargetedGenotypes" annotation is used VCF files that
6388 15 Sep 21 nicklas 2472     are the result of targeted genotyping.
6389 15 Sep 21 nicklas 2473     @since 4.32
6388 15 Sep 21 nicklas 2474   */
6388 15 Sep 21 nicklas 2475   public static final Annotationtype NUM_TARGETED_GENOTYPES =
6388 15 Sep 21 nicklas 2476     new Annotationtype("NumTargetedGenotypes", Type.INT, false, Item.FILE);
6388 15 Sep 21 nicklas 2477
6388 15 Sep 21 nicklas 2478   /**
6388 15 Sep 21 nicklas 2479     The "NumTargetedVariants" annotation is used VCF files that
6388 15 Sep 21 nicklas 2480     are the result of targeted genotyping.
6389 15 Sep 21 nicklas 2481     @since 4.32
6388 15 Sep 21 nicklas 2482   */
6388 15 Sep 21 nicklas 2483   public static final Annotationtype NUM_TARGETED_VARIANTS =
6388 15 Sep 21 nicklas 2484     new Annotationtype("NumTargetedVariants", Type.INT, false, Item.FILE);
6388 15 Sep 21 nicklas 2485
6388 15 Sep 21 nicklas 2486   /**
6864 04 Nov 22 nicklas 2487     The "ZipPassword" annotation is used on files with Referral ID
6864 04 Nov 22 nicklas 2488     that have been downloaded as encrypted ZIP files with the
6864 04 Nov 22 nicklas 2489     "Remember password" option enabled.
6864 04 Nov 22 nicklas 2490     @since 4.40.1
6864 04 Nov 22 nicklas 2491   */
6864 04 Nov 22 nicklas 2492   public static final Annotationtype ZIP_PASSWORD =
6864 04 Nov 22 nicklas 2493     new Annotationtype("ZipPassword", Type.STRING, true, Item.FILE);
6864 04 Nov 22 nicklas 2494
7224 31 May 23 nicklas 2495   /**
7224 31 May 23 nicklas 2496     This annotation is used by the IMPORT_GATEWAY file server
7224 31 May 23 nicklas 2497     to store files that failed auto-import so that they
7224 31 May 23 nicklas 2498     are not checked again.
7224 31 May 23 nicklas 2499     @since 4.48
7224 31 May 23 nicklas 2500   */
7224 31 May 23 nicklas 2501   public static final Annotationtype FILES_TO_IGNORE =
7224 31 May 23 nicklas 2502     new Annotationtype("FilesToIgnore", Type.STRING, false, Item.FILESERVER);
6864 04 Nov 22 nicklas 2503   
6864 04 Nov 22 nicklas 2504   /**
5792 16 Dec 19 nicklas 2505     Number of mutation signatures.
5792 16 Dec 19 nicklas 2506   */
5792 16 Dec 19 nicklas 2507   public static final int NUM_MUTATION_SIGNATURES = 30;
5792 16 Dec 19 nicklas 2508   
5792 16 Dec 19 nicklas 2509   private static Map<Integer, Annotationtype> mutationSignatures = new HashMap<>();
5792 16 Dec 19 nicklas 2510   /**
5792 16 Dec 19 nicklas 2511     Get the "MutationSignatureNN" annotation type. The value is a score
5792 16 Dec 19 nicklas 2512     belonging to a variant call raw bioassay.
5792 16 Dec 19 nicklas 2513     @since 4.25
5792 16 Dec 19 nicklas 2514   */
5792 16 Dec 19 nicklas 2515   public static final Annotationtype mutationSignature(int index)
5792 16 Dec 19 nicklas 2516   {
5792 16 Dec 19 nicklas 2517     Annotationtype signature = mutationSignatures.get(index);
5792 16 Dec 19 nicklas 2518     if (signature == null)
5792 16 Dec 19 nicklas 2519     {
5792 16 Dec 19 nicklas 2520       if (index < 1 || index > NUM_MUTATION_SIGNATURES) 
5792 16 Dec 19 nicklas 2521       {
5792 16 Dec 19 nicklas 2522         throw new InvalidDataException("Index must be between 1 and " + NUM_MUTATION_SIGNATURES);
5792 16 Dec 19 nicklas 2523       }
5792 16 Dec 19 nicklas 2524       synchronized(mutationSignatures)
5792 16 Dec 19 nicklas 2525       {
5793 16 Dec 19 nicklas 2526         signature = new Annotationtype("MutationSignature"+(index < 10 ? "0" : "")+index, Type.FLOAT, false, Item.RAWBIOASSAY);
5792 16 Dec 19 nicklas 2527         mutationSignatures.put(index, signature);
5792 16 Dec 19 nicklas 2528       }
5792 16 Dec 19 nicklas 2529     }
5792 16 Dec 19 nicklas 2530     return signature;
5792 16 Dec 19 nicklas 2531   }
5792 16 Dec 19 nicklas 2532   
5872 23 Mar 20 nicklas 2533   
5872 23 Mar 20 nicklas 2534   private static Map<String, Annotationtype> geneVariantAnnotations = new HashMap<>();
5792 16 Dec 19 nicklas 2535   /**
5872 23 Mar 20 nicklas 2536     Get the "<GENE>_Variants" annotation type, with special case for ESR1 that
5872 23 Mar 20 nicklas 2537     is ESR1_Resistance_Variants.
5872 23 Mar 20 nicklas 2538     
5872 23 Mar 20 nicklas 2539     @since 4.26
5872 23 Mar 20 nicklas 2540   */
5872 23 Mar 20 nicklas 2541   public static final Annotationtype geneVariantAnnotation(String gene)
5872 23 Mar 20 nicklas 2542   {
5872 23 Mar 20 nicklas 2543     Annotationtype at = geneVariantAnnotations.get(gene);
5872 23 Mar 20 nicklas 2544     if (at == null)
5872 23 Mar 20 nicklas 2545     {
5872 23 Mar 20 nicklas 2546       synchronized(geneVariantAnnotations)
5872 23 Mar 20 nicklas 2547       {
5872 23 Mar 20 nicklas 2548         String suffix = "ESR1".equals(gene) ? "_ResistanceVariants" : "_Variants";
5915 22 Apr 20 nicklas 2549         at = new Annotationtype(gene + suffix, Type.TEXT, false, Item.RAWBIOASSAY);
5872 23 Mar 20 nicklas 2550         geneVariantAnnotations.put(gene, at);
5872 23 Mar 20 nicklas 2551       }
5872 23 Mar 20 nicklas 2552     }
5872 23 Mar 20 nicklas 2553     return at;
5872 23 Mar 20 nicklas 2554   }
5872 23 Mar 20 nicklas 2555
5962 03 Jun 20 nicklas 2556   /**
5962 03 Jun 20 nicklas 2557     Get the SSP result class annotation.
5962 03 Jun 20 nicklas 2558     @since 4.27.1
5962 03 Jun 20 nicklas 2559   */
5962 03 Jun 20 nicklas 2560   public static final Annotationtype sspResultAnnotation(SspModel m)
5962 03 Jun 20 nicklas 2561   {
5962 03 Jun 20 nicklas 2562     return new Annotationtype(m.getAnnotationTypeName(), Type.STRING, false, m.getDescription(), Item.RAWBIOASSAY);
5962 03 Jun 20 nicklas 2563   }
5872 23 Mar 20 nicklas 2564   
5872 23 Mar 20 nicklas 2565   /**
5962 03 Jun 20 nicklas 2566     Get the SSP score annotation.
5962 03 Jun 20 nicklas 2567     @since 4.27.1
5962 03 Jun 20 nicklas 2568   */
5962 03 Jun 20 nicklas 2569   public static final Annotationtype sspScoreAnnotation(SspModel m)
5962 03 Jun 20 nicklas 2570   {
5962 03 Jun 20 nicklas 2571     if (m.getAnnotationTypeNameScores() == null) return null;
5998 09 Sep 20 nicklas 2572     return new Annotationtype(m.getAnnotationTypeNameScores(), Type.TEXT, false, m.getDescription(), Item.RAWBIOASSAY);
5962 03 Jun 20 nicklas 2573   }
5962 03 Jun 20 nicklas 2574   
5962 03 Jun 20 nicklas 2575   /**
1610 23 Apr 12 nicklas 2576     Get the annotation type by name of the static constant defined in this class.
1610 23 Apr 12 nicklas 2577     
3571 30 Oct 15 nicklas 2578     @param cName The name of the static constant
1610 23 Apr 12 nicklas 2579     @return An annotationtype object or null if not found
1610 23 Apr 12 nicklas 2580   */
1610 23 Apr 12 nicklas 2581   public static Annotationtype getByCName(String cName)
1610 23 Apr 12 nicklas 2582   {
1610 23 Apr 12 nicklas 2583     if (cName == null) return null;
1610 23 Apr 12 nicklas 2584     Annotationtype type = null;
1610 23 Apr 12 nicklas 2585     try
1610 23 Apr 12 nicklas 2586     {
1610 23 Apr 12 nicklas 2587       Field f = Annotationtype.class.getDeclaredField(cName);
1610 23 Apr 12 nicklas 2588       type = (Annotationtype)f.get(null);
1610 23 Apr 12 nicklas 2589     }
1610 23 Apr 12 nicklas 2590     catch (NoSuchFieldException ex)
1610 23 Apr 12 nicklas 2591     {}
1610 23 Apr 12 nicklas 2592     catch (IllegalAccessException ex)
1610 23 Apr 12 nicklas 2593     {}
1610 23 Apr 12 nicklas 2594     catch (ClassCastException ex)
1610 23 Apr 12 nicklas 2595     {}
1610 23 Apr 12 nicklas 2596     return type;
1610 23 Apr 12 nicklas 2597   }
1610 23 Apr 12 nicklas 2598   
1610 23 Apr 12 nicklas 2599   private final String name;
5962 03 Jun 20 nicklas 2600   private final String description;
2351 10 Apr 14 nicklas 2601   private final boolean disableLog;
1610 23 Apr 12 nicklas 2602   private final Item[] mainType;
1610 23 Apr 12 nicklas 2603   private final Type valueType;
1610 23 Apr 12 nicklas 2604   
1610 23 Apr 12 nicklas 2605   private int id;
1676 31 May 12 nicklas 2606   private AnnotationTypeFilter snapshotFilter;
1610 23 Apr 12 nicklas 2607   private JSONObject json;
1610 23 Apr 12 nicklas 2608   
1610 23 Apr 12 nicklas 2609
1610 23 Apr 12 nicklas 2610   /**
3942 16 May 16 nicklas 2611     Get the AnnotationType as an instance of this class. Useful
3942 16 May 16 nicklas 2612     when there is need for using the helper methods for getting/setting
3942 16 May 16 nicklas 2613     annotation values.
3942 16 May 16 nicklas 2614     @since 4.5
3942 16 May 16 nicklas 2615   */
3942 16 May 16 nicklas 2616   public static Annotationtype get(AnnotationType at)
3942 16 May 16 nicklas 2617   {
3942 16 May 16 nicklas 2618     Set<Item> items = at.getEnabledItems();
3942 16 May 16 nicklas 2619     Annotationtype a = new Annotationtype(at.getName(), at.getValueType(), 
5962 03 Jun 20 nicklas 2620       at.getDisableLogOfValues(), at.getDescription(), items.toArray(new Item[items.size()]));
3942 16 May 16 nicklas 2621     a.id = at.getId();
3942 16 May 16 nicklas 2622     return a;
3942 16 May 16 nicklas 2623   }
3942 16 May 16 nicklas 2624   
3942 16 May 16 nicklas 2625   /**
1610 23 Apr 12 nicklas 2626     Create a new definition of an annotation type.
1610 23 Apr 12 nicklas 2627     
1610 23 Apr 12 nicklas 2628     @param name The name of the subtype
1610 23 Apr 12 nicklas 2629     @param valueType The date type of values that can be stored 
2351 10 Apr 14 nicklas 2630     @param disableLog TRUE if change history logging of annotation values should be disabled
1610 23 Apr 12 nicklas 2631     @param mainType The main item type(s) of the annotation type
1610 23 Apr 12 nicklas 2632   */
2351 10 Apr 14 nicklas 2633   private Annotationtype(String name, Type valueType, boolean disableLog, Item... mainType)
1610 23 Apr 12 nicklas 2634   {
1610 23 Apr 12 nicklas 2635     this.name = name;
5962 03 Jun 20 nicklas 2636     this.description = null;
1610 23 Apr 12 nicklas 2637     this.valueType = valueType;
2351 10 Apr 14 nicklas 2638     this.disableLog = disableLog;
1610 23 Apr 12 nicklas 2639     this.mainType = mainType;
1610 23 Apr 12 nicklas 2640   }
1610 23 Apr 12 nicklas 2641   
1610 23 Apr 12 nicklas 2642   /**
5962 03 Jun 20 nicklas 2643     Create a new definition of an annotation type.
5962 03 Jun 20 nicklas 2644     
5962 03 Jun 20 nicklas 2645     @param name The name of the subtype
5962 03 Jun 20 nicklas 2646     @param valueType The date type of values that can be stored 
5962 03 Jun 20 nicklas 2647     @param disableLog TRUE if change history logging of annotation values should be disabled
5962 03 Jun 20 nicklas 2648     @param mainType The main item type(s) of the annotation type
5962 03 Jun 20 nicklas 2649   */
5962 03 Jun 20 nicklas 2650   private Annotationtype(String name, Type valueType, boolean disableLog, String description, Item... mainType)
5962 03 Jun 20 nicklas 2651   {
5962 03 Jun 20 nicklas 2652     this.name = name;
5962 03 Jun 20 nicklas 2653     this.description = description;
5962 03 Jun 20 nicklas 2654     this.valueType = valueType;
5962 03 Jun 20 nicklas 2655     this.disableLog = disableLog;
5962 03 Jun 20 nicklas 2656     this.mainType = mainType;
5962 03 Jun 20 nicklas 2657   }
5962 03 Jun 20 nicklas 2658   
5962 03 Jun 20 nicklas 2659   /**
1610 23 Apr 12 nicklas 2660     Get the name of the subtype.
1610 23 Apr 12 nicklas 2661   */
1610 23 Apr 12 nicklas 2662   public String getName()
1610 23 Apr 12 nicklas 2663   {
1610 23 Apr 12 nicklas 2664     return name;
1610 23 Apr 12 nicklas 2665   }
1610 23 Apr 12 nicklas 2666   
5962 03 Jun 20 nicklas 2667   public String getDescription()
5962 03 Jun 20 nicklas 2668   {
5962 03 Jun 20 nicklas 2669     return description;
5962 03 Jun 20 nicklas 2670   }
5962 03 Jun 20 nicklas 2671   
1610 23 Apr 12 nicklas 2672   /**
1610 23 Apr 12 nicklas 2673     Get the data type of the values that can be stored.
1610 23 Apr 12 nicklas 2674   */
1610 23 Apr 12 nicklas 2675   public Type getValueType()
1610 23 Apr 12 nicklas 2676   {
1610 23 Apr 12 nicklas 2677     return valueType;
1610 23 Apr 12 nicklas 2678   }
1610 23 Apr 12 nicklas 2679   
1610 23 Apr 12 nicklas 2680   /**
2351 10 Apr 14 nicklas 2681     Should change history logging be disabled or not for annotation values.
2351 10 Apr 14 nicklas 2682     @since 2.16
2351 10 Apr 14 nicklas 2683   */
2351 10 Apr 14 nicklas 2684   public boolean getDisableChangeHistoryLog()
2351 10 Apr 14 nicklas 2685   {
2351 10 Apr 14 nicklas 2686     return disableLog;
2351 10 Apr 14 nicklas 2687   }
2351 10 Apr 14 nicklas 2688   
2351 10 Apr 14 nicklas 2689   /**
1610 23 Apr 12 nicklas 2690     Get the item type on which this annotation type can be used.
1610 23 Apr 12 nicklas 2691   */
1610 23 Apr 12 nicklas 2692   public Item[] getMainType()
1610 23 Apr 12 nicklas 2693   {
1610 23 Apr 12 nicklas 2694     return mainType;
1610 23 Apr 12 nicklas 2695   }
1610 23 Apr 12 nicklas 2696   
1610 23 Apr 12 nicklas 2697   /**
1610 23 Apr 12 nicklas 2698     Get the annotation type information as a JSON object ready to be sent as an AJAX response.
1610 23 Apr 12 nicklas 2699   */
1610 23 Apr 12 nicklas 2700   public JSONObject asJSONObject(DbControl dc)
1610 23 Apr 12 nicklas 2701   {
1610 23 Apr 12 nicklas 2702     if (json == null)
1610 23 Apr 12 nicklas 2703     {
1610 23 Apr 12 nicklas 2704       if (id==0) load(dc); // Ensure that the annotationtype has been loaded
1610 23 Apr 12 nicklas 2705       json = new JSONObject();
1610 23 Apr 12 nicklas 2706       json.put("id", id);
1610 23 Apr 12 nicklas 2707       json.put("name", getName());
1610 23 Apr 12 nicklas 2708     }
1610 23 Apr 12 nicklas 2709     return json;
1610 23 Apr 12 nicklas 2710   }
1610 23 Apr 12 nicklas 2711   
1610 23 Apr 12 nicklas 2712   /**
1610 23 Apr 12 nicklas 2713     Load the underlying annotation type. If it doesn't exists and exception is thrown.
1610 23 Apr 12 nicklas 2714     
1610 23 Apr 12 nicklas 2715     @param dc The DbControl to use for database access
1610 23 Apr 12 nicklas 2716     @return An AnnotationType object
1610 23 Apr 12 nicklas 2717   */
1610 23 Apr 12 nicklas 2718   public AnnotationType load(DbControl dc)
1610 23 Apr 12 nicklas 2719   {
1610 23 Apr 12 nicklas 2720     AnnotationType type = null;
1610 23 Apr 12 nicklas 2721     if (id == 0)
1610 23 Apr 12 nicklas 2722     {
1610 23 Apr 12 nicklas 2723       List<AnnotationType> result = list(dc);
1610 23 Apr 12 nicklas 2724       if (result.size() == 0)
1610 23 Apr 12 nicklas 2725       {
1610 23 Apr 12 nicklas 2726         throw new ItemNotFoundException("AnnotationType["+name+"]");
1610 23 Apr 12 nicklas 2727       }
1610 23 Apr 12 nicklas 2728       else if (result.size() > 1)
1610 23 Apr 12 nicklas 2729       {
1610 23 Apr 12 nicklas 2730         throw new InvalidDataException("Found > 1 AnnotationType["+name+"]");
1610 23 Apr 12 nicklas 2731       }
1610 23 Apr 12 nicklas 2732       type = result.get(0);
1610 23 Apr 12 nicklas 2733       id = type.getId();
1610 23 Apr 12 nicklas 2734     }
1610 23 Apr 12 nicklas 2735     else
1610 23 Apr 12 nicklas 2736     {
1610 23 Apr 12 nicklas 2737       type = AnnotationType.getById(dc, id);
1610 23 Apr 12 nicklas 2738     }
1610 23 Apr 12 nicklas 2739     return type;
1610 23 Apr 12 nicklas 2740   }
2350 10 Apr 14 nicklas 2741   
1610 23 Apr 12 nicklas 2742   /**
2350 10 Apr 14 nicklas 2743     Load the annotation type as a BASE item. Same as {@link #load(DbControl)} but return null
2350 10 Apr 14 nicklas 2744     if no BASE item is found instead of throwing an exception.
2350 10 Apr 14 nicklas 2745     @param dc The DbControl to use for database access
2350 10 Apr 14 nicklas 2746     @return An ItemSubtype object
2350 10 Apr 14 nicklas 2747     @since 2.16
2350 10 Apr 14 nicklas 2748   */
2350 10 Apr 14 nicklas 2749   public AnnotationType get(DbControl dc)
2350 10 Apr 14 nicklas 2750   {
2350 10 Apr 14 nicklas 2751     AnnotationType type = null;
2350 10 Apr 14 nicklas 2752     if (id == 0)
2350 10 Apr 14 nicklas 2753     {
2350 10 Apr 14 nicklas 2754       List<AnnotationType> result = list(dc);
2350 10 Apr 14 nicklas 2755       if (result.size() == 1)
2350 10 Apr 14 nicklas 2756       {
2350 10 Apr 14 nicklas 2757         type = result.get(0);
2350 10 Apr 14 nicklas 2758         id = type.getId();
2350 10 Apr 14 nicklas 2759       }
2350 10 Apr 14 nicklas 2760     }
2350 10 Apr 14 nicklas 2761     else
2350 10 Apr 14 nicklas 2762     {
2350 10 Apr 14 nicklas 2763       type = AnnotationType.getById(dc, id);
2350 10 Apr 14 nicklas 2764     }
2350 10 Apr 14 nicklas 2765     return type;
2350 10 Apr 14 nicklas 2766   }
2350 10 Apr 14 nicklas 2767
2350 10 Apr 14 nicklas 2768   /**
1640 09 May 12 nicklas 2769     List all annotation types registered in BASE with a name and main item type 
1640 09 May 12 nicklas 2770     matching this annotation type definition. Normally, only a single annotation
1640 09 May 12 nicklas 2771     type should be returned.
1610 23 Apr 12 nicklas 2772   */
1610 23 Apr 12 nicklas 2773   public List<AnnotationType> list(DbControl dc)
1610 23 Apr 12 nicklas 2774   {
1610 23 Apr 12 nicklas 2775     ItemQuery<AnnotationType> query = AnnotationType.getQuery(null);
1610 23 Apr 12 nicklas 2776     query.restrict(Restrictions.eq(Hql.property("name"), Expressions.parameter("name", name, Type.STRING)));
1640 09 May 12 nicklas 2777     
1640 09 May 12 nicklas 2778     Item[] mt = getMainType();
1640 09 May 12 nicklas 2779     Expression[] mainTypes = new Expression[mt.length];
1640 09 May 12 nicklas 2780     for (int i = 0; i < mainTypes.length; ++i)
1640 09 May 12 nicklas 2781     {
1640 09 May 12 nicklas 2782       mainTypes[i] = Expressions.integer(mt[i].getValue());
1640 09 May 12 nicklas 2783     }
2102 25 Oct 13 nicklas 2784     if (mainTypes.length > 0)
2102 25 Oct 13 nicklas 2785     {
2102 25 Oct 13 nicklas 2786       query.joinPermanent(Hql.innerJoin("itemTypes", "it"));
2102 25 Oct 13 nicklas 2787       query.restrictPermanent(Restrictions.in(Hql.alias("it"), mainTypes));
2102 25 Oct 13 nicklas 2788     }
1640 09 May 12 nicklas 2789
1610 23 Apr 12 nicklas 2790     query.include(Include.ALL);
1640 09 May 12 nicklas 2791     query.setDistinct(true);
1610 23 Apr 12 nicklas 2792     return query.list(dc);
1610 23 Apr 12 nicklas 2793   }
1610 23 Apr 12 nicklas 2794
1610 23 Apr 12 nicklas 2795   /**
3484 14 Sep 15 nicklas 2796     Check if the item already has an annotation value for this
3484 14 Sep 15 nicklas 2797     annotation type.
3484 14 Sep 15 nicklas 2798     @since 3.6
3484 14 Sep 15 nicklas 2799   */
3484 14 Sep 15 nicklas 2800   public boolean hasAnnotation(DbControl dc, Annotatable item)
3484 14 Sep 15 nicklas 2801   {
3484 14 Sep 15 nicklas 2802     if (item == null) return false;
3484 14 Sep 15 nicklas 2803     AnnotationType at = load(dc);
3484 14 Sep 15 nicklas 2804     if (!item.isAnnotated()) return false;
3484 14 Sep 15 nicklas 2805     AnnotationSet as = item.getAnnotationSet();
3571 30 Oct 15 nicklas 2806     return as.hasAnnotation(at, Annotation.Source.PRIMARY);
3484 14 Sep 15 nicklas 2807   }
3484 14 Sep 15 nicklas 2808   
3484 14 Sep 15 nicklas 2809   /**
1610 23 Apr 12 nicklas 2810     Get the annotation value (single) for this annotation type from the
1610 23 Apr 12 nicklas 2811     annotatable item.
1610 23 Apr 12 nicklas 2812     @return The value, or null if the item is not annotated
1610 23 Apr 12 nicklas 2813   */
1610 23 Apr 12 nicklas 2814   public Object getAnnotationValue(DbControl dc, Annotatable item)
1610 23 Apr 12 nicklas 2815   {
2348 10 Apr 14 nicklas 2816     if (item == null) return null;
1610 23 Apr 12 nicklas 2817     AnnotationType at = load(dc);
1610 23 Apr 12 nicklas 2818     if (!item.isAnnotated()) return null;
1610 23 Apr 12 nicklas 2819     AnnotationSet as = item.getAnnotationSet();
3571 30 Oct 15 nicklas 2820     if (!as.hasAnnotation(at, Annotation.Source.PRIMARY)) return null;
1610 23 Apr 12 nicklas 2821     return as.getAnnotation(at).getValues().get(0);
1610 23 Apr 12 nicklas 2822   }
1610 23 Apr 12 nicklas 2823
1610 23 Apr 12 nicklas 2824   /**
1676 31 May 12 nicklas 2825     Get the annotation value (single) for this annotation type from the
1676 31 May 12 nicklas 2826     annotatable item using a snapshot stored on the disk if available.
1676 31 May 12 nicklas 2827     @return The value, or null if the item is not annotated
1676 31 May 12 nicklas 2828     @since 2.7
1676 31 May 12 nicklas 2829   */
1676 31 May 12 nicklas 2830   public Object getAnnotationValue(DbControl dc, SnapshotManager manager, Annotatable item)
1676 31 May 12 nicklas 2831   {
3166 05 Mar 15 nicklas 2832     if (manager == null) return getAnnotationValue(dc, item);
1676 31 May 12 nicklas 2833     if (snapshotFilter == null)
1676 31 May 12 nicklas 2834     {
1676 31 May 12 nicklas 2835       snapshotFilter = new AnnotationTypeFilter(load(dc));
1676 31 May 12 nicklas 2836     }
1676 31 May 12 nicklas 2837     List<AnnotationSnapshot> snapshots = manager.findAnnotations(dc, item, snapshotFilter, false);
3571 30 Oct 15 nicklas 2838     return snapshots.size() > 0 ? snapshots.get(0).getThisValues().get(0) : null;
1676 31 May 12 nicklas 2839   }
1676 31 May 12 nicklas 2840   
1676 31 May 12 nicklas 2841   /**
1610 23 Apr 12 nicklas 2842      Get an array annotation value from an item. Returns an empty list if
1610 23 Apr 12 nicklas 2843      there are no annotations of the given type.
1610 23 Apr 12 nicklas 2844   */
1610 23 Apr 12 nicklas 2845   public List<?> getAnnotationValues(DbControl dc, Annotatable item)
1610 23 Apr 12 nicklas 2846   {
1610 23 Apr 12 nicklas 2847     AnnotationType at = load(dc);
1610 23 Apr 12 nicklas 2848     if (!item.isAnnotated()) return Collections.emptyList();
1610 23 Apr 12 nicklas 2849     AnnotationSet as = item.getAnnotationSet();
3571 30 Oct 15 nicklas 2850     if (!as.hasAnnotation(at, Annotation.Source.PRIMARY)) return Collections.emptyList();
1610 23 Apr 12 nicklas 2851     return as.getAnnotation(at).getValues();
1610 23 Apr 12 nicklas 2852   }
1610 23 Apr 12 nicklas 2853
1610 23 Apr 12 nicklas 2854   /**
3166 05 Mar 15 nicklas 2855     Get the annotation value (single) for this annotation type from the
3166 05 Mar 15 nicklas 2856     annotatable item using a snapshot stored on the disk if available.
3166 05 Mar 15 nicklas 2857     @return The value, or null if the item is not annotated
3166 05 Mar 15 nicklas 2858     @since 3.2
3166 05 Mar 15 nicklas 2859   */
3166 05 Mar 15 nicklas 2860   public List<?> getAnnotationValues(DbControl dc, SnapshotManager manager, Annotatable item)
3166 05 Mar 15 nicklas 2861   {
3166 05 Mar 15 nicklas 2862     if (manager == null) return getAnnotationValues(dc, item);
3166 05 Mar 15 nicklas 2863     if (snapshotFilter == null)
3166 05 Mar 15 nicklas 2864     {
3166 05 Mar 15 nicklas 2865       snapshotFilter = new AnnotationTypeFilter(load(dc));
3166 05 Mar 15 nicklas 2866     }
3166 05 Mar 15 nicklas 2867     List<AnnotationSnapshot> snapshots = manager.findAnnotations(dc, item, snapshotFilter, false);
3571 30 Oct 15 nicklas 2868     return snapshots.size() > 0 ? snapshots.get(0).getThisValues() : null;
3166 05 Mar 15 nicklas 2869   }
3166 05 Mar 15 nicklas 2870
3166 05 Mar 15 nicklas 2871   
3166 05 Mar 15 nicklas 2872   /**
1610 23 Apr 12 nicklas 2873      Set a (single) annotation value on an item. If the value is null the annotation
1610 23 Apr 12 nicklas 2874      will be removed.
4496 10 May 17 nicklas 2875      @return TRUE if the existing annotation value was changed, FALSE if not
1610 23 Apr 12 nicklas 2876   */
4496 10 May 17 nicklas 2877   public boolean setAnnotationValue(DbControl dc, Annotatable item, Object value)
1610 23 Apr 12 nicklas 2878   {
1610 23 Apr 12 nicklas 2879     AnnotationType at = load(dc);
4496 10 May 17 nicklas 2880     boolean changed = false;
1610 23 Apr 12 nicklas 2881     if (value == null)
1610 23 Apr 12 nicklas 2882     {
3571 30 Oct 15 nicklas 2883       if (item.isAnnotated() && item.getAnnotationSet().hasAnnotation(at, Annotation.Source.PRIMARY))
1610 23 Apr 12 nicklas 2884       {
1610 23 Apr 12 nicklas 2885         item.getAnnotationSet().removeAnnotation(at);
4496 10 May 17 nicklas 2886         changed = true;
1610 23 Apr 12 nicklas 2887       }
1610 23 Apr 12 nicklas 2888     }
1610 23 Apr 12 nicklas 2889     else
1610 23 Apr 12 nicklas 2890     {
1639 09 May 12 nicklas 2891       Type valueType = at.getValueType();
1639 09 May 12 nicklas 2892       if (valueType.isNumerical() && value instanceof Number)
1639 09 May 12 nicklas 2893       {
1639 09 May 12 nicklas 2894         value = valueType.convertNumber((Number)value);
1639 09 May 12 nicklas 2895       }
4496 10 May 17 nicklas 2896       changed = item.getAnnotationSet().getAnnotation(at).setValueIfDifferent(value, null);
1610 23 Apr 12 nicklas 2897     }
4496 10 May 17 nicklas 2898     return changed;
1610 23 Apr 12 nicklas 2899   }
2226 13 Feb 14 nicklas 2900   
2226 13 Feb 14 nicklas 2901   /**
6926 02 Dec 22 nicklas 2902     Add or update an annotation value on an item, but do nothing if the new value is null.
6926 02 Dec 22 nicklas 2903     @since 4.41
6926 02 Dec 22 nicklas 2904   */
6926 02 Dec 22 nicklas 2905   public boolean addOrUpdateAnnotationValue(DbControl dc, Annotatable item, Object value)
6926 02 Dec 22 nicklas 2906   {
6926 02 Dec 22 nicklas 2907     return value == null ? false : setAnnotationValue(dc, item, value);
6926 02 Dec 22 nicklas 2908   }
6926 02 Dec 22 nicklas 2909   
6926 02 Dec 22 nicklas 2910   /**
2226 13 Feb 14 nicklas 2911      Set a multi-valued annotation on an item. If the values list is null or 
2226 13 Feb 14 nicklas 2912      emtpy the annotation will be removed.
2226 13 Feb 14 nicklas 2913      @since 2.15
2226 13 Feb 14 nicklas 2914   */
2226 13 Feb 14 nicklas 2915   public void setAnnotationValues(DbControl dc, Annotatable item, List<?> values)
2226 13 Feb 14 nicklas 2916   {
2226 13 Feb 14 nicklas 2917     AnnotationType at = load(dc);
2226 13 Feb 14 nicklas 2918     if (values == null || values.isEmpty())
2226 13 Feb 14 nicklas 2919     {
3571 30 Oct 15 nicklas 2920       if (item.isAnnotated() && item.getAnnotationSet().hasAnnotation(at, Annotation.Source.PRIMARY))
2226 13 Feb 14 nicklas 2921       {
2226 13 Feb 14 nicklas 2922         item.getAnnotationSet().removeAnnotation(at);
2226 13 Feb 14 nicklas 2923       }
2226 13 Feb 14 nicklas 2924     }
2226 13 Feb 14 nicklas 2925     else
2226 13 Feb 14 nicklas 2926     {
3861 22 Apr 16 nicklas 2927       item.getAnnotationSet().getAnnotation(at).setValuesIfDifferent(values, null);
2226 13 Feb 14 nicklas 2928     }
2226 13 Feb 14 nicklas 2929   }
1610 23 Apr 12 nicklas 2930
1610 23 Apr 12 nicklas 2931   /**
1610 23 Apr 12 nicklas 2932     Append an annotation value to a multi-valued annotation type where each 
1610 23 Apr 12 nicklas 2933     value should be unique.
1610 23 Apr 12 nicklas 2934   */
1610 23 Apr 12 nicklas 2935   public void appendAnnotationValueIfUnique(DbControl dc, Annotatable item, Object value)
1610 23 Apr 12 nicklas 2936   {
1610 23 Apr 12 nicklas 2937     List<?> currentValues = getAnnotationValues(dc, item);
1610 23 Apr 12 nicklas 2938     if (!currentValues.contains(value))
1610 23 Apr 12 nicklas 2939     {
1610 23 Apr 12 nicklas 2940       AnnotationType at = load(dc);
1610 23 Apr 12 nicklas 2941       List<Object> newValues = new ArrayList<Object>(currentValues);
1610 23 Apr 12 nicklas 2942       newValues.add(value);
3861 22 Apr 16 nicklas 2943       item.getAnnotationSet().getAnnotation(at).setValuesIfDifferent(newValues, null);
1610 23 Apr 12 nicklas 2944     }
1610 23 Apr 12 nicklas 2945   }
1610 23 Apr 12 nicklas 2946
1610 23 Apr 12 nicklas 2947   /**
1610 23 Apr 12 nicklas 2948     Remove an annotation value to a multi-valued annotation type where each 
1610 23 Apr 12 nicklas 2949     value should be unique.
1610 23 Apr 12 nicklas 2950   */
1610 23 Apr 12 nicklas 2951   public void removeAnnotationValue(DbControl dc, Annotatable item, Object value)
1610 23 Apr 12 nicklas 2952   {
1610 23 Apr 12 nicklas 2953     List<?> currentValues = getAnnotationValues(dc, item);
1610 23 Apr 12 nicklas 2954     if (currentValues.contains(value))
1610 23 Apr 12 nicklas 2955     {
1610 23 Apr 12 nicklas 2956       AnnotationType at = load(dc);
1610 23 Apr 12 nicklas 2957       List<Object> newValues = new ArrayList<Object>(currentValues);
1610 23 Apr 12 nicklas 2958       newValues.remove(value);
3861 22 Apr 16 nicklas 2959       item.getAnnotationSet().getAnnotation(at).setValuesIfDifferent(newValues, null);
1610 23 Apr 12 nicklas 2960     }
1610 23 Apr 12 nicklas 2961   }
1610 23 Apr 12 nicklas 2962
1610 23 Apr 12 nicklas 2963   /**
1610 23 Apr 12 nicklas 2964     Copy annotation values between two items.
1610 23 Apr 12 nicklas 2965     
1610 23 Apr 12 nicklas 2966      @param from The item to copy from. If this item is not annotated with 
1610 23 Apr 12 nicklas 2967        the given annotation type, nothing is copied
1610 23 Apr 12 nicklas 2968     @param to The item to copy to. If this item already has been annotated with 
1610 23 Apr 12 nicklas 2969       the given annotation type, the 'force' paremter decides if the annotation is
1610 23 Apr 12 nicklas 2970       overwritten or not
1610 23 Apr 12 nicklas 2971      @param force TRUE to overwrite existing annotations, FALSE to not
1610 23 Apr 12 nicklas 2972      @return TRUE if this method copied annotations, FALSE if not
1610 23 Apr 12 nicklas 2973   */
1610 23 Apr 12 nicklas 2974   public boolean copyAnnotationValues(DbControl dc, Annotatable from, Annotatable to, boolean force)
1610 23 Apr 12 nicklas 2975   {
1610 23 Apr 12 nicklas 2976     List<?> annotations = getAnnotationValues(dc, from);
1610 23 Apr 12 nicklas 2977     if (annotations == null || annotations.size() == 0) return false;
1610 23 Apr 12 nicklas 2978     
1610 23 Apr 12 nicklas 2979     AnnotationType at = load(dc);
1610 23 Apr 12 nicklas 2980     if (!force)
1610 23 Apr 12 nicklas 2981     {
1610 23 Apr 12 nicklas 2982       // We need to check if the 'to' item already has the annotation
3571 30 Oct 15 nicklas 2983       if (to.isAnnotated() && to.getAnnotationSet().hasAnnotation(at, Annotation.Source.PRIMARY)) return false;
1610 23 Apr 12 nicklas 2984     }
1610 23 Apr 12 nicklas 2985     
1610 23 Apr 12 nicklas 2986     // Copy the values
5789 13 Dec 19 nicklas 2987     return to.getAnnotationSet().getAnnotation(at).setValuesIfDifferent(annotations, null);
1610 23 Apr 12 nicklas 2988   }
1610 23 Apr 12 nicklas 2989
3618 23 Nov 15 nicklas 2990   /**
3618 23 Nov 15 nicklas 2991     Create a filter object that matches items that has been annotated
3618 23 Nov 15 nicklas 2992     with the given value.
3618 23 Nov 15 nicklas 2993     @since 4.0
3618 23 Nov 15 nicklas 2994   */
3618 23 Nov 15 nicklas 2995   public Filter<Annotatable> createFilter(final Object value)
3618 23 Nov 15 nicklas 2996   {
5491 13 Jun 19 nicklas 2997     if (value == null) return null;
3618 23 Nov 15 nicklas 2998     return new Filter<Annotatable>() 
3618 23 Nov 15 nicklas 2999     {
3618 23 Nov 15 nicklas 3000       @Override
3618 23 Nov 15 nicklas 3001       public boolean evaluate(Annotatable item) 
3618 23 Nov 15 nicklas 3002       {
3618 23 Nov 15 nicklas 3003         return value.equals(getAnnotationValue(((BasicItem)item).getDbControl(), item));
3618 23 Nov 15 nicklas 3004       }
3618 23 Nov 15 nicklas 3005     };
3618 23 Nov 15 nicklas 3006   }
3618 23 Nov 15 nicklas 3007
1610 23 Apr 12 nicklas 3008   
1610 23 Apr 12 nicklas 3009 }