显示GenomicRange包输出中的所有行

时间:2013-06-05 20:45:39

标签: r dataframe coordinates overlapping bioconductor

我正在使用GenomicRange R包。我有一个像这样的输入文件:

dvex108056 + 87 206
dvex108056 + 87 226
dvex108056 - 101 240
dvex108056 - 104 240 
dvex108056 - 59 188
dvex108056 - 68 197
dvex108056 - 70 208
dvex108056 - 75 211
dvex108056 - 78 217
dvex108056 - 79 218
dvex108056 - 84 223
dvex108056 - 85 220
dvex108056 - 87 226
dvex108056 - 88 226
dvex108056 - 88 227
dvex108056 - 91 210
dvex108056 - 91 230
dvex114041 - 6255 6383
dvex144086 + 2557 2678
dvex144086 + 2561 2678
dvex144086 + 2562 2678
dvex144086 + 2564 2678
dvex144086 - 2549 2678
dvex186339 + 971 1108
dvex186339 + 971 1112
dvex186339 + 972 1112
dvex186339 + 979 1115
dvex209845 - 428 553
dvex209845 - 436 553
dvex209845 - 445 553
dvex238049 + 435 572
dvex238049 + 435 575
dvex238049 + 435 576
dvex238049 - 400 541
dvex490175 - 5 144
dvex564118 - 476 604
dvex567944 + 1 121
dvex567944 + 1 124 
dvex567944 + 1 125
dvex567944 + 1 129
dvex567944 + 6 125
dvex567944 - 1 130
dvex567944 - 6 125
dvex600495 - 706 844
dvex619713 - 26 165
dvex619713 - 28 167
dvex619713 - 34 173
dvex619713 - 49 185
dvex667132 + 1 119
dvex667132 + 1 99
dvex667132 - 1 120
dvex667132 - 1 121
dvex685093 - 113 242
dvex685093 - 127 243
dvex685093 - 144 243
dvex700401 - 1 120
dvex700401 - 1 130
dvex700401 - 1 132
dvex758265 - 1 139
dvex758265 - 15 154
dvex758265 - 16 155
dvex758265 - 21 160
dvex758265 - 36 172
dvex758265 - 4 140
dvex758265 - 7 146
dvex777870 + 100 200
dvex777870 + 104 200
dvex777870 + 80 200
dvex777870 + 84 200
dvex777870 + 85 200
dvex777870 + 87 200
dvex777870 + 90 200
dvex777870 + 94 200
dvex777870 - 72 200
dvex792767 - 2083 2211
dvex833399 - 434 545
dvex833399 - 435 545
dvex833399 - 437 545

当我使用GRanges将所有这些行减少为与这些代码重叠的坐标时:

> tabla <- read.table(file="~/Desktop/ncRNA/Data/Inputs/rRNAs/60/Infernal/test3.txt")
> colnames(tabla) <- c('scal', 'strand', 'start', 'end')
> all <- with(tabla, GRanges(scal, IRanges(start, end), strand))
> reduce(all)

R生成输出:

GRanges with 24 ranges and 0 metadata columns:
     seqnames       ranges strand
        <Rle>    <IRanges>  <Rle>
   [1] dvex108056 [  87,  226]      +
   [2] dvex108056 [  59,  240]      -
   [3] dvex114041 [6255, 6383]      -
   [4] dvex144086 [2557, 2678]      +
   [5] dvex144086 [2549, 2678]      -
   ...        ...          ...    ...
  [20] dvex758265 [   1,  172]      -
  [21] dvex777870 [  80,  200]      +
  [22] dvex777870 [  72,  200]      -
  [23] dvex792767 [2083, 2211]      -
  [24] dvex833399 [ 434,  545]      -
  ---
  seqlengths:
   dvex108056 dvex114041 dvex144086 ... dvex777870 dvex792767 dvex833399
           NA         NA         NA ...         NA         NA         NA

我想打印GenomicRanges生成的所有输出。避免...... ......线。 可能吗?我相信这是一个data.frame结构,但我无法访问所有记录。

提前致谢。

3 个答案:

答案 0 :(得分:5)

?GenomicRanges的当前版本(v.1.12.4)中有这条指令

 ## The number of lines displayed in the 'show' method
 ## are controlled with two global options.
 longGR <- c(gr[,"score"], gr2[,"score"], gr3)
 longGR
 options("showHeadLines"=7)
 options("showTailLines"=2)
 longGR

 ## Revert to default values
 options("showHeadLines"=NULL)
 options("showTailLines"=NULL)

所以例如

options(showTailLines=Inf)

为您提供完整的屏幕。

答案 1 :(得分:2)

将其转换为data.frame并以“通常的方式”将其写出来:

red.all <- reduce(all)
write.table(as.data.frame(red.all), ...)

答案 2 :(得分:0)

尝试像那样打印

  

write.table(YourData,“Howyouwannanameit.tsv”,quote = F,coln.names = T,row.names = F)

我很确定它不会有这条线......我认为这正是R在尝试向您展示第一行和最后一行时的作用。