diff --git a/plasmid/source/core-plugins/petermigration/2/as/definitions.py b/plasmid/source/core-plugins/petermigration/2/as/definitions.py
new file mode 100644
index 0000000000000000000000000000000000000000..6cf0d515317babb43e8d21a5145016ef89930064
--- /dev/null
+++ b/plasmid/source/core-plugins/petermigration/2/as/definitions.py
@@ -0,0 +1,375 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.DataType as DataType
+
+#
+# Helper Methods
+#
+def getPropertyDefinitionByCode(definition, code):
+    for property in definition:
+        if property[0] == code:
+            return property
+    return None
+
+#
+# Scripts
+#
+commentsScriptName = "COMMENTS";
+adenosineScriptName = "ADENOSINE_COUNT"
+cytosineScriptName= "CYTOSINE_COUNT"
+gcScriptName= "GC"
+guanosineScriptName= "GUANOSINE_COUNT"
+lengthScriptName= "SEQUENCE_LENGTH"
+nucelotideScriptName= "ONUCLEOTIDE_COUNT"
+thymidineScriptName= "THYMIDINE_COUNT"
+tmScriptName= "TM"
+
+#
+# Storage 
+#
+numberOfStorageGroups = 65
+
+def getStorageGroupPropertyCodes():
+    propertyCodes = [];
+    for property in getStorageGroupDefinition():
+        propertyCodes.append(property[0]);
+    return propertyCodes;
+
+def getStorageGroupDefinition():
+    return [
+    ["STORAGE_NAME",         "Physical Storage",        "location",         DataType.CONTROLLEDVOCABULARY,      "FREEZER",            "Storage Name",       None, None, False],
+    ["STORAGE_ROW",          "Physical Storage",        "Storage Row",      DataType.INTEGER,                    None,                "Storage Row",        None, None, False],
+    ["STORAGE_COLUMN",       "Physical Storage",        "Storage Column",   DataType.INTEGER,                    None,                "Storage Column",     None, None, False],
+    ["STORAGE_BOX_NAME",     "Physical Storage",        "box label",        DataType.VARCHAR,                    None,                "Storage Box Name",   None, None, False],
+    ["STORAGE_BOX_SIZE",     "Physical Storage",        "box size",         DataType.CONTROLLEDVOCABULARY,      "STORAGE_BOX_SIZE",   "Storage Box size",   None, None, False],
+    ["STORAGE_USER",         "Physical Storage",        "frozen by",        DataType.CONTROLLEDVOCABULARY,      "ALL_LAB_MEMBERS",    "Storage User Id",    None, None, False],
+    ["STORAGE_BOX_POSITION", "Physical Storage",        "position",         DataType.VARCHAR,                    None,                "Storage Box Position",    None, None, False]
+];
+
+#
+# Experiment Types
+#
+experimentDefinition = [
+    ["NAME",                   "General", "Name",                     DataType.VARCHAR,             None,    "Name", None, None, False],
+    ["EXPERIMENTAL_GOALS",     "General", "Experimental goals",       DataType.MULTILINE_VARCHAR,   None,    "Goal of the experiment", None, None, False],
+    ["GRANT",                  "General", "Grant",                    DataType.VARCHAR,             None,    "grant name", None, None, False],
+    ["START_DATE",             "General", "Start Date",               DataType.TIMESTAMP,           None,    "Start Date", None, None, False],
+    ["END_DATE",               "General", "End Date",                 DataType.TIMESTAMP,           None,    "End Date", None, None, False],
+    ["EXPERIMENTAL_RESULTS",   "General", "Experimental results",     DataType.MULTILINE_VARCHAR,   None,    "Brief summary of the results obtained", None, None, False],
+    ["XMLCOMMENTS",            "Comments","Comments List",            DataType.XML,                 None,    "Several comments can be added by different users", commentsScriptName, None, False]
+];
+
+#
+# Sample Types
+#
+antibodyDefinition = [
+    ["NAME",                           "General",                "antibody ID",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_ID_NR",                 "General",                "antibody_id_nr",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIGEN",                        "General",                "antigen",                            DataType.VARCHAR,                    None,  "", None, None, False],
+    ["BARCODE",                        "General",                "barcode",                            DataType.VARCHAR,                    None,  "", None, None, False],
+    ["BARCODE_LABEL",                  "General",                "barcode label",                      DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_FACS_BLOCK",            "General",                "block facs",                         DataType.CONTROLLEDVOCABULARY,       "BLOCK",  "", None, None, False],
+    ["ANTIBODY_IF_BLOCK",              "General",                "block IFF",                          DataType.CONTROLLEDVOCABULARY,       "BLOCK",  "", None, None, False],
+    ["ANTIBODY_WB_BLOCK",              "General",                "block western",                      DataType.CONTROLLEDVOCABULARY,       "BLOCK",  "", None, None, False],
+    ["CATALOGUE_NUMBER",               "General",                "catalog id #",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CLASS",                          "General",                "class",                              DataType.CONTROLLEDVOCABULARY,       "CLASS",  "", None, None, False],
+    ["CLONE",                          "General",                "clone",                              DataType.VARCHAR,                    None,  "", None, None, False],
+    ["COMPANY",                        "General",                "company",                            DataType.CONTROLLEDVOCABULARY,       "COMPANY",  "", None, None, False],
+    ["ANTIBODY_FACS_CONC",             "General",                "conc facs",                          DataType.CONTROLLEDVOCABULARY,       "CONCENTRATION_FACS",  "", None, None, False],
+    ["ANTIBODY_IF_CONC",               "General",                "conc IFF",                           DataType.CONTROLLEDVOCABULARY,       "CONCENTRATION_FACS",  "", None, None, False],
+    ["ANTIBODY_IP_CONC",               "General",                "conc ip",                            DataType.CONTROLLEDVOCABULARY,       "CONCENTRATION_IP",  "", None, None, False],
+    ["ANTIBODY_WB_CONC",               "General",                "conc western",                       DataType.CONTROLLEDVOCABULARY,       "CONCENTRATION_WESTERN",  "", None, None, False],
+    ["ANTIBODY_CONCENTRATION",         "General",                "concentration",                      DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_CROSSREACTIVITY",       "General",                "crossreactivity",                    DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_FACS_FIX",              "General",                "fix facs",                           DataType.CONTROLLEDVOCABULARY,       "FIX",  "", None, None, False],
+    ["ANTIBODY_IF_FIX",                "General",                "fix IFF",                            DataType.CONTROLLEDVOCABULARY,       "FIX",  "", None, None, False],
+    ["ANTIBODY_WB_FIX",                "General",                "fix western",                        DataType.CONTROLLEDVOCABULARY,       "FIX",  "", None, None, False],
+    ["INVESTIGATOR",                   "General",                "investigator",                       DataType.CONTROLLEDVOCABULARY,       "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["LABEL",                          "General",                "label",                              DataType.CONTROLLEDVOCABULARY,       "LABEL",  "", None, None, False],
+    ["LOTNUMBER",                      "General",                "lotnumber",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["MODIFIED_BY",                    "General",                "modified by",                        DataType.CONTROLLEDVOCABULARY,       "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["MONO_POLYCLONAL",                "General",                "mono/polyclonal",                    DataType.CONTROLLEDVOCABULARY,       "MONO-POLYCLONAL",  "", None, None, False],
+    ["ANTIBODY_FACS_NOTES",            "General",                "notes FACS",                         DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_IF_NOTES",              "General",                "notes IFF",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_IP_NOTES",              "General",                "notes IP",                           DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_WB_NOTES",              "General",                "notes western",                      DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SERIAL_NUMBER",                  "General",                "serial number",                      DataType.INTEGER,                    None,  "", None, None, False],
+    ["ANTIGEN_SIZE",                   "General",                "size",                               DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SOURCE",                         "General",                "source",                             DataType.CONTROLLEDVOCABULARY,       "SOURCE",  "", None, None, False],
+    ["CREATION_DATE",                  "General",                "creation date",                      DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["MODIFICATION_DATE",              "General",                "modification date",                  DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["FROZEN",                         "General",                "frozen",                             DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["BOX",                            "Storage",                "box",                                DataType.VARCHAR,                    None,  "", None, None, False],
+    ["RACK",                           "Storage",                "rack",                               DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PUBLISHED_IN",                   "Reference",              "reference",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["COMMENTS",                       "Comments",               "info",                               DataType.VARCHAR,                    None,  "", None, None, False]
+];
+
+cellDefinition = [
+    ["CO2",                             "General",                "%CO2",                                DataType.CONTROLLEDVOCABULARY,       "CO2",  "", None, None, False],
+    ["ATCC_NUM",                        "General",                "ATCC No.",                            DataType.VARCHAR,                    None,  "", None, None, False],
+    ["BARCODE",                         "General",                "barcode",                             DataType.VARCHAR,                    None,  "", None, None, False],
+    ["BARCODE_LABEL",                   "General",                "barcode label",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CELL_ID_NR",                      "General",                "cell_id_nr",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CELL_ID_NR_COPY",                 "General",                "cell_id_nr Copy",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["NAME",                            "General",                "cell ID",                             DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CELL_ID_COPY",                    "General",                "cell ID Copy",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CLONE",                           "General",                "clone #",                             DataType.INTEGER,                    None,  "", None, None, False],
+    ["COMPARE_FIELD",                   "General",                "compare field",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CONC1",                           "General",                "conc.1",                              DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT1",                      "General",                "concentration unit 1",                DataType.CONTROLLEDVOCABULARY,       "CONC_UNITS",  "", None, None, False],
+    ["CONC2",                           "General",                "conc.2",                              DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT2",                      "General",                "concentration unit 2",                DataType.CONTROLLEDVOCABULARY,       "CONC_UNITS",  "", None, None, False],
+    ["CONC3",                           "General",                "conc.3",                              DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT3",                      "General",                "concentration unit 3",                DataType.CONTROLLEDVOCABULARY,       "CONC_UNITS",  "", None, None, False],
+    ["CONC4",                           "General",                "conc.4",                              DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT4",                      "General",                "concentration unit 4",                DataType.CONTROLLEDVOCABULARY,       "CONC_UNITS",  "", None, None, False],
+    ["CREATION_DATE",                   "General",                "creation date",                       DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["DATE",                            "General",                "date",                                DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["FROZEN",                          "General",                "frozen",                              DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["GROWTH_TEMPERATURE",              "General",                "growth temperature",                  DataType.CONTROLLEDVOCABULARY,       "GROWTH_TEMPERATURE",  "", None, None, False],
+    ["INVESTIGATOR",                    "General",                "investigator",                        DataType.CONTROLLEDVOCABULARY,       "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["LINE_NAME",                       "General",                "line name",                           DataType.VARCHAR,                    None,  "", None, None, False],
+    ["MEDIUM",                          "General",                "medium",                              DataType.CONTROLLEDVOCABULARY,       "MEDIUM",  "", None, None, False],
+    ["MEDIUM_SPECIALS",                 "General",                "medium specials",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["MODIFICATION_DATE",               "General",                "modification date",                   DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["MODIFIED_BY",                     "General",                "modified by",                         DataType.CONTROLLEDVOCABULARY,       "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["MYCOPLASM_TESTED",                "General",                "mycoplasm_tested",                    DataType.BOOLEAN,                    None,  "", None, None, False],
+    ["OBTAINED_FROM",                   "General",                "obtained from",                       DataType.CONTROLLEDVOCABULARY,       "CELL_OBTAINED_FROM",  "", None, None, False],
+    ["PAGE_NUMBER",                     "General",                "page number",                         DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PARENTAL_CELL",                   "General",                "parental cell",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PASSAGE",                         "General",                "passage",                             DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PERS_CELL_NUMBER",                "General",                "PersCellNumber",                      DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PLASMID_ID1",                     "General",                "plasmid ID 1",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PLASMID_ID2",                     "General",                "plasmid ID 2",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SELECTION_PLASMID1",              "General",                "sel.1",                               DataType.CONTROLLEDVOCABULARY,       "SELECTION",  "", None, None, False],
+    ["SELECTION_PLASMID2",              "General",                "sel.2",                               DataType.CONTROLLEDVOCABULARY,       "SELECTION",  "", None, None, False],
+    ["SELECTION_PLASMID3",              "General",                "sel.3",                               DataType.CONTROLLEDVOCABULARY,       "SELECTION",  "", None, None, False],    
+    ["SELECTION_PLASMID4",              "General",                "sel.4",                               DataType.CONTROLLEDVOCABULARY,       "SELECTION",  "", None, None, False],
+    ["SERIAL_NUMBER",                   "General",                "serial number",                       DataType.INTEGER,                    None,  "", None, None, False],
+    ["SPECIES",                         "General",                "species",                             DataType.CONTROLLEDVOCABULARY,       "CELL_SPECIES",  "", None, None, False],
+    ["VIRUS_ID1",                       "General",                "virus ID 1",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["VIRUS_ID2",                       "General",                "virus ID 2",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PUBLISHED_IN",                    "Reference",              "reference",                           DataType.VARCHAR,                    None,  "", None, None, False],
+    ["COMMENTS",                        "Comments",               "info",                                DataType.VARCHAR,                    None,  "", None, None, False]
+];
+
+strainDefinition = [
+    ["CO2",                             "General",                  "%CO2",                             DataType.CONTROLLEDVOCABULARY,       "CO2",  "", None, None, False],
+    ["BACKGROUND",                      "General",                  "background",                       DataType.CONTROLLEDVOCABULARY,       "STRAIN_BACKGROUND",  "", None, None, False],
+    ["BARCODE",                         "General",                  "barcode",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["BARCODE_LABEL",                   "General",                  "barcode label",                    DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CIR",                             "General",                  "cir",                              DataType.CONTROLLEDVOCABULARY,       "CIR",  "", None, None, False],
+    ["CONC_INDUCER1",                   "General",                  "conc. inducer 1",                  DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CONC_INDUCER2",                   "General",                  "conc. inducer 2",                  DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CONC_INDUCER3",                   "General",                  "conc. inducer 3",                  DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CONC1",                           "General",                  "conc.1",                           DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT1",                      "General",                  "concentration unit 1",             DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CONC2",                           "General",                  "conc.2",                           DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT2",                      "General",                  "concentration unit 2",             DataType.CONTROLLEDVOCABULARY,       "CONC_UNITS",  "", None, None, False],
+    ["CONC3",                           "General",                  "conc.3",                           DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT3",                      "General",                  "concentration unit 3",             DataType.CONTROLLEDVOCABULARY,       "CONC_UNITS",  "", None, None, False],
+    ["CREATION_DATE",                   "General",                  "creation date",                    DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["DATE",                            "General",                  "date",                             DataType.VARCHAR,                    None,  "", None, None, False],
+    ["DERIVATION",                      "General",                  "derivation",                       DataType.CONTROLLEDVOCABULARY,       "DERIVATION",  "", None, None, False],
+    ["EXPRESSED_PROTEIN1",              "General",                  "expressed protein 1",              DataType.VARCHAR,                    None,  "", None, None, False],
+    ["EXPRESSED_PROTEIN2",              "General",                  "expressed protein 2",              DataType.VARCHAR,                    None,  "", None, None, False],
+    ["EXPRESSED_PROTEIN3",              "General",                  "expressed protein 3",              DataType.VARCHAR,                    None,  "", None, None, False],
+    ["FREE_PLASMID",                    "General",                  "freeplasmid",                      DataType.VARCHAR,                    None,  "", None, None, False],
+    ["FREEZEDATE",                      "General",                  "freezedate",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["FROZEN",                          "General",                  "frozen",                           DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["GAL",                             "General",                  "gal",                              DataType.CONTROLLEDVOCABULARY,       "GAL",  "", None, None, False],
+    ["GENE_EXPRESSION1",                "General",                  "gene expression 1",                DataType.VARCHAR,                    None,  "", None, None, False],
+    ["GENE_EXPRESSION2",                "General",                  "gene expression 2",                DataType.VARCHAR,                    None,  "", None, None, False],
+    ["GROWTH_TEMPERATURE",              "General",                  "growth temperature",               DataType.CONTROLLEDVOCABULARY,       "GROWTH_TEMPERATURE",  "", None, None, False],
+    ["INDUCER1",                        "General",                  "inducer 1",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["INDUCER2",                        "General",                  "inducer 2",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["INDUCER3",                        "General",                  "inducer 3",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["COMMENTS",                        "General",                  "info",                             DataType.VARCHAR,                    None,  "", None, None, False],
+    ["INVESTIGATOR",                    "General",                  "investigator",                     DataType.CONTROLLEDVOCABULARY,       "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["MARKERS",                         "General",                  "markers",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["MAT",                             "General",                  "mat",                              DataType.CONTROLLEDVOCABULARY,       "MAT",  "", None, None, False],
+    ["MEDIUM",                          "General",                  "medium",                           DataType.CONTROLLEDVOCABULARY,       "MEDIUM",  "", None, None, False],
+    ["MEDIUM_SPECIALS",                 "General",                  "medium specials",                  DataType.VARCHAR,                    None,  "", None, None, False],
+    ["MODIFICATION_DATE",               "General",                  "modification date",                DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["MODIFIED_BY",                     "General",                  "modified by",                      DataType.CONTROLLEDVOCABULARY,       "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["NUMBER",                          "General",                  "number",                           DataType.VARCHAR,                    None,  "", None, None, False],
+    ["STRAIN_OBTAINED_FROM",            "General",                  "obtained from",                    DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ORF",                             "General",                  "orf",                              DataType.VARCHAR,                    None,  "", None, None, False],    
+    ["PAGE_NUMBER",                     "General",                  "page number",                      DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PARENTAL_CELL",                   "General",                  "parental cell",                    DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PASSAGE",                         "General",                  "passage",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PERSYEASTNUMBER",                 "General",                  "persyeastnumber",                  DataType.INTEGER,                    None,  "", None, None, False],
+    ["PETERYEASTNUMBER",                "General",                  "peteryeastnumber",                 DataType.INTEGER,                    None,  "", None, None, False],
+    ["PLASMID_ID1",                     "General",                  "plasmid ID 1",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PLASMID_ID2",                     "General",                  "plasmid ID 2",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PLASMID_ID3",                     "General",                  "plasmid ID 3",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PROMOTER1",                       "General",                  "promoter 1",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PROMOTER2",                       "General",                  "promoter 2",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PROMOTER3",                       "General",                  "promoter 3",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PUBLISHED_IN",                    "General",                  "reference",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SELECTION1",                      "General",                  "sel.1",                            DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SELECTION2",                      "General",                  "sel.2",                            DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SELECTION3",                      "General",                  "sel.3",                            DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SELECTION",                       "General",                  "selection",                        DataType.CONTROLLEDVOCABULARY,       "SELECTION_YEAST",  "", None, None, False],
+    ["SERIAL_NUMBER",                   "General",                  "serial number",                    DataType.INTEGER,                    None,  "", None, None, False],
+    ["STRAIN_SOURCE",                   "General",                  "source",                           DataType.CONTROLLEDVOCABULARY,       "STRAIN_SOURCE",  "", None, None, False],
+    ["SPECIES",                         "General",                  "species",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["STRAIN_ID_NR",                    "General",                  "strain_id_nr",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["NAME",                            "General",                  "strain ID",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["STRAIN_NAME",                     "General",                  "strain name",                      DataType.VARCHAR,                    None,  "", None, None, False]
+];
+
+oligoDefinition = [
+    ["AMOUNT",                          "General",                  "amount",                           DataType.REAL,                      None, "", None, None, False],
+    ["BARCODE",                         "General",                  "barcode",                          DataType.VARCHAR,                   None, "", None, None, False],
+    ["BARCODE_LABEL",                   "General",                  "barcode label",                    DataType.VARCHAR,                   None, "", None, None, False],
+    ["OLIGO_COMPANY",                   "General",                  "company",                          DataType.CONTROLLEDVOCABULARY,      "OLIGO_COMPANY", "", None, None, False],
+    ["CONCENTRATION",                   "General",                  "concentration",                    DataType.REAL,                      None, "", None, None, False],
+    ["CONCENTRATION_UNIT",              "General",                  "concentration unit",               DataType.CONTROLLEDVOCABULARY,      "CONC_UNITS", "", None, None, False],
+    ["CREATION_DATE",                   "General",                  "creation date",                    DataType.TIMESTAMP,                 None, "", None, None, False],
+    ["DATE",                            "General",                  "date",                             DataType.VARCHAR,                   None, "", None, None, False],
+    ["FROZEN",                          "General",                  "frozen",                           DataType.TIMESTAMP,                 None, "", None, None, False],
+    ["GENE_LOCUS",                      "General",                  "gene locus",                       DataType.VARCHAR,                   None, "", None, None, False],
+    ["GRADE",                           "General",                  "grade",                            DataType.CONTROLLEDVOCABULARY,      "OLIGO_GRADE", "", None, None, False],
+    ["COMMENTS",                        "General",                  "Info",                             DataType.VARCHAR,                   None, "", None, None, False],
+    ["INVESTIGATOR",                    "General",                  "investigator",                     DataType.CONTROLLEDVOCABULARY,      "ALL_LAB_MEMBERS", "", None, None, False],
+    ["MODIFICATION_DATE",               "General",                  "modification date",                DataType.TIMESTAMP,                 None, "", None, None, False],
+    ["MODIFIED_BY",                     "General",                  "modified by",                      DataType.CONTROLLEDVOCABULARY,      "ALL_LAB_MEMBERS", "", None, None, False],
+    ["OD",                              "General",                  "od",                               DataType.INTEGER,                   None, "", None, None, False],
+    ["NAME",                            "General",                  "oligo ID",                         DataType.INTEGER,                   None, "", None, None, False],
+    ["OLIGO_ID_NR",                     "General",                  "oligo_id_nr",                      DataType.VARCHAR,                   None, "", None, None, False],
+    ["ORDER_DATE",                      "General",                  "order date",                       DataType.VARCHAR,                   None, "", None, None, False],
+    ["OLIGO_ORGANISM",                  "General",                  "organism",                         DataType.CONTROLLEDVOCABULARY,      "OLIGO_ORGANISM", "", None, None, False],
+    ["PAGE_NUMBER",                     "General",                  "page number",                      DataType.VARCHAR,                   None, "", None, None, False],
+    ["PRIMER_PARTNER",                  "General",                  "primer partner",                   DataType.VARCHAR,                   None, "", None, None, False],
+    ["PRIMER_POSITION",                 "General",                  "primer position",                  DataType.CONTROLLEDVOCABULARY,      "PRIMER_POSITION", "", None, None, False],
+    ["PUBLISHED_IN",                    "General",                  "PublishedIn",                      DataType.VARCHAR,                   None, "", None, None, False],
+    ["RESTRICTION_SITE",                "General",                  "restriction site",                 DataType.CONTROLLEDVOCABULARY,      "RESTRICTION", "", None, None, False],
+    ["SEQUENCE",                        "General",                  "sequence",                         DataType.VARCHAR,                   None, "", None, None, False],
+    ["SERIAL_NUMBER",                   "General",                  "serial number",                    DataType.VARCHAR,                   None, "", None, None, False],
+    ["USAGE",                           "General",                  "usage",                            DataType.CONTROLLEDVOCABULARY,      "OLIGO_USAGE", "", None, None, False],
+    ["ADENOSINE",                       "Calculated fields",        "adenosine",                        DataType.INTEGER,                   None, "", adenosineScriptName, None, False],
+    ["CYTOSINE",                        "Calculated fields",        "cytosine",                         DataType.INTEGER,                   None, "", cytosineScriptName, None, False],
+    ["GUANOSINE",                       "Calculated fields",        "guanosine",                        DataType.INTEGER,                   None, "", guanosineScriptName, None, False],
+    ["THYMIDINE",                       "Calculated fields",        "thymidine",                        DataType.INTEGER,                   None, "", thymidineScriptName, None, False],
+    ["LENGTH",                          "Calculated fields",        "length",                           DataType.INTEGER,                   None, "", lengthScriptName, None, False],
+    ["GC",                              "Calculated fields",        "gc",                               DataType.REAL,                      None, "", gcScriptName, None, False],
+    ["TM",                              "Calculated fields",        "tm",                               DataType.REAL,                      None, "", tmScriptName, None, False],
+    ["O_NUCLEOTIDE",                    "Calculated fields",        "O nucleotide",                     DataType.INTEGER,                   None, "", nucelotideScriptName, None, False]
+];
+
+plasmidDefinition = [
+    ["BACKBONE",                        "General",                  "backbone",                         DataType.CONTROLLEDVOCABULARY,      "BACKBONE",  "", None, None, False],
+    ["BACKUP_STORAGE",                  "General",                  "backup storage",                   DataType.VARCHAR,                   None,  "", None, None, False],
+    ["BACTERIAL_HOST",                  "General",                  "bacterial host",                   DataType.CONTROLLEDVOCABULARY,      "BACTERIAL_HOST",  "", None, None, False],
+    ["BARCODE",                         "General",                  "barcode",                          DataType.VARCHAR,                   None,  "", None, None, False],
+    ["BARCODE_LABEL",                   "General",                  "barcode label",                    DataType.VARCHAR,                   None,  "", None, None, False],
+    ["BIOSAFETY_LEVEL",                 "General",                  "biosafety level",                  DataType.CONTROLLEDVOCABULARY,      "BIOSAFETY_LEVEL",  "", None, None, False],
+    ["BOXNR",                           "General",                  "boxNr",                            DataType.VARCHAR,                   None,  "", None, None, False],
+    ["CONCENTRATION_UNIT",              "General",                  "concentration unit",               DataType.CONTROLLEDVOCABULARY,      "CONC_UNITS",  "", None, None, False],
+    ["CONSTRUCTION_METHOD",             "General",                  "construction method",              DataType.VARCHAR,                   None,  "", None, None, False],
+    ["CREATION_DATE",                   "General",                  "creation date",                    DataType.TIMESTAMP,                 None,  "", None, None, False],
+    ["CTERMTAG",                        "General",                  "Ctermtag",                         DataType.VARCHAR,                   None,  "", None, None, False],
+    ["DATE",                            "General",                  "date",                             DataType.VARCHAR,                   None,  "", None, None, False],
+    ["DATE_OF_CONSTRUCTION",            "General",                  "date of construction",             DataType.TIMESTAMP,                 None,  "", None, None, False],
+    ["DERIVATIVE_OF",                   "General",                  "Derivative of",                    DataType.VARCHAR,                   None,  "", None, None, False],
+    ["ECOLI_STRAIN",                    "General",                  "E.coli strain",                    DataType.VARCHAR,                   None,  "", None, None, False],
+    ["EXCISE_INSERT",                   "General",                  "excise insert",                    DataType.VARCHAR,                   None,  "", None, None, False],
+    ["EXCISE_INSERT2",                  "General",                  "excise insert 2",                  DataType.VARCHAR,                   None,  "", None, None, False],
+    ["FREEZEDATE",                      "General",                  "freezedate",                       DataType.VARCHAR,                   None,  "", None, None, False],
+    ["FROZEN",                          "General",                  "frozen",                           DataType.TIMESTAMP,                 None,  "", None, None, False],
+    ["FUNCTIONAL_ELEMENTS_INSERT",      "General",                  "functional elements insert",       DataType.VARCHAR,                   None,  "", None, None, False],
+    ["HYPERCARD_FILE",                  "General",                  "hypercard file",                   DataType.VARCHAR,                   None,  "", None, None, False],
+    ["INFO",                            "General",                  "info",                             DataType.VARCHAR,                   None,  "", None, None, False],
+    ["INSERT",                          "General",                  "insert",                           DataType.VARCHAR,                   None,  "", None, None, False],
+    ["INSERTION_SITE",                  "General",                  "insertion site",                   DataType.VARCHAR,                   None,  "", None, None, False],
+    ["INVESTIGATOR",                    "General",                  "investigator",                     DataType.CONTROLLEDVOCABULARY,      "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["LINEARIZE",                       "General",                  "linearize",                        DataType.VARCHAR,                   None,  "", None, None, False],
+    ["MARKER",                          "General",                  "Marker",                           DataType.VARCHAR,                   None,  "", None, None, False],
+    ["MODIFICATION_DATE",               "General",                  "modification date",                DataType.VARCHAR,                   None,  "", None, None, False],
+    ["MODIFIED_BY",                     "General",                  "modified by",                      DataType.CONTROLLEDVOCABULARY,      "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["NAME_OF_PARENTAL_CLONE",          "General",                  "name of parental clone",           DataType.VARCHAR,                   None,  "", None, None, False],
+    ["NAME_OF_VECTOR",                  "General",                  "name of vector",                   DataType.VARCHAR,                   None,  "", None, None, False],
+    ["NTERMTAG",                        "General",                  "Ntermtag",                         DataType.VARCHAR,                   None,  "", None, None, False],
+    ["NUCLEOTIDE_SEQUENCE",             "General",                  "nucleotide sequence",              DataType.VARCHAR,                   None,  "", None, None, False],
+    ["OLIGOS_USED",                     "General",                  "oligos used",                      DataType.VARCHAR,                   None,  "", None, None, False],
+    ["ORGANISM",                        "General",                  "organism",                         DataType.VARCHAR,                   None,  "", None, None, False],
+    ["ORIGIN_OF_REPLICATION",           "General",                  "origin of replication",            DataType.VARCHAR,                   None,  "", None, None, False],
+    ["OTHER_MARKER",                    "General",                  "other marker",                     DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PAGE_NUMBER",                     "General",                  "page number",                      DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PERSPLASMIDNUM",                  "General",                  "persPlasmidnum",                   DataType.REAL,                      None,  "", None, None, False],
+    ["PETERPLASMIDNUM",                 "General",                  "PeterPlasmidNum",                  DataType.INTEGER,                   None,  "", None, None, False],
+    ["NAME",                            "General",                  "plasmid ID",                       DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PLASMID_ID_NR",                   "General",                  "plasmid_id_nr",                    DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PLASMIDNAME",                     "General",                  "plasmidname",                      DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PRIMERS",                         "General",                  "primers",                          DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PROMOTER",                        "General",                  "promoter",                         DataType.CONTROLLEDVOCABULARY,      "PROMOTER",  "", None, None, False],
+    ["SELECTION_IN_BACTERIA",           "General",                  "selection in bacteria",            DataType.CONTROLLEDVOCABULARY,      "SELECTION_IN_BACTERIA",  "", None, None, False],
+    ["SELECTION_IN_EUKARYOTES",         "General",                  "selection in eukaryotes",          DataType.CONTROLLEDVOCABULARY,      "SELECTION_IN_EUKARYOTES",  "", None, None, False],
+    ["SEQUENCE_FILE_NAME",              "General",                  "sequence file name",               DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SEQUENCING_DATE",                 "General",                  "sequencing date",                  DataType.TIMESTAMP,                 None,  "", None, None, False],
+    ["SERIAL_NUMBER",                   "General",                  "serial number",                    DataType.INTEGER,                   None,  "", None, None, False],
+    ["SHELF",                           "General",                  "shelf",                            DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SIZE_INSERT",                     "General",                  "size insert",                      DataType.REAL,                      None,  "", None, None, False],
+    ["SIZE_OF_INSERT",                  "General",                  "size of insert",                   DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SIZE_VECTOR",                     "General",                  "size vector",                      DataType.REAL,                      None,  "", None, None, False],
+    ["PLASMID_SOURCE",                  "General",                  "source",                           DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PLASMID_SPECIES",                 "General",                  "species",                          DataType.CONTROLLEDVOCABULARY,      "PLASMID_ORGANISM",  "", None, None, False],
+    #["TUBES",                           "General",                 "TUBES",                            DataType.VARCHAR,                   None,  "", None, None, False],
+    ["URL",                             "Reference",                "url",                              DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PUBLISHED_IN",                    "Reference",                "published in",                     DataType.VARCHAR,                   None,  "", None, None, False]
+];
+
+chemicalDefinition = [
+    ["ARTICLE",                         "General",                  "Article",                          DataType.VARCHAR,                   None,  "", None, None, False],
+    ["COMPANY",                         "General",                  "Company",                          DataType.CONTROLLEDVOCABULARY,      "COMPANY",  "", None, None, False],
+    ["ARTICLE_NUM",                     "General",                  "Article Number",                   DataType.VARCHAR,                   None,  "", None, None, False],
+    ["RECORD_NUMBER",                   "General",                  "RecordNumber",                     DataType.VARCHAR,                   None,  "", None, None, False],
+    ["LOCATION",                        "Location",                  "Location",                         DataType.VARCHAR,                   None,  "", None, None, False]   
+];
+
+siRNADefinition = [
+    ["INVESTIGATOR",                    "General",                  "investigator",                     DataType.CONTROLLEDVOCABULARY,      "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["GENE_LOCUS",                      "General",                  "gene locus",                       DataType.VARCHAR,                   None,  "", None, None, False],
+    ["EXON_OR_THREE_PRIME",             "General",                  "exon or three prime",              DataType.CONTROLLEDVOCABULARY,      "EXON_OR_THREE_PRIME",  "", None, None, False],
+    ["EXON",                            "General",                  "exon #",                           DataType.INTEGER,                   None,  "", None, None, False],
+    ["3_PRIME_POSITION",                "General",                  "3' position",                      DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SIRNA_SPECIES",                   "General",                  "species",                          DataType.CONTROLLEDVOCABULARY,      "SIRNA_SPECIES",  "", None, None, False],
+    ["SEQUENCE",                        "General",                  "SEQUENCE",                         DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SIRNA_COMPANY",                   "General",                  "Company",                          DataType.CONTROLLEDVOCABULARY,      "SIRNA_COMPANY",  "", None, None, False],
+    ["STOCK_CONCENTRATION",             "General",                  "Stock concentration",              DataType.REAL,                      None,  "", None, None, False],
+    ["WORKING_CONCENTRATION",           "General",                  "Working concentration",            DataType.REAL,                      None,  "", None, None, False],
+    ["EFFICIENCY",                      "General",                  "Efficiency",                       DataType.VARCHAR,                   None,  "", None, None, False],
+    ["EFFICIENCY_QPCR",                 "General",                  "Efficiency_qPCR",                  DataType.VARCHAR,                   None,  "", None, None, False],
+    ["EFFICIENCY_WESTERN",              "General",                  "Efficiency_Western",               DataType.VARCHAR,                   None,  "", None, None, False],
+    ["EFFICIENCY_OTHER",                "General",                  "Efficiency_other",                 DataType.VARCHAR,                   None,  "", None, None, False],
+    ["OFF_TARGET_EFFECTS",              "General",                  "Off target effects",               DataType.VARCHAR,                   None,  "", None, None, False],
+    ["INFO",                            "General",                  "Info",                             DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SPECIFIC_SPLICE_VARIANT",         "General",                  "Specific splice variant",          DataType.VARCHAR,                   None,  "", None, None, False],
+    ["TRANSFECTION_AGENT",              "General",                  "Transfection agent",               DataType.CONTROLLEDVOCABULARY,      "TRANSFECTION_AGENT",  "", None, None, False],
+    ["LIBRARY",                         "General",                  "Library",                          DataType.VARCHAR,                   None,  "", None, None, False],
+    ["CHARACTERIZED_BY_COMPANY",        "General",                  "Characterized by company",         DataType.VARCHAR,                   None,  "", None, None, False],
+    ["NUMBERINPOOL",                    "General",                  "NumberINpool",                     DataType.INTEGER,                   None,  "", None, None, False],
+    ["TEST",                            "General",                  "Test",                             DataType.VARCHAR,                   None,  "", None, None, False],
+    ["CHEMICAL_MODIFICATION",           "General",                  "Chemical modification",            DataType.VARCHAR,                   None,  "", None, None, False],
+    ["OLIGO_NAME",                      "General",                  "Oligo name",                       DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SIRNA_OLIGONUMBER",               "General",                  "siRNA_OligoNumber",                DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SIRNA_FREEZER_LOCATION",          "General",                  "Freezer Location",                 DataType.CONTROLLEDVOCABULARY,      "SIRNA_FREEZER_LOCATION",  "", None, None, False],
+    ["DRAWER",                          "General",                  "Drawer",                           DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PUBLISHED",                       "Reference",                "Published",                        DataType.VARCHAR,                   None,  "", None, None, False]
+];
+
+#
+# Data Set Types
+#
+documentDefinition = [
+    ["CREATION_DATE",                   "General",                  "date created",                     DataType.TIMESTAMP,                 None,  "", None, None, False],
+    ["MODIFICATION_DATE",               "General",                  "date modified",                    DataType.TIMESTAMP,                 None,  "", None, None, False],
+    ["INFO",                            "General",                  "info",                             DataType.VARCHAR,                   None,  "", None, None, False],
+    ["ID_NR",                           "General",                  "id_nr",                            DataType.VARCHAR,                   None,  "", None, None, False],
+    ["FILE",                            "General",                  "file",                             DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SERIAL",                          "General",                  "serial",                           DataType.INTEGER,                   None,  "", None, None, False]
+ 
+];
diff --git a/plasmid/source/core-plugins/petermigration/2/as/definitionsVoc.py b/plasmid/source/core-plugins/petermigration/2/as/definitionsVoc.py
new file mode 100644
index 0000000000000000000000000000000000000000..6c41596dc8dd2ff2c3e1aff1b0ae83ddf1961722
--- /dev/null
+++ b/plasmid/source/core-plugins/petermigration/2/as/definitionsVoc.py
@@ -0,0 +1,852 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+#
+# Helper Methods
+#
+def getVocabularyTermCodeForVocabularyAndTermLabel(vocabularyCode, termLabel):
+    vocabulary = vocabularyDefinitions[vocabularyCode]
+    for term in vocabulary:
+        if term[1] == termLabel:
+            #print repr("TERM NOT FOUND IN VOCABULARY LIST: " + unicode(vocabularyCode) + " : '" + unicode(termLabel) + "'")
+            return term[0]
+    return None
+
+# "VOCABULARY_CODE" : { "TERM_CODE" : "OBJECT" }
+createdVocabularyTerms = { }
+
+def printCreatedTerms():
+    print "--- Created Vocabulary Terms Report"
+    for vocabularyCode in createdVocabularyTerms:
+        print "Vocabulary [" + vocabularyCode + "]"
+        for vocabularyTermCode in createdVocabularyTerms[vocabularyCode]:
+            print "Term [" + vocabularyTermCode + "] Label: [" + repr(createdVocabularyTerms[vocabularyCode][vocabularyTermCode].getLabel()) + "]"
+    print "---"
+
+def getCreatedTerm(vocabularyCode, termCode):
+    if vocabularyCode in createdVocabularyTerms:
+        if termCode in createdVocabularyTerms[vocabularyCode]:
+            return createdVocabularyTerms[vocabularyCode][termCode]
+    return None
+
+def addCreatedTerm(vocabularyCode, termCode, object):
+    if vocabularyCode not in createdVocabularyTerms:
+        createdVocabularyTerms[vocabularyCode] = {}
+    createdVocabularyTerms[vocabularyCode][termCode] = object
+    
+def createVocabularyTerm(tr, vocabularyCode, termCode, termLabel):
+    createdTerm = getCreatedTerm(vocabularyCode, termCode)
+    if createdTerm is None:
+        vocabulary = tr.getVocabularyForUpdate(vocabularyCode)
+        
+        for term in vocabulary.getTerms():
+            if term.getCode() == termCode:
+                createdTerm = term
+        
+        if createdTerm is None:
+            createdTerm = tr.createNewVocabularyTerm()
+            createdTerm.setCode(termCode)
+            createdTerm.setLabel(termLabel)
+            createdTerm.setOrdinal(vocabulary.getTerms().size())
+            vocabulary.addTerm(createdTerm)
+            addCreatedTerm(vocabularyCode, termCode, createdTerm)
+    return createdTerm
+
+#
+# Vocabularies
+#
+
+vocabularyDefinitions = {
+                          "ALL_LAB_MEMBERS" : [
+                                        ["ANNA_DEPLAZES",   "Anna Deplazes"],
+                                        ["ANNE-CHRISTINE_BUTTY",   "Anne-Christine Butty"],
+                                        ["BRIAN_LUKE",   "Brian Luke"],
+                                        ["CAROLINE_ZBINDEN",   "Caroline Zbinden"],
+                                        ["CELINE_LAFOURCADE",   "Celine Lafourcade"],
+                                        ["CHRISTINE_RUPP",   "Christine Rupp"],
+                                        ["CLAUDINE_KRAFT",   "Claudine Kraft"],
+                                        ["EDYTA_SIERGIEJUK",   "Edyta Siergiejuk"],
+                                        ["FABIAN_HERZOG",   "Fabian Herzog"],
+                                        ["FABIAN_RUDOLF",   "Fabian Rudolf"],
+                                        ["FRANK_VAN_DROGEN",   "Frank Van Drogen"],
+                                        ["GERDA_JORRITSMA",   "Gerda Jorritsma"],
+                                        ["GWEN_RABUT",   "Gw\xe9nael Rabut"],
+                                        ["INGRID_STOFFEL-STUDER",   "Ingrid Stoffel-Studer"],
+                                        ["IRAM_ZAIDI",   "Iram Zaidi"],
+                                        ["IZABELA_SUMARA",   "Izabela Sumara"],
+                                        ["LIONEL_PINTARD",   "Lionel Pintard"],
+                                        ["MALIKAJAQUENOUD",   "MalikaJaquenoud"],
+                                        ["MARC_SOHRMANN",   "Marc Sohrmann"],
+                                        ["MARIE-LYN_HECHT",   "Marie-Lyn Hecht"],
+                                        ["MARIE-PIERRE_GULLI",   "Marie-Pierre Gulli"],
+                                        ["MATTHIAS_PETER",   "Matthias Peter"],
+                                        ["MICHAEL_OLMA",   "Michael Olma"],
+                                        ["MICHAEL_SCHNEIDER",   "Michael Schneider"],
+                                        ["MICHELE_KNAUS",   "Michele Knaus"],
+                                        ["MONIKA_GERSBACH",   "Monika Gersbach"],
+                                        ["NATHALIE_MEYER-SCHALLER",   "Nathalie Meyer-Schaller"],
+                                        ["NATHALIE_PERRINJAQUET",   "Nathalie Perrinjaquet"],
+                                        ["NICOLAS_DARD",   "Nicolas Dard"],
+                                        ["NICOLAS_PAGE",   "Nicolas Page"],
+                                        ["PATRICK_PEDRIOLI",   "Patrick Pedrioli"],
+                                        ["PHILIPPE_WIGET",   "Philippe Wiget"],
+                                        ["PIERRE_MAILLARD",   "Pierre Maillard"],
+                                        ["REINHARD_DECHANT",   "Reinhard Dechant"],
+                                        ["SANDER_SPRINGER",   "Sander Springer"],
+                                        ["SARAH_GLASER",   "Sarah Glaser"],
+                                        ["SARAH_MAERKI",   "Sarah  M\xe4rki"],
+                                        ["SEBASTIAN_LEIDEL",   "Sebastian Leidel"],
+                                        ["SERGE_PELET",   "Serge Pelet"],
+                                        ["STEFAN_MUELLER",   "Stefan M�ller"],
+                                        ["TANIA_ROBERTS",   "Tania Roberts"],
+                                        ["THIMO_KURZ",   "Thimo Kurz"],
+                                        ["TOBIAS_BRAUN",   "Tobias Braun"],
+                                        ["VANESSA_REZGUI",   "Vanessa Rezgui"],
+                                        ["WOJCIECH_PIWKO",   "Wojciech Piwko"],
+                                        ["YUKIKO_SHIMADA",   "Yukiko Shimada"],
+                                        ["YVONNE_GLOOR",   "Yvonne Gloor"],
+                                        ["JOCHEN_BECK",   "Jochen Beck"],
+                                        ["MONIKA_KIJANSKA",   "Monika Kijanska"],
+                                        ["ANGIE_RAGHEB",   "Angie Ragheb"],
+                                        ["ANNE_PACQUELET",   "Anne Pacquelet"],
+                                        ["BJORN_HEGEMANN",   "Bj\xf6rn Hegemann"],
+                                        ["JANNY_TILMA",   "Janny Tilma"],
+                                        ["THIBAULT_COURTHEOUX",   "Thibault Courtheoux"],
+                                        ["SAMUEL_GILBERTO",   "Samuel Gilberto"],
+                                        ["REMY_BUSER",   "Remy Buser"],
+                                        ["RADOSLAV_ENCHEV",   "Radoslav Enchev"],
+                                        ["MICHAELA_HUBNER",   "Michaela Hubner"],
+                                        ["MIA_LI",   "Mia Li"],
+                                        ["JULIEN_MOUYSSET",   "Julien Mouysset"]
+                                    ],
+                           "LAB_MEMBERS_INITIALS" : [
+                                        ["AD", "AD"],
+                                        ["ACB", "ACB"],
+                                        ["BL", "BL"],
+                                        ["CZ", "CZ"],
+                                        ["CL", "CL"],
+                                        ["CR", "CR"],
+                                        ["CK", "CK"],
+                                        ["ES", "ES"],
+                                        ["FH", "FH"],
+                                        ["FR", "FR"],
+                                        ["FD", "FD"],
+                                        ["GJ", "GJ"],
+                                        ["GR", "GR"],
+                                        ["ISS", "ISS"],
+                                        ["IZ", "IZ"],
+                                        ["IS", "IS"],
+                                        ["LP", "LP"],
+                                        ["MJ", "MJ"],
+                                        ["MSO", "MSo"],
+                                        ["MH", "MH"],
+                                        ["MG", "MG"],
+                                        ["MP", "MP"],
+                                        ["MO", "MO"],
+                                        ["MSC", "MSc"],
+                                        ["MK", "MK"],
+                                        ["MG", "MG"],
+                                        ["NS", "NS"],
+                                        ["NPE", "NPe"],
+                                        ["ND", "ND"],
+                                        ["NPA", "NPa"],
+                                        ["PP", "PP"],
+                                        ["PW", "PW"],
+                                        ["PM", "PM"],
+                                        ["RD", "RD"],
+                                        ["SS", "SS"],
+                                        ["SG", "SG"],
+                                        ["SMA", "SMa"],
+                                        ["SL", "SL"],
+                                        ["SP", "SP"],
+                                        ["SM", "SM"],
+                                        ["TR", "TR"],
+                                        ["TK", "TK"],
+                                        ["TB", "TB"],
+                                        ["VR", "VR"],
+                                        ["WP", "WP"],
+                                        ["YS", "YS"],
+                                        ["YG", "YG"],
+                                        ["JB", "JB"],
+                                        ["MKI", "MKi"]
+                                    ],
+                            "BLOCK" : [
+                                       ["1BSA_01TRITON-X100",  "1% BSA; 0.1% Triton-X100"],
+                                    ],
+                            "CLASS" : [
+                                ["IGM", "IgM"],
+                                ["IGG1",    "IgG1"],
+                                ["IGG2",    "IgG2"]
+                                    ],
+                            "COMPANY" : [
+                                    ["ABCAM", "abcam"],
+                                    ["CELL_SIGNALING", "cell signaling"],
+                                    ["STRATAGEN", "stratagene"],
+                                    ["CLONTECH", "clontech"],
+                                    ["UBI", "ubi"],
+                                    ["SOUTHERN_BIOTECH", "southern biotech"],
+                                    ["PIERCE", "pierce"],
+                                    ["PHARMIGEN", "pharmingen"],
+                                    ["MOLECULAR_PROBES", "molecular probes"],
+                                    ["PHARMACIA", "pharmacia"],
+                                    ["BIORAD", "biorad"],
+                                    ["EUROGENETIC", "eurogentec"],
+                                    ["HOMEMADE", "homemade"],
+                                    ["BD_BIOSCIENCE", "BD bioscience"],
+                                    ["OBTAINED_FROM", "obtained from "],
+                                    ["ZYMED", "Zymed"],
+                                    ["UNKNOWN", "Unknown"],
+                                    ["SANTA_CRUZ", "Santa Cruz"],
+                                    ["BIOLEGEND", "Biolegend"],
+                                    ["BETHYL", "Bethyl"],
+                                    ["UPSTATE", "Upstate"],
+                                    ["ROCKLAND", "Rockland"],
+                                    ["NOVUS_BIOLOGICALS", "Novus Biologicals"],
+                                    ["CHEMICON_INTERNATIONAL", "Chemicon International"],
+                                    ["SIGMA", "Sigma"],
+                                    ["ALPHA_DIAGNOSTIC_INTERNATIONAL", "Alpha Diagnostic International"],
+                                    ["MILLIPORE", "Millipore"],
+                                    ["ACTIVE_MOTIF", "Active motif"],
+                                    ["NEB", "NEB"],
+                                    ["NEOMARKERS", "Neomarkers"],
+                                    ["LUBIOSCIENCE", "LubioScience"],
+                                    ["EBIOSCIENCE", "eBioscience"],
+                                    ["INVITROGEN", "Invitrogen"],
+                                    ["STRESSGEN", "Stressgen"],
+                                    ["COVANCE", "Covance"],
+                                    ["ENZO_LIFE_SCIENCES", "Enzo Life Sciences"],
+                                    ["CALBIOCHEM", "Calbiochem"],
+                                    ["ROCHE", "Roche"],
+                                    ["CYTOSKELETON", "Cytoskeleton"],
+                                    ["OPEN_BIOSYSTEMS", "Open Biosystems"],
+                                    ["BD_TRANSDUCTION", "BD Transduction"],
+                                    ["ATLAS_ANTIBODIES_AB", "Atlas Antibodies AB"],
+                                    ["GENENTECH", "Genentech"],
+                                    ["TRANSDUCTION_LABS", "Transduction Labs"],
+                                    ["ANTIBODIES_INCORPORATED", "Antibodies Incorporated"],
+                                    ["BABCO", "BAbCO"],
+                                    ["ERICH_NIGG_LAB_BASEL", "Erich Nigg lab (Basel)"],
+                                    ["FRANCIS_BARR", "Francis Barr"],
+                                    ["AVIVA_SYSTEMS_BIOLOGY", "Aviva Systems Biology"],
+                                    ["LUCERNACHEM", "LucernaChem"],
+                                    ["LI-COR", "LI-COR"],
+                                    ["ABGENT", "Abgent"],
+                                    ["CHROMOTEK", "Chromotek"],
+                                    ["ABNOVA", "Abnova"],
+                                    ["UNKNOWN", "Unknown"],
+                                    ["ABSEA", "Absea"],
+                                    ["GE_HEALTHCARE", "GE Healthcare"],
+                                    ["GRAMSCH_LABORATORIES", "Gramsch Laboratories"],
+                                    ["ADIPOGEN", "Adipogen"],
+                                    ["COSMO_BIO_CO", "Cosmo bio co."],
+                                    ["BECKTON_DICKINSON", "Beckton Dickinson"],
+                                    ["BIOTIUM", "Biotium"]
+                                    ],
+                            "CONCENTRATION_FACS" : [
+                                            ["1_TO_10", "1 : 10"],
+                                            ["1_TO_20", "1 : 20"],
+                                            ["1_TO_30", "1 : 30"],
+                                            ["1_TO_40", "1 : 40"],
+                                            ["1_TO_50", "1 : 50"],
+                                            ["1_TO_100", "1 : 100"],
+                                            ["1_TO_200", "1 : 200"],
+                                            ["1_TO_500", "1 : 500"],
+                                            ["1_TO_1000", "1 : 1000"],
+                                            ["1_TO_2000", "1 : 2000"],
+                                            ["1_TO_3000", "1 : 3000"],
+                                            ["NOT_TESTED", "not tested"],
+                                            ["NOT_WORKING", "not working"]
+                                    ],
+                            "CONCENTRATION_IP" : [
+                                            ["1UL", "1 �l"],
+                                            ["5UL", "5 �l"],
+                                            ["10UL", "10 �l"],
+                                            ["15UL", "15 �l"],
+                                            ["20UL", "20 �l"],
+                                            ["NOT_TESTED", "not tested"],
+                                            ["NOT_WORKING", "not working"]
+                                    ],
+                            "CONCENTRATION_WESTERN" : [
+                                                ["1_TO_100", "1 : 100"],
+                                                ["1_TO_500", "1 : 500"],
+                                                ["1_TO_1000", "1 : 1000"],
+                                                ["1_TO_2000", "1 : 2000"],
+                                                ["1_TO_3000", "1 : 3000"],
+                                                ["1_TO_5000", "1 : 5000"],
+                                                ["1_TO_10000", "1 : 10000"],
+                                                ["1_TO_20000", "1 : 20000"],
+                                                ["1_TO_25000", "1 : 25000"],
+                                                ["NOT_TESTED", "not tested"],
+                                                ["NOT_WORKING", "not working"]
+                                    ],
+                          "CURRENT_LAB_MEMBERS" : [
+                                            ["CAROLINE_ZBINDEN", "Caroline Zbinden"],
+                                            ["FRANK_VAN_DROGEN", "Frank Van Drogen"],
+                                            ["INGRID_STOFFEL-STUDER", "Ingrid Stoffel-Studer"],
+                                            ["MATTHIAS_PETER", "Matthias Peter"],
+                                            ["REINHARD_DECHANT", "Reinhard Dechant"],
+                                            ["WOJCIECH_PIWKO", "Wojciech Piwko"],
+                                            ["JOCHEN_BECK", "Jochen Beck"]
+                                    ],
+                          "FIX" : [
+                                ["1H-RT", "1h, RT"],
+                                ["PTEMF", "PTEMF"],
+                                ["PFA", "PFA"],
+                                ["MEOH", "MeOH"]
+                                    ],
+                          "LABEL" : [
+                                ["HRP", "hrp"],
+                                ["AP", "ap"],
+                                ["FITC", "fitc"],
+                                ["CY3", "Cy3"],
+                                ["ALEXA647", "Alexa 647"]
+                                    ],
+                          "ANTIBODY_LOCATION" : [
+                                    ["SMALL_PETER_LAB", "Small Peter Lab"],
+                                    ["BIG_PETER_LAB", "Big Peter Lab"],
+                                    ["NEW_PETER_LAB", "New Peter Lab"],
+                                    ["MINUS20_C-FLOOR", "-20C C-Floor"]
+                                    ],
+                          "MONO-POLYCLONAL" : [
+                                            ["MONOCLONAL",  "Monoclonal"],
+                                            ["POLYCLONAL",  "Polyclonal"],
+                                            ["UNKNOWN", "Unknown"]
+                                    ],
+                          "SOURCE" : [
+                                ["MOUSE",  "Mouse"],
+                                ["RABBIT",  "Rabbit"],
+                                ["HAMSTER",  "Hamster"],
+                                ["GOAT",  "Goat"],
+                                ["RAT",  "Rat"],
+                                ["CHICKEN",  "Chicken"],
+                                ["SHEEP",  "Sheep"],
+                                ["HUMAN",  "Human"],
+                                ["GUINEA_PIG",  "Guinea pig"],
+                                ["DONEKY",  "Donkey"],
+                                ["UNKNOWN",  "Unknown"]
+                                    ],
+                          "CELL_LOCATION" : [
+                                ["FRIDGE",  "fridge"],
+                                ["FREEZER",  "freezer"],
+                                ["REFCO",  "refco"],
+                                ["TANK",  "tank"]
+                                    ],
+                          "SELECTION" : [
+                                ["NEOMYCIN_G418",  "Neomycin/G418"],
+                                ["HYGROMYCIN",  "Hygromycin"],
+                                ["MPA",  "MPA"],
+                                ["G418",  "G418"],
+                                ["PUROMYCIN",  "puromycin"],
+                                ["BLASTICIDIN",  "Blasticidin"],
+                                ["ZEOCIN",  "Zeocin"] 
+                                    ],
+                          "CO2" : [
+                                ["5",  "5"],
+                                ["7.5",  "7.5"]
+                                    ],
+                          "GROWTH_TEMPERATURE" : [
+                                ["37",  "37"],
+                                ["28",  "28"],
+                                ["34",  "34"]
+                                    ],
+                          "MEDIUM" : [
+                                ["RPMI1640",  "RPMI 1640"],
+                                ["ISCOVES",  "Iscoves"],
+                                ["DMEM",  "DMEM"],
+                                ["LB",  "LB"],
+                                ["DMEM_NUTRIENT",  "DMEM nutrient mixture F-12 HAM [D8437]"]
+                                    ], 
+                          "CELL_OBTAINED_FROM" : [
+                                ["FREIBURG",  "Freiburg"],
+                                ["ATCC",  "ATCC"],
+                                ["DANIEL_GERLICH",  "Daniel Gerlich"],
+                                ["ERICH_NIGG",  "Erich Nigg"],
+                                ["KREK",  "Krek"],
+                                ["TONY_HEYMAN",  "Tony Heyman"],
+                                ["THOMAS-WILD_ULRIKE-KUTAY",  "Thomas Wild/Ulrike Kutay"],
+                                ["JAN_MICHAEL_PETERS",  "Jan-Michael Peters"],
+                                ["M_BRANDEIS",  "M Brandeis"],
+                                ["ARI_HELENIUS",  "Ari Helenius"],
+                                ["ROMEO_RICCI",  "Romeo Ricci"]
+                                    ],  
+                          "CELL_SPECIES" : [
+                                ["HUMAN",  "human"],
+                                ["MOUSE",  "mouse"],
+                                ["RAT",  "rat"],
+                                ["CHINESE_HAMSTER",  "chines hamster"],
+                                ["HYBRIDOMA",  "hybridoma (human & mouse)"]                                
+                                    ],  
+                          "CONC_UNITS" : [
+                                ["MICROG_MICROL",  "�g/�l"],
+                                ["MG_ML",  "mgl/ml"],
+                                ["UG_ML",  "ug/ml"]                               
+                                    ],  
+                          "STRAIN_SOURCE" : [
+                                ["F_CHANG", "F. Chang"],
+                                ["J_CHANT", "J. Chant"],
+                                ["R_DESHAIES", "R. Deshaies"],
+                                ["E_ELION", "E. Elion"],
+                                ["P_HIETER", "P. Hieter"],
+                                ["I_HERSKOWITZ", "I. Herskowitz"],
+                                ["A_NEIMAN", "A. Neiman"],
+                                ["P_SORGER", "P. Sorger"],
+                                ["T_STEARNS", "T. Stearns"],
+                                ["MARC_BONDEL", "Marc Bondel"],
+                                ["G_SUMARA", "G. Sumara"],
+                                ["MICHAEL_ALTMANN", "Michael Altmann"],
+                                ["HETEROZYGOUS_DIPLOID_COLLECTION", "Heterozygous diploid collection"],
+                                ["ANNE-CHRISTINE_BUTTY", "Anne-Christine Butty"],
+                                ["ANNE_PAQUELET", "Anne Paquelet"],
+                                ["YAGMUR-TURGAY_KUTAY-GROUP", "Yagmur Turgay - Kutay group"],
+                                ["BARBAR_CATARIN", "Barbar Catarin"],
+                                ["FRANK_VAN-DROGEN", "Frank van Drogen"],
+                                ["HEMMO_MEYER", "Hemmo Meyer"],
+                                ["JEAN-MARC_GALLAND", "Jean-Marc Galland"],
+                                ["JEFF_PARVIN", "Jeff Parvin"],
+                                ["MARIE-PIERRE_GULLI", "Marie-Pierre Gulli"],
+                                ["MIKIKO_TAKAHASHI", "Mikiko Takahashi"],
+                                ["SANDRA_HENCHOZ", "Sandra Henchoz"],
+                                ["MALIKA_JAQUENOUD", "Malika Jaquenoud"],
+                                ["GERDA_JORRITSMA", "Gerda Jorritsma"],
+                                ["CELINE_LAFOURCADE", "Céline Lafourcade"],
+                                ["CELINE_LONGARETTI", "Céline Longaretti"],
+                                ["BRIAN_LUKE", "Brian Luke"],
+                                ["GUY_NIEDERHAUSER", "Guy Niederhäuser"],
+                                ["NICOLAS_PAGE", "Nicolas Pag�"],
+                                ["NATHALIE_PERRINJAQUET", "Nathalie Perrinjaquet"],
+                                ["MATTHIAS_PETER", "Matthias Peter"],
+                                ["AUDREY_PETIT", "Audrey Petit"],
+                                ["LIONEL_PINTARD", "Lionel Pintard"],
+                                ["YUKIKO_SHIMADA", "Yukiko Shimada"],
+                                ["PHILIPPE_WIGET", "Philippe Wiget"],
+                                ["VOLKER_STUCKE", "Volker Stucke"],
+                                ["KATRIN_PETER", "Katrin Peter"],
+                                ["MARC_BLONDEL", "marc blondel"],
+                                ["M_FUNK", "M. Funk"],
+                                ["ATTILA_BECSKEI", "Attila Becskei"],
+                                ["GWENAEL_RABUT", "Gwenael Rabut"],
+                                ["PHILIP_JERMANN", "Philip Jermann"],
+                                ["P_PRYCIAK", "P.Pryciak"],
+                                ["LINDA_HICKE", "Linda Hicke"],
+                                ["RZPD", "RZPD"],
+                                ["OPENBIO", "OpenBio"],
+                                ["F_POSAS", "F. Posas"],
+                                ["HAPLOID_COLLECTION", "Haploid collection"],
+                                ["MIRIAM_BORTFELD", "Miriam Bortfeld"],
+                                ["EUROSCARF", "Euroscarf"],
+                                ["TS_COLLECTION", "ts collection"],
+                                ["CONZELMANN_LAB", "Conzelmann lab"],
+                                ["SEBASTIAN_LEIDEL", "Sebastian Leidel"],
+                                ["ANNA_DEPLAZES", "Anna Deplazes"],
+                                ["BIBOU", "Bibou"],
+                                ["MARC_SOHRMANN", "Marc sohrmann"]
+                                    ],
+                          "SELECTION_YEAST" : [
+                                ["NONE",  "None"],
+                                ["URA",  "Ura"],
+                                ["LEU",  "Leu"], 
+                                ["TRP",  "Trp"], 
+                                ["HIS",  "His"], 
+                                ["VIABILITY",  "Viability"], 
+                                ["NAT",  "nat"], 
+                                ["KAN",  "kan"], 
+                                ["KAN_NAT",  "kan + nat"], 
+                                ["HIS_KAN",  "HIS + kan"], 
+                                ["HIS_KAN_NAT",  "HIS + kan + nat"], 
+                                ["HIS",  "HIS"], 
+                                ["LEU_NAT",  "leu + nat"], 
+                                ["ADE2",  "ade2"]
+                                    ],  
+                         "DERIVATION" : [
+                                ["GAMMA_INTEG",  "gamma integ"],
+                                ["DELTA_INTEG",  "� integ"],
+                                ["5FAO_LOOPOUT",  "5-FAO loopout"],
+                                ["PLASMID_SHUFFLE",  "plasmid shuffle"],
+                                ["TETRAD",  "tetrad"],
+                                ["LOOP-IN_LOOP-OUT",  "loop-in/loop-out"],
+                                ["GALPHO",  "GalpHO mating type switch"],
+                                ["DELETION",  "Deletion"],
+                                ["INTEGRATION",  "Integration"]
+                                    ],
+                         "STRAIN_BACKGROUND" : [
+                                ["W303",  "W303"],
+                                ["K699",  "K699"],
+                                ["K700",  "K700"],
+                                ["S288C",  "S288C"],
+                                ["1278",  "*1278*"],
+                                ["EG123",  "EG123"],
+                                ["DF5",  "DF5"],
+                                ["SIGMA",  "Sigma"],
+                                ["UNKNOWN",  "Don't know"],
+                                ["BY7092",  "BY7092"],
+                                ["BY5565",  "BY5565"],
+                                ["BY4741",  "BY4741"]
+                                    ],
+                        "CIR" : [
+                                ["CIR_PLUS",  "cir+"],
+                                ["CIR_DEG",  "cir�"],
+                                    ],
+                        "GAL" : [
+                                ["PLUS",  "Plus"],
+                                ["PLUS_PLUS",  "Plus/Plus"],
+                                ["GAL1",  "gal1"],
+                                ["GAL1_GAL1",  "gal1/gal1"],      
+                                ["GAL2",  "gal2"],                                 
+                                ["GAL2_GAL2",  "gal2/gal2"],                                                         
+                                    ],
+                        "MAT" : [
+                                ["AT",  "@"],
+                                ["A",  "a"],
+                                ["ALPHA",  "alpha"],
+                                ["DIPLOID",  "diploid"],      
+                                ["UNKNOWN",  "unknown"]                                                      
+                                    ],
+                        "OLIGO_ORGANISM" : [
+                                ["BMV",  "BMV"],
+                                ["HUMAN",  "human"],
+                                ["MOUSE",  "mouse"],
+                                ["RAT",  "rat"],      
+                                ["XENOPUS",  "xenopus"],
+                                ["DROSOPHILA",  "drosophila"],
+                                ["YEAST",  "yeast"],
+                                ["ECOLI",  "E.coli"],
+                                ["SYNTHETIC",  "synthetic"],
+                                ["HIV1",  "HIV-1"],
+                                ["CELEGANS",  "C.elegans"],
+                                ["MYCOPLASMA",  "mycoplasma"]
+                                    ],
+                        "OLIGO_GRADE" : [
+                                ["DESALTED",  "desalted"],
+                                ["HPLC",  "hplc"],
+                                ["PURITY",  "purity"],
+                                ["UNKNOWN",  "?"]      
+                                    ],     
+                        "PRIMER_POSITION" : [
+                                ["FORWARD",  "forward"],
+                                ["REVERSE",  "reverse"]
+                                    ],  
+                        "OLIGO_COMPANY" : [
+                                ["MWG",  "MWG"],
+                                ["BIG",  "BIG"],
+                                ["PHARMACIA",  "Pharmacia"],
+                                ["IGLOI",  "Igloi"],      
+                                ["INVITROGEN",  "invitrogen"],
+                                ["MICROSYNTH",  "microsynth"]                                                     
+                                    ],                                       
+                        "OLIGO_USAGE" : [
+                                ["PCR",  "pcr"],
+                                ["SEQUENCING",  "sequencing"],
+                                ["HYBRIDIZE",  "hybridize"],
+                                ["MUTAGENESIS",  "mutagenesis"],      
+                                ["RT-PCR",  "Real-Time PCR"]
+                                    ],
+                        "RESTRICTION" : [
+                                ["AATII",  "AatII"],
+                                ["ACCI",  "AccI"],
+                                ["ACII",  "AciI"],
+                                ["AFLII",  "AflII"],
+                                ["AFLIII",  "AflIII"],
+                                ["AGEI",  "AgeI"],
+                                ["ALUI",  "AluI"],
+                                ["ALWI",  "AlwI"],
+                                ["ALWNI",  "AlwNI"],
+                                ["APAI",  "ApaI"],
+                                ["APALI",  "ApaLI"],
+                                ["APOI",  "ApoI"],
+                                ["ASCI",  "AscI"],
+                                ["ASEI",  "AseI"],
+                                ["AVAI",  "AvaI"],
+                                ["AVAII",  "AvaII"],
+                                ["AVRII",  "AvrII"],
+                                ["BAMHI",  "BamHI"],
+                                ["BANI",  "BanI"],
+                                ["BANII",  "BanII"],
+                                ["BBSI",  "BbsI"],
+                                ["BBVI",  "BbvI"],
+                                ["BCGI-1",  "BcgI-1"],
+                                ["BCGI-2",  "BcgI-2"],
+                                ["BCLI",  "BclI"],
+                                ["BFAI",  "BfaI"],
+                                ["BGLI",  "BglI"],
+                                ["BGLII",  "BglII"],
+                                ["BLPI",  "BlpI"],
+                                ["BPMI",  "BpmI"],
+                                ["BSAAI",  "BsaAI"],
+                                ["BSABI",  "BsaBI"],
+                                ["BSAHI",  "BsaHI"],
+                                ["BSAI",  "BsaI"],
+                                ["BSAJI",  "BsaJI"],
+                                ["BSAWI",  "BsaWI"],
+                                ["BSERI",  "BseRI"],
+                                ["BSGI",  "BsgI"],
+                                ["BSIEI",  "BsiEI"],
+                                ["BSIHKAI",  "BsiHKAI"],
+                                ["BSIWI",  "BsiWI"],
+                                ["BSLI",  "BslI"],
+                                ["BSMAI",  "BsmAI"],
+                                ["BSMBI",  "BsmBI"],
+                                ["BSMFI",  "BsmFI"],
+                                ["BSMI",  "BsmI"],
+                                ["BSOFI",  "BsoFI"],
+                                ["BSP1286I",  "Bsp1286I"],
+                                ["BSPEI",  "BspEI"],
+                                ["BSPHI",  "BspHI"],
+                                ["BSPMI",  "BspMI"],
+                                ["BSRBI",  "BsrBI"],
+                                ["BSRDI",  "BsrDI"],
+                                ["BSRFI",  "BsrFI"],
+                                ["BSRGI",  "BsrGI"],
+                                ["BSRI",  "BsrI"],
+                                ["BSSHII",  "BssHII"],
+                                ["BST1107I",  "Bst1107I"],
+                                ["BSTBI",  "BstBI"],
+                                ["BSTEII",  "BstEII"],
+                                ["BSTNI",  "BstNI"],
+                                ["BSTUI",  "BstUI"],
+                                ["BSTXI",  "BstXI"],
+                                ["BSTYI",  "BstYI"],
+                                ["BSU36I",  "Bsu36I"],
+                                ["CAC8I",  "Cac8I"],
+                                ["CLAI",  "ClaI"],
+                                ["CVIJI",  "CviJI"],
+                                ["DDEI",  "DdeI"],
+                                ["DPNI",  "DpnI"],
+                                ["DRAI",  "DraI"],
+                                ["DRAIII",  "DraIII"],
+                                ["DRDI",  "DrdI"],
+                                ["DSAI",  "DsaI"],
+                                ["EAEI",  "EaeI"],
+                                ["EAGI",  "EagI"],
+                                ["EAM1105I",  "Eam1105I"],
+                                ["EARI",  "EarI"],
+                                ["ECO47III",  "Eco47III"],
+                                ["ECO57I",  "Eco57I"],
+                                ["ECONI",  "EcoNI"],
+                                ["ECOO109I",  "EcoO109I"],
+                                ["ECORI",  "EcoRI"],
+                                ["ECORV",  "EcoRV"],
+                                ["FOKI",  "FokI"],
+                                ["FSEI",  "FseI"],
+                                ["FSPI",  "FspI"],
+                                ["HAEII",  "HaeII"],
+                                ["HAEIII",  "HaeIII"],
+                                ["HGAI",  "HgaI"],
+                                ["HHAI",  "HhaI"],
+                                ["HINCII",  "HincII"],
+                                ["HINDIII",  "HindIII"],
+                                ["HINFI",  "HinfI"],
+                                ["HPAI",  "HpaI"],
+                                ["HPAII",  "HpaII"],
+                                ["HPHI",  "HphI"],
+                                ["KPNI",  "KpnI"],
+                                ["MAEII",  "MaeII"],
+                                ["MAEIII",  "MaeIII"],
+                                ["MBOI",  "MboI"],
+                                ["MBOII",  "MboII"],
+                                ["MLUI",  "MluI"],
+                                ["MNLI",  "MnlI"],
+                                ["MSCI",  "MscI"],
+                                ["MSEI",  "MseI"],
+                                ["MSLI",  "MslI"],
+                                ["MSPA1I",  "MspA1I"],
+                                ["MUNI",  "MunI"],
+                                ["MWOI",  "MwoI"],
+                                ["NAEI",  "NaeI"],
+                                ["NARI",  "NarI"],
+                                ["NCII",  "NciI"],
+                                ["NCOI",  "NcoI"],
+                                ["NDEI",  "NdeI"],
+                                ["NHEI",  "NheI"],
+                                ["NLAIII",  "NlaIII"],
+                                ["NLAIV",  "NlaIV"],
+                                ["NOTI",  "NotI"],
+                                ["NRUI",  "NruI"],
+                                ["NSII",  "NsiI"],
+                                ["NSPI",  "NspI"],
+                                ["PACI",  "PacI"],
+                                ["PFLMI",  "PflMI"],
+                                ["PLEI",  "PleI"],
+                                ["PMEI",  "PmeI"],
+                                ["PMLI",  "PmlI"],
+                                ["PPUMI",  "PpuMI"],
+                                ["PSHAI",  "PshAI"],
+                                ["PSP1406I",  "Psp1406I"],
+                                ["PSTI",  "PstI"],
+                                ["PVUI",  "PvuI"],
+                                ["PVUII",  "PvuII"],
+                                ["RSAI",  "RsaI"],
+                                ["RSRII",  "RsrII"],
+                                ["SACI",  "SacI"],
+                                ["SACII",  "SacII"],
+                                ["SALI",  "SalI"],
+                                ["SAPI",  "SapI"],
+                                ["SAU96I",  "Sau96I"],
+                                ["SCAI",  "ScaI"],
+                                ["SCRFI",  "ScrFI"],
+                                ["SEXAI",  "SexAI"],
+                                ["SFANI",  "SfaNI"],
+                                ["SFCI",  "SfcI"],
+                                ["SFII",  "SfiI"],
+                                ["SGFI",  "SgfI"],
+                                ["SGRAI",  "SgrAI"],
+                                ["SMAI",  "SmaI"],
+                                ["SNABI",  "SnaBI"],
+                                ["SPEI",  "SpeI"],
+                                ["SPHI",  "SphI"],
+                                ["SRFI",  "SrfI"],
+                                ["SSE8387I",  "Sse8387I"],
+                                ["SSPI",  "SspI"],
+                                ["STUI",  "StuI"],
+                                ["STYI",  "StyI"],
+                                ["SWAI",  "SwaI"],
+                                ["TAQI",  "TaqI"],
+                                ["TFII",  "TfiI"],
+                                ["TSP45I",  "Tsp45I"],
+                                ["TSP509I",  "Tsp509I"],
+                                ["TTH111I",  "Tth111I"],
+                                ["XBAI",  "XbaI"],
+                                ["XCMI",  "XcmI"],
+                                ["XHOI",  "XhoI"],
+                                ["XMNI",  "XmnI"],
+                                ["SACI_NHEI",  "sacI NheI"],
+                                ["XMAI",  "XmaI"],
+                                ["BAMHI",  "BamHI"],
+                                ["CLAI",  "ClaI"],
+                                ["PACI",  "PacI"],
+                                ["NOTI",  "NotI"],
+                                ["SALI",  "SalI"],
+                                ["XHOI",  "XhoI"],
+                                ["NONE",  "none"]
+                            ],
+                        "BACKBONE" : [
+                                ["PCDNA3",  "pCDNA3"],
+                                ["PABES-NEO2000",  "pABES-neo 2000"],    
+                                ["PUC19",  "pUC 19"],                                
+                                ["PMX-1",  "pMX-1"],
+                                ["PRMHA-3",  "pRmHa-3"]
+                            ],
+                        "BACTERIAL_HOST" : [
+                                ["DH10B",  "DH10B"],
+                                ["JM110",  "JM110"],    
+                                ["BL21",  "BL21"],                                
+                                ["DH5A",  "DH5a"],
+                                ["PB3",  "PB3"],
+                                ["DB31",  "DB3.1"],
+                                ["CCDB_SURVIVAL",  "ccdB survival"]
+                            ],  
+                        "BIOSAFETY_LEVEL" : [
+                                ["S1",  "S1"],
+                                ["S2",  "S2"],    
+                                ["S3",  "S3"]        
+                            ],
+                        "SELECTION_IN_BACTERIA" : [
+                                ["AMPICILLIN",  "Ampicillin"],
+                                ["KANAMYCIN",  "Kanamycin"],    
+                                ["SPECTINOMCIN",  "Spectinomcin"],
+                                ["UNKNOWN",  "Unknown"]                                        
+                            ],
+                        "SELECTION_IN_EUKARYOTES" : [
+                                ["G418_NEO",  "G418/neo"],
+                                ["MPA",  "MPA"],    
+                                ["HYGROMYCIN",  "Hygromycin"]                                 
+                            ],                            
+                        "SOURCE_OF_REPLICON" : [
+                                ["CMV",  "CMV"]                                   
+                            ],
+                        "PLASMID_ORGANISM" : [
+                                ["HUMAN",  "human"],
+                                ["MOUSE",  "mouse"],
+                                ["RAT",  "rat"],
+                                ["XENOPUS",  "xenopus"],
+                                ["DROSOPHILA",  "drosophila"],
+                                ["YEAST",  "yeast"],
+                                ["ECOLI",  "E.coli"],
+                                ["SYNTHETIC",  "synthetic"]
+                            ],
+                        "PROMOTER" : [
+                                ["ENDOGENOUS",  "endogenous"],
+                                ["GAL1",  "gal1"],
+                                ["GALL",  "galL"],
+                                ["GALS",  "galS"],
+                                ["TET",  "tet"],
+                                ["ADH",  "adh"],
+                                ["CYC",  "cyc"],
+                                ["GPD",  "gpd"],
+                                ["DASH",  "\"-\""],
+                                ["CMV",  "cmv"],
+                                ["SV40",  "SV40"],
+                                ["TET_ON",  "tet on"],
+                                ["TET_OFF",  "tet off"],
+                                ["RIM1",  "rim1"]
+                            ],
+                        "EXON_OR_THREE_PRIME" : [
+                                ["EXON",  "exon"],
+                                ["3P",  "3'"],
+                                ["5P",  "5'"]
+                            ], 
+                        "SIRNA_SPECIES" : [
+                                ["HUMAN",  "Human"],
+                                ["MOUSE",  "Mouse'"],
+                            ], 
+                        "SIRNA_COMPANY" : [
+                                ["AMBION",  "Ambion"],
+                                ["DHARMACON",  "Dharmacon'"],
+                                ["INVITORGEN",  "Invitrogen'"],
+                                ["MICROSYNTH",  "Microsynth'"],
+                                ["QIAGEN",  "Qiagen'"],
+                                ["GIFT",  "Gift'"]
+                            ], 
+                       "SIRNA_FREEZER_LOCATION" : [
+                                ["BIGLABFREEZER",  "BigLab freezer"],
+                                ["SMALLLAB_BIGFREEZER",  "SmallLab Big freezer'"],
+                                ["FREEZER_G17",  "Freezer G17'"],
+                                ["G93-FRANK",  "G9.3--Frank'"],
+                                ["FREEZER-G17_BOX_NATHALIE",  "Freezer G17 Box Nathalie'"],
+                                ["BOX-THIBAULT-BIGFREEZER-SMALLLAB",  "Box thibault Big freezer small lab'"],
+                                ["BOX-NATHALIE",  "Box Nathalie'"]
+                            ], 
+                       "TRANSFECTION_AGENT" : [
+                                ["FUGENE",  "Fugene"],
+                                ["LIPOFECTAMINE",  "Lipofectamine'"],
+                                ["OLIGOFECTAMINE",  "Oligofectamine'"],
+                                ["RNAIMAX",  "RNAimax'"]
+                            ],                             
+                        "FREEZER" : [
+                                ["G9_FRIDGE-1",  "G9 Fridge 1"],
+                                ["G9_FRIDGE-2",  "G9 Fridge 2"],
+                                ["G9_FREEZER-A",  "-20C Small Peter Lab"],
+                                ["G9_FREEZER-B",  "G9 Freezer B"],
+                                ["G9_FREEZER-C",  "G9 Freezer C"],
+                                ["G10_FREEZER-D",  "G10 Freezer D"],
+                                ["G10_FREEZER-E",  "G10 Freezer E"],
+                                ["G10_FREEZER-F",  "G10 Freezer F"],
+                                ["G10_FREEZER-G",  "G10 Freezer G"],
+                                ["G10_FREEZER-H",  "G10 Freezer H"],
+                                ["G10_FREEZER-I",  "G10 Freezer I"],
+                                ["G10_FRIDGE-3",  "+4C Big Peter Lab"],
+                                ["G10_FRIDGE-4",  "G10 Fridge 4"],
+                                ["G10_FRIDGE-5",  "G10 Fridge 5"],
+                                ["G10_FRIDGE-6",  "G10 Fridge 6"],
+                                ["G10_FRIDGE-7",  "G10 Fridge 7"],
+                                ["G11_FRIDGE-8",  "G10 Fridge 8"],
+                                ["G14_FREEZER-J",  "G14 Freezer J"],
+                                ["G14_FREEZER-K",  "G14 Freezer K"],
+                                ["G14_FREEZER-L",  "G14 Freezer L"],
+                                ["G14_FREEZER-M",  "G14 Freezer M"],
+                                ["G14_FRIDGE-9",  "G14 Fridge 9"],
+                                ["G14_FRIDGE-10",  "G14 Fridge 10"],
+                                ["G17_FRIDGE-11",  "G17 Fridge 11"],
+                                ["G17_FRIDGE-12",  "G17 Fridge 12"],
+                                ["G17_FREEZER-N",  "G17 Freezer N"],
+                                ["USER_BENCH-20",  "Bench -20�C"],
+                                ["USER_BENCH-80",  "Bench -80�C"],
+                                ["USER_BENCH-RT",  "Bench RT"],
+                                ["USER_BENCH",  "Bench"]
+                                    ],
+                         "STORAGE_BOX_SIZE" : [
+                                ["9X9", "9 x 9 box"],
+                                ["5X5", "5 x 5 box"],
+                                ["10X10", "10 x 10 box"],
+                                ["10X12", "10 x 12 box"]
+                            ],
+                          }
\ No newline at end of file
diff --git a/plasmid/source/core-plugins/petermigration/2/as/initialize-master-data.py b/plasmid/source/core-plugins/petermigration/2/as/initialize-master-data.py
new file mode 100644
index 0000000000000000000000000000000000000000..ddb26f48fbfb39bb26663af7e353b0a4a1d41efc
--- /dev/null
+++ b/plasmid/source/core-plugins/petermigration/2/as/initialize-master-data.py
@@ -0,0 +1,155 @@
+#
+# Copyright 2014 ETH Zuerich, Scientific IT Services
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+# MasterDataRegistrationTransaction Class
+import definitions
+import definitionsVoc
+import os
+import copy
+import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.DataType as DataType
+
+##
+## Globals
+##
+vocabulariesCache = {};
+propertiesCache = {};
+samplesCache = {};
+tr = service.transaction()
+
+##
+## API Facade
+##
+def createVocabularyWithTerms(vocabularyCode, terms):
+    vocabulary = tr.createNewVocabulary(vocabularyCode);
+    vocabulary.setChosenFromList(True);
+    addTerms(vocabulary, terms);
+    vocabulariesCache[vocabularyCode] = vocabulary;
+    
+def addTerms(vocabulary, terms):
+    for term in terms:
+        addTermWithLabel(vocabulary, term[0], term[1])
+    
+def addTermWithLabel(vocabulary, termCode, termLabel):
+    newTerm = tr.createNewVocabularyTerm(termCode);
+    newTerm.setLabel(termLabel);
+    vocabulary.addTerm(newTerm);
+    
+def createSampleTypeWithProperties(sampleTypeCode, description, properties):
+    newSampleType = tr.getOrCreateNewSampleType(sampleTypeCode);
+    newSampleType.setDescription(description);
+    newSampleType.setShowParents(True);
+    newSampleType.setAutoGeneratedCode(True);
+    newSampleType.setGeneratedCodePrefix(sampleTypeCode[:3]);
+    addProperties(newSampleType, properties);
+    samplesCache[sampleTypeCode] = newSampleType;
+    
+def createDataSetTypeWithProperties(dataSetCode, kind, description, properties):
+    newDataSet = tr.getOrCreateNewDataSetType(dataSetCode);
+    newDataSet.setDataSetKind(kind);
+    newDataSet.setDescription(description);
+    addProperties(newDataSet, properties);
+    
+def createExperimentTypeWithProperties(experimentTypeCode, description, properties):
+    newExperiment = tr.getOrCreateNewExperimentType(experimentTypeCode);
+    newExperiment.setDescription(description);
+    addProperties(newExperiment, properties);
+
+def addPropertiesToSamples(sampleTypeCodes, properties):
+    for sampleTypeCode in sampleTypeCodes:
+        sampleType = samplesCache[sampleTypeCode];
+        if sampleType is None:
+            sampleType = tr.getSampleType(sampleType)
+        addProperties(sampleType, properties);
+    
+def addProperties(entity, properties):
+    for property in properties:
+        addProperty(entity, property[0], property[1], property[2], property[3], property[4], property[5], property[6], property[7], property[8]);
+    
+def addProperty(entity, propertyCode, section, propertyLabel, dataType, vocabularyCode, propertyDescription, managedScript, dynamicScript, isMandatory):
+    property = None;
+    
+    if propertyCode in propertiesCache:
+        property = propertiesCache[propertyCode];
+    else:
+        property = createProperty(propertyCode, dataType, propertyLabel, propertyDescription, vocabularyCode);
+    
+    propertyAssignment = tr.assignPropertyType(entity, property);
+    propertyAssignment.setSection(section);
+    propertyAssignment.setMandatory(isMandatory);
+    if managedScript != None:
+        propertyAssignment.setManaged(True);
+        propertyAssignment.setShownEdit(True);
+        propertyAssignment.setScriptName(managedScript);
+    if dynamicScript != None:
+        propertyAssignment.setDynamic(True);
+        propertyAssignment.setShownEdit(True);
+        propertyAssignment.setScriptName(dynamicScript);
+
+def createProperty(propertyCode, dataType, propertyLabel, propertyDescription, vocabularyCode):
+    property = tr.getOrCreateNewPropertyType(propertyCode, dataType);
+    property.setDescription(propertyDescription);
+    property.setLabel(propertyLabel);
+    propertiesCache[propertyCode] = property;
+    if dataType == DataType.CONTROLLEDVOCABULARY:
+        property.setVocabulary(vocabulariesCache[vocabularyCode]);
+    return property;
+
+def addStorageGroups(numGroups, sampleType):
+    for storageIdx in range(1,(numGroups + 1)):
+        storageGroup = definitions.getStorageGroupDefinition();
+        for property in storageGroup:
+            property[0] = property[0] + "_" + str(storageIdx);
+            property[1] = property[1] + "_" + str(storageIdx);
+            property[5] = property[5] + "_" + str(storageIdx);
+        addPropertiesToSamples([sampleType], storageGroup);
+
+def addBoxSizeProperty(numGroups, sampleType):
+    for storageIdx in range(1,(numGroups + 1)):
+        property = ["STORAGE_BOX_SIZE",     "Physical Storage",        "box size",         DataType.CONTROLLEDVOCABULARY,      "STORAGE_BOX_SIZE",   "Storage Box size",   None, None, False];
+        property[0] = property[0] + "_" + str(storageIdx);
+        property[1] = property[1] + "_" + str(storageIdx);
+        property[5] = property[5] + "_" + str(storageIdx);
+        addPropertiesToSamples([sampleType], storageGroup);
+
+#Valid Script Types: DYNAMIC_PROPERTY, MANAGED_PROPERTY, ENTITY_VALIDATION 
+def createScript(path, name, description, scriptType, entityType):
+    scriptAsString = open(path, 'r').read();
+    script = tr.getOrCreateNewScript(name);
+    script.setName(name);
+    script.setDescription(description);
+    script.setScript(scriptAsString);
+    script.setScriptType(scriptType);
+    script.setEntityForScript(entityType);
+    return script;
+
+##
+## Vocabulary Types
+##
+createVocabularyWithTerms("STORAGE_BOX_SIZE", [
+                                ["9X9", "9 x 9 box"],
+                                ["5X5", "5 x 5 box"],
+                                ["10X10", "10 x 10 box"],
+                                ["10X12", "10 x 12 box"]
+                            ]);
+
+##
+## New Position Property
+##
+addBoxSizeProperty(definitions.numberOfStorageGroups, "ANTIBODY");
+addBoxSizeProperty(definitions.numberOfStorageGroups, "CELL");
+addBoxSizeProperty(definitions.numberOfStorageGroups, "STRAIN");
+addBoxSizeProperty(definitions.numberOfStorageGroups, "PLASMID");
+addBoxSizeProperty(definitions.numberOfStorageGroups, "OLIGO");
diff --git a/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/definitions.py b/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/definitions.py
new file mode 100644
index 0000000000000000000000000000000000000000..6cf0d515317babb43e8d21a5145016ef89930064
--- /dev/null
+++ b/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/definitions.py
@@ -0,0 +1,375 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.DataType as DataType
+
+#
+# Helper Methods
+#
+def getPropertyDefinitionByCode(definition, code):
+    for property in definition:
+        if property[0] == code:
+            return property
+    return None
+
+#
+# Scripts
+#
+commentsScriptName = "COMMENTS";
+adenosineScriptName = "ADENOSINE_COUNT"
+cytosineScriptName= "CYTOSINE_COUNT"
+gcScriptName= "GC"
+guanosineScriptName= "GUANOSINE_COUNT"
+lengthScriptName= "SEQUENCE_LENGTH"
+nucelotideScriptName= "ONUCLEOTIDE_COUNT"
+thymidineScriptName= "THYMIDINE_COUNT"
+tmScriptName= "TM"
+
+#
+# Storage 
+#
+numberOfStorageGroups = 65
+
+def getStorageGroupPropertyCodes():
+    propertyCodes = [];
+    for property in getStorageGroupDefinition():
+        propertyCodes.append(property[0]);
+    return propertyCodes;
+
+def getStorageGroupDefinition():
+    return [
+    ["STORAGE_NAME",         "Physical Storage",        "location",         DataType.CONTROLLEDVOCABULARY,      "FREEZER",            "Storage Name",       None, None, False],
+    ["STORAGE_ROW",          "Physical Storage",        "Storage Row",      DataType.INTEGER,                    None,                "Storage Row",        None, None, False],
+    ["STORAGE_COLUMN",       "Physical Storage",        "Storage Column",   DataType.INTEGER,                    None,                "Storage Column",     None, None, False],
+    ["STORAGE_BOX_NAME",     "Physical Storage",        "box label",        DataType.VARCHAR,                    None,                "Storage Box Name",   None, None, False],
+    ["STORAGE_BOX_SIZE",     "Physical Storage",        "box size",         DataType.CONTROLLEDVOCABULARY,      "STORAGE_BOX_SIZE",   "Storage Box size",   None, None, False],
+    ["STORAGE_USER",         "Physical Storage",        "frozen by",        DataType.CONTROLLEDVOCABULARY,      "ALL_LAB_MEMBERS",    "Storage User Id",    None, None, False],
+    ["STORAGE_BOX_POSITION", "Physical Storage",        "position",         DataType.VARCHAR,                    None,                "Storage Box Position",    None, None, False]
+];
+
+#
+# Experiment Types
+#
+experimentDefinition = [
+    ["NAME",                   "General", "Name",                     DataType.VARCHAR,             None,    "Name", None, None, False],
+    ["EXPERIMENTAL_GOALS",     "General", "Experimental goals",       DataType.MULTILINE_VARCHAR,   None,    "Goal of the experiment", None, None, False],
+    ["GRANT",                  "General", "Grant",                    DataType.VARCHAR,             None,    "grant name", None, None, False],
+    ["START_DATE",             "General", "Start Date",               DataType.TIMESTAMP,           None,    "Start Date", None, None, False],
+    ["END_DATE",               "General", "End Date",                 DataType.TIMESTAMP,           None,    "End Date", None, None, False],
+    ["EXPERIMENTAL_RESULTS",   "General", "Experimental results",     DataType.MULTILINE_VARCHAR,   None,    "Brief summary of the results obtained", None, None, False],
+    ["XMLCOMMENTS",            "Comments","Comments List",            DataType.XML,                 None,    "Several comments can be added by different users", commentsScriptName, None, False]
+];
+
+#
+# Sample Types
+#
+antibodyDefinition = [
+    ["NAME",                           "General",                "antibody ID",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_ID_NR",                 "General",                "antibody_id_nr",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIGEN",                        "General",                "antigen",                            DataType.VARCHAR,                    None,  "", None, None, False],
+    ["BARCODE",                        "General",                "barcode",                            DataType.VARCHAR,                    None,  "", None, None, False],
+    ["BARCODE_LABEL",                  "General",                "barcode label",                      DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_FACS_BLOCK",            "General",                "block facs",                         DataType.CONTROLLEDVOCABULARY,       "BLOCK",  "", None, None, False],
+    ["ANTIBODY_IF_BLOCK",              "General",                "block IFF",                          DataType.CONTROLLEDVOCABULARY,       "BLOCK",  "", None, None, False],
+    ["ANTIBODY_WB_BLOCK",              "General",                "block western",                      DataType.CONTROLLEDVOCABULARY,       "BLOCK",  "", None, None, False],
+    ["CATALOGUE_NUMBER",               "General",                "catalog id #",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CLASS",                          "General",                "class",                              DataType.CONTROLLEDVOCABULARY,       "CLASS",  "", None, None, False],
+    ["CLONE",                          "General",                "clone",                              DataType.VARCHAR,                    None,  "", None, None, False],
+    ["COMPANY",                        "General",                "company",                            DataType.CONTROLLEDVOCABULARY,       "COMPANY",  "", None, None, False],
+    ["ANTIBODY_FACS_CONC",             "General",                "conc facs",                          DataType.CONTROLLEDVOCABULARY,       "CONCENTRATION_FACS",  "", None, None, False],
+    ["ANTIBODY_IF_CONC",               "General",                "conc IFF",                           DataType.CONTROLLEDVOCABULARY,       "CONCENTRATION_FACS",  "", None, None, False],
+    ["ANTIBODY_IP_CONC",               "General",                "conc ip",                            DataType.CONTROLLEDVOCABULARY,       "CONCENTRATION_IP",  "", None, None, False],
+    ["ANTIBODY_WB_CONC",               "General",                "conc western",                       DataType.CONTROLLEDVOCABULARY,       "CONCENTRATION_WESTERN",  "", None, None, False],
+    ["ANTIBODY_CONCENTRATION",         "General",                "concentration",                      DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_CROSSREACTIVITY",       "General",                "crossreactivity",                    DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_FACS_FIX",              "General",                "fix facs",                           DataType.CONTROLLEDVOCABULARY,       "FIX",  "", None, None, False],
+    ["ANTIBODY_IF_FIX",                "General",                "fix IFF",                            DataType.CONTROLLEDVOCABULARY,       "FIX",  "", None, None, False],
+    ["ANTIBODY_WB_FIX",                "General",                "fix western",                        DataType.CONTROLLEDVOCABULARY,       "FIX",  "", None, None, False],
+    ["INVESTIGATOR",                   "General",                "investigator",                       DataType.CONTROLLEDVOCABULARY,       "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["LABEL",                          "General",                "label",                              DataType.CONTROLLEDVOCABULARY,       "LABEL",  "", None, None, False],
+    ["LOTNUMBER",                      "General",                "lotnumber",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["MODIFIED_BY",                    "General",                "modified by",                        DataType.CONTROLLEDVOCABULARY,       "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["MONO_POLYCLONAL",                "General",                "mono/polyclonal",                    DataType.CONTROLLEDVOCABULARY,       "MONO-POLYCLONAL",  "", None, None, False],
+    ["ANTIBODY_FACS_NOTES",            "General",                "notes FACS",                         DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_IF_NOTES",              "General",                "notes IFF",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_IP_NOTES",              "General",                "notes IP",                           DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ANTIBODY_WB_NOTES",              "General",                "notes western",                      DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SERIAL_NUMBER",                  "General",                "serial number",                      DataType.INTEGER,                    None,  "", None, None, False],
+    ["ANTIGEN_SIZE",                   "General",                "size",                               DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SOURCE",                         "General",                "source",                             DataType.CONTROLLEDVOCABULARY,       "SOURCE",  "", None, None, False],
+    ["CREATION_DATE",                  "General",                "creation date",                      DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["MODIFICATION_DATE",              "General",                "modification date",                  DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["FROZEN",                         "General",                "frozen",                             DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["BOX",                            "Storage",                "box",                                DataType.VARCHAR,                    None,  "", None, None, False],
+    ["RACK",                           "Storage",                "rack",                               DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PUBLISHED_IN",                   "Reference",              "reference",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["COMMENTS",                       "Comments",               "info",                               DataType.VARCHAR,                    None,  "", None, None, False]
+];
+
+cellDefinition = [
+    ["CO2",                             "General",                "%CO2",                                DataType.CONTROLLEDVOCABULARY,       "CO2",  "", None, None, False],
+    ["ATCC_NUM",                        "General",                "ATCC No.",                            DataType.VARCHAR,                    None,  "", None, None, False],
+    ["BARCODE",                         "General",                "barcode",                             DataType.VARCHAR,                    None,  "", None, None, False],
+    ["BARCODE_LABEL",                   "General",                "barcode label",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CELL_ID_NR",                      "General",                "cell_id_nr",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CELL_ID_NR_COPY",                 "General",                "cell_id_nr Copy",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["NAME",                            "General",                "cell ID",                             DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CELL_ID_COPY",                    "General",                "cell ID Copy",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CLONE",                           "General",                "clone #",                             DataType.INTEGER,                    None,  "", None, None, False],
+    ["COMPARE_FIELD",                   "General",                "compare field",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CONC1",                           "General",                "conc.1",                              DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT1",                      "General",                "concentration unit 1",                DataType.CONTROLLEDVOCABULARY,       "CONC_UNITS",  "", None, None, False],
+    ["CONC2",                           "General",                "conc.2",                              DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT2",                      "General",                "concentration unit 2",                DataType.CONTROLLEDVOCABULARY,       "CONC_UNITS",  "", None, None, False],
+    ["CONC3",                           "General",                "conc.3",                              DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT3",                      "General",                "concentration unit 3",                DataType.CONTROLLEDVOCABULARY,       "CONC_UNITS",  "", None, None, False],
+    ["CONC4",                           "General",                "conc.4",                              DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT4",                      "General",                "concentration unit 4",                DataType.CONTROLLEDVOCABULARY,       "CONC_UNITS",  "", None, None, False],
+    ["CREATION_DATE",                   "General",                "creation date",                       DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["DATE",                            "General",                "date",                                DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["FROZEN",                          "General",                "frozen",                              DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["GROWTH_TEMPERATURE",              "General",                "growth temperature",                  DataType.CONTROLLEDVOCABULARY,       "GROWTH_TEMPERATURE",  "", None, None, False],
+    ["INVESTIGATOR",                    "General",                "investigator",                        DataType.CONTROLLEDVOCABULARY,       "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["LINE_NAME",                       "General",                "line name",                           DataType.VARCHAR,                    None,  "", None, None, False],
+    ["MEDIUM",                          "General",                "medium",                              DataType.CONTROLLEDVOCABULARY,       "MEDIUM",  "", None, None, False],
+    ["MEDIUM_SPECIALS",                 "General",                "medium specials",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["MODIFICATION_DATE",               "General",                "modification date",                   DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["MODIFIED_BY",                     "General",                "modified by",                         DataType.CONTROLLEDVOCABULARY,       "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["MYCOPLASM_TESTED",                "General",                "mycoplasm_tested",                    DataType.BOOLEAN,                    None,  "", None, None, False],
+    ["OBTAINED_FROM",                   "General",                "obtained from",                       DataType.CONTROLLEDVOCABULARY,       "CELL_OBTAINED_FROM",  "", None, None, False],
+    ["PAGE_NUMBER",                     "General",                "page number",                         DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PARENTAL_CELL",                   "General",                "parental cell",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PASSAGE",                         "General",                "passage",                             DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PERS_CELL_NUMBER",                "General",                "PersCellNumber",                      DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PLASMID_ID1",                     "General",                "plasmid ID 1",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PLASMID_ID2",                     "General",                "plasmid ID 2",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SELECTION_PLASMID1",              "General",                "sel.1",                               DataType.CONTROLLEDVOCABULARY,       "SELECTION",  "", None, None, False],
+    ["SELECTION_PLASMID2",              "General",                "sel.2",                               DataType.CONTROLLEDVOCABULARY,       "SELECTION",  "", None, None, False],
+    ["SELECTION_PLASMID3",              "General",                "sel.3",                               DataType.CONTROLLEDVOCABULARY,       "SELECTION",  "", None, None, False],    
+    ["SELECTION_PLASMID4",              "General",                "sel.4",                               DataType.CONTROLLEDVOCABULARY,       "SELECTION",  "", None, None, False],
+    ["SERIAL_NUMBER",                   "General",                "serial number",                       DataType.INTEGER,                    None,  "", None, None, False],
+    ["SPECIES",                         "General",                "species",                             DataType.CONTROLLEDVOCABULARY,       "CELL_SPECIES",  "", None, None, False],
+    ["VIRUS_ID1",                       "General",                "virus ID 1",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["VIRUS_ID2",                       "General",                "virus ID 2",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PUBLISHED_IN",                    "Reference",              "reference",                           DataType.VARCHAR,                    None,  "", None, None, False],
+    ["COMMENTS",                        "Comments",               "info",                                DataType.VARCHAR,                    None,  "", None, None, False]
+];
+
+strainDefinition = [
+    ["CO2",                             "General",                  "%CO2",                             DataType.CONTROLLEDVOCABULARY,       "CO2",  "", None, None, False],
+    ["BACKGROUND",                      "General",                  "background",                       DataType.CONTROLLEDVOCABULARY,       "STRAIN_BACKGROUND",  "", None, None, False],
+    ["BARCODE",                         "General",                  "barcode",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["BARCODE_LABEL",                   "General",                  "barcode label",                    DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CIR",                             "General",                  "cir",                              DataType.CONTROLLEDVOCABULARY,       "CIR",  "", None, None, False],
+    ["CONC_INDUCER1",                   "General",                  "conc. inducer 1",                  DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CONC_INDUCER2",                   "General",                  "conc. inducer 2",                  DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CONC_INDUCER3",                   "General",                  "conc. inducer 3",                  DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CONC1",                           "General",                  "conc.1",                           DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT1",                      "General",                  "concentration unit 1",             DataType.VARCHAR,                    None,  "", None, None, False],
+    ["CONC2",                           "General",                  "conc.2",                           DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT2",                      "General",                  "concentration unit 2",             DataType.CONTROLLEDVOCABULARY,       "CONC_UNITS",  "", None, None, False],
+    ["CONC3",                           "General",                  "conc.3",                           DataType.REAL,                       None,  "", None, None, False],
+    ["CONC_UNIT3",                      "General",                  "concentration unit 3",             DataType.CONTROLLEDVOCABULARY,       "CONC_UNITS",  "", None, None, False],
+    ["CREATION_DATE",                   "General",                  "creation date",                    DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["DATE",                            "General",                  "date",                             DataType.VARCHAR,                    None,  "", None, None, False],
+    ["DERIVATION",                      "General",                  "derivation",                       DataType.CONTROLLEDVOCABULARY,       "DERIVATION",  "", None, None, False],
+    ["EXPRESSED_PROTEIN1",              "General",                  "expressed protein 1",              DataType.VARCHAR,                    None,  "", None, None, False],
+    ["EXPRESSED_PROTEIN2",              "General",                  "expressed protein 2",              DataType.VARCHAR,                    None,  "", None, None, False],
+    ["EXPRESSED_PROTEIN3",              "General",                  "expressed protein 3",              DataType.VARCHAR,                    None,  "", None, None, False],
+    ["FREE_PLASMID",                    "General",                  "freeplasmid",                      DataType.VARCHAR,                    None,  "", None, None, False],
+    ["FREEZEDATE",                      "General",                  "freezedate",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["FROZEN",                          "General",                  "frozen",                           DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["GAL",                             "General",                  "gal",                              DataType.CONTROLLEDVOCABULARY,       "GAL",  "", None, None, False],
+    ["GENE_EXPRESSION1",                "General",                  "gene expression 1",                DataType.VARCHAR,                    None,  "", None, None, False],
+    ["GENE_EXPRESSION2",                "General",                  "gene expression 2",                DataType.VARCHAR,                    None,  "", None, None, False],
+    ["GROWTH_TEMPERATURE",              "General",                  "growth temperature",               DataType.CONTROLLEDVOCABULARY,       "GROWTH_TEMPERATURE",  "", None, None, False],
+    ["INDUCER1",                        "General",                  "inducer 1",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["INDUCER2",                        "General",                  "inducer 2",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["INDUCER3",                        "General",                  "inducer 3",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["COMMENTS",                        "General",                  "info",                             DataType.VARCHAR,                    None,  "", None, None, False],
+    ["INVESTIGATOR",                    "General",                  "investigator",                     DataType.CONTROLLEDVOCABULARY,       "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["MARKERS",                         "General",                  "markers",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["MAT",                             "General",                  "mat",                              DataType.CONTROLLEDVOCABULARY,       "MAT",  "", None, None, False],
+    ["MEDIUM",                          "General",                  "medium",                           DataType.CONTROLLEDVOCABULARY,       "MEDIUM",  "", None, None, False],
+    ["MEDIUM_SPECIALS",                 "General",                  "medium specials",                  DataType.VARCHAR,                    None,  "", None, None, False],
+    ["MODIFICATION_DATE",               "General",                  "modification date",                DataType.TIMESTAMP,                  None,  "", None, None, False],
+    ["MODIFIED_BY",                     "General",                  "modified by",                      DataType.CONTROLLEDVOCABULARY,       "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["NUMBER",                          "General",                  "number",                           DataType.VARCHAR,                    None,  "", None, None, False],
+    ["STRAIN_OBTAINED_FROM",            "General",                  "obtained from",                    DataType.VARCHAR,                    None,  "", None, None, False],
+    ["ORF",                             "General",                  "orf",                              DataType.VARCHAR,                    None,  "", None, None, False],    
+    ["PAGE_NUMBER",                     "General",                  "page number",                      DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PARENTAL_CELL",                   "General",                  "parental cell",                    DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PASSAGE",                         "General",                  "passage",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PERSYEASTNUMBER",                 "General",                  "persyeastnumber",                  DataType.INTEGER,                    None,  "", None, None, False],
+    ["PETERYEASTNUMBER",                "General",                  "peteryeastnumber",                 DataType.INTEGER,                    None,  "", None, None, False],
+    ["PLASMID_ID1",                     "General",                  "plasmid ID 1",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PLASMID_ID2",                     "General",                  "plasmid ID 2",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PLASMID_ID3",                     "General",                  "plasmid ID 3",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PROMOTER1",                       "General",                  "promoter 1",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PROMOTER2",                       "General",                  "promoter 2",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PROMOTER3",                       "General",                  "promoter 3",                       DataType.VARCHAR,                    None,  "", None, None, False],
+    ["PUBLISHED_IN",                    "General",                  "reference",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SELECTION1",                      "General",                  "sel.1",                            DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SELECTION2",                      "General",                  "sel.2",                            DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SELECTION3",                      "General",                  "sel.3",                            DataType.VARCHAR,                    None,  "", None, None, False],
+    ["SELECTION",                       "General",                  "selection",                        DataType.CONTROLLEDVOCABULARY,       "SELECTION_YEAST",  "", None, None, False],
+    ["SERIAL_NUMBER",                   "General",                  "serial number",                    DataType.INTEGER,                    None,  "", None, None, False],
+    ["STRAIN_SOURCE",                   "General",                  "source",                           DataType.CONTROLLEDVOCABULARY,       "STRAIN_SOURCE",  "", None, None, False],
+    ["SPECIES",                         "General",                  "species",                          DataType.VARCHAR,                    None,  "", None, None, False],
+    ["STRAIN_ID_NR",                    "General",                  "strain_id_nr",                     DataType.VARCHAR,                    None,  "", None, None, False],
+    ["NAME",                            "General",                  "strain ID",                        DataType.VARCHAR,                    None,  "", None, None, False],
+    ["STRAIN_NAME",                     "General",                  "strain name",                      DataType.VARCHAR,                    None,  "", None, None, False]
+];
+
+oligoDefinition = [
+    ["AMOUNT",                          "General",                  "amount",                           DataType.REAL,                      None, "", None, None, False],
+    ["BARCODE",                         "General",                  "barcode",                          DataType.VARCHAR,                   None, "", None, None, False],
+    ["BARCODE_LABEL",                   "General",                  "barcode label",                    DataType.VARCHAR,                   None, "", None, None, False],
+    ["OLIGO_COMPANY",                   "General",                  "company",                          DataType.CONTROLLEDVOCABULARY,      "OLIGO_COMPANY", "", None, None, False],
+    ["CONCENTRATION",                   "General",                  "concentration",                    DataType.REAL,                      None, "", None, None, False],
+    ["CONCENTRATION_UNIT",              "General",                  "concentration unit",               DataType.CONTROLLEDVOCABULARY,      "CONC_UNITS", "", None, None, False],
+    ["CREATION_DATE",                   "General",                  "creation date",                    DataType.TIMESTAMP,                 None, "", None, None, False],
+    ["DATE",                            "General",                  "date",                             DataType.VARCHAR,                   None, "", None, None, False],
+    ["FROZEN",                          "General",                  "frozen",                           DataType.TIMESTAMP,                 None, "", None, None, False],
+    ["GENE_LOCUS",                      "General",                  "gene locus",                       DataType.VARCHAR,                   None, "", None, None, False],
+    ["GRADE",                           "General",                  "grade",                            DataType.CONTROLLEDVOCABULARY,      "OLIGO_GRADE", "", None, None, False],
+    ["COMMENTS",                        "General",                  "Info",                             DataType.VARCHAR,                   None, "", None, None, False],
+    ["INVESTIGATOR",                    "General",                  "investigator",                     DataType.CONTROLLEDVOCABULARY,      "ALL_LAB_MEMBERS", "", None, None, False],
+    ["MODIFICATION_DATE",               "General",                  "modification date",                DataType.TIMESTAMP,                 None, "", None, None, False],
+    ["MODIFIED_BY",                     "General",                  "modified by",                      DataType.CONTROLLEDVOCABULARY,      "ALL_LAB_MEMBERS", "", None, None, False],
+    ["OD",                              "General",                  "od",                               DataType.INTEGER,                   None, "", None, None, False],
+    ["NAME",                            "General",                  "oligo ID",                         DataType.INTEGER,                   None, "", None, None, False],
+    ["OLIGO_ID_NR",                     "General",                  "oligo_id_nr",                      DataType.VARCHAR,                   None, "", None, None, False],
+    ["ORDER_DATE",                      "General",                  "order date",                       DataType.VARCHAR,                   None, "", None, None, False],
+    ["OLIGO_ORGANISM",                  "General",                  "organism",                         DataType.CONTROLLEDVOCABULARY,      "OLIGO_ORGANISM", "", None, None, False],
+    ["PAGE_NUMBER",                     "General",                  "page number",                      DataType.VARCHAR,                   None, "", None, None, False],
+    ["PRIMER_PARTNER",                  "General",                  "primer partner",                   DataType.VARCHAR,                   None, "", None, None, False],
+    ["PRIMER_POSITION",                 "General",                  "primer position",                  DataType.CONTROLLEDVOCABULARY,      "PRIMER_POSITION", "", None, None, False],
+    ["PUBLISHED_IN",                    "General",                  "PublishedIn",                      DataType.VARCHAR,                   None, "", None, None, False],
+    ["RESTRICTION_SITE",                "General",                  "restriction site",                 DataType.CONTROLLEDVOCABULARY,      "RESTRICTION", "", None, None, False],
+    ["SEQUENCE",                        "General",                  "sequence",                         DataType.VARCHAR,                   None, "", None, None, False],
+    ["SERIAL_NUMBER",                   "General",                  "serial number",                    DataType.VARCHAR,                   None, "", None, None, False],
+    ["USAGE",                           "General",                  "usage",                            DataType.CONTROLLEDVOCABULARY,      "OLIGO_USAGE", "", None, None, False],
+    ["ADENOSINE",                       "Calculated fields",        "adenosine",                        DataType.INTEGER,                   None, "", adenosineScriptName, None, False],
+    ["CYTOSINE",                        "Calculated fields",        "cytosine",                         DataType.INTEGER,                   None, "", cytosineScriptName, None, False],
+    ["GUANOSINE",                       "Calculated fields",        "guanosine",                        DataType.INTEGER,                   None, "", guanosineScriptName, None, False],
+    ["THYMIDINE",                       "Calculated fields",        "thymidine",                        DataType.INTEGER,                   None, "", thymidineScriptName, None, False],
+    ["LENGTH",                          "Calculated fields",        "length",                           DataType.INTEGER,                   None, "", lengthScriptName, None, False],
+    ["GC",                              "Calculated fields",        "gc",                               DataType.REAL,                      None, "", gcScriptName, None, False],
+    ["TM",                              "Calculated fields",        "tm",                               DataType.REAL,                      None, "", tmScriptName, None, False],
+    ["O_NUCLEOTIDE",                    "Calculated fields",        "O nucleotide",                     DataType.INTEGER,                   None, "", nucelotideScriptName, None, False]
+];
+
+plasmidDefinition = [
+    ["BACKBONE",                        "General",                  "backbone",                         DataType.CONTROLLEDVOCABULARY,      "BACKBONE",  "", None, None, False],
+    ["BACKUP_STORAGE",                  "General",                  "backup storage",                   DataType.VARCHAR,                   None,  "", None, None, False],
+    ["BACTERIAL_HOST",                  "General",                  "bacterial host",                   DataType.CONTROLLEDVOCABULARY,      "BACTERIAL_HOST",  "", None, None, False],
+    ["BARCODE",                         "General",                  "barcode",                          DataType.VARCHAR,                   None,  "", None, None, False],
+    ["BARCODE_LABEL",                   "General",                  "barcode label",                    DataType.VARCHAR,                   None,  "", None, None, False],
+    ["BIOSAFETY_LEVEL",                 "General",                  "biosafety level",                  DataType.CONTROLLEDVOCABULARY,      "BIOSAFETY_LEVEL",  "", None, None, False],
+    ["BOXNR",                           "General",                  "boxNr",                            DataType.VARCHAR,                   None,  "", None, None, False],
+    ["CONCENTRATION_UNIT",              "General",                  "concentration unit",               DataType.CONTROLLEDVOCABULARY,      "CONC_UNITS",  "", None, None, False],
+    ["CONSTRUCTION_METHOD",             "General",                  "construction method",              DataType.VARCHAR,                   None,  "", None, None, False],
+    ["CREATION_DATE",                   "General",                  "creation date",                    DataType.TIMESTAMP,                 None,  "", None, None, False],
+    ["CTERMTAG",                        "General",                  "Ctermtag",                         DataType.VARCHAR,                   None,  "", None, None, False],
+    ["DATE",                            "General",                  "date",                             DataType.VARCHAR,                   None,  "", None, None, False],
+    ["DATE_OF_CONSTRUCTION",            "General",                  "date of construction",             DataType.TIMESTAMP,                 None,  "", None, None, False],
+    ["DERIVATIVE_OF",                   "General",                  "Derivative of",                    DataType.VARCHAR,                   None,  "", None, None, False],
+    ["ECOLI_STRAIN",                    "General",                  "E.coli strain",                    DataType.VARCHAR,                   None,  "", None, None, False],
+    ["EXCISE_INSERT",                   "General",                  "excise insert",                    DataType.VARCHAR,                   None,  "", None, None, False],
+    ["EXCISE_INSERT2",                  "General",                  "excise insert 2",                  DataType.VARCHAR,                   None,  "", None, None, False],
+    ["FREEZEDATE",                      "General",                  "freezedate",                       DataType.VARCHAR,                   None,  "", None, None, False],
+    ["FROZEN",                          "General",                  "frozen",                           DataType.TIMESTAMP,                 None,  "", None, None, False],
+    ["FUNCTIONAL_ELEMENTS_INSERT",      "General",                  "functional elements insert",       DataType.VARCHAR,                   None,  "", None, None, False],
+    ["HYPERCARD_FILE",                  "General",                  "hypercard file",                   DataType.VARCHAR,                   None,  "", None, None, False],
+    ["INFO",                            "General",                  "info",                             DataType.VARCHAR,                   None,  "", None, None, False],
+    ["INSERT",                          "General",                  "insert",                           DataType.VARCHAR,                   None,  "", None, None, False],
+    ["INSERTION_SITE",                  "General",                  "insertion site",                   DataType.VARCHAR,                   None,  "", None, None, False],
+    ["INVESTIGATOR",                    "General",                  "investigator",                     DataType.CONTROLLEDVOCABULARY,      "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["LINEARIZE",                       "General",                  "linearize",                        DataType.VARCHAR,                   None,  "", None, None, False],
+    ["MARKER",                          "General",                  "Marker",                           DataType.VARCHAR,                   None,  "", None, None, False],
+    ["MODIFICATION_DATE",               "General",                  "modification date",                DataType.VARCHAR,                   None,  "", None, None, False],
+    ["MODIFIED_BY",                     "General",                  "modified by",                      DataType.CONTROLLEDVOCABULARY,      "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["NAME_OF_PARENTAL_CLONE",          "General",                  "name of parental clone",           DataType.VARCHAR,                   None,  "", None, None, False],
+    ["NAME_OF_VECTOR",                  "General",                  "name of vector",                   DataType.VARCHAR,                   None,  "", None, None, False],
+    ["NTERMTAG",                        "General",                  "Ntermtag",                         DataType.VARCHAR,                   None,  "", None, None, False],
+    ["NUCLEOTIDE_SEQUENCE",             "General",                  "nucleotide sequence",              DataType.VARCHAR,                   None,  "", None, None, False],
+    ["OLIGOS_USED",                     "General",                  "oligos used",                      DataType.VARCHAR,                   None,  "", None, None, False],
+    ["ORGANISM",                        "General",                  "organism",                         DataType.VARCHAR,                   None,  "", None, None, False],
+    ["ORIGIN_OF_REPLICATION",           "General",                  "origin of replication",            DataType.VARCHAR,                   None,  "", None, None, False],
+    ["OTHER_MARKER",                    "General",                  "other marker",                     DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PAGE_NUMBER",                     "General",                  "page number",                      DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PERSPLASMIDNUM",                  "General",                  "persPlasmidnum",                   DataType.REAL,                      None,  "", None, None, False],
+    ["PETERPLASMIDNUM",                 "General",                  "PeterPlasmidNum",                  DataType.INTEGER,                   None,  "", None, None, False],
+    ["NAME",                            "General",                  "plasmid ID",                       DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PLASMID_ID_NR",                   "General",                  "plasmid_id_nr",                    DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PLASMIDNAME",                     "General",                  "plasmidname",                      DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PRIMERS",                         "General",                  "primers",                          DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PROMOTER",                        "General",                  "promoter",                         DataType.CONTROLLEDVOCABULARY,      "PROMOTER",  "", None, None, False],
+    ["SELECTION_IN_BACTERIA",           "General",                  "selection in bacteria",            DataType.CONTROLLEDVOCABULARY,      "SELECTION_IN_BACTERIA",  "", None, None, False],
+    ["SELECTION_IN_EUKARYOTES",         "General",                  "selection in eukaryotes",          DataType.CONTROLLEDVOCABULARY,      "SELECTION_IN_EUKARYOTES",  "", None, None, False],
+    ["SEQUENCE_FILE_NAME",              "General",                  "sequence file name",               DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SEQUENCING_DATE",                 "General",                  "sequencing date",                  DataType.TIMESTAMP,                 None,  "", None, None, False],
+    ["SERIAL_NUMBER",                   "General",                  "serial number",                    DataType.INTEGER,                   None,  "", None, None, False],
+    ["SHELF",                           "General",                  "shelf",                            DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SIZE_INSERT",                     "General",                  "size insert",                      DataType.REAL,                      None,  "", None, None, False],
+    ["SIZE_OF_INSERT",                  "General",                  "size of insert",                   DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SIZE_VECTOR",                     "General",                  "size vector",                      DataType.REAL,                      None,  "", None, None, False],
+    ["PLASMID_SOURCE",                  "General",                  "source",                           DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PLASMID_SPECIES",                 "General",                  "species",                          DataType.CONTROLLEDVOCABULARY,      "PLASMID_ORGANISM",  "", None, None, False],
+    #["TUBES",                           "General",                 "TUBES",                            DataType.VARCHAR,                   None,  "", None, None, False],
+    ["URL",                             "Reference",                "url",                              DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PUBLISHED_IN",                    "Reference",                "published in",                     DataType.VARCHAR,                   None,  "", None, None, False]
+];
+
+chemicalDefinition = [
+    ["ARTICLE",                         "General",                  "Article",                          DataType.VARCHAR,                   None,  "", None, None, False],
+    ["COMPANY",                         "General",                  "Company",                          DataType.CONTROLLEDVOCABULARY,      "COMPANY",  "", None, None, False],
+    ["ARTICLE_NUM",                     "General",                  "Article Number",                   DataType.VARCHAR,                   None,  "", None, None, False],
+    ["RECORD_NUMBER",                   "General",                  "RecordNumber",                     DataType.VARCHAR,                   None,  "", None, None, False],
+    ["LOCATION",                        "Location",                  "Location",                         DataType.VARCHAR,                   None,  "", None, None, False]   
+];
+
+siRNADefinition = [
+    ["INVESTIGATOR",                    "General",                  "investigator",                     DataType.CONTROLLEDVOCABULARY,      "ALL_LAB_MEMBERS",  "", None, None, False],
+    ["GENE_LOCUS",                      "General",                  "gene locus",                       DataType.VARCHAR,                   None,  "", None, None, False],
+    ["EXON_OR_THREE_PRIME",             "General",                  "exon or three prime",              DataType.CONTROLLEDVOCABULARY,      "EXON_OR_THREE_PRIME",  "", None, None, False],
+    ["EXON",                            "General",                  "exon #",                           DataType.INTEGER,                   None,  "", None, None, False],
+    ["3_PRIME_POSITION",                "General",                  "3' position",                      DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SIRNA_SPECIES",                   "General",                  "species",                          DataType.CONTROLLEDVOCABULARY,      "SIRNA_SPECIES",  "", None, None, False],
+    ["SEQUENCE",                        "General",                  "SEQUENCE",                         DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SIRNA_COMPANY",                   "General",                  "Company",                          DataType.CONTROLLEDVOCABULARY,      "SIRNA_COMPANY",  "", None, None, False],
+    ["STOCK_CONCENTRATION",             "General",                  "Stock concentration",              DataType.REAL,                      None,  "", None, None, False],
+    ["WORKING_CONCENTRATION",           "General",                  "Working concentration",            DataType.REAL,                      None,  "", None, None, False],
+    ["EFFICIENCY",                      "General",                  "Efficiency",                       DataType.VARCHAR,                   None,  "", None, None, False],
+    ["EFFICIENCY_QPCR",                 "General",                  "Efficiency_qPCR",                  DataType.VARCHAR,                   None,  "", None, None, False],
+    ["EFFICIENCY_WESTERN",              "General",                  "Efficiency_Western",               DataType.VARCHAR,                   None,  "", None, None, False],
+    ["EFFICIENCY_OTHER",                "General",                  "Efficiency_other",                 DataType.VARCHAR,                   None,  "", None, None, False],
+    ["OFF_TARGET_EFFECTS",              "General",                  "Off target effects",               DataType.VARCHAR,                   None,  "", None, None, False],
+    ["INFO",                            "General",                  "Info",                             DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SPECIFIC_SPLICE_VARIANT",         "General",                  "Specific splice variant",          DataType.VARCHAR,                   None,  "", None, None, False],
+    ["TRANSFECTION_AGENT",              "General",                  "Transfection agent",               DataType.CONTROLLEDVOCABULARY,      "TRANSFECTION_AGENT",  "", None, None, False],
+    ["LIBRARY",                         "General",                  "Library",                          DataType.VARCHAR,                   None,  "", None, None, False],
+    ["CHARACTERIZED_BY_COMPANY",        "General",                  "Characterized by company",         DataType.VARCHAR,                   None,  "", None, None, False],
+    ["NUMBERINPOOL",                    "General",                  "NumberINpool",                     DataType.INTEGER,                   None,  "", None, None, False],
+    ["TEST",                            "General",                  "Test",                             DataType.VARCHAR,                   None,  "", None, None, False],
+    ["CHEMICAL_MODIFICATION",           "General",                  "Chemical modification",            DataType.VARCHAR,                   None,  "", None, None, False],
+    ["OLIGO_NAME",                      "General",                  "Oligo name",                       DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SIRNA_OLIGONUMBER",               "General",                  "siRNA_OligoNumber",                DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SIRNA_FREEZER_LOCATION",          "General",                  "Freezer Location",                 DataType.CONTROLLEDVOCABULARY,      "SIRNA_FREEZER_LOCATION",  "", None, None, False],
+    ["DRAWER",                          "General",                  "Drawer",                           DataType.VARCHAR,                   None,  "", None, None, False],
+    ["PUBLISHED",                       "Reference",                "Published",                        DataType.VARCHAR,                   None,  "", None, None, False]
+];
+
+#
+# Data Set Types
+#
+documentDefinition = [
+    ["CREATION_DATE",                   "General",                  "date created",                     DataType.TIMESTAMP,                 None,  "", None, None, False],
+    ["MODIFICATION_DATE",               "General",                  "date modified",                    DataType.TIMESTAMP,                 None,  "", None, None, False],
+    ["INFO",                            "General",                  "info",                             DataType.VARCHAR,                   None,  "", None, None, False],
+    ["ID_NR",                           "General",                  "id_nr",                            DataType.VARCHAR,                   None,  "", None, None, False],
+    ["FILE",                            "General",                  "file",                             DataType.VARCHAR,                   None,  "", None, None, False],
+    ["SERIAL",                          "General",                  "serial",                           DataType.INTEGER,                   None,  "", None, None, False]
+ 
+];
diff --git a/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/definitionsVoc.py b/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/definitionsVoc.py
new file mode 100644
index 0000000000000000000000000000000000000000..6c41596dc8dd2ff2c3e1aff1b0ae83ddf1961722
--- /dev/null
+++ b/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/definitionsVoc.py
@@ -0,0 +1,852 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+#
+# Helper Methods
+#
+def getVocabularyTermCodeForVocabularyAndTermLabel(vocabularyCode, termLabel):
+    vocabulary = vocabularyDefinitions[vocabularyCode]
+    for term in vocabulary:
+        if term[1] == termLabel:
+            #print repr("TERM NOT FOUND IN VOCABULARY LIST: " + unicode(vocabularyCode) + " : '" + unicode(termLabel) + "'")
+            return term[0]
+    return None
+
+# "VOCABULARY_CODE" : { "TERM_CODE" : "OBJECT" }
+createdVocabularyTerms = { }
+
+def printCreatedTerms():
+    print "--- Created Vocabulary Terms Report"
+    for vocabularyCode in createdVocabularyTerms:
+        print "Vocabulary [" + vocabularyCode + "]"
+        for vocabularyTermCode in createdVocabularyTerms[vocabularyCode]:
+            print "Term [" + vocabularyTermCode + "] Label: [" + repr(createdVocabularyTerms[vocabularyCode][vocabularyTermCode].getLabel()) + "]"
+    print "---"
+
+def getCreatedTerm(vocabularyCode, termCode):
+    if vocabularyCode in createdVocabularyTerms:
+        if termCode in createdVocabularyTerms[vocabularyCode]:
+            return createdVocabularyTerms[vocabularyCode][termCode]
+    return None
+
+def addCreatedTerm(vocabularyCode, termCode, object):
+    if vocabularyCode not in createdVocabularyTerms:
+        createdVocabularyTerms[vocabularyCode] = {}
+    createdVocabularyTerms[vocabularyCode][termCode] = object
+    
+def createVocabularyTerm(tr, vocabularyCode, termCode, termLabel):
+    createdTerm = getCreatedTerm(vocabularyCode, termCode)
+    if createdTerm is None:
+        vocabulary = tr.getVocabularyForUpdate(vocabularyCode)
+        
+        for term in vocabulary.getTerms():
+            if term.getCode() == termCode:
+                createdTerm = term
+        
+        if createdTerm is None:
+            createdTerm = tr.createNewVocabularyTerm()
+            createdTerm.setCode(termCode)
+            createdTerm.setLabel(termLabel)
+            createdTerm.setOrdinal(vocabulary.getTerms().size())
+            vocabulary.addTerm(createdTerm)
+            addCreatedTerm(vocabularyCode, termCode, createdTerm)
+    return createdTerm
+
+#
+# Vocabularies
+#
+
+vocabularyDefinitions = {
+                          "ALL_LAB_MEMBERS" : [
+                                        ["ANNA_DEPLAZES",   "Anna Deplazes"],
+                                        ["ANNE-CHRISTINE_BUTTY",   "Anne-Christine Butty"],
+                                        ["BRIAN_LUKE",   "Brian Luke"],
+                                        ["CAROLINE_ZBINDEN",   "Caroline Zbinden"],
+                                        ["CELINE_LAFOURCADE",   "Celine Lafourcade"],
+                                        ["CHRISTINE_RUPP",   "Christine Rupp"],
+                                        ["CLAUDINE_KRAFT",   "Claudine Kraft"],
+                                        ["EDYTA_SIERGIEJUK",   "Edyta Siergiejuk"],
+                                        ["FABIAN_HERZOG",   "Fabian Herzog"],
+                                        ["FABIAN_RUDOLF",   "Fabian Rudolf"],
+                                        ["FRANK_VAN_DROGEN",   "Frank Van Drogen"],
+                                        ["GERDA_JORRITSMA",   "Gerda Jorritsma"],
+                                        ["GWEN_RABUT",   "Gw\xe9nael Rabut"],
+                                        ["INGRID_STOFFEL-STUDER",   "Ingrid Stoffel-Studer"],
+                                        ["IRAM_ZAIDI",   "Iram Zaidi"],
+                                        ["IZABELA_SUMARA",   "Izabela Sumara"],
+                                        ["LIONEL_PINTARD",   "Lionel Pintard"],
+                                        ["MALIKAJAQUENOUD",   "MalikaJaquenoud"],
+                                        ["MARC_SOHRMANN",   "Marc Sohrmann"],
+                                        ["MARIE-LYN_HECHT",   "Marie-Lyn Hecht"],
+                                        ["MARIE-PIERRE_GULLI",   "Marie-Pierre Gulli"],
+                                        ["MATTHIAS_PETER",   "Matthias Peter"],
+                                        ["MICHAEL_OLMA",   "Michael Olma"],
+                                        ["MICHAEL_SCHNEIDER",   "Michael Schneider"],
+                                        ["MICHELE_KNAUS",   "Michele Knaus"],
+                                        ["MONIKA_GERSBACH",   "Monika Gersbach"],
+                                        ["NATHALIE_MEYER-SCHALLER",   "Nathalie Meyer-Schaller"],
+                                        ["NATHALIE_PERRINJAQUET",   "Nathalie Perrinjaquet"],
+                                        ["NICOLAS_DARD",   "Nicolas Dard"],
+                                        ["NICOLAS_PAGE",   "Nicolas Page"],
+                                        ["PATRICK_PEDRIOLI",   "Patrick Pedrioli"],
+                                        ["PHILIPPE_WIGET",   "Philippe Wiget"],
+                                        ["PIERRE_MAILLARD",   "Pierre Maillard"],
+                                        ["REINHARD_DECHANT",   "Reinhard Dechant"],
+                                        ["SANDER_SPRINGER",   "Sander Springer"],
+                                        ["SARAH_GLASER",   "Sarah Glaser"],
+                                        ["SARAH_MAERKI",   "Sarah  M\xe4rki"],
+                                        ["SEBASTIAN_LEIDEL",   "Sebastian Leidel"],
+                                        ["SERGE_PELET",   "Serge Pelet"],
+                                        ["STEFAN_MUELLER",   "Stefan M�ller"],
+                                        ["TANIA_ROBERTS",   "Tania Roberts"],
+                                        ["THIMO_KURZ",   "Thimo Kurz"],
+                                        ["TOBIAS_BRAUN",   "Tobias Braun"],
+                                        ["VANESSA_REZGUI",   "Vanessa Rezgui"],
+                                        ["WOJCIECH_PIWKO",   "Wojciech Piwko"],
+                                        ["YUKIKO_SHIMADA",   "Yukiko Shimada"],
+                                        ["YVONNE_GLOOR",   "Yvonne Gloor"],
+                                        ["JOCHEN_BECK",   "Jochen Beck"],
+                                        ["MONIKA_KIJANSKA",   "Monika Kijanska"],
+                                        ["ANGIE_RAGHEB",   "Angie Ragheb"],
+                                        ["ANNE_PACQUELET",   "Anne Pacquelet"],
+                                        ["BJORN_HEGEMANN",   "Bj\xf6rn Hegemann"],
+                                        ["JANNY_TILMA",   "Janny Tilma"],
+                                        ["THIBAULT_COURTHEOUX",   "Thibault Courtheoux"],
+                                        ["SAMUEL_GILBERTO",   "Samuel Gilberto"],
+                                        ["REMY_BUSER",   "Remy Buser"],
+                                        ["RADOSLAV_ENCHEV",   "Radoslav Enchev"],
+                                        ["MICHAELA_HUBNER",   "Michaela Hubner"],
+                                        ["MIA_LI",   "Mia Li"],
+                                        ["JULIEN_MOUYSSET",   "Julien Mouysset"]
+                                    ],
+                           "LAB_MEMBERS_INITIALS" : [
+                                        ["AD", "AD"],
+                                        ["ACB", "ACB"],
+                                        ["BL", "BL"],
+                                        ["CZ", "CZ"],
+                                        ["CL", "CL"],
+                                        ["CR", "CR"],
+                                        ["CK", "CK"],
+                                        ["ES", "ES"],
+                                        ["FH", "FH"],
+                                        ["FR", "FR"],
+                                        ["FD", "FD"],
+                                        ["GJ", "GJ"],
+                                        ["GR", "GR"],
+                                        ["ISS", "ISS"],
+                                        ["IZ", "IZ"],
+                                        ["IS", "IS"],
+                                        ["LP", "LP"],
+                                        ["MJ", "MJ"],
+                                        ["MSO", "MSo"],
+                                        ["MH", "MH"],
+                                        ["MG", "MG"],
+                                        ["MP", "MP"],
+                                        ["MO", "MO"],
+                                        ["MSC", "MSc"],
+                                        ["MK", "MK"],
+                                        ["MG", "MG"],
+                                        ["NS", "NS"],
+                                        ["NPE", "NPe"],
+                                        ["ND", "ND"],
+                                        ["NPA", "NPa"],
+                                        ["PP", "PP"],
+                                        ["PW", "PW"],
+                                        ["PM", "PM"],
+                                        ["RD", "RD"],
+                                        ["SS", "SS"],
+                                        ["SG", "SG"],
+                                        ["SMA", "SMa"],
+                                        ["SL", "SL"],
+                                        ["SP", "SP"],
+                                        ["SM", "SM"],
+                                        ["TR", "TR"],
+                                        ["TK", "TK"],
+                                        ["TB", "TB"],
+                                        ["VR", "VR"],
+                                        ["WP", "WP"],
+                                        ["YS", "YS"],
+                                        ["YG", "YG"],
+                                        ["JB", "JB"],
+                                        ["MKI", "MKi"]
+                                    ],
+                            "BLOCK" : [
+                                       ["1BSA_01TRITON-X100",  "1% BSA; 0.1% Triton-X100"],
+                                    ],
+                            "CLASS" : [
+                                ["IGM", "IgM"],
+                                ["IGG1",    "IgG1"],
+                                ["IGG2",    "IgG2"]
+                                    ],
+                            "COMPANY" : [
+                                    ["ABCAM", "abcam"],
+                                    ["CELL_SIGNALING", "cell signaling"],
+                                    ["STRATAGEN", "stratagene"],
+                                    ["CLONTECH", "clontech"],
+                                    ["UBI", "ubi"],
+                                    ["SOUTHERN_BIOTECH", "southern biotech"],
+                                    ["PIERCE", "pierce"],
+                                    ["PHARMIGEN", "pharmingen"],
+                                    ["MOLECULAR_PROBES", "molecular probes"],
+                                    ["PHARMACIA", "pharmacia"],
+                                    ["BIORAD", "biorad"],
+                                    ["EUROGENETIC", "eurogentec"],
+                                    ["HOMEMADE", "homemade"],
+                                    ["BD_BIOSCIENCE", "BD bioscience"],
+                                    ["OBTAINED_FROM", "obtained from "],
+                                    ["ZYMED", "Zymed"],
+                                    ["UNKNOWN", "Unknown"],
+                                    ["SANTA_CRUZ", "Santa Cruz"],
+                                    ["BIOLEGEND", "Biolegend"],
+                                    ["BETHYL", "Bethyl"],
+                                    ["UPSTATE", "Upstate"],
+                                    ["ROCKLAND", "Rockland"],
+                                    ["NOVUS_BIOLOGICALS", "Novus Biologicals"],
+                                    ["CHEMICON_INTERNATIONAL", "Chemicon International"],
+                                    ["SIGMA", "Sigma"],
+                                    ["ALPHA_DIAGNOSTIC_INTERNATIONAL", "Alpha Diagnostic International"],
+                                    ["MILLIPORE", "Millipore"],
+                                    ["ACTIVE_MOTIF", "Active motif"],
+                                    ["NEB", "NEB"],
+                                    ["NEOMARKERS", "Neomarkers"],
+                                    ["LUBIOSCIENCE", "LubioScience"],
+                                    ["EBIOSCIENCE", "eBioscience"],
+                                    ["INVITROGEN", "Invitrogen"],
+                                    ["STRESSGEN", "Stressgen"],
+                                    ["COVANCE", "Covance"],
+                                    ["ENZO_LIFE_SCIENCES", "Enzo Life Sciences"],
+                                    ["CALBIOCHEM", "Calbiochem"],
+                                    ["ROCHE", "Roche"],
+                                    ["CYTOSKELETON", "Cytoskeleton"],
+                                    ["OPEN_BIOSYSTEMS", "Open Biosystems"],
+                                    ["BD_TRANSDUCTION", "BD Transduction"],
+                                    ["ATLAS_ANTIBODIES_AB", "Atlas Antibodies AB"],
+                                    ["GENENTECH", "Genentech"],
+                                    ["TRANSDUCTION_LABS", "Transduction Labs"],
+                                    ["ANTIBODIES_INCORPORATED", "Antibodies Incorporated"],
+                                    ["BABCO", "BAbCO"],
+                                    ["ERICH_NIGG_LAB_BASEL", "Erich Nigg lab (Basel)"],
+                                    ["FRANCIS_BARR", "Francis Barr"],
+                                    ["AVIVA_SYSTEMS_BIOLOGY", "Aviva Systems Biology"],
+                                    ["LUCERNACHEM", "LucernaChem"],
+                                    ["LI-COR", "LI-COR"],
+                                    ["ABGENT", "Abgent"],
+                                    ["CHROMOTEK", "Chromotek"],
+                                    ["ABNOVA", "Abnova"],
+                                    ["UNKNOWN", "Unknown"],
+                                    ["ABSEA", "Absea"],
+                                    ["GE_HEALTHCARE", "GE Healthcare"],
+                                    ["GRAMSCH_LABORATORIES", "Gramsch Laboratories"],
+                                    ["ADIPOGEN", "Adipogen"],
+                                    ["COSMO_BIO_CO", "Cosmo bio co."],
+                                    ["BECKTON_DICKINSON", "Beckton Dickinson"],
+                                    ["BIOTIUM", "Biotium"]
+                                    ],
+                            "CONCENTRATION_FACS" : [
+                                            ["1_TO_10", "1 : 10"],
+                                            ["1_TO_20", "1 : 20"],
+                                            ["1_TO_30", "1 : 30"],
+                                            ["1_TO_40", "1 : 40"],
+                                            ["1_TO_50", "1 : 50"],
+                                            ["1_TO_100", "1 : 100"],
+                                            ["1_TO_200", "1 : 200"],
+                                            ["1_TO_500", "1 : 500"],
+                                            ["1_TO_1000", "1 : 1000"],
+                                            ["1_TO_2000", "1 : 2000"],
+                                            ["1_TO_3000", "1 : 3000"],
+                                            ["NOT_TESTED", "not tested"],
+                                            ["NOT_WORKING", "not working"]
+                                    ],
+                            "CONCENTRATION_IP" : [
+                                            ["1UL", "1 �l"],
+                                            ["5UL", "5 �l"],
+                                            ["10UL", "10 �l"],
+                                            ["15UL", "15 �l"],
+                                            ["20UL", "20 �l"],
+                                            ["NOT_TESTED", "not tested"],
+                                            ["NOT_WORKING", "not working"]
+                                    ],
+                            "CONCENTRATION_WESTERN" : [
+                                                ["1_TO_100", "1 : 100"],
+                                                ["1_TO_500", "1 : 500"],
+                                                ["1_TO_1000", "1 : 1000"],
+                                                ["1_TO_2000", "1 : 2000"],
+                                                ["1_TO_3000", "1 : 3000"],
+                                                ["1_TO_5000", "1 : 5000"],
+                                                ["1_TO_10000", "1 : 10000"],
+                                                ["1_TO_20000", "1 : 20000"],
+                                                ["1_TO_25000", "1 : 25000"],
+                                                ["NOT_TESTED", "not tested"],
+                                                ["NOT_WORKING", "not working"]
+                                    ],
+                          "CURRENT_LAB_MEMBERS" : [
+                                            ["CAROLINE_ZBINDEN", "Caroline Zbinden"],
+                                            ["FRANK_VAN_DROGEN", "Frank Van Drogen"],
+                                            ["INGRID_STOFFEL-STUDER", "Ingrid Stoffel-Studer"],
+                                            ["MATTHIAS_PETER", "Matthias Peter"],
+                                            ["REINHARD_DECHANT", "Reinhard Dechant"],
+                                            ["WOJCIECH_PIWKO", "Wojciech Piwko"],
+                                            ["JOCHEN_BECK", "Jochen Beck"]
+                                    ],
+                          "FIX" : [
+                                ["1H-RT", "1h, RT"],
+                                ["PTEMF", "PTEMF"],
+                                ["PFA", "PFA"],
+                                ["MEOH", "MeOH"]
+                                    ],
+                          "LABEL" : [
+                                ["HRP", "hrp"],
+                                ["AP", "ap"],
+                                ["FITC", "fitc"],
+                                ["CY3", "Cy3"],
+                                ["ALEXA647", "Alexa 647"]
+                                    ],
+                          "ANTIBODY_LOCATION" : [
+                                    ["SMALL_PETER_LAB", "Small Peter Lab"],
+                                    ["BIG_PETER_LAB", "Big Peter Lab"],
+                                    ["NEW_PETER_LAB", "New Peter Lab"],
+                                    ["MINUS20_C-FLOOR", "-20C C-Floor"]
+                                    ],
+                          "MONO-POLYCLONAL" : [
+                                            ["MONOCLONAL",  "Monoclonal"],
+                                            ["POLYCLONAL",  "Polyclonal"],
+                                            ["UNKNOWN", "Unknown"]
+                                    ],
+                          "SOURCE" : [
+                                ["MOUSE",  "Mouse"],
+                                ["RABBIT",  "Rabbit"],
+                                ["HAMSTER",  "Hamster"],
+                                ["GOAT",  "Goat"],
+                                ["RAT",  "Rat"],
+                                ["CHICKEN",  "Chicken"],
+                                ["SHEEP",  "Sheep"],
+                                ["HUMAN",  "Human"],
+                                ["GUINEA_PIG",  "Guinea pig"],
+                                ["DONEKY",  "Donkey"],
+                                ["UNKNOWN",  "Unknown"]
+                                    ],
+                          "CELL_LOCATION" : [
+                                ["FRIDGE",  "fridge"],
+                                ["FREEZER",  "freezer"],
+                                ["REFCO",  "refco"],
+                                ["TANK",  "tank"]
+                                    ],
+                          "SELECTION" : [
+                                ["NEOMYCIN_G418",  "Neomycin/G418"],
+                                ["HYGROMYCIN",  "Hygromycin"],
+                                ["MPA",  "MPA"],
+                                ["G418",  "G418"],
+                                ["PUROMYCIN",  "puromycin"],
+                                ["BLASTICIDIN",  "Blasticidin"],
+                                ["ZEOCIN",  "Zeocin"] 
+                                    ],
+                          "CO2" : [
+                                ["5",  "5"],
+                                ["7.5",  "7.5"]
+                                    ],
+                          "GROWTH_TEMPERATURE" : [
+                                ["37",  "37"],
+                                ["28",  "28"],
+                                ["34",  "34"]
+                                    ],
+                          "MEDIUM" : [
+                                ["RPMI1640",  "RPMI 1640"],
+                                ["ISCOVES",  "Iscoves"],
+                                ["DMEM",  "DMEM"],
+                                ["LB",  "LB"],
+                                ["DMEM_NUTRIENT",  "DMEM nutrient mixture F-12 HAM [D8437]"]
+                                    ], 
+                          "CELL_OBTAINED_FROM" : [
+                                ["FREIBURG",  "Freiburg"],
+                                ["ATCC",  "ATCC"],
+                                ["DANIEL_GERLICH",  "Daniel Gerlich"],
+                                ["ERICH_NIGG",  "Erich Nigg"],
+                                ["KREK",  "Krek"],
+                                ["TONY_HEYMAN",  "Tony Heyman"],
+                                ["THOMAS-WILD_ULRIKE-KUTAY",  "Thomas Wild/Ulrike Kutay"],
+                                ["JAN_MICHAEL_PETERS",  "Jan-Michael Peters"],
+                                ["M_BRANDEIS",  "M Brandeis"],
+                                ["ARI_HELENIUS",  "Ari Helenius"],
+                                ["ROMEO_RICCI",  "Romeo Ricci"]
+                                    ],  
+                          "CELL_SPECIES" : [
+                                ["HUMAN",  "human"],
+                                ["MOUSE",  "mouse"],
+                                ["RAT",  "rat"],
+                                ["CHINESE_HAMSTER",  "chines hamster"],
+                                ["HYBRIDOMA",  "hybridoma (human & mouse)"]                                
+                                    ],  
+                          "CONC_UNITS" : [
+                                ["MICROG_MICROL",  "�g/�l"],
+                                ["MG_ML",  "mgl/ml"],
+                                ["UG_ML",  "ug/ml"]                               
+                                    ],  
+                          "STRAIN_SOURCE" : [
+                                ["F_CHANG", "F. Chang"],
+                                ["J_CHANT", "J. Chant"],
+                                ["R_DESHAIES", "R. Deshaies"],
+                                ["E_ELION", "E. Elion"],
+                                ["P_HIETER", "P. Hieter"],
+                                ["I_HERSKOWITZ", "I. Herskowitz"],
+                                ["A_NEIMAN", "A. Neiman"],
+                                ["P_SORGER", "P. Sorger"],
+                                ["T_STEARNS", "T. Stearns"],
+                                ["MARC_BONDEL", "Marc Bondel"],
+                                ["G_SUMARA", "G. Sumara"],
+                                ["MICHAEL_ALTMANN", "Michael Altmann"],
+                                ["HETEROZYGOUS_DIPLOID_COLLECTION", "Heterozygous diploid collection"],
+                                ["ANNE-CHRISTINE_BUTTY", "Anne-Christine Butty"],
+                                ["ANNE_PAQUELET", "Anne Paquelet"],
+                                ["YAGMUR-TURGAY_KUTAY-GROUP", "Yagmur Turgay - Kutay group"],
+                                ["BARBAR_CATARIN", "Barbar Catarin"],
+                                ["FRANK_VAN-DROGEN", "Frank van Drogen"],
+                                ["HEMMO_MEYER", "Hemmo Meyer"],
+                                ["JEAN-MARC_GALLAND", "Jean-Marc Galland"],
+                                ["JEFF_PARVIN", "Jeff Parvin"],
+                                ["MARIE-PIERRE_GULLI", "Marie-Pierre Gulli"],
+                                ["MIKIKO_TAKAHASHI", "Mikiko Takahashi"],
+                                ["SANDRA_HENCHOZ", "Sandra Henchoz"],
+                                ["MALIKA_JAQUENOUD", "Malika Jaquenoud"],
+                                ["GERDA_JORRITSMA", "Gerda Jorritsma"],
+                                ["CELINE_LAFOURCADE", "Céline Lafourcade"],
+                                ["CELINE_LONGARETTI", "Céline Longaretti"],
+                                ["BRIAN_LUKE", "Brian Luke"],
+                                ["GUY_NIEDERHAUSER", "Guy Niederhäuser"],
+                                ["NICOLAS_PAGE", "Nicolas Pag�"],
+                                ["NATHALIE_PERRINJAQUET", "Nathalie Perrinjaquet"],
+                                ["MATTHIAS_PETER", "Matthias Peter"],
+                                ["AUDREY_PETIT", "Audrey Petit"],
+                                ["LIONEL_PINTARD", "Lionel Pintard"],
+                                ["YUKIKO_SHIMADA", "Yukiko Shimada"],
+                                ["PHILIPPE_WIGET", "Philippe Wiget"],
+                                ["VOLKER_STUCKE", "Volker Stucke"],
+                                ["KATRIN_PETER", "Katrin Peter"],
+                                ["MARC_BLONDEL", "marc blondel"],
+                                ["M_FUNK", "M. Funk"],
+                                ["ATTILA_BECSKEI", "Attila Becskei"],
+                                ["GWENAEL_RABUT", "Gwenael Rabut"],
+                                ["PHILIP_JERMANN", "Philip Jermann"],
+                                ["P_PRYCIAK", "P.Pryciak"],
+                                ["LINDA_HICKE", "Linda Hicke"],
+                                ["RZPD", "RZPD"],
+                                ["OPENBIO", "OpenBio"],
+                                ["F_POSAS", "F. Posas"],
+                                ["HAPLOID_COLLECTION", "Haploid collection"],
+                                ["MIRIAM_BORTFELD", "Miriam Bortfeld"],
+                                ["EUROSCARF", "Euroscarf"],
+                                ["TS_COLLECTION", "ts collection"],
+                                ["CONZELMANN_LAB", "Conzelmann lab"],
+                                ["SEBASTIAN_LEIDEL", "Sebastian Leidel"],
+                                ["ANNA_DEPLAZES", "Anna Deplazes"],
+                                ["BIBOU", "Bibou"],
+                                ["MARC_SOHRMANN", "Marc sohrmann"]
+                                    ],
+                          "SELECTION_YEAST" : [
+                                ["NONE",  "None"],
+                                ["URA",  "Ura"],
+                                ["LEU",  "Leu"], 
+                                ["TRP",  "Trp"], 
+                                ["HIS",  "His"], 
+                                ["VIABILITY",  "Viability"], 
+                                ["NAT",  "nat"], 
+                                ["KAN",  "kan"], 
+                                ["KAN_NAT",  "kan + nat"], 
+                                ["HIS_KAN",  "HIS + kan"], 
+                                ["HIS_KAN_NAT",  "HIS + kan + nat"], 
+                                ["HIS",  "HIS"], 
+                                ["LEU_NAT",  "leu + nat"], 
+                                ["ADE2",  "ade2"]
+                                    ],  
+                         "DERIVATION" : [
+                                ["GAMMA_INTEG",  "gamma integ"],
+                                ["DELTA_INTEG",  "� integ"],
+                                ["5FAO_LOOPOUT",  "5-FAO loopout"],
+                                ["PLASMID_SHUFFLE",  "plasmid shuffle"],
+                                ["TETRAD",  "tetrad"],
+                                ["LOOP-IN_LOOP-OUT",  "loop-in/loop-out"],
+                                ["GALPHO",  "GalpHO mating type switch"],
+                                ["DELETION",  "Deletion"],
+                                ["INTEGRATION",  "Integration"]
+                                    ],
+                         "STRAIN_BACKGROUND" : [
+                                ["W303",  "W303"],
+                                ["K699",  "K699"],
+                                ["K700",  "K700"],
+                                ["S288C",  "S288C"],
+                                ["1278",  "*1278*"],
+                                ["EG123",  "EG123"],
+                                ["DF5",  "DF5"],
+                                ["SIGMA",  "Sigma"],
+                                ["UNKNOWN",  "Don't know"],
+                                ["BY7092",  "BY7092"],
+                                ["BY5565",  "BY5565"],
+                                ["BY4741",  "BY4741"]
+                                    ],
+                        "CIR" : [
+                                ["CIR_PLUS",  "cir+"],
+                                ["CIR_DEG",  "cir�"],
+                                    ],
+                        "GAL" : [
+                                ["PLUS",  "Plus"],
+                                ["PLUS_PLUS",  "Plus/Plus"],
+                                ["GAL1",  "gal1"],
+                                ["GAL1_GAL1",  "gal1/gal1"],      
+                                ["GAL2",  "gal2"],                                 
+                                ["GAL2_GAL2",  "gal2/gal2"],                                                         
+                                    ],
+                        "MAT" : [
+                                ["AT",  "@"],
+                                ["A",  "a"],
+                                ["ALPHA",  "alpha"],
+                                ["DIPLOID",  "diploid"],      
+                                ["UNKNOWN",  "unknown"]                                                      
+                                    ],
+                        "OLIGO_ORGANISM" : [
+                                ["BMV",  "BMV"],
+                                ["HUMAN",  "human"],
+                                ["MOUSE",  "mouse"],
+                                ["RAT",  "rat"],      
+                                ["XENOPUS",  "xenopus"],
+                                ["DROSOPHILA",  "drosophila"],
+                                ["YEAST",  "yeast"],
+                                ["ECOLI",  "E.coli"],
+                                ["SYNTHETIC",  "synthetic"],
+                                ["HIV1",  "HIV-1"],
+                                ["CELEGANS",  "C.elegans"],
+                                ["MYCOPLASMA",  "mycoplasma"]
+                                    ],
+                        "OLIGO_GRADE" : [
+                                ["DESALTED",  "desalted"],
+                                ["HPLC",  "hplc"],
+                                ["PURITY",  "purity"],
+                                ["UNKNOWN",  "?"]      
+                                    ],     
+                        "PRIMER_POSITION" : [
+                                ["FORWARD",  "forward"],
+                                ["REVERSE",  "reverse"]
+                                    ],  
+                        "OLIGO_COMPANY" : [
+                                ["MWG",  "MWG"],
+                                ["BIG",  "BIG"],
+                                ["PHARMACIA",  "Pharmacia"],
+                                ["IGLOI",  "Igloi"],      
+                                ["INVITROGEN",  "invitrogen"],
+                                ["MICROSYNTH",  "microsynth"]                                                     
+                                    ],                                       
+                        "OLIGO_USAGE" : [
+                                ["PCR",  "pcr"],
+                                ["SEQUENCING",  "sequencing"],
+                                ["HYBRIDIZE",  "hybridize"],
+                                ["MUTAGENESIS",  "mutagenesis"],      
+                                ["RT-PCR",  "Real-Time PCR"]
+                                    ],
+                        "RESTRICTION" : [
+                                ["AATII",  "AatII"],
+                                ["ACCI",  "AccI"],
+                                ["ACII",  "AciI"],
+                                ["AFLII",  "AflII"],
+                                ["AFLIII",  "AflIII"],
+                                ["AGEI",  "AgeI"],
+                                ["ALUI",  "AluI"],
+                                ["ALWI",  "AlwI"],
+                                ["ALWNI",  "AlwNI"],
+                                ["APAI",  "ApaI"],
+                                ["APALI",  "ApaLI"],
+                                ["APOI",  "ApoI"],
+                                ["ASCI",  "AscI"],
+                                ["ASEI",  "AseI"],
+                                ["AVAI",  "AvaI"],
+                                ["AVAII",  "AvaII"],
+                                ["AVRII",  "AvrII"],
+                                ["BAMHI",  "BamHI"],
+                                ["BANI",  "BanI"],
+                                ["BANII",  "BanII"],
+                                ["BBSI",  "BbsI"],
+                                ["BBVI",  "BbvI"],
+                                ["BCGI-1",  "BcgI-1"],
+                                ["BCGI-2",  "BcgI-2"],
+                                ["BCLI",  "BclI"],
+                                ["BFAI",  "BfaI"],
+                                ["BGLI",  "BglI"],
+                                ["BGLII",  "BglII"],
+                                ["BLPI",  "BlpI"],
+                                ["BPMI",  "BpmI"],
+                                ["BSAAI",  "BsaAI"],
+                                ["BSABI",  "BsaBI"],
+                                ["BSAHI",  "BsaHI"],
+                                ["BSAI",  "BsaI"],
+                                ["BSAJI",  "BsaJI"],
+                                ["BSAWI",  "BsaWI"],
+                                ["BSERI",  "BseRI"],
+                                ["BSGI",  "BsgI"],
+                                ["BSIEI",  "BsiEI"],
+                                ["BSIHKAI",  "BsiHKAI"],
+                                ["BSIWI",  "BsiWI"],
+                                ["BSLI",  "BslI"],
+                                ["BSMAI",  "BsmAI"],
+                                ["BSMBI",  "BsmBI"],
+                                ["BSMFI",  "BsmFI"],
+                                ["BSMI",  "BsmI"],
+                                ["BSOFI",  "BsoFI"],
+                                ["BSP1286I",  "Bsp1286I"],
+                                ["BSPEI",  "BspEI"],
+                                ["BSPHI",  "BspHI"],
+                                ["BSPMI",  "BspMI"],
+                                ["BSRBI",  "BsrBI"],
+                                ["BSRDI",  "BsrDI"],
+                                ["BSRFI",  "BsrFI"],
+                                ["BSRGI",  "BsrGI"],
+                                ["BSRI",  "BsrI"],
+                                ["BSSHII",  "BssHII"],
+                                ["BST1107I",  "Bst1107I"],
+                                ["BSTBI",  "BstBI"],
+                                ["BSTEII",  "BstEII"],
+                                ["BSTNI",  "BstNI"],
+                                ["BSTUI",  "BstUI"],
+                                ["BSTXI",  "BstXI"],
+                                ["BSTYI",  "BstYI"],
+                                ["BSU36I",  "Bsu36I"],
+                                ["CAC8I",  "Cac8I"],
+                                ["CLAI",  "ClaI"],
+                                ["CVIJI",  "CviJI"],
+                                ["DDEI",  "DdeI"],
+                                ["DPNI",  "DpnI"],
+                                ["DRAI",  "DraI"],
+                                ["DRAIII",  "DraIII"],
+                                ["DRDI",  "DrdI"],
+                                ["DSAI",  "DsaI"],
+                                ["EAEI",  "EaeI"],
+                                ["EAGI",  "EagI"],
+                                ["EAM1105I",  "Eam1105I"],
+                                ["EARI",  "EarI"],
+                                ["ECO47III",  "Eco47III"],
+                                ["ECO57I",  "Eco57I"],
+                                ["ECONI",  "EcoNI"],
+                                ["ECOO109I",  "EcoO109I"],
+                                ["ECORI",  "EcoRI"],
+                                ["ECORV",  "EcoRV"],
+                                ["FOKI",  "FokI"],
+                                ["FSEI",  "FseI"],
+                                ["FSPI",  "FspI"],
+                                ["HAEII",  "HaeII"],
+                                ["HAEIII",  "HaeIII"],
+                                ["HGAI",  "HgaI"],
+                                ["HHAI",  "HhaI"],
+                                ["HINCII",  "HincII"],
+                                ["HINDIII",  "HindIII"],
+                                ["HINFI",  "HinfI"],
+                                ["HPAI",  "HpaI"],
+                                ["HPAII",  "HpaII"],
+                                ["HPHI",  "HphI"],
+                                ["KPNI",  "KpnI"],
+                                ["MAEII",  "MaeII"],
+                                ["MAEIII",  "MaeIII"],
+                                ["MBOI",  "MboI"],
+                                ["MBOII",  "MboII"],
+                                ["MLUI",  "MluI"],
+                                ["MNLI",  "MnlI"],
+                                ["MSCI",  "MscI"],
+                                ["MSEI",  "MseI"],
+                                ["MSLI",  "MslI"],
+                                ["MSPA1I",  "MspA1I"],
+                                ["MUNI",  "MunI"],
+                                ["MWOI",  "MwoI"],
+                                ["NAEI",  "NaeI"],
+                                ["NARI",  "NarI"],
+                                ["NCII",  "NciI"],
+                                ["NCOI",  "NcoI"],
+                                ["NDEI",  "NdeI"],
+                                ["NHEI",  "NheI"],
+                                ["NLAIII",  "NlaIII"],
+                                ["NLAIV",  "NlaIV"],
+                                ["NOTI",  "NotI"],
+                                ["NRUI",  "NruI"],
+                                ["NSII",  "NsiI"],
+                                ["NSPI",  "NspI"],
+                                ["PACI",  "PacI"],
+                                ["PFLMI",  "PflMI"],
+                                ["PLEI",  "PleI"],
+                                ["PMEI",  "PmeI"],
+                                ["PMLI",  "PmlI"],
+                                ["PPUMI",  "PpuMI"],
+                                ["PSHAI",  "PshAI"],
+                                ["PSP1406I",  "Psp1406I"],
+                                ["PSTI",  "PstI"],
+                                ["PVUI",  "PvuI"],
+                                ["PVUII",  "PvuII"],
+                                ["RSAI",  "RsaI"],
+                                ["RSRII",  "RsrII"],
+                                ["SACI",  "SacI"],
+                                ["SACII",  "SacII"],
+                                ["SALI",  "SalI"],
+                                ["SAPI",  "SapI"],
+                                ["SAU96I",  "Sau96I"],
+                                ["SCAI",  "ScaI"],
+                                ["SCRFI",  "ScrFI"],
+                                ["SEXAI",  "SexAI"],
+                                ["SFANI",  "SfaNI"],
+                                ["SFCI",  "SfcI"],
+                                ["SFII",  "SfiI"],
+                                ["SGFI",  "SgfI"],
+                                ["SGRAI",  "SgrAI"],
+                                ["SMAI",  "SmaI"],
+                                ["SNABI",  "SnaBI"],
+                                ["SPEI",  "SpeI"],
+                                ["SPHI",  "SphI"],
+                                ["SRFI",  "SrfI"],
+                                ["SSE8387I",  "Sse8387I"],
+                                ["SSPI",  "SspI"],
+                                ["STUI",  "StuI"],
+                                ["STYI",  "StyI"],
+                                ["SWAI",  "SwaI"],
+                                ["TAQI",  "TaqI"],
+                                ["TFII",  "TfiI"],
+                                ["TSP45I",  "Tsp45I"],
+                                ["TSP509I",  "Tsp509I"],
+                                ["TTH111I",  "Tth111I"],
+                                ["XBAI",  "XbaI"],
+                                ["XCMI",  "XcmI"],
+                                ["XHOI",  "XhoI"],
+                                ["XMNI",  "XmnI"],
+                                ["SACI_NHEI",  "sacI NheI"],
+                                ["XMAI",  "XmaI"],
+                                ["BAMHI",  "BamHI"],
+                                ["CLAI",  "ClaI"],
+                                ["PACI",  "PacI"],
+                                ["NOTI",  "NotI"],
+                                ["SALI",  "SalI"],
+                                ["XHOI",  "XhoI"],
+                                ["NONE",  "none"]
+                            ],
+                        "BACKBONE" : [
+                                ["PCDNA3",  "pCDNA3"],
+                                ["PABES-NEO2000",  "pABES-neo 2000"],    
+                                ["PUC19",  "pUC 19"],                                
+                                ["PMX-1",  "pMX-1"],
+                                ["PRMHA-3",  "pRmHa-3"]
+                            ],
+                        "BACTERIAL_HOST" : [
+                                ["DH10B",  "DH10B"],
+                                ["JM110",  "JM110"],    
+                                ["BL21",  "BL21"],                                
+                                ["DH5A",  "DH5a"],
+                                ["PB3",  "PB3"],
+                                ["DB31",  "DB3.1"],
+                                ["CCDB_SURVIVAL",  "ccdB survival"]
+                            ],  
+                        "BIOSAFETY_LEVEL" : [
+                                ["S1",  "S1"],
+                                ["S2",  "S2"],    
+                                ["S3",  "S3"]        
+                            ],
+                        "SELECTION_IN_BACTERIA" : [
+                                ["AMPICILLIN",  "Ampicillin"],
+                                ["KANAMYCIN",  "Kanamycin"],    
+                                ["SPECTINOMCIN",  "Spectinomcin"],
+                                ["UNKNOWN",  "Unknown"]                                        
+                            ],
+                        "SELECTION_IN_EUKARYOTES" : [
+                                ["G418_NEO",  "G418/neo"],
+                                ["MPA",  "MPA"],    
+                                ["HYGROMYCIN",  "Hygromycin"]                                 
+                            ],                            
+                        "SOURCE_OF_REPLICON" : [
+                                ["CMV",  "CMV"]                                   
+                            ],
+                        "PLASMID_ORGANISM" : [
+                                ["HUMAN",  "human"],
+                                ["MOUSE",  "mouse"],
+                                ["RAT",  "rat"],
+                                ["XENOPUS",  "xenopus"],
+                                ["DROSOPHILA",  "drosophila"],
+                                ["YEAST",  "yeast"],
+                                ["ECOLI",  "E.coli"],
+                                ["SYNTHETIC",  "synthetic"]
+                            ],
+                        "PROMOTER" : [
+                                ["ENDOGENOUS",  "endogenous"],
+                                ["GAL1",  "gal1"],
+                                ["GALL",  "galL"],
+                                ["GALS",  "galS"],
+                                ["TET",  "tet"],
+                                ["ADH",  "adh"],
+                                ["CYC",  "cyc"],
+                                ["GPD",  "gpd"],
+                                ["DASH",  "\"-\""],
+                                ["CMV",  "cmv"],
+                                ["SV40",  "SV40"],
+                                ["TET_ON",  "tet on"],
+                                ["TET_OFF",  "tet off"],
+                                ["RIM1",  "rim1"]
+                            ],
+                        "EXON_OR_THREE_PRIME" : [
+                                ["EXON",  "exon"],
+                                ["3P",  "3'"],
+                                ["5P",  "5'"]
+                            ], 
+                        "SIRNA_SPECIES" : [
+                                ["HUMAN",  "Human"],
+                                ["MOUSE",  "Mouse'"],
+                            ], 
+                        "SIRNA_COMPANY" : [
+                                ["AMBION",  "Ambion"],
+                                ["DHARMACON",  "Dharmacon'"],
+                                ["INVITORGEN",  "Invitrogen'"],
+                                ["MICROSYNTH",  "Microsynth'"],
+                                ["QIAGEN",  "Qiagen'"],
+                                ["GIFT",  "Gift'"]
+                            ], 
+                       "SIRNA_FREEZER_LOCATION" : [
+                                ["BIGLABFREEZER",  "BigLab freezer"],
+                                ["SMALLLAB_BIGFREEZER",  "SmallLab Big freezer'"],
+                                ["FREEZER_G17",  "Freezer G17'"],
+                                ["G93-FRANK",  "G9.3--Frank'"],
+                                ["FREEZER-G17_BOX_NATHALIE",  "Freezer G17 Box Nathalie'"],
+                                ["BOX-THIBAULT-BIGFREEZER-SMALLLAB",  "Box thibault Big freezer small lab'"],
+                                ["BOX-NATHALIE",  "Box Nathalie'"]
+                            ], 
+                       "TRANSFECTION_AGENT" : [
+                                ["FUGENE",  "Fugene"],
+                                ["LIPOFECTAMINE",  "Lipofectamine'"],
+                                ["OLIGOFECTAMINE",  "Oligofectamine'"],
+                                ["RNAIMAX",  "RNAimax'"]
+                            ],                             
+                        "FREEZER" : [
+                                ["G9_FRIDGE-1",  "G9 Fridge 1"],
+                                ["G9_FRIDGE-2",  "G9 Fridge 2"],
+                                ["G9_FREEZER-A",  "-20C Small Peter Lab"],
+                                ["G9_FREEZER-B",  "G9 Freezer B"],
+                                ["G9_FREEZER-C",  "G9 Freezer C"],
+                                ["G10_FREEZER-D",  "G10 Freezer D"],
+                                ["G10_FREEZER-E",  "G10 Freezer E"],
+                                ["G10_FREEZER-F",  "G10 Freezer F"],
+                                ["G10_FREEZER-G",  "G10 Freezer G"],
+                                ["G10_FREEZER-H",  "G10 Freezer H"],
+                                ["G10_FREEZER-I",  "G10 Freezer I"],
+                                ["G10_FRIDGE-3",  "+4C Big Peter Lab"],
+                                ["G10_FRIDGE-4",  "G10 Fridge 4"],
+                                ["G10_FRIDGE-5",  "G10 Fridge 5"],
+                                ["G10_FRIDGE-6",  "G10 Fridge 6"],
+                                ["G10_FRIDGE-7",  "G10 Fridge 7"],
+                                ["G11_FRIDGE-8",  "G10 Fridge 8"],
+                                ["G14_FREEZER-J",  "G14 Freezer J"],
+                                ["G14_FREEZER-K",  "G14 Freezer K"],
+                                ["G14_FREEZER-L",  "G14 Freezer L"],
+                                ["G14_FREEZER-M",  "G14 Freezer M"],
+                                ["G14_FRIDGE-9",  "G14 Fridge 9"],
+                                ["G14_FRIDGE-10",  "G14 Fridge 10"],
+                                ["G17_FRIDGE-11",  "G17 Fridge 11"],
+                                ["G17_FRIDGE-12",  "G17 Fridge 12"],
+                                ["G17_FREEZER-N",  "G17 Freezer N"],
+                                ["USER_BENCH-20",  "Bench -20�C"],
+                                ["USER_BENCH-80",  "Bench -80�C"],
+                                ["USER_BENCH-RT",  "Bench RT"],
+                                ["USER_BENCH",  "Bench"]
+                                    ],
+                         "STORAGE_BOX_SIZE" : [
+                                ["9X9", "9 x 9 box"],
+                                ["5X5", "5 x 5 box"],
+                                ["10X10", "10 x 10 box"],
+                                ["10X12", "10 x 12 box"]
+                            ],
+                          }
\ No newline at end of file
diff --git a/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/lib/FileMakerMain.java b/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/lib/FileMakerMain.java
new file mode 100644
index 0000000000000000000000000000000000000000..a2206338c1ccb79267396fbe2751fbb529304ab8
--- /dev/null
+++ b/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/lib/FileMakerMain.java
@@ -0,0 +1,77 @@
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+
+//  STEP By Step:
+//  1. Open the file maker file with file maker pro
+//  2. Go to "File -> Sharing -> ODBC/JDBC" and turn sharing on
+//  3. You can go to see the names of the tables and field to "File -> Manage -> Database"
+//  Without closing file maker pro you can run this script, modify it as needed
+//  More info at http://www.filemaker.com/support/product/docs/fmp/fm11_odbc_jdbc_guide_en.pdf
+
+public class FileMakerMain
+{
+    // NOTE: FileMaker is so dump that you can't get the fileName and the fileData on the same query, the file data will return null, so we make a second call for this
+    public static final String GET_DOCUMENTS = "SELECT CAST(file AS VARCHAR(1000)) AS fileName, info, serial FROM documents";
+    public static final String GET_DOCUMENT_DATA = "SELECT GetAs(file, 'FILE') AS fileData FROM documents WHERE serial = ?";
+    
+    static class Document {
+        String fileName;
+        String info;
+        String serial;
+        
+        public String toString()
+        {
+            return fileName + " " + info;
+        }
+    }
+    
+    public static List<Document> getDocuments(Connection connection) throws SQLException {
+        List<Document> documents = new ArrayList<Document>();
+        PreparedStatement preparedStatement = connection.prepareStatement(GET_DOCUMENTS);
+        ResultSet result = preparedStatement.executeQuery();
+        
+        while(result.next()) {
+            Document document = new Document();
+            document.fileName = result.getString("fileName");
+            document.info = result.getString("info");
+            document.serial = result.getString("serial");
+            documents.add(document);
+        }
+        result.close();
+        preparedStatement.close();
+        return documents;
+    }
+    
+    public static byte[] getFile(Connection connection, Document document) throws SQLException {
+        byte[] bytes = {};
+        PreparedStatement preparedStatement = connection.prepareStatement(GET_DOCUMENT_DATA);
+        preparedStatement.setString(1, document.serial);
+        ResultSet result = preparedStatement.executeQuery();
+        if(result.next()) {
+            byte[] value = result.getBytes("fileData");
+            if(value != null) {
+                bytes = value;
+            }
+        }
+        result.close();
+        preparedStatement.close();
+        return bytes;
+    }
+    
+    public static void main(String[] args) throws Exception {
+        Class.forName("com.filemaker.jdbc.Driver").newInstance();
+        Connection connection = DriverManager.getConnection("jdbc:filemaker://127.0.0.1/BOXIT_documents_Peter.fmp12","designer", "seattle");
+        
+        for(Document document: getDocuments(connection)) {
+            byte[] bytes = getFile(connection, document);
+            System.out.println(document + " " + bytes.length);
+        }
+        connection.close();
+    }
+}
diff --git a/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/lib/fmjdbc.jar b/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/lib/fmjdbc.jar
new file mode 100644
index 0000000000000000000000000000000000000000..34cae1d60b916205b9039fe765c971229cef1a32
Binary files /dev/null and b/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/lib/fmjdbc.jar differ
diff --git a/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/migration.py b/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/migration.py
new file mode 100644
index 0000000000000000000000000000000000000000..44b497ae290427ddae7b09df68d7733f48e2bf63
--- /dev/null
+++ b/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/migration.py
@@ -0,0 +1,657 @@
+# some_file.py
+import sys
+import definitions
+import definitionsVoc
+import re
+import random
+from datetime import datetime
+from ch.systemsx.cisd.openbis.generic.shared.api.v1.dto import SearchCriteria, SearchSubCriteria
+import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.DataType as DataType
+
+import java.lang.Class as Class
+import java.sql.DriverManager as DriverManager
+
+##
+## Generic Process Method
+##
+notMigratedEntities = {
+                       "ENTITY_TYPE" : {"ENTITY ID" : {"ERROR" : "TIMES" }}
+                      }
+
+def addNotMigratedEntity(type, entityID, error):
+    if type not in notMigratedEntities:
+        notMigratedEntities[type] = {}
+    if entityID not in notMigratedEntities[type]:
+        notMigratedEntities[type][entityID] = {}
+    if error not in notMigratedEntities[type][entityID]:
+        notMigratedEntities[type][entityID][error] = 1
+    else:
+        notMigratedEntities[type][entityID][error] += 1
+
+def printNotMigratedEntities():
+    print "--- Not Migrated Entities Report"
+    for type in notMigratedEntities:
+        print "Type: [" + str(type) + "]"
+        for id in notMigratedEntities[type]:
+            for error in notMigratedEntities[type][id]:
+                print "Id: [" + str(id) + "] Error: " + str(error) + " Times: " + str(notMigratedEntities[type][id][error])
+    print "---"
+
+def process(tr):
+    print "START!"
+    createDataHierarchy(tr)
+    for adaptor in adaptors:
+        print "- ADAPTOR [" + adaptor.__class__.__name__ + "] START"
+        while adaptor.next():
+            entity = adaptor.getEntity()
+            print "* ENTITY [" + str(entity.getIdentifier(tr)) + "]"
+            try:
+                if not entity.isInOpenBIS(tr):
+                    entity.write(tr)
+                    #print entity.getIdentifier(tr) + " - Updated"
+                else:
+                    addNotMigratedEntity(adaptor.__class__.__name__, entity.getIdentifier(tr), "Already in openBIS")
+            except Exception, error:
+                    addNotMigratedEntity(adaptor.__class__.__name__, entity.getIdentifier(tr), str(error.args))
+                    #print entity.getIdentifier(tr) + " - Already up to date"
+        print "- ADAPTOR [" + adaptor.__class__.__name__ + "] FINISH"
+    print "REPORT START"
+    printNotMigratedEntities()
+    definitionsVoc.printCreatedTerms()
+    print "REPORT FINISH"
+    print "FINISH!"
+
+##
+## Help Methods
+##
+def setEntityProperties(tr, definition, entity, properties):
+    for propertyCode, propertyValue in properties.iteritems():
+            propertyDefinition = definitions.getPropertyDefinitionByCode(definition, propertyCode)
+            if propertyValue is not None:
+                propertyValue =  unicode(propertyValue)
+
+            if propertyDefinition is not None and propertyDefinition[3] == DataType.TIMESTAMP and propertyValue is not None:
+                date_val = datetime.strptime(propertyValue, "%Y")
+                propertyValue = datetime.strftime(date_val, "%Y-%m-%d")
+            
+            if propertyDefinition is not None and propertyDefinition[3] == DataType.CONTROLLEDVOCABULARY and propertyValue is not None:
+                possiblePropertyValue = definitionsVoc.getVocabularyTermCodeForVocabularyAndTermLabel(propertyDefinition[4], propertyValue)
+                if possiblePropertyValue is not None:
+                    propertyValue = possiblePropertyValue
+                else:  #We rely on the Add Hock Terms if is None, since there is no API we create a new one
+                    #Create new vocabulary term
+                    codeToUse = re.sub(r'\W+','_',propertyValue)
+                    labelToUse = propertyValue
+                    if len(codeToUse) is 0:
+                        codeToUse = "None" + str(random.random())
+                    if len(codeToUse) > 60:
+                        codeToUse = codeToUse[:50]
+                    #Uses new vocabulary term
+                    newTerm = definitionsVoc.createVocabularyTerm(tr, propertyDefinition[4], codeToUse, labelToUse)
+                    propertyValue = newTerm.getCode()
+                    print "* WARNING ENTITY [" + entity.getCode() + "]: for Vocabulary [" + propertyDefinition[4] + "], found value not in list: [" + repr(labelToUse) + "]. Created new term with code [" + codeToUse + "]"
+            
+            if propertyDefinition is not None: #Sometimes special fields are added for other purposes, these should not be set
+                entity.setPropertyValue(propertyCode, propertyValue)
+
+##
+## Generic Pattern
+##
+class EntityAdaptor:
+    entities = None
+    entitiesIdx = None
+    definition = None
+    
+    def init(self):
+        self.entities = []
+        self.entitiesIdx = -1
+        pass
+    
+    def next(self):
+        if self.entities is None and self.entitiesIdx is None:
+            self.init()
+        self.entitiesIdx += 1
+        if len(self.entities) > self.entitiesIdx:
+            return True
+        else:
+            return False
+    
+    def addEntity(self, values):
+        self.entities.append(OpenBISDTO(values, self.definition))
+    
+    def getEntity(self):
+        return self.entities[self.entitiesIdx]
+    
+class OpenBISDTO:
+    values = {}
+    definition = None
+    
+    def __init__(self, values, definition):
+        self.values = values
+        self.definition = definition
+    
+    def getIdentifier(self, tr):
+        pass
+    
+    def isInOpenBIS(self, tr):
+        pass
+    
+    def write(self, tr):
+        pass
+
+##
+## Costumer specific logic: generic part
+##
+experimentCache = {}
+sampleCache = {}
+sampleID2Sample = {}
+
+def getExperimentForUpdate(experimentIdentifier, experimentType, tr):
+    if experimentIdentifier not in experimentCache:
+        #print "Cache failed " + experimentIdentifier + ":" + str(experimentType)
+        experiment = tr.getExperimentForUpdate(experimentIdentifier)
+        if experiment is None and experimentType is not None:
+            #print "Cache Create " + experimentIdentifier + ":" + str(experimentType)
+            experiment = tr.createNewExperiment(experimentIdentifier,         experimentType)
+        if experiment is not None:
+             experimentCache[experimentIdentifier] = experiment
+    else:
+        pass
+        #print "Cache hit " + experimentIdentifier + ":" + str(experimentType)
+    if experimentIdentifier not in experimentCache:
+         return None
+    else:
+         return experimentCache[experimentIdentifier]
+     
+def getSampleForUpdate(sampleIdentifier, sampleType, tr):
+    if sampleIdentifier not in sampleCache:
+         #print "Cache failed " + sampleIdentifier + ":" + str(sampleType)
+         sample = tr.getSampleForUpdate(sampleIdentifier)
+         if sample is None and sampleType is not None:
+             #print "Cache Create " + sampleIdentifier + ":" + str(sampleType)
+             if sampleType == "ANTIBODY":
+             	experiment = getExperimentForUpdate("/MATERIALS/REAGENTS/ANTIBODIES", sampleType, tr)
+             elif sampleType == "CELL":
+             	experiment = getExperimentForUpdate("/MATERIALS/CELL_LINES/CELL_LINE_COLLECTION_1", sampleType, tr)             
+             elif sampleType == "STRAIN":
+             	experiment = getExperimentForUpdate("/MATERIALS/YEASTS/YEAST_COLLECTION", sampleType, tr)              
+             elif sampleType == "PLASMID":
+             	experiment = getExperimentForUpdate("/MATERIALS/PLASMIDS/PLASMID_COLLECTION_1", sampleType, tr)              
+             elif sampleType == "CHEMICAL":
+             	experiment = getExperimentForUpdate("/MATERIALS/REAGENTS/CHEMICALS", sampleType, tr) 
+             elif sampleType == "SIRNA":
+             	experiment = getExperimentForUpdate("/MATERIALS/POLYNUCLEOTIDES/RNA_COLLECTION_1", sampleType, tr)              	
+             elif sampleType == "OLIGO":
+             	experiment = getExperimentForUpdate("/MATERIALS/POLYNUCLEOTIDES/OLIGO_COLLECTION_1", sampleType, tr)              	
+             sample = tr.createNewSample(sampleIdentifier, sampleType)
+             sample.setExperiment(experiment)
+         if sample is not None:
+             sampleCache[sampleIdentifier] = sample
+    else:
+        pass
+        #print "Cache hit " + sampleIdentifier + ":" + str(sampleType)
+        
+    if sampleIdentifier not in sampleCache:
+         return None
+    else:
+         return sampleCache[sampleIdentifier]
+
+class FileMakerEntityAdaptor(EntityAdaptor):
+    connection = None
+    selectQuery = None
+    
+    def __init__(self, fileMakerConnString, fileMakerUser, fileMakerPass, db):
+        Class.forName("com.filemaker.jdbc.Driver").newInstance()
+        self.connection = DriverManager.getConnection(fileMakerConnString+db,fileMakerUser, fileMakerPass)
+    
+    def init(self):
+        EntityAdaptor.init(self)
+        
+        preparedStatement = self.connection.prepareStatement(self.selectQuery)
+        result = preparedStatement.executeQuery()
+        
+        while result.next():
+            values = {}
+            for property in self.definition:
+                values[property[0]] = result.getString(property[2])
+            self.addEntity(values)
+        result.close()
+        preparedStatement.close()
+
+##
+## Customer specific logic: different sample types
+##
+class FMPeterOpenBISDTO(OpenBISDTO):
+        def isSampleCacheable(self):
+            return True
+        
+        def isInOpenBIS(self, tr):
+            code = self.getIdentifier(tr)
+            if (code is not None) and (' ' not in code):
+                if self.isSampleCacheable():
+                    sampleID2Sample[self.values["NAME"]] = self.values
+                sample = getSampleForUpdate("/MATERIALS/"+code, None, tr)
+                if sample is not None:
+                    lastModificationData = self.values["MODIFICATION_DATE"].strip()
+                    lastModificationData = str(datetime.strptime(lastModificationData, "%Y-%m-%d"))[:10]
+                    lastModificationOpenBIS = sample.getPropertyValue("MODIFICATION_DATE")[:10]
+                    return lastModificationOpenBIS == lastModificationData
+                else :
+                    return False
+            else:
+                print "* ERROR [" + str(code) + "] - Invalid Code found for '" + self.__class__.__name__ + "'"
+                raise Exception('Invalid Code found ' + str(code))
+
+class FMPeterBoxAdaptor(FileMakerEntityAdaptor):
+    selectBoxQuery = None
+    entityIdFieldName = None
+    entityCodeFieldName = None
+    
+    def addEntity(self, values):
+        self.entities.append(FMPeterEntityBoxOpenBISDTO(values, self.definition))
+        
+    def init(self):
+        #print "Reading boxes for: " + self.__class__.__name__
+        emptyBox = 0
+        boxes = {}
+        EntityAdaptor.init(self)
+        preparedStatement = self.connection.prepareStatement(self.selectBoxQuery)
+        result = preparedStatement.executeQuery()
+        while result.next():
+            entityId = unicode(result.getString(self.entityIdFieldName))
+            if entityId is not None:
+                if entityId in sampleID2Sample:
+                    antibodyNumber = sampleID2Sample[entityId][self.entityCodeFieldName]
+                    if antibodyNumber is not None:
+                        values = {}
+                        values["STORAGE_NAME"] = result.getString("location")
+                        values["STORAGE_ROW"] = None
+                        values["STORAGE_COLUMN"] = None
+                        values["STORAGE_BOX_NAME"] = result.getString("box label")
+                        values["STORAGE_BOX_SIZE"] = result.getString("box size")
+                        values["STORAGE_USER"] = result.getString("frozen by")
+                        values["STORAGE_BOX_POSITION"] = result.getString("position")
+                        
+                        allBoxes = []
+                        if antibodyNumber in boxes:
+                            allBoxes = boxes[antibodyNumber]
+                        else:
+                            boxes[antibodyNumber] = allBoxes
+                        allBoxes.append(values)
+                else:
+                    #The antibody is not there. What the *#%$&
+                    emptyBox += 1
+            else:
+                #The antibody is not there. What the *#%$&
+                emptyBox += 1
+        
+        print "- ERROR ADAPTOR Boxes positions with empty entityId for " + self.__class__.__name__ + ":" + str(emptyBox)
+        
+        for entiyCode, allBoxes in boxes.iteritems():
+            self.addEntity({
+                        "*CODE" : entiyCode,
+                        "*BOXESLIST" : allBoxes
+            })
+        
+        result.close()
+        preparedStatement.close()
+
+class FMPeterEntityBoxOpenBISDTO(OpenBISDTO):
+    def getIdentifier(self, tr):
+        return self.values["*CODE"]
+    
+    def write(self, tr):
+        sample = getSampleForUpdate("/MATERIALS/"+self.values["*CODE"], None, tr)
+        print "* INFO Boxes size: " + str(len(self.values["*BOXESLIST"]))
+        #Delete old boxes
+        for boxNum in range(1, definitions.numberOfStorageGroups+1):
+            for propertyCode in definitions.getStorageGroupPropertyCodes():
+                sample.setPropertyValue(propertyCode + "_" + str(boxNum), None)
+        
+        #Add new boxes
+        boxNum = 0
+        for box in self.values["*BOXESLIST"]:
+            boxNum += 1
+            for propertyCode, propertyValue in box.iteritems():
+                if propertyCode == "STORAGE_NAME":
+                    freezerName = definitionsVoc.getVocabularyTermCodeForVocabularyAndTermLabel("FREEZER", propertyValue)
+                    if freezerName is None:
+                        #print repr("NOT FOUND FEEZER: " + self.values["ANTIBODY_ID_NR"] + " : '" + unicode(propertyValue) + "'")
+                        propertyValue = None
+                    else:
+                        propertyValue = freezerName
+                if propertyCode == "STORAGE_USER":
+                    storageUser = definitionsVoc.getVocabularyTermCodeForVocabularyAndTermLabel("ALL_LAB_MEMBERS", propertyValue)
+                    if storageUser is None:
+                        #print repr("NOT FOUND USER: " + self.values["ANTIBODY_ID_NR"] + " : '" + unicode(propertyValue) + "'")
+                        propertyValue = None
+                    else:
+                        propertyValue = storageUser
+                
+                if propertyValue is not None:
+                    propertyValue =  unicode(propertyValue)
+                    sample.setPropertyValue(propertyCode + "_" + str(boxNum), propertyValue)
+    
+    def isBoxPressent(self, boxSignature, tr):
+        sample = getSampleForUpdate("/MATERIALS/"+self.values["*CODE"], None, tr)
+        if sample is not None:
+            for boxNum in range(1, definitions.numberOfStorageGroups+1):
+                storedSignature = "";
+                for propertyCode in definitions.getStorageGroupPropertyCodes():
+                    propertyValue = sample.getPropertyValue(propertyCode + "_" + str(boxNum))
+                    if propertyValue is not None:
+                        propertyValue = unicode(propertyValue)
+                        storedSignature += propertyValue
+                if storedSignature == boxSignature:
+                    #print "Found Box " + storedSignature.encode('ascii', 'ignore')
+                    return True
+        return False
+    
+    def isInOpenBIS(self, tr):
+        for box in self.values["*BOXESLIST"]:
+            boxSignature = "";
+            for propertyCode in definitions.getStorageGroupPropertyCodes():
+                propertyValue = box[propertyCode]
+                if propertyCode == "STORAGE_NAME":
+                    propertyValue = definitionsVoc.getVocabularyTermCodeForVocabularyAndTermLabel("FREEZER", propertyValue)
+                if propertyCode == "STORAGE_USER":
+                    propertyValue = definitionsVoc.getVocabularyTermCodeForVocabularyAndTermLabel("LAB_MEMBERS_INITIALS", propertyValue)
+                    
+                if propertyValue is not None:
+                    propertyValue = unicode(propertyValue)
+                    boxSignature += propertyValue
+            if not self.isBoxPressent(boxSignature, tr):
+                return False
+        return True
+##
+## Antibodies
+##
+class AntibodyAdaptor(FileMakerEntityAdaptor):
+    def init(self):
+        self.selectQuery = "SELECT * FROM \"boxit antibodies\""
+        self.definition = definitions.antibodyDefinition
+        FileMakerEntityAdaptor.init(self)
+    
+    def addEntity(self, values):
+        self.entities.append(AntibodyOpenBISDTO(values, self.definition))
+        
+class AntibodyOpenBISDTO(FMPeterOpenBISDTO):
+    def write(self, tr):
+        sample = getSampleForUpdate("/MATERIALS/"+self.values["ANTIBODY_ID_NR"],"ANTIBODY", tr)
+        setEntityProperties(tr, self.definition, sample, self.values);
+    
+    def getIdentifier(self, tr):
+        return self.values["ANTIBODY_ID_NR"]
+    
+class AntibodyBoxAdaptor(FMPeterBoxAdaptor):
+    selectBoxQuery = "SELECT * FROM \"antibody boxes\""
+    entityIdFieldName = "antibody ID"
+    entityCodeFieldName = "ANTIBODY_ID_NR"
+
+##
+## Cells
+##
+class CellAdaptor(FileMakerEntityAdaptor):
+    
+    def init(self):
+        self.selectQuery = "SELECT * FROM \"boxit cells\""
+        self.definition = definitions.cellDefinition
+        FileMakerEntityAdaptor.init(self)
+    
+    def addEntity(self, values):
+        self.entities.append(CellOpenBISDTO(values, self.definition))
+        
+class CellOpenBISDTO(FMPeterOpenBISDTO):
+    def write(self, tr):
+        code = self.values["CELL_ID_NR_COPY"]
+        if code is not None and code.startswith("c_"):
+            sample = getSampleForUpdate("/MATERIALS/"+code,"CELL", tr)
+            setEntityProperties(tr, self.definition, sample, self.values);
+    
+    def getIdentifier(self, tr):
+        code = self.values["CELL_ID_NR_COPY"]
+        return code
+
+class CellBoxAdaptor(FMPeterBoxAdaptor):
+    selectBoxQuery = "SELECT * FROM \"cell boxes\""
+    entityIdFieldName = "cell ID"
+    entityCodeFieldName = "CELL_ID_NR_COPY"
+
+##
+## Strains
+##
+class StrainAdaptor(FileMakerEntityAdaptor):
+    
+    def init(self):
+        self.selectQuery = "SELECT * FROM \"boxit strains\""
+        self.definition = definitions.strainDefinition
+        FileMakerEntityAdaptor.init(self)
+    
+    def addEntity(self, values):
+        self.entities.append(StrainOpenBISDTO(values, self.definition))
+        
+class StrainOpenBISDTO(FMPeterOpenBISDTO):
+    def write(self, tr):
+        code = self.values["STRAIN_ID_NR"]
+        if code is not None:
+            sample = getSampleForUpdate("/MATERIALS/"+code,"STRAIN", tr)
+            setEntityProperties(tr, self.definition, sample, self.values);
+    
+    def getIdentifier(self, tr):
+        code = self.values["STRAIN_ID_NR"]
+        return code
+
+class StrainBoxAdaptor(FMPeterBoxAdaptor):
+    selectBoxQuery = "SELECT * FROM \"strain boxes\""
+    entityIdFieldName = "strain ID"
+    entityCodeFieldName = "STRAIN_ID_NR"
+##
+## Plasmids
+##
+class PlasmidAdaptor(FileMakerEntityAdaptor):
+    
+    def init(self):
+        self.selectQuery = "SELECT * FROM \"boxit plasmids\""
+        self.definition = definitions.plasmidDefinition
+        FileMakerEntityAdaptor.init(self)
+    
+    def addEntity(self, values):
+        self.entities.append(PlasmidOpenBISDTO(values, self.definition))
+        
+class PlasmidOpenBISDTO(FMPeterOpenBISDTO):
+    def write(self, tr):
+        code = self.values["PLASMID_ID_NR"]
+        if code is not None:
+            sample = getSampleForUpdate("/MATERIALS/"+code,"PLASMID", tr)
+            setEntityProperties(tr, self.definition, sample, self.values);
+    
+    def getIdentifier(self, tr):
+        code = self.values["PLASMID_ID_NR"]
+        return code
+
+class PlasmidBoxAdaptor(FMPeterBoxAdaptor):
+    selectBoxQuery = "SELECT * FROM \"plasmid boxes\""
+    entityIdFieldName = "plasmid ID"
+    entityCodeFieldName = "PLASMID_ID_NR"
+
+##
+## Oligos
+##
+class OligoAdaptor(FileMakerEntityAdaptor):
+    
+    def init(self):
+        self.selectQuery = "SELECT * FROM \"boxit oligos\""
+        self.definition = definitions.oligoDefinition
+        FileMakerEntityAdaptor.init(self)
+    
+    def addEntity(self, values):
+        self.entities.append(OligoOpenBISDTO(values, self.definition))
+        
+class OligoOpenBISDTO(FMPeterOpenBISDTO):
+    def write(self, tr):
+        code = self.values["OLIGO_ID_NR"]
+        if code is not None:
+            sample = getSampleForUpdate("/MATERIALS/"+code,"OLIGO", tr)
+            setEntityProperties(tr, self.definition, sample, self.values);
+    
+    def getIdentifier(self, tr):
+        code = self.values["OLIGO_ID_NR"]
+        return code
+
+class OligoBoxAdaptor(FMPeterBoxAdaptor):
+    selectBoxQuery = "SELECT * FROM \"oligo boxes\""
+    entityIdFieldName = "oligo ID"
+    entityCodeFieldName = "OLIGO_ID_NR"
+
+##
+## Chemical
+##
+class ChemicalAdaptor(FileMakerEntityAdaptor):
+    
+    def init(self):
+        self.selectQuery = "SELECT * FROM \"Chemicals\""
+        self.definition = definitions.chemicalDefinition
+        FileMakerEntityAdaptor.init(self)
+    
+    def addEntity(self, values):
+        self.entities.append(ChemicalOpenBISDTO(values, self.definition))
+        
+class ChemicalOpenBISDTO(FMPeterOpenBISDTO):
+    def isSampleCacheable(self):
+        return False
+        
+    def write(self, tr):
+        code = "CHEM_" + self.values["RECORD_NUMBER"]
+        if code is not None:
+            sample = getSampleForUpdate("/MATERIALS/"+code,"CHEMICAL", tr)
+            setEntityProperties(tr, self.definition, sample, self.values);
+    
+    def getIdentifier(self, tr):
+        code = "CHEM_" + self.values["RECORD_NUMBER"]
+        return code
+
+##
+## Sirna
+##
+class SirnaAdaptor(FileMakerEntityAdaptor):
+    def init(self):
+        self.selectQuery = "SELECT * FROM \"siRNA\""
+        self.definition = definitions.siRNADefinition
+        FileMakerEntityAdaptor.init(self)
+    
+    def addEntity(self, values):
+        self.entities.append(SirnaOpenBISDTO(values, self.definition))
+        
+class SirnaOpenBISDTO(FMPeterOpenBISDTO):
+    def isSampleCacheable(self):
+            return False
+    
+    def write(self, tr):
+        code = "SI_" + self.values["SIRNA_OLIGONUMBER"]
+        if code is not None:
+            sample = getSampleForUpdate("/MATERIALS/"+code,"SIRNA", tr)
+            setEntityProperties(tr, self.definition, sample, self.values);
+    
+    def getIdentifier(self, tr):
+        code = "SI_" +self.values["SIRNA_OLIGONUMBER"]
+        return code
+
+##
+## Documents
+##
+class DocumentsAdaptor(FileMakerEntityAdaptor):
+    
+    def init(self):
+        self.selectQuery = "SELECT CAST(file AS VARCHAR(1000)) AS file, info, id_nr, serial, \"date created\", \"date modified\" FROM documents"
+        self.definition = definitions.documentDefinition
+        FileMakerEntityAdaptor.init(self)
+    
+    def addEntity(self, values):
+        preparedStatement = self.connection.prepareStatement("SELECT GetAs(file, 'FILE') AS fileData FROM documents WHERE serial = ?");
+        preparedStatement.setString(1, values["SERIAL"]);
+        result = preparedStatement.executeQuery();
+        
+        if result.next():
+            fileData = result.getBytes("fileData");
+            values["*DATA"] = fileData
+        
+        self.entities.append(DocumentOpenBISDTO(values, self.definition))
+
+class DocumentOpenBISDTO(OpenBISDTO):
+    def write(self, tr):
+        sampleIdentifier = "/MATERIALS/"+self.values["ID_NR"];
+        dataSetSample = getSampleForUpdate(sampleIdentifier, None, tr)
+        if dataSetSample is not None and self.values["*DATA"] is not None and self.values["FILE"] is not None:
+            print "* INFO DATASET CREATION FOR SERIAL " +  self.values["SERIAL"] + " WITH FILE " + self.values["FILE"]
+            dataSet = tr.createNewDataSet("DOCUMENT")
+            dataSet.setSample(dataSetSample)
+            setEntityProperties(tr, self.definition, dataSet, self.values)
+            absolutePath = tr.createNewFile(dataSet, self.values["FILE"].replace("/", "_"))
+            f = open(absolutePath, 'wb')
+            f.write(self.values["*DATA"])
+            f.close()
+            #incoming = tr.getIncoming()
+            #tr.moveFile(incoming.getAbsolutePath(), dataSet)
+        else:
+            if dataSetSample is None:
+                print "* ERROR No sample found for document"
+                raise Exception('No sample found for document')
+            if self.values["*DATA"] is None:
+                print "* ERROR No Data found for file"
+                raise Exception('No Data found for file')
+            if self.values["FILE"] is None:
+                print "* ERROR No file name found for file"
+                raise Exception('No file name found for file')
+    
+    def getIdentifier(self, tr):
+        return self.values["SERIAL"]
+    
+    def getDocumentBySerial(self, tr, serial):
+        criteria = SearchCriteria()
+        criteria.setOperator(criteria.SearchOperator.MATCH_ANY_CLAUSES)
+        criteria.addMatchClause(criteria.MatchClause.createAttributeMatch(criteria.MatchClauseAttribute.TYPE, "DOCUMENT"))
+        criteria.addMatchClause(criteria.MatchClause.createPropertyMatch("SERIAL", serial))
+        datasets = tr.getSearchService().searchForDataSets(criteria)
+        if datasets:
+            return datasets[0]
+        else:
+            return None
+    
+    def isInOpenBIS(self, tr):
+        dataset = self.getDocumentBySerial(tr, self.values["SERIAL"])
+        return dataset is not None
+        
+#fmConnString = "jdbc:filemaker://127.0.0.1/"
+fmConnString = "jdbc:filemaker://fm.ethz.ch/"
+fmUser= "designer"
+fmPass = "seattle"
+
+adaptors = [ 
+            AntibodyAdaptor(fmConnString, fmUser, fmPass, "BOXIT_antibodies_Peter"), 
+            AntibodyBoxAdaptor(fmConnString, fmUser, fmPass, "BOXIT_antibody_boxes_Peter"),
+            PlasmidAdaptor(fmConnString, fmUser, fmPass, "BOXIT_plasmids_Peter"),
+            PlasmidBoxAdaptor(fmConnString, fmUser, fmPass, "BOXIT_plasmid_boxes_Peter"),
+            StrainAdaptor(fmConnString, fmUser, fmPass, "BOXIT_strains_Peter"),
+            StrainBoxAdaptor(fmConnString, fmUser, fmPass, "BOXIT_strain_boxes_Peter"),
+            OligoAdaptor(fmConnString, fmUser, fmPass, "BOXIT_oligos_Peter"),
+            OligoBoxAdaptor(fmConnString, fmUser, fmPass, "BOXIT_oligo_boxes_Peter"),
+            CellAdaptor(fmConnString, fmUser, fmPass, "BOXIT_cells_Peter"),
+            CellBoxAdaptor(fmConnString, fmUser, fmPass, "BOXIT_cell_boxes_Peter"),
+            SirnaAdaptor(fmConnString, fmUser, fmPass, "BOXIT_Main_Menu_Peter"),
+            ChemicalAdaptor(fmConnString, fmUser, fmPass, "BOXIT_Main_Menu_Peter"),
+            DocumentsAdaptor(fmConnString, fmUser, fmPass, "BOXIT_documents_Peter")
+             ]
+           
+            
+            
+def createDataHierarchy(tr):
+    inventorySpace = tr.getSpace("MATERIALS")
+    if inventorySpace == None:
+        tr.createNewSpace("MATERIALS", None)
+        tr.createNewProject("/MATERIALS/REAGENTS")
+        tr.createNewProject("/MATERIALS/CELL_LINES")
+        tr.createNewProject("/MATERIALS/POLYNUCLEOTIDES")
+        tr.createNewProject("/MATERIALS/PLASMIDS")
+        tr.createNewProject("/MATERIALS/YEASTS")        
+        
+        
\ No newline at end of file
diff --git a/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/plugin.properties b/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/plugin.properties
new file mode 100644
index 0000000000000000000000000000000000000000..54f2044ddda7bb67c827931911974a3ed40540c7
--- /dev/null
+++ b/plasmid/source/core-plugins/petermigration/2/dss/drop-boxes/petermigration/plugin.properties
@@ -0,0 +1,9 @@
+##
+## Defaults
+##
+incoming-data-completeness-condition = auto-detection
+top-level-data-set-handler = ch.systemsx.cisd.etlserver.registrator.api.v2.JythonTopLevelDataSetHandlerV2
+storage-processor = ch.systemsx.cisd.etlserver.DefaultStorageProcessor
+script-path = migration.py
+dropbox-name = petermigration
+incoming-dir = ${root-dir}/petermigration
\ No newline at end of file