Answers.Body: <p>Welcome to Bioinformatics Stackexchange @SD1024. A recently published algorithm known as MOFA (Multi-Omics Factor Analysis, <a href="http://msb.embopress.org/content/14/6/e8124" rel="nofollow noreferrer">paper</a>, <a href="https://github.com/bioFAM/MOFA" rel="nofollow noreferrer">github</a>) is generating a lot of interest, and is designed answer exactly the sort of biological question you are describing. It claims to extract axes from multiple matrices with overlapping samples, but not necessarily overlapping features and handle missing data elegantly. I havn't tried it myself you, but I'm quite excited to do so. </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-10T12:47:42.757Z
Answers.Text: Thanks for the suggestion. Actually, I used that package. If I have understood correctly, MOFA extracts the latent variables from individual data modality nicely but such variables do not integrate multiple modalities together. For example, If multiple Chip-Seq and CpG methylation assays are done on multiple genomic sites and across multiple patient samples/cell lines, MOFA extracts one set of latent factors for ChIP-seq and one set of latent factors for CpG methylation. It does not extract any latent factor (or a set of latent factors) that represents both the assays simultaneously.
Answers.UserDisplayName: user284
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-10T15:02:23.507Z
Answers.Text: As I say, i've not actaully used it myself, but the paper definately claims that the factors intergate multiple assays. For example, see their figure 2B, where the plot shows contributions to factor 1 from all assay types, but only contributions from drug response, mutation data and transcription (i.e. not from methylation) to factor 2
Answers.UserDisplayName: Ian Sudbery
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-14T10:06:43.777Z
Answers.Text: You are right. It is described in equation 1 of materials and method. A great help. Thanks a lot. :)
Answers.UserDisplayName: user284
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-10T09:07:12.203Z
Answers.LastActivityDate: 2018-09-10T09:07:12.203Z
Answers.UserDisplayName: Ian Sudbery
Answers.Body: <p>You can use regularized general canonical correlation analysis to cluster those matrices. I would suggest <a href="https://cran.r-project.org/package=RGCCA" rel="nofollow noreferrer">RGCCA</a>, which allows to do this for an arbitrary number of matrices but it  doesn't use kernels. 
  There has been some efforts to use kernels on the canonical correlation analysis but there isn't any implementation (yet), you can read more on the related literature, specially the <a href="https://hal-supelec.archives-ouvertes.fr/file/index/docid/553602/filename/JDS2010.pdf" rel="nofollow noreferrer">Kernel Generalized Canonical Correlation Analysis</a>.</p>
  
  <p>However in this kind of analysis you will need to come up with a design of how those matrices are related between them. It is not like a PCA where you give some data and you get some data back that summarize the matrix. </p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-09-10T08:28:03.350Z
Answers.LastActivityDate: 2018-09-10T08:28:03.350Z
Answers.UserDisplayName: llrs
Body: <p>I have multiple large sample datasets in matrix format (each has 15000 rows and 5-50 columns) corresponding to different experiments. Each matrix contains the same number of samples(rows) but the variables(columns) are not the same. My objective is to cluster the samples on the basis of all the experiments.</p>
  
  <p>I tried to use Unsupervised multiple kernel learning (UMKL) to integrate the datasets followed by kernelPCA using "mixkernel" package in R (<a href="https://www.ncbi.nlm.nih.gov/pubmed/29077792" rel="nofollow noreferrer">https://www.ncbi.nlm.nih.gov/pubmed/29077792</a>). The UMKL step calculates kernels for each dataset and combines the kernels using 3 different approaches: 1) calculating a consensus kernel from multiple kernels 2) calculating a sparse kernel preserving the original topology of the data 3) calculating a full kernel preserving the original topology of the data</p>
  
  <p>The kernel calculation step was fine but the kernel integration step (all 3 approaches) runs very long and my computer hangs.</p>
  
  <p>Is there any way to handle this problem? More specifically, is there any way to handle multiple kernel integration for large sample datasets?</p>
  
  <p>Any suggestion alternative to using kernel methods will also work.</p>
  
Tags: <r><clustering><multi-omics>
Title: How to combine multiple kernels of large sample datasets?
ThreadText: # How to combine multiple kernels of large sample datasets?
  
  (Asked by: username_0 on 2018-09-09)
  
  I have multiple large sample datasets in matrix format (each has 15000 rows and 5-50 columns) corresponding to different experiments. Each matrix contains the same number of samples(rows) but the variables(columns) are not the same. My objective is to cluster the samples on the basis of all the experiments.
  
  I tried to use Unsupervised multiple kernel learning (UMKL) to integrate the datasets followed by kernelPCA using "mixkernel" package in R (<https://www.ncbi.nlm.nih.gov/pubmed/29077792>). The UMKL step calculates kernels for each dataset and combines the kernels using 3 different approaches: 1) calculating a consensus kernel from multiple kernels 2) calculating a sparse kernel preserving the original topology of the data 3) calculating a full kernel preserving the original topology of the data
  
  The kernel calculation step was fine but the kernel integration step (all 3 approaches) runs very long and my computer hangs.
  
  Is there any way to handle this problem? More specifically, is there any way to handle multiple kernel integration for large sample datasets?
  
  Any suggestion alternative to using kernel methods will also work.
  
  **Tags:** r, clustering, multi-omics
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2018-09-10. Score: 1
  
  Welcome to Bioinformatics Stackexchange @SD1024. A recently published algorithm known as MOFA (Multi-Omics Factor Analysis, [paper](http://msb.embopress.org/content/14/6/e8124), [github](https://github.com/bioFAM/MOFA)) is generating a lot of interest, and is designed answer exactly the sort of biological question you are describing. It claims to extract axes from multiple matrices with overlapping samples, but not necessarily overlapping features and handle missing data elegantly. I havn't tried it myself you, but I'm quite excited to do so.
  
  > **Comments:**
  > **username_0**: Thanks for the suggestion. Actually, I used that package. If I have understood correctly, MOFA extracts the latent variables from individual data modality nicely but such variables do not integrate multiple modalities together. For example, If multiple Chip-Seq and CpG methylation assays are done on multiple genomic sites and across multiple patient samples/cell lines, MOFA extracts one set of latent factors for ChIP-seq and one set of latent factors for CpG methylation. It does not extract any latent factor (or a set of latent factors) that represents both the assays simultaneously.  
  > **username_1**: As I say, i've not actaully used it myself, but the paper definately claims that the factors intergate multiple assays. For example, see their figure 2B, where the plot shows contributions to factor 1 from all assay types, but only contributions from drug response, mutation data and transcription (i.e. not from methylation) to factor 2  
  > **username_0**: You are right. It is described in equation 1 of materials and method. A great help. Thanks a lot. :)  
  
  ---
  
  ### Answer by username_2 on 2018-09-10. Score: 0
  
  You can use regularized general canonical correlation analysis to cluster those matrices. I would suggest [RGCCA](https://cran.r-project.org/package=RGCCA), which allows to do this for an arbitrary number of matrices but it doesn't use kernels.
  There has been some efforts to use kernels on the canonical correlation analysis but there isn't any implementation (yet), you can read more on the related literature, specially the [Kernel Generalized Canonical Correlation Analysis](https://hal-supelec.archives-ouvertes.fr/file/index/docid/553602/filename/JDS2010.pdf).
  
  However in this kind of analysis you will need to come up with a design of how those matrices are related between them. It is not like a PCA where you give some data and you get some data back that summarize the matrix.
  
  
  ---
  
  