问题
我正在使用的软件包[IRanges][1]和需要准确地编码非常长的序列,超过2^31,约10倍。
从下面看,IRanges似乎使用了int32
##### INSTALLATION FROM SRC CODE ######
## try http:// if https:// URLs are not supported
source("https://bioconductor.org/biocLite.R")
biocLite("IRanges")
##### CALL PACKAGE #####
require(IRanges)
IRanges(start=1,end=2^31-1) # Works fine
IRanges(start=1,end=2^31) # Fail
Error in .Call2("solve_user_SEW0", start, end, width, PACKAGE = "IRanges") :
solving row 1: range cannot be determined from the supplied arguments (too many NAs)
In addition: Warning message:
In .normargSEW0(end, "end") : NAs introduced by coercion to integer range由于这个软件包经常用于DNA序列,因此能够处理大于2^32 (≈10^9)的值将是非常有用的,因为许多生物的基因组长度都大于这个值。
问题
我发现的唯一解决办法是接受降低我的精确度,并将每个宽度除以100.但我不太满意降低我的准确性。
R版
R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-apple-darwin13.4.0 (64-bit)https://stackoverflow.com/questions/35880731
复制相似问题