#BiocManager::install("mixOmicsTeam/mixOmics") 
library(mixOmics)
## Loading required package: MASS
## Loading required package: lattice
## Loading required package: ggplot2
## 
## Loaded mixOmics 6.23.2
## Thank you for using mixOmics!
## Tutorials: http://mixomics.org
## Bookdown vignette: https://mixomicsteam.github.io/Bookdown
## Questions, issues: Follow the prompts at http://mixomics.org/contact-us
## Cite us:  citation('mixOmics')
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:MASS':
## 
##     select
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
#BiocManager::install("tidyverse")
library(tidyverse)
## ── Attaching packages
## ───────────────────────────────────────
## tidyverse 1.3.2 ──
## ✔ tibble  3.1.8     ✔ purrr   0.3.5
## ✔ tidyr   1.2.1     ✔ stringr 1.4.1
## ✔ readr   2.1.3     ✔ forcats 0.5.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ✖ purrr::map()    masks mixOmics::map()
## ✖ dplyr::select() masks MASS::select()
#BiocManager::install("edgeR")
library(edgeR)
## Loading required package: limma
#BiocManager::install("limma")
library(limma)

#load datasets

#metadata
z <- read_csv("meta_data.csv")
## Rows: 25 Columns: 2
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (2): Samples, Treatment
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
metadata <- data.matrix(z)
head(z)
## # A tibble: 6 × 2
##   Samples Treatment
##   <chr>   <chr>    
## 1 EX_590  Exercise 
## 2 EX_591  Exercise 
## 3 EX_615  Exercise 
## 4 EX_605  Exercise 
## 5 EX_715  Exercise 
## 6 EX_716  Exercise
#miRNA data frame
miRNA <- read_csv("liver_EV_miRNA_normalized_filtered_counts_EX_SED_PBS_transposed_without_col1_title.csv")
## New names:
## Rows: 25 Columns: 78
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (1): ...1 dbl (77): mmu-let-7a-1-3p, mmu-let-7b-5p, mmu-let-7c-5p,
## mmu-let-7d-3p, mmu-...
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
miRNA
## # A tibble: 25 × 78
##    ...1  mmu-l…¹ mmu-l…² mmu-l…³ mmu-l…⁴ mmu-l…⁵ mmu-l…⁶ mmu-m…⁷ mmu-m…⁸ mmu-m…⁹
##    <chr>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>
##  1 EX_5…    15.0    17.3    15.0    6.63    7.90    7.82    9.04    7.30    6.34
##  2 EX_5…    14.8    16.8    14.8    6.64    7.35    6.27    8.91    6.27    6.94
##  3 EX_6…    15.0    17.2    15.0    7.33    7.97    7.00    9.06    7.27    5.68
##  4 EX_6…    14.7    16.6    14.7    5.67    7.45    6.08    9.29    6.75    7.20
##  5 EX_7…    14.8    16.7    14.8    5.90    6.75    7.58    9.00    6.38    7.03
##  6 EX_7…    14.8    16.8    14.8    6.36    7.60    6.90    8.98    6.98    5.22
##  7 EX_7…    15.5    17.5    15.5    5.29    6.40    6.61    8.43    6.61    5.03
##  8 EX_7…    15.2    17.3    15.2    5.69    7.32    6.96    8.28    6.18    6.07
##  9 EX_9…    14.6    16.7    14.6    6.70    7.25    6.76    9.14    6.44    6.70
## 10 SED_…    14.9    16.8    14.9    6.57    7.47    7.66    8.89    6.69    6.86
## # … with 15 more rows, 68 more variables: `mmu-miR-107-5p` <dbl>,
## #   `mmu-miR-10a-3p` <dbl>, `mmu-miR-10a-5p` <dbl>, `mmu-miR-1198-5p` <dbl>,
## #   `mmu-miR-122-5p` <dbl>, `mmu-miR-126a-3p` <dbl>, `mmu-miR-127-3p` <dbl>,
## #   `mmu-miR-130a-5p` <dbl>, `mmu-miR-136-5p` <dbl>, `mmu-miR-140-5p` <dbl>,
## #   `mmu-miR-141-3p` <dbl>, `mmu-miR-141-5p` <dbl>, `mmu-miR-142a-3p` <dbl>,
## #   `mmu-miR-143-3p` <dbl>, `mmu-miR-146a-3p` <dbl>, `mmu-miR-146b-5p` <dbl>,
## #   `mmu-miR-152-3p` <dbl>, `mmu-miR-15a-3p` <dbl>, `mmu-miR-16-1-3p` <dbl>, …
dim(miRNA)
## [1] 25 78
miRNA.matrix <- data.matrix(miRNA)

#data with Trt group
#miRNA
miRNA.trt <- read_csv("liver_EV_miRNA_normalized_filtered_counts_EX_SED_PBS_transposed_with_trt.csv")
## Rows: 25 Columns: 79
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (2): Samples, Treatment
## dbl (77): mmu-let-7a-1-3p, mmu-let-7b-5p, mmu-let-7c-5p, mmu-let-7d-3p, mmu-...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
miRNA.trt
## # A tibble: 25 × 79
##    Samples Treatment mmu-let-7…¹ mmu-l…² mmu-l…³ mmu-l…⁴ mmu-l…⁵ mmu-l…⁶ mmu-m…⁷
##    <chr>   <chr>           <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>
##  1 EX_590  Exercise         15.0    17.3    15.0    6.63    7.90    7.82    9.04
##  2 EX_591  Exercise         14.8    16.8    14.8    6.64    7.35    6.27    8.91
##  3 EX_615  Exercise         15.0    17.2    15.0    7.33    7.97    7.00    9.06
##  4 EX_605  Exercise         14.7    16.6    14.7    5.67    7.45    6.08    9.29
##  5 EX_715  Exercise         14.8    16.7    14.8    5.90    6.75    7.58    9.00
##  6 EX_716  Exercise         14.8    16.8    14.8    6.36    7.60    6.90    8.98
##  7 EX_732  Exercise         15.5    17.5    15.5    5.29    6.40    6.61    8.43
##  8 EX_737  Exercise         15.2    17.3    15.2    5.69    7.32    6.96    8.28
##  9 EX_934  Exercise         14.6    16.7    14.6    6.70    7.25    6.76    9.14
## 10 SED_626 Sedentary        14.9    16.8    14.9    6.57    7.47    7.66    8.89
## # … with 15 more rows, 70 more variables: `mmu-miR-103-3p` <dbl>,
## #   `mmu-miR-107-3p` <dbl>, `mmu-miR-107-5p` <dbl>, `mmu-miR-10a-3p` <dbl>,
## #   `mmu-miR-10a-5p` <dbl>, `mmu-miR-1198-5p` <dbl>, `mmu-miR-122-5p` <dbl>,
## #   `mmu-miR-126a-3p` <dbl>, `mmu-miR-127-3p` <dbl>, `mmu-miR-130a-5p` <dbl>,
## #   `mmu-miR-136-5p` <dbl>, `mmu-miR-140-5p` <dbl>, `mmu-miR-141-3p` <dbl>,
## #   `mmu-miR-141-5p` <dbl>, `mmu-miR-142a-3p` <dbl>, `mmu-miR-143-3p` <dbl>,
## #   `mmu-miR-146a-3p` <dbl>, `mmu-miR-146b-5p` <dbl>, `mmu-miR-152-3p` <dbl>, …
dim(miRNA.trt)
## [1] 25 79
miRNA.matrix.trt <- data.matrix(miRNA.trt)

