IRanges 输出长度不等于输入

问题描述 投票:0回答:1

我想创建一个

IRanges
并存在
data.table

ranges <- IRanges::IRanges(
        start = x$position,
        wdith = 1
    )

length(ranges)
[1] 31253

然而,我的

data.table
是一个有31548行的表

> dim(x)
[1] 31548     8

还有

x$position
长度是

> length(x$position)
[1] 31548
bioconductor genomicranges
1个回答
0
投票

我发现这是因为

x$position

中有很多重复的值
sum(duplicated(x$position))
[1] 13998

但我正在尝试通过以下方式创建 GRanges:

GenomicRanges::GRanges(
    seqnames = x$contig,
    ranges = IRanges::IRanges(
        start = x$position,
        wdith = 1
    )

事实上每个重复的

x$position
都有不同的
x$chrom
值,但是
IRanges::IRanges
删除它们,所以它不起作用。

我的旁路解决方案是使用

makeGRangesFromDataFrame
代替

© www.soinside.com 2019 - 2024. All rights reserved.