[BioC] RMAGEML and JVM

Martin Morgan mtmorgan at fhcrc.org
Thu Jul 12 15:10:45 CEST 2007


Hi Michaela --

Maybe we can take this off-list, and resume on BioC-devel when we have
a working and not too ugly solution? I'll forward some more help
to your email address.

Martin

"Michaela Gündel" <michaela.guendel at googlemail.com> writes:

> Dear Martin,
> I have patched .createJVM creating a new method "arji_takeSameJVM" and there inserting your code line
> res = JNI_GetCreatedJavaVMs(&jvm, 1, &l);
> During the compilation I get the following error messages:
> rmageml.c: In function âarji_takeSameJVMâ:
> rmageml.c:92: error: âlâ undeclared (first use in this function)
> rmageml.c:92: error: (Each undeclared identifier is reported only once
> rmageml.c:92: error: for each function it appears in.)
> rmageml.c: In function âupdateMAGEMLâ:
> rmageml.c:626: warning: cast from pointer to integer of different size
> As I am unfortunately not familiar with C, can you please let me know how to declare the variable "l" ? I guess, the rest of the error messages is just a consequence of this
> missing declaration as I haven't changed anything else in the class.
> Thanks a lot in advance,
> best wishes
> Michaela
>
>
> 2007/7/10, Martin Morgan <mtmorgan at fhcrc.org>:
>
>           "Michaela Gündel" <michaela.guendel at googlemail.com> writes:     
>      > Dear list, > > creating a microarray workflow for my Master Thesis, I am facing a > problem concerning the RMAGEML package.  > > I am constructing the workflow from
>      Java using the BioC packages. I set > up an Rengine in Java and from this, I call R commands using > Rengine.eval (). The problem I am facing now is that I want to
>      read in > MIAME compliant data with the RMAGEML package, which, from R directly, > works perfectly. However, the problem is that the package creates a JVM > which of
>      course does not work calling it from an already existing JVM.  > > Is there any way of > - either using the existing JVM in the importMAGEOM function (there: > mageOM
>      <- .Call("newRMAGESTK", directory, ..rmagemlJVM at jvmptr, PACKAGE = > "RMAGEML") )     
>      Definitely getting your hands dirty, but the key seems to be in .createJVM and the line     
>          jvmptr <- .Call("arji_createJVM", classpath, PACKAGE = "RMAGEML")     
>      The corresponding C code invokes the jvm with appropriate class path and other options     
>              res = JNI_CreateJavaVM( &jvm, (void**)&env, &vm_args);     
>      and then makes it into an R external pointer and returns it     
>          retptr = R_MakeExternalPtr( jvm, JavaVM_type_tag, R_NilValue );         return(retptr);     
>      Seems like you'd like to replace this with your own C level function that discovers the JVM     
>           res = JNI_GetCreatedJavaVMs(&jvm, 1, &l);     
>      (this is from the source for the rJava package, rJava/jri/src/Rcallbacks.c). Return this as an external pointer     
>          retptr = R_MakeExternalPtr( jvm, JavaVM_type_tag, R_NilValue );         return(retptr);     
>      and then patch .createJVM or importMAGEOM to use your new C call.     
>      Of course I haven't tried this ;)     
>      Martin     
>      > - or reading the MAGEML document using MAGE-STK and converting the input > from the then Java object to an R object that I can read into R (I am > working with
>      RGLists mainly)?  > > Your help is very much appreciated!  > > I am using: >> sessionInfo() > R version 2.5.0 (2007-04-23) > i686-pc-linux-gnu > > locale: >
>      LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C
>      > > attached base packages: > [1] "tcltk" "splines" "tools" "stats" "graphics" "grDevices" > [7] "utils" "datasets" "methods" "base" > > other attached packages: >
>      convert RMAGEML marray tkWidgets DynDoc widgetTools > "1.10.0" "2.10.0" "1.14.0" "1.14.0" "1.14.0" "1.12.0" > genefilter survival limma goCluster Biobase > "1.14.1"
>      "2.31" "2.10.5" "1.4.0" "1.14.0" > > Thanks a lot in advance, > > Michaela > > -- > Michaela Guendel > > Fraunhofer Institute for Algorithms and Scientific Computing
>      (SCAI) > Department of Bioinformatics > Schloss Birlinghoven > D-53754 Sankt Augustin, Germany > >       [[alternative HTML version deleted]] > >
>      _______________________________________________ > Bioconductor mailing list > Bioconductor at stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor >
>      Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor     
>      -- Martin Morgan Bioconductor / Computational Biology http://bioconductor.org     
>
>
>

-- 
Martin Morgan
Bioconductor / Computational Biology
http://bioconductor.org



More information about the Bioconductor mailing list