diff --git a/CHANGELOG.md b/CHANGELOG.md index 675e90c24..095c5e0de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,6 +67,17 @@ - Add Visium with probes next-gen directory schema - Update MALDI, SIMS, DESI, Visium no probes, and HiFi-Slide directory schemas - Fix paths in Histology, MIBI, IMC2D, AF, Confocal, Light Sheet, and Visium with probes directory schemas +- Add CODEX, Thick section Multiphoton MxIF, Second Harmonic Generation, and Enhanced Stimulated Raman Spectroscopy (SRS) next-gen directory schemas +- Move Thick section Multiphoton MxIF next-gen directory schema to placeholder file +- Update file path in Visium no probes, Histology, AF, MxIF, SHG, SRS, Confocal, Light Sheet, MALDI, SIMS, DESI +- Remove Organ CEDAR page +- Draft next-gen directory schema for SNARE-seq2 +- Added multi-assay support +- Delete GeoMX +- Update soft typing to use hyphen, not underscore +- Add SNARE-seq2 and RNAseq with probes next-gen directory schema +- Remove the draft tag from SNARE-seq2 +- Regenerate docs for SNARE-seq2 ## v0.0.15 - 2023-04-04 @@ -106,7 +117,6 @@ - Update DESI and remove NanoDESI - Support for conditional directory validation - ## v0.0.14 - 2022-06-23 - bump tzingo -> 1.2.10 (dependabot) diff --git a/docs/af/current/index.md b/docs/af/current/index.md index 53fdb9b38..0984f22cd 100644 --- a/docs/af/current/index.md +++ b/docs/af/current/index.md @@ -44,7 +44,7 @@ This schema is for autofluorescence (AF). For an example of an AF dataset & dire | lab_processed\/images\/[^\/]+\.ome\.tiff (example: lab_processed/images/HBM892.MDXS.293.ome.tiff) | βœ“ | OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. | | | lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv | βœ“ | This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed | | | lab_processed\/transformations\/.* | | This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). | | -| lab_processed\/transformations\/[^\/]*transformations\.txt | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | | +| lab_processed\/transformations\/[^\/]+\.txt | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | | | qa_qc\/.* | βœ“ | Directory containing QA and/or QC information. | | | qa_qc\/resolution_report\/.* | βœ“ | Directory containing the results of resolution tests and/or vendor preventative maintenance reports. | | | qa_qc\/resolution_report\/resolution\.txt | | This file summarizes the results of resolution tests or vendor reports from preventative maintenance visits. | | diff --git a/docs/celldive/current/index.md b/docs/celldive/current/index.md index 2276bca23..b98d737fa 100644 --- a/docs/celldive/current/index.md +++ b/docs/celldive/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/celldive/latest/celldive.tsv): Alternative for metadata entry. -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema diff --git a/docs/codex/current/index.md b/docs/codex/current/index.md index 2d48458a8..a9a415ff3 100644 --- a/docs/codex/current/index.md +++ b/docs/codex/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/codex/latest/codex.tsv): Alternative for metadata entry. -**For the PhenoCycler specification, please click [here](https://hubmapconsortium.github.io/ingest-validation-tools/phenocycler/current/).** See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +**For the PhenoCycler specification, please click [here](https://hubmapconsortium.github.io/ingest-validation-tools/phenocycler/current/).** [This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema @@ -28,5 +28,33 @@ Related files:
## Directory schemas -Version 2 (use this one) (draft - submission of data prepared using this schema will be supported by Sept. 30) +Version 2 (use this one) + +| pattern | required? | description | dependent on | +| --- | --- | --- | --- | +| extras\/.* | βœ“ | Folder for general lab-specific files related to the dataset. [Exists in all assays] | | +| extras\/microscope_hardware\.json | βœ“ | **[QA/QC]** A file generated by the micro-meta app that contains a description of the hardware components of the microscope. Email HuBMAP Consortium Help Desk if help is required in generating this document. | | +| extras\/microscope_settings\.json | | **[QA/QC]** A file generated by the micro-meta app that contains a description of the settings that were used to acquire the image data. Email HuBMAP Consortium Help Desk if help is required in generating this document. | | +| raw\/.* | βœ“ | This is a directory containing raw data. | | +| lab_processed\/images\/[^\/]+\.ome\.tiff | βœ“ | OME-TIFF file (multichannel, multi-layered) produced by the experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. | | +| lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv | βœ“ | This file should describe any processing that was done to generate the images in each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. Two columns should be booleans "is this a channel to use for nuclei segmentation" and "is this a channel to use for cell segmentation". | | +| lab_processed\/annotations\/.* | | Directory containing segmentation masks. | | +| lab_processed\/annotations\/[^\/]+\.segmentations\.ome\.tiff | | The segmentation masks should be stored as multi-channel pyramidal OME TIFF bitmasks with one channel per mask, where a single mask contains all instances of a type of object (e.g., all cells, a class of FTUs, etc). The class of objects contained in the mask is documented in the segmentation-masks.csv file. Each individual object in a mask should be represented by a unique integer pixel value starting at 1, with 0 meaning background (e.g., all pixels belonging to the first instance of a T-cell have a value of 1, the pixels for the second instance of a T-cell have a value of 2, etc). The pixel values should be unique within a mask. FTUs and other structural elements should be captured the same way as cells with segmentation masks and the appropriate channel feature definitions. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/segmentation-masks\.csv | | This file contains details about each mask, with one row per mask. Each column in this file contains details describing the mask (e.g., channel number, mask name, ontological ID, etc). Each mask is stored as a channel in the segmentations.ome.tiff file and the mask name should be ontologically based and linked to the ASCT+B table where possible. The number of rows in this file should equal the number of channels in the segmentations.ome.tiff. For example, one row in this file would ontologically describe cells, if the segmentations.ome.tiff file contained a mask of all cells. A minimum set of fields (required and optional) is included below. If multiple segmentations.ome.tiff files are used, this segmentation-masks.csv file should document the masks across all of the OME TIFF files. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/[^\/]+-objects\.csv | | This is a matrix where each row describes an individual object (e.g., one row per cell in the case where a mask contains all cells) and columns are features (i.e., object type, marker intensity, classification strategies, etc). One file should be created per mask with the name of the mask prepended to the file name. For example, if there’s a cell segmentation map called β€œcells” then you would include a file called β€œcells-objects.csv” and that file would contain one row per cell in the β€œcells” mask and one column per feature, such as marker intensity and/or cell type. A minimum set of fields (required and optional) is included below. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/[^\/]+\.geojson | | A GeoJSON file(s) containing the geometries of each object within a mask. For example, if the mask contains multiple FTUs, multiple cells, etc, each of the objects in the mask would be independently documented in the GeoJSON file. There would be a single GeoJSON file per mask and the name of the file should be the name of the mask. If this file is generated by QuPath, the coordinates will be in pixel units with the origin (0, 0) as the top left corner of the full-resolution image. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/tissue-boundary\.geojson | | **[QA/QC]** If the boundaries of the tissue have been identified (e.g., by manual efforts), then the boundary geometry can be included as a GeoJSON file named β€œtissue-boundary.geojson”. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/regions-of-concern\.csv | | This file and the associated GeoJSON file can be used to denote any regions in the image that may contain QA/QC concerns. For example, if there are folds in the tissue, the region of the fold can be highlighted. This file should contain one row per region and include documentation about the region and why it's being flagged. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/regions-of-concern\.geojson | | This file and the associated CSV file can be used to denote any regions in the image that may contain QA/QC concerns. For example, if there are folds in the tissue, the region of the fold can be highlighted. This file should contain the geometric coordinates of each region being flagged. | lab_processed\/annotations\/.* | +| [^\/]*NAV[^\/]*\.tif (example: NAV.tif) | | Navigational Image showing Region of Interest (Keyance Microscope only) | | +| [^\/]+\.pdf (example: summary.pdf) | | **[QA/QC]** PDF export of Powerpoint slide deck containing the Image Analysis Report | | +| extras\/dir-schema-v2-with-dataset-json | βœ“ | Empty file whose presence indicates the version of the directory schema in use | | +| processed\/drv_[^\/]*\/ | βœ“ | Processed files produced by the Akoya software or alternative software. | | +| raw\/cyc[^\/]*_reg[^\/]*\/.* | βœ“ | Intermediary directory | | +| raw\/src_[^\/]*\/ | βœ“ | Intermediary directory | | +| raw\/cyc[^\/]*_reg[^\/]*\/[^\/]*_z[^\/]*_CH[^\/]*\.tif | βœ“ | TIFF files produced by the experiment. General folder format: Cycle(n)_Region(n)_date; General file format: name_tileNumber(n)_zplaneNumber(n)_channelNumber(n) | | +| raw\/src_[^\/]*\/cyc[^\/]*_reg[^\/]*_[^\/]*\/[^\/]+\.gci | | Group Capture Information File (Keyance Microscope only) | | +| raw\/dataset\.json (example: raw/dataset.json) | βœ“ | Data processing parameters file. This will include additional CODEX specific metadata needed for the HIVE processing workflow. | | +| raw\/reg_[^\/]*\.png (example: raw/reg_00.png) | | Region overviews | | +| raw\/experiment\.json (example: raw/experiment.json) | | JSON file produced by the Akoya software which contains the metadata for the experiment, including the software version used, microscope parameters, channel names, pixel dimensions, etc. (required for HuBMAP pipeline) | | diff --git a/docs/confocal/current/index.md b/docs/confocal/current/index.md index 6294cb534..85d80a57e 100644 --- a/docs/confocal/current/index.md +++ b/docs/confocal/current/index.md @@ -44,7 +44,7 @@ Related files: | lab_processed\/images\/[^\/]+\.ome\.tiff (example: lab_processed/images/HBM892.MDXS.293.ome.tiff) | βœ“ | OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. | | | lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv | βœ“ | This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed | | | lab_processed\/transformations\/.* | | This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). | | -| lab_processed\/transformations\/[^\/]*transformations\.txt | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | | +| lab_processed\/transformations\/[^\/]+\.txt | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | | | qa_qc\/.* | βœ“ | Directory containing QA and/or QC information. | | | qa_qc\/resolution_report\/.* | βœ“ | Directory containing the results of resolution tests and/or vendor preventative maintenance reports. | | | qa_qc\/resolution_report\/resolution\.txt | | This file summarizes the results of resolution tests or vendor reports from preventative maintenance visits. | | diff --git a/docs/cosmx/current/index.md b/docs/cosmx/current/index.md index 33ca6aa1b..44f129334 100644 --- a/docs/cosmx/current/index.md +++ b/docs/cosmx/current/index.md @@ -12,7 +12,7 @@ Related files: Excel and TSV templates for this schema will be available when the draft next-generation schema, to be used in all future submissions, is finalized (no later than Sept. 30). -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema diff --git a/docs/cycif/current/index.md b/docs/cycif/current/index.md index be99ab10a..13afe9a33 100644 --- a/docs/cycif/current/index.md +++ b/docs/cycif/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/cycif/latest/cycif.tsv): Alternative for metadata entry. -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema diff --git a/docs/dbit/current/index.md b/docs/dbit/current/index.md index d0354d581..ac5f5b547 100644 --- a/docs/dbit/current/index.md +++ b/docs/dbit/current/index.md @@ -12,7 +12,7 @@ Related files: Excel and TSV templates for this schema will be available when the draft next-generation schema, to be used in all future submissions, is finalized (no later than Sept. 30). -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema diff --git a/docs/desi/current/index.md b/docs/desi/current/index.md index 6d7732684..8cd478fd3 100644 --- a/docs/desi/current/index.md +++ b/docs/desi/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/desi/latest/desi.tsv): Alternative for metadata entry. -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema @@ -43,7 +43,7 @@ See the following link for the set of fields that are required in the OME TIFF f | lab_processed\/images\/[^\/]+\.ome\.tiff | βœ“ | OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. | | lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv | βœ“ | This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed | | lab_processed\/transformations\/.* | | Directory containing image transformations. | -| lab_processed\/transformations\/[^\/]*transformations\.txt | | Transformations/map back to autofluorescence microscopy (related) data | +| lab_processed\/transformations\/[^\/]+\.txt | | Transformations/map back to autofluorescence microscopy (related) data | | lab_processed\/annotations\/.* | βœ“ | Directory containing annotations | | lab_processed\/annotations\/[^\/]+_MolecularAssignments\.tsv | βœ“ | TSV file containing the m/z, molecular assignment, etc. | diff --git a/docs/enhanced-srs/current/index.md b/docs/enhanced-srs/current/index.md index 09ed5590d..fd018fde1 100644 --- a/docs/enhanced-srs/current/index.md +++ b/docs/enhanced-srs/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/enhanced-srs/latest/enhanced-srs.tsv): Alternative for metadata entry. -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema @@ -28,5 +28,38 @@ See the following link for the set of fields that are required in the OME TIFF f
## Directory schemas -Version 2 (use this one) (draft - submission of data prepared using this schema will be supported by Sept. 30) +Version 2 (use this one) + +| pattern | required? | description | dependent on | +| --- | --- | --- | --- | +| extras\/.* | βœ“ | Folder for general lab-specific files related to the dataset. [Exists in all assays] | | +| extras\/microscope_hardware\.json | βœ“ | **[QA/QC]** A file generated by the micro-meta app that contains a description of the hardware components of the microscope. Email HuBMAP Consortium Help Desk if help is required in generating this document. | | +| extras\/microscope_settings\.json | βœ“ | **[QA/QC]** A file generated by the micro-meta app that contains a description of the settings that were used to acquire the image data. Email HuBMAP Consortium Help Desk if help is required in generating this document. | | +| raw\/.* | βœ“ | Raw data files for the experiment. | | +| raw\/channel_layout\.tsv | βœ“ | Table that includes a dictionary for channel to moiety, which may be a protein given in an OMAP panel or captured in the ASCT+B table. | | +| raw\/lightpath_configuration\.tsv | | This file documents the light path setttings not captured in the OME-TIFF - will be deprecated upon the implementation of MicroMeta. | | +| raw\/fingerprint_layout\.tsv | | Table that includes a dictionary for channel to moiety which is determined from spectral clustering and may include lipids, protein, etc. This file is specific to hyper-spectral imaging. | | +| raw\/images\/.* | βœ“ | Raw image files. Using this subdirectory allows for harmonization with other imaging assays. [This directory must include at least one raw file.] | | +| raw\/images\/[^\/]+\.(?:xml|nd2|oir|lif|czi|tiff) | βœ“ | Raw microscope file for the experiment | | +| lab_processed\/.* | βœ“ | Experiment files that were processed by the lab generating the data. | | +| lab_processed\/images\/.* | βœ“ | Processed image files | | +| lab_processed\/images\/[^\/]+\.ome\.tiff (example: lab_processed/images/HBM892.MDXS.293.ome.tiff) | βœ“ | OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. | | +| lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv | βœ“ | This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed | | +| lab_processed\/transformations\/.* | | This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). | | +| lab_processed\/transformations\/[^\/]+\.txt | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | | +| qa_qc\/.* | βœ“ | Directory containing QA and/or QC information. | | +| qa_qc\/resolution_report\/.* | βœ“ | Directory containing the results of resolution tests and/or vendor preventative maintenance reports. | | +| qa_qc\/resolution_report\/resolution\.txt | | This file summarizes the results of resolution tests or vendor reports from preventative maintenance visits. | | +| qa_qc\/resolution_report\/[^\/]+\.pdf | | This file is a pdf from a vendor preventative maintenance visit or resolution check tool demonstrating resolution. This file may include illumination test results. | | +| qa_qc\/illumination_report\/.* | βœ“ | Directory containing the results of illumination tests and/or vendor preventative maintenance reports. | | +| qa_qc\/illumination_report\/illumination.txt | | This file summarizes the results of illumination tests or vendor reports from preventative maintenance visits. | | +| qa_qc\/illumination_report\/[^\/]+\.pdf | | This file is a pdf from a vendor preventative maintenance visit or illumination check tool demonstrating illumination intensity. | | +| lab_processed\/annotations\/.* | | Directory containing segmentation masks. | | +| lab_processed\/annotations\/[^\/]+\.segmentations\.ome\.tiff | | The segmentation masks should be stored as multi-channel pyramidal OME TIFF bitmasks with one channel per mask, where a single mask contains all instances of a type of object (e.g., all cells, a class of FTUs, etc). The class of objects contained in the mask is documented in the segmentation-masks.csv file. Each individual object in a mask should be represented by a unique integer pixel value starting at 1, with 0 meaning background (e.g., all pixels belonging to the first instance of a T-cell have a value of 1, the pixels for the second instance of a T-cell have a value of 2, etc). The pixel values should be unique within a mask. FTUs and other structural elements should be captured the same way as cells with segmentation masks and the appropriate channel feature definitions. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/segmentation-masks\.csv | | This file contains details about each mask, with one row per mask. Each column in this file contains details describing the mask (e.g., channel number, mask name, ontological ID, etc). Each mask is stored as a channel in the segmentations.ome.tiff file and the mask name should be ontologically based and linked to the ASCT+B table where possible. The number of rows in this file should equal the number of channels in the segmentations.ome.tiff. For example, one row in this file would ontologically describe cells, if the segmentations.ome.tiff file contained a mask of all cells. A minimum set of fields (required and optional) is included below. If multiple segmentations.ome.tiff files are used, this segmentation-masks.csv file should document the masks across all of the OME TIFF files. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/[^\/]+-objects\.csv | | This is a matrix where each row describes an individual object (e.g., one row per cell in the case where a mask contains all cells) and columns are features (i.e., object type, marker intensity, classification strategies, etc). One file should be created per mask with the name of the mask prepended to the file name. For example, if there’s a cell segmentation map called β€œcells” then you would include a file called β€œcells-objects.csv” and that file would contain one row per cell in the β€œcells” mask and one column per feature, such as marker intensity and/or cell type. A minimum set of fields (required and optional) is included below. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/[^\/]+\.geojson | | A GeoJSON file(s) containing the geometries of each object within a mask. For example, if the mask contains multiple FTUs, multiple cells, etc, each of the objects in the mask would be independently documented in the GeoJSON file. There would be a single GeoJSON file per mask and the name of the file should be the name of the mask. If this file is generated by QuPath, the coordinates will be in pixel units with the origin (0, 0) as the top left corner of the full-resolution image. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/tissue-boundary\.geojson | | **[QA/QC]** If the boundaries of the tissue have been identified (e.g., by manual efforts), then the boundary geometry can be included as a GeoJSON file named β€œtissue-boundary.geojson”. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/regions-of-concern\.csv | | This file and the associated GeoJSON file can be used to denote any regions in the image that may contain QA/QC concerns. For example, if there are folds in the tissue, the region of the fold can be highlighted. This file should contain one row per region and include documentation about the region and why it's being flagged. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/regions-of-concern\.geojson | | This file and the associated CSV file can be used to denote any regions in the image that may contain QA/QC concerns. For example, if there are folds in the tissue, the region of the fold can be highlighted. This file should contain the geometric coordinates of each region being flagged. | lab_processed\/annotations\/.* | diff --git a/docs/field-assays.yaml b/docs/field-assays.yaml index 904839d04..62a78a32c 100644 --- a/docs/field-assays.yaml +++ b/docs/field-assays.yaml @@ -202,11 +202,8 @@ assay_category: - DESI - Enhanced Stimulated Raman Spectroscopy (SRS) - GC-MS -- GeoMx - GeoMx (NGS) -- GeoMx (RNA) - GeoMx (nCounter) -- GeoMx (protein) - HiFi-Slide - Histology - IMS @@ -233,7 +230,6 @@ assay_category: - NanoDESI - NanoPOTS - OCT -- Organ - PAS microscopy - PhenoCycler - RNAseq @@ -288,11 +284,8 @@ assay_type: - DESI - Enhanced Stimulated Raman Spectroscopy (SRS) - GC-MS -- GeoMx - GeoMx (NGS) -- GeoMx (RNA) - GeoMx (nCounter) -- GeoMx (protein) - HiFi-Slide - Histology - IMS @@ -319,7 +312,6 @@ assay_type: - NanoDESI - NanoPOTS - OCT -- Organ - PAS microscopy - PhenoCycler - Publication @@ -821,11 +813,8 @@ is_cedar: - DBiT - DESI - Enhanced Stimulated Raman Spectroscopy (SRS) -- GeoMx - GeoMx (NGS) -- GeoMx (RNA) - GeoMx (nCounter) -- GeoMx (protein) - HiFi-Slide - Histology - IMS @@ -837,15 +826,14 @@ is_cedar: - Micro CT - Molecular Cartography - Multiplex Ion Beam Imaging -- MxIF - OCT -- Organ - PAS microscopy - PhenoCycler - Publication - RNAseq - RNAseq (with probes) - SIMS +- SNARE-seq2 - Sample - Sample Block - Sample Section @@ -1535,8 +1523,6 @@ operator_email: - snRNAseq - snRNAseq-10xGenomics-v2 - snRNAseq-10xGenomics-v3 -organ_id: -- Organ overall_protocols_io_doi: - AF - CE-MS @@ -1574,9 +1560,6 @@ parent_id: - DBiT - DESI - Enhanced Stimulated Raman Spectroscopy (SRS) -- GeoMx -- GeoMx (RNA) -- GeoMx (protein) - LC-MS - Light Sheet - MALDI @@ -1585,7 +1568,6 @@ parent_id: - Micro CT - Molecular Cartography - Multiplex Ion Beam Imaging -- MxIF - OCT - PhenoCycler - Publication diff --git a/docs/field-descriptions.yaml b/docs/field-descriptions.yaml index ddc08bc64..d9e00fcc6 100644 --- a/docs/field-descriptions.yaml +++ b/docs/field-descriptions.yaml @@ -286,7 +286,8 @@ orcid_id: ORCID ID of contributor organ_condition: Health status of the organ at the time of sample recovery. organ_height_unit: Height unit. organ_height_value: The height value of the organ. -organ_id: UUID or SenNet ID of organ +organ_id: Unique HuBMAP identifier for the organ. This can be found in the Submission + ID section of a registered donor on the Ingest UI. organ_length_unit: Length unit. organ_length_value: The length value of the organ. organ_volume_unit: Volume unit. diff --git a/docs/field-entities.yaml b/docs/field-entities.yaml index aa1a84a9c..bea216572 100644 --- a/docs/field-entities.yaml +++ b/docs/field-entities.yaml @@ -38,11 +38,9 @@ area_value: - sample assay_category: - dataset -- organ - sample assay_type: - dataset -- organ - sample bead_barcode_offset: - dataset @@ -212,7 +210,6 @@ is_cedar: - antibodies - contributors - dataset -- organ - sample is_contact: - contributors diff --git a/docs/field-schemas.xlsx b/docs/field-schemas.xlsx index e4639602d..4bffe3703 100644 Binary files a/docs/field-schemas.xlsx and b/docs/field-schemas.xlsx differ diff --git a/docs/field-schemas.yaml b/docs/field-schemas.yaml index d1d9f8d4b..7fdd6d584 100644 --- a/docs/field-schemas.yaml +++ b/docs/field-schemas.yaml @@ -140,7 +140,6 @@ assay_category: - desi - enhanced-srs - gcms -- geomx - geomx-ncounter - geomx-ngs - hifi-slide @@ -161,7 +160,6 @@ assay_category: - nano - nano-splits - oct -- organ - phenocycler - rnaseq - rnaseq-with-probes @@ -176,6 +174,7 @@ assay_category: - seqfish - sims - slideseq +- snareseq2 - stained - thick-section-multiphoton-mxif - ultrasound @@ -200,7 +199,6 @@ assay_type: - desi - enhanced-srs - gcms -- geomx - geomx-ncounter - geomx-ngs - hifi-slide @@ -221,7 +219,6 @@ assay_type: - nano - nano-splits - oct -- organ - phenocycler - publication - rnaseq @@ -237,6 +234,7 @@ assay_type: - seqfish - sims - slideseq +- snareseq2 - stained - thick-section-multiphoton-mxif - ultrasound @@ -571,7 +569,6 @@ is_cedar: - dbit - desi - enhanced-srs -- geomx - geomx-ncounter - geomx-ngs - hifi-slide @@ -587,10 +584,8 @@ is_cedar: - mibi - microct - mri -- mxif - nano-splits - oct -- organ - phenocycler - publication - rnaseq @@ -603,6 +598,7 @@ is_cedar: - seqfish - sims - slideseq +- snareseq2 - stained - thick-section-multiphoton-mxif - ultrasound @@ -995,7 +991,6 @@ parent_id: - dbit - desi - enhanced-srs -- geomx - imc-2d - lcms - lightsheet @@ -1005,7 +1000,6 @@ parent_id: - mibi - microct - mri -- mxif - oct - phenocycler - publication diff --git a/docs/geomx/current/index.md b/docs/geomx/current/index.md deleted file mode 100644 index f9a368712..000000000 --- a/docs/geomx/current/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: GeoMx (RNA) / GeoMx (protein) / GeoMx -schema_name: geomx -category: Spatial Transcriptomics -all_versions_deprecated: False -exclude_from_index: False -layout: default - ---- - -Related files: - -Excel and TSV templates for this schema will be available when the draft next-generation schema, to be used in all future submissions, is finalized (no later than Sept. 30). - -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 - -## Metadata schema - - -Version 2 (use this one) (draft - submission of data prepared using this schema will be supported by Sept. 30) - - - -
- -## Directory schemas -Version 2 (use this one) (draft - submission of data prepared using this schema will be supported by Sept. 30) - diff --git a/docs/hifi-slide/current/index.md b/docs/hifi-slide/current/index.md index a3b77ef69..2c96fb3a4 100644 --- a/docs/hifi-slide/current/index.md +++ b/docs/hifi-slide/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/hifi-slide/latest/hifi-slide.tsv): Alternative for metadata entry. -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema diff --git a/docs/histology/current/index.md b/docs/histology/current/index.md index 1aeb4e071..0884955a9 100644 --- a/docs/histology/current/index.md +++ b/docs/histology/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/histology/latest/histology.tsv): Alternative for metadata entry. -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema @@ -43,7 +43,7 @@ See the following link for the set of fields that are required in the OME TIFF f | lab_processed\/images\/[^\/]+\.ome\.tiff (example: lab_processed/images/HBM892.MDXS.293.ome.tiff) | βœ“ | OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. | | | lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv | βœ“ | This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed here | | | lab_processed\/transformations\/.* | | This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). | | -| lab_processed\/transformations\/[^\/]*transformations\.txt | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | | +| lab_processed\/transformations\/[^\/]+\.txt | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | | | lab_processed\/probabilities\/.* | | Directory containing probabilities pertaining to lab processed data (e.g., from Ilastik pixel classification). | | | lab_processed\/probabilities\/[^\/]+\.tiff | | **[QA/QC]** A TIFF file that contains pixel probabilities. | | | lab_processed\/annotations\/.* | | Directory containing segmentation masks. | | diff --git a/docs/imc-2d/current/index.md b/docs/imc-2d/current/index.md index e220761bc..80f208c8b 100644 --- a/docs/imc-2d/current/index.md +++ b/docs/imc-2d/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/imc-2d/latest/imc-2d.tsv): Alternative for metadata entry. -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema diff --git a/docs/lightsheet/current/index.md b/docs/lightsheet/current/index.md index a112e9a7a..5529a9678 100644 --- a/docs/lightsheet/current/index.md +++ b/docs/lightsheet/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/lightsheet/latest/lightsheet.tsv): Alternative for metadata entry. -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema @@ -45,7 +45,7 @@ See the following link for the set of fields that are required in the OME TIFF f | lab_processed\/images\/[^\/]+\.ome\.tiff (example: lab_processed/images/HBM892.MDXS.293.ome.tiff) | βœ“ | OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. | | | lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv | βœ“ | This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed | | | lab_processed\/transformations\/.* | | This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). | | -| lab_processed\/transformations\/[^\/]*transformations\.txt | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | | +| lab_processed\/transformations\/[^\/]+\.txt | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | | | qa_qc\/.* | βœ“ | Directory containing QA and/or QC information. | | | qa_qc\/resolution_report\/.* | βœ“ | Directory containing the results of resolution tests and/or vendor preventative maintenance reports. | | | qa_qc\/resolution_report\/resolution\.txt | | This file summarizes the results of resolution tests or vendor reports from preventative maintenance visits. | | diff --git a/docs/maldi/current/index.md b/docs/maldi/current/index.md index f88d8431a..c1d23f1e9 100644 --- a/docs/maldi/current/index.md +++ b/docs/maldi/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/maldi/latest/maldi.tsv): Alternative for metadata entry. -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema @@ -43,7 +43,7 @@ See the following link for the set of fields that are required in the OME TIFF f | lab_processed\/images\/[^\/]+\.ome\.tiff | βœ“ | OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. | | lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv | βœ“ | This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed | | lab_processed\/transformations\/.* | | Directory containing image transformations. | -| lab_processed\/transformations\/[^\/]*transformations\.txt | | Transformations/map back to autofluorescence microscopy (related) data | +| lab_processed\/transformations\/[^\/]+\.txt | | Transformations/map back to autofluorescence microscopy (related) data | | lab_processed\/annotations\/.* | βœ“ | Directory containing annotations | | lab_processed\/annotations\/[^\/]+_MolecularAssignments\.tsv | βœ“ | TSV file containing the m/z, molecular assignment, etc. | diff --git a/docs/merfish/current/index.md b/docs/merfish/current/index.md index 76cdcdf9d..03dc359dc 100644 --- a/docs/merfish/current/index.md +++ b/docs/merfish/current/index.md @@ -12,7 +12,7 @@ Related files: Excel and TSV templates for this schema will be available when the draft next-generation schema, to be used in all future submissions, is finalized (no later than Sept. 30). -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema diff --git a/docs/mibi/current/index.md b/docs/mibi/current/index.md index dba5aff7e..9702a4244 100644 --- a/docs/mibi/current/index.md +++ b/docs/mibi/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/mibi/latest/mibi.tsv): Alternative for metadata entry. -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema diff --git a/docs/mxif/current/README.md b/docs/mxif/current/README.md deleted file mode 100644 index 522c0f7e4..000000000 --- a/docs/mxif/current/README.md +++ /dev/null @@ -1 +0,0 @@ -Moved to [github pages](https://hubmapconsortium.github.io/ingest-validation-tools/mxif/). \ No newline at end of file diff --git a/docs/mxif/current/index.md b/docs/mxif/current/index.md deleted file mode 100644 index f7bb0c794..000000000 --- a/docs/mxif/current/index.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -title: MxIF -schema_name: mxif -category: Multiplex Fluorescence Based Experiment (MxFBE) -all_versions_deprecated: True -exclude_from_index: False -layout: default - ---- - -Related files: - - - -This schema has been incorporated into the cycif schema which can be accessed [here](https://hubmapconsortium.github.io/ingest-validation-tools/cycif/). - -## Metadata schema - - -
Version 2 (current) (deprecated) -We do not expect to receive any new data of this assay type. -If you are planning to submit new data of this assay type, reach out to help@hubmapconsortium.org. -
- - - -
- diff --git a/docs/organ/current/README.md b/docs/organ/current/README.md deleted file mode 100644 index 55821499e..000000000 --- a/docs/organ/current/README.md +++ /dev/null @@ -1 +0,0 @@ -Moved to [github pages](https://hubmapconsortium.github.io/ingest-validation-tools/organ/). \ No newline at end of file diff --git a/docs/organ/current/index.md b/docs/organ/current/index.md deleted file mode 100644 index eb6da9749..000000000 --- a/docs/organ/current/index.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -title: Organ -schema_name: organ -category: Organ -all_versions_deprecated: False -exclude_from_index: False -layout: default - ---- -Prepare your metadata based on the latest metadata schema using one of the template files below. See the instructions in the [Metadata Validation Workflow](https://docs.google.com/document/d/1lfgiDGbyO4K4Hz1FMsJjmJd9RdwjShtJqFYNwKpbcZY) document for more information on preparing and validating your metadata.tsv file prior to submission. - -Related files: - - -- [πŸ“ Excel template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/organ/latest/organ.xlsx): For metadata entry. -- [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/organ/latest/organ.tsv): Alternative for metadata entry. - - - - -## Metadata schema - - -Version 3 (use this one) - - - -
- diff --git a/docs/phenocycler/current/index.md b/docs/phenocycler/current/index.md index 368488b03..fa283b8e2 100644 --- a/docs/phenocycler/current/index.md +++ b/docs/phenocycler/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/phenocycler/latest/phenocycler.tsv): Alternative for metadata entry. -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema diff --git a/docs/rnaseq-with-probes/current/index.md b/docs/rnaseq-with-probes/current/index.md index a45253a72..e4ffb7421 100644 --- a/docs/rnaseq-with-probes/current/index.md +++ b/docs/rnaseq-with-probes/current/index.md @@ -28,5 +28,17 @@ Related files:
## Directory schemas -Version 2 (use this one) (draft - submission of data prepared using this schema will be supported by Sept. 30) +Version 2 (use this one) + +| pattern | required? | description | +| --- | --- | --- | +| extras\/.* | βœ“ | Folder for general lab-specific files related to the dataset. | +| extras\/expected_cell_count\.txt | | The expected cell count for the RNA sequencing dataset. This is an optional file that, if present, will be used by the HIVE's RNA sequencing analysis pipeline. With some datasets, knowing the expected cell count has improved the output of the HIVE analysis pipeline. | +| raw\/.* | βœ“ | All raw data files for the experiment. | +| raw\/custom_probe_set\.csv | | This file should contain any custom probes used and must be included if the metadata field "is_custom_probes_used" is "Yes". The file should minimally include:target gene id, probe seq, probe id. The contents of this file are modeled after the 10x Genomics probe set file (see ). | +| raw\/additional_panels_used\.csv | | If multiple commercial probe panels were used, then the primary probe panel should be selected in the "oligo_probe_panel" metadata field. The additional panels must be included in this file. Each panel record should include:manufacturer, model/name, product code. | +| raw\/fastq\/.* | βœ“ | Raw sequencing files for the experiment. | +| raw\/fastq\/oligo\/.* | βœ“ | Directory containing fastq files pertaining to oligo sequencing. | +| raw\/fastq\/oligo\/[^\/]+_R[^\/]+\.fastq\.gz | βœ“ | This is a gzip version of the fastq file. This file contains the cell barcode and unique molecular identifier (technical). | +| lab_processed\/.* | | Experiment files that were processed by the lab generating the data. | diff --git a/docs/second-harmonic-generation/current/index.md b/docs/second-harmonic-generation/current/index.md index 132969088..20a5a784a 100644 --- a/docs/second-harmonic-generation/current/index.md +++ b/docs/second-harmonic-generation/current/index.md @@ -28,5 +28,38 @@ Related files:
## Directory schemas -Version 2 (use this one) (draft - submission of data prepared using this schema will be supported by Sept. 30) +Version 2 (use this one) + +| pattern | required? | description | dependent on | +| --- | --- | --- | --- | +| extras\/.* | βœ“ | Folder for general lab-specific files related to the dataset. [Exists in all assays] | | +| extras\/microscope_hardware\.json | βœ“ | **[QA/QC]** A file generated by the micro-meta app that contains a description of the hardware components of the microscope. Email HuBMAP Consortium Help Desk if help is required in generating this document. | | +| extras\/microscope_settings\.json | βœ“ | **[QA/QC]** A file generated by the micro-meta app that contains a description of the settings that were used to acquire the image data. Email HuBMAP Consortium Help Desk if help is required in generating this document. | | +| raw\/.* | βœ“ | Raw data files for the experiment. | | +| raw\/channel_layout\.tsv | βœ“ | Table that includes a dictionary for channel to moiety, which may be a protein given in an OMAP panel or captured in the ASCT+B table. | | +| raw\/lightpath_configuration\.tsv | | This file documents the light path setttings not captured in the OME-TIFF - will be deprecated upon the implementation of MicroMeta. | | +| raw\/fingerprint_layout\.tsv | | Table that includes a dictionary for channel to moiety which is determined from spectral clustering and may include lipids, protein, etc. This file is specific to hyper-spectral imaging. | | +| raw\/images\/.* | βœ“ | Raw image files. Using this subdirectory allows for harmonization with other imaging assays. [This directory must include at least one raw file.] | | +| raw\/images\/[^\/]+\.(?:xml|nd2|oir|lif|czi|tiff) | βœ“ | Raw microscope file for the experiment | | +| lab_processed\/.* | βœ“ | Experiment files that were processed by the lab generating the data. | | +| lab_processed\/images\/.* | βœ“ | Processed image files | | +| lab_processed\/images\/[^\/]+\.ome\.tiff (example: lab_processed/images/HBM892.MDXS.293.ome.tiff) | βœ“ | OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. | | +| lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv | βœ“ | This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed | | +| lab_processed\/transformations\/.* | | This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). | | +| lab_processed\/transformations\/[^\/]+\.txt | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | | +| qa_qc\/.* | βœ“ | Directory containing QA and/or QC information. | | +| qa_qc\/resolution_report\/.* | βœ“ | Directory containing the results of resolution tests and/or vendor preventative maintenance reports. | | +| qa_qc\/resolution_report\/resolution\.txt | | This file summarizes the results of resolution tests or vendor reports from preventative maintenance visits. | | +| qa_qc\/resolution_report\/[^\/]+\.pdf | | This file is a pdf from a vendor preventative maintenance visit or resolution check tool demonstrating resolution. This file may include illumination test results. | | +| qa_qc\/illumination_report\/.* | βœ“ | Directory containing the results of illumination tests and/or vendor preventative maintenance reports. | | +| qa_qc\/illumination_report\/illumination.txt | | This file summarizes the results of illumination tests or vendor reports from preventative maintenance visits. | | +| qa_qc\/illumination_report\/[^\/]+\.pdf | | This file is a pdf from a vendor preventative maintenance visit or illumination check tool demonstrating illumination intensity. | | +| lab_processed\/annotations\/.* | | Directory containing segmentation masks. | | +| lab_processed\/annotations\/[^\/]+\.segmentations\.ome\.tiff | | The segmentation masks should be stored as multi-channel pyramidal OME TIFF bitmasks with one channel per mask, where a single mask contains all instances of a type of object (e.g., all cells, a class of FTUs, etc). The class of objects contained in the mask is documented in the segmentation-masks.csv file. Each individual object in a mask should be represented by a unique integer pixel value starting at 1, with 0 meaning background (e.g., all pixels belonging to the first instance of a T-cell have a value of 1, the pixels for the second instance of a T-cell have a value of 2, etc). The pixel values should be unique within a mask. FTUs and other structural elements should be captured the same way as cells with segmentation masks and the appropriate channel feature definitions. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/segmentation-masks\.csv | | This file contains details about each mask, with one row per mask. Each column in this file contains details describing the mask (e.g., channel number, mask name, ontological ID, etc). Each mask is stored as a channel in the segmentations.ome.tiff file and the mask name should be ontologically based and linked to the ASCT+B table where possible. The number of rows in this file should equal the number of channels in the segmentations.ome.tiff. For example, one row in this file would ontologically describe cells, if the segmentations.ome.tiff file contained a mask of all cells. A minimum set of fields (required and optional) is included below. If multiple segmentations.ome.tiff files are used, this segmentation-masks.csv file should document the masks across all of the OME TIFF files. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/[^\/]+-objects\.csv | | This is a matrix where each row describes an individual object (e.g., one row per cell in the case where a mask contains all cells) and columns are features (i.e., object type, marker intensity, classification strategies, etc). One file should be created per mask with the name of the mask prepended to the file name. For example, if there’s a cell segmentation map called β€œcells” then you would include a file called β€œcells-objects.csv” and that file would contain one row per cell in the β€œcells” mask and one column per feature, such as marker intensity and/or cell type. A minimum set of fields (required and optional) is included below. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/[^\/]+\.geojson | | A GeoJSON file(s) containing the geometries of each object within a mask. For example, if the mask contains multiple FTUs, multiple cells, etc, each of the objects in the mask would be independently documented in the GeoJSON file. There would be a single GeoJSON file per mask and the name of the file should be the name of the mask. If this file is generated by QuPath, the coordinates will be in pixel units with the origin (0, 0) as the top left corner of the full-resolution image. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/tissue-boundary\.geojson | | **[QA/QC]** If the boundaries of the tissue have been identified (e.g., by manual efforts), then the boundary geometry can be included as a GeoJSON file named β€œtissue-boundary.geojson”. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/regions-of-concern\.csv | | This file and the associated GeoJSON file can be used to denote any regions in the image that may contain QA/QC concerns. For example, if there are folds in the tissue, the region of the fold can be highlighted. This file should contain one row per region and include documentation about the region and why it's being flagged. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/regions-of-concern\.geojson | | This file and the associated CSV file can be used to denote any regions in the image that may contain QA/QC concerns. For example, if there are folds in the tissue, the region of the fold can be highlighted. This file should contain the geometric coordinates of each region being flagged. | lab_processed\/annotations\/.* | diff --git a/docs/sims/current/index.md b/docs/sims/current/index.md index 8613ea8a9..fb3cbefeb 100644 --- a/docs/sims/current/index.md +++ b/docs/sims/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/sims/latest/sims.tsv): Alternative for metadata entry. -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema @@ -43,7 +43,7 @@ See the following link for the set of fields that are required in the OME TIFF f | lab_processed\/images\/[^\/]+\.ome\.tiff | βœ“ | OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. | | lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv | βœ“ | This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed | | lab_processed\/transformations\/.* | | Directory containing image transformations. | -| lab_processed\/transformations\/[^\/]*transformations\.txt | | Transformations/map back to autofluorescence microscopy (related) data | +| lab_processed\/transformations\/[^\/]+\.txt | | Transformations/map back to autofluorescence microscopy (related) data | | lab_processed\/annotations\/.* | βœ“ | Directory containing annotations | | lab_processed\/annotations\/[^\/]+_MolecularAssignments\.tsv | βœ“ | TSV file containing the m/z, molecular assignment, etc. | diff --git a/docs/geomx/current/README.md b/docs/snareseq2/current/README.md similarity index 67% rename from docs/geomx/current/README.md rename to docs/snareseq2/current/README.md index aca3f1702..51440cb74 100644 --- a/docs/geomx/current/README.md +++ b/docs/snareseq2/current/README.md @@ -1 +1 @@ -Moved to [github pages](https://hubmapconsortium.github.io/ingest-validation-tools/geomx/). \ No newline at end of file +Moved to [github pages](https://hubmapconsortium.github.io/ingest-validation-tools/snareseq2/). \ No newline at end of file diff --git a/docs/snareseq2/current/index.md b/docs/snareseq2/current/index.md new file mode 100644 index 000000000..7544daa70 --- /dev/null +++ b/docs/snareseq2/current/index.md @@ -0,0 +1,44 @@ +--- +title: SNARE-seq2 +schema_name: snareseq2 +category: Sequence Assays +all_versions_deprecated: False +exclude_from_index: False +layout: default + +--- +Prepare your metadata based on the latest metadata schema using one of the template files below. See the instructions in the [Metadata Validation Workflow](https://docs.google.com/document/d/1lfgiDGbyO4K4Hz1FMsJjmJd9RdwjShtJqFYNwKpbcZY) document for more information on preparing and validating your metadata.tsv file prior to submission. + +Related files: + + +- [πŸ“ Excel template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/snareseq2/latest/snareseq2.xlsx): For metadata entry. +- [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/snareseq2/latest/snareseq2.tsv): Alternative for metadata entry. + + + + +## Metadata schema + + +Version 2 (use this one) + + + +
+ +## Directory schemas +Version 2 (use this one) + +| pattern | required? | description | +| --- | --- | --- | +| extras\/.* | βœ“ | Folder for general lab-specific files related to the dataset. | +| extras\/expected_cell_count\.txt | | The expected cell count for the RNA sequencing dataset. This is an optional file that, if present, will be used by the HIVE's RNA sequencing analysis pipeline. With some datasets, knowing the expected cell count has improved the output of the HIVE analysis pipeline. | +| raw\/.* | βœ“ | All raw data files for the experiment. | +| raw\/fastq\/.* | βœ“ | Raw sequencing files for the experiment. | +| raw\/fastq\/RNA\/.* | βœ“ | Directory containing fastq files pertaining to RNAseq sequencing. | +| raw\/fastq\/RNA\/[^\/]+_R[^\/]+\.fastq\.gz | βœ“ | This is a GZip'd version of the forward and reverse fastq files from RNAseq sequencing (R1 and R2). | +| raw\/fastq\/ATAC\/.* | βœ“ | Directory containing fastq files pertaining to ATACseq sequencing. | +| raw\/fastq\/ATAC\/[^\/]+_R[^\/]+\.fastq\.gz | βœ“ | This is a GZip'd version of the fastq files containing the forward, reverse and barcode reads from ATACseq sequencing (R1, R2 and R3). Further, if the barcodes are in R3 (as with 10X) then the metadata field "barcode reads" would be set to "Read 2 (R2)" and the fastq file named "*_R2*fastq.gz" would be expected. | +| lab_processed\/.* | | Experiment files that were processed by the lab generating the data. | + diff --git a/docs/thick-section-multiphoton-mxif/current/index.md b/docs/thick-section-multiphoton-mxif/current/index.md index 7f7bdd233..13da46541 100644 --- a/docs/thick-section-multiphoton-mxif/current/index.md +++ b/docs/thick-section-multiphoton-mxif/current/index.md @@ -28,5 +28,38 @@ Related files:
## Directory schemas -Version 2 (use this one) (draft - submission of data prepared using this schema will be supported by Sept. 30) +Version 2 (use this one) + +| pattern | required? | description | dependent on | +| --- | --- | --- | --- | +| extras\/.* | βœ“ | Folder for general lab-specific files related to the dataset. [Exists in all assays] | | +| extras\/microscope_hardware\.json | βœ“ | **[QA/QC]** A file generated by the micro-meta app that contains a description of the hardware components of the microscope. Email HuBMAP Consortium Help Desk if help is required in generating this document. | | +| extras\/microscope_settings\.json | βœ“ | **[QA/QC]** A file generated by the micro-meta app that contains a description of the settings that were used to acquire the image data. Email HuBMAP Consortium Help Desk if help is required in generating this document. | | +| raw\/.* | βœ“ | Raw data files for the experiment. | | +| raw\/channel_layout\.tsv | βœ“ | Table that includes a dictionary for channel to moiety, which may be a protein given in an OMAP panel or captured in the ASCT+B table. | | +| raw\/lightpath_configuration\.tsv | | This file documents the light path setttings not captured in the OME-TIFF - will be deprecated upon the implementation of MicroMeta. | | +| raw\/fingerprint_layout\.tsv | | Table that includes a dictionary for channel to moiety which is determined from spectral clustering and may include lipids, protein, etc. This file is specific to hyper-spectral imaging. | | +| raw\/images\/.* | βœ“ | Raw image files. Using this subdirectory allows for harmonization with other imaging assays. [This directory must include at least one raw file.] | | +| raw\/images\/[^\/]+\.(?:xml|nd2|oir|lif|czi|tiff) | βœ“ | Raw microscope file for the experiment | | +| lab_processed\/.* | βœ“ | Experiment files that were processed by the lab generating the data. | | +| lab_processed\/images\/.* | βœ“ | Processed image files | | +| lab_processed\/images\/[^\/]+\.ome\.tiff (example: lab_processed/images/HBM892.MDXS.293.ome.tiff) | βœ“ | OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. | | +| lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv | βœ“ | This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed | | +| lab_processed\/transformations\/.* | | This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). | | +| lab_processed\/transformations\/[^\/]+\.txt | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | | +| qa_qc\/.* | βœ“ | Directory containing QA and/or QC information. | | +| qa_qc\/resolution_report\/.* | βœ“ | Directory containing the results of resolution tests and/or vendor preventative maintenance reports. | | +| qa_qc\/resolution_report\/resolution\.txt | | This file summarizes the results of resolution tests or vendor reports from preventative maintenance visits. | | +| qa_qc\/resolution_report\/[^\/]+\.pdf | | This file is a pdf from a vendor preventative maintenance visit or resolution check tool demonstrating resolution. This file may include illumination test results. | | +| qa_qc\/illumination_report\/.* | βœ“ | Directory containing the results of illumination tests and/or vendor preventative maintenance reports. | | +| qa_qc\/illumination_report\/illumination.txt | | This file summarizes the results of illumination tests or vendor reports from preventative maintenance visits. | | +| qa_qc\/illumination_report\/[^\/]+\.pdf | | This file is a pdf from a vendor preventative maintenance visit or illumination check tool demonstrating illumination intensity. | | +| lab_processed\/annotations\/.* | | Directory containing segmentation masks. | | +| lab_processed\/annotations\/[^\/]+\.segmentations\.ome\.tiff | | The segmentation masks should be stored as multi-channel pyramidal OME TIFF bitmasks with one channel per mask, where a single mask contains all instances of a type of object (e.g., all cells, a class of FTUs, etc). The class of objects contained in the mask is documented in the segmentation-masks.csv file. Each individual object in a mask should be represented by a unique integer pixel value starting at 1, with 0 meaning background (e.g., all pixels belonging to the first instance of a T-cell have a value of 1, the pixels for the second instance of a T-cell have a value of 2, etc). The pixel values should be unique within a mask. FTUs and other structural elements should be captured the same way as cells with segmentation masks and the appropriate channel feature definitions. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/segmentation-masks\.csv | | This file contains details about each mask, with one row per mask. Each column in this file contains details describing the mask (e.g., channel number, mask name, ontological ID, etc). Each mask is stored as a channel in the segmentations.ome.tiff file and the mask name should be ontologically based and linked to the ASCT+B table where possible. The number of rows in this file should equal the number of channels in the segmentations.ome.tiff. For example, one row in this file would ontologically describe cells, if the segmentations.ome.tiff file contained a mask of all cells. A minimum set of fields (required and optional) is included below. If multiple segmentations.ome.tiff files are used, this segmentation-masks.csv file should document the masks across all of the OME TIFF files. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/[^\/]+-objects\.csv | | This is a matrix where each row describes an individual object (e.g., one row per cell in the case where a mask contains all cells) and columns are features (i.e., object type, marker intensity, classification strategies, etc). One file should be created per mask with the name of the mask prepended to the file name. For example, if there’s a cell segmentation map called β€œcells” then you would include a file called β€œcells-objects.csv” and that file would contain one row per cell in the β€œcells” mask and one column per feature, such as marker intensity and/or cell type. A minimum set of fields (required and optional) is included below. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/[^\/]+\.geojson | | A GeoJSON file(s) containing the geometries of each object within a mask. For example, if the mask contains multiple FTUs, multiple cells, etc, each of the objects in the mask would be independently documented in the GeoJSON file. There would be a single GeoJSON file per mask and the name of the file should be the name of the mask. If this file is generated by QuPath, the coordinates will be in pixel units with the origin (0, 0) as the top left corner of the full-resolution image. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/tissue-boundary\.geojson | | **[QA/QC]** If the boundaries of the tissue have been identified (e.g., by manual efforts), then the boundary geometry can be included as a GeoJSON file named β€œtissue-boundary.geojson”. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/regions-of-concern\.csv | | This file and the associated GeoJSON file can be used to denote any regions in the image that may contain QA/QC concerns. For example, if there are folds in the tissue, the region of the fold can be highlighted. This file should contain one row per region and include documentation about the region and why it's being flagged. | lab_processed\/annotations\/.* | +| lab_processed\/annotations\/regions-of-concern\.geojson | | This file and the associated CSV file can be used to denote any regions in the image that may contain QA/QC concerns. For example, if there are folds in the tissue, the region of the fold can be highlighted. This file should contain the geometric coordinates of each region being flagged. | lab_processed\/annotations\/.* | diff --git a/docs/visium-no-probes/current/index.md b/docs/visium-no-probes/current/index.md index e4d147e9f..c5934aa52 100644 --- a/docs/visium-no-probes/current/index.md +++ b/docs/visium-no-probes/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/visium-no-probes/latest/visium-no-probes.tsv): Alternative for metadata entry. -REQUIRED - For this assay, you must also prepare and submit two additional metadata.tsv files following the metadata schemas linked here for [RNAseq](https://hubmapconsortium.github.io/ingest-validation-tools/rnaseq/current/) and [Histology](https://hubmapconsortium.github.io/ingest-validation-tools/histology/current/). See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +REQUIRED - For this assay, you must also prepare and submit two additional metadata.tsv files following the metadata schemas linked here for [RNAseq](https://hubmapconsortium.github.io/ingest-validation-tools/rnaseq/current/) and [Histology](https://hubmapconsortium.github.io/ingest-validation-tools/histology/current/). [This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema @@ -49,7 +49,7 @@ REQUIRED - For this assay, you must also prepare and submit two additional metad | lab_processed\/images\/[^\/]+\.ome\.tiff (example: lab_processed/images/HBM892.MDXS.293.ome.tiff) | βœ“ | OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. For Visium this stitched file should only include the single capture area relevant to the current dataset. For GeoMx there will be one OME TIFF file per slide, with each slide including multiple AOIs. See the following link for the set of fields that are required in the OME TIFF file XML header. | | | lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv | βœ“ | This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed | | | lab_processed\/transformations\/.* | | This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). | | -| lab_processed\/transformations\/[^\/]*transformations\.txt | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | | +| lab_processed\/transformations\/[^\/]+\.txt | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | | | lab_processed\/annotations\/.* | | Directory containing segmentation masks. | | | lab_processed\/annotations\/[^\/]+\.segmentations\.ome\.tiff | | The segmentation masks should be stored as multi-channel pyramidal OME TIFF bitmasks with one channel per mask, where a single mask contains all instances of a type of object (e.g., all cells, a class of FTUs, etc). The class of objects contained in the mask is documented in the segmentation-masks.csv file. Each individual object in a mask should be represented by a unique integer pixel value starting at 1, with 0 meaning background (e.g., all pixels belonging to the first instance of a T-cell have a value of 1, the pixels for the second instance of a T-cell have a value of 2, etc). The pixel values should be unique within a mask. FTUs and other structural elements should be captured the same way as cells with segmentation masks and the appropriate channel feature definitions. | lab_processed\/annotations\/.* | | lab_processed\/annotations\/segmentation-masks\.csv | | This file contains details about each mask, with one row per mask. Each column in this file contains details describing the mask (e.g., channel number, mask name, ontological ID, etc). Each mask is stored as a channel in the segmentations.ome.tiff file and the mask name should be ontologically based and linked to the ASCT+B table where possible. The number of rows in this file should equal the number of channels in the segmentations.ome.tiff. For example, one row in this file would ontologically describe cells, if the segmentations.ome.tiff file contained a mask of all cells. A minimum set of fields (required and optional) is included below. If multiple segmentations.ome.tiff files are used, this segmentation-masks.csv file should document the masks across all of the OME TIFF files. | lab_processed\/annotations\/.* | diff --git a/docs/visium-with-probes/current/index.md b/docs/visium-with-probes/current/index.md index 056e897a6..dc90c849c 100644 --- a/docs/visium-with-probes/current/index.md +++ b/docs/visium-with-probes/current/index.md @@ -16,7 +16,7 @@ Related files: - [πŸ“ TSV template](https://raw.githubusercontent.com/hubmapconsortium/dataset-metadata-spreadsheet/main/visium-with-probes/latest/visium-with-probes.tsv): Alternative for metadata entry. -REQUIRED - For this assay, you must also prepare and submit two additional metadata.tsv files following the metadata schemas linked here for [RNAseq](https://hubmapconsortium.github.io/ingest-validation-tools/rnaseq/current/) and [Histology](https://hubmapconsortium.github.io/ingest-validation-tools/histology/current/). See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +REQUIRED - For this assay, you must also prepare and submit two additional metadata.tsv files following the metadata schemas linked here for [RNAseq](https://hubmapconsortium.github.io/ingest-validation-tools/rnaseq/current/) and [Histology](https://hubmapconsortium.github.io/ingest-validation-tools/histology/current/). [This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema diff --git a/docs/xenium/current/index.md b/docs/xenium/current/index.md index 789d137a3..1c00ae458 100644 --- a/docs/xenium/current/index.md +++ b/docs/xenium/current/index.md @@ -12,7 +12,7 @@ Related files: Excel and TSV templates for this schema will be available when the draft next-generation schema, to be used in all future submissions, is finalized (no later than Sept. 30). -See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0 +[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header. ## Metadata schema diff --git a/examples/dataset-examples/bad-cedar-assay-histology/MOCK_RESPONSE.json b/examples/dataset-examples/bad-cedar-assay-histology/MOCK_RESPONSE.json index b5f6a3b3f..8983f0a6f 100644 --- a/examples/dataset-examples/bad-cedar-assay-histology/MOCK_RESPONSE.json +++ b/examples/dataset-examples/bad-cedar-assay-histology/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["wrong", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "DNA", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./dataset-1", "Yes", "H&E", "Progressive staining", "Yes", "No", "HTX Technologies", "SunCollect Sprayer", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "30", "e7475329-9a60-4088-8e34-19a3828e0b3b"], "response": {"assaytype": "histology", "description": "Histology", "dir_schema": "histology-v2", "vitessce_hints": []}} \ No newline at end of file +{"Histology": {"args": ["wrong", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "DNA", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./dataset-1", "Yes", "H&E", "Progressive staining", "Yes", "No", "HTX Technologies", "SunCollect Sprayer", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "30", "e7475329-9a60-4088-8e34-19a3828e0b3b"], "response": {"assaytype": "h-and-e", "description": "H&E Stained Microscopy", "dir-schema": "histology-v2", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-cedar-assay-histology/README.md b/examples/dataset-examples/bad-cedar-assay-histology/README.md index 66c438d48..f66d6e0c7 100644 --- a/examples/dataset-examples/bad-cedar-assay-histology/README.md +++ b/examples/dataset-examples/bad-cedar-assay-histology/README.md @@ -1,25 +1,8 @@ ``` -Upload Errors: - TSV Errors: - examples/dataset-examples/bad-cedar-assay-histology/upload/bad-histology-metadata.tsv row 2, column 'contributors_path': - Local Validation Errors: - examples/dataset-examples/bad-cedar-assay-histology/upload/contributors.tsv (as contributors-v1): - - 'Missing fields: ["is_contact"].' - Directory Errors: - examples/dataset-examples/bad-cedar-assay-histology/upload/bad-histology-metadata.tsv, row 2, column data_path: - examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-1 (as histology-v2): - Not allowed: - - microscope_hardware.json. - - microscope_settings.json. - Required but missing: - - extras\/microscope_hardware\.json. - examples/dataset-examples/bad-cedar-assay-histology/upload/bad-histology-metadata.tsv, row 3, column data_path: - examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-2 (as histology-v2): - Not allowed: - - microscope_hardware.json. - - microscope_settings.json. - Required but missing: - - extras\/microscope_hardware\.json. +Reference Errors: + No References: + Files: + - unreferenced_file. Hint: 'If validation fails because of extra whitespace in the TSV, try: src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' diff --git a/examples/dataset-examples/bad-cedar-assay-histology/README_ONLINE.md b/examples/dataset-examples/bad-cedar-assay-histology/README_ONLINE.md index f29ea0113..555b6ab62 100644 --- a/examples/dataset-examples/bad-cedar-assay-histology/README_ONLINE.md +++ b/examples/dataset-examples/bad-cedar-assay-histology/README_ONLINE.md @@ -2,9 +2,11 @@ Upload Errors: TSV Errors: examples/dataset-examples/bad-cedar-assay-histology/upload/bad-histology-metadata.tsv row 2, column 'contributors_path': - Local Validation Errors: - examples/dataset-examples/bad-cedar-assay-histology/upload/contributors.tsv (as contributors-v1): - - 'Missing fields: ["is_contact"].' + CEDAR Validation Errors: + examples/dataset-examples/bad-cedar-assay-histology/upload/contributors.tsv: + Validation Errors: + - On row 0, column "orcid", value "0000-0002-8928-abcd" fails because of + error "invalidValueFormat". Metadata TSV Validation Errors: CEDAR Validation Errors: examples/dataset-examples/bad-cedar-assay-histology/upload/bad-histology-metadata.tsv: @@ -16,6 +18,10 @@ Metadata TSV Validation Errors: - On row 0, column "parent_sample_id", value "wrong" fails because of error "invalidValueFormat". - On row 1, column "contributors_path", value "" fails because of error "missingRequired". +Reference Errors: + No References: + Files: + - unreferenced_file. Hint: 'If validation fails because of extra whitespace in the TSV, try: src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' diff --git a/examples/dataset-examples/bad-cedar-assay-histology/upload/contributors.tsv b/examples/dataset-examples/bad-cedar-assay-histology/upload/contributors.tsv index f95f3eebf..32175da8b 100644 --- a/examples/dataset-examples/bad-cedar-assay-histology/upload/contributors.tsv +++ b/examples/dataset-examples/bad-cedar-assay-histology/upload/contributors.tsv @@ -1,2 +1,2 @@ -version affiliation first_name last_name middle_name_or_initial name orcid_id -1 will_not_detect_missing Firstname Lastname M. Firstname M. Lastname 0000-0002-8928-741X +first_name last_name middle_name_or_initial display_name affiliation orcid email is_contact is_principal_investigator is_operator metadata_schema_id +Firstname Lastname M. Firstname M. Lastname wrong 0000-0002-8928-abcd test@test.com Yes Yes Yes 94dae6f8-0756-4ab0-a47b-138e446a9501 diff --git a/examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-1/microscope_hardware.json b/examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-1/extras/microscope_hardware.json similarity index 100% rename from examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-1/microscope_hardware.json rename to examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-1/extras/microscope_hardware.json diff --git a/examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-1/microscope_settings.json b/examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-1/extras/microscope_settings.json similarity index 100% rename from examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-1/microscope_settings.json rename to examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-1/extras/microscope_settings.json diff --git a/examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-2/microscope_hardware.json b/examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-2/extras/microscope_hardware.json similarity index 100% rename from examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-2/microscope_hardware.json rename to examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-2/extras/microscope_hardware.json diff --git a/examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-2/microscope_settings.json b/examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-2/extras/microscope_settings.json similarity index 100% rename from examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-2/microscope_settings.json rename to examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-2/extras/microscope_settings.json diff --git a/examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-1/extras/empty-file b/examples/dataset-examples/bad-cedar-assay-histology/upload/unreferenced_file similarity index 100% rename from examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-1/extras/empty-file rename to examples/dataset-examples/bad-cedar-assay-histology/upload/unreferenced_file diff --git a/examples/dataset-examples/bad-cedar-dir-histology/MOCK_RESPONSE.json b/examples/dataset-examples/bad-cedar-dir-histology/MOCK_RESPONSE.json index c9cc959b2..38ea40018 100644 --- a/examples/dataset-examples/bad-cedar-dir-histology/MOCK_RESPONSE.json +++ b/examples/dataset-examples/bad-cedar-dir-histology/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "DNA", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./dataset-1", "Yes", "H&E", "Progressive staining", "Yes", "No", "HTX Technologies", "SunCollect Sprayer", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "30", "e7475329-9a60-4088-8e34-19a3828e0b3b"], "response": {"assaytype": "histology", "description": "Histology", "dir_schema": "histology-v2", "vitessce_hints": []}} \ No newline at end of file +{"Histology": {"args": ["HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "DNA", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./dataset-1", "Yes", "H&E", "Progressive staining", "Yes", "No", "HTX Technologies", "SunCollect Sprayer", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "30", "e7475329-9a60-4088-8e34-19a3828e0b3b"], "response": {"assaytype": "h-and-e", "description": "H&E Stained Microscopy", "dir-schema": "histology-v2", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-cedar-dir-histology/README_ONLINE.md b/examples/dataset-examples/bad-cedar-dir-histology/README_ONLINE.md index 4322dabcc..3b876f092 100644 --- a/examples/dataset-examples/bad-cedar-dir-histology/README_ONLINE.md +++ b/examples/dataset-examples/bad-cedar-dir-histology/README_ONLINE.md @@ -10,11 +10,11 @@ Upload Errors: - not-allowed. Required but missing: - extras\/.*. + - extras\/microscope_hardware\.json. - lab_processed\/.*. - lab_processed\/images\/.*. - - lab_processed\/images\/[^\/]+\.ome-tiff\.channels\.csv. + - lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv. - lab_processed\/images\/[^\/]+\.ome\.tiff. - - microscope_hardware\.json. - raw\/.*. - raw\/images\/.*. - raw\/images\/[^\/]+\.(?:xml|scn|vsi|ndpi|svs|czi|tiff). diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/MOCK_RESPONSE.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/MOCK_RESPONSE.json new file mode 100644 index 000000000..cdef9d8b3 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/MOCK_RESPONSE.json @@ -0,0 +1 @@ +{"Visium (no probes)": {"args": ["babf1e69-f0eb-479a-bdc5-b70199669675", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Visium (no probes)", "./contributors.tsv", "./Visium_9OLC_A4_S1", "42.25", "mm^2", "2375.9", "um^2", "4992", "100", "um", "A1", "24", "minute"], "response": {"assaytype": "visium-no-probes", "description": "Visium (No probes)", "dir-schema": "visium-no-probes-v2", "must-contain": ["Histology", "RNAseq"], "vitessce-hints": []}}, "Histology": {"args": ["e7475329-9a60-4088-8e34-19a3828e0b3b", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "nucleic acid and protein", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "Yes", "H&E", "progressive staining", "Yes", "No", "Not applicable", "Not applicable", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "0.3"], "response": {"assaytype": "h-and-e", "description": "H&E Stained Microscopy", "dir-schema": "histology-v2", "vitessce-hints": []}}, "RNAseq": {"args": ["944e5fa0-f68b-4bdd-8664-74a3909429a9", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "RNAseq", "RNA", "No", "Illumina", "NovaSeq 6000", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "0", "Read 1 (R1)", "16", "16", "Read 1 (R1)", "12", "spot", "", "", "", "TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG", "517", "176.834", "ng", "735.479", "ng", "61.584", "nM", "single-end", "16", "16", "10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184", "10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215", "SI-TT-D1", "No", "1448", "Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319", "28,10,10,90", "Penn-E.768", "", "", "", ""], "response": {"assaytype": "scRNAseq-10Genomics-v3", "description": "scRNA-seq (10x Genomics v3)", "dir-schema": "scrnaseq-v2", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/README.md b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/README.md new file mode 100644 index 000000000..f66d6e0c7 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/README.md @@ -0,0 +1,9 @@ +``` +Reference Errors: + No References: + Files: + - unreferenced_file. +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/README_ONLINE.md b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/README_ONLINE.md new file mode 100644 index 000000000..a73841127 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/README_ONLINE.md @@ -0,0 +1,19 @@ +``` +Metadata TSV Validation Errors: + CEDAR Validation Errors: + examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/bad-visium-rnaseq-metadata.tsv: + URL Errors: + - 'Row 3, field "parent_sample_id" with value "": 404 Client Error: Not Found + for url: https://entity.api.hubmapconsortium.org/entities/.' + Validation Errors: + - On row 1, column "parent_sample_id", value "" fails because of error "missingRequired". + - On row 2, column "preparation_protocol_doi", value "wrong" fails because of + error "invalidUrl". +Reference Errors: + No References: + Files: + - unreferenced_file. +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-2/extras/empty-file b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff similarity index 100% rename from examples/dataset-examples/bad-cedar-assay-histology/upload/dataset-2/extras/empty-file rename to examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/raw/empty_file.gpr b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/raw/fastq/empty_file b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/raw/empty_file.gpr b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/raw/fastq/empty_file b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/raw/empty_file.gpr b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/raw/fastq/empty_file b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/bad-visium-rnaseq-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/bad-visium-rnaseq-metadata.tsv new file mode 100644 index 000000000..be3b798e9 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/bad-visium-rnaseq-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path barcode_offset barcode_read barcode_size umi_offset umi_read umi_size assay_input_entity number_of_input_cells_or_nuclei amount_of_input_analyte_value amount_of_input_analyte_unit library_adapter_sequence library_average_fragment_size library_input_amount_value library_input_amount_unit library_output_amount_value library_output_amount_unit library_concentration_value library_concentration_unit library_layout number_of_iterations_of_cdna_amplification number_of_pcr_cycles_for_indexing library_preparation_kit sample_indexing_kit sample_indexing_set is_technical_replicate expected_entity_capture_count sequencing_reagent_kit sequencing_read_format sequencing_batch_id capture_batch_id preparation_instrument_vendor preparation_instrument_model preparation_instrument_kit +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 517 176.834 ng 735.479 ng 61.584 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D1 No 1448 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 +944e5fa0-f68b-4bdd-8664-74a3909429a9 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 461 247.861 ng 815.816 ng 76.6089 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D2 No 1382 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM327.XDJP.776 Visium_9OLC_I4_S1 wrong RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 502 507.522 ng 1031.018 ng 88.91 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D3 No 2062 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/contributors.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/contributors.tsv new file mode 100644 index 000000000..387e13c11 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/contributors.tsv @@ -0,0 +1,2 @@ +first_name last_name middle_name_or_initial display_name affiliation orcid email is_contact is_principal_investigator is_operator metadata_schema_id +Firstname Lastname M. Firstname M. Lastname Carnegie Mellon University 0000-0002-8928-741X test@test.com Yes Yes Yes 94dae6f8-0756-4ab0-a47b-138e446a9501 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/good-visium-assay-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/good-visium-assay-metadata.tsv new file mode 100644 index 000000000..abc3831a6 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/good-visium-assay-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type contributors_path data_path mapped_area_value mapped_area_unit spot_size_value spot_size_unit number_of_spots spot_spacing_value spot_spacing_unit capture_area_id permeabilization_time_value permeabilization_time_unit +babf1e69-f0eb-479a-bdc5-b70199669675 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S1 42.25 mm^2 2375.9 um^2 4992 100 um A1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S2 42.25 mm^2 2375.9 um^2 4992 100 um B1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_I4_S1 42.25 mm^2 2375.9 um^2 4992 100 um C1 24 minute diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/good-visium-histology-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/good-visium-histology-metadata.tsv new file mode 100644 index 000000000..ed68b77bf --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/good-visium-histology-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path is_image_preprocessing_required stain_name stain_technique is_batch_staining_done is_staining_automated preparation_instrument_vendor preparation_instrument_model slide_id tile_configuration scan_direction tiled_image_columns tiled_image_count intended_tile_overlap_percentage +e7475329-9a60-4088-8e34-19a3828e0b3b HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/unreferenced_file b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-child-metadata/upload/unreferenced_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/MOCK_RESPONSE.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/MOCK_RESPONSE.json new file mode 100644 index 000000000..cdef9d8b3 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/MOCK_RESPONSE.json @@ -0,0 +1 @@ +{"Visium (no probes)": {"args": ["babf1e69-f0eb-479a-bdc5-b70199669675", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Visium (no probes)", "./contributors.tsv", "./Visium_9OLC_A4_S1", "42.25", "mm^2", "2375.9", "um^2", "4992", "100", "um", "A1", "24", "minute"], "response": {"assaytype": "visium-no-probes", "description": "Visium (No probes)", "dir-schema": "visium-no-probes-v2", "must-contain": ["Histology", "RNAseq"], "vitessce-hints": []}}, "Histology": {"args": ["e7475329-9a60-4088-8e34-19a3828e0b3b", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "nucleic acid and protein", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "Yes", "H&E", "progressive staining", "Yes", "No", "Not applicable", "Not applicable", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "0.3"], "response": {"assaytype": "h-and-e", "description": "H&E Stained Microscopy", "dir-schema": "histology-v2", "vitessce-hints": []}}, "RNAseq": {"args": ["944e5fa0-f68b-4bdd-8664-74a3909429a9", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "RNAseq", "RNA", "No", "Illumina", "NovaSeq 6000", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "0", "Read 1 (R1)", "16", "16", "Read 1 (R1)", "12", "spot", "", "", "", "TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG", "517", "176.834", "ng", "735.479", "ng", "61.584", "nM", "single-end", "16", "16", "10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184", "10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215", "SI-TT-D1", "No", "1448", "Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319", "28,10,10,90", "Penn-E.768", "", "", "", ""], "response": {"assaytype": "scRNAseq-10Genomics-v3", "description": "scRNA-seq (10x Genomics v3)", "dir-schema": "scrnaseq-v2", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/README.md b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/README.md new file mode 100644 index 000000000..332ef34b4 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/README.md @@ -0,0 +1,15 @@ +``` +Upload Errors: + Directory Errors: + ? examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/good-visium-assay-metadata.tsv, + column 'data_path', value ./Visium_9OLC_A4_S1 + : examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S1 (as visium-no-probes-v2): + Required but missing: + - lab_processed\/.*. + - lab_processed\/images\/.*. + - lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv. + - lab_processed\/images\/[^\/]+\.ome\.tiff. +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/README_ONLINE.md b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/README_ONLINE.md new file mode 100644 index 000000000..332ef34b4 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/README_ONLINE.md @@ -0,0 +1,15 @@ +``` +Upload Errors: + Directory Errors: + ? examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/good-visium-assay-metadata.tsv, + column 'data_path', value ./Visium_9OLC_A4_S1 + : examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S1 (as visium-no-probes-v2): + Required but missing: + - lab_processed\/.*. + - lab_processed\/images\/.*. + - lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv. + - lab_processed\/images\/[^\/]+\.ome\.tiff. +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S1/raw/empty_file.gpr b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S1/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S1/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S1/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S1/raw/fastq/empty_file b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S1/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/raw/empty_file.gpr b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/raw/fastq/empty_file b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/raw/empty_file.gpr b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/raw/fastq/empty_file b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/contributors.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/contributors.tsv new file mode 100644 index 000000000..387e13c11 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/contributors.tsv @@ -0,0 +1,2 @@ +first_name last_name middle_name_or_initial display_name affiliation orcid email is_contact is_principal_investigator is_operator metadata_schema_id +Firstname Lastname M. Firstname M. Lastname Carnegie Mellon University 0000-0002-8928-741X test@test.com Yes Yes Yes 94dae6f8-0756-4ab0-a47b-138e446a9501 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/good-visium-assay-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/good-visium-assay-metadata.tsv new file mode 100644 index 000000000..abc3831a6 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/good-visium-assay-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type contributors_path data_path mapped_area_value mapped_area_unit spot_size_value spot_size_unit number_of_spots spot_spacing_value spot_spacing_unit capture_area_id permeabilization_time_value permeabilization_time_unit +babf1e69-f0eb-479a-bdc5-b70199669675 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S1 42.25 mm^2 2375.9 um^2 4992 100 um A1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S2 42.25 mm^2 2375.9 um^2 4992 100 um B1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_I4_S1 42.25 mm^2 2375.9 um^2 4992 100 um C1 24 minute diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/good-visium-histology-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/good-visium-histology-metadata.tsv new file mode 100644 index 000000000..ed68b77bf --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/good-visium-histology-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path is_image_preprocessing_required stain_name stain_technique is_batch_staining_done is_staining_automated preparation_instrument_vendor preparation_instrument_model slide_id tile_configuration scan_direction tiled_image_columns tiled_image_count intended_tile_overlap_percentage +e7475329-9a60-4088-8e34-19a3828e0b3b HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/good-visium-rnaseq-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/good-visium-rnaseq-metadata.tsv new file mode 100644 index 000000000..554eff0fe --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-bad-dir-structure/upload/good-visium-rnaseq-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path barcode_offset barcode_read barcode_size umi_offset umi_read umi_size assay_input_entity number_of_input_cells_or_nuclei amount_of_input_analyte_value amount_of_input_analyte_unit library_adapter_sequence library_average_fragment_size library_input_amount_value library_input_amount_unit library_output_amount_value library_output_amount_unit library_concentration_value library_concentration_unit library_layout number_of_iterations_of_cdna_amplification number_of_pcr_cycles_for_indexing library_preparation_kit sample_indexing_kit sample_indexing_set is_technical_replicate expected_entity_capture_count sequencing_reagent_kit sequencing_read_format sequencing_batch_id capture_batch_id preparation_instrument_vendor preparation_instrument_model preparation_instrument_kit +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 517 176.834 ng 735.479 ng 61.584 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D1 No 1448 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 461 247.861 ng 815.816 ng 76.6089 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D2 No 1382 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 502 507.522 ng 1031.018 ng 88.91 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D3 No 2062 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/MOCK_RESPONSE.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/MOCK_RESPONSE.json new file mode 100644 index 000000000..33146bb3a --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/MOCK_RESPONSE.json @@ -0,0 +1 @@ +{"Visium (no probes)": {"args": ["babf1e69-f0eb-479a-bdc5-b70199669675", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Visium (no probes)", "./contributors.tsv", "./Visium_9OLC_A4_S1", "42.25", "mm^2", "2375.9", "um^2", "4992", "100", "um", "A1", "24", "minute"], "response": {"assaytype": "visium-no-probes", "description": "Visium (No probes)", "dir-schema": "visium-no-probes-v2", "must-contain": ["Histology", "RNAseq"], "vitessce-hints": []}}, "Histology": {"args": ["e7475329-9a60-4088-8e34-19a3828e0b3b", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "nucleic acid and protein", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "Yes", "H&E", "progressive staining", "Yes", "No", "Not applicable", "Not applicable", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "0.3"], "response": {"assaytype": "h-and-e", "description": "H&E Stained Microscopy", "dir-schema": "histology-v2", "vitessce-hints": []}}, "RNAseq": {"args": ["944e5fa0-f68b-4bdd-8664-74a3909429a9", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "RNAseq", "RNA", "No", "Illumina", "NovaSeq 6000", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "0", "Read 1 (R1)", "16", "16", "Read 1 (R1)", "12", "spot", "", "", "", "TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG", "517", "176.834", "ng", "735.479", "ng", "61.584", "nM", "single-end", "16", "16", "10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184", "10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215", "SI-TT-D1", "No", "1448", "Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319", "28,10,10,90", "Penn-E.768", "", "", "", ""], "response": {"assaytype": "snRNAseq-10xGenomics-v3", "description": "snRNA-seq (10x Genomics v3)", "dir-schema": "scrnaseq-v2", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/README.md b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/README.md new file mode 100644 index 000000000..4155ce71a --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/README.md @@ -0,0 +1,7 @@ +``` +Preflight: Multi-assay parent type Visium (no probes) missing required component(s) + ["rnaseq"]. +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/README_ONLINE.md b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/README_ONLINE.md new file mode 100644 index 000000000..4155ce71a --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/README_ONLINE.md @@ -0,0 +1,7 @@ +``` +Preflight: Multi-assay parent type Visium (no probes) missing required component(s) + ["rnaseq"]. +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S1/raw/emptyfile b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S1/raw/emptyfile new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S2/raw/emptyfile b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S2/raw/emptyfile new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_I4_S1/raw/emptyfile b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_I4_S1/raw/emptyfile new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/bad-visium-assay-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/bad-visium-assay-metadata.tsv new file mode 100644 index 000000000..abc3831a6 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/bad-visium-assay-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type contributors_path data_path mapped_area_value mapped_area_unit spot_size_value spot_size_unit number_of_spots spot_spacing_value spot_spacing_unit capture_area_id permeabilization_time_value permeabilization_time_unit +babf1e69-f0eb-479a-bdc5-b70199669675 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S1 42.25 mm^2 2375.9 um^2 4992 100 um A1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S2 42.25 mm^2 2375.9 um^2 4992 100 um B1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_I4_S1 42.25 mm^2 2375.9 um^2 4992 100 um C1 24 minute diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/bad-visium-histology-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/bad-visium-histology-metadata.tsv new file mode 100644 index 000000000..ed68b77bf --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/bad-visium-histology-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path is_image_preprocessing_required stain_name stain_technique is_batch_staining_done is_staining_automated preparation_instrument_vendor preparation_instrument_model slide_id tile_configuration scan_direction tiled_image_columns tiled_image_count intended_tile_overlap_percentage +e7475329-9a60-4088-8e34-19a3828e0b3b HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/contributors.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/contributors.tsv new file mode 100644 index 000000000..387e13c11 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-missing-child/upload/contributors.tsv @@ -0,0 +1,2 @@ +first_name last_name middle_name_or_initial display_name affiliation orcid email is_contact is_principal_investigator is_operator metadata_schema_id +Firstname Lastname M. Firstname M. Lastname Carnegie Mellon University 0000-0002-8928-741X test@test.com Yes Yes Yes 94dae6f8-0756-4ab0-a47b-138e446a9501 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/MOCK_RESPONSE.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/MOCK_RESPONSE.json new file mode 100644 index 000000000..cdef9d8b3 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/MOCK_RESPONSE.json @@ -0,0 +1 @@ +{"Visium (no probes)": {"args": ["babf1e69-f0eb-479a-bdc5-b70199669675", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Visium (no probes)", "./contributors.tsv", "./Visium_9OLC_A4_S1", "42.25", "mm^2", "2375.9", "um^2", "4992", "100", "um", "A1", "24", "minute"], "response": {"assaytype": "visium-no-probes", "description": "Visium (No probes)", "dir-schema": "visium-no-probes-v2", "must-contain": ["Histology", "RNAseq"], "vitessce-hints": []}}, "Histology": {"args": ["e7475329-9a60-4088-8e34-19a3828e0b3b", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "nucleic acid and protein", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "Yes", "H&E", "progressive staining", "Yes", "No", "Not applicable", "Not applicable", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "0.3"], "response": {"assaytype": "h-and-e", "description": "H&E Stained Microscopy", "dir-schema": "histology-v2", "vitessce-hints": []}}, "RNAseq": {"args": ["944e5fa0-f68b-4bdd-8664-74a3909429a9", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "RNAseq", "RNA", "No", "Illumina", "NovaSeq 6000", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "0", "Read 1 (R1)", "16", "16", "Read 1 (R1)", "12", "spot", "", "", "", "TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG", "517", "176.834", "ng", "735.479", "ng", "61.584", "nM", "single-end", "16", "16", "10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184", "10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215", "SI-TT-D1", "No", "1448", "Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319", "28,10,10,90", "Penn-E.768", "", "", "", ""], "response": {"assaytype": "scRNAseq-10Genomics-v3", "description": "scRNA-seq (10x Genomics v3)", "dir-schema": "scrnaseq-v2", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/README.md b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/README.md new file mode 100644 index 000000000..0ba8dc0b7 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/README.md @@ -0,0 +1,8 @@ +``` +Preflight: 'Multi-assay TSV examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/bad-visium-extra-paths-assay-metadata.tsv + contains data paths that are not present in child assay TSVs. Data paths unique + to parent: ["./Visium_9OLC_I4_S3"].' +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/README_ONLINE.md b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/README_ONLINE.md new file mode 100644 index 000000000..0ba8dc0b7 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/README_ONLINE.md @@ -0,0 +1,8 @@ +``` +Preflight: 'Multi-assay TSV examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/bad-visium-extra-paths-assay-metadata.tsv + contains data paths that are not present in child assay TSVs. Data paths unique + to parent: ["./Visium_9OLC_I4_S3"].' +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S1/raw/emptyfile b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S1/raw/emptyfile new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S2/raw/emptyfile b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S2/raw/emptyfile new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S1/raw/emptyfile b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S1/raw/emptyfile new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S3/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S3/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S3/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S3/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S3/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S3/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S3/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S3/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S3/raw/emptyfile b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S3/raw/emptyfile new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S3/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/Visium_9OLC_I4_S3/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/bad-visium-extra-paths-assay-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/bad-visium-extra-paths-assay-metadata.tsv new file mode 100644 index 000000000..4b9835349 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/bad-visium-extra-paths-assay-metadata.tsv @@ -0,0 +1,5 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type contributors_path data_path mapped_area_value mapped_area_unit spot_size_value spot_size_unit number_of_spots spot_spacing_value spot_spacing_unit capture_area_id permeabilization_time_value permeabilization_time_unit +babf1e69-f0eb-479a-bdc5-b70199669675 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S1 42.25 mm^2 2375.9 um^2 4992 100 um A1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S2 42.25 mm^2 2375.9 um^2 4992 100 um B1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_I4_S1 42.25 mm^2 2375.9 um^2 4992 100 um C1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM327.XDJP.776 Visium_9OLC_I4_S3 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_I4_S3 42.25 mm^2 2375.9 um^2 4992 100 um C1 24 minute diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/contributors.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/contributors.tsv new file mode 100644 index 000000000..387e13c11 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/contributors.tsv @@ -0,0 +1,2 @@ +first_name last_name middle_name_or_initial display_name affiliation orcid email is_contact is_principal_investigator is_operator metadata_schema_id +Firstname Lastname M. Firstname M. Lastname Carnegie Mellon University 0000-0002-8928-741X test@test.com Yes Yes Yes 94dae6f8-0756-4ab0-a47b-138e446a9501 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/good-visium-histology-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/good-visium-histology-metadata.tsv new file mode 100644 index 000000000..ed68b77bf --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/good-visium-histology-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path is_image_preprocessing_required stain_name stain_technique is_batch_staining_done is_staining_automated preparation_instrument_vendor preparation_instrument_model slide_id tile_configuration scan_direction tiled_image_columns tiled_image_count intended_tile_overlap_percentage +e7475329-9a60-4088-8e34-19a3828e0b3b HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/good-visium-rnaseq-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/good-visium-rnaseq-metadata.tsv new file mode 100644 index 000000000..554eff0fe --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-unreferenced-parent-path/upload/good-visium-rnaseq-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path barcode_offset barcode_read barcode_size umi_offset umi_read umi_size assay_input_entity number_of_input_cells_or_nuclei amount_of_input_analyte_value amount_of_input_analyte_unit library_adapter_sequence library_average_fragment_size library_input_amount_value library_input_amount_unit library_output_amount_value library_output_amount_unit library_concentration_value library_concentration_unit library_layout number_of_iterations_of_cdna_amplification number_of_pcr_cycles_for_indexing library_preparation_kit sample_indexing_kit sample_indexing_set is_technical_replicate expected_entity_capture_count sequencing_reagent_kit sequencing_read_format sequencing_batch_id capture_batch_id preparation_instrument_vendor preparation_instrument_model preparation_instrument_kit +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 517 176.834 ng 735.479 ng 61.584 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D1 No 1448 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 461 247.861 ng 815.816 ng 76.6089 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D2 No 1382 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 502 507.522 ng 1031.018 ng 88.91 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D3 No 2062 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/MOCK_RESPONSE.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/MOCK_RESPONSE.json new file mode 100644 index 000000000..cdef9d8b3 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/MOCK_RESPONSE.json @@ -0,0 +1 @@ +{"Visium (no probes)": {"args": ["babf1e69-f0eb-479a-bdc5-b70199669675", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Visium (no probes)", "./contributors.tsv", "./Visium_9OLC_A4_S1", "42.25", "mm^2", "2375.9", "um^2", "4992", "100", "um", "A1", "24", "minute"], "response": {"assaytype": "visium-no-probes", "description": "Visium (No probes)", "dir-schema": "visium-no-probes-v2", "must-contain": ["Histology", "RNAseq"], "vitessce-hints": []}}, "Histology": {"args": ["e7475329-9a60-4088-8e34-19a3828e0b3b", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "nucleic acid and protein", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "Yes", "H&E", "progressive staining", "Yes", "No", "Not applicable", "Not applicable", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "0.3"], "response": {"assaytype": "h-and-e", "description": "H&E Stained Microscopy", "dir-schema": "histology-v2", "vitessce-hints": []}}, "RNAseq": {"args": ["944e5fa0-f68b-4bdd-8664-74a3909429a9", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "RNAseq", "RNA", "No", "Illumina", "NovaSeq 6000", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "0", "Read 1 (R1)", "16", "16", "Read 1 (R1)", "12", "spot", "", "", "", "TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG", "517", "176.834", "ng", "735.479", "ng", "61.584", "nM", "single-end", "16", "16", "10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184", "10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215", "SI-TT-D1", "No", "1448", "Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319", "28,10,10,90", "Penn-E.768", "", "", "", ""], "response": {"assaytype": "scRNAseq-10Genomics-v3", "description": "scRNA-seq (10x Genomics v3)", "dir-schema": "scrnaseq-v2", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/README.md b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/README.md new file mode 100644 index 000000000..0f344b224 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/README.md @@ -0,0 +1,15 @@ +``` +Upload Errors: + Directory Errors: + ? examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/good-visium-histology-metadata.tsv, + column 'data_path', value ./dataset-1 + : ? examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1 + (as histology-v2) + : Required but missing: + - raw\/.*. + - raw\/images\/.*. + - raw\/images\/[^\/]+\.(?:xml|scn|vsi|ndpi|svs|czi|tiff). +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/README_ONLINE.md b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/README_ONLINE.md new file mode 100644 index 000000000..0f344b224 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/README_ONLINE.md @@ -0,0 +1,15 @@ +``` +Upload Errors: + Directory Errors: + ? examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/good-visium-histology-metadata.tsv, + column 'data_path', value ./dataset-1 + : ? examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1 + (as histology-v2) + : Required but missing: + - raw\/.*. + - raw\/images\/.*. + - raw\/images\/[^\/]+\.(?:xml|scn|vsi|ndpi|svs|czi|tiff). +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/raw/empty_file.gpr b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/raw/fastq/empty_file b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/raw/empty_file.gpr b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/raw/fastq/empty_file b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/raw/empty_file.gpr b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/raw/fastq/empty_file b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/contributors.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/contributors.tsv new file mode 100644 index 000000000..387e13c11 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/contributors.tsv @@ -0,0 +1,2 @@ +first_name last_name middle_name_or_initial display_name affiliation orcid email is_contact is_principal_investigator is_operator metadata_schema_id +Firstname Lastname M. Firstname M. Lastname Carnegie Mellon University 0000-0002-8928-741X test@test.com Yes Yes Yes 94dae6f8-0756-4ab0-a47b-138e446a9501 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/extras/microscope_hardware.json new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/annotations/segmentation-masks.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/annotations/segmentation-masks.csv new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/annotations/test-objects.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/annotations/test-objects.csv new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/annotations/test.segmentations.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/annotations/test.segmentations.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/empty-file b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/empty-file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/images/empty-file b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/images/empty-file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/images/empty-file.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/images/empty-file.ome-tiff.channels.csv new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/images/empty-file.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/dataset-1/lab_processed/images/empty-file.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/good-visium-assay-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/good-visium-assay-metadata.tsv new file mode 100644 index 000000000..abc3831a6 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/good-visium-assay-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type contributors_path data_path mapped_area_value mapped_area_unit spot_size_value spot_size_unit number_of_spots spot_spacing_value spot_spacing_unit capture_area_id permeabilization_time_value permeabilization_time_unit +babf1e69-f0eb-479a-bdc5-b70199669675 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S1 42.25 mm^2 2375.9 um^2 4992 100 um A1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S2 42.25 mm^2 2375.9 um^2 4992 100 um B1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_I4_S1 42.25 mm^2 2375.9 um^2 4992 100 um C1 24 minute diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/good-visium-histology-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/good-visium-histology-metadata.tsv new file mode 100644 index 000000000..be8345679 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/good-visium-histology-metadata.tsv @@ -0,0 +1,5 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path is_image_preprocessing_required stain_name stain_technique is_batch_staining_done is_staining_automated preparation_instrument_vendor preparation_instrument_model slide_id tile_configuration scan_direction tiled_image_columns tiled_image_count intended_tile_overlap_percentage +e7475329-9a60-4088-8e34-19a3828e0b3b HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology DNA No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./dataset-1 Yes H&E Progressive staining Yes No HTX Technologies SunCollect Sprayer V11A19-078 Snake-by-rows Right-and-down 10 120 30 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/good-visium-rnaseq-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/good-visium-rnaseq-metadata.tsv new file mode 100644 index 000000000..554eff0fe --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-with-standalone-histology-bad-dir-schema/upload/good-visium-rnaseq-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path barcode_offset barcode_read barcode_size umi_offset umi_read umi_size assay_input_entity number_of_input_cells_or_nuclei amount_of_input_analyte_value amount_of_input_analyte_unit library_adapter_sequence library_average_fragment_size library_input_amount_value library_input_amount_unit library_output_amount_value library_output_amount_unit library_concentration_value library_concentration_unit library_layout number_of_iterations_of_cdna_amplification number_of_pcr_cycles_for_indexing library_preparation_kit sample_indexing_kit sample_indexing_set is_technical_replicate expected_entity_capture_count sequencing_reagent_kit sequencing_read_format sequencing_batch_id capture_batch_id preparation_instrument_vendor preparation_instrument_model preparation_instrument_kit +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 517 176.834 ng 735.479 ng 61.584 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D1 No 1448 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 461 247.861 ng 815.816 ng 76.6089 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D2 No 1382 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 502 507.522 ng 1031.018 ng 88.91 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D3 No 2062 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/MOCK_RESPONSE.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/MOCK_RESPONSE.json new file mode 100644 index 000000000..55d7b50f2 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/MOCK_RESPONSE.json @@ -0,0 +1 @@ +{"Visium (no probes)": {"args": ["babf1e69-f0eb-479a-bdc5-b70199669675", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Visium (no probes)", "./contributors.tsv", "./Visium_9OLC_A4_S1", "42.25", "mm^2", "2375.9", "um^2", "4992", "100", "um", "A1", "24", "minute"], "response": {"assaytype": "visium-no-probes", "description": "Visium (No probes)", "dir-schema": "visium-no-probes-v2", "must-contain": ["Histology", "RNAseq"], "vitessce-hints": []}}, "Histology": {"args": ["e7475329-9a60-4088-8e34-19a3828e0b3b", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "nucleic acid and protein", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "Yes", "H&E", "progressive staining", "Yes", "No", "Not applicable", "Not applicable", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "0.3"], "response": {"assaytype": "h-and-e", "description": "H&E Stained Microscopy", "dir-schema": "histology-v2", "vitessce-hints": []}}, "RNAseq": {"args": ["HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "RNAseq", "RNA", "No", "Illumina", "NovaSeq 6000", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "0", "Read 1 (R1)", "16", "16", "Read 1 (R1)", "12", "spot", "", "", "", "TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG", "517", "176.834", "ng", "735.479", "ng", "61.584", "nM", "single-end", "16", "16", "10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184", "10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215", "SI-TT-D1", "No", "1448", "Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319", "28,10,10,90", "Penn-E.768", "", "", "", "", "", "", "", "yes", "0d9626de-5f14-4249-9c6a-98c717fa3309"], "response": {"assaytype": "snRNAseq-10xGenomics-v3", "description": "snRNA-seq (10x Genomics v3)", "dir-schema": "scrnaseq-v2", "vitessce-hints": []}}, "RNAseq (with probes)": {"args": ["HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "RNAseq (with probes)", "RNA", "No", "Illumina", "NovaSeq 6000", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "0", "Read 1 (R1)", "16", "16", "Read 1 (R1)", "12", "spot", "", "", "", "TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG", "517", "176.834", "ng", "735.479", "ng", "61.584", "nM", "single-end", "16", "16", "10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184", "10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215", "SI-TT-D1", "No", "1448", "Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319", "28,10,10,90", "Penn-E.768", "", "", "", "", "minute", "2", "10x Genomics; Visium Human Transcriptome Probe Kit v2 - Small; PN 1000466", "yes", "0d9626de-5f14-4249-9c6a-98c717fa3309"], "response": {"assaytype": "scRNAseq-visium-with-probes", "description": "Visium RNAseq with probes", "dir-schema": "scrnaseq-v2", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/README.md b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/README.md new file mode 100644 index 000000000..48e927c5f --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/README.md @@ -0,0 +1,8 @@ +``` +Preflight: 'Multi-assay parent type Visium (no probes) missing required component(s) + ["rnaseq"]. Invalid child assay type(s) for parent type Visium (no probes): ["RNAseq + (with probes)"].' +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/README_ONLINE.md b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/README_ONLINE.md new file mode 100644 index 000000000..48e927c5f --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/README_ONLINE.md @@ -0,0 +1,8 @@ +``` +Preflight: 'Multi-assay parent type Visium (no probes) missing required component(s) + ["rnaseq"]. Invalid child assay type(s) for parent type Visium (no probes): ["RNAseq + (with probes)"].' +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S1/raw/emptyfile b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S1/raw/emptyfile new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S2/raw/emptyfile b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S2/raw/emptyfile new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_I4_S1/raw/emptyfile b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_I4_S1/raw/emptyfile new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/bad-wrong-type-rnaseq-with-probes-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/bad-wrong-type-rnaseq-with-probes-metadata.tsv new file mode 100644 index 000000000..f61aee2ae --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/bad-wrong-type-rnaseq-with-probes-metadata.tsv @@ -0,0 +1,2 @@ +parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path barcode_offset barcode_read barcode_size umi_offset umi_read umi_size assay_input_entity number_of_input_cells_or_nuclei amount_of_input_analyte_value amount_of_input_analyte_unit library_adapter_sequence library_average_fragment_size library_input_amount_value library_input_amount_unit library_output_amount_value library_output_amount_unit library_concentration_value library_concentration_unit library_layout number_of_iterations_of_cdna_amplification number_of_pcr_cycles_for_indexing library_preparation_kit sample_indexing_kit sample_indexing_set is_technical_replicate expected_entity_capture_count sequencing_reagent_kit sequencing_read_format sequencing_batch_id capture_batch_id preparation_instrument_vendor preparation_instrument_model preparation_instrument_kit probe_hybridization_time_value probe_hybridization_time_unit oligo_probe_panel is_custom_probes_used metadata_schema_id +HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq (with probes) RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 517 176.834 ng 735.479 ng 61.584 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D1 No 1448 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 minute 2 10x Genomics; Visium Human Transcriptome Probe Kit v2 - Small; PN 1000466 yes 0d9626de-5f14-4249-9c6a-98c717fa3309 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/contributors.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/contributors.tsv new file mode 100644 index 000000000..387e13c11 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/contributors.tsv @@ -0,0 +1,2 @@ +first_name last_name middle_name_or_initial display_name affiliation orcid email is_contact is_principal_investigator is_operator metadata_schema_id +Firstname Lastname M. Firstname M. Lastname Carnegie Mellon University 0000-0002-8928-741X test@test.com Yes Yes Yes 94dae6f8-0756-4ab0-a47b-138e446a9501 diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/good-visium-assay-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/good-visium-assay-metadata.tsv new file mode 100644 index 000000000..abc3831a6 --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/good-visium-assay-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type contributors_path data_path mapped_area_value mapped_area_unit spot_size_value spot_size_unit number_of_spots spot_spacing_value spot_spacing_unit capture_area_id permeabilization_time_value permeabilization_time_unit +babf1e69-f0eb-479a-bdc5-b70199669675 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S1 42.25 mm^2 2375.9 um^2 4992 100 um A1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S2 42.25 mm^2 2375.9 um^2 4992 100 um B1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_I4_S1 42.25 mm^2 2375.9 um^2 4992 100 um C1 24 minute diff --git a/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/good-visium-histology-metadata.tsv b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/good-visium-histology-metadata.tsv new file mode 100644 index 000000000..ed68b77bf --- /dev/null +++ b/examples/dataset-examples/bad-cedar-multi-assay-visium-wrong-child/upload/good-visium-histology-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path is_image_preprocessing_required stain_name stain_technique is_batch_staining_done is_staining_automated preparation_instrument_vendor preparation_instrument_model slide_id tile_configuration scan_direction tiled_image_columns tiled_image_count intended_tile_overlap_percentage +e7475329-9a60-4088-8e34-19a3828e0b3b HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 diff --git a/examples/dataset-examples/bad-codex-akoya-directory-v1-missing-dataset.json/MOCK_RESPONSE.json b/examples/dataset-examples/bad-codex-akoya-directory-v1-missing-dataset.json/MOCK_RESPONSE.json index eb7790f2d..a287b3c54 100644 --- a/examples/dataset-examples/bad-codex-akoya-directory-v1-missing-dataset.json/MOCK_RESPONSE.json +++ b/examples/dataset-examples/bad-codex-akoya-directory-v1-missing-dataset.json/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": [1, "Lorem ipsum", "ABC123", "ABC123-RK-1_1", "2020-01-01 12:00", "10.17504/protocols.io.menc3de", "operator", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "42", "nm", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies.tsv", "contributors.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir_schema": "codex-v1-with-dataset-json", "tbl_schema": "codex-v1", "vitessce_hints": []}} \ No newline at end of file +{"CODEX": {"args": ["1", "Lorem ipsum", "ABC123", "ABC123-RK-1_1", "2020-01-01 12:00", "10.17504/protocols.io.menc3de", "operator", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "42", "nm", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies.tsv", "contributors.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir-schema": "codex-v1-with-dataset-json", "tbl-schema": "codex-v1", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-codex-data/MOCK_RESPONSE.json b/examples/dataset-examples/bad-codex-data/MOCK_RESPONSE.json index 07e26d958..61a0d4d7a 100644 --- a/examples/dataset-examples/bad-codex-data/MOCK_RESPONSE.json +++ b/examples/dataset-examples/bad-codex-data/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["ABC123", "ABC123-RK-1_1", "2020-01-01 12:00", "10\\.17504/protocols.io.menc3de", "operator", "no-at.example.com", "pi", "extra-period-not-caught@example.com.", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "42", "", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies.tsv", "contributors.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir_schema": "codex-v1-with-dataset-json", "tbl_schema": "codex-v0", "vitessce_hints": []}} \ No newline at end of file +{"CODEX": {"args": ["ABC123", "ABC123-RK-1_1", "2020-01-01 12:00", "10\\.17504/protocols.io.menc3de", "operator", "no-at.example.com", "pi", "extra-period-not-caught@example.com.", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "42", "", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies.tsv", "contributors.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir-schema": "codex-v1-with-dataset-json", "tbl-schema": "codex-v0", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-missing-data/MOCK_RESPONSE.json b/examples/dataset-examples/bad-missing-data/MOCK_RESPONSE.json index 4f614454c..6a7814f7b 100644 --- a/examples/dataset-examples/bad-missing-data/MOCK_RESPONSE.json +++ b/examples/dataset-examples/bad-missing-data/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["ABC123", "ABC123-RK-1_1", "2020-01-01 12:00", "10.17504/protocols.io.menc3de", "n/a", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "42", "nm", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies-missing.tsv", "contributors-missing.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir_schema": "codex-v1-with-dataset-json", "tbl_schema": "codex-v0", "vitessce_hints": []}} \ No newline at end of file +{"CODEX": {"args": ["ABC123", "ABC123-RK-1_1", "2020-01-01 12:00", "10.17504/protocols.io.menc3de", "n/a", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "42", "nm", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies-missing.tsv", "contributors-missing.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir-schema": "codex-v1-with-dataset-json", "tbl-schema": "codex-v0", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-mixed/MOCK_RESPONSE.json b/examples/dataset-examples/bad-mixed/MOCK_RESPONSE.json new file mode 100644 index 000000000..a095e93ba --- /dev/null +++ b/examples/dataset-examples/bad-mixed/MOCK_RESPONSE.json @@ -0,0 +1 @@ +{"SNARE-seq2": {"args": ["-INVALID-", "UCSD0002-RK-1-1-1", "2019-05-29 11:00", "10.17504/fake", "Nongluk Plongthongkum", "nplongth@eng.ucsd.edu", "Kun Zhang", "kzhang@eng.ucsd.edu", "sequence", "SNARE-seq2", "DNA", "FALSE", "Illumina", "NovaSeq", "TRUE", "KC9", "", "nucleus", "dounce", "none", "low clump", "425000", "4000", "SNARE-Seq2-AC", "In-house", "", "", "paired-end", "CTGTCTCTTATACACATCT+AGATGTGTATAAGAGACAG", "R2", "0,38,76", "8,8,8", "9", "9", "2868", "ng", "650", "NovaSeq 6000 S4 Reagent", "75/94/8/75", "91.05", "20", "contributors.tsv", "bad-shared-dataset"], "response": {"assaytype": "SNARE-ATACseq2", "description": "snATACseq (SNARE-seq2)", "dir-schema": "scatacseq-v0", "tbl-schema": "scatacseq-v0", "vitessce-hints": []}}, "CODEX": {"args": ["-INVALID-", "ABC123-RK-1_1", "2020-01-01 12:00", "10.17504/protocols.io.menc3de", "operator", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "42", "nm", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies.tsv", "contributors.tsv", "bad-shared-dataset"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir-schema": "codex-v1-with-dataset-json", "tbl-schema": "codex-v0", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-mixed/README.md b/examples/dataset-examples/bad-mixed/README.md new file mode 100644 index 000000000..7b8f8ec1f --- /dev/null +++ b/examples/dataset-examples/bad-mixed/README.md @@ -0,0 +1,47 @@ +``` +Upload Errors: + TSV Errors: + examples/dataset-examples/bad-mixed/upload/codex-metadata.tsv, row 2, column 'contributors_path': + - 'File has no data rows: examples/dataset-examples/bad-mixed/upload/contributors.tsv.' + examples/dataset-examples/bad-mixed/upload/codex-metadata.tsv, row 2, column 'antibodies_path': + - 'File does not exist: examples/dataset-examples/bad-mixed/upload/antibodies.tsv.' + examples/dataset-examples/bad-mixed/upload/scatacseq-metadata.tsv, row 2, column 'contributors_path': + - 'File has no data rows: examples/dataset-examples/bad-mixed/upload/contributors.tsv.' + Directory Errors: + examples/dataset-examples/bad-mixed/upload/codex-metadata.tsv, row 2, column data_path: + examples/dataset-examples/bad-mixed/upload/bad-shared-dataset (as codex-v1-with-dataset-json): + Not allowed: + - not-good-for-either-type.txt. + Required but missing: + - (processed|drv_[^/]*)/.*. + - (raw|src_.*)/.*. + - (raw|src_.*)/[cC]yc.*_reg.*/.*_Z.*_CH.*\.tif. + - (raw|src_[^/]*)/dataset\.json. + - extras/dir-schema-v1-with-dataset-json. + examples/dataset-examples/bad-mixed/upload/scatacseq-metadata.tsv, row 2, column data_path: + examples/dataset-examples/bad-mixed/upload/bad-shared-dataset (as scatacseq-v0): + Not allowed: + - not-good-for-either-type.txt. + Required but missing: + - '[^/]+\.fastq\.gz.' +Metadata TSV Validation Errors: + Local Validation Errors: + examples/dataset-examples/bad-mixed/upload/codex-metadata.tsv (as codex-v0): + - 'On row 2, column "donor_id", value "-INVALID-" fails because it does not match + the expected pattern. Example: ABC123' + examples/dataset-examples/bad-mixed/upload/scatacseq-metadata.tsv (as scatacseq-v0): + - 'On row 2, column "donor_id", value "-INVALID-" fails because it does not match + the expected pattern. Example: ABC123' + - On row 2, column "sc_isolation_protocols_io_doi", value "" fails because it + must be filled out. + - On row 2, column "library_construction_protocols_io_doi", value "" fails because + it must be filled out. +Reference Errors: + Multiple References: + bad-shared-dataset: + - examples/dataset-examples/bad-mixed/upload/codex-metadata.tsv (row 2). + - examples/dataset-examples/bad-mixed/upload/scatacseq-metadata.tsv (row 2). +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-mixed/README_ONLINE.md b/examples/dataset-examples/bad-mixed/README_ONLINE.md new file mode 100644 index 000000000..53058b0ae --- /dev/null +++ b/examples/dataset-examples/bad-mixed/README_ONLINE.md @@ -0,0 +1,49 @@ +``` +Upload Errors: + TSV Errors: + examples/dataset-examples/bad-mixed/upload/codex-metadata.tsv, row 2, column 'contributors_path': + - 'File has no data rows: examples/dataset-examples/bad-mixed/upload/contributors.tsv.' + examples/dataset-examples/bad-mixed/upload/codex-metadata.tsv, row 2, column 'antibodies_path': + - 'File does not exist: examples/dataset-examples/bad-mixed/upload/antibodies.tsv.' + examples/dataset-examples/bad-mixed/upload/scatacseq-metadata.tsv, row 2, column 'contributors_path': + - 'File has no data rows: examples/dataset-examples/bad-mixed/upload/contributors.tsv.' + Directory Errors: + examples/dataset-examples/bad-mixed/upload/codex-metadata.tsv, row 2, column data_path: + examples/dataset-examples/bad-mixed/upload/bad-shared-dataset (as codex-v1-with-dataset-json): + Not allowed: + - not-good-for-either-type.txt. + Required but missing: + - (processed|drv_[^/]*)/.*. + - (raw|src_.*)/.*. + - (raw|src_.*)/[cC]yc.*_reg.*/.*_Z.*_CH.*\.tif. + - (raw|src_[^/]*)/dataset\.json. + - extras/dir-schema-v1-with-dataset-json. + examples/dataset-examples/bad-mixed/upload/scatacseq-metadata.tsv, row 2, column data_path: + examples/dataset-examples/bad-mixed/upload/bad-shared-dataset (as scatacseq-v0): + Not allowed: + - not-good-for-either-type.txt. + Required but missing: + - '[^/]+\.fastq\.gz.' +Metadata TSV Validation Errors: + Local Validation Errors: + examples/dataset-examples/bad-mixed/upload/codex-metadata.tsv (as codex-v0): + - 'On row 2, column "donor_id", value "-INVALID-" fails because it does not match + the expected pattern. Example: ABC123' + examples/dataset-examples/bad-mixed/upload/scatacseq-metadata.tsv (as scatacseq-v0): + - 'On row 2, column "donor_id", value "-INVALID-" fails because it does not match + the expected pattern. Example: ABC123' + - On row 2, column "sc_isolation_protocols_io_doi", value "" fails because it + must be filled out. + - On row 2, column "library_construction_protocols_io_doi", value "" fails because + it must be filled out. + - On row 2, column "protocols_io_doi", value "10.17504/fake" fails because it + is an invalid DOI. +Reference Errors: + Multiple References: + bad-shared-dataset: + - examples/dataset-examples/bad-mixed/upload/codex-metadata.tsv (row 2). + - examples/dataset-examples/bad-mixed/upload/scatacseq-metadata.tsv (row 2). +Hint: 'If validation fails because of extra whitespace in the TSV, try: + + src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' +``` diff --git a/examples/dataset-examples/bad-mixed/upload/bad-shared-dataset/not-good-for-either-type.txt b/examples/dataset-examples/bad-mixed/upload/bad-shared-dataset/not-good-for-either-type.txt new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/bad-mixed/upload/codex-metadata.tsv b/examples/dataset-examples/bad-mixed/upload/codex-metadata.tsv new file mode 100644 index 000000000..8140f8785 --- /dev/null +++ b/examples/dataset-examples/bad-mixed/upload/codex-metadata.tsv @@ -0,0 +1,2 @@ +donor_id tissue_id execution_datetime protocols_io_doi operator operator_email pi pi_email assay_category assay_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model resolution_x_value resolution_x_unit resolution_y_value resolution_y_unit resolution_z_value resolution_z_unit preparation_instrument_vendor preparation_instrument_model number_of_antibodies number_of_channels number_of_cycles section_prep_protocols_io_doi reagent_prep_protocols_io_doi antibodies_path contributors_path data_path +-INVALID- ABC123-RK-1_1 2020-01-01 12:00 10.17504/protocols.io.menc3de operator operator_email@example.com pi pi_email@example.com imaging CODEX protein TRUE Keyence BZ-X800 42 nm 42 nm 42 nm CODEX version 1 robot 42 42 42 10.17504/protocols.io.menc3de 10.17504/protocols.io.menc3de antibodies.tsv contributors.tsv bad-shared-dataset \ No newline at end of file diff --git a/examples/dataset-examples/bad-mixed/upload/contributors.tsv b/examples/dataset-examples/bad-mixed/upload/contributors.tsv new file mode 100644 index 000000000..ff51cb411 --- /dev/null +++ b/examples/dataset-examples/bad-mixed/upload/contributors.tsv @@ -0,0 +1 @@ +affiliation first_name last_name middle_name_or_initial name orcid_id diff --git a/examples/dataset-examples/bad-mixed/upload/scatacseq-metadata.tsv b/examples/dataset-examples/bad-mixed/upload/scatacseq-metadata.tsv new file mode 100644 index 000000000..562e21920 --- /dev/null +++ b/examples/dataset-examples/bad-mixed/upload/scatacseq-metadata.tsv @@ -0,0 +1,2 @@ +donor_id tissue_id execution_datetime protocols_io_doi operator operator_email pi pi_email assay_category assay_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model is_technical_replicate library_id sc_isolation_protocols_io_doi sc_isolation_entity sc_isolation_tissue_dissociation sc_isolation_enrichment sc_isolation_quality_metric sc_isolation_cell_number transposition_input transposition_method transposition_transposase_source transposition_kit_number library_construction_protocols_io_doi library_layout library_adapter_sequence cell_barcode_read cell_barcode_offset cell_barcode_size library_pcr_cycles library_pcr_cycles_for_sample_index library_final_yield library_final_yield_unit library_average_fragment_size sequencing_reagent_kit sequencing_read_format sequencing_read_percent_q30 sequencing_phix_percent contributors_path data_path +-INVALID- UCSD0002-RK-1-1-1 2019-05-29 11:00 10.17504/fake Nongluk Plongthongkum nplongth@eng.ucsd.edu Kun Zhang kzhang@eng.ucsd.edu sequence SNARE-seq2 DNA FALSE Illumina NovaSeq TRUE KC9 nucleus dounce none low clump 425000 4000 SNARE-Seq2-AC In-house paired-end CTGTCTCTTATACACATCT+AGATGTGTATAAGAGACAG R2 0,38,76 8,8,8 9 9 2868 ng 650 NovaSeq 6000 S4 Reagent 75/94/8/75 91.05 20 contributors.tsv bad-shared-dataset diff --git a/examples/dataset-examples/bad-no-assay-type/MOCK_RESPONSE.json b/examples/dataset-examples/bad-no-assay-type/MOCK_RESPONSE.json index 87cd500dd..ea9249383 100644 --- a/examples/dataset-examples/bad-no-assay-type/MOCK_RESPONSE.json +++ b/examples/dataset-examples/bad-no-assay-type/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["and it won't work!", "wrong field name"], "response": {}} \ No newline at end of file +{"null": {"args": ["and it won't work!", "wrong field name"], "response": {}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-no-assay-type/README.md b/examples/dataset-examples/bad-no-assay-type/README.md index 1ae6bf2b3..061f99358 100644 --- a/examples/dataset-examples/bad-no-assay-type/README.md +++ b/examples/dataset-examples/bad-no-assay-type/README.md @@ -1,7 +1,5 @@ ``` -Preflight: 'No assay data retrieved for examples/dataset-examples/bad-no-assay-type/upload/bad-metadata.tsv. - Does not contain "assay_type" or "dataset_type". Column headers in TSV: this_does_not_have_data_type, - assay.' +Preflight: No assay_type or dataset_type in examples/dataset-examples/bad-no-assay-type/upload/bad-metadata.tsv. Hint: 'If validation fails because of extra whitespace in the TSV, try: src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' diff --git a/examples/dataset-examples/bad-no-assay-type/README_ONLINE.md b/examples/dataset-examples/bad-no-assay-type/README_ONLINE.md index 1ae6bf2b3..061f99358 100644 --- a/examples/dataset-examples/bad-no-assay-type/README_ONLINE.md +++ b/examples/dataset-examples/bad-no-assay-type/README_ONLINE.md @@ -1,7 +1,5 @@ ``` -Preflight: 'No assay data retrieved for examples/dataset-examples/bad-no-assay-type/upload/bad-metadata.tsv. - Does not contain "assay_type" or "dataset_type". Column headers in TSV: this_does_not_have_data_type, - assay.' +Preflight: No assay_type or dataset_type in examples/dataset-examples/bad-no-assay-type/upload/bad-metadata.tsv. Hint: 'If validation fails because of extra whitespace in the TSV, try: src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' diff --git a/examples/dataset-examples/bad-no-such-type/MOCK_RESPONSE.json b/examples/dataset-examples/bad-no-such-type/MOCK_RESPONSE.json index 9742e66b6..091563808 100644 --- a/examples/dataset-examples/bad-no-such-type/MOCK_RESPONSE.json +++ b/examples/dataset-examples/bad-no-such-type/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["fake"], "response": {}} \ No newline at end of file +{"fake": {"args": ["fake"], "response": {}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-no-such-type/README.md b/examples/dataset-examples/bad-no-such-type/README.md index 0eed2624b..eab926d98 100644 --- a/examples/dataset-examples/bad-no-such-type/README.md +++ b/examples/dataset-examples/bad-no-such-type/README.md @@ -1,5 +1,5 @@ ``` -Preflight: 'No assay data retrieved for examples/dataset-examples/bad-no-such-type/upload/fake-metadata.tsv. +Preflight: 'Assay data not retrieved from assayclassifier endpoint for TSV examples/dataset-examples/bad-no-such-type/upload/fake-metadata.tsv. Assay type: fake. Column headers in TSV: assay_type.' Hint: 'If validation fails because of extra whitespace in the TSV, try: diff --git a/examples/dataset-examples/bad-no-such-type/README_ONLINE.md b/examples/dataset-examples/bad-no-such-type/README_ONLINE.md index 0eed2624b..eab926d98 100644 --- a/examples/dataset-examples/bad-no-such-type/README_ONLINE.md +++ b/examples/dataset-examples/bad-no-such-type/README_ONLINE.md @@ -1,5 +1,5 @@ ``` -Preflight: 'No assay data retrieved for examples/dataset-examples/bad-no-such-type/upload/fake-metadata.tsv. +Preflight: 'Assay data not retrieved from assayclassifier endpoint for TSV examples/dataset-examples/bad-no-such-type/upload/fake-metadata.tsv. Assay type: fake. Column headers in TSV: assay_type.' Hint: 'If validation fails because of extra whitespace in the TSV, try: diff --git a/examples/dataset-examples/bad-repeated/MOCK_RESPONSE.json b/examples/dataset-examples/bad-repeated/MOCK_RESPONSE.json index 152d3c1a6..6991eeeaa 100644 --- a/examples/dataset-examples/bad-repeated/MOCK_RESPONSE.json +++ b/examples/dataset-examples/bad-repeated/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["CODEX", "."], "response": {"assaytype": "CODEX", "description": "CODEX", "dir_schema": "codex-v1-with-dataset-json", "tbl_schema": "codex-v0", "vitessce_hints": []}} \ No newline at end of file +{"CODEX": {"args": ["CODEX", "."], "response": {"assaytype": "CODEX", "description": "CODEX", "dir-schema": "codex-v1-with-dataset-json", "tbl-schema": "codex-v0", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-repeated/README.md b/examples/dataset-examples/bad-repeated/README.md index 7338b76da..08b14f36c 100644 --- a/examples/dataset-examples/bad-repeated/README.md +++ b/examples/dataset-examples/bad-repeated/README.md @@ -1,6 +1,6 @@ ``` Fatal Exception: - Repeated: 'There is more than one TSV for this type: codex.' + Repeated: 'There is more than one TSV for this type: CODEX.' Hint: 'If validation fails because of extra whitespace in the TSV, try: src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' diff --git a/examples/dataset-examples/bad-repeated/README_ONLINE.md b/examples/dataset-examples/bad-repeated/README_ONLINE.md index 7338b76da..08b14f36c 100644 --- a/examples/dataset-examples/bad-repeated/README_ONLINE.md +++ b/examples/dataset-examples/bad-repeated/README_ONLINE.md @@ -1,6 +1,6 @@ ``` Fatal Exception: - Repeated: 'There is more than one TSV for this type: codex.' + Repeated: 'There is more than one TSV for this type: CODEX.' Hint: 'If validation fails because of extra whitespace in the TSV, try: src/cleanup_whitespace.py --tsv_in original.tsv --tsv_out clean.tsv.' diff --git a/examples/dataset-examples/bad-scatacseq-data/MOCK_RESPONSE.json b/examples/dataset-examples/bad-scatacseq-data/MOCK_RESPONSE.json index e98907b7b..fe8b52fc5 100644 --- a/examples/dataset-examples/bad-scatacseq-data/MOCK_RESPONSE.json +++ b/examples/dataset-examples/bad-scatacseq-data/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["UCSD0002", "UCSD0002-RK-1-1-1", "2019-05-29 11:00", "10.17504/fake", "Nongluk Plongthongkum", "nplongth@eng.ucsd.edu", "Kun Zhang", "kzhang@eng.ucsd.edu", "sequence", "SNARE-seq2", "DNA", "FALSE", "Illumina", "NovaSeq", "TRUE", "KC9", "", "nucleus", "dounce", "none", "low clump", "425000", "4000", "SNARE-Seq2-AC", "In-house", "", "", "paired-end", "CTGTCTCTTATACACATCT+AGATGTGTATAAGAGACAG", "R2", "0,38,76", "8,8,8", "9", "9", "2868", "ng", "650", "NovaSeq 6000 S4 Reagent", "75/94/8/75", "91.05", "20", ".", "dataset-1"], "response": {"assaytype": "SNARE-ATACseq2", "description": "snATACseq (SNARE-seq2)", "dir_schema": "scatacseq-v0", "tbl_schema": "scatacseq-v0", "vitessce_hints": []}} \ No newline at end of file +{"SNARE-seq2": {"args": ["UCSD0002", "UCSD0002-RK-1-1-1", "2019-05-29 11:00", "10.17504/fake", "Nongluk Plongthongkum", "nplongth@eng.ucsd.edu", "Kun Zhang", "kzhang@eng.ucsd.edu", "sequence", "SNARE-seq2", "DNA", "FALSE", "Illumina", "NovaSeq", "TRUE", "KC9", "", "nucleus", "dounce", "none", "low clump", "425000", "4000", "SNARE-Seq2-AC", "In-house", "", "", "paired-end", "CTGTCTCTTATACACATCT+AGATGTGTATAAGAGACAG", "R2", "0,38,76", "8,8,8", "9", "9", "2868", "ng", "650", "NovaSeq 6000 S4 Reagent", "75/94/8/75", "91.05", "20", ".", "dataset-1"], "response": {"assaytype": "SNARE-ATACseq2", "description": "snATACseq (SNARE-seq2)", "dir-schema": "scatacseq-v0", "tbl-schema": "scatacseq-v0", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-scrnaseq-v0/MOCK_RESPONSE.json b/examples/dataset-examples/bad-scrnaseq-v0/MOCK_RESPONSE.json index 3c3b23392..efd80519a 100644 --- a/examples/dataset-examples/bad-scrnaseq-v0/MOCK_RESPONSE.json +++ b/examples/dataset-examples/bad-scrnaseq-v0/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["AZ123", "AZ123-AZ-123", "2020-01-01 01:01", "10.17504/123", "123", "fake@example.com", "123", "fake@example.com", "sequence", "scRNAseq-10xGenomics", "RNA", "true", "123", "123", "10.17504/123", "whole cell", "123", "123", "123", "123", "123", "123", "10.17504/123", "single-end", "123", "123", "false", "123", "123", "123", "123", "123", "123", "ng", "123", "123", "12/34/56", "50", "50", "contrib.tsv", "data"], "response": {"assaytype": "scRNAseq-10xGenomics-v3", "description": "scRNA-seq (10x Genomics v3)", "dir_schema": "scrnaseq-v0", "tbl_schema": "scrnaseq-v0", "vitessce_hints": []}} \ No newline at end of file +{"scRNAseq-10xGenomics": {"args": ["AZ123", "AZ123-AZ-123", "2020-01-01 01:01", "10.17504/123", "123", "fake@example.com", "123", "fake@example.com", "sequence", "scRNAseq-10xGenomics", "RNA", "true", "123", "123", "10.17504/123", "whole cell", "123", "123", "123", "123", "123", "123", "10.17504/123", "single-end", "123", "123", "false", "123", "123", "123", "123", "123", "123", "ng", "123", "123", "12/34/56", "50", "50", "contrib.tsv", "data"], "response": {"assaytype": "scRNAseq-10xGenomics-v3", "description": "scRNA-seq (10x Genomics v3)", "dir-schema": "scrnaseq-v0", "tbl-schema": "scrnaseq-v0", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/bad-tsv-formats/MOCK_RESPONSE.json b/examples/dataset-examples/bad-tsv-formats/MOCK_RESPONSE.json index 57fbef9bb..5fda4d35d 100644 --- a/examples/dataset-examples/bad-tsv-formats/MOCK_RESPONSE.json +++ b/examples/dataset-examples/bad-tsv-formats/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["not-uuid", "not-uuid", "not-time", "10\\.17504/protocols.io.menc3de", "operator", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "analyte_class", "is_targeted", "acquisition_instrument_vendor", "acquisition_instrument_model", "forty-two", "inches", "forty-two", "inches", "forty-two", "inches", "preparation_instrument_vendor", "preparation_instrument_model", "0.5", "0.5", "0.5", "not-doi", "not-doi", "antibodies.tsv", "contributors.tsv", "dataset-1/"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir_schema": "codex-v1-with-dataset-json", "tbl_schema": "codex-v0", "vitessce_hints": []}} \ No newline at end of file +{"CODEX": {"args": ["not-uuid", "not-uuid", "not-time", "10\\.17504/protocols.io.menc3de", "operator", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "analyte_class", "is_targeted", "acquisition_instrument_vendor", "acquisition_instrument_model", "forty-two", "inches", "forty-two", "inches", "forty-two", "inches", "preparation_instrument_vendor", "preparation_instrument_model", "0.5", "0.5", "0.5", "not-doi", "not-doi", "antibodies.tsv", "contributors.tsv", "dataset-1/"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir-schema": "codex-v1-with-dataset-json", "tbl-schema": "codex-v0", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/good-cedar-histology/MOCK_RESPONSE.json b/examples/dataset-examples/good-cedar-histology/MOCK_RESPONSE.json index c9cc959b2..38ea40018 100644 --- a/examples/dataset-examples/good-cedar-histology/MOCK_RESPONSE.json +++ b/examples/dataset-examples/good-cedar-histology/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "DNA", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./dataset-1", "Yes", "H&E", "Progressive staining", "Yes", "No", "HTX Technologies", "SunCollect Sprayer", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "30", "e7475329-9a60-4088-8e34-19a3828e0b3b"], "response": {"assaytype": "histology", "description": "Histology", "dir_schema": "histology-v2", "vitessce_hints": []}} \ No newline at end of file +{"Histology": {"args": ["HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "DNA", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./dataset-1", "Yes", "H&E", "Progressive staining", "Yes", "No", "HTX Technologies", "SunCollect Sprayer", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "30", "e7475329-9a60-4088-8e34-19a3828e0b3b"], "response": {"assaytype": "h-and-e", "description": "H&E Stained Microscopy", "dir-schema": "histology-v2", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/good-cedar-histology/README.md b/examples/dataset-examples/good-cedar-histology/README.md index b5f996097..159f110bc 100644 --- a/examples/dataset-examples/good-cedar-histology/README.md +++ b/examples/dataset-examples/good-cedar-histology/README.md @@ -5,7 +5,7 @@ Git version: WILL_CHANGE Directory: examples/dataset-examples/good-cedar-histology/upload TSVs: validated-histology-metadata.tsv: - Schema: histology-v2 + Schema: h-and-e-v2 Metadata schema version: '2' Directory schema versions: histology-v2 diff --git a/examples/dataset-examples/good-cedar-histology/README_ONLINE.md b/examples/dataset-examples/good-cedar-histology/README_ONLINE.md index b5f996097..159f110bc 100644 --- a/examples/dataset-examples/good-cedar-histology/README_ONLINE.md +++ b/examples/dataset-examples/good-cedar-histology/README_ONLINE.md @@ -5,7 +5,7 @@ Git version: WILL_CHANGE Directory: examples/dataset-examples/good-cedar-histology/upload TSVs: validated-histology-metadata.tsv: - Schema: histology-v2 + Schema: h-and-e-v2 Metadata schema version: '2' Directory schema versions: histology-v2 diff --git a/examples/dataset-examples/good-cedar-histology/upload/contributors.tsv b/examples/dataset-examples/good-cedar-histology/upload/contributors.tsv index 75d874a7a..387e13c11 100644 --- a/examples/dataset-examples/good-cedar-histology/upload/contributors.tsv +++ b/examples/dataset-examples/good-cedar-histology/upload/contributors.tsv @@ -1,2 +1,2 @@ -version affiliation first_name last_name middle_name_or_initial name orcid_id is_contact -1 Carnegie Mellon University Firstname Lastname M. Firstname M. Lastname 0000-0002-8928-741X TRUE +first_name last_name middle_name_or_initial display_name affiliation orcid email is_contact is_principal_investigator is_operator metadata_schema_id +Firstname Lastname M. Firstname M. Lastname Carnegie Mellon University 0000-0002-8928-741X test@test.com Yes Yes Yes 94dae6f8-0756-4ab0-a47b-138e446a9501 diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/MOCK_RESPONSE.json b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/MOCK_RESPONSE.json new file mode 100644 index 000000000..cdef9d8b3 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/MOCK_RESPONSE.json @@ -0,0 +1 @@ +{"Visium (no probes)": {"args": ["babf1e69-f0eb-479a-bdc5-b70199669675", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Visium (no probes)", "./contributors.tsv", "./Visium_9OLC_A4_S1", "42.25", "mm^2", "2375.9", "um^2", "4992", "100", "um", "A1", "24", "minute"], "response": {"assaytype": "visium-no-probes", "description": "Visium (No probes)", "dir-schema": "visium-no-probes-v2", "must-contain": ["Histology", "RNAseq"], "vitessce-hints": []}}, "Histology": {"args": ["e7475329-9a60-4088-8e34-19a3828e0b3b", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "nucleic acid and protein", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "Yes", "H&E", "progressive staining", "Yes", "No", "Not applicable", "Not applicable", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "0.3"], "response": {"assaytype": "h-and-e", "description": "H&E Stained Microscopy", "dir-schema": "histology-v2", "vitessce-hints": []}}, "RNAseq": {"args": ["944e5fa0-f68b-4bdd-8664-74a3909429a9", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "RNAseq", "RNA", "No", "Illumina", "NovaSeq 6000", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "0", "Read 1 (R1)", "16", "16", "Read 1 (R1)", "12", "spot", "", "", "", "TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG", "517", "176.834", "ng", "735.479", "ng", "61.584", "nM", "single-end", "16", "16", "10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184", "10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215", "SI-TT-D1", "No", "1448", "Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319", "28,10,10,90", "Penn-E.768", "", "", "", ""], "response": {"assaytype": "scRNAseq-10Genomics-v3", "description": "scRNA-seq (10x Genomics v3)", "dir-schema": "scrnaseq-v2", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/README.md b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/README.md new file mode 100644 index 000000000..debd2a803 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/README.md @@ -0,0 +1,20 @@ +``` +No errors! +Time: WILL_CHANGE +Git version: WILL_CHANGE +Directory: examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload +TSVs: + good-visium-assay-metadata.tsv: + Schema: visium-no-probes-v2 + Metadata schema version: '2' + Directory schema versions: visium-no-probes-v2 + good-visium-histology-metadata.tsv: + Schema: h-and-e-v2 + Metadata schema version: '2' + Directory schema versions: histology-v2 + good-visium-rnaseq-metadata.tsv: + Schema: scRNAseq-10Genomics-v3-v2 + Metadata schema version: '2' + Directory schema versions: scrnaseq-v2 + +``` diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/README_ONLINE.md b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/README_ONLINE.md new file mode 100644 index 000000000..debd2a803 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/README_ONLINE.md @@ -0,0 +1,20 @@ +``` +No errors! +Time: WILL_CHANGE +Git version: WILL_CHANGE +Directory: examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload +TSVs: + good-visium-assay-metadata.tsv: + Schema: visium-no-probes-v2 + Metadata schema version: '2' + Directory schema versions: visium-no-probes-v2 + good-visium-histology-metadata.tsv: + Schema: h-and-e-v2 + Metadata schema version: '2' + Directory schema versions: histology-v2 + good-visium-rnaseq-metadata.tsv: + Schema: scRNAseq-10Genomics-v3-v2 + Metadata schema version: '2' + Directory schema versions: scrnaseq-v2 + +``` diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/raw/empty_file.gpr b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/raw/fastq/empty_file b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/raw/empty_file.gpr b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/raw/fastq/empty_file b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/raw/empty_file.gpr b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/raw/fastq/empty_file b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/contributors.tsv b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/contributors.tsv new file mode 100644 index 000000000..387e13c11 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/contributors.tsv @@ -0,0 +1,2 @@ +first_name last_name middle_name_or_initial display_name affiliation orcid email is_contact is_principal_investigator is_operator metadata_schema_id +Firstname Lastname M. Firstname M. Lastname Carnegie Mellon University 0000-0002-8928-741X test@test.com Yes Yes Yes 94dae6f8-0756-4ab0-a47b-138e446a9501 diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/extras/microscope_hardware.json b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/extras/microscope_hardware.json new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/extras/microscope_settings.json b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/extras/microscope_settings.json new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/annotations/segmentation-masks.csv b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/annotations/segmentation-masks.csv new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/annotations/test-objects.csv b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/annotations/test-objects.csv new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/annotations/test.segmentations.ome.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/annotations/test.segmentations.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/empty-file b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/empty-file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/images/empty-file b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/images/empty-file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/images/empty-file.ome-tiff.channels.csv b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/images/empty-file.ome-tiff.channels.csv new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/images/empty-file.ome.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/lab_processed/images/empty-file.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/raw/images/empty-file b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/raw/images/empty-file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/raw/images/empty-file.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/raw/images/empty-file.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/raw/images/empty-file.xml b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/dataset-1/raw/images/empty-file.xml new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/good-visium-assay-metadata.tsv b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/good-visium-assay-metadata.tsv new file mode 100644 index 000000000..abc3831a6 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/good-visium-assay-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type contributors_path data_path mapped_area_value mapped_area_unit spot_size_value spot_size_unit number_of_spots spot_spacing_value spot_spacing_unit capture_area_id permeabilization_time_value permeabilization_time_unit +babf1e69-f0eb-479a-bdc5-b70199669675 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S1 42.25 mm^2 2375.9 um^2 4992 100 um A1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S2 42.25 mm^2 2375.9 um^2 4992 100 um B1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_I4_S1 42.25 mm^2 2375.9 um^2 4992 100 um C1 24 minute diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/good-visium-histology-metadata.tsv b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/good-visium-histology-metadata.tsv new file mode 100644 index 000000000..be8345679 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/good-visium-histology-metadata.tsv @@ -0,0 +1,5 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path is_image_preprocessing_required stain_name stain_technique is_batch_staining_done is_staining_automated preparation_instrument_vendor preparation_instrument_model slide_id tile_configuration scan_direction tiled_image_columns tiled_image_count intended_tile_overlap_percentage +e7475329-9a60-4088-8e34-19a3828e0b3b HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology DNA No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./dataset-1 Yes H&E Progressive staining Yes No HTX Technologies SunCollect Sprayer V11A19-078 Snake-by-rows Right-and-down 10 120 30 diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/good-visium-rnaseq-metadata.tsv b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/good-visium-rnaseq-metadata.tsv new file mode 100644 index 000000000..554eff0fe --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium-with-standalone-histology/upload/good-visium-rnaseq-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path barcode_offset barcode_read barcode_size umi_offset umi_read umi_size assay_input_entity number_of_input_cells_or_nuclei amount_of_input_analyte_value amount_of_input_analyte_unit library_adapter_sequence library_average_fragment_size library_input_amount_value library_input_amount_unit library_output_amount_value library_output_amount_unit library_concentration_value library_concentration_unit library_layout number_of_iterations_of_cdna_amplification number_of_pcr_cycles_for_indexing library_preparation_kit sample_indexing_kit sample_indexing_set is_technical_replicate expected_entity_capture_count sequencing_reagent_kit sequencing_read_format sequencing_batch_id capture_batch_id preparation_instrument_vendor preparation_instrument_model preparation_instrument_kit +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 517 176.834 ng 735.479 ng 61.584 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D1 No 1448 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 461 247.861 ng 815.816 ng 76.6089 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D2 No 1382 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 502 507.522 ng 1031.018 ng 88.91 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D3 No 2062 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/MOCK_RESPONSE.json b/examples/dataset-examples/good-cedar-multi-assay-visium/MOCK_RESPONSE.json new file mode 100644 index 000000000..cdef9d8b3 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium/MOCK_RESPONSE.json @@ -0,0 +1 @@ +{"Visium (no probes)": {"args": ["babf1e69-f0eb-479a-bdc5-b70199669675", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Visium (no probes)", "./contributors.tsv", "./Visium_9OLC_A4_S1", "42.25", "mm^2", "2375.9", "um^2", "4992", "100", "um", "A1", "24", "minute"], "response": {"assaytype": "visium-no-probes", "description": "Visium (No probes)", "dir-schema": "visium-no-probes-v2", "must-contain": ["Histology", "RNAseq"], "vitessce-hints": []}}, "Histology": {"args": ["e7475329-9a60-4088-8e34-19a3828e0b3b", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "Histology", "nucleic acid and protein", "No", "Zeiss Microscopy", "Axio Observer 7", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "Yes", "H&E", "progressive staining", "Yes", "No", "Not applicable", "Not applicable", "V11A19-078", "Snake-by-rows", "Right-and-down", "10", "120", "0.3"], "response": {"assaytype": "h-and-e", "description": "H&E Stained Microscopy", "dir-schema": "histology-v2", "vitessce-hints": []}}, "RNAseq": {"args": ["944e5fa0-f68b-4bdd-8664-74a3909429a9", "HBM233.CGGG.482", "Visium_9OLC_A4_S1", "https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1", "RNAseq", "RNA", "No", "Illumina", "NovaSeq 6000", "24", "day", "", "", "./contributors.tsv", "./Visium_9OLC_A4_S1", "0", "Read 1 (R1)", "16", "16", "Read 1 (R1)", "12", "spot", "", "", "", "TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG", "517", "176.834", "ng", "735.479", "ng", "61.584", "nM", "single-end", "16", "16", "10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184", "10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215", "SI-TT-D1", "No", "1448", "Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319", "28,10,10,90", "Penn-E.768", "", "", "", ""], "response": {"assaytype": "scRNAseq-10Genomics-v3", "description": "scRNA-seq (10x Genomics v3)", "dir-schema": "scrnaseq-v2", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/README.md b/examples/dataset-examples/good-cedar-multi-assay-visium/README.md new file mode 100644 index 000000000..e1f18c944 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium/README.md @@ -0,0 +1,20 @@ +``` +No errors! +Time: WILL_CHANGE +Git version: WILL_CHANGE +Directory: examples/dataset-examples/good-cedar-multi-assay-visium/upload +TSVs: + good-visium-assay-metadata.tsv: + Schema: visium-no-probes-v2 + Metadata schema version: '2' + Directory schema versions: visium-no-probes-v2 + good-visium-histology-metadata.tsv: + Schema: h-and-e-v2 + Metadata schema version: '2' + Directory schema versions: histology-v2 + good-visium-rnaseq-metadata.tsv: + Schema: scRNAseq-10Genomics-v3-v2 + Metadata schema version: '2' + Directory schema versions: scrnaseq-v2 + +``` diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/README_ONLINE.md b/examples/dataset-examples/good-cedar-multi-assay-visium/README_ONLINE.md new file mode 100644 index 000000000..e1f18c944 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium/README_ONLINE.md @@ -0,0 +1,20 @@ +``` +No errors! +Time: WILL_CHANGE +Git version: WILL_CHANGE +Directory: examples/dataset-examples/good-cedar-multi-assay-visium/upload +TSVs: + good-visium-assay-metadata.tsv: + Schema: visium-no-probes-v2 + Metadata schema version: '2' + Directory schema versions: visium-no-probes-v2 + good-visium-histology-metadata.tsv: + Schema: h-and-e-v2 + Metadata schema version: '2' + Directory schema versions: histology-v2 + good-visium-rnaseq-metadata.tsv: + Schema: scRNAseq-10Genomics-v3-v2 + Metadata schema version: '2' + Directory schema versions: scrnaseq-v2 + +``` diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/raw/empty_file.gpr b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/raw/fastq/empty_file b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/raw/empty_file.gpr b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/raw/fastq/empty_file b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_A4_S2/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json new file mode 100644 index 000000000..c4d4e475b --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/extras/microscope_hardware.json @@ -0,0 +1,760 @@ +{ + "Name": "UPenn_Kim_lab_Visium_Observer7-Chamber_Config1_v01", + "Schema_ID": "Instrument.json", + "ID": "19ebf498-b0d6-4cd6-920c-1f9dd3658c0c", + "Tier": 1, + "ValidationTier": 1, + "ModelVersion": "2.01.1", + "AppVersion": "1.7.25-b1", + "ScalingFactor": 1, + "MicroscopeStand": { + "Name": "Axio Observer 7 Visium stand", + "Schema_ID": "InvertedMicroscopeStand.json", + "ID": "12902021-1bd0-47d4-8e24-673df39c9e73", + "Tier": 1, + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopeStand", + "Manufacturer": "Zeiss", + "Model": "Axio Observer 7", + "CatalogNumber": "431007-9904-000", + "LotNumber": "3858002101", + "Type": "Compound", + "Origin": "Commercial-custom modified", + "EyePieceFieldNumber": 23 + }, + "Description": "Fully automated Zeiss Observer 7 with Colibri 5 illumination and Oko Lab environmental chamber", + "components": [ + { + "Name": "MetaMorph", + "ID": "d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a", + "Tier": 1, + "Schema_ID": "AcquisitionSoftware.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeSpecifications", + "Category": "Software", + "PositionX": 2173.3446, + "PositionY": 749.26265, + "PositionZ": 0, + "Width": 281.0426, + "Height": 246.6847, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "Software.AcquisitionSoftware_1", + "Developer": "Molecular Devices", + "WebsiteURL": "https://www.moleculardevices.com/products/cellular-imaging-systems/acquisition-and-analysis-software/metamorph-microscopy", + "Version": "7.10.5.476", + "Macro": true, + "Build": "7.10.5.476", + "SoftwareModule": [ + + ] + }, + { + "Name": "Kim lab - MicroPublisher Color", + "ID": "be101359-87c3-4e1a-b968-9a7039b2eac9", + "Tier": 1, + "Schema_ID": "CCD.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Detector.Camera", + "PositionX": 187.9088, + "PositionY": 873.6111000000001, + "PositionZ": 0, + "Width": 121.83, + "Height": 122.085, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "Detector.Camera_1", + "Current_Number_Of_WavelengthRange": 0, + "Min_Number_Of_WavelengthRange": 0, + "Max_Number_Of_WavelengthRange": -1, + "Description": "Micropubisher 6 Color CCD", + "Manufacturer": "Teledyne Photometrics", + "Model": "Micropubisher 6cat", + "CatalogNumber": "01-MP6-R-CLR-14-C-OC", + "LotNumber": "Q52084", + "SpecsFile": "https://www.photometrics.com/wp-content/uploads/2019/10/Micropublisher6-Specifications_Rev_A2.pdf", + "Mount": "C-mount", + "ReadNoiseUnit": "e- rms", + "DarkCurrentRateUnit": "e-/Pixel/sec", + "DynamicRangeUnit": "decibel (dB)", + "AmbientOperatingTemperatureUnit": "Β°C", + "MaxBitDepth": "14bit", + "QuantumEfficiency": 75, + "ElectronicConversionFactor": 1.3, + "ReadOutNoise": 6, + "DetectorNoiseModel": "Poisson", + "DarkCurrentRate": 0.0007, + "AmbientOperatingTemperature": -12, + "PixelWidthUnit": "Β΅m", + "PixelHeightUnit": "Β΅m", + "PixelWellCapacityUnit": "e-", + "MaximumFrameRateUnit": "fps", + "MaximumReadoutRateUnit": "MHz", + "VerticalClockSpeedUnit": "Β΅s", + "ArrayWidth": 2688, + "ArrayHeight": 2200, + "PixelWidth": 4.54, + "PixelHeight": 4.54, + "Illumination": "Front", + "Color": "3-Sensor", + "PixelWellCapacity": 9000, + "MaximumFrameRate": 7, + "MaximumReadoutRate": 49, + "VerticalClockSpeed": -1, + "RegisterWellCapacityUnit": "e-", + "Type": "Conventional", + "CCDArchitecture": "Full-frame", + "RegisterWellCapacity": 9000, + "RelayLens": "na" + }, + { + "Name": "Observer 7 motorized condenser", + "ID": "8a585a22-1981-4689-a7de-88d48fb70425", + "Tier": 1, + "Schema_ID": "Condenser.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 880.8297, + "PositionY": 260.0675, + "PositionZ": 0, + "Width": 174.5964, + "Height": 130.605, + "OffsetX": 527, + "OffsetY": 239, + "OccupiedSpot": "OpticalAssembly.Condenser_1", + "Description": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, mot. with motorized aperture diaphragm and turret disk, WD=26mm For objective magnifications 4.0x-100x", + "Manufacturer": "Zeiss", + "Model": "LD condenser 0.55 H, Ph1, Ph2, Ph3, DIC, DIC; 6 positions, motorized", + "CatalogNumber": "424244-0000-000", + "Correction": "Spherical", + "Type": "Universal", + "Aperture": [ + "Aperture/90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + { + "Name": "Colibri 5 EM filter QBS", + "ID": "a549b6dc-2b63-4cd6-af8c-60c95bf995d5", + "Tier": 1, + "Schema_ID": "EmissionFilter.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1074.9202, + "PositionY": 813.1740000000001, + "PositionZ": 1, + "Width": 45.1842, + "Height": 25, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.EmissionFilter_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "occupiedSpot": null, + "Description": "emission filter QBP 425/30 + 514/30 + 592/30 + 709/100. For use with Colibri5/7", + "Manufacturer": "Zeiss", + "Model": "Filter set 90 HE LED (E)", + "CatalogNumber": "489090-9110-000", + "Type": "BandPass", + "CoatingMethod": "HardCoated", + "LightPathLocation": "Infinity space", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 514, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 592, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 709, + "FWHMBandwidth": 100 + } + ] + }, + { + "Name": "Kim lab Oko lab chamber", + "ID": "d88de579-e4ac-445c-881f-44085f73fa99", + "Tier": 1, + "Schema_ID": "EnvironmentalControlDevice.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "MicroscopyAccessories", + "PositionX": 2037.9273, + "PositionY": 867.8644, + "PositionZ": 0, + "Width": 110.9688, + "Height": 50.778, + "OffsetX": 1402, + "OffsetY": 300, + "OccupiedSpot": "MicroscopyAccessories.EnvironmentalControlDevice_1", + "Description": "CO2, Humidity, and light control chamber", + "Manufacturer": "Oko Labs", + "Model": "H201-ENCLOSURE", + "CatalogNumber": "H201-ENCLOSURE, H201-T-UNIT-BL, OKO-TOUCH, CO2-UNIT-BL, HM-ACTIVE, OKO-AIR-PUMP-BL,H201-UP, UP-1xGS-M, H201-OBSUCRING PANNELS", + "MaxTemperatureUnit": "Β°C", + "MinTemperatureUnit": "Β°C", + "TemperatureAccuracyUnit": "Β°C", + "TemperatureControl": "Cage-incubator enclosure", + "HumidityControl": "Active", + "CO2Control": "Gas mixer", + "VibrationControl": false, + "StandCompatibility": "Inverted", + "MinTemberature": 25, + "MaxTemperature": 55, + "O2Control": false, + "Perfusion": false + }, + { + "Name": "Reflector module FL EC P&C", + "ID": "caf63f8d-7529-4d9d-8b61-5b2d13321f66", + "Tier": 1, + "Schema_ID": "FilterCube.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1061.9700500000001, + "PositionY": 757.1305000000001, + "PositionZ": 0, + "Width": 70.4543, + "Height": 69.9062, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "FluorescenceLightPath.FilterCube_5", + "Description": "Reflector module FL EC P&C Reflection avoided through tilted mount for emission filters, max. filter thickness: 5 mm", + "Manufacturer": "Zeiss", + "Model": "Reflector module FL EC P&C", + "CatalogNumber": "424931-0000-000", + "ExcitationFilter": "na", + "StandardDichroic": "na", + "EmissionFilter": "na", + "SpecsFile": "https://www.micro-shop.zeiss.com/en/de/system/upright+microscopes/axio+lab.a1/axio+lab.a1/424931-0000-000" + }, + { + "Name": "Observer 7 motorized turret", + "ID": "7d64df45-cc32-4d8e-8018-03b2ce5a1f98", + "Tier": 1, + "Schema_ID": "FilterCubeTurret.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticsHolder", + "PositionX": 623.1933000000001, + "PositionY": 832.9093, + "PositionZ": 0, + "Width": 527.3666, + "Height": 25, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticsHolder.FilterCubeTurret_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "424947-0000-000", + "Model": "6-position reflector turret mot. for P&C modules", + "FilterCube": [ + "FilterCube/caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + }, + { + "Name": "Colibri 5", + "ID": "0767cd18-9089-4be5-8c62-eac9b4316947", + "Tier": 1, + "Schema_ID": "Fluorescence_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Fluorescence_LightSource", + "PositionX": 1428.8062, + "PositionY": 899.63205, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 124, + "OffsetY": 339, + "OccupiedSpot": "Fluorescence_LightSource_0", + "Current_Number_Of_LEDModule": 4, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Description": "Colibri 5", + "Manufacturer": "Zeiss", + "Model": "Light Source Colibri 5 Type RGB-UV", + "CatalogNumber": "423052-9640-000", + "PurchaseDate": "03/29/2019", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 43, + "PeakWavelength": 385, + "CutOn": 370, + "CutOff": 400 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 60, + "PeakWavelength": 475, + "CutOn": 450, + "CutOff": 488 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 8, + "PeakWavelength": 555, + "CutOn": 540, + "CutOff": 570 + }, + { + "IlluminationPowerUnit": "%", + "PeakWavelengthUnit": "nm", + "CutOnUnit": "nm", + "CutOffUnit": "nm", + "IlluminationPower": 32, + "PeakWavelength": 630, + "CutOn": 615, + "CutOff": 648 + } + ] + }, + { + "Name": "Observer 7 motorized Z-drive", + "ID": "0dd3a479-3d6a-42a6-827b-681cbf9aecc5", + "Tier": 1, + "Schema_ID": "MechanicalStage.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.2159, + "PositionY": 538.7879, + "PositionZ": 0, + "Width": 309, + "Height": 25, + "OffsetX": 0, + "OffsetY": 300, + "OccupiedSpot": "SamplePositioning.Stage.MechanicalStage_1", + "Manufacturer": "Zeiss", + "CatalogNumber": "431018-0000-000", + "Model": "Z Drive Mot Extended Travel 13mm", + "ZMaxVelocityUnit": "nm/s", + "ZRepeatabilityUnit": "nm", + "ZTravelRangeUnit": "mm", + "ZSettlingTimeUnit": "ms", + "ZResolutionUnit": "nm", + "RotationAngleUnit": "deg", + "Motorized": true, + "Encoded": "Rotary", + "ZMaxVelocity": 4, + "ZRepeatability": 0.1, + "ZTravelRange": 13, + "MovementAxes": "Z", + "BuiltIn": true, + "ZReproducibility": 1, + "XYMaxVelocityUnit": "nm/s", + "XYRepeatabilityUnit": "Β΅m", + "XTravelRangeUnit": "Β΅m", + "YTravelRangeUnit": "Β΅m", + "XYSettlingTimeUnit": "ms", + "XYZResolutionUnit": "Β΅m", + "XYRepeatability": 5, + "XYReproducibility": 1, + "XYReproducibilityUnit": "Β΅m", + "XYResolution": 0.1, + "XTravelRange": -1, + "YTravelRange": -1 + }, + { + "Name": "Observer 7 Reflected-light illuminator FL", + "ID": "70968bb5-8dd2-4afa-9bd2-b42c816406d1", + "Tier": 2, + "Schema_ID": "MicroscopeTube.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "OpticalAssembly", + "PositionX": 632.7334000000001, + "PositionY": 861.2615499999999, + "PositionZ": 0, + "Width": 509.7976, + "Height": 130.8837, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "OpticalAssembly.MicroscopeTube_1", + "Manufacturer": "Zeiss", + "Model": "Reflected-light illuminator FL", + "CatalogNumber": "423606-9901-000", + "Type": "Body", + "Aperture": [ + "Aperture/ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + { + "Name": "Plan Apo 10X/0.45 DICII", + "ID": "b490294f-ddd1-4507-bae3-6e4037dd15b7", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 834.31595, + "PositionY": 578.8061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Magnification.Objective_0", + "Description": "Plan Apochromatic Zeiss objective, air, 10x", + "Manufacturer": "Zeiss", + "Model": "Objective Plan-Apochromat 10x/0.45 M27", + "CatalogNumber": "420640-9900-000", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 10, + "LensNA": 0.45, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 2, + "PhaseContrastDesignation": "Phase", + "ImageDistance": 2, + "ParfocalizingDistance": 45.06, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "20X Plan Apo", + "ID": "4202829e-643d-44bc-8df7-2a14f704d93c", + "Tier": 1, + "Schema_ID": "Objective.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Magnification", + "PositionX": 902.31595, + "PositionY": 607.3061000000001, + "PositionZ": 0, + "Width": 38.1097, + "Height": 83.033, + "OffsetX": 0, + "OffsetY": 139, + "OccupiedSpot": "Magnification.Objective_1", + "Description": "Zeiss Plan Apo objective 20x", + "Manufacturer": "Zeiss", + "CatalogNumber": "420650-9902-000", + "Model": "Objective Plan-Apochromat 20x/0.8 M27", + "LightType": "Visible", + "WorkingDistanceUnit": "mm", + "ImageDistanceUnit": "mm", + "FrontFocalLengthUnit": "mm", + "BackFocalLengthUnit": "mm", + "ParfocalizingDistanceUnit": "mm", + "Magnification": 20, + "LensNA": 0.8, + "Correction": "PlanApochromat", + "ImmersionType": "Air", + "InfinityCorrected": true, + "ContrastModulation": "None", + "DIC": true, + "WorkingDistance": 0.55, + "ImageDistance": 0.55, + "FrontFocalLength": -1, + "ObjectiveViewField": 25, + "CorrectionCollar": false + }, + { + "Name": "Internal stand shutter for FL", + "ID": "ea2bcdfa-f2b1-448f-9395-03071d46b7c0", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 1047.1093, + "PositionY": 899.68755, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 278.0239562988281, + "OccupiedSpot": "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1_Aperture_1", + "Description": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1 for reflected-light illumination switching time < 60 ms switching frequency max. 5 Hz", + "CatalogNumber": "423625-0000-000", + "Manufacturer": "Zeiss", + "Model": "Shutter FL, internal for stands Axio Observer 3 / 5 / 7 / D1 / Z1", + "ResponseTimeUnit": "ms", + "ResponseTime": 60, + "occupiedSpot": null + }, + { + "Name": "Carrier transmitted-light illumination with Shutter", + "ID": "90a8b900-bb45-41c9-a033-72e784d275b9", + "Tier": 1, + "Schema_ID": "Shutter.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Aperture", + "PositionX": 882.8919, + "PositionY": 296.01035, + "PositionZ": 1, + "Width": 33.2588, + "Height": 60.7821, + "OffsetX": 0, + "OffsetY": 0, + "OccupiedSpot": "Condenser_8a585a22-1981-4689-a7de-88d48fb70425_Aperture_0", + "Description": "Carrier transmitted-light illumination with Shutter - for Axio Observer 7/Z1 - manual luminous-field diaphragm - shutter, switching time <(><<)> 80ms - condenser mount - interface for LD condenser 0.55 mot. - 3-position filter changer, d=32 mm - carrier tiltable", + "Manufacturer": "Zeiss", + "CatalogNumber": "423926-9000-000", + "Model": "Carrier transmitted-light illumination with Shutter", + "ResponseTime": 80, + "ResponseTimeUnit": "ms", + "OuterDiameterUnit": "mm" + }, + { + "Name": "Universal mounting frame K", + "ID": "e70c1040-b900-4956-ae5e-c957ac033445", + "Tier": 1, + "Schema_ID": "StageInsert.json", + "ModelVersion": "2.01.1", + "Extension": "Basic", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "SamplePositioning.Stage", + "PositionX": 819.5173500000001, + "PositionY": 421.35699999999997, + "PositionZ": 0, + "Width": 308.3971, + "Height": 76.1638, + "OffsetX": 0, + "OffsetY": 339, + "OccupiedSpot": "SamplePositioning.Stage.StageInsert_1", + "Description": "Observer 7 mounting frame; Universal mounting frame K for: - Petri dishes dia. 24...68 mm - slides (max. length 120 mm) frame size 160 x 110 mm", + "Manufacturer": "Zeiss", + "Model": "Universal mounting frame K", + "CatalogNumber": "451352-0000-000", + "SampleHolderType": "Petri Dish", + "TemperatureControlled": false, + "NumberOfSlots": 1 + }, + { + "Name": "Colibri5 Beamsplitter", + "ID": "b8a92df7-d889-4993-a7c4-7950fa38b0c4", + "Tier": 1, + "Schema_ID": "StandardDichroic.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "FluorescenceLightPath", + "PositionX": 1079.6469, + "PositionY": 774.0288, + "PositionZ": 1, + "Width": 37.0594, + "Height": 38.2954, + "OffsetX": 99.60000610351562, + "OffsetY": 275.3999938964844, + "OccupiedSpot": "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66_FluorescenceLightPath.StandardDichroic_1", + "Current_Number_Of_TransmittanceRange": 4, + "Min_Number_Of_TransmittanceRange": 1, + "Max_Number_Of_TransmittanceRange": -1, + "Current_Number_Of_ReflectanceRange": 0, + "Min_Number_Of_ReflectanceRange": 0, + "Max_Number_Of_ReflectanceRange": -1, + "Manufacturer": "Zeiss", + "Model": "QBS 405 + 493 + 575 + 653", + "CatalogNumber": "489090-9110-000", + "AngleOfIncidenceUnit": "deg", + "MirrorType": "Planar", + "Diameter": 24.2, + "DiameterUnit": "mm", + "Type": "Notch", + "LightPathLocation": "Illumination port", + "Thickness": 1.1, + "ThicknessUnit": "mm", + "CoatingMethod": "HardCoated", + "TransmittanceRange": [ + { + "WavelengthUnit": "nm", + "Wavelength": 425, + "FWHMBandwidth": 20 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 515, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 595, + "FWHMBandwidth": 30 + }, + { + "WavelengthUnit": "nm", + "Wavelength": 730, + "FWHMBandwidth": 50 + } + ], + "occupiedSpot": null, + "AttenuationMethod": "Reflection" + }, + { + "Name": "Zeiss Illuminator MicroLED2", + "ID": "786e6c7b-9692-4de6-8517-d77908d70f4f", + "Tier": 1, + "Schema_ID": "Transmitted_LightSource_LightEmittingDiode.json", + "ModelVersion": "2.01.1", + "Extension": "Core", + "Domain": "MicroscopeHardwareSpecifications", + "Category": "Transmitted_LightSource", + "PositionX": 1194.3958, + "PositionY": 32.856249999999996, + "PositionZ": 0, + "Width": 65.0108, + "Height": 69.3319, + "OffsetX": 204, + "OffsetY": 0, + "OccupiedSpot": "Transmitted_LightSource_1", + "Current_Number_Of_LEDModule": 1, + "Min_Number_Of_LEDModule": 1, + "Max_Number_Of_LEDModule": -1, + "Manufacturer": "Zeiss", + "Model": "Zeiss Illuminator MicroLED2", + "CatalogNumber": "423053-9072-000", + "Type": "Mounted", + "LEDModule": [ + { + "IlluminationPowerUnit": "mW", + "IlluminationPower": -1 + } + ] + } + ], + "linkedFields": { + "CCD_be101359-87c3-4e1a-b968-9a7039b2eac9": { + "RelayLens": { + "schemaType": "CCD", + "value": "na" + } + }, + "AcquisitionSoftware_d6ad51b1-28c5-47ed-b1d8-e0f8a5f48c4a": { + "SoftwareModule": { + "schemaType": "AcquisitionSoftware", + "value": [ + + ] + } + }, + "FilterCube_caf63f8d-7529-4d9d-8b61-5b2d13321f66": { + "ExcitationFilter": { + "schemaType": "FilterCube", + "value": "na" + }, + "StandardDichroic": { + "schemaType": "FilterCube", + "value": "na" + }, + "EmissionFilter": { + "schemaType": "FilterCube", + "value": "na" + } + }, + "FilterCubeTurret_7d64df45-cc32-4d8e-8018-03b2ce5a1f98": { + "FilterCube": { + "schemaType": "FilterCubeTurret", + "value": [ + "caf63f8d-7529-4d9d-8b61-5b2d13321f66" + ] + } + }, + "MicroscopeTube_70968bb5-8dd2-4afa-9bd2-b42c816406d1": { + "Filter": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "MicroscopeTube", + "value": [ + "ea2bcdfa-f2b1-448f-9395-03071d46b7c0" + ] + }, + "PolarizationOptics": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "MicroscopeTube", + "value": "Not assigned" + } + }, + "Condenser_8a585a22-1981-4689-a7de-88d48fb70425": { + "Filter": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Lens": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "MirroringDevice": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Aperture": { + "schemaType": "Condenser", + "value": [ + "90a8b900-bb45-41c9-a033-72e784d275b9" + ] + }, + "PolarizationOptics": { + "schemaType": "Condenser", + "value": "Not assigned" + }, + "Prism": { + "schemaType": "Condenser", + "value": "Not assigned" + } + } + } +} diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv new file mode 100644 index 000000000..410f92698 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium.ome-tiff.channels.csv @@ -0,0 +1,3 @@ +Channel:0:0,No,No,No +Channel:0:1,No,No,No +Channel:0:2,No,No,No diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/lab_processed/images/Visium_90LC_A4_S1.ome.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/raw/empty_file.gpr b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/raw/empty_file.gpr new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/raw/fastq/RNA/empty_R_file.fastq.gz b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/raw/fastq/RNA/empty_R_file.fastq.gz new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/raw/fastq/empty_file b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/raw/fastq/empty_file new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/Visium_9OLC_I4_S1/raw/images/faketiff.tiff new file mode 100644 index 000000000..e69de29bb diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/contributors.tsv b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/contributors.tsv new file mode 100644 index 000000000..387e13c11 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/contributors.tsv @@ -0,0 +1,2 @@ +first_name last_name middle_name_or_initial display_name affiliation orcid email is_contact is_principal_investigator is_operator metadata_schema_id +Firstname Lastname M. Firstname M. Lastname Carnegie Mellon University 0000-0002-8928-741X test@test.com Yes Yes Yes 94dae6f8-0756-4ab0-a47b-138e446a9501 diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/good-visium-assay-metadata.tsv b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/good-visium-assay-metadata.tsv new file mode 100644 index 000000000..abc3831a6 --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/good-visium-assay-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type contributors_path data_path mapped_area_value mapped_area_unit spot_size_value spot_size_unit number_of_spots spot_spacing_value spot_spacing_unit capture_area_id permeabilization_time_value permeabilization_time_unit +babf1e69-f0eb-479a-bdc5-b70199669675 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S1 42.25 mm^2 2375.9 um^2 4992 100 um A1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_A4_S2 42.25 mm^2 2375.9 um^2 4992 100 um B1 24 minute +babf1e69-f0eb-479a-bdc5-b70199669675 HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Visium (no probes) ./contributors.tsv ./Visium_9OLC_I4_S1 42.25 mm^2 2375.9 um^2 4992 100 um C1 24 minute diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/good-visium-histology-metadata.tsv b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/good-visium-histology-metadata.tsv new file mode 100644 index 000000000..ed68b77bf --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/good-visium-histology-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path is_image_preprocessing_required stain_name stain_technique is_batch_staining_done is_staining_automated preparation_instrument_vendor preparation_instrument_model slide_id tile_configuration scan_direction tiled_image_columns tiled_image_count intended_tile_overlap_percentage +e7475329-9a60-4088-8e34-19a3828e0b3b HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 +e7475329-9a60-4088-8e34-19a3828e0b3b HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 Histology nucleic acid and protein No Zeiss Microscopy Axio Observer 7 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 Yes H&E progressive staining Yes No Not applicable Not applicable V11A19-078 Snake-by-rows Right-and-down 10 120 0.3 diff --git a/examples/dataset-examples/good-cedar-multi-assay-visium/upload/good-visium-rnaseq-metadata.tsv b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/good-visium-rnaseq-metadata.tsv new file mode 100644 index 000000000..554eff0fe --- /dev/null +++ b/examples/dataset-examples/good-cedar-multi-assay-visium/upload/good-visium-rnaseq-metadata.tsv @@ -0,0 +1,4 @@ +metadata_schema_id parent_sample_id lab_id preparation_protocol_doi dataset_type analyte_class is_targeted acquisition_instrument_vendor acquisition_instrument_model source_storage_duration_value source_storage_duration_unit time_since_acquisition_instrument_calibration_value time_since_acquisition_instrument_calibration_unit contributors_path data_path barcode_offset barcode_read barcode_size umi_offset umi_read umi_size assay_input_entity number_of_input_cells_or_nuclei amount_of_input_analyte_value amount_of_input_analyte_unit library_adapter_sequence library_average_fragment_size library_input_amount_value library_input_amount_unit library_output_amount_value library_output_amount_unit library_concentration_value library_concentration_unit library_layout number_of_iterations_of_cdna_amplification number_of_pcr_cycles_for_indexing library_preparation_kit sample_indexing_kit sample_indexing_set is_technical_replicate expected_entity_capture_count sequencing_reagent_kit sequencing_read_format sequencing_batch_id capture_batch_id preparation_instrument_vendor preparation_instrument_model preparation_instrument_kit +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM233.CGGG.482 Visium_9OLC_A4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_A4_S1 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 517 176.834 ng 735.479 ng 61.584 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D1 No 1448 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM854.FXDQ.783 Visium_9OLC_A4_S2 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_A4_S2 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 461 247.861 ng 815.816 ng 76.6089 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D2 No 1382 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 +944e5fa0-f68b-4bdd-8664-74a3909429a9 HBM327.XDJP.776 Visium_9OLC_I4_S1 https://dx.doi.org/10.17504/protocols.io.eq2lyno9qvx9/v1 RNAseq RNA No Illumina NovaSeq 6000 24 day ./contributors.tsv ./Visium_9OLC_I4_S1 0 Read 1 (R1) 16 16 Read 1 (R1) 12 spot TSO: AAGCAGTGGTATCAACGCAGAGTACATGGG 502 507.522 ng 1031.018 ng 88.91 nM single-end 16 16 10X Genomics; Visium Spatial Gene Expression Slide and Reagent Kit, 4 slides, 16 reactions; PN 1000184 10X Genomics; Dual Index Kit TT, Set A (96 rxn); PN 1000215 SI-TT-D3 No 2062 Illumina; NovaSeq 6000 S1 Reagent v1.5 Kit (100 Cycles); PN 20028319 28,10,10,90 Penn-E.768 diff --git a/examples/dataset-examples/good-codex-akoya-directory-v1-with-dataset.json/MOCK_RESPONSE.json b/examples/dataset-examples/good-codex-akoya-directory-v1-with-dataset.json/MOCK_RESPONSE.json index eb7790f2d..a287b3c54 100644 --- a/examples/dataset-examples/good-codex-akoya-directory-v1-with-dataset.json/MOCK_RESPONSE.json +++ b/examples/dataset-examples/good-codex-akoya-directory-v1-with-dataset.json/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": [1, "Lorem ipsum", "ABC123", "ABC123-RK-1_1", "2020-01-01 12:00", "10.17504/protocols.io.menc3de", "operator", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "42", "nm", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies.tsv", "contributors.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir_schema": "codex-v1-with-dataset-json", "tbl_schema": "codex-v1", "vitessce_hints": []}} \ No newline at end of file +{"CODEX": {"args": ["1", "Lorem ipsum", "ABC123", "ABC123-RK-1_1", "2020-01-01 12:00", "10.17504/protocols.io.menc3de", "operator", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "42", "nm", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies.tsv", "contributors.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir-schema": "codex-v1-with-dataset-json", "tbl-schema": "codex-v1", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/good-codex-akoya-metadata-v1/MOCK_RESPONSE.json b/examples/dataset-examples/good-codex-akoya-metadata-v1/MOCK_RESPONSE.json index eb7790f2d..a287b3c54 100644 --- a/examples/dataset-examples/good-codex-akoya-metadata-v1/MOCK_RESPONSE.json +++ b/examples/dataset-examples/good-codex-akoya-metadata-v1/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": [1, "Lorem ipsum", "ABC123", "ABC123-RK-1_1", "2020-01-01 12:00", "10.17504/protocols.io.menc3de", "operator", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "42", "nm", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies.tsv", "contributors.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir_schema": "codex-v1-with-dataset-json", "tbl_schema": "codex-v1", "vitessce_hints": []}} \ No newline at end of file +{"CODEX": {"args": ["1", "Lorem ipsum", "ABC123", "ABC123-RK-1_1", "2020-01-01 12:00", "10.17504/protocols.io.menc3de", "operator", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "42", "nm", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies.tsv", "contributors.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir-schema": "codex-v1-with-dataset-json", "tbl-schema": "codex-v1", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/good-maldiims/MOCK_RESPONSE.json b/examples/dataset-examples/good-maldiims/MOCK_RESPONSE.json index 988aa4dee..1e0003231 100644 --- a/examples/dataset-examples/good-maldiims/MOCK_RESPONSE.json +++ b/examples/dataset-examples/good-maldiims/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["VAN0001", "VAN0001-LK-1-1", "2021-01-04 17:45", "10.17504/protocols.io.7gdhjs6", "Elizabeth K. Neumann", "elizabeth.neumann@vanderbilt.edu", "Jeffrey M. Spraggins", "jeff.spraggins@vanderbilt.edu", "mass_spectrometry_imaging", "MALDI-IMS", "lipids", "False", "Bruker Daltonics", "MALDI timsTOF Flex", "MALDI", "positive ion mode", "150.0", "2000.0", "10.0", "um", "10.0", "um", "Sprayed", "HTX Imaging", "M3 TM-Sprayer", "1,5-Diaminonaphthalene", "10.17504/protocols.io.bt8hnrt6", "10.17504/protocols.io.bfskjncw", "contributors.tsv", "dataset-1"], "response": {"assaytype": "MALDI-IMS", "description": "MALDI IMS", "dir_schema": "ims-v0", "tbl_schema": "ims-v0", "vitessce_hints": ["maldi"]}} \ No newline at end of file +{"MALDI-IMS": {"args": ["VAN0001", "VAN0001-LK-1-1", "2021-01-04 17:45", "10.17504/protocols.io.7gdhjs6", "Elizabeth K. Neumann", "elizabeth.neumann@vanderbilt.edu", "Jeffrey M. Spraggins", "jeff.spraggins@vanderbilt.edu", "mass_spectrometry_imaging", "MALDI-IMS", "lipids", "False", "Bruker Daltonics", "MALDI timsTOF Flex", "MALDI", "positive ion mode", "150.0", "2000.0", "10.0", "um", "10.0", "um", "Sprayed", "HTX Imaging", "M3 TM-Sprayer", "1,5-Diaminonaphthalene", "10.17504/protocols.io.bt8hnrt6", "10.17504/protocols.io.bfskjncw", "contributors.tsv", "dataset-1"], "response": {"assaytype": "MALDI-IMS", "description": "MALDI IMS", "dir-schema": "ims-v0", "tbl-schema": "ims-v0", "vitessce-hints": ["maldi"]}}} \ No newline at end of file diff --git a/examples/dataset-examples/good-scatacseq-metadata-v0/MOCK_RESPONSE.json b/examples/dataset-examples/good-scatacseq-metadata-v0/MOCK_RESPONSE.json index a07ef17bd..c2ab14532 100644 --- a/examples/dataset-examples/good-scatacseq-metadata-v0/MOCK_RESPONSE.json +++ b/examples/dataset-examples/good-scatacseq-metadata-v0/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["UCSD0002", "UCSD0002-RK-1-1-1", "2019-05-29 11:00", "10.17504/protocols.io.menc3de", "Nongluk Plongthongkum", "nplongth@eng.ucsd.edu", "Kun Zhang", "kzhang@eng.ucsd.edu", "sequence", "SNARE-seq2", "DNA", "FALSE", "Illumina", "NovaSeq", "TRUE", "KC9", "10.17504/protocols.io.menc3de", "nucleus", "dounce", "none", "low clump", "425000", "4000", "SNARE-Seq2-AC", "In-house", "", "10.17504/protocols.io.menc3de", "paired-end", "CTGTCTCTTATACACATCT+AGATGTGTATAAGAGACAG", "R2", "0,38,76", "8,8,8", "9", "9", "2868", "ng", "650", "NovaSeq 6000 S4 Reagent", "75/94/8/75", "91.05", "20", "contributors.tsv", "dataset-1"], "response": {"assaytype": "SNARE-ATACseq2", "description": "snATACseq (SNARE-seq2)", "dir_schema": "scatacseq-v0", "tbl_schema": "scatacseq-v0", "vitessce_hints": []}} \ No newline at end of file +{"SNARE-seq2": {"args": ["UCSD0002", "UCSD0002-RK-1-1-1", "2019-05-29 11:00", "10.17504/protocols.io.menc3de", "Nongluk Plongthongkum", "nplongth@eng.ucsd.edu", "Kun Zhang", "kzhang@eng.ucsd.edu", "sequence", "SNARE-seq2", "DNA", "FALSE", "Illumina", "NovaSeq", "TRUE", "KC9", "10.17504/protocols.io.menc3de", "nucleus", "dounce", "none", "low clump", "425000", "4000", "SNARE-Seq2-AC", "In-house", "", "10.17504/protocols.io.menc3de", "paired-end", "CTGTCTCTTATACACATCT+AGATGTGTATAAGAGACAG", "R2", "0,38,76", "8,8,8", "9", "9", "2868", "ng", "650", "NovaSeq 6000 S4 Reagent", "75/94/8/75", "91.05", "20", "contributors.tsv", "dataset-1"], "response": {"assaytype": "SNARE-ATACseq2", "description": "snATACseq (SNARE-seq2)", "dir-schema": "scatacseq-v0", "tbl-schema": "scatacseq-v0", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-examples/good-scatacseq-metadata-v1/MOCK_RESPONSE.json b/examples/dataset-examples/good-scatacseq-metadata-v1/MOCK_RESPONSE.json index 4773e35a0..62edd2e6b 100644 --- a/examples/dataset-examples/good-scatacseq-metadata-v1/MOCK_RESPONSE.json +++ b/examples/dataset-examples/good-scatacseq-metadata-v1/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": [1, "lorem ipsum", "UCSD0002", "UCSD0002-RK-1-1-1", "2019-05-29 11:00", "10.17504/protocols.io.menc3de", "Nongluk Plongthongkum", "nplongth@eng.ucsd.edu", "Kun Zhang", "kzhang@eng.ucsd.edu", "sequence", "SNARE-seq2", "DNA", "FALSE", "Illumina", "NovaSeq", "TRUE", "KC9", "10.17504/protocols.io.menc3de", "nucleus", "dounce", "none", "low clump", "425000", "4000", "SNARE-Seq2-AC", "In-house", "", "10.17504/protocols.io.menc3de", "paired-end", "CTGTCTCTTATACACATCT+AGATGTGTATAAGAGACAG", "R2", "0,38,76", "8,8,8", "9", "9", "2868", "ng", "650", "NovaSeq 6000 S4 Reagent", "75/94/8/75", "91.05", "20", "contributors.tsv", "dataset-1"], "response": {"assaytype": "SNARE-ATACseq2", "description": "snATACseq (SNARE-seq2)", "dir_schema": "scatacseq-v0", "tbl_schema": "scatacseq-v1", "vitessce_hints": []}} \ No newline at end of file +{"SNARE-seq2": {"args": ["1", "lorem ipsum", "UCSD0002", "UCSD0002-RK-1-1-1", "2019-05-29 11:00", "10.17504/protocols.io.menc3de", "Nongluk Plongthongkum", "nplongth@eng.ucsd.edu", "Kun Zhang", "kzhang@eng.ucsd.edu", "sequence", "SNARE-seq2", "DNA", "FALSE", "Illumina", "NovaSeq", "TRUE", "KC9", "10.17504/protocols.io.menc3de", "nucleus", "dounce", "none", "low clump", "425000", "4000", "SNARE-Seq2-AC", "In-house", "", "10.17504/protocols.io.menc3de", "paired-end", "CTGTCTCTTATACACATCT+AGATGTGTATAAGAGACAG", "R2", "0,38,76", "8,8,8", "9", "9", "2868", "ng", "650", "NovaSeq 6000 S4 Reagent", "75/94/8/75", "91.05", "20", "contributors.tsv", "dataset-1"], "response": {"assaytype": "SNARE-ATACseq2", "description": "snATACseq (SNARE-seq2)", "dir-schema": "scatacseq-v0", "tbl-schema": "scatacseq-v1", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-iec-examples/bad-example/MOCK_RESPONSE.json b/examples/dataset-iec-examples/bad-example/MOCK_RESPONSE.json index efa93c8e2..a786078e7 100644 --- a/examples/dataset-iec-examples/bad-example/MOCK_RESPONSE.json +++ b/examples/dataset-iec-examples/bad-example/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["bad-donor-id", "UCSD0002-RK-1-1-1", "2019-05-29 11:00", "10.17504/fake", "Nongluk Plongthongkum", "nplongth@eng.ucsd.edu", "Kun Zhang", "kzhang@eng.ucsd.edu", "sequence", "SNARE-seq2", "DNA", "FALSE", "Illumina", "NovaSeq", "TRUE", "KC9", "10.17504/fake", "nucleus", "dounce", "none", "low clump", "425000", "4000", "SNARE-Seq2-AC", "In-house", "", "10.17504/fake", "paired-end", "CTGTCTCTTATACACATCT+AGATGTGTATAAGAGACAG", "R2", "0,38,76", "8,8,8", "9", "9", "2868", "ng", "650", "NovaSeq 6000 S4 Reagent", "75/94/8/75", "91.05", "20", "extras/contributors.tsv", "."], "response": {"assaytype": "SNARE-ATACseq2", "description": "snATACseq (SNARE-seq2)", "dir_schema": "scatacseq-v0", "tbl_schema": "scatacseq-v0", "vitessce_hints": []}} \ No newline at end of file +{"SNARE-seq2": {"args": ["bad-donor-id", "UCSD0002-RK-1-1-1", "2019-05-29 11:00", "10.17504/fake", "Nongluk Plongthongkum", "nplongth@eng.ucsd.edu", "Kun Zhang", "kzhang@eng.ucsd.edu", "sequence", "SNARE-seq2", "DNA", "FALSE", "Illumina", "NovaSeq", "TRUE", "KC9", "10.17504/fake", "nucleus", "dounce", "none", "low clump", "425000", "4000", "SNARE-Seq2-AC", "In-house", "", "10.17504/fake", "paired-end", "CTGTCTCTTATACACATCT+AGATGTGTATAAGAGACAG", "R2", "0,38,76", "8,8,8", "9", "9", "2868", "ng", "650", "NovaSeq 6000 S4 Reagent", "75/94/8/75", "91.05", "20", "extras/contributors.tsv", "."], "response": {"assaytype": "SNARE-ATACseq2", "description": "snATACseq (SNARE-seq2)", "dir-schema": "scatacseq-v0", "tbl-schema": "scatacseq-v0", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/dataset-iec-examples/good-example/MOCK_RESPONSE.json b/examples/dataset-iec-examples/good-example/MOCK_RESPONSE.json index b1cf926c4..20b7affa1 100644 --- a/examples/dataset-iec-examples/good-example/MOCK_RESPONSE.json +++ b/examples/dataset-iec-examples/good-example/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["UCSD0002", "UCSD0002-RK-1-1-1", "2019-05-29 11:00", "10.17504/protocols.io.menc3de", "Nongluk Plongthongkum", "nplongth@eng.ucsd.edu", "Kun Zhang", "kzhang@eng.ucsd.edu", "sequence", "SNARE-seq2", "DNA", "FALSE", "Illumina", "NovaSeq", "TRUE", "KC9", "10.17504/protocols.io.menc3de", "nucleus", "dounce", "none", "low clump", "425000", "4000", "SNARE-Seq2-AC", "In-house", "", "10.17504/protocols.io.menc3de", "paired-end", "CTGTCTCTTATACACATCT+AGATGTGTATAAGAGACAG", "R2", "0,38,76", "8,8,8", "9", "9", "2868", "ng", "650", "NovaSeq 6000 S4 Reagent", "75/94/8/75", "91.05", "20", "extras/contributors.tsv", "."], "response": {"assaytype": "SNARE-ATACseq2", "description": "snATACseq (SNARE-seq2)", "dir_schema": "scatacseq-v0", "tbl_schema": "scatacseq-v0", "vitessce_hints": []}} \ No newline at end of file +{"SNARE-seq2": {"args": ["UCSD0002", "UCSD0002-RK-1-1-1", "2019-05-29 11:00", "10.17504/protocols.io.menc3de", "Nongluk Plongthongkum", "nplongth@eng.ucsd.edu", "Kun Zhang", "kzhang@eng.ucsd.edu", "sequence", "SNARE-seq2", "DNA", "FALSE", "Illumina", "NovaSeq", "TRUE", "KC9", "10.17504/protocols.io.menc3de", "nucleus", "dounce", "none", "low clump", "425000", "4000", "SNARE-Seq2-AC", "In-house", "", "10.17504/protocols.io.menc3de", "paired-end", "CTGTCTCTTATACACATCT+AGATGTGTATAAGAGACAG", "R2", "0,38,76", "8,8,8", "9", "9", "2868", "ng", "650", "NovaSeq 6000 S4 Reagent", "75/94/8/75", "91.05", "20", "extras/contributors.tsv", "."], "response": {"assaytype": "SNARE-ATACseq2", "description": "snATACseq (SNARE-seq2)", "dir-schema": "scatacseq-v0", "tbl-schema": "scatacseq-v0", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/tsv-examples/metadata/bad-metadata/MOCK_RESPONSE.json b/examples/tsv-examples/metadata/bad-metadata/MOCK_RESPONSE.json index 1602bde91..f4aaa3433 100644 --- a/examples/tsv-examples/metadata/bad-metadata/MOCK_RESPONSE.json +++ b/examples/tsv-examples/metadata/bad-metadata/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["BAD", "BAD", "BAD", "10.17504/protocols.io.menc3de", "operator", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "", "", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies.tsv", "contributors.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir_schema": "codex-v0", "vitessce_hints": []}} \ No newline at end of file +{"CODEX": {"args": ["BAD", "BAD", "BAD", "10.17504/protocols.io.menc3de", "operator", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "", "", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies.tsv", "contributors.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir-schema": "codex-v1-with-dataset-json", "tbl-schema": "codex-v0", "vitessce-hints": []}}} \ No newline at end of file diff --git a/examples/tsv-examples/metadata/bad-metadata/README.md b/examples/tsv-examples/metadata/bad-metadata/README.md index 969a804e7..3eb66ee9a 100644 --- a/examples/tsv-examples/metadata/bad-metadata/README.md +++ b/examples/tsv-examples/metadata/bad-metadata/README.md @@ -1,5 +1,5 @@ ``` -codex-v0 TSV errors: +CODEX-vcodex-v0 TSV errors: Local Validation Errors: examples/tsv-examples/metadata/bad-metadata/upload/metadata.tsv (as codex-v0): - 'On row 2, column "donor_id", value "BAD" fails because it does not match the diff --git a/examples/tsv-examples/metadata/good-metadata/MOCK_RESPONSE.json b/examples/tsv-examples/metadata/good-metadata/MOCK_RESPONSE.json index 95abd7206..0480bc20d 100644 --- a/examples/tsv-examples/metadata/good-metadata/MOCK_RESPONSE.json +++ b/examples/tsv-examples/metadata/good-metadata/MOCK_RESPONSE.json @@ -1 +1 @@ -{"args": ["ABC123", "ABC123-RK-1_1", "2020-01-01 12:00", "10.17504/protocols.io.menc3de", "operator", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "", "", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies.tsv", "contributors.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir_schema": "codex-v0", "vitessce_hints": []}} \ No newline at end of file +{"CODEX": {"args": ["ABC123", "ABC123-RK-1_1", "2020-01-01 12:00", "10.17504/protocols.io.menc3de", "operator", "operator_email@example.com", "pi", "pi_email@example.com", "imaging", "CODEX", "protein", "TRUE", "Keyence", "BZ-X800", "42", "nm", "42", "nm", "", "", "CODEX", "version 1 robot", "42", "42", "42", "10.17504/protocols.io.menc3de", "10.17504/protocols.io.menc3de", "antibodies.tsv", "contributors.tsv", "dataset-1"], "response": {"assaytype": "CODEX", "description": "CODEX", "dir-schema": "codex-v1-with-dataset-json", "tbl-schema": "codex-v0", "vitessce-hints": []}}} \ No newline at end of file diff --git a/src/ingest_validation_tools/directory-schemas/af-v2.yaml b/src/ingest_validation_tools/directory-schemas/af-v2.yaml index 30b917f15..0b34117bf 100644 --- a/src/ingest_validation_tools/directory-schemas/af-v2.yaml +++ b/src/ingest_validation_tools/directory-schemas/af-v2.yaml @@ -55,7 +55,7 @@ files: required: False description: This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). - - pattern: lab_processed\/transformations\/[^\/]*transformations\.txt + pattern: lab_processed\/transformations\/[^\/]+\.txt required: False description: Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). is_qa_qc: False diff --git a/src/ingest_validation_tools/directory-schemas/codex-v2.yaml b/src/ingest_validation_tools/directory-schemas/codex-v2.yaml index e8d46e7ee..372c7d6c3 100644 --- a/src/ingest_validation_tools/directory-schemas/codex-v2.yaml +++ b/src/ingest_validation_tools/directory-schemas/codex-v2.yaml @@ -1,5 +1,86 @@ -# GE CellDIVE Directory Schema -draft: true files: - - draft_link: 'https://docs.google.com/spreadsheets/d/1pZD2e51e4QkxzIk6xjHPPu1RBZpx5mzoykMmlaDK8rA' \ No newline at end of file + pattern: extras\/.* + required: True + description: Folder for general lab-specific files related to the dataset. [Exists in all assays] + - + pattern: extras\/microscope_hardware\.json + required: True + description: A file generated by the micro-meta app that contains a description of the hardware components of the microscope. Email HuBMAP Consortium Help Desk if help is required in generating this document. + is_qa_qc: True + - + pattern: extras\/microscope_settings\.json + required: False + description: A file generated by the micro-meta app that contains a description of the settings that were used to acquire the image data. Email HuBMAP Consortium Help Desk if help is required in generating this document. + is_qa_qc: True + - + pattern: raw\/.* + required: True + description: This is a directory containing raw data. + - + pattern: lab_processed\/images\/[^\/]+\.ome\.tiff + required: True + description: OME-TIFF file (multichannel, multi-layered) produced by the experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. + is_qa_qc: False + - + pattern: lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv + required: True + description: This file should describe any processing that was done to generate the images in each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. Two columns should be booleans "is this a channel to use for nuclei segmentation" and "is this a channel to use for cell segmentation". + - + pattern: lab_processed\/annotations\/.* + required: False + description: Directory containing segmentation masks. + dependency: segmentation-masks-v2 + - + pattern: '[^\/]*NAV[^\/]*\.tif' + required: False + description: Navigational Image showing Region of Interest (Keyance Microscope only) + is_qa_qc: False + example: NAV.tif + - + pattern: '[^\/]+\.pdf' + required: False + description: PDF export of Powerpoint slide deck containing the Image Analysis Report + is_qa_qc: True + example: summary.pdf + - + pattern: extras\/dir-schema-v2-with-dataset-json + required: True + description: Empty file whose presence indicates the version of the directory schema in use + is_qa_qc: False + - + pattern: processed\/drv_[^\/]*\/ + required: True + description: Processed files produced by the Akoya software or alternative software. + - + pattern: raw\/cyc[^\/]*_reg[^\/]*\/.* + required: True + description: Intermediary directory + - + pattern: raw\/src_[^\/]*\/ + required: True + description: Intermediary directory + - + pattern: raw\/cyc[^\/]*_reg[^\/]*\/[^\/]*_z[^\/]*_CH[^\/]*\.tif + required: True + description: 'TIFF files produced by the experiment. General folder format: Cycle(n)_Region(n)_date; General file format: name_tileNumber(n)_zplaneNumber(n)_channelNumber(n)' + - + pattern: raw\/src_[^\/]*\/cyc[^\/]*_reg[^\/]*_[^\/]*\/[^\/]+\.gci + required: False + description: Group Capture Information File (Keyance Microscope only) + - + pattern: raw\/dataset\.json + required: True + description: Data processing parameters file. This will include additional CODEX specific metadata needed for the HIVE processing workflow. + example: raw/dataset.json + - + pattern: raw\/reg_[^\/]*\.png + required: False + description: Region overviews + example: raw/reg_00.png + - + pattern: raw\/experiment\.json + required: False + description: JSON file produced by the Akoya software which contains the metadata for the experiment, including the software version used, microscope parameters, channel names, pixel dimensions, etc. (required for HuBMAP pipeline) + example: raw/experiment.json + diff --git a/src/ingest_validation_tools/directory-schemas/confocal-v2.yaml b/src/ingest_validation_tools/directory-schemas/confocal-v2.yaml index 44d4c9cd6..24c6ef057 100644 --- a/src/ingest_validation_tools/directory-schemas/confocal-v2.yaml +++ b/src/ingest_validation_tools/directory-schemas/confocal-v2.yaml @@ -55,7 +55,7 @@ files: required: False description: This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). - - pattern: lab_processed\/transformations\/[^\/]*transformations\.txt + pattern: lab_processed\/transformations\/[^\/]+\.txt required: False description: Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). is_qa_qc: False diff --git a/src/ingest_validation_tools/directory-schemas/desi-v2.yaml b/src/ingest_validation_tools/directory-schemas/desi-v2.yaml index 10ef5b573..85afe980c 100644 --- a/src/ingest_validation_tools/directory-schemas/desi-v2.yaml +++ b/src/ingest_validation_tools/directory-schemas/desi-v2.yaml @@ -45,7 +45,7 @@ files: required: False description: Directory containing image transformations. - - pattern: lab_processed\/transformations\/[^\/]*transformations\.txt + pattern: lab_processed\/transformations\/[^\/]+\.txt required: False description: Transformations/map back to autofluorescence microscopy (related) data - diff --git a/src/ingest_validation_tools/directory-schemas/enhanced-srs-v2.yaml b/src/ingest_validation_tools/directory-schemas/enhanced-srs-v2.yaml index 6cea6f46a..40e374130 100644 --- a/src/ingest_validation_tools/directory-schemas/enhanced-srs-v2.yaml +++ b/src/ingest_validation_tools/directory-schemas/enhanced-srs-v2.yaml @@ -1,4 +1,103 @@ -draft: true files: - - draft_link: 'https://docs.google.com/spreadsheets/d/1KLY5iXZbbb_5RNR_lZgGSqHiAKBbe34YrtrywSuUC3M' \ No newline at end of file + pattern: extras\/.* + required: True + description: Folder for general lab-specific files related to the dataset. [Exists in all assays] + - + pattern: extras\/microscope_hardware\.json + required: True + description: A file generated by the micro-meta app that contains a description of the hardware components of the microscope. Email HuBMAP Consortium Help Desk if help is required in generating this document. + is_qa_qc: True + - + pattern: extras\/microscope_settings\.json + required: True + description: A file generated by the micro-meta app that contains a description of the settings that were used to acquire the image data. Email HuBMAP Consortium Help Desk if help is required in generating this document. + is_qa_qc: True + - + pattern: raw\/.* + required: True + description: Raw data files for the experiment. + - + pattern: raw\/channel_layout\.tsv + required: True + description: Table that includes a dictionary for channel to moiety, which may be a protein given in an OMAP panel or captured in the ASCT+B table. + is_qa_qc: False + - + pattern: raw\/lightpath_configuration\.tsv + required: False + description: This file documents the light path setttings not captured in the OME-TIFF - will be deprecated upon the implementation of MicroMeta. + - + pattern: raw\/fingerprint_layout\.tsv + required: False + description: Table that includes a dictionary for channel to moiety which is determined from spectral clustering and may include lipids, protein, etc. This file is specific to hyper-spectral imaging. + is_qa_qc: False + - + pattern: raw\/images\/.* + required: True + description: Raw image files. Using this subdirectory allows for harmonization with other imaging assays. [This directory must include at least one raw file.] + - + pattern: raw\/images\/[^\/]+\.(?:xml|nd2|oir|lif|czi|tiff) + required: True + description: Raw microscope file for the experiment + is_qa_qc: False + - + pattern: lab_processed\/.* + required: True + description: Experiment files that were processed by the lab generating the data. + - + pattern: lab_processed\/images\/.* + required: True + description: Processed image files + - + pattern: lab_processed\/images\/[^\/]+\.ome\.tiff + required: True + description: OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. + is_qa_qc: False + example: lab_processed/images/HBM892.MDXS.293.ome.tiff + - + pattern: lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv + required: True + description: This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed + is_qa_qc: False + - + pattern: lab_processed\/transformations\/.* + required: False + description: This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). + - + pattern: lab_processed\/transformations\/[^\/]+\.txt + required: False + description: Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). + is_qa_qc: False + - + pattern: qa_qc\/.* + required: True + description: Directory containing QA and/or QC information. + - + pattern: qa_qc\/resolution_report\/.* + required: True + description: Directory containing the results of resolution tests and/or vendor preventative maintenance reports. + - + pattern: qa_qc\/resolution_report\/resolution\.txt + required: False + description: This file summarizes the results of resolution tests or vendor reports from preventative maintenance visits. + - + pattern: qa_qc\/resolution_report\/[^\/]+\.pdf + required: False + description: This file is a pdf from a vendor preventative maintenance visit or resolution check tool demonstrating resolution. This file may include illumination test results. + - + pattern: qa_qc\/illumination_report\/.* + required: True + description: Directory containing the results of illumination tests and/or vendor preventative maintenance reports. + - + pattern: qa_qc\/illumination_report\/illumination.txt + required: False + description: This file summarizes the results of illumination tests or vendor reports from preventative maintenance visits. + - + pattern: qa_qc\/illumination_report\/[^\/]+\.pdf + required: False + description: This file is a pdf from a vendor preventative maintenance visit or illumination check tool demonstrating illumination intensity. + - + pattern: lab_processed\/annotations\/.* + required: False + description: Directory containing segmentation masks. + dependency: segmentation-masks-v2 diff --git a/src/ingest_validation_tools/directory-schemas/geomx-v2.yaml b/src/ingest_validation_tools/directory-schemas/geomx-v2.yaml deleted file mode 100644 index affbb91d8..000000000 --- a/src/ingest_validation_tools/directory-schemas/geomx-v2.yaml +++ /dev/null @@ -1,4 +0,0 @@ -draft: true -files: - - - draft_link: 'https://docs.google.com/spreadsheets/d/1LE-iyY2E6eP4E8jhgP6rhsvjESrdHXWYrMwKTvNkI5Y' \ No newline at end of file diff --git a/src/ingest_validation_tools/directory-schemas/histology-v2.yaml b/src/ingest_validation_tools/directory-schemas/histology-v2.yaml index c6f2a88ca..222fdfa97 100644 --- a/src/ingest_validation_tools/directory-schemas/histology-v2.yaml +++ b/src/ingest_validation_tools/directory-schemas/histology-v2.yaml @@ -49,7 +49,7 @@ files: required: False description: This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). - - pattern: lab_processed\/transformations\/[^\/]*transformations\.txt + pattern: lab_processed\/transformations\/[^\/]+\.txt required: False description: Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). is_qa_qc: False diff --git a/src/ingest_validation_tools/directory-schemas/lightsheet-v2.yaml b/src/ingest_validation_tools/directory-schemas/lightsheet-v2.yaml index 3639072e9..eef40f4bb 100644 --- a/src/ingest_validation_tools/directory-schemas/lightsheet-v2.yaml +++ b/src/ingest_validation_tools/directory-schemas/lightsheet-v2.yaml @@ -59,7 +59,7 @@ files: required: False description: This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). - - pattern: lab_processed\/transformations\/[^\/]*transformations\.txt + pattern: lab_processed\/transformations\/[^\/]+\.txt required: False description: Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). is_qa_qc: False diff --git a/src/ingest_validation_tools/directory-schemas/maldi-v2.yaml b/src/ingest_validation_tools/directory-schemas/maldi-v2.yaml index 10ef5b573..37799ccab 100644 --- a/src/ingest_validation_tools/directory-schemas/maldi-v2.yaml +++ b/src/ingest_validation_tools/directory-schemas/maldi-v2.yaml @@ -45,7 +45,7 @@ files: required: False description: Directory containing image transformations. - - pattern: lab_processed\/transformations\/[^\/]*transformations\.txt + pattern: lab_processed\/transformations\/[^\/]+\.txt required: False description: Transformations/map back to autofluorescence microscopy (related) data - @@ -57,3 +57,4 @@ files: required: True description: TSV file containing the m/z, molecular assignment, etc. + diff --git a/src/ingest_validation_tools/directory-schemas/rnaseq-with-probes-v2.yaml b/src/ingest_validation_tools/directory-schemas/rnaseq-with-probes-v2.yaml index 8b2138c8b..ef0024dc6 100644 --- a/src/ingest_validation_tools/directory-schemas/rnaseq-with-probes-v2.yaml +++ b/src/ingest_validation_tools/directory-schemas/rnaseq-with-probes-v2.yaml @@ -1,4 +1,39 @@ -draft: true files: - - draft_link: 'https://docs.google.com/spreadsheets/d/10Om2iinTwfLn1ySWtovmcm35cQnyg0Pm-rRd0a-eMjc' \ No newline at end of file + pattern: extras\/.* + required: True + description: Folder for general lab-specific files related to the dataset. + - + pattern: extras\/expected_cell_count\.txt + required: False + description: The expected cell count for the RNA sequencing dataset. This is an optional file that, if present, will be used by the HIVE's RNA sequencing analysis pipeline. With some datasets, knowing the expected cell count has improved the output of the HIVE analysis pipeline. + - + pattern: raw\/.* + required: True + description: All raw data files for the experiment. + - + pattern: raw\/custom_probe_set\.csv + required: False + description: This file should contain any custom probes used and must be included if the metadata field "is_custom_probes_used" is "Yes". The file should minimally include:target gene id, probe seq, probe id. The contents of this file are modeled after the 10x Genomics probe set file (see ). + - + pattern: raw\/additional_panels_used\.csv + required: False + description: If multiple commercial probe panels were used, then the primary probe panel should be selected in the "oligo_probe_panel" metadata field. The additional panels must be included in this file. Each panel record should include:manufacturer, model/name, product code. + - + pattern: raw\/fastq\/.* + required: True + description: Raw sequencing files for the experiment. + - + pattern: raw\/fastq\/oligo\/.* + required: True + description: Directory containing fastq files pertaining to oligo sequencing. + - + pattern: raw\/fastq\/oligo\/[^\/]+_R[^\/]+\.fastq\.gz + required: True + description: This is a gzip version of the fastq file. This file contains the cell barcode and unique molecular identifier (technical). + is_qa_qc: False + - + pattern: lab_processed\/.* + required: False + description: Experiment files that were processed by the lab generating the data. + diff --git a/src/ingest_validation_tools/directory-schemas/second-harmonic-generation-v2.yaml b/src/ingest_validation_tools/directory-schemas/second-harmonic-generation-v2.yaml index 6cea6f46a..40e374130 100644 --- a/src/ingest_validation_tools/directory-schemas/second-harmonic-generation-v2.yaml +++ b/src/ingest_validation_tools/directory-schemas/second-harmonic-generation-v2.yaml @@ -1,4 +1,103 @@ -draft: true files: - - draft_link: 'https://docs.google.com/spreadsheets/d/1KLY5iXZbbb_5RNR_lZgGSqHiAKBbe34YrtrywSuUC3M' \ No newline at end of file + pattern: extras\/.* + required: True + description: Folder for general lab-specific files related to the dataset. [Exists in all assays] + - + pattern: extras\/microscope_hardware\.json + required: True + description: A file generated by the micro-meta app that contains a description of the hardware components of the microscope. Email HuBMAP Consortium Help Desk if help is required in generating this document. + is_qa_qc: True + - + pattern: extras\/microscope_settings\.json + required: True + description: A file generated by the micro-meta app that contains a description of the settings that were used to acquire the image data. Email HuBMAP Consortium Help Desk if help is required in generating this document. + is_qa_qc: True + - + pattern: raw\/.* + required: True + description: Raw data files for the experiment. + - + pattern: raw\/channel_layout\.tsv + required: True + description: Table that includes a dictionary for channel to moiety, which may be a protein given in an OMAP panel or captured in the ASCT+B table. + is_qa_qc: False + - + pattern: raw\/lightpath_configuration\.tsv + required: False + description: This file documents the light path setttings not captured in the OME-TIFF - will be deprecated upon the implementation of MicroMeta. + - + pattern: raw\/fingerprint_layout\.tsv + required: False + description: Table that includes a dictionary for channel to moiety which is determined from spectral clustering and may include lipids, protein, etc. This file is specific to hyper-spectral imaging. + is_qa_qc: False + - + pattern: raw\/images\/.* + required: True + description: Raw image files. Using this subdirectory allows for harmonization with other imaging assays. [This directory must include at least one raw file.] + - + pattern: raw\/images\/[^\/]+\.(?:xml|nd2|oir|lif|czi|tiff) + required: True + description: Raw microscope file for the experiment + is_qa_qc: False + - + pattern: lab_processed\/.* + required: True + description: Experiment files that were processed by the lab generating the data. + - + pattern: lab_processed\/images\/.* + required: True + description: Processed image files + - + pattern: lab_processed\/images\/[^\/]+\.ome\.tiff + required: True + description: OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. + is_qa_qc: False + example: lab_processed/images/HBM892.MDXS.293.ome.tiff + - + pattern: lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv + required: True + description: This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed + is_qa_qc: False + - + pattern: lab_processed\/transformations\/.* + required: False + description: This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). + - + pattern: lab_processed\/transformations\/[^\/]+\.txt + required: False + description: Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). + is_qa_qc: False + - + pattern: qa_qc\/.* + required: True + description: Directory containing QA and/or QC information. + - + pattern: qa_qc\/resolution_report\/.* + required: True + description: Directory containing the results of resolution tests and/or vendor preventative maintenance reports. + - + pattern: qa_qc\/resolution_report\/resolution\.txt + required: False + description: This file summarizes the results of resolution tests or vendor reports from preventative maintenance visits. + - + pattern: qa_qc\/resolution_report\/[^\/]+\.pdf + required: False + description: This file is a pdf from a vendor preventative maintenance visit or resolution check tool demonstrating resolution. This file may include illumination test results. + - + pattern: qa_qc\/illumination_report\/.* + required: True + description: Directory containing the results of illumination tests and/or vendor preventative maintenance reports. + - + pattern: qa_qc\/illumination_report\/illumination.txt + required: False + description: This file summarizes the results of illumination tests or vendor reports from preventative maintenance visits. + - + pattern: qa_qc\/illumination_report\/[^\/]+\.pdf + required: False + description: This file is a pdf from a vendor preventative maintenance visit or illumination check tool demonstrating illumination intensity. + - + pattern: lab_processed\/annotations\/.* + required: False + description: Directory containing segmentation masks. + dependency: segmentation-masks-v2 diff --git a/src/ingest_validation_tools/directory-schemas/sims-v2.yaml b/src/ingest_validation_tools/directory-schemas/sims-v2.yaml index 10ef5b573..85afe980c 100644 --- a/src/ingest_validation_tools/directory-schemas/sims-v2.yaml +++ b/src/ingest_validation_tools/directory-schemas/sims-v2.yaml @@ -45,7 +45,7 @@ files: required: False description: Directory containing image transformations. - - pattern: lab_processed\/transformations\/[^\/]*transformations\.txt + pattern: lab_processed\/transformations\/[^\/]+\.txt required: False description: Transformations/map back to autofluorescence microscopy (related) data - diff --git a/src/ingest_validation_tools/directory-schemas/snareseq2-v2.yaml b/src/ingest_validation_tools/directory-schemas/snareseq2-v2.yaml new file mode 100644 index 000000000..e32272190 --- /dev/null +++ b/src/ingest_validation_tools/directory-schemas/snareseq2-v2.yaml @@ -0,0 +1,39 @@ +files: + - + pattern: extras\/.* + required: True + description: Folder for general lab-specific files related to the dataset. + - + pattern: extras\/expected_cell_count\.txt + required: False + description: The expected cell count for the RNA sequencing dataset. This is an optional file that, if present, will be used by the HIVE's RNA sequencing analysis pipeline. With some datasets, knowing the expected cell count has improved the output of the HIVE analysis pipeline. + - + pattern: raw\/.* + required: True + description: All raw data files for the experiment. + - + pattern: raw\/fastq\/.* + required: True + description: Raw sequencing files for the experiment. + - + pattern: raw\/fastq\/RNA\/.* + required: True + description: Directory containing fastq files pertaining to RNAseq sequencing. + - + pattern: raw\/fastq\/RNA\/[^\/]+_R[^\/]+\.fastq\.gz + required: True + description: This is a GZip'd version of the forward and reverse fastq files from RNAseq sequencing (R1 and R2). + is_qa_qc: False + - + pattern: raw\/fastq\/ATAC\/.* + required: True + description: Directory containing fastq files pertaining to ATACseq sequencing. + - + pattern: raw\/fastq\/ATAC\/[^\/]+_R[^\/]+\.fastq\.gz + required: True + description: This is a GZip'd version of the fastq files containing the forward, reverse and barcode reads from ATACseq sequencing (R1, R2 and R3). Further, if the barcodes are in R3 (as with 10X) then the metadata field "barcode reads" would be set to "Read 2 (R2)" and the fastq file named "*_R2*fastq.gz" would be expected. + is_qa_qc: False + - + pattern: lab_processed\/.* + required: False + description: Experiment files that were processed by the lab generating the data. diff --git a/src/ingest_validation_tools/directory-schemas/thick-section-multiphoton-mxif-v2.yaml b/src/ingest_validation_tools/directory-schemas/thick-section-multiphoton-mxif-v2.yaml index 6cea6f46a..40e374130 100644 --- a/src/ingest_validation_tools/directory-schemas/thick-section-multiphoton-mxif-v2.yaml +++ b/src/ingest_validation_tools/directory-schemas/thick-section-multiphoton-mxif-v2.yaml @@ -1,4 +1,103 @@ -draft: true files: - - draft_link: 'https://docs.google.com/spreadsheets/d/1KLY5iXZbbb_5RNR_lZgGSqHiAKBbe34YrtrywSuUC3M' \ No newline at end of file + pattern: extras\/.* + required: True + description: Folder for general lab-specific files related to the dataset. [Exists in all assays] + - + pattern: extras\/microscope_hardware\.json + required: True + description: A file generated by the micro-meta app that contains a description of the hardware components of the microscope. Email HuBMAP Consortium Help Desk if help is required in generating this document. + is_qa_qc: True + - + pattern: extras\/microscope_settings\.json + required: True + description: A file generated by the micro-meta app that contains a description of the settings that were used to acquire the image data. Email HuBMAP Consortium Help Desk if help is required in generating this document. + is_qa_qc: True + - + pattern: raw\/.* + required: True + description: Raw data files for the experiment. + - + pattern: raw\/channel_layout\.tsv + required: True + description: Table that includes a dictionary for channel to moiety, which may be a protein given in an OMAP panel or captured in the ASCT+B table. + is_qa_qc: False + - + pattern: raw\/lightpath_configuration\.tsv + required: False + description: This file documents the light path setttings not captured in the OME-TIFF - will be deprecated upon the implementation of MicroMeta. + - + pattern: raw\/fingerprint_layout\.tsv + required: False + description: Table that includes a dictionary for channel to moiety which is determined from spectral clustering and may include lipids, protein, etc. This file is specific to hyper-spectral imaging. + is_qa_qc: False + - + pattern: raw\/images\/.* + required: True + description: Raw image files. Using this subdirectory allows for harmonization with other imaging assays. [This directory must include at least one raw file.] + - + pattern: raw\/images\/[^\/]+\.(?:xml|nd2|oir|lif|czi|tiff) + required: True + description: Raw microscope file for the experiment + is_qa_qc: False + - + pattern: lab_processed\/.* + required: True + description: Experiment files that were processed by the lab generating the data. + - + pattern: lab_processed\/images\/.* + required: True + description: Processed image files + - + pattern: lab_processed\/images\/[^\/]+\.ome\.tiff + required: True + description: OME-TIFF files (multichannel, multi-layered) produced by the microscopy experiment. If compressed, must use loss-less compression algorithm. See the following link for the set of fields that are required in the OME TIFF file XML header. + is_qa_qc: False + example: lab_processed/images/HBM892.MDXS.293.ome.tiff + - + pattern: lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv + required: True + description: This file provides essential documentation pertaining to each channel of the accommpanying OME TIFF. The file should contain one row per OME TIFF channel. The required fields are detailed + is_qa_qc: False + - + pattern: lab_processed\/transformations\/.* + required: False + description: This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). + - + pattern: lab_processed\/transformations\/[^\/]+\.txt + required: False + description: Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). + is_qa_qc: False + - + pattern: qa_qc\/.* + required: True + description: Directory containing QA and/or QC information. + - + pattern: qa_qc\/resolution_report\/.* + required: True + description: Directory containing the results of resolution tests and/or vendor preventative maintenance reports. + - + pattern: qa_qc\/resolution_report\/resolution\.txt + required: False + description: This file summarizes the results of resolution tests or vendor reports from preventative maintenance visits. + - + pattern: qa_qc\/resolution_report\/[^\/]+\.pdf + required: False + description: This file is a pdf from a vendor preventative maintenance visit or resolution check tool demonstrating resolution. This file may include illumination test results. + - + pattern: qa_qc\/illumination_report\/.* + required: True + description: Directory containing the results of illumination tests and/or vendor preventative maintenance reports. + - + pattern: qa_qc\/illumination_report\/illumination.txt + required: False + description: This file summarizes the results of illumination tests or vendor reports from preventative maintenance visits. + - + pattern: qa_qc\/illumination_report\/[^\/]+\.pdf + required: False + description: This file is a pdf from a vendor preventative maintenance visit or illumination check tool demonstrating illumination intensity. + - + pattern: lab_processed\/annotations\/.* + required: False + description: Directory containing segmentation masks. + dependency: segmentation-masks-v2 diff --git a/src/ingest_validation_tools/directory-schemas/visium-no-probes-v2.yaml b/src/ingest_validation_tools/directory-schemas/visium-no-probes-v2.yaml index e81280ff9..828ad2784 100644 --- a/src/ingest_validation_tools/directory-schemas/visium-no-probes-v2.yaml +++ b/src/ingest_validation_tools/directory-schemas/visium-no-probes-v2.yaml @@ -68,7 +68,7 @@ files: required: False description: This directory contains transformation matrices that capture how each modality is aligned with the other and can be used to visualize overlays of multimodal data. This is needed to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). In these cases data type may have different pixel sizes and slightly different orientations (i.e., one may be rotated relative to another). - - pattern: lab_processed\/transformations\/[^\/]*transformations\.txt + pattern: lab_processed\/transformations\/[^\/]+\.txt required: False description: Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). is_qa_qc: False @@ -77,4 +77,3 @@ files: required: False description: Directory containing segmentation masks. dependency: segmentation-masks-v2 - diff --git a/src/ingest_validation_tools/schema_loader.py b/src/ingest_validation_tools/schema_loader.py index 020650457..b67ec4cea 100644 --- a/src/ingest_validation_tools/schema_loader.py +++ b/src/ingest_validation_tools/schema_loader.py @@ -49,11 +49,7 @@ class SchemaVersion: vitessce_hints: List = field(default_factory=list) dir_schema: str = "" metadata_type: str = "assays" - # TODO: this is not thought out yet - # multi_type: str = "" - # must_contain: List = field(default_factory=list) - # can_contain: List = field(default_factory=list) - # part_of_multi: bool = False + contains: List = field(default_factory=list) def __post_init__(self): if type(self.path) is str: @@ -81,10 +77,6 @@ def __post_init__(self): self.version = "0" if not self.table_schema: self.table_schema = f"{self.schema_name}-v{self.version}" - # if self.must_contain: - # self.multi_type = "must" - # elif self.can_contain: - # self.multi_type = "can" def get_row_data(self): if self.rows[0].get("metadata_schema_id"): @@ -100,17 +92,16 @@ def get_row_data(self): ) else: self.dataset_type = assay_type if assay_type else dataset_type - # self.create_row_data() def get_assayclassifier_data(self): - self.vitessce_hints = self.soft_assay_data.get("vitessce_hints", []) - self.dir_schema = self.soft_assay_data.get("dir_schema", "") - self.table_schema = self.soft_assay_data.get("tbl_schema", "") + self.vitessce_hints = self.soft_assay_data.get("vitessce-hints", []) + self.dir_schema = self.soft_assay_data.get("dir-schema", "") + self.table_schema = self.soft_assay_data.get("tbl-schema", "") match = re.match(r".+-v(\d+)", self.table_schema) if match: self.version = match[0] - # self.must_contain = self.soft_assay_data.get("must_contain", []) - # self.can_contain = self.soft_assay_data.get("can_contain", []) + contains = self.soft_assay_data.get("must-contain", []) + self.contains = [schema.lower() for schema in contains] @dataclass diff --git a/src/ingest_validation_tools/table-schemas/assays/celldive-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/celldive-v2.yaml index fe881848f..75bac3d2b 100644 --- a/src/ingest_validation_tools/table-schemas/assays/celldive-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/celldive-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: 'Identifies whether the version is hosted by CEDAR' diff --git a/src/ingest_validation_tools/table-schemas/assays/codex-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/codex-v2.yaml index bdcf30dd9..99203ac96 100644 --- a/src/ingest_validation_tools/table-schemas/assays/codex-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/codex-v2.yaml @@ -1,4 +1,4 @@ -description_md: '**For the PhenoCycler specification, please click [here](https://hubmapconsortium.github.io/ingest-validation-tools/phenocycler/current/).** See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '**For the PhenoCycler specification, please click [here](https://hubmapconsortium.github.io/ingest-validation-tools/phenocycler/current/).** [This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: 'Identifies whether the version is hosted by CEDAR' diff --git a/src/ingest_validation_tools/table-schemas/assays/cosmx-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/cosmx-v2.yaml index 72aacd90a..518bc9b2a 100644 --- a/src/ingest_validation_tools/table-schemas/assays/cosmx-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/cosmx-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' draft: true fields: - name: is_cedar diff --git a/src/ingest_validation_tools/table-schemas/assays/cycif-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/cycif-v2.yaml index 25f15a69a..e31e0b96f 100644 --- a/src/ingest_validation_tools/table-schemas/assays/cycif-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/cycif-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: 'Identifies whether the version is hosted by CEDAR' diff --git a/src/ingest_validation_tools/table-schemas/assays/dbit-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/dbit-v2.yaml index 371684d70..6ab602518 100644 --- a/src/ingest_validation_tools/table-schemas/assays/dbit-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/dbit-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' draft: true fields: - name: is_cedar diff --git a/src/ingest_validation_tools/table-schemas/assays/desi-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/desi-v2.yaml index 52d88cfb4..396fb1398 100644 --- a/src/ingest_validation_tools/table-schemas/assays/desi-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/desi-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: 'Identifies whether the version is hosted by CEDAR' diff --git a/src/ingest_validation_tools/table-schemas/assays/enhanced-srs-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/enhanced-srs-v2.yaml index c5575d3cf..12b8c4c76 100644 --- a/src/ingest_validation_tools/table-schemas/assays/enhanced-srs-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/enhanced-srs-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: 'Identifies whether the version is hosted by CEDAR' diff --git a/src/ingest_validation_tools/table-schemas/assays/geomx-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/geomx-v2.yaml deleted file mode 100644 index 653449f45..000000000 --- a/src/ingest_validation_tools/table-schemas/assays/geomx-v2.yaml +++ /dev/null @@ -1,22 +0,0 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' -draft: true -fields: -- name: is_cedar - description: 'Identifies whether the version is hosted by CEDAR' - example: 'https://docs.google.com/spreadsheets/d/1kd1UQ2il-eW-MTM4iEotyAxa8M_hcwn8yQJTU_II-F8' -- name: assay_category - constraints: - enum: - - spatial_transcriptomics -- name: assay_type - constraints: - enum: - - GeoMx (RNA) - - GeoMx (protein) - - GeoMx -- name: parent_id - description: "UUID or HuBMAP ID of parent" - example: "ec2ccf5a3436b11d0c7186b74ad4673d" - custom_constraints: - url: - prefix: "https://entity.api.hubmapconsortium.org/entities/" \ No newline at end of file diff --git a/src/ingest_validation_tools/table-schemas/assays/hifi-slide-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/hifi-slide-v2.yaml index a18c3951e..cbdf5b7d3 100644 --- a/src/ingest_validation_tools/table-schemas/assays/hifi-slide-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/hifi-slide-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: "Identifies whether the version is hosted by CEDAR" diff --git a/src/ingest_validation_tools/table-schemas/assays/histology-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/histology-v2.yaml index bbab85338..64359249d 100644 --- a/src/ingest_validation_tools/table-schemas/assays/histology-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/histology-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: "Identifies whether the version is hosted by CEDAR" diff --git a/src/ingest_validation_tools/table-schemas/assays/imc-2d-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/imc-2d-v2.yaml index a67f44191..466d3bf33 100644 --- a/src/ingest_validation_tools/table-schemas/assays/imc-2d-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/imc-2d-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: "Identifies whether the version is hosted by CEDAR" diff --git a/src/ingest_validation_tools/table-schemas/assays/lightsheet-v3.yaml b/src/ingest_validation_tools/table-schemas/assays/lightsheet-v3.yaml index ff149fdc5..c4c683a14 100644 --- a/src/ingest_validation_tools/table-schemas/assays/lightsheet-v3.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/lightsheet-v3.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: 'Identifies whether the version is hosted by CEDAR' diff --git a/src/ingest_validation_tools/table-schemas/assays/maldi-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/maldi-v2.yaml index 2fba6688a..a5db8ff47 100644 --- a/src/ingest_validation_tools/table-schemas/assays/maldi-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/maldi-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: 'Identifies whether the version is hosted by CEDAR' diff --git a/src/ingest_validation_tools/table-schemas/assays/merfish-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/merfish-v2.yaml index e3f970a8f..329281a40 100644 --- a/src/ingest_validation_tools/table-schemas/assays/merfish-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/merfish-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' draft: true fields: - name: is_cedar diff --git a/src/ingest_validation_tools/table-schemas/assays/mibi-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/mibi-v2.yaml index 9ed52e84e..e40332f00 100644 --- a/src/ingest_validation_tools/table-schemas/assays/mibi-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/mibi-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: "Identifies whether the version is hosted by CEDAR" diff --git a/src/ingest_validation_tools/table-schemas/assays/mxif-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/mxif-v2.yaml deleted file mode 100644 index 194dfc0d9..000000000 --- a/src/ingest_validation_tools/table-schemas/assays/mxif-v2.yaml +++ /dev/null @@ -1,21 +0,0 @@ -deprecated: True -description_md: This schema has been incorporated into the cycif schema which can be - accessed [here](https://hubmapconsortium.github.io/ingest-validation-tools/cycif/). -fields: -- name: is_cedar - description: 'Identifies whether the version is hosted by CEDAR' - example: '' -- name: assay_category - constraints: - enum: - - mxfbe -- name: assay_type - constraints: - enum: - - MxIF -- name: parent_id - description: "UUID or HuBMAP ID of parent" - example: "ec2ccf5a3436b11d0c7186b74ad4673d" - custom_constraints: - url: - prefix: "https://entity.api.hubmapconsortium.org/entities/" \ No newline at end of file diff --git a/src/ingest_validation_tools/table-schemas/assays/phenocycler-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/phenocycler-v2.yaml index e329f4011..cfb09cdd3 100644 --- a/src/ingest_validation_tools/table-schemas/assays/phenocycler-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/phenocycler-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: 'Identifies whether the version is hosted by CEDAR' diff --git a/src/ingest_validation_tools/table-schemas/assays/sims-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/sims-v2.yaml index d749eba3e..2ec980e6f 100644 --- a/src/ingest_validation_tools/table-schemas/assays/sims-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/sims-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: 'Identifies whether the version is hosted by CEDAR' diff --git a/src/ingest_validation_tools/table-schemas/assays/snareseq2-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/snareseq2-v2.yaml new file mode 100644 index 000000000..8778dec22 --- /dev/null +++ b/src/ingest_validation_tools/table-schemas/assays/snareseq2-v2.yaml @@ -0,0 +1,12 @@ +fields: +- name: is_cedar + description: 'Identifies whether the version is hosted by CEDAR' + example: 'https://openview.metadatacenter.org/templates/https:%2F%2Frepo.metadatacenter.org%2Ftemplates%2Fb76e54fe-5352-449b-9188-f250b51fbedc' +- name: assay_category + constraints: + enum: + - sequence +- name: assay_type + constraints: + enum: + - SNARE-seq2 \ No newline at end of file diff --git a/src/ingest_validation_tools/table-schemas/assays/visium-no-probes-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/visium-no-probes-v2.yaml index ee231494c..061c04470 100644 --- a/src/ingest_validation_tools/table-schemas/assays/visium-no-probes-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/visium-no-probes-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'REQUIRED - For this assay, you must also prepare and submit two additional metadata.tsv files following the metadata schemas linked here for [RNAseq](https://hubmapconsortium.github.io/ingest-validation-tools/rnaseq/current/) and [Histology](https://hubmapconsortium.github.io/ingest-validation-tools/histology/current/). See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: 'REQUIRED - For this assay, you must also prepare and submit two additional metadata.tsv files following the metadata schemas linked here for [RNAseq](https://hubmapconsortium.github.io/ingest-validation-tools/rnaseq/current/) and [Histology](https://hubmapconsortium.github.io/ingest-validation-tools/histology/current/). [This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: 'Identifies whether the version is hosted by CEDAR' diff --git a/src/ingest_validation_tools/table-schemas/assays/visium-no-probes-v3.yaml b/src/ingest_validation_tools/table-schemas/assays/visium-no-probes-v3.yaml index b5660eee3..22d83161c 100644 --- a/src/ingest_validation_tools/table-schemas/assays/visium-no-probes-v3.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/visium-no-probes-v3.yaml @@ -1,4 +1,4 @@ -description_md: 'REQUIRED - For this assay, you must also prepare and submit two additional metadata.tsv files following the metadata schemas linked here for [RNAseq](https://hubmapconsortium.github.io/ingest-validation-tools/rnaseq/current/) and [Histology](https://hubmapconsortium.github.io/ingest-validation-tools/histology/current/). See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: 'REQUIRED - For this assay, you must also prepare and submit two additional metadata.tsv files following the metadata schemas linked here for [RNAseq](https://hubmapconsortium.github.io/ingest-validation-tools/rnaseq/current/) and [Histology](https://hubmapconsortium.github.io/ingest-validation-tools/histology/current/). [This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: 'Identifies whether the version is hosted by CEDAR' diff --git a/src/ingest_validation_tools/table-schemas/assays/visium-with-probes-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/visium-with-probes-v2.yaml index 85d75d452..76bec4f7d 100644 --- a/src/ingest_validation_tools/table-schemas/assays/visium-with-probes-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/visium-with-probes-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'REQUIRED - For this assay, you must also prepare and submit two additional metadata.tsv files following the metadata schemas linked here for [RNAseq](https://hubmapconsortium.github.io/ingest-validation-tools/rnaseq/current/) and [Histology](https://hubmapconsortium.github.io/ingest-validation-tools/histology/current/). See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: 'REQUIRED - For this assay, you must also prepare and submit two additional metadata.tsv files following the metadata schemas linked here for [RNAseq](https://hubmapconsortium.github.io/ingest-validation-tools/rnaseq/current/) and [Histology](https://hubmapconsortium.github.io/ingest-validation-tools/histology/current/). [This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' fields: - name: is_cedar description: 'Identifies whether the version is hosted by CEDAR' diff --git a/src/ingest_validation_tools/table-schemas/assays/xenium-v2.yaml b/src/ingest_validation_tools/table-schemas/assays/xenium-v2.yaml index 7d93153c1..3c339f3de 100644 --- a/src/ingest_validation_tools/table-schemas/assays/xenium-v2.yaml +++ b/src/ingest_validation_tools/table-schemas/assays/xenium-v2.yaml @@ -1,4 +1,4 @@ -description_md: 'See the following link for the set of fields that are required in the OME TIFF file XML header. https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0' +description_md: '[This link](https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0) lists the set of fields that are required in the OME TIFF file XML header.' draft: true fields: - name: is_cedar diff --git a/src/ingest_validation_tools/table-schemas/others/organ-v3.yaml b/src/ingest_validation_tools/table-schemas/others/organ-v3.yaml deleted file mode 100644 index f73a32d4c..000000000 --- a/src/ingest_validation_tools/table-schemas/others/organ-v3.yaml +++ /dev/null @@ -1,20 +0,0 @@ -fields: -- name: is_cedar - description: "Identifies whether the version is hosted by CEDAR" - example: "https://openview.metadatacenter.org/templates/https:%2F%2Frepo.metadatacenter.org%2Ftemplates%2F8377b9ba-97bb-4b26-a2ac-2b88d756450f" -- name: assay_category - description: "Each assay is placed into one of the following 4 general categories: generation of images of microscopic entities, identification & quantitation of molecules by mass spectrometry, imaging mass spectrometry, and determination of nucleotide sequence." - constraints: - enum: - - organ -- name: assay_type - description: "The specific type of assay being executed." - constraints: - enum: - - Organ -- name: organ_id - description: "UUID or HuBMAP ID of organ" - example: "ec2ccf5a3436b11d0c7186b74ad4673d" - custom_constraints: - url: - prefix: "https://entity.api.hubmapconsortium.org/entities/" diff --git a/src/ingest_validation_tools/test_validation_utils.py b/src/ingest_validation_tools/test_validation_utils.py index 2a97ae1a3..c520ec86f 100644 --- a/src/ingest_validation_tools/test_validation_utils.py +++ b/src/ingest_validation_tools/test_validation_utils.py @@ -1,6 +1,6 @@ import json from pathlib import Path -from typing import Dict, List +from typing import Dict class MockException(Exception): @@ -17,16 +17,18 @@ def mock_response(path: Path, row: Dict) -> Dict: ./tests-manual/test-dataset-examples-cedar.sh """ ) - diff = set(row.values()).difference(response_dict.get("args", [])) + dataset_type = _get_dataset_type_from_row(row) + response_args = response_dict.get(dataset_type, {}).get("args", []) + diff = set(row.values()).difference(response_args) if not diff: - return response_dict["response"] + return response_dict[dataset_type]["response"] else: raise MockException( f""" Not all expected args were passed for path {path}. Diff: {diff} Args passed: {row} - Expected args: {response_dict.get("args", [])} + Expected args: {response_args} """ ) @@ -45,13 +47,27 @@ def compare_mock_with_response(row: Dict, response: Dict, path: Path): # Messy method of creating mock response file if missing or outdated; # would be nicer for this to throw exception during testing and have # user create manually - if not row.values() == mock_file.get("args") or not response == mock_file.get( - "response" - ): - update_mock_file(list(row.values()), path, response) + dataset_type = _get_dataset_type_from_row(row) + for dataset_type_key, mock in mock_file.items(): + if dataset_type == dataset_type_key: + if row.values() == mock.get("args") and response == mock.get(response): + return + update_mock_file(row, path, response) -def update_mock_file(row: List, path: Path, response: Dict, method: str = "w"): +def update_mock_file(row: Dict, path: Path, response: Dict): metadata_dir = path.parents[1] - with open(metadata_dir / "MOCK_RESPONSE.json", method) as mock_file: - json.dump({"args": row, "response": response}, mock_file) + try: + with open(metadata_dir / "MOCK_RESPONSE.json", "r") as mock_file: + existing = json.load(mock_file) + except Exception: + existing = {} + # TODO: this will break if Other types get added to soft assay endpoint + dataset_type = _get_dataset_type_from_row(row) + existing[dataset_type] = {"args": list(row.values()), "response": response} + with open(metadata_dir / "MOCK_RESPONSE.json", "w") as f: + json.dump(existing, f) + + +def _get_dataset_type_from_row(row: Dict): + return row.get("dataset_type") if row.get("dataset_type") else row.get("assay_type") diff --git a/src/ingest_validation_tools/upload.py b/src/ingest_validation_tools/upload.py index a63fc28c9..e777d9493 100644 --- a/src/ingest_validation_tools/upload.py +++ b/src/ingest_validation_tools/upload.py @@ -21,11 +21,10 @@ ) from ingest_validation_tools.table_validator import ReportType, get_table_errors from ingest_validation_tools.validation_utils import ( - dict_reader_wrapper, - get_context_of_decode_error, get_data_dir_errors, get_json, get_schema_version, + read_rows, ) TSV_SUFFIX = "metadata.tsv" @@ -71,7 +70,6 @@ def __init__( self.effective_tsv_paths = {} self.extra_parameters = extra_parameters if extra_parameters else {} self.globus_token = globus_token - # TODO: soft assay type endpoint calls happen here to weed out any bad multi-assay uploads self.run_plugins = run_plugins if app_context is None: @@ -99,48 +97,14 @@ def __init__( for k in sorted(unsorted_effective_tsv_paths.keys()) } + self._check_multi_assay() + except PreflightError as e: self.errors["Preflight"] = e - # def _check_multi_assay(self): - # # This is not recursive, so if there are nested requirements it will not work - # shared_data_paths = defaultdict(lambda: {"name": "", "components": []}) - # multi = [sv for sv in self.effective_tsv_paths.values() if sv.multi_type] - # if len(multi) == 0: - # return - # elif len(multi) == 1: - # MultiAssaySchema = namedtuple( - # "MultiAssaySchema", - # ["schema_name", "multi_type", "contains", "data_path"], - # ) - # self.multi_assay_schema = MultiAssaySchema( - # multi[0].schema_name, - # multi[0].multi_type, - # multi[0].must_contain + multi[0].can_contain, - # multi[0].data_path, - # ) - # shared_data_paths[multi[0].data_path]["name"] = multi[0].schema_name - # else: - # raise Exception - # for sv in self.effective_tsv_paths.values(): - # if ( - # # TODO: is it the case that there will be a - # # multi-assay type and multiple data paths? - # sv.data_path == self.multi_assay_schema.data_path - # and sv.schema_name in self.multi_assay_schema.contains - # ): - # shared_data_paths[sv.data_path]["contains"] = sv.schema_name - # else: - # raise Exception - # if self.multi_assay_schema.multi_type == "must": - # assert ( - # self.multi_assay_schema.contains - # == shared_data_paths[self.multi_assay_schema.data_path] - # ), "" - ##################### # - # Two public methods: + # Public methods: # ##################### @@ -187,15 +151,7 @@ def get_errors(self, **kwargs) -> dict: errors = {} try: - # other_errors = self.check_other_schemas() - # if other_errors and not self.effective_tsv_paths: - # return other_errors - # elif self.effective_tsv_paths: - # errors.update(other_errors) - # else: - # return {} - - upload_errors = self.check_upload() + upload_errors = self._check_upload() if upload_errors: errors["Upload Errors"] = upload_errors @@ -220,29 +176,50 @@ def get_errors(self, **kwargs) -> dict: return errors + def validation_routine( + self, + report_type: ReportType = ReportType.STR, + tsv_paths: Dict[str, SchemaVersion] = {}, + ) -> dict: + errors: DefaultDict[str, dict] = defaultdict(dict) + tsvs_to_evaluate = tsv_paths if tsv_paths else self.effective_tsv_paths + for tsv_path, schema_version in tsvs_to_evaluate.items(): + path_errors = self._validate(tsv_path, schema_version, report_type) + if not path_errors: + continue + for key, value in path_errors.items(): + if type(value) is dict: + errors[key].update(value) + else: + errors.update({key: value}) + return dict(errors) + ################################### # # Top-level private methods: # ################################### - # def check_other_schemas(self): - # # Antibodies and contributors are handled elsewhere - # errors = {} - # others = ["organ", "sample"] - # for tsv_path, schema_version in self.effective_tsv_paths.items(): - # if schema_version.schema_name in others: - # error = self._validate(tsv_path, schema_version) - # if error: - # errors[f"{tsv_path} (as {schema_version.schema_name})"] = error - # self.effective_tsv_paths = { - # k: v - # for k, v in self.effective_tsv_paths.items() - # if v.schema_name not in others - # } - # return errors - - def check_upload(self) -> dict: + def _check_multi_assay(self): + # This is not recursive, so if there are nested multi-assay types it will not work + self.multi_assay_data_paths: DefaultDict[ + str, DefaultDict[str, List[SchemaVersion]] + ] = defaultdict(lambda: defaultdict(list)) + multi_assay_parents = [ + sv for sv in self.effective_tsv_paths.values() if sv.contains + ] + if len(multi_assay_parents) == 0: + return {} + if len(multi_assay_parents) > 1: + raise PreflightError( + f"Upload contains multiple parent multi-assay types: {multi_assay_parents}" + ) + components = [sv for sv in self.effective_tsv_paths.values() if not sv.contains] + self._check_multi_assay_children(multi_assay_parents[0], components) + self._check_data_paths_shared_with_parent(multi_assay_parents[0]) + logging.info(f"Multi-assay data: {self._print_multi_assay_data()}") + + def _check_upload(self) -> dict: upload_errors = {} tsv_errors = self._get_local_tsv_errors() if tsv_errors: @@ -286,38 +263,56 @@ def _get_local_tsv_errors(self) -> Optional[Dict]: def _get_directory_errors(self) -> dict: errors = {} - for path, schema in self.effective_tsv_paths.items(): - dir_errors = self._get_ref_errors("data", schema, path) - if dir_errors: - """ - TODO: there's an issue here (and any other places setting a key - that might be long) where the YAML dumper converts this to a - complex key and adds a ? at the front and inserts a line break - at the next instance of whitespace (in this case, leading - (as x) to be on a following line) - Wrote validation_utils > print_path to try to address this - issue, but needed to deprioritize. - """ - errors.update(dir_errors) + if self.multi_assay_data_paths: + for path, dataset_types in self.multi_assay_data_paths.items(): + dir_errors = self._get_multi_assay_dir_errors(path, dataset_types) + if dir_errors: + errors.update(dir_errors) + else: + for path, schema in self.effective_tsv_paths.items(): + dir_errors = self._get_ref_errors("data", schema, path) + if dir_errors: + """ + TODO: there's an issue here (and any other places setting a key + that might be long) where the YAML dumper converts this to a + complex key and adds a ? at the front and inserts a line break + at the next instance of whitespace (in this case, leading + (as x) to be on a following line) + Wrote validation_utils > print_path to try to address this + issue, but needed to deprioritize. + """ + errors.update(dir_errors) return errors - def validation_routine( - self, - report_type: ReportType = ReportType.STR, - tsv_paths: Dict[str, SchemaVersion] = {}, - ) -> dict: - errors: DefaultDict[str, dict] = defaultdict(dict) - tsvs_to_evaluate = tsv_paths if tsv_paths else self.effective_tsv_paths - for tsv_path, schema_version in tsvs_to_evaluate.items(): - path_errors = self._validate(tsv_path, schema_version, report_type) - if not path_errors: - return {} - for key, value in path_errors.items(): - if type(value) is dict: - errors[key].update(value) - else: - errors.update({key: value}) - return dict(errors) + def _get_multi_assay_dir_errors( + self, path: str, dataset_types: Dict + ) -> Optional[Dict]: + parent = dataset_types.get("parent") + # Validate against parent multi-assay type if data_path is in parent TSV + if parent: + return self._multi_assay_dir_check(parent[0], path) + # Validate against component structure otherwise + elif dataset_types.get("components"): + errors = {} + for component in dataset_types["components"]: + errors.update(self._multi_assay_dir_check(component, path)) + return errors + + def _multi_assay_dir_check(self, schema: SchemaVersion, data_path: str) -> Dict: + errors = {} + abs_data_path = self.directory_path / data_path + if not schema.dir_schema: + raise Exception( + f"No directory schema found for data_path {abs_data_path} in {schema.path}!" + ) + ref_errors = get_data_dir_errors( + schema.dir_schema, + abs_data_path, + dataset_ignore_globs=self.dataset_ignore_globs, + ) + if ref_errors: + errors[f"{schema.path}, column 'data_path', value {data_path}"] = ref_errors + return errors def _validate( self, @@ -366,7 +361,7 @@ def _validate( return errors else: url_errors = self._cedar_url_checks(tsv_path, schema_version) - api_errors = self.api_validation(Path(tsv_path), report_type) + api_errors = self._api_validation(Path(tsv_path), report_type) if url_errors or api_errors: api_validated[f"{tsv_path}"] = url_errors | api_errors if local_validated: @@ -378,14 +373,11 @@ def _validate( def _get_reference_errors(self) -> dict: errors: Dict[str, Any] = {} no_ref_errors = self.__get_no_ref_errors() - try: - multi_ref_errors = self.__get_multi_ref_errors() - if no_ref_errors: - errors["No References"] = no_ref_errors - if multi_ref_errors: - errors["Multiple References"] = multi_ref_errors - except UnicodeDecodeError as e: - errors["Decode Error"] = get_context_of_decode_error(e) + multi_ref_errors = self.__get_multi_ref_errors() + if no_ref_errors: + errors["No References"] = no_ref_errors + if multi_ref_errors: + errors["Multiple References"] = multi_ref_errors return errors def _get_plugin_errors(self, **kwargs) -> dict: @@ -406,7 +398,7 @@ def _get_plugin_errors(self, **kwargs) -> dict: errors["Unexpected Plugin Error"] = [e] return dict(errors) # get rid of defaultdict - def api_validation( + def _api_validation( self, tsv_path: Path, report_type: ReportType, @@ -430,6 +422,88 @@ def api_validation( # ############################## + def _print_multi_assay_data(self): + """ + Print only dataset types of multi_assay_data_paths + """ + print_dict = {} + for path, multi_components in self.multi_assay_data_paths.items(): + print_multi_components = {} + for key, value in multi_components.items(): + if key == "parent": + print_multi_components["parent"] = value[0].dataset_type + elif key == "components": + print_components = [] + for component in value: + print_components.append(component.dataset_type) + print_multi_components["components"] = print_components + print_dict[path] = print_multi_components + return print_dict + + def _check_multi_assay_children( + self, parent: SchemaVersion, components: List[SchemaVersion] + ): + """ + Iterate through child dataset types, check that they are valid + components of parent multi-assay type and that no components are missing + """ + not_allowed = [] + necessary = parent.contains + for sv in components: + if sv.dataset_type.lower() not in parent.contains: + not_allowed.append(sv.dataset_type) + else: + for row in sv.rows: + if row.get("data_path"): + self.multi_assay_data_paths[row["data_path"]][ + "components" + ].append(sv) + necessary.remove(sv.dataset_type.lower()) + message = "" + if necessary: + message += f"Multi-assay parent type {parent.dataset_type} missing required component(s) {necessary}." # noqa: E501 + if not_allowed: + message += f" Invalid child assay type(s) for parent type {parent.dataset_type}: {not_allowed}" # noqa: E501 + if message: + raise PreflightError(message) + + def _check_data_paths_shared_with_parent(self, parent: SchemaVersion): + """ + Check parent multi-assay TSV data_path values against data_paths in child TSVs + Any data_paths with components but no parent are assumed to be standalone + datasets and left alone + """ + # Add "parent" data to any data_paths in multi_assay_data_paths + # that appear in the parent TSV + multi_data_paths = [row.get("data_path") for row in parent.rows] + for path in multi_data_paths: + self.multi_assay_data_paths[path]["parent"] = [parent] + missing_components = defaultdict(list) + for path, related_svs in self.multi_assay_data_paths.items(): + if related_svs.get("parent"): + # If there is a parent but no components, continue without + # removing from multi_data_paths to trigger error downstream + if not related_svs.get("components"): + continue + existing_components = { + sv.dataset_type.lower() for sv in related_svs["components"] + } + # If there is a parent and all required components are not present, + # add to missing_components to trigger error downstream + diff = set(parent.contains).difference(existing_components) + if diff: + missing_components[path] = [*missing_components[path], *list(diff)] + else: + multi_data_paths.remove(path) + if missing_components: + raise PreflightError( + f"Multi-assay type '{parent.dataset_type}' requires {parent.contains}. Data paths missing components: {list(missing_components.keys())}" # noqa: E501 + ) + if multi_data_paths: + raise PreflightError( + f"Multi-assay TSV {parent.path} contains data paths that are not present in child assay TSVs. Data paths unique to parent: {multi_data_paths}" # noqa: E501 + ) + def _cedar_api_call(self, tsv_path: Union[str, Path]) -> requests.models.Response: file = {"input_file": open(tsv_path, "rb")} headers = {"content_type": "multipart/form-data"} @@ -480,7 +554,7 @@ def _cedar_url_checks(self, tsv_path: str, schema_version: SchemaVersion): return errors def _check_matching_urls(self, tsv_path: str, constrained_fields: dict): - rows = self._get_rows_from_tsv(tsv_path) + rows = read_rows(Path(tsv_path), "ascii") fields = rows[0].keys() missing_fields = [ k for k in constrained_fields.keys() if k not in fields @@ -554,19 +628,6 @@ def _get_message( return msg if return_str else get_json(msg, error["row"], error["column"]) return error - def _get_rows_from_tsv(self, path: Union[str, Path]) -> List: - errors: Dict[str, Any] = {} - try: - rows = dict_reader_wrapper(path, self.encoding) - if type(rows) is list: - return rows - errors["TSV Row Errors"] = rows - except UnicodeDecodeError as e: - errors["Decode Errors"] = get_context_of_decode_error(e) - except IsADirectoryError: - errors["Path Errors"] = f"Expected a TSV, found a directory at {path}." - raise ErrorDictException(errors) - def _check_path( self, i: int, @@ -630,6 +691,9 @@ def _get_ref_errors( if not row.get(field): continue ref_path = self.directory_path / row[field] + # TODO: _check_path is really slamming the Metadata Validator API with the + # contributors.tsv; gather unique values from contributors/antibodies + # and validate once per? ref_error = self._check_path(i, ref_path, ref, schema, metadata_path) if ref_error: ref_errors.update(ref_error) @@ -665,14 +729,19 @@ def __get_no_ref_errors(self) -> dict: return errors def __get_multi_ref_errors(self) -> dict: - # TODO: This needs to be updated to include multi-assay logic # If - multi-assay dataset (and only that dataset is referenced) don't fail # Else - fail errors = {} data_references = self.__get_data_references() + multi_references = [ + path + for path, value in self.multi_assay_data_paths.items() + if value.get("parent") + ] for path, references in data_references.items(): - if len(references) > 1: - errors[path] = references + if path not in multi_references: + if len(references) > 1: + errors[path] = references return errors def __get_data_references(self) -> dict: @@ -686,9 +755,8 @@ def __get_contributors_references(self) -> dict: def __get_references(self, col_name) -> dict: references = defaultdict(list) - # TODO: refactor - for tsv_path in self.effective_tsv_paths.keys(): - for i, row in enumerate(dict_reader_wrapper(tsv_path, self.encoding)): + for tsv_path, schema in self.effective_tsv_paths.items(): + for i, row in enumerate(schema.rows): if col_name in row: reference = f"{tsv_path} (row {i+2})" references[row[col_name]].append(reference) diff --git a/src/ingest_validation_tools/validation_utils.py b/src/ingest_validation_tools/validation_utils.py index 0b2649546..1d549277f 100644 --- a/src/ingest_validation_tools/validation_utils.py +++ b/src/ingest_validation_tools/validation_utils.py @@ -55,6 +55,8 @@ def get_schema_version( rows=rows, ) return sv + if not (rows[0].get("dataset_type") or rows[0].get("assay_type")): + raise PreflightError(f"No assay_type or dataset_type in {path}.") assay_type_data = get_assaytype_data( rows[0], globus_token, @@ -62,12 +64,12 @@ def get_schema_version( offline=offline, ) if not assay_type_data: - message = f"No assay data retrieved for {path}." - if "assay_type" not in rows[0].keys() and "dataset_type" not in rows[0].keys(): - message += ' Does not contain "assay_type" or "dataset_type".' - elif "assay_type" in rows[0].keys(): + message = ( + f"Assay data not retrieved from assayclassifier endpoint for TSV {path}." + ) + if "assay_type" in rows[0]: message += f' Assay type: {rows[0].get("assay_type")}.' - elif "dataset_type" in rows[0].keys(): + elif "dataset_type" in rows[0]: message += f' Dataset type: {rows[0].get("dataset_type")}.' if "channel_id" in rows[0]: message += ( @@ -81,7 +83,7 @@ def get_schema_version( message += f' Column headers in TSV: {", ".join(rows[0].keys())}' raise PreflightError(message) return SchemaVersion( - assay_type_data["assaytype"].lower(), + assay_type_data["assaytype"], directory_path=directory_path, path=path, rows=rows, @@ -129,6 +131,7 @@ def get_other_schema_name(rows: List, path: str) -> Optional[str]: def get_ingest_api_env(env: str) -> str: + # TODO: this should be obtained in another way if env in ["dev", "test", "stage"]: return f"https://ingest-api.{env}.hubmapconsortium.org/assaytype" elif env == "prod": @@ -146,8 +149,6 @@ def get_assaytype_data( env: str = "dev", offline: bool = False, ) -> Dict: - if "version" in row.keys(): - row["version"] = int(row["version"]) if offline or not globus_token: # TODO: separate testing path from live code return mock_response(path, row) diff --git a/tests-manual/test-dataset-examples-cedar.sh b/tests-manual/test-dataset-examples-cedar.sh index 94a4e96b0..0fe1d0882 100755 --- a/tests-manual/test-dataset-examples-cedar.sh +++ b/tests-manual/test-dataset-examples-cedar.sh @@ -11,7 +11,7 @@ for SUITE in examples/dataset-examples examples/dataset-iec-examples; do case ${SUITE} in examples/dataset-iec-examples) - OPTS="--dataset_ignore_globs 'metadata.tsv' --upload_ignore_globs '*' --run_plugins" + OPTS="--dataset_ignore_globs 'metadata.tsv' --globus_token ${GLOBUS_TOKEN} --upload_ignore_globs '*' --run_plugins" ;; examples/dataset-examples) OPTS="--dataset_ignore_globs 'ignore-*.tsv' '.*' --run_plugins --globus_token ${GLOBUS_TOKEN} --upload_ignore_globs 'drv_ignore_*' --output as_md"