Hi Hector, Michael,
On 07/01/2014 05:57 AM, Michael Lawrence wrote:
It seems tough to make this work. There is no way for the R serialization
machinery to understand what needs to be serialized after the external
pointer. The easiest approach to fixing this would be to reimplement
everything on top of SEXPs, which is to say, it would not be easy.
This is what I did with PDict objects to store the Aho-Corasick tree.
It's actually easier than it sounds. You can use any atomic type, say
INTSXP or RAWSXP, it doesn't matter, That's just a way to get memory.
Then you do what you want with it (thru casting the pointer to it).
It not only solves the serialization problem, it also automatically
manages the memory, which is now in the hands of the garbage collector.
Cheers,
H.
Alternatively, we could write our own serializer. It seems R needs a way to
register (de)serializers for external pointers.
On Tue, Jul 1, 2014 at 5:37 AM, Hector Corrada Bravo <hcorr...@gmail.com>
wrote:
Confirmed. Will look into it now.
Thanks for writing!
Hector
On Tue, Jul 1, 2014 at 2:40 AM, Kristoffer Vitting-Seerup <
kristoffer.vittingsee...@bio.ku.dk> wrote:
Hi bioc-devel
I’ve fond an error in the usage of GIntervalTree:
test <- GRanges(seqnames='Chr1', range=IRanges(start=10,end=20))
test
GRanges with 1 range and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] Chr1 [10, 20] *
this object I can save and load without problem:
save(test, file='test.Rdata')
rm(test)
load('test.Rdata')
test
GRanges with 1 range and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] Chr1 [10, 20] *
But if I convert to to a GIntervalTree (for faster overlap finding) I get
a fatal error when loading:
test2 <- GIntervalTree(test)
test2
GIntervalTree with 1 range and 0 metadata columns:
seqnames ranges strand
<Rle> <IRanges> <Rle>
[1] Chr1 [10, 20] *
save(test2, file='test2.Rdata')
rm(test2)
load('test2.Rdata')
test2
GIntervalTree with 1 range and 0 metadata columns:
*** caught segfault ***
address 0xc, cause 'memory not mapped'
Traceback:
1: .Call(.NAME, ..., PACKAGE = PACKAGE)
2: .Call2(fun, object@ptr, ..., PACKAGE = "IRanges")
3: .IntervalForestCall(from, "asIRanges")
4: asMethod(object)
5: as(x@ranges, "IRanges")
6: .GT_reorderValue(x, as(x@ranges, "IRanges"))
7: .local(x, ...)
8: ranges(x)
9: ranges(x)
Possible actions:
1: abort (with core dump, if enabled)
2: normal R exit
3: exit R without saving workspace
4: exit R saving workspace
My session info:
sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-apple-darwin10.8.0 (64-bit)
locale:
[1] C
attached base packages:
[1] grDevices datasets grid parallel stats graphics utils
methods base
other attached packages:
[1] spliceR_1.5.0 plyr_1.8.1 RColorBrewer_1.0-5
VennDiagram_1.6.5 cummeRbund_2.7.1 Gviz_1.9.4
rtracklayer_1.25.8 GenomicRanges_1.17.14 GenomeInfoDb_1.1.5
IRanges_1.99.13
[11] S4Vectors_0.0.6 fastcluster_1.1.13 reshape2_1.4
ggplot2_0.9.3.1 RSQLite_0.11.4 DBI_0.2-7
BiocGenerics_0.11.2
loaded via a namespace (and not attached):
[1] AnnotationDbi_1.27.6 BBmisc_1.6 BSgenome_1.33.5
BatchJobs_1.2 Biobase_2.25.0 BiocParallel_0.7.0
Biostrings_2.33.8 Formula_1.1-1
GenomicAlignments_1.1.10
[10] GenomicFeatures_1.17.6 Hmisc_3.14-4 MASS_7.3-33
R.methodsS3_1.6.1 RCurl_1.95-4.1 Rcpp_0.11.1
Rsamtools_1.17.14 VariantAnnotation_1.11.5 XML_3.98-1.1
[19] XVector_0.5.6 biomaRt_2.21.0 biovizBase_1.13.7
bitops_1.0-6 brew_1.0-6 cluster_1.15.2
codetools_0.2-8 colorspace_1.2-4 dichromat_2.0-0
[28] digest_0.6.4 fail_1.2 foreach_1.4.2
gtable_0.1.2 iterators_1.0.7 lattice_0.20-29
latticeExtra_0.6-26 matrixStats_0.8.14 munsell_0.4.2
[37] proto_0.3-10 scales_0.2.4 sendmailR_1.1-2
splines_3.1.0 stats4_3.1.0 stringr_0.6.2
survival_2.37-7 tools_3.1.0 zlibbioc_1.11.1
--
Kindest regards
Kristoffer Vitting-Seerup, cand.scient. (M.Sc.),
Ph.D Fellow
Sandelin Group
Bioinformatics Centre | Biotech Research & Innovation Centre (BRIC), Dep.
Of Biology
University of Copenhagen
Building 1, 3th floor, office 3 (1-3-03)
Ole Maaløes Vej 5
DK-2200 Copenhagen N
Denmark
http://binf.ku.dk | http://www.bric.ku.dk
[[alternative HTML version deleted]]
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
[[alternative HTML version deleted]]
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
[[alternative HTML version deleted]]
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel
--
Hervé Pagès
Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024
E-mail: hpa...@fhcrc.org
Phone: (206) 667-5791
Fax: (206) 667-1319
_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel