首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何动态创建空白GRanges?

如何动态创建空白GRanges?
EN

Stack Overflow用户
提问于 2018-01-10 03:50:29
回答 1查看 643关注 0票数 1

我希望创建一个空白的GRanges (来自package GenomicRanges)对象dynamicall。

如果我们有两个替代选项,opt1和opt2,我们可以静态地编写如下:

代码语言:javascript
复制
library(GenomicRanges)
GRanges(seqnames=NULL,ranges=NULL,strand=NULL, opt1=NULL, opt2=NULL)

问题是“如何动态创建GRanges对象?”或者更具体地说,“是否可以使用以下functionXX?”:

代码语言:javascript
复制
opts=c('opt1','opt2','opt3')
#' dynamic create blank GRanges with optional fields
#' @param opts, a vector containing the colnames of "mcols" of GRanges object
#' @return  blank GRanges object
functionXX<-function(opts){
   //todo:
}

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-10 05:42:10

只有列名是不够的,每个字段都应该具有定义的数据类型。

以下是解决办法:

代码语言:javascript
复制
opts=c('opt1','opt2','opt3')   
tp=list(character(),character(),character())   
functionXXX<-function(opts,tp){
    names(tp)=opts
    df=do.call(data.frame,tp)
    gr=GRanges(c(seqnames=NULL,ranges=NULL,strand=NULL)) 
    mcols(gr)=df
    gr
  }
functionXXX(opts,tp)
#GRanges object with 0 ranges and 3 metadata columns:
# seqnames    ranges strand |        opt1        opt2        opt3
#  <Rle> <IRanges>  <Rle> | <character> <character> <character>
#-------
#seqinfo: no sequences
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48180032

复制
相关文章

相似问题

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