问题标签 [iranges]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1344 浏览

r - 应用函数返回一个data.table,或将列表直接转换为一个data.table

我想应用一个函数,将矩阵返回到大型 data.table 对象的每一行(原始文件大约 30 GB,我有 80 GB 内存),并取回一个 data.table 对象。我想有效地做到这一点。我目前的方法如下:

注意1:我指定 my.function 只是为了表明它返回一个矩阵,因此我的应用行是一个矩阵列表。

注意2:我不确定我正在执行的操作有多慢,但似乎我可以减少行数。例如,将数据框转换为大对象的数据表会很慢吗?

可重现的例子:

请注意,Arun 和 Roland 让我更加努力地思考这个问题,所以我仍在努力解决它......可能是我不需要这些线......

我想获取一个 sam 文件,然后创建一个新的坐标文件,其中每个读取都根据其 CIGAR 字段进行拆分。

0 投票
2 回答
376 浏览

r - 查找定义的范围集之外的所有范围

我想知道定义给定范围集未涵盖的所有范围的最佳方法是什么。例如,如果我有一组已知坐标的基因:

假设我知道染色体的总长度(为简单起见,假设它们都在同一条染色体上)是 10000。所以,最后我希望有以下基因间区域列表:

BioconductorIRange在这里有用吗?还是有其他解决这个问题的好方法?

0 投票
1 回答
71 浏览

r - 根据满足的范围打印列表

如果满足某些值,我想将字符串输出生成到列表中。我有一个看起来像这样的表:

我正在使用此函数来生成所需的输出:

我还想在 rangeFinder 的开始和结束输出之间生成一个带有字母(来自 V9-V11 列)的列表。

例如,输出应如下所示。

rangeFinder 正在查看 V2 和 V3 列中的值并打印最长匹配的数字。请注意,即使 rangeFinder 从 313-324(而不是 142-324)生成输出,列表输出中也不包含“FDT”。如何获得所需的输出?

0 投票
1 回答
70 浏览

r - 双量程与双量程样本的重叠

我发现了其他关于在 R iRanges 中通常找到重叠范围的帖子,但是你能帮我解决这个额外的小转折吗:我有两个相关的范围(一个可能的基因组重排,一个起始范围和一个结束范围),我想过滤掉母基因组中的相同范围

我发现停止和开始的范围如下(字符编号、间隔开始、间隔结束),其中左侧的 3 列显示重新排列的开始,右侧的 3 列显示重新排列的结束(它们是称为 SVDetect 的程序的输出,它使用 NGS 数据来查找与参考基因组有异常对齐的配偶对)。我有两个基因组,母亲克隆和女儿,并且想找到女儿独有的重排=我想过滤掉两个范围与另一个范围的相同行重叠的行。范围可能有点不同,但如果两个范围重叠,则强烈表明重排已经存在于母亲体内。

女儿:

母亲:

0 投票
0 回答
397 浏览

r - 如何使用 GenomicRanges 按区间覆盖百分比查找重叠

我有两个数据框,一个包含两个(或更多)个人(由sampleID表示)TEST,另一个由 3 列组成,称为REF

我想根据 : 的列和相应(按顺序)列之间的重叠添加REF到: 。TEST"chr","start","end"REFTEST"Chromosome","Start","End"

我希望重叠的定义是为了让一个REF区间与一个区间重叠TEST,它必须覆盖 >50% 的TEST区间。

我一直在玩 GenomicRanges。但是,该findOverlap函数仅允许我将 指定minOverlap为重叠位置的数量,而不是所覆盖间隔的一小部分。那么,使用 GenomicRanges,我该怎么做呢?

一些示例输入:

0 投票
1 回答
70 浏览

r - 检查数字落在哪个范围内并返回具有相应移位的新列

我有两个数据框 ch 和 shift。在数据框 ch 我有一个名为 pos 的列,其中包含如下所示的数字。在数据帧移位中,我有三列名称为 shft、start 和 end。

头(班)

我想检查 ch 数据帧中 pos 列中的每个数字,其范围列在 shift 数据帧的 start 和 end 列中,并且必须在名称 shift 的列中分配相应的 shft,例如 A、B、C、D .

比较必须是这样的>= start and < end

通过查看stackoverflow上的一个问题,我找到了一个解决方案,但它的工作方式类似于该值将落在哪个范围内

使用上面的命令行,结果就像 0.25 一样,我将得到一个带有 shift B 的行和一个带有 shift c 的行。在我的数据框中,我有 31 行,在结果中执行上述脚本后,我有 62 行。

有人可以告诉我如何进行比较,(>= start and < end)而不仅仅是落在范围内。现实中的数据框 ch 不仅有我所显示的数字,如 0.25、3.25、7.25,而且还有 3.14、0.89、7.25、6.93、5、46。

0 投票
1 回答
68 浏览

r - 使用 r 根据时间戳检查制造工厂的班次

通过使用生产单元的时间戳,我想检查它是在哪个班次生产的。基本上每天两班制进行生产。班次时间为 06:00 至 18:00 和 18:00 至 06:00。下面的班次数据框显示了 12 月班次的计划。

让我说得更清楚

在检查数据框中,我有每个生产单元的时间戳。通过使用这些时间戳,我想检查该单元是在哪个班次生产的。

期望的结果:

为了简单起见,我只展示了 12 月的轮班计划。实际上,我需要检查完整的年份。

0 投票
4 回答
3152 浏览

r - 双向扩展范围

我有一个 GRanges 对象,我想扩展所有范围,例如两侧 1kb,因此每个范围将变得更长 2kb。这很奇怪,但我无法使用inter-range-methodsGenomicRanges 或 IRanges 来做到这一点。产生所需结果的一种方法是使用两次调整大小,首先扩展 5',然后扩展 3'。但这当然是非常尴尬的。没有更直接的方法吗?请指教

0 投票
2 回答
499 浏览

r - R 结合 findOverlaps 和 countOverlaps 的输出

我有两组 IRange 进行比较。我的目标是获得一个具有重叠位置的输出(如果存在重叠),并且如果它们不重叠,则将范围的偏移列为负开始。至少如果我无法获得偏移量,我希望获得一个“0”来表示没有重叠。例如:

使用 findOverlaps + 范围给了我:

我希望最终输出是一个数据框或看起来像这样的东西:

我可以使用 countOverlaps 获取重叠范围的索引,并使用 findOverlaps + 范围获取 hits 对象进行比较,但不知道如何组合结果以获得所需的输出。

0 投票
1 回答
651 浏览

r - “R”中包“IRanges”的整数溢出

问题

我正在使用该软件包[IRanges][1],并且需要为超过 2^31 约 10 倍的超长序列准确编码。

从下面,似乎IRanges使用int32

由于此软件包通常用于 DNA 序列,因此能够处理大于 2^32 (≈ 10^9) 的值将非常有用,因为许多生物的基因组大小都比这更长。

问题

  • 我认为这是一个整数溢出问题是否正确?
  • 你遇到同样的问题吗?
  • 有没有办法解决这个问题?
    • 是否有可能(并且容易)找到源代码并只修改对象类型
    • 你认为这个包是否存在另一个版本?

我找到的唯一解决方案是接受降低我的准确度水平并将每个宽度除以 100 ......但我对降低我的准确度并不满意。

R版