#RNAseq data frame
RNAseq <- read_csv("liver_EV_RNAseq_normalized_filtered_counts_EX_SED_PBS_transposed_without_col1_title.csv")
## New names:
## Rows: 25 Columns: 427
## ── Column specification
## ──────────────────────────────────────────────────────── Delimiter: "," chr
## (1): ...1 dbl (426): 1110065P20Rik, 1190005I06Rik, 1700123O20Rik,
## 1810024B03Rik, 22100...
## ℹ Use `spec()` to retrieve the full column specification for this data. ℹ
## Specify the column types or set `show_col_types = FALSE` to quiet this message.
## • `` -> `...1`
RNAseq
## # A tibble: 25 × 427
##    ...1  11100…¹ 11900…² 17001…³ 18100…⁴ 22100…⁵ 23100…⁶ 23100…⁷ 46324…⁸ 49334…⁹
##    <chr>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>
##  1 EX_5…    3.78    3.01    5.21    1.84    5.49  0.779     5.30    3.77    2.22
##  2 EX_5…    3.52    3.47    4.93    2.45    5.48  1.61      5.63    3.31    2.19
##  3 EX_6…    3.60    3.30    5.04    2.37    5.48  0.967     5.64    3.36    1.87
##  4 EX_6…    3.59    3.11    4.88    2.56    5.56  1.33      5.46    3.36    2.17
##  5 EX_7…    3.39    2.92    4.78    1.94    5.72  1.63      5.26    3.08    2.16
##  6 EX_7…    3.47    2.83    4.79    1.92    5.51  0.779     5.09    3.34    2.10
##  7 EX_7…    3.67    2.93    4.93    2.34    5.61  0.467     5.45    3.67    1.83
##  8 EX_7…    3.64    3.28    5.18    2.35    5.58  0.0263    5.44    3.23    2.16
##  9 EX_9…    3.34    2.98    4.92    2.38    5.60  1.20      5.21    3.37    2.05
## 10 SED_…    3.16    2.49    4.79    1.80    5.47  3.01      5.13    3.47    2.43
## # … with 15 more rows, 417 more variables: `9230114K14Rik` <dbl>,
## #   `9330159M07Rik` <dbl>, A930018P22Rik <dbl>, Aars2 <dbl>, Abhd11 <dbl>,
## #   Acad12 <dbl>, Adam10 <dbl>, Adar <dbl>, Alg14 <dbl>, Alkbh8 <dbl>,
## #   Alms1 <dbl>, Ankfy1 <dbl>, Ankrd54 <dbl>, Ap2s1 <dbl>, Ap5s1 <dbl>,
## #   Apcs <dbl>, Arpc1a <dbl>, Asns <dbl>, Atp5g1 <dbl>, Atpaf2 <dbl>,
## #   B3gat3 <dbl>, B4galnt1 <dbl>, Bbx <dbl>, BC147527 <dbl>, Blvrb <dbl>,
## #   Bmp2 <dbl>, Borcs5 <dbl>, Brme1 <dbl>, Btd <dbl>, Bud23 <dbl>, …
dim(RNAseq)
## [1]  25 427
RNAseq.matrix <- data.matrix(RNAseq)

#data with Trt group
#RNAseq 
RNAseq.trt <- read_csv("liver_EV_RNAseq_normalised_filtered_counts_EX_SED_PBS_transposed_with_trt.csv")
## Rows: 25 Columns: 428
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr   (2): Samples, Treatment
## dbl (426): 1110065P20Rik, 1190005I06Rik, 1700123O20Rik, 1810024B03Rik, 22100...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
RNAseq.trt
## # A tibble: 25 × 428
##    Samples Treatment 1110065P2…¹ 11900…² 17001…³ 18100…⁴ 22100…⁵ 23100…⁶ 23100…⁷
##    <chr>   <chr>           <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>   <dbl>
##  1 EX_590  Exercise         3.78    3.01    5.21    1.84    5.49  0.779     5.30
##  2 EX_591  Exercise         3.52    3.47    4.93    2.45    5.48  1.61      5.63
##  3 EX_615  Exercise         3.60    3.30    5.04    2.37    5.48  0.967     5.64
##  4 EX_605  Exercise         3.59    3.11    4.88    2.56    5.56  1.33      5.46
##  5 EX_715  Exercise         3.39    2.92    4.78    1.94    5.72  1.63      5.26
##  6 EX_716  Exercise         3.47    2.83    4.79    1.92    5.51  0.779     5.09
##  7 EX_732  Exercise         3.67    2.93    4.93    2.34    5.61  0.467     5.45
##  8 EX_737  Exercise         3.64    3.28    5.18    2.35    5.58  0.0263    5.44
##  9 EX_934  Exercise         3.34    2.98    4.92    2.38    5.60  1.20      5.21
## 10 SED_626 Sedentary        3.16    2.49    4.79    1.80    5.47  3.01      5.13
## # … with 15 more rows, 419 more variables: `4632415L05Rik` <dbl>,
## #   `4933427D14Rik` <dbl>, `9230114K14Rik` <dbl>, `9330159M07Rik` <dbl>,
## #   A930018P22Rik <dbl>, Aars2 <dbl>, Abhd11 <dbl>, Acad12 <dbl>, Adam10 <dbl>,
## #   Adar <dbl>, Alg14 <dbl>, Alkbh8 <dbl>, Alms1 <dbl>, Ankfy1 <dbl>,
## #   Ankrd54 <dbl>, Ap2s1 <dbl>, Ap5s1 <dbl>, Apcs <dbl>, Arpc1a <dbl>,
## #   Asns <dbl>, Atp5g1 <dbl>, Atpaf2 <dbl>, B3gat3 <dbl>, B4galnt1 <dbl>,
## #   Bbx <dbl>, BC147527 <dbl>, Blvrb <dbl>, Bmp2 <dbl>, Borcs5 <dbl>, …
dim(RNAseq.trt)
## [1]  25 428
RNAseq.matrix.trt <- data.matrix(RNAseq.trt)

#Sub-setting
#miRNA.RNAseq <- data.frame(miRNA = c(25, 78), RNAseq = c(25, 427))
#miRNA.RNAseq$miRNA
#miRNA.RNAseq$RNAseq
#miRNA.RNAseq.matrix <- data.matrix(miRNA.RNAseq)

#PCA_miRNA.trt
pca.miRNA.trt <- pca(miRNA.trt)            # 1 Run the method
plotIndiv(pca.miRNA.trt, group = miRNA.trt$Treatment, legend = TRUE, 
          title = "EV miRNA PCA plot")   # 2 Plot the samples

pca.miRNA.trt
##   Eigenvalues for the first 2 principal components, see object$sdev^2: 
##       PC1       PC2 
## 58.288706  9.950163 
##   
##   Proportion of  explained variance for the first 2 principal components, see object$prop_expl_var: 
##       PC1            PC2      
## 0.6322435      0.1079270      
##   
##   Cumulative proportion of  explained variance for the first 2 principal components, see object$cum.var: 
##       PC1            PC2      
## 0.6322435      0.7401705      
##   
##   Other available components: 
##  -------------------- 
##   loading vectors: see object$rotation 
##   Other functions: 
##  -------------------- 
##   plotIndiv, plot, plotVar, selectVar, biplot
##Correlation_circle_Plot_miRNA_no_Trt_column
pca.miRNA.corr <- pca(miRNA)            # 1 Run the method
plotVar(pca.miRNA.corr, cutoff = 0.8)   # 3 Plot the variables

##plotIndiv(MyResult.pca.miRNA, ind.names = FALSE) #add or remove variable name

#PCA_RNAseq.trt
pca.RNAseq.trt <- pca(RNAseq.trt)                                        # 1 Run the method
plotIndiv(pca.RNAseq.trt, group = RNAseq.trt$Treatment, legend = TRUE, 
          title = "EV RNA-seq PCA plot")                                   # 2 Plot the samples

pca.RNAseq.trt
##   Eigenvalues for the first 2 principal components, see object$sdev^2: 
##      PC1      PC2 
## 56.98940 24.39713 
##   
##   Proportion of  explained variance for the first 2 principal components, see object$prop_expl_var: 
##       PC1            PC2      
## 0.5549827      0.2375878      
##   
##   Cumulative proportion of  explained variance for the first 2 principal components, see object$cum.var: 
##       PC1            PC2      
## 0.5549827      0.7925705      
##   
##   Other available components: 
##  -------------------- 
##   loading vectors: see object$rotation 
##   Other functions: 
##  -------------------- 
##   plotIndiv, plot, plotVar, selectVar, biplot
##Correlation_circle_Plot_RNAseq_no_Trt_column
pca.RNAseq.corr <- pca(RNAseq.trt)           # 1 Run the method
plotVar(pca.RNAseq.corr, cutoff = 0.8, cex = 3)  # cex adjusts font size

#call metadata
z
## # A tibble: 25 × 2
##    Samples Treatment
##    <chr>   <chr>    
##  1 EX_590  Exercise 
##  2 EX_591  Exercise 
##  3 EX_615  Exercise 
##  4 EX_605  Exercise 
##  5 EX_715  Exercise 
##  6 EX_716  Exercise 
##  7 EX_732  Exercise 
##  8 EX_737  Exercise 
##  9 EX_934  Exercise 
## 10 SED_626 Sedentary
## # … with 15 more rows
#To display the results on other components, we can change the comp argument 
#provided we have requested enough components to be calculated. 

#miRNA
pca.miRNA.2 <- pca(miRNA, ncomp = 3)
plotIndiv(pca.miRNA.2, comp = c(1,3), 
          title = 'miRNA, PCA comp 1-3')

#The amount of variance explained can be extracted with a screeplot

#miRNA
#scree plot
plot(pca.miRNA.2, legen = "miRNA Scree Plot components")

# the actual numerical proportions of explained variance.
pca.miRNA.2
##   Eigenvalues for the first 3 principal components, see object$sdev^2: 
##       PC1       PC2       PC3 
## 57.675551  9.924455  8.891406 
##   
##   Proportion of  explained variance for the first 3 principal components, see object$prop_expl_var: 
##        PC1             PC2             PC3      
## 0.63042501      0.10847967      0.09718789      
##   
##   Cumulative proportion of  explained variance for the first 3 principal components, see object$cum.var: 
##       PC1            PC2            PC3      
## 0.6304250      0.7389047      0.8360926      
##   
##   Other available components: 
##  -------------------- 
##   loading vectors: see object$rotation 
##   Other functions: 
##  -------------------- 
##   plotIndiv, plot, plotVar, selectVar, biplot
#RNAseq
pca.RNAseq.2 <- pca(RNAseq, ncomp = 3)
plotIndiv(pca.RNAseq.2, comp = c(1,3), 
          title = 'RNAseq, PCA comp 1 - 3')

#RNAseq
#scree plot
plot(pca.RNAseq.2, legen = "RNAseq Scree Plot components")

# the actual numerical proportions of explained variance.
pca.RNAseq.2
##   Eigenvalues for the first 3 principal components, see object$sdev^2: 
##       PC1       PC2       PC3 
## 56.357201 24.396936  2.786207 
##   
##   Proportion of  explained variance for the first 3 principal components, see object$prop_expl_var: 
##        PC1             PC2             PC3      
## 0.55262921      0.23923224      0.02732107      
##   
##   Cumulative proportion of  explained variance for the first 3 principal components, see object$cum.var: 
##       PC1            PC2            PC3      
## 0.5526292      0.7918614      0.8191825      
##   
##   Other available components: 
##  -------------------- 
##   loading vectors: see object$rotation 
##   Other functions: 
##  -------------------- 
##   plotIndiv, plot, plotVar, selectVar, biplot
## To look at the variable coefficients in each component with the loading vectors. 
#miRNA
#plotLoadings(pca.miRNA, ndisplay = 15, 
#             size.name = 0.7, coly = c(2,40))

## To look at the variable coefficients in each component with the loading vectors. 
#RNAseq
#plotLoadings(RNAseq$pca.RNAseq, ndisplay = 15, 
#            size.name = 0.7)

#Plots can also be interactively displayed in 3 dimensions using the option style="3d". 
#We use the rgl package for this (the interative figure is only interatice in the html vignette).

#BiocManager::install("rgl")
library(rgl)

#3D_pca_miRAN
plotIndiv(pca.miRNA.2,
          group = miRNA.trt$Treatment, style="3d",
          legend = TRUE, title = 'miRNA, PCA comp 1 - 2 - 3')

#3D_pca_RANseq
plotIndiv(pca.RNAseq.2,
          group = RNAseq.trt$Treatment, style="3d",
          legend = TRUE, title = 'RNAseq, PCA comp 1 - 2 - 3')

## Variable selection with sparse PCA (sPCA)
 # Biological question: Apply PCA but also identify the key variables that 
  # contribute to the explanation of most variance in the data set.
  # Variable selection can be performed using spca (Shen and Huang 2008). 
  # The user needs to provide the number of variables to select on each PC. 

# miRNA
dim(miRNA)
## [1] 25 78
miRNA.spca.2comp <- spca(miRNA.matrix.trt, ncomp = 2, keepX = c(45, 10))   # 1 Run the method
plotIndiv(miRNA.spca.2comp, group = miRNA.trt$Treatment,                   # 2 Plot the samples
          pch = as.factor(miRNA.trt$Treatment),
          legend = TRUE, title = 'miRNA, sPCA comp 1 - 2',
          legend.title = 'Treatment')

miRNA.spca.2comp
## sparse PCA with 2 principal components. 
##   Input data X of dimensions: 25 79 
##   Number of selected variables on each prinicipal components:
## PC1   PC2   
##  45    10   
##   Proportion of adjusted explained variance for the first 2 principal components, see object$prop_expl_var: 
##       PC1            PC2      
## 0.2086193      0.1509311      
##   
##   Other available components: 
##  -------------------- 
##   loading vectors: see object$rotation 
##   Other functions: 
##  -------------------- 
##   tune.spca, plotIndiv, plot, plotVar, selectVar, biplot
#Plot the variables - Correlation circle
 #miRNA
plotVar(miRNA.spca.2comp)         

 #RNAseq
dim(RNAseq)
## [1]  25 427
RNAseq.spca.2comp <- spca(RNAseq.matrix.trt, ncomp = 2, keepX = c(234,107))   # 1 Run the method
plotIndiv(RNAseq.spca.2comp, group = RNAseq.trt$Treatment,                  # 2 Plot the samples
          pch = as.factor(RNAseq.trt$Treatment),
          legend = TRUE, title = 'RNAseq, sPCA comp 1 - 2',
          legend.title = 'Treatment')

RNAseq.spca.2comp
## sparse PCA with 2 principal components. 
##   Input data X of dimensions: 25 428 
##   Number of selected variables on each prinicipal components:
## PC1   PC2   
## 234   107   
##   Proportion of adjusted explained variance for the first 2 principal components, see object$prop_expl_var: 
##        PC1             PC2      
## 0.51750143      0.08410191      
##   
##   Other available components: 
##  -------------------- 
##   loading vectors: see object$rotation 
##   Other functions: 
##  -------------------- 
##   tune.spca, plotIndiv, plot, plotVar, selectVar, biplot
#Plot the variables - Correlation circle
 #RNAseq
plotVar(RNAseq.spca.2comp, cex = 3)  # cex is used to change the size of the labels on the plot 

#Selected variables can be identified on each component with the selectVar function. 
#Here the coefficient values are extracted, but there are other outputs as well, see ?selectVar:
 #miRNA

selectVar(miRNA.spca.2comp, comp = 1)$value
##                    value.var
## mmu-miR-200c-5p  0.267338725
## mmu-miR-141-5p   0.264046607
## mmu-miR-199a-3p  0.262530652
## mmu-miR-199b-3p  0.252078053
## mmu-miR-200b-3p  0.247033222
## mmu-miR-194-5p  -0.240355635
## mmu-miR-141-3p   0.240350917
## mmu-miR-200a-3p  0.236416431
## mmu-miR-195a-5p  0.231801102
## mmu-miR-3065-5p -0.228759616
## mmu-miR-181d-3p  0.221659430
## mmu-miR-181b-5p  0.213350705
## mmu-miR-223-5p   0.210387282
## mmu-miR-181c-5p  0.193346767
## mmu-miR-31-3p    0.193110355
## mmu-miR-203b-5p -0.157859440
## mmu-miR-30e-3p  -0.149520691
## mmu-miR-142a-3p  0.149125104
## mmu-miR-335-5p   0.132178239
## mmu-miR-146b-5p  0.108775312
## mmu-miR-146a-3p  0.107770645
## mmu-miR-122-5p  -0.105880710
## mmu-miR-191-5p   0.098211351
## mmu-miR-501-5p   0.082196920
## mmu-miR-107-3p  -0.077595920
## mmu-miR-93-3p    0.068650814
## mmu-miR-16-1-3p -0.066640729
## mmu-miR-30a-5p  -0.064231481
## mmu-miR-186-5p  -0.061940994
## mmu-miR-674-5p   0.061015891
## mmu-miR-708-5p   0.045454937
## mmu-miR-10a-3p   0.040855280
## mmu-miR-324-5p   0.033542067
## mmu-miR-26a-5p  -0.030086328
## mmu-miR-152-3p  -0.028380707
## mmu-miR-10a-5p   0.026411147
## mmu-let-7c-5p   -0.024588643
## Treatment        0.024420746
## mmu-miR-345-3p   0.018062235
## mmu-let-7a-1-3p -0.017421924
## mmu-miR-20a-5p   0.013083201
## mmu-miR-185-3p   0.006565135
## mmu-miR-98-5p   -0.003036589
## Samples          0.002075186
## mmu-miR-130a-5p -0.001623831
selectVar(miRNA.spca.2comp, comp = 2)$value
##                   value.var
## mmu-let-7a-1-3p  0.47371648
## mmu-let-7c-5p    0.47294337
## mmu-miR-21a-3p  -0.46701530
## mmu-miR-5099    -0.31849704
## mmu-let-7b-5p    0.30409741
## mmu-miR-30d-3p   0.27525299
## mmu-miR-16-1-3p  0.16209164
## mmu-miR-101b-3p -0.15903168
## mmu-miR-26a-5p  -0.08708547
## mmu-miR-677-5p  -0.07060817
#selectVar(miRNA.spca.3comp, comp = 1)$value     # Coefficient values of variables in comp 1
#selectVar(miRNA.spca.3comp, comp = 2)$value     # Coefficient values of variables in comp 2
#selectVar(miRNA.spca.3comp, comp = 3)$value     # Coefficient values of variables in comp 3

 # RNAseq

selectVar(RNAseq.spca.2comp, comp = 1)$values
## NULL
selectVar(RNAseq.spca.2comp, comp = 2)$value
##                   value.var
## Tnks          -0.2329228274
## Pcgf3         -0.1954947633
## Nbeal1        -0.1954818174
## Alkbh8        -0.1832442139
## Kctd20        -0.1824390554
## Selenow        0.1803077436
## Rsbn1         -0.1736621520
## Cbx5          -0.1660445441
## Ap2s1          0.1617612851
## D5Ertd579e    -0.1592336246
## Nup153        -0.1570236034
## Trim56        -0.1543989124
## Gba            0.1506085377
## Dpy19l4       -0.1464539568
## Prpf4b        -0.1450915091
## Tstd2         -0.1410508599
## Mrps15         0.1382885517
## Elob           0.1352278084
## Ankrd54        0.1344095002
## Proser1       -0.1339533316
## Lnpep         -0.1329709933
## Prpf39        -0.1323396129
## Zfp862-ps     -0.1308050332
## Hdac4         -0.1306807993
## Rbm42          0.1300684079
## Slc2a4rg-ps   -0.1253078584
## Exosc6         0.1251868627
## Ctsz           0.1237938498
## Mef2a         -0.1215504254
## Sprtn         -0.1210187860
## Itsn2         -0.1197256306
## Tpgs1          0.1186051460
## 4632415L05Rik -0.1173497624
## Pfas          -0.1165336611
## Cdk2ap2        0.1152510629
## Rpl29          0.1125759985
## Zfp664        -0.1052593435
## Synj1         -0.1004985562
## Coa3           0.0952918296
## Ube2m          0.0949694424
## Napa           0.0933781751
## Tasor2        -0.0933059775
## Clcn5         -0.0923510083
## Ddx5          -0.0921339454
## Sbf2          -0.0895947666
## 2210016F16Rik  0.0873301416
## Taf10          0.0840220507
## Nrgn           0.0838983984
## Cib1           0.0828844086
## Trir           0.0828607765
## Snrpa          0.0816026457
## Tnfrsf14      -0.0801961470
## Smim11         0.0800585907
## Fam185a       -0.0737729044
## Dctn3          0.0704085507
## Cfdp1          0.0692526432
## Gemin5        -0.0654196669
## Sigirr         0.0643780284
## Nudt22         0.0633960916
## Mydgf          0.0606409702
## Snx3           0.0551419337
## Hars           0.0513505637
## Tmem238        0.0511158013
## Wdr55          0.0495776905
## Siah2          0.0470650968
## Glb1           0.0462132251
## Mif            0.0451338044
## Rpl21          0.0443243421
## H13            0.0442097145
## Tarbp1        -0.0441722811
## Pms2          -0.0416818514
## Lbp            0.0368448387
## Tor1aip1      -0.0364047111
## Tmem37         0.0345730875
## Crb3           0.0341157142
## Usp22         -0.0340134031
## Bbx           -0.0315979900
## Fam20a         0.0310461617
## Gm10051        0.0309298199
## E130201H02Rik  0.0308185559
## Zc3h7b        -0.0301725727
## Cramp1        -0.0294149091
## Gm4755         0.0277274110
## Gbp7          -0.0261349479
## Dnajb13        0.0229154595
## Trappc5        0.0196808255
## D8Ertd738e     0.0189420420
## Trim25        -0.0185640994
## Commd9         0.0176448095
## Gm15772        0.0164978816
## Eloc           0.0157792432
## Znrd2          0.0146486734
## Gm12191        0.0139373847
## Fnbp4         -0.0132803210
## Tm6sf2         0.0095737727
## Rufy2         -0.0095659561
## Sebox          0.0079366594
## Nipal3        -0.0077824649
## Serf1          0.0072402921
## C230062I16Rik  0.0064497519
## Cda            0.0062605091
## Zc3hav1       -0.0031012548
## Gadd45gip1     0.0029978817
## Pold3          0.0028325635
## Znhit1         0.0017249452
## Slc25a23      -0.0008007010
## Fcf1           0.0005663117
#selectVar(RNAseq.spca.2comp, comp = 1)$value
#selectVar(RNAseq.spca.2comp, comp = 2)$value
#selectVar(RNAseq.spca.3comp, comp = 3)$value

# We can complement this output with plotLoadings. 
# We can see here that all coefficients are negative.
 # miRNA
plotLoadings(miRNA.spca.2comp, comp=1)

plotLoadings(miRNA.spca.2comp, comp=2)

#plotLoadings(miRNA.spca.3comp, comp=3)

 # RNAseq
plotLoadings(RNAseq.spca.2comp, comp=1)

plotLoadings(RNAseq.spca.2comp, comp=2)

#plotLoadings(RNAseq.spca.3comp, comp=3)

#Tuning Parameters
tune.pca(miRNA.trt)
tune.pca(RNAseq.trt)

### PLS(-DA): integrate two datasets measured on the same sample by extracting correlated info

# Sub-setting
miRNA.RNAseq <- data.frame(miRNA = c(45, 10), RNAseq = c(234,107))
miRNA.RNAseq
##   miRNA RNAseq
## 1    45    234
## 2    10    107
#sub-setting with trt
miRNA.RNAseq.trt <- data.frame(miRNA.trt = c(45, 10), RNAseq.trt = c(234,107))
miRNA.RNAseq.trt
##   miRNA.trt RNAseq.trt
## 1        45        234
## 2        10        107
X <- miRNA.RNAseq.trt$miRNA.trt
X
## [1] 45 10
Y <- miRNA.RNAseq.trt$RNAseq.trt
Y
## [1] 234 107
miRNA.RNAseq.matrix <- data.matrix(miRNA.RNAseq)
miRNA.RNAseq.matrix.trt <- data.matrix(miRNA.RNAseq.trt)

#cex
#BiocManager::install("cex")

