首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将GRanges对象查询为可以再次查询的对象?

如何将GRanges对象查询为可以再次查询的对象?
EN

Stack Overflow用户
提问于 2021-12-13 20:32:59
回答 1查看 30关注 0票数 0

“我加载了一个从Gencode创建的TxDb对象,并对其外显子进行了查询,然后使用lapply从每个具有>1个外显子的记录中获取所有的最后外显子:

代码语言:javascript
运行
复制
#Load db:
Gencode <- loadDb("gencode.v39.basic.annotation.sqlite")

#Exons by transcript
Exons <- exonsBy(Gencode, by = "tx", use.names=TRUE)

#Get Exon Counts
ExonCount <- as.data.frame(elementNROWS(Exons))

#Get the last exon for every transcript
lapply(1:nrow(ExonCount), function(x) Exons[[x]][ExonCount$`elementNROWS(Exons)`[x]])

接下来,我想对这些范围执行操作。比如shift()或者其他任何东西。然而,我得到了一个警告:

(函数(类、fdef、mtable)中的

错误:无法找到用于签名“list”的函数“调整大小”的继承方法

我的问题是,如何将这个对象恢复到我可以用GRanges函数操作的格式?

或者,我如何才能以避免这个问题的方式获得每个转录本的最终外显子呢?

EN

回答 1

Stack Overflow用户

发布于 2021-12-13 20:32:59

我不知道如何以另一种方式查询最终外显子,但我找到了一种重新格式化lapply输出的方法:

我的尝试是将lapply()函数中的每个单独元素连接回一个GRanges对象中:

代码语言:javascript
运行
复制
  #Function to take each element in the list objects and put concatenate into a GRanges Object:

ListOfGRangesToGRangeList <- function(ListToConvert) {
  ConvertedObject <- GRangesList(ListToConvert[[1]], ListToConvert[[2]])
  for (x in 3:length(ListToConvert)){
    ConvertedObject <- GRangesList(unlist(ConvertedObject), ListToConvert[[x]])
    ConvertedObject <- unlist(ConvertedObject)
  }
  return(ConvertedObject)

代码语言:javascript
运行
复制
ListOfGRangesToGRangeList <- function(ListToConvert) {
  ConvertedObject <- c(ListToConvert[[1]], ListToConvert[[2]])
  for (x in 3:length(ListToConvert)){
    ConvertedObject <- c(ConvertedObject, ListToConvert[[x]])
  }
  return(ConvertedObject)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70340578

复制
相关文章

相似问题

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