Skip to content

Linseed (LINear Subspace identification for gene Expresion Deconvolution) is a package that provides tools and interface to explore gene expression datasets in linear space and perform complete gene expression deconvolution.

License

aladyeva-research/LinSeed

 
 

Repository files navigation

Linseed tutorial

Linseed (LINear Subspace identification for gene Expresion Deconvolution) is a package that provides tools and interface to explore gene expression datasets in linear space.

Installing the package

You can install the package using devtools::install_github:

devtools::install_github("ctlab/linseed")

Current build was tested using rhub:

Getting started with linseed

To start working with gene expression data, we need to create a new LinseedObject, in this tutorial we will use GSE19830 (mixture of Liver, Brain and Lung), we will take only mixed samples (10-42) and will take only 10000 most expressed genes.

library(linseed)
lo <- LinseedObject$new("GSE19830", samples=10:42, topGenes=10000)

Coolinearity networks

To build a coolinearity network we first have to evaluate all pairwise collinearity coefficients, all pairwise spearman correlation and then run significance test which will calculate p value for each each by shuffling network weights randomly.

lo$calculatePairwiseLinearity()
lo$calculateSpearmanCorrelation()
lo$calculateSignificanceLevel(100)
lo$significancePlot(0.01)

lo$filterDatasetByPval(0.01)
## Total number of genes is 10000

## The number of genes after filtering is 3297
lo$svdPlot()

To visualiaze what left after filtering we can call projection plot from our object. But we have to project the data to the simplex first.

lo$setCellTypeNumber(3)
lo$project("full") # projecting full dataset
lo$projectionPlot(color="filtered")

Deconvolution

To deconvolve the dataset, you first have to project (full or filtered dataset) to the simplex, and then find corners of it.

lo$project("filtered")
lo$smartSearchCorners(dataset="filtered", error="norm")
## Final vector is

## 4 1 5

## 
lo$deconvolveByEndpoints()
plotProportions(lo$proportions)

We can also use tSNE to haave an idea of how data looks like when dimensionally reduced.

# lets select 100 genes closest to the simplex corners 
lo$selectGenes(100)
lo$tsnePlot()

To compare with actual proportions you can use dotPlotProportions function

data("proportionsLiverBrainLung")
dotPlotPropotions(lo$proportions, proportionsLiverBrainLung[, 10:42], guess=TRUE)

About

Linseed (LINear Subspace identification for gene Expresion Deconvolution) is a package that provides tools and interface to explore gene expression datasets in linear space and perform complete gene expression deconvolution.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • R 88.2%
  • C++ 11.8%