#Spls
miRNA.RNAseq.spls <- spls(miRNA.matrix,RNAseq.matrix, keepX = c(45, 10), keepY = c(234,107))
miRNA.RNAseq.spls.trt <- spls(miRNA.matrix.trt,RNAseq.matrix.trt, keepX = c(45, 10), keepY = c(234,107))  
## sample plot
plotIndiv(miRNA.RNAseq.spls)    # X.label = "miRNA", Y.label = "RNAseq" 

plotIndiv(miRNA.RNAseq.spls.trt)

## variable plot
plotVar(miRNA.RNAseq.spls)       # cex = (miRAN.RNAseq = 3)?

#Customize sample plots
#plotIndiv(miRNA.RNAseq.spls, group = miRNA.RNAseq$miRNA,
#          rep.space = "XY-variate", legend = TRUE,
#          legend.title = 'EV',
#          title = 'miRNA X RNAseq: sPLS')

#PLS-DA without selection - miRNA:
miRNA.plsda.noselect <- plsda(miRNA.matrix.trt, miRNA.trt$Treatment)
plotIndiv(miRNA.plsda.noselect, legend = TRUE, 
          ellipse = TRUE, star = TRUE, title = "miRNA PLS-DA")

plotVar(miRNA.plsda.noselect, cutoff = 0.7, cex = 3)

#sPLS-DA without selection - miRNA:
miRNA.splsda.noselect <- splsda(miRNA.matrix.trt, miRNA.trt$Treatment)
plotIndiv(miRNA.splsda.noselect, legend = TRUE,
          ellipse = TRUE, star = TRUE, title = "miRNA sPLS-DA")

plotVar(miRNA.splsda.noselect, cutoff = 0.7, cex = 3)

##PLS-DA without selection - RNAseq:
#sPLS-DA without selection - RNAseq:

##SPLSDA miRNA
miRNA.splsda <- splsda(miRNA.matrix.trt, miRNA.trt$Treatment, keepX = c(45,10)) # 1 Run the method
plotIndiv(miRNA.splsda, legend = TRUE, title = 'miRNA, sPLSDA comp 1 - 2',
          legend.title = 'Treatment', ellipse = TRUE, star = TRUE)                                            # 2 Plot the samples (coloured by classes automatically)

plotVar(miRNA.splsda, cex = 3)

# Selected variables on components
selectVar(miRNA.splsda, comp = 1)
## $name
##  [1] "Treatment"       "Samples"         "mmu-miR-122-5p"  "mmu-miR-10a-3p" 
##  [5] "mmu-miR-20a-5p"  "mmu-miR-101b-3p" "mmu-miR-324-3p"  "mmu-miR-677-5p" 
##  [9] "mmu-miR-1981-3p" "mmu-miR-195a-5p" "mmu-miR-103-3p"  "mmu-miR-143-3p" 
## [13] "mmu-miR-5099"    "mmu-miR-671-5p"  "mmu-miR-30d-3p"  "mmu-miR-7a-1-3p"
## [17] "mmu-miR-503-5p"  "mmu-miR-1198-5p" "mmu-miR-127-3p"  "mmu-let-7c-5p"  
## [21] "mmu-let-7a-1-3p" "mmu-miR-27b-3p"  "mmu-miR-324-5p"  "mmu-miR-186-5p" 
## [25] "mmu-miR-21a-3p"  "mmu-miR-28a-3p"  "mmu-miR-200c-5p" "mmu-miR-152-3p" 
## [29] "mmu-miR-26a-5p"  "mmu-miR-199b-3p" "mmu-miR-200a-3p" "mmu-miR-141-5p" 
## [33] "mmu-let-7f-1-3p" "mmu-miR-185-3p"  "mmu-miR-181c-5p" "mmu-miR-31-3p"  
## [37] "mmu-miR-98-5p"   "mmu-miR-93-3p"   "mmu-miR-191-5p"  "mmu-let-7b-5p"  
## [41] "mmu-miR-141-3p"  "mmu-miR-5112"    "mmu-miR-331-5p"  "mmu-miR-15a-3p" 
## [45] "mmu-miR-199a-3p"
## 
## $value
##                    value.var
## Treatment       -0.429095323
## Samples         -0.404597919
## mmu-miR-122-5p   0.236527565
## mmu-miR-10a-3p  -0.216743623
## mmu-miR-20a-5p   0.214106465
## mmu-miR-101b-3p  0.210796600
## mmu-miR-324-3p   0.192964591
## mmu-miR-677-5p   0.185508315
## mmu-miR-1981-3p  0.173732565
## mmu-miR-195a-5p -0.172657511
## mmu-miR-103-3p   0.162394246
## mmu-miR-143-3p   0.157704508
## mmu-miR-5099     0.154179185
## mmu-miR-671-5p   0.142408356
## mmu-miR-30d-3p  -0.140646383
## mmu-miR-7a-1-3p  0.129946849
## mmu-miR-503-5p   0.128966045
## mmu-miR-1198-5p  0.118436935
## mmu-miR-127-3p   0.117802159
## mmu-let-7c-5p   -0.116395833
## mmu-let-7a-1-3p -0.115376894
## mmu-miR-27b-3p   0.112325617
## mmu-miR-324-5p  -0.109223593
## mmu-miR-186-5p   0.104191774
## mmu-miR-21a-3p   0.100805058
## mmu-miR-28a-3p   0.100420472
## mmu-miR-200c-5p -0.098175681
## mmu-miR-152-3p   0.086891789
## mmu-miR-26a-5p   0.085936121
## mmu-miR-199b-3p -0.082688499
## mmu-miR-200a-3p -0.081772479
## mmu-miR-141-5p  -0.078915038
## mmu-let-7f-1-3p  0.066621207
## mmu-miR-185-3p   0.065957171
## mmu-miR-181c-5p -0.064099594
## mmu-miR-31-3p   -0.061735748
## mmu-miR-98-5p    0.054749366
## mmu-miR-93-3p    0.041048018
## mmu-miR-191-5p  -0.038856724
## mmu-let-7b-5p   -0.023616680
## mmu-miR-141-3p  -0.020256165
## mmu-miR-5112    -0.010480702
## mmu-miR-331-5p  -0.004304701
## mmu-miR-15a-3p  -0.002098283
## mmu-miR-199a-3p -0.001149732
## 
## $comp
## [1] 1
selectVar(miRNA.splsda, comp = 1)$name
##  [1] "Treatment"       "Samples"         "mmu-miR-122-5p"  "mmu-miR-10a-3p" 
##  [5] "mmu-miR-20a-5p"  "mmu-miR-101b-3p" "mmu-miR-324-3p"  "mmu-miR-677-5p" 
##  [9] "mmu-miR-1981-3p" "mmu-miR-195a-5p" "mmu-miR-103-3p"  "mmu-miR-143-3p" 
## [13] "mmu-miR-5099"    "mmu-miR-671-5p"  "mmu-miR-30d-3p"  "mmu-miR-7a-1-3p"
## [17] "mmu-miR-503-5p"  "mmu-miR-1198-5p" "mmu-miR-127-3p"  "mmu-let-7c-5p"  
## [21] "mmu-let-7a-1-3p" "mmu-miR-27b-3p"  "mmu-miR-324-5p"  "mmu-miR-186-5p" 
## [25] "mmu-miR-21a-3p"  "mmu-miR-28a-3p"  "mmu-miR-200c-5p" "mmu-miR-152-3p" 
## [29] "mmu-miR-26a-5p"  "mmu-miR-199b-3p" "mmu-miR-200a-3p" "mmu-miR-141-5p" 
## [33] "mmu-let-7f-1-3p" "mmu-miR-185-3p"  "mmu-miR-181c-5p" "mmu-miR-31-3p"  
## [37] "mmu-miR-98-5p"   "mmu-miR-93-3p"   "mmu-miR-191-5p"  "mmu-let-7b-5p"  
## [41] "mmu-miR-141-3p"  "mmu-miR-5112"    "mmu-miR-331-5p"  "mmu-miR-15a-3p" 
## [45] "mmu-miR-199a-3p"
selectVar(miRNA.splsda, comp = 2)$name
##  [1] "Treatment"       "Samples"         "mmu-miR-677-5p"  "mmu-miR-30a-5p" 
##  [5] "mmu-miR-30d-3p"  "mmu-miR-5112"    "mmu-miR-30e-3p"  "mmu-miR-27a-3p" 
##  [9] "mmu-miR-26a-5p"  "mmu-miR-3065-5p"
##SPLSDA RNAseq
RNAseq.splsda <- splsda(RNAseq.matrix.trt, RNAseq.trt$Treatment, keepX = c(234,107)) # 1 Run the method
plotIndiv(RNAseq.splsda, legend = TRUE, title = 'RNAseq, sPLSDA comp 1 - 2',
          legend.title = 'Treatment', ellipse = TRUE, star = TRUE)

