diff --git a/rtd_cina/resource/masterdata/cina-master-data.py b/rtd_cina/resource/masterdata/cina-master-data.py new file mode 100644 index 0000000000000000000000000000000000000000..ff98f2d8b6f5aebaf58807149f72f538b6fcfced --- /dev/null +++ b/rtd_cina/resource/masterdata/cina-master-data.py @@ -0,0 +1,304 @@ +# -*- coding: utf-8 -*- + +""" + cina-master-data.py + + This script registers all master data for the CINA instance of openBIS +""" + +import ch.systemsx.cisd.openbis.generic.server.jython.api.v1.DataType as DataType + +tr = service.transaction() + + +file_type_HDF5 = tr.createNewFileFormatType('HDF5') +file_type_HDF5.setDescription('Hierarchical Data Format File, version 5') + +file_type_PROPRIETARY = tr.createNewFileFormatType('PROPRIETARY') +file_type_PROPRIETARY.setDescription('Proprietary Format File') + +file_type_SRF = tr.createNewFileFormatType('SRF') +file_type_SRF.setDescription('Sequence Read Format File') + +file_type_TIFF = tr.createNewFileFormatType('TIFF') +file_type_TIFF.setDescription('TIFF File') + +file_type_TSV = tr.createNewFileFormatType('TSV') +file_type_TSV.setDescription('Tab Separated Values File') + +file_type_XML = tr.createNewFileFormatType('XML') +file_type_XML.setDescription('XML File') + +vocabulary_STORAGE_FORMAT = tr.createNewVocabulary('STORAGE_FORMAT') +vocabulary_STORAGE_FORMAT.setDescription('The on-disk storage format of a data set') +vocabulary_STORAGE_FORMAT.setUrlTemplate(None) +vocabulary_STORAGE_FORMAT.setManagedInternally(True) +vocabulary_STORAGE_FORMAT.setInternalNamespace(True) +vocabulary_STORAGE_FORMAT.setChosenFromList(True) + +vocabulary_term_STORAGE_FORMAT_BDS_DIRECTORY = tr.createNewVocabularyTerm('BDS_DIRECTORY') +vocabulary_term_STORAGE_FORMAT_BDS_DIRECTORY.setDescription(None) +vocabulary_term_STORAGE_FORMAT_BDS_DIRECTORY.setLabel(None) +vocabulary_term_STORAGE_FORMAT_BDS_DIRECTORY.setOrdinal(2) +vocabulary_STORAGE_FORMAT.addTerm(vocabulary_term_STORAGE_FORMAT_BDS_DIRECTORY) + +vocabulary_term_STORAGE_FORMAT_PROPRIETARY = tr.createNewVocabularyTerm('PROPRIETARY') +vocabulary_term_STORAGE_FORMAT_PROPRIETARY.setDescription(None) +vocabulary_term_STORAGE_FORMAT_PROPRIETARY.setLabel(None) +vocabulary_term_STORAGE_FORMAT_PROPRIETARY.setOrdinal(1) +vocabulary_STORAGE_FORMAT.addTerm(vocabulary_term_STORAGE_FORMAT_PROPRIETARY) + +exp_type_CINA_EXP_TYPE = tr.createNewExperimentType('CINA_EXP_TYPE') +exp_type_CINA_EXP_TYPE.setDescription('Generic Experiment Type') + +samp_type_CINA_BROWSER_PREFERENCES = tr.createNewSampleType('CINA_BROWSER_PREFERENCES') +samp_type_CINA_BROWSER_PREFERENCES.setDescription('Browser Preferences.') +samp_type_CINA_BROWSER_PREFERENCES.setListable(True) +samp_type_CINA_BROWSER_PREFERENCES.setSubcodeUnique(False) +samp_type_CINA_BROWSER_PREFERENCES.setAutoGeneratedCode(False) +samp_type_CINA_BROWSER_PREFERENCES.setGeneratedCodePrefix('PREF-') + +samp_type_GRID_PREP = tr.createNewSampleType('GRID_PREP') +samp_type_GRID_PREP.setDescription('Grid biochemistry and preparation') +samp_type_GRID_PREP.setListable(True) +samp_type_GRID_PREP.setSubcodeUnique(False) +samp_type_GRID_PREP.setAutoGeneratedCode(False) +samp_type_GRID_PREP.setGeneratedCodePrefix('EM-PREP') + +samp_type_GRID_REPLICA = tr.createNewSampleType('GRID_REPLICA') +samp_type_GRID_REPLICA.setDescription('A replica of a grid preparation') +samp_type_GRID_REPLICA.setListable(True) +samp_type_GRID_REPLICA.setSubcodeUnique(False) +samp_type_GRID_REPLICA.setAutoGeneratedCode(False) +samp_type_GRID_REPLICA.setGeneratedCodePrefix('REPLICA') + +data_set_type_ANALYSIS = tr.createNewDataSetType('ANALYSIS') +data_set_type_ANALYSIS.setDescription('Analysis') +data_set_type_ANALYSIS.setContainerType(False) + +data_set_type_BUNDLE = tr.createNewDataSetType('BUNDLE') +data_set_type_BUNDLE.setDescription('Bundle Data Set') +data_set_type_BUNDLE.setContainerType(False) + +data_set_type_IMAGE = tr.createNewDataSetType('IMAGE') +data_set_type_IMAGE.setDescription('Annotated image') +data_set_type_IMAGE.setContainerType(False) + +data_set_type_METADATA = tr.createNewDataSetType('METADATA') +data_set_type_METADATA.setDescription('Metadata Data Set') +data_set_type_METADATA.setContainerType(False) + +data_set_type_RAW_IMAGES = tr.createNewDataSetType('RAW_IMAGES') +data_set_type_RAW_IMAGES.setDescription('Raw Images') +data_set_type_RAW_IMAGES.setContainerType(False) + +prop_type_ANALYSIS_PROCEDURE = tr.createNewPropertyType('ANALYSIS_PROCEDURE', DataType.VARCHAR) +prop_type_ANALYSIS_PROCEDURE.setLabel('Analysis procedure') +prop_type_ANALYSIS_PROCEDURE.setManagedInternally(False) +prop_type_ANALYSIS_PROCEDURE.setInternalNamespace(True) + + +prop_type_ANNOTATION = tr.createNewPropertyType('ANNOTATION', DataType.MULTILINE_VARCHAR) +prop_type_ANNOTATION.setLabel('Annotation') +prop_type_ANNOTATION.setManagedInternally(False) +prop_type_ANNOTATION.setInternalNamespace(False) + + +prop_type_COLORFLAG = tr.createNewPropertyType('COLORFLAG', DataType.BOOLEAN) +prop_type_COLORFLAG.setLabel('Is Color?') +prop_type_COLORFLAG.setManagedInternally(False) +prop_type_COLORFLAG.setInternalNamespace(False) + + +prop_type_CREATION_DATE = tr.createNewPropertyType('CREATION_DATE', DataType.TIMESTAMP) +prop_type_CREATION_DATE.setLabel('Creation Date') +prop_type_CREATION_DATE.setManagedInternally(False) +prop_type_CREATION_DATE.setInternalNamespace(False) + + +prop_type_CREATOR_EMAIL = tr.createNewPropertyType('CREATOR_EMAIL', DataType.VARCHAR) +prop_type_CREATOR_EMAIL.setLabel('Creator Email') +prop_type_CREATOR_EMAIL.setManagedInternally(False) +prop_type_CREATOR_EMAIL.setInternalNamespace(False) + + +prop_type_DATATYPE = tr.createNewPropertyType('DATA-TYPE', DataType.VARCHAR) +prop_type_DATATYPE.setLabel('Data Type') +prop_type_DATATYPE.setManagedInternally(False) +prop_type_DATATYPE.setInternalNamespace(False) + + +prop_type_DESCRIPTION = tr.createNewPropertyType('DESCRIPTION', DataType.VARCHAR) +prop_type_DESCRIPTION.setLabel('Description') +prop_type_DESCRIPTION.setManagedInternally(False) +prop_type_DESCRIPTION.setInternalNamespace(False) + + +prop_type_DIMENSIONX = tr.createNewPropertyType('DIMENSIONX', DataType.INTEGER) +prop_type_DIMENSIONX.setLabel('Dimension X') +prop_type_DIMENSIONX.setManagedInternally(False) +prop_type_DIMENSIONX.setInternalNamespace(False) + + +prop_type_DIMENSIONY = tr.createNewPropertyType('DIMENSIONY', DataType.INTEGER) +prop_type_DIMENSIONY.setLabel('Dimension Y') +prop_type_DIMENSIONY.setManagedInternally(False) +prop_type_DIMENSIONY.setInternalNamespace(False) + + +prop_type_DIMENSIONZ = tr.createNewPropertyType('DIMENSIONZ', DataType.INTEGER) +prop_type_DIMENSIONZ.setLabel('Dimension Z') +prop_type_DIMENSIONZ.setManagedInternally(False) +prop_type_DIMENSIONZ.setInternalNamespace(False) + + +prop_type_LAB_ID = tr.createNewPropertyType('LAB_ID', DataType.VARCHAR) +prop_type_LAB_ID.setLabel('Lab ID') +prop_type_LAB_ID.setManagedInternally(False) +prop_type_LAB_ID.setInternalNamespace(False) + + +prop_type_MAX = tr.createNewPropertyType('MAX', DataType.REAL) +prop_type_MAX.setLabel('Max') +prop_type_MAX.setManagedInternally(False) +prop_type_MAX.setInternalNamespace(False) + + +prop_type_MICROSCOPE = tr.createNewPropertyType('MICROSCOPE', DataType.VARCHAR) +prop_type_MICROSCOPE.setLabel('Microscope') +prop_type_MICROSCOPE.setManagedInternally(False) +prop_type_MICROSCOPE.setInternalNamespace(False) + + +prop_type_MIN = tr.createNewPropertyType('MIN', DataType.REAL) +prop_type_MIN.setLabel('Min') +prop_type_MIN.setManagedInternally(False) +prop_type_MIN.setInternalNamespace(False) + + +prop_type_MISC = tr.createNewPropertyType('MISC', DataType.MULTILINE_VARCHAR) +prop_type_MISC.setLabel('All') +prop_type_MISC.setManagedInternally(False) +prop_type_MISC.setInternalNamespace(False) + + +prop_type_OPERATOR = tr.createNewPropertyType('OPERATOR', DataType.VARCHAR) +prop_type_OPERATOR.setLabel('Operator') +prop_type_OPERATOR.setManagedInternally(False) +prop_type_OPERATOR.setInternalNamespace(False) + + +prop_type_RATING = tr.createNewPropertyType('RATING', DataType.INTEGER) +prop_type_RATING.setLabel('Rating') +prop_type_RATING.setManagedInternally(False) +prop_type_RATING.setInternalNamespace(False) + + +prop_type_SIZEX = tr.createNewPropertyType('SIZEX', DataType.REAL) +prop_type_SIZEX.setLabel('Size X') +prop_type_SIZEX.setManagedInternally(False) +prop_type_SIZEX.setInternalNamespace(False) + + +prop_type_SIZEY = tr.createNewPropertyType('SIZEY', DataType.REAL) +prop_type_SIZEY.setLabel('Size Y') +prop_type_SIZEY.setManagedInternally(False) +prop_type_SIZEY.setInternalNamespace(False) + + +prop_type_SIZEZ = tr.createNewPropertyType('SIZEZ', DataType.REAL) +prop_type_SIZEZ.setLabel('Size Z') +prop_type_SIZEZ.setManagedInternally(False) +prop_type_SIZEZ.setInternalNamespace(False) + + +prop_type_STACKFLAG = tr.createNewPropertyType('STACKFLAG', DataType.BOOLEAN) +prop_type_STACKFLAG.setLabel('Is Stack?') +prop_type_STACKFLAG.setManagedInternally(False) +prop_type_STACKFLAG.setInternalNamespace(False) + + +assignment_DATA_SET_BUNDLE_MISC = tr.assignPropertyType(data_set_type_BUNDLE, prop_type_MISC) +assignment_DATA_SET_BUNDLE_MISC.setMandatory(False) +assignment_DATA_SET_BUNDLE_MISC.setSection(None) +assignment_DATA_SET_BUNDLE_MISC.setPositionInForms(1) + +assignment_SAMPLE_GRID_PREP_DESCRIPTION = tr.assignPropertyType(samp_type_GRID_PREP, prop_type_DESCRIPTION) +assignment_SAMPLE_GRID_PREP_DESCRIPTION.setMandatory(False) +assignment_SAMPLE_GRID_PREP_DESCRIPTION.setSection(None) +assignment_SAMPLE_GRID_PREP_DESCRIPTION.setPositionInForms(1) + +assignment_SAMPLE_GRID_REPLICA_DESCRIPTION = tr.assignPropertyType(samp_type_GRID_REPLICA, prop_type_DESCRIPTION) +assignment_SAMPLE_GRID_REPLICA_DESCRIPTION.setMandatory(False) +assignment_SAMPLE_GRID_REPLICA_DESCRIPTION.setSection(None) +assignment_SAMPLE_GRID_REPLICA_DESCRIPTION.setPositionInForms(1) + +assignment_SAMPLE_GRID_REPLICA_CREATOR_EMAIL = tr.assignPropertyType(samp_type_GRID_REPLICA, prop_type_CREATOR_EMAIL) +assignment_SAMPLE_GRID_REPLICA_CREATOR_EMAIL.setMandatory(False) +assignment_SAMPLE_GRID_REPLICA_CREATOR_EMAIL.setSection(None) +assignment_SAMPLE_GRID_REPLICA_CREATOR_EMAIL.setPositionInForms(2) + +assignment_DATA_SET_IMAGE_OPERATOR = tr.assignPropertyType(data_set_type_IMAGE, prop_type_OPERATOR) +assignment_DATA_SET_IMAGE_OPERATOR.setMandatory(False) +assignment_DATA_SET_IMAGE_OPERATOR.setSection(None) +assignment_DATA_SET_IMAGE_OPERATOR.setPositionInForms(1) + +assignment_DATA_SET_IMAGE_ANNOTATION = tr.assignPropertyType(data_set_type_IMAGE, prop_type_ANNOTATION) +assignment_DATA_SET_IMAGE_ANNOTATION.setMandatory(False) +assignment_DATA_SET_IMAGE_ANNOTATION.setSection(None) +assignment_DATA_SET_IMAGE_ANNOTATION.setPositionInForms(2) + +assignment_DATA_SET_IMAGE_RATING = tr.assignPropertyType(data_set_type_IMAGE, prop_type_RATING) +assignment_DATA_SET_IMAGE_RATING.setMandatory(False) +assignment_DATA_SET_IMAGE_RATING.setSection(None) +assignment_DATA_SET_IMAGE_RATING.setPositionInForms(3) + +assignment_DATA_SET_IMAGE_DATATYPE = tr.assignPropertyType(data_set_type_IMAGE, prop_type_DATATYPE) +assignment_DATA_SET_IMAGE_DATATYPE.setMandatory(False) +assignment_DATA_SET_IMAGE_DATATYPE.setSection(None) +assignment_DATA_SET_IMAGE_DATATYPE.setPositionInForms(5) + +assignment_DATA_SET_IMAGE_DIMENSIONX = tr.assignPropertyType(data_set_type_IMAGE, prop_type_DIMENSIONX) +assignment_DATA_SET_IMAGE_DIMENSIONX.setMandatory(False) +assignment_DATA_SET_IMAGE_DIMENSIONX.setSection('Dimension') +assignment_DATA_SET_IMAGE_DIMENSIONX.setPositionInForms(6) + +assignment_DATA_SET_IMAGE_DIMENSIONY = tr.assignPropertyType(data_set_type_IMAGE, prop_type_DIMENSIONY) +assignment_DATA_SET_IMAGE_DIMENSIONY.setMandatory(False) +assignment_DATA_SET_IMAGE_DIMENSIONY.setSection('Dimension') +assignment_DATA_SET_IMAGE_DIMENSIONY.setPositionInForms(7) + +assignment_DATA_SET_IMAGE_DIMENSIONZ = tr.assignPropertyType(data_set_type_IMAGE, prop_type_DIMENSIONZ) +assignment_DATA_SET_IMAGE_DIMENSIONZ.setMandatory(False) +assignment_DATA_SET_IMAGE_DIMENSIONZ.setSection('Dimension') +assignment_DATA_SET_IMAGE_DIMENSIONZ.setPositionInForms(8) + +assignment_DATA_SET_IMAGE_SIZEX = tr.assignPropertyType(data_set_type_IMAGE, prop_type_SIZEX) +assignment_DATA_SET_IMAGE_SIZEX.setMandatory(False) +assignment_DATA_SET_IMAGE_SIZEX.setSection('Size') +assignment_DATA_SET_IMAGE_SIZEX.setPositionInForms(9) + +assignment_DATA_SET_IMAGE_SIZEY = tr.assignPropertyType(data_set_type_IMAGE, prop_type_SIZEY) +assignment_DATA_SET_IMAGE_SIZEY.setMandatory(False) +assignment_DATA_SET_IMAGE_SIZEY.setSection('Size') +assignment_DATA_SET_IMAGE_SIZEY.setPositionInForms(10) + +assignment_DATA_SET_IMAGE_SIZEZ = tr.assignPropertyType(data_set_type_IMAGE, prop_type_SIZEZ) +assignment_DATA_SET_IMAGE_SIZEZ.setMandatory(False) +assignment_DATA_SET_IMAGE_SIZEZ.setSection('Size') +assignment_DATA_SET_IMAGE_SIZEZ.setPositionInForms(11) + +assignment_DATA_SET_IMAGE_MISC = tr.assignPropertyType(data_set_type_IMAGE, prop_type_MISC) +assignment_DATA_SET_IMAGE_MISC.setMandatory(False) +assignment_DATA_SET_IMAGE_MISC.setSection(None) +assignment_DATA_SET_IMAGE_MISC.setPositionInForms(12) + +assignment_DATA_SET_METADATA_MISC = tr.assignPropertyType(data_set_type_METADATA, prop_type_MISC) +assignment_DATA_SET_METADATA_MISC.setMandatory(False) +assignment_DATA_SET_METADATA_MISC.setSection(None) +assignment_DATA_SET_METADATA_MISC.setPositionInForms(1) + +assignment_DATA_SET_RAW_IMAGES_MISC = tr.assignPropertyType(data_set_type_RAW_IMAGES, prop_type_MISC) +assignment_DATA_SET_RAW_IMAGES_MISC.setMandatory(False) +assignment_DATA_SET_RAW_IMAGES_MISC.setSection(None) +assignment_DATA_SET_RAW_IMAGES_MISC.setPositionInForms(1)