Optional: upload a config file Optionally upload a custom configuration file in "yaml" format, where customized default parameters are set such as the color scheme, image width/height, etc. An example file is provided on the left "Download" menu. A specialized yaml file editor is recommended for editing this file, e.g. onlineyamltools.
Step 1: data sets The "Mustroph" examples are pre-configured aSVGs and data for demonstration, which are microarray assays on Arabidopsis thaliana (Mustroph et al. 2009). The "customData" allows to upload aSVG file(s) and data matrix generated by users in most cases. Only in rare cases, the "customComputedData" is suggested. See details below.
Step 2A: upload one aSVG file Upload an aSVG file generated by users, where the aSVG means spatial features are annotated with unique identifiers. An example aSVG is downloadable below. Note, the aSVG file name should not contain parenthesis. E.g. "arabidopsis_thaliana.root.cross_shm.svg" is expected while "arabidopsis_thaliana.root.cross_shm(1).svg" will cause errors.
Step 2B: upload multiple aSVG files Upload more than one aSVGs, such as aSVGs representing organs at different growth stages. The order of aSVGs should be indicated by suffixes of "_shm1", "_shm2", ... . e.g. "arabidopsis_thaliana.organ_shm1.svg", "arabidopsis_thaliana.organ_shm2.svg". The spatial heatmaps would be a composite image including all aSVGs. This step takes precedence over "Step 2A". Example aSVGs are downloadable below. A pre-uploaded example is "growthStage_Mustroph" under "Step 1: data sets".
Step 3: upload a data matrix file Upload the data matrix in tabular file where target samples should have matching spatial features (shapes) in the aSVG(s). Note, the file name should not contain parenthesis. E.g. `arab_expr_example.txt` is expected while `arab_expr_example.txt(1).txt` will raise errors. If "customComputedData" is chosen in Step 1, this file should be generated by the function `submatrix` in "spatialHeatmap". The separator in the tabular file can only be one of tab, space, comma, or semicolon.
Step 4: is column or row gene? Specify genes in row or column.
In the data matrix, the row and column names are usually gene IDs and sample/conditions, respectively. The sample/conditions MUST follow these naming scheme: 1) A sample name is followed by double underscore then the condition. E.g. in "root_pGL2__hypoxia", "root_pGL2" is the sample (atrichoblast epidermis) and "hypoxia" is the condition. 2) The "__" is a reserved separator, so it cannot be used in sample or condition identifiers. 3) Each column name must be unique. To achieve such naming format, simple sample/conditions can be edited in a regular text editor/Excel, while if complex it can be generated with the function `filter_data` in "spatialHeatmap". One column of metadata (e.g. gene annotation) could be optinally appended to sample/condition at the end, where the column name should not include "__". Only values of samples having a matching feature counterpart in the aSVG are translated to colors in spatial heatmaps. More details about how to set up aSVG file and data matrix are provided in the package vignette and the SVG tutorial. The example aSVG files and formatted data matrices are provided on the left "Download" menu, and can be uploaded directly for testing after selecting "customData".
Custom computed data This field is used only in rare cases the subsetted matrix in Matrix Heatmap panel is unavoidably large and subsequently might lead to app crash during the network computation. Since network modules are identified with WGCNA (Langfelder and Horvath 2008) and the process is computationally intensive for large data matrix (e.g. > 10,000 genes). To maintain good performance, the computation could be done in R using the function `adj_mod` in "spatialHeatmap", then upload the adjacency matrix "adj.txt" and module definition "mod.txt" to this field. However, in most cases the network computation issue could be resolved by increasing subsetting strigency in Matrix Heatmap. In addition, if "Interactive Network" is not used, this app could handle data matrix with complete genes (e.g. > 40,000) of most organisms.