首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >功能含义,它是如何删除零表达基因的?

功能含义,它是如何删除零表达基因的?
EN

Stack Overflow用户
提问于 2017-06-06 19:16:45
回答 1查看 68关注 0票数 0

我正在处理一个通过单细胞RNA测序获得的表达矩阵,但我有一个问题与一位伙伴发给我的R代码有关。

代码语言:javascript
复制
sort(unique(1 + slot(as(data_matrix, "dgTMatrix"), "i")))
# there isn't more details in the code...

从理论上讲,这个函数是删除未表达的基因(如果在所有样本中都是零,它认为……),但我不可能理解它,有人能给我一个提示吗?

EN

回答 1

Stack Overflow用户

发布于 2017-06-07 18:47:55

我想我已经理解了这段代码..。让我们试着解释一下!(如果我错了,请纠正我)。

我们的数据具有稀疏矩阵的结构(即。在内存方面,更方便的是使用link),而对于as,它被强制为这种矩阵的特定格式(稀疏矩阵的三元组格式,link):三列,i和j索引这些非零值。

代码语言:javascript
复制
y <- matrix_counts   # sparse matrix        
                AAACCTGAGAACAACT-1 AAACCTGTCGGAAATA-1 AAACGGGAGAGCTGCA-1 
ENSG00000243485                  1                  .                  .                  
ENSG00000237613                  .                  .                  2

y2 <- as(y, "dgTMatrix")  #triplet format for sparse matrix
  i j x
1  9 1 1  #in row(9) and column(1) we have the value 1
2 50 1 2
3 60 1 1
4 62 1 2
5 78 1 1
6 87 1 1

之后,它只需要列"i“(slot(data, "i")),因为我们只需要行索引(以了解哪些行与零不同),并删除重复项(unique),以最终获得具有行索引的向量,该向量将用于过滤原始数据:

代码语言:javascript
复制
y3 <- unique(1 + slot(as(exprs(gbm), "dgTMatrix"), "i"))
[1]  9 50 60 62 78 87
data <- data_raw[y3,]

我对sort1+有点困惑,但我认为这是基本概念。因此,总而言之,我们从这个非零行(基因)中提取行索引,并使用它来过滤我们的原始数据...另一种删除未表达基因的原创方法,很有趣!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44388583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档