Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Juranic/visium dirschema updates #1342

Merged
merged 7 commits into from
Jun 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
# Changelog

## v0.0.21
- Fix the changelog to reflect the current version.
- Fix row number mismatch between validation and spreadsheet validator response
## v0.0.22
- Fix logging length issue in Upload.multi_parent
- Minor change to Visium with probes directory schema
- Minor change to Visium no probes directory schema
- Update docs for Visium directories

## v0.0.21
- Fix the changelog to reflect the current version.
- Fix row number mismatch between validation and spreadsheet validator response

## v0.0.20
- Fix row number mismatch between validation and spreadsheet validator response
Expand Down
32 changes: 31 additions & 1 deletion docs/visium-no-probes/current/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,37 @@ REQUIRED - For this assay, you must also prepare and submit two additional metad
<br>

## Directory schemas
<summary><b>Version 2.0 (use this one)</b></summary>
<summary><b>Version 2.1 (use this one)</b></summary>

| pattern | required? | description | dependent on |
| --- | --- | --- | --- |
| <code>extras\/.*</code> | ✓ | Folder for general lab-specific files related to the dataset | |
| <code>extras\/microscope_hardware\.json</code> | ✓ | **[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 <[email protected]> if help is required in generating this document. | |
| <code>extras\/microscope_settings\.json</code> | | **[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 <[email protected]> if help is required in generating this document. | |
| <code>raw\/.*</code> | ✓ | All raw data files for the experiment. | |
| <code>raw\/[^\/]+\.gpr</code> | ✓ | This is a 10X Genomics layout file that's generated by 10X and individualized for each Visium slide. This is a text file and can be generated using this 10X web form <https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/using/slidefile-download> along with the unique 10X Visium slide ID. | |
| <code>raw\/fastq\/.*</code> | ✓ | Raw sequencing files for the experiment | |
| <code>raw\/fastq\/RNA\/.*</code> | ✓ | Directory containing fastq files pertaining to RNAseq sequencing. | |
| <code>raw\/fastq\/RNA\/[^\/]+_R[^\/]+\.fastq\.gz</code> | ✓ | This is a GZip'd version of the forward and reverse fastq files from RNAseq sequencing (R1 and R2). | |
| <code>raw\/images\/.*</code> | ✓ | Directory containing raw image files. This directory should include at least one raw file. | |
| <code>raw\/images\/[^\/]+\.(?:xml&#124;scn&#124;vsi&#124;svs&#124;czi&#124;tiff)</code> | ✓ | Raw microscope file for the experiment | |
| <code>lab_processed\/.*</code> | ✓ | Experiment files that were processed by the lab generating the data. | |
| <code>lab_processed\/images\/.*</code> | ✓ | Processed image files | |
| <code>lab_processed\/images\/[^\/]+\.ome\.tiff</code> (example: <code>lab_processed/images/HBM892.MDXS.293.ome.tiff</code>) | ✓ | 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. <https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0> | |
| <code>lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv</code> | ✓ | 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 <https://docs.google.com/spreadsheets/d/1xEJSb0xn5C5fB3k62pj1CyHNybpt4-YtvUs5SUMS44o/edit#gid=0> | |
| <code>lab_processed\/images\/[^\/]+\.json</code> | | This file is the output from LoupeBrowser, when a data provider manually denotes which spots on the slide contain tissue. This file is optionally used by 10X SpaceRanger. | |
| <code>lab_processed\/transformations\/.*</code> | | 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). | |
| <code>lab_processed\/transformations\/[^\/]+\.txt</code> | | Transformation matrices used to overlay images from the exact same tissue section (e.g., MALDI imaging mass spec, autofluorescence microscopy, MxIF, histological stains). | |
| <code>lab_processed\/annotations\/.*</code> | | Directory containing segmentation masks. | |
| <code>lab_processed\/annotations\/[^\/]+\.segmentations\.ome\.tiff</code> | | 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\/.* |
| <code>lab_processed\/annotations\/segmentation-masks\.csv</code> | | 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\/.* |
| <code>lab_processed\/annotations\/[^\/]+-objects\.csv</code> | | 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\/.* |
| <code>lab_processed\/annotations\/[^\/]+\.geojson</code> | | 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\/.* |
| <code>lab_processed\/annotations\/tissue-boundary\.geojson</code> | | **[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\/.* |
| <code>lab_processed\/annotations\/regions-of-concern\.csv</code> | | 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\/.* |
| <code>lab_processed\/annotations\/regions-of-concern\.geojson</code> | | 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\/.* |

<summary><b>Version 2.0</b></summary>

| pattern | required? | description | dependent on |
| --- | --- | --- | --- |
Expand Down
34 changes: 33 additions & 1 deletion docs/visium-with-probes/current/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,39 @@ REQUIRED - For this assay, you must also prepare and submit two additional metad
<br>

## Directory schemas
<summary><b>Version 2.0 (use this one)</b></summary>
<summary><b>Version 2.1 (use this one)</b></summary>

| pattern | required? | description | dependent on |
| --- | --- | --- | --- |
| <code>extras\/.*</code> | ✓ | Folder for general lab-specific files related to the dataset | |
| <code>extras\/microscope_hardware\.json</code> | ✓ | **[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 <[email protected]> if help is required in generating this document. | |
| <code>extras\/microscope_settings\.json</code> | | **[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 <[email protected]> if help is required in generating this document. | |
| <code>raw\/.*</code> | ✓ | All raw data files for the experiment. | |
| <code>raw\/[^\/]+\.gpr</code> | ✓ | This is a 10X Genomics layout file that's generated by 10X and individualized for each Visium slide. This is a text file and can be generated using this 10X web form <https://support.10xgenomics.com/spatial-gene-expression/software/pipelines/latest/using/slidefile-download> along with the unique 10X Visium slide ID. | |
| <code>raw\/additional_panels_used\.csv</code> | | 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. | |
| <code>raw\/custom_probe_set\.csv</code> | | 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 <https://support.10xgenomics.com/spatial-gene-expression-ffpe/probe-sets/probe-set-file-descriptions/probe-set-file-descriptions#probe_set_csv_file>). | |
| <code>raw\/fastq\/.*</code> | ✓ | Raw sequencing files for the experiment | |
| <code>raw\/fastq\/oligo\/</code> | ✓ | Directory containing fastq files pertaining to oligo sequencing. | |
| <code>raw\/fastq\/oligo\/[^\/]+\.fastq\.gz</code> | ✓ | This is a gzip version of the fastq file. This file contains the cell barcode and unique molecular identifier (technical). | |
| <code>raw\/images\/.*</code> | ✓ | Directory containing raw image files. This directory should include at least one raw file. | |
| <code>raw\/images\/[^\/]+_tissue\.(?:tif&#124;tiff)</code> | | Raw microscope file for the experiment. For 10X Visium CytAssist, this would be the high resolution image produced. | |
| <code>raw\/images\/[^\/]+_fiducial\.(?:tif&#124;tiff)</code> | ✓ | This is the low resolution image from the 10X CytAssist instrument that includes the fiduciary markings. | |
| <code>raw\/images\/[^\/]+\.ndpi</code> | | Raw microscope file for the experiment | |
| <code>lab_processed\/.*</code> | ✓ | Experiment files that were processed by the lab generating the data. | |
| <code>lab_processed\/images\/.*</code> | ✓ | Processed image files | |
| <code>lab_processed\/images\/[^\/]+\.ome\.tiff</code> (example: <code>lab_processed/images/HBM892.MDXS.293.ome.tiff</code>) | ✓ | 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. <https://docs.google.com/spreadsheets/d/1YnmdTAA0Z9MKN3OjR3Sca8pz-LNQll91wdQoRPSP6Q4/edit#gid=0> | |
| <code>lab_processed\/images\/[^\/]*ome-tiff\.channels\.csv</code> | ✓ | 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 <https://docs.google.com/spreadsheets/d/1xEJSb0xn5C5fB3k62pj1CyHNybpt4-YtvUs5SUMS44o/edit#gid=0> | |
| <code>lab_processed\/images\/[^\/]+\.json</code> | | This file is the output from LoupeBrowser, when a data provider manually denotes which spots on the slide contain tissue. This file is optionally used by 10X SpaceRanger. | |
| <code>lab_processed\/annotations\/.*</code> | | Directory containing segmentation masks. | |
| <code>lab_processed\/annotations\/[^\/]+\.segmentations\.ome\.tiff</code> | | 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\/.* |
| <code>lab_processed\/annotations\/segmentation-masks\.csv</code> | | 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\/.* |
| <code>lab_processed\/annotations\/[^\/]+-objects\.csv</code> | | 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\/.* |
| <code>lab_processed\/annotations\/[^\/]+\.geojson</code> | | 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\/.* |
| <code>lab_processed\/annotations\/tissue-boundary\.geojson</code> | | **[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\/.* |
| <code>lab_processed\/annotations\/regions-of-concern\.csv</code> | | 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\/.* |
| <code>lab_processed\/annotations\/regions-of-concern\.geojson</code> | | 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\/.* |

<summary><b>Version 2.0</b></summary>

| pattern | required? | description | dependent on |
| --- | --- | --- | --- |
Expand Down
Loading