首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在R中导出重叠的GRanges对象作为新的床文件?

如何在R中导出重叠的GRanges对象作为新的床文件?
EN

Stack Overflow用户
提问于 2016-01-12 15:40:07
回答 1查看 3.4K关注 0票数 0

我已经使用findOverlaps(bed.1,bed.2)来获取重叠区域,现在我想将结果导出到新的床文件中,比如"xx.bed“。我怎样才能在R中做到这一点?

代码语言:javascript
复制
overlapped GRanges object with 6 ranges and 3 metadata columns: (example)

      seqnames           ranges strand |         name     score    pvalue
         <Rle>        <IRanges>  <Rle> |  <character> <numeric> <numeric>
  [1]     chr1 [ 32726,  32784]      * |  MACS_peak_7      2.06 0.3138672
  [2]     chr1 [ 52473,  52531]      * | MACS_peak_11      2.06 0.3138672
  [3]     chr1 [136387, 136469]      * | MACS_peak_32      3.40 0.5314789
  [4]     chr1 [235352, 235410]      * | MACS_peak_41      2.06 0.3138672
  [5]     chr1 [540756, 540833]      * | MACS_peak_71      6.42 0.8075350
  [6]     chr1 [636637, 636718]      * | MACS_peak_90      4.86 0.6866363

现在我想把这些导出到新的床文件中。哪个R函数能做到这一点?有什么简单的R代码可以这样做吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-10 09:33:05

让我们生成上述情况下的适当的可重复示例:

代码语言:javascript
复制
foo <- GRanges(
  seqnames=Rle(c("chr1", "chr2", "chr3", "chr4"), c(5, 6, 4, 3)),
  ranges=IRanges(seq(1, by=9, len=18), seq(6, by=9, len=18)),
  rangeName=letters[seq(1:18)], score=sample(1:25, 18, replace = FALSE))

然后,foo是要作为床格式文件导出的对象:

代码语言:javascript
复制
write.table(foo, "res.bed", append = TRUE, sep = "")

或者使用rtracklayer包中的export.bed,两者的结果是相同的:

代码语言:javascript
复制
rtracklayer::export.bed(foo, "~/res.bed")
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34747836

复制
相关文章

相似问题

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