1. Explanation

We plan to curate an ecosystem of different, related packages to modularize Giotto Suite as we extend its functionalities. Here, we detail some different helper module(s) within the Giotto Ecosystem.

2. GiottoClass

This package contains the Giotto object and subobject class definitions and frameworks. Functionalities relating to data ingestion, basic object creation, data access within the Giotto object, and generics defined for the Giotto classes are all found here.

Applications of this framework and convenience functions for loading specific technologies are found in the base Giotto package.

Find more information here

To install GiottoClass run:

pak::pkg_install('drieslab/GiottoClass')

3. GiottoUtils

GiottoUtils exports functionalities that are called internally by many of the other packages in the Giotto ecosystem. These range from things such as commonly used imports to pretty prints. Users should not need to directly interact with this package.

Find more information here

To install GiottoUtils run:

pak::pkg_install('drieslab/GiottoUtils')

4. GiottoVisuals

GiottoVisuals contains the main plotting functions of Giotto Suite

Find more information here

To install GiottoVisuals run:

pak::pkg_install('drieslab/GiottoVisuals')

5. GiottoData

This package depends on Giotto Suite and leverages various functions within it for saving and loading Giotto objects. It contains dataset helper functions loadGiottoMini() and getSpatialDataset(). Note that getSpatialDataset() was moved from Giotto Suite to GiottoData!

In addition to dataset helpers, we have created mini Giotto Objects for testing Giotto Suite’s capabilities rapidly and streamlining the tutorial experience. GiottoData currently includes two mini Giotto Objects which are derived from Vizgen and Visium data; more mini Giotto Objects will be published in the future. Further, we include mini objects, S4 subobjects of a Giotto Object (i.e. exprObj), in an effort to make the Giotto Object structure as transparent as possible.

Find more information here

To install GiottoData run:

pak::pkg_install('drieslab/GiottoData')

The scripts used to create both the mini giotto objects and mini objects are available in the repository so that we may extend and/or improve them and that you may utilize them for your own purposes!

5.1 Start Giotto

# Ensure Giotto Suite is installed
if(!"Giotto" %in% installed.packages()) {
  pak::pkg_install("drieslab/Giotto")
}

library(Giotto)

# Ensure Giotto Data is installed
if(!"GiottoData" %in% installed.packages()) {
  pak::pkg_install("drieslab/GiottoData")
}

library(GiottoData)

# Ensure the Python environment for Giotto has been installed
genv_exists = checkGiottoEnvironment()
if(!genv_exists){
  # The following command need only be run once to install the Giotto environment
  installGiottoEnvironment()
}

5.2 Create a Giotto object

visium_mini = loadGiottoMini(dataset = 'visium')

6. Session Info

R version 4.3.2 (2023-10-31)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS Sonoma 14.2.1

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: America/Mexico_City
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods  
[7] base     

other attached packages:
[1] GiottoData_0.2.6.1 GiottoUtils_0.1.2  Giotto_4.0.2      
[4] GiottoClass_0.1.2 

loaded via a namespace (and not attached):
  [1] colorRamp2_0.1.0            DBI_1.2.0                  
  [3] bitops_1.0-7                biomaRt_2.58.0             
  [5] rlang_1.1.2                 magrittr_2.0.3             
  [7] matrixStats_1.2.0           e1071_1.7-14               
  [9] compiler_4.3.2              RSQLite_2.3.4              
 [11] png_0.1-8                   vctrs_0.6.5                
 [13] stringr_1.5.1               pkgconfig_2.0.3            
 [15] SpatialExperiment_1.12.0    crayon_1.5.2               
 [17] fastmap_1.1.1               backports_1.4.1            
 [19] dbplyr_2.4.0                magick_2.8.2               
 [21] XVector_0.42.0              utf8_1.2.4                 
 [23] rmarkdown_2.25              purrr_1.0.2                
 [25] bit_4.0.5                   xfun_0.41                  
 [27] zlibbioc_1.48.0             cachem_1.0.8               
 [29] jsonlite_1.8.8              GenomeInfoDb_1.38.5        
 [31] progress_1.2.3              blob_1.2.4                 
 [33] rhdf5filters_1.14.1         gmp_0.7-3                  
 [35] DelayedArray_0.28.0         Rhdf5lib_1.24.1            
 [37] terra_1.7-65                parallel_4.3.2             
 [39] prettyunits_1.2.0           R6_2.5.1                   
 [41] stringi_1.8.3               reticulate_1.34.0          
 [43] ClusterR_1.3.2              GenomicRanges_1.54.1       
 [45] Rcpp_1.0.11                 assertthat_0.2.1           
 [47] SummarizedExperiment_1.32.0 knitr_1.45                 
 [49] IRanges_2.36.0              igraph_1.6.0               
 [51] Matrix_1.6-4                tidyselect_1.2.0           
 [53] yaml_2.3.8                  rstudioapi_0.15.0          
 [55] abind_1.4-5                 codetools_0.2-19           
 [57] curl_5.2.0                  lattice_0.21-9             
 [59] tibble_3.2.1                withr_2.5.2                
 [61] Biobase_2.62.0              KEGGREST_1.42.0            
 [63] evaluate_0.23               sf_1.0-15                  
 [65] units_0.8-5                 proxy_0.4-27               
 [67] BiocFileCache_2.10.1        xml2_1.3.6                 
 [69] Biostrings_2.70.1           pillar_1.9.0               
 [71] filelock_1.0.3              MatrixGenerics_1.14.0      
 [73] KernSmooth_2.23-22          checkmate_2.3.1            
 [75] stats4_4.3.2                generics_0.1.3             
 [77] RCurl_1.98-1.13             S4Vectors_0.40.2           
 [79] hms_1.1.3                   ggplot2_3.4.4              
 [81] munsell_0.5.0               scales_1.3.0               
 [83] class_7.3-22                glue_1.6.2                 
 [85] tools_4.3.2                 GiottoVisuals_0.1.1        
 [87] data.table_1.14.10          XML_3.99-0.16              
 [89] cowplot_1.1.2               rhdf5_2.46.1               
 [91] grid_4.3.2                  AnnotationDbi_1.64.1       
 [93] colorspace_2.1-0            SingleCellExperiment_1.24.0
 [95] GenomeInfoDbData_1.2.11     cli_3.6.2                  
 [97] rappdirs_0.3.3              fansi_1.0.6                
 [99] S4Arrays_1.2.0              arrow_14.0.0.2             
[101] dplyr_1.1.4                 gtable_0.3.4               
[103] digest_0.6.33               progressr_0.14.0           
[105] BiocGenerics_0.48.1         classInt_0.4-10            
[107] SparseArray_1.2.3           rjson_0.2.21               
[109] memoise_2.0.1               htmltools_0.5.7            
[111] lifecycle_1.0.4             httr_1.4.7                 
[113] bit64_4.0.5