plotVar(RNAseq.splsda, cex = 3)

# Selected variables on components
selectVar(RNAseq.splsda, comp = 1)
## $name
##   [1] "Gba"           "Foxred2"       "Tor1aip1"      "Trim56"       
##   [5] "Odf2"          "Taf10"         "Trappc5"       "Fxn"          
##   [9] "Dxo"           "Heatr6"        "Sigirr"        "Commd9"       
##  [13] "Cenpj"         "Napa"          "Ube2m"         "Clptm1"       
##  [17] "Nipal3"        "Gm10051"       "Hars"          "Smim11"       
##  [21] "Tmem37"        "Ccdc77"        "Eefsec"        "Mrps15"       
##  [25] "Mif"           "Slc12a6"       "Mbd3"          "Llph"         
##  [29] "Gm53175"       "Sprtn"         "Pms2"          "Gm4755"       
##  [33] "D330050I16Rik" "Cep63"         "Gpr107"        "Cdk2ap2"      
##  [37] "Cramp1"        "Alms1"         "Qpctl"         "Trappc1"      
##  [41] "Znhit1"        "Med7"          "Tmem238"       "Serf1"        
##  [45] "Coa3"          "Usp1"          "Emc3"          "Gemin5"       
##  [49] "Rsbn1"         "Foxa2"         "4632415L05Rik" "Ap2s1"        
##  [53] "Rpl21"         "Fam20a"        "Lztr1"         "Zfp862-ps"    
##  [57] "Pcgf3"         "Dctn3"         "Pals2"         "Zfp664"       
##  [61] "Slc2a4rg-ps"   "Zup1"          "Arpc1a"        "H13"          
##  [65] "Mydgf"         "Asns"          "Inhbc"         "Saa3"         
##  [69] "2210016F16Rik" "Foxq1"         "Rpn1"          "Alg14"        
##  [73] "Pfas"          "Ifih1"         "Gadd45gip1"    "Zc3hav1"      
##  [77] "Gbp7"          "Tstd2"         "Ddx5"          "Adar"         
##  [81] "Rfng"          "Mogs"          "Rbm42"         "Tnks"         
##  [85] "Gorasp2"       "Gm3219"        "Snrpa"         "Ppp2r5c"      
##  [89] "Sap30l"        "Itsn2"         "Mea1"          "Slc20a1"      
##  [93] "Ift88"         "Lypla2"        "Sec11c"        "Vegfb"        
##  [97] "Glb1"          "Hapln4"        "C230062I16Rik" "Tfg"          
## [101] "Synj1"         "Emc10"         "Fam162a"       "Elob"         
## [105] "Tarbp1"        "Map1lc3a"      "Nup153"        "Ggh"          
## [109] "Synj2"         "Myl6b"         "Kdelr1"        "Clcn5"        
## [113] "Ddx60"         "Hras"          "Rpl29"         "Nr2f6"        
## [117] "Dnajc12"       "Fgfr3"         "Memo1"         "Keap1"        
## [121] "Parp12"        "Brme1"         "Ndufv3"        "Znrd2"        
## [125] "Cbx5"          "Fcf1"          "Snora65"       "Cntf"         
## [129] "Eif3i"         "Nsun4"         "Ubqln4"        "Trir"         
## [133] "Saysd1"        "Cib1"          "Slc4a11"       "Myg1"         
## [137] "Fnbp4"         "Tsen34"        "Hgf"           "Mrps11"       
## [141] "Frat1"         "9230114K14Rik" "Spg20"         "Pcdhb16"      
## [145] "Ankrd54"       "9330159M07Rik" "Rnasek"        "Tpgs1"        
## [149] "Orai1"         "Exosc6"        "Snx3"          "Lrrc9"        
## [153] "Trim25"        "Gltpd2"        "Wrnip1"        "Dhrs3"        
## [157] "Dhps"          "Tmem160"       "Rasa3"         "Dgkd"         
## [161] "Tasor2"        "Macroh2a1"     "Sbf2"          "Timm17b"      
## [165] "Lbp"           "Wdr55"         "Tm6sf2"        "Slc17a1"      
## [169] "Hadhb"         "Nfyc"          "Ocel1"         "D5Ertd579e"   
## [173] "Dpy19l4"       "2310034O05Rik" "D8Ertd738e"    "Proser1"      
## [177] "Cltb"          "Rnaseh2c"      "Tchh"          "1110065P20Rik"
## [181] "Slc22a26"      "Ripor3"        "Eloc"          "Abhd11"       
## [185] "Usp22"         "Cops8"         "Blvrb"         "Nudt22"       
## [189] "Lrrfip1"       "Gbp3"          "Patj"          "Thnsl1"       
## [193] "Polr1a"        "Wdr12"         "H2bc4"         "Gal3st4"      
## [197] "Rgs18"         "Tnfrsf14"      "Rnf7"          "H2-T10"       
## [201] "Zfp182"        "Vmo1"          "Nop16"         "Epn1"         
## [205] "Nsmaf"         "Alkbh8"        "1810024B03Rik" "Adam10"       
## [209] "Ddb2"          "Gaa"           "Kctd20"        "Clca3a2"      
## [213] "Ergic3"        "Uchl5"         "Cwc15"         "Siah2"        
## [217] "Slfn9"         "Slc25a2"       "Tuba4a"        "Atp5g1"       
## [221] "Rin3"          "Rps6ka3"       "Guk1"          "Cdk10"        
## [225] "Nsmce3"        "Ldha"          "Selenow"       "Ralb"         
## [229] "Klra3"         "Smpd1"         "Ppp5c"         "Plpp6"        
## [233] "Lnpep"         "Kif3b"        
## 
## $value
##                   value.var
## Gba           -0.1862611107
## Foxred2        0.1612198661
## Tor1aip1       0.1563358525
## Trim56         0.1477039971
## Odf2           0.1476512720
## Taf10         -0.1379223503
## Trappc5       -0.1357998896
## Fxn           -0.1351971727
## Dxo           -0.1350427765
## Heatr6         0.1337182625
## Sigirr        -0.1329662533
## Commd9        -0.1327398837
## Cenpj          0.1295053386
## Napa          -0.1264161290
## Ube2m         -0.1252182580
## Clptm1        -0.1245909548
## Nipal3         0.1191402522
## Gm10051       -0.1164963236
## Hars          -0.1146442218
## Smim11        -0.1145083082
## Tmem37        -0.1135324415
## Ccdc77         0.1088234231
## Eefsec        -0.1086050621
## Mrps15        -0.1078886066
## Mif           -0.1062356380
## Slc12a6        0.1054247415
## Mbd3          -0.1046836992
## Llph          -0.1040511217
## Gm53175        0.1039917565
## Sprtn          0.1039402630
## Pms2           0.1031790551
## Gm4755        -0.1028703149
## D330050I16Rik -0.1028674038
## Cep63         -0.1007460004
## Gpr107         0.1006381123
## Cdk2ap2       -0.0991862432
## Cramp1         0.0986403920
## Alms1          0.0958736573
## Qpctl         -0.0936896171
## Trappc1       -0.0929475699
## Znhit1        -0.0915410637
## Med7          -0.0906999823
## Tmem238       -0.0906419265
## Serf1         -0.0902188988
## Coa3          -0.0897361574
## Usp1           0.0884459684
## Emc3          -0.0884299959
## Gemin5         0.0877580425
## Rsbn1          0.0867047375
## Foxa2         -0.0864586604
## 4632415L05Rik  0.0834510812
## Ap2s1         -0.0818466758
## Rpl21         -0.0817563404
## Fam20a        -0.0799365643
## Lztr1          0.0794123973
## Zfp862-ps      0.0776571479
## Pcgf3          0.0776454869
## Dctn3         -0.0758286470
## Pals2         -0.0754423768
## Zfp664         0.0745328377
## Slc2a4rg-ps    0.0742583629
## Zup1           0.0736145105
## Arpc1a        -0.0735162393
## H13           -0.0730522259
## Mydgf         -0.0729551168
## Asns          -0.0724083737
## Inhbc         -0.0722127968
## Saa3          -0.0721008754
## 2210016F16Rik -0.0719038757
## Foxq1         -0.0718447600
## Rpn1          -0.0698301176
## Alg14         -0.0686682571
## Pfas           0.0680990796
## Ifih1          0.0668914068
## Gadd45gip1    -0.0667849863
## Zc3hav1        0.0657665082
## Gbp7           0.0657605545
## Tstd2          0.0653173000
## Ddx5           0.0644131534
## Adar           0.0633450209
## Rfng          -0.0619331603
## Mogs          -0.0618881790
## Rbm42         -0.0618567943
## Tnks           0.0609911982
## Gorasp2       -0.0608491401
## Gm3219        -0.0606795473
## Snrpa         -0.0605481485
## Ppp2r5c       -0.0595267894
## Sap30l        -0.0577536213
## Itsn2          0.0575330266
## Mea1          -0.0571878774
## Slc20a1        0.0558138170
## Ift88          0.0557507107
## Lypla2        -0.0557385174
## Sec11c        -0.0552270871
## Vegfb         -0.0551558872
## Glb1          -0.0550146488
## Hapln4        -0.0543251357
## C230062I16Rik -0.0539673840
## Tfg           -0.0528254200
## Synj1          0.0521008080
## Emc10         -0.0517375784
## Fam162a       -0.0512626443
## Elob          -0.0507468391
## Tarbp1         0.0502655250
## Map1lc3a      -0.0500445295
## Nup153         0.0492963856
## Ggh           -0.0487725881
## Synj2          0.0487379914
## Myl6b         -0.0485738311
## Kdelr1        -0.0477508821
## Clcn5          0.0471127893
## Ddx60          0.0470866413
## Hras          -0.0470037954
## Rpl29         -0.0465932372
## Nr2f6         -0.0454704773
## Dnajc12       -0.0451611817
## Fgfr3          0.0451532858
## Memo1         -0.0450056100
## Keap1         -0.0445148017
## Parp12         0.0432668655
## Brme1          0.0432309119
## Ndufv3        -0.0428136002
## Znrd2         -0.0425311592
## Cbx5           0.0423768972
## Fcf1          -0.0422067853
## Snora65        0.0415499613
## Cntf          -0.0407284109
## Eif3i         -0.0387528020
## Nsun4         -0.0384363970
## Ubqln4        -0.0383572061
## Trir          -0.0377651493
## Saysd1        -0.0375205083
## Cib1          -0.0374331513
## Slc4a11        0.0366834655
## Myg1          -0.0366061356
## Fnbp4          0.0361232864
## Tsen34        -0.0359580335
## Hgf            0.0342111534
## Mrps11        -0.0329194578
## Frat1         -0.0316641186
## 9230114K14Rik  0.0307008199
## Spg20         -0.0305901316
## Pcdhb16        0.0300197483
## Ankrd54       -0.0298668348
## 9330159M07Rik  0.0297921855
## Rnasek        -0.0291430678
## Tpgs1         -0.0289410063
## Orai1         -0.0285380838
## Exosc6        -0.0282872159
## Snx3          -0.0281238856
## Lrrc9          0.0276386065
## Trim25         0.0274596001
## Gltpd2        -0.0274500516
## Wrnip1        -0.0272862649
## Dhrs3         -0.0272258121
## Dhps          -0.0269607005
## Tmem160       -0.0260300934
## Rasa3          0.0256191294
## Dgkd           0.0253367626
## Tasor2         0.0249398384
## Macroh2a1     -0.0248995071
## Sbf2           0.0247812907
## Timm17b       -0.0247399560
## Lbp           -0.0240102311
## Wdr55         -0.0239205515
## Tm6sf2        -0.0236476642
## Slc17a1       -0.0233936203
## Hadhb         -0.0232620011
## Nfyc          -0.0232289310
## Ocel1         -0.0222444566
## D5Ertd579e     0.0217330010
## Dpy19l4        0.0214021052
## 2310034O05Rik  0.0212903781
## D8Ertd738e    -0.0208807204
## Proser1        0.0199407292
## Cltb          -0.0193328778
## Rnaseh2c      -0.0189006025
## Tchh           0.0174210244
## 1110065P20Rik -0.0173753408
## Slc22a26      -0.0170427901
## Ripor3         0.0168772997
## Eloc          -0.0167957667
## Abhd11        -0.0166498095
## Usp22          0.0166112166
## Cops8         -0.0164488305
## Blvrb         -0.0149071576
## Nudt22        -0.0145224301
## Lrrfip1        0.0144318376
## Gbp3           0.0142776523
## Patj           0.0136853102
## Thnsl1         0.0135013446
## Polr1a         0.0129985749
## Wdr12         -0.0127830259
## H2bc4         -0.0127528375
## Gal3st4        0.0127071789
## Rgs18          0.0126818967
## Tnfrsf14       0.0122875975
## Rnf7          -0.0120523773
## H2-T10         0.0110382630
## Zfp182         0.0108547531
## Vmo1          -0.0107782498
## Nop16         -0.0100588076
## Epn1          -0.0095123307
## Nsmaf          0.0090161567
## Alkbh8         0.0083170855
## 1810024B03Rik -0.0078418371
## Adam10         0.0075588785
## Ddb2           0.0070027579
## Gaa           -0.0069689014
## Kctd20         0.0069278876
## Clca3a2        0.0069220888
## Ergic3        -0.0068550774
## Uchl5         -0.0066669459
## Cwc15         -0.0063512270
## Siah2         -0.0060655698
## Slfn9          0.0056338741
## Slc25a2       -0.0052168635
## Tuba4a        -0.0050606643
## Atp5g1        -0.0049790001
## Rin3          -0.0048487064
## Rps6ka3        0.0044395312
## Guk1          -0.0042616555
## Cdk10         -0.0041387830
## Nsmce3        -0.0039807623
## Ldha          -0.0039767001
## Selenow       -0.0035423925
## Ralb           0.0022496849
## Klra3          0.0010291570
## Smpd1         -0.0010268018
## Ppp5c         -0.0010110232
## Plpp6         -0.0004858471
## Lnpep          0.0003617761
## Kif3b          0.0002468642
## 
## $comp
## [1] 1
selectVar(RNAseq.splsda, comp = 1)$name
##   [1] "Gba"           "Foxred2"       "Tor1aip1"      "Trim56"       
##   [5] "Odf2"          "Taf10"         "Trappc5"       "Fxn"          
##   [9] "Dxo"           "Heatr6"        "Sigirr"        "Commd9"       
##  [13] "Cenpj"         "Napa"          "Ube2m"         "Clptm1"       
##  [17] "Nipal3"        "Gm10051"       "Hars"          "Smim11"       
##  [21] "Tmem37"        "Ccdc77"        "Eefsec"        "Mrps15"       
##  [25] "Mif"           "Slc12a6"       "Mbd3"          "Llph"         
##  [29] "Gm53175"       "Sprtn"         "Pms2"          "Gm4755"       
##  [33] "D330050I16Rik" "Cep63"         "Gpr107"        "Cdk2ap2"      
##  [37] "Cramp1"        "Alms1"         "Qpctl"         "Trappc1"      
##  [41] "Znhit1"        "Med7"          "Tmem238"       "Serf1"        
##  [45] "Coa3"          "Usp1"          "Emc3"          "Gemin5"       
##  [49] "Rsbn1"         "Foxa2"         "4632415L05Rik" "Ap2s1"        
##  [53] "Rpl21"         "Fam20a"        "Lztr1"         "Zfp862-ps"    
##  [57] "Pcgf3"         "Dctn3"         "Pals2"         "Zfp664"       
##  [61] "Slc2a4rg-ps"   "Zup1"          "Arpc1a"        "H13"          
##  [65] "Mydgf"         "Asns"          "Inhbc"         "Saa3"         
##  [69] "2210016F16Rik" "Foxq1"         "Rpn1"          "Alg14"        
##  [73] "Pfas"          "Ifih1"         "Gadd45gip1"    "Zc3hav1"      
##  [77] "Gbp7"          "Tstd2"         "Ddx5"          "Adar"         
##  [81] "Rfng"          "Mogs"          "Rbm42"         "Tnks"         
##  [85] "Gorasp2"       "Gm3219"        "Snrpa"         "Ppp2r5c"      
##  [89] "Sap30l"        "Itsn2"         "Mea1"          "Slc20a1"      
##  [93] "Ift88"         "Lypla2"        "Sec11c"        "Vegfb"        
##  [97] "Glb1"          "Hapln4"        "C230062I16Rik" "Tfg"          
## [101] "Synj1"         "Emc10"         "Fam162a"       "Elob"         
## [105] "Tarbp1"        "Map1lc3a"      "Nup153"        "Ggh"          
## [109] "Synj2"         "Myl6b"         "Kdelr1"        "Clcn5"        
## [113] "Ddx60"         "Hras"          "Rpl29"         "Nr2f6"        
## [117] "Dnajc12"       "Fgfr3"         "Memo1"         "Keap1"        
## [121] "Parp12"        "Brme1"         "Ndufv3"        "Znrd2"        
## [125] "Cbx5"          "Fcf1"          "Snora65"       "Cntf"         
## [129] "Eif3i"         "Nsun4"         "Ubqln4"        "Trir"         
## [133] "Saysd1"        "Cib1"          "Slc4a11"       "Myg1"         
## [137] "Fnbp4"         "Tsen34"        "Hgf"           "Mrps11"       
## [141] "Frat1"         "9230114K14Rik" "Spg20"         "Pcdhb16"      
## [145] "Ankrd54"       "9330159M07Rik" "Rnasek"        "Tpgs1"        
## [149] "Orai1"         "Exosc6"        "Snx3"          "Lrrc9"        
## [153] "Trim25"        "Gltpd2"        "Wrnip1"        "Dhrs3"        
## [157] "Dhps"          "Tmem160"       "Rasa3"         "Dgkd"         
## [161] "Tasor2"        "Macroh2a1"     "Sbf2"          "Timm17b"      
## [165] "Lbp"           "Wdr55"         "Tm6sf2"        "Slc17a1"      
## [169] "Hadhb"         "Nfyc"          "Ocel1"         "D5Ertd579e"   
## [173] "Dpy19l4"       "2310034O05Rik" "D8Ertd738e"    "Proser1"      
## [177] "Cltb"          "Rnaseh2c"      "Tchh"          "1110065P20Rik"
## [181] "Slc22a26"      "Ripor3"        "Eloc"          "Abhd11"       
## [185] "Usp22"         "Cops8"         "Blvrb"         "Nudt22"       
## [189] "Lrrfip1"       "Gbp3"          "Patj"          "Thnsl1"       
## [193] "Polr1a"        "Wdr12"         "H2bc4"         "Gal3st4"      
## [197] "Rgs18"         "Tnfrsf14"      "Rnf7"          "H2-T10"       
## [201] "Zfp182"        "Vmo1"          "Nop16"         "Epn1"         
## [205] "Nsmaf"         "Alkbh8"        "1810024B03Rik" "Adam10"       
## [209] "Ddb2"          "Gaa"           "Kctd20"        "Clca3a2"      
## [213] "Ergic3"        "Uchl5"         "Cwc15"         "Siah2"        
## [217] "Slfn9"         "Slc25a2"       "Tuba4a"        "Atp5g1"       
## [221] "Rin3"          "Rps6ka3"       "Guk1"          "Cdk10"        
## [225] "Nsmce3"        "Ldha"          "Selenow"       "Ralb"         
## [229] "Klra3"         "Smpd1"         "Ppp5c"         "Plpp6"        
## [233] "Lnpep"         "Kif3b"
selectVar(RNAseq.splsda, comp = 2)$name
##   [1] "Treatment"     "Samples"       "Zfp28"         "Gper1"        
##   [5] "Hdac4"         "Nyap1"         "Sike1"         "Prpf38a"      
##   [9] "Ndufb4c"       "Pax6"          "Plpp6"         "Fam47e"       
##  [13] "E130201H02Rik" "Prss8"         "Yars"          "Dnajb13"      
##  [17] "Ezh1"          "Ybx1"          "Vegfb"         "Thnsl1"       
##  [21] "Serf1"         "Btd"           "Kctd20"        "Mir3061"      
##  [25] "Llph"          "Ralb"          "Ccl27a"        "Dgkd"         
##  [29] "Tnfrsf14"      "Gal3st4"       "Mbtps2"        "Rufy2"        
##  [33] "Gps1"          "Cops8"         "Arpc1a"        "Foxa1"        
##  [37] "Pold3"         "Tmem72"        "Gm2614"        "Rpgrip1l"     
##  [41] "Dpm2"          "Zdhhc12"       "Sntb2"         "Cpn1"         
##  [45] "Veph1"         "Gm4755"        "Glg1"          "Zfp712"       
##  [49] "Macroh2a1"     "Mrps11"        "Tmem267"       "Tmem238"      
##  [53] "Scn3a"         "Pacs2"         "2310061I04Rik" "1810024B03Rik"
##  [57] "Tomm6"         "1700123O20Rik" "H13"           "Rfwd3"        
##  [61] "Fahd1"         "Nprl2"         "F2r"           "Caprin2"      
##  [65] "Dxo"           "B3gat3"        "Katnb1"        "Ildr1"        
##  [69] "Dusp28"        "Mcu"           "Lactb"         "Pdlim2"       
##  [73] "Crb3"          "Slc25a23"      "Dhrs3"         "Cda"          
##  [77] "Tarbp1"        "Ccne1"         "Pik3ap1"       "Nipal3"       
##  [81] "Plekhg2"       "Ctsz"          "Ptpn14"        "Tmem259"      
##  [85] "Tubgcp2"       "Cdk5rap2"      "Wrnip1"        "Klhdc8b"      
##  [89] "Ccdc77"        "Zbtb46"        "Taf1b"         "Ndufs7"       
##  [93] "Bmp2"          "Mospd3"        "Pak2"          "Rbm43"        
##  [97] "Tab1"          "Cyp4b1"        "Zpr1"          "Gsto1"        
## [101] "Nrgn"          "Nsmce3"        "Ccdc146"       "Bbx"          
## [105] "Timm17b"       "Gbp7"          "Gaa"
#SPLSDA miRNA&RNAseq
#miRNA.RNAseq.splsda <- splsda(miRNA.RNAseq.matrix.trt, miRNA.trt$Treatment, RNAseq.trt$Treatment, 
#                              keepX = c(45, 10), keepY = c(234,107)) # 1 Run the method
#plotIndiv(miRNA.splsda, legend = TRUE, title = 'RNAseq, sPLSDA comp 1 - 2',
#         legend.title = 'Treatment')

#Background miRNA
background.miRNA <- background.predict(miRNA.splsda, comp.predicted=2,
                                 dist = "max.dist") 
plotIndiv(miRNA.splsda, comp = 1:2, group = miRNA.trt$Treatment,
          ind.names = FALSE, title = "miRNA Maximum distance",
          legend = TRUE,  background = background.miRNA)

#Background RNAseq
background.RNAseq <- background.predict(RNAseq.splsda, comp.predicted=2,
                                 dist = "max.dist") 
plotIndiv(miRNA.splsda, comp = 1:2, group = RNAseq.trt$Treatment,
          ind.names = FALSE, title = "RNAseq Maximum distance",
          legend = TRUE,  background = background.RNAseq)

#