Hi, I'm a new user to Bioconductor.
I'm trying to get the array quality for .gpr files for Operon Version
3
mouse oligos. using arrayQuality
when I typed
> gpQuality()
give me error message:
[1] "Starting gpQuality..." Error in median(emp, na.rm = TRUE) : need
numeric data
Does anybody know how to fix it?
Thanks a lot!
Bioconductors,
I am trying to implement an extension to R
which I hope to make into a bioconductor package.
The program will process Qstar proteomics data.
I wish to implement a function called "binandnorm".
However, I'm getting an unresolved symbol. The
symbol is "TYPEOF__FP7SEXPREC". This problem
appears on 1.8.1and 1.9.0 version of R. I have
installed bioconductor.
I have compiled the program using the
SHLIB R command feature ... which apparently
does this ..
g++ -I/usr/local/lib/R/include -I/usr/local/include
-fPIC -g -O2 -c binandnorm.cpp -o binandnorm.o
g++ -G -L/usr/local/lib -o binandnorm.so binandnorm.o
-L/usr/local/lib/R/bin -lR
I do this to dump some symbols for later
reference ...
elfdump *.so > junk
I am running on a Sun box using R.1.8.1 ...
uname -a
SunOS xxxxxxxxxx.xxx.nih.gov 5.8 Generic_108528-16
sun4u sparc SUNW,Sun-Fire
I run the R command
bash-2.03$ R
R : Copyright 2003, The R Foundation for Statistical
Computing
Version 1.8.1 (2003-11-21), ISBN 3-900051-00-3
R is free software and comes with ABSOLUTELY NO
WARRANTY.
[blah .. blah .. blah ...]
Type 'q()' to quit R.
> version
_
platform sparc-sun-solaris2.8
arch sparc
os solaris2.8
system sparc, solaris2.8
status
major 1
minor 8.1
year 2003
month 11
day 21
language R
> dyn.load("binandnorm.so")
Error in dyn.load(x, as.logical(local),
as.logical(now)) :
unable to load shared library
"/h1/finneyr/BINANDQ/src/binandnorm.so":
ld.so.1: /usr/local/lib/R/bin/R.bin: fatal:
relocation error: file
/h1/finneyr/BINANDQ/src/binandnorm.so: symbol
TYPEOF__FP7SEXPREC: referenced symbol not found
> q()
Save workspace image? [y/n/c]: n
Rrrgghh !!!! Well, let's see if we can find
TYPEOF__FP7SEXPREC ...
bash-2.03$ grep -i TYPEOF__FP7SEXPREC *
nothing. rrrgghhhh.
try fgrep ...
fgrep -l TYPEOF__FP7SEXPREC *
binandnorm.o
binandnorm.so
oh. okay. it is there. the symbol exists
in the object file. why can't it get resolved
when loaded into R ???
Anyone know what's up with this?
I can trim down the R interface code in the C file to
something like this ...
SEXP binandnorm(SEXP SEXPalgorithm, SEXP SEXPqsize1,
SEXP SEXPqsize2, SEXP SEXPoutputoption,
SEXP SEXPoutputfilename, SEXP SEXPfilenames)
{
SEXP ans;
ans = PROTECT(allocMatrix(REALSXP, 1, 1));
return NULL;
}
and when I do the dyn.load() from R I get this ...
... (blah blah ..) ... ld.so.1:
/h1/finneyr/R-1.9.0/bin/R.bin: fatal: relocation
error: file
/h1/finneyr/R-1.9.0/BINANDQ/src/binandnorm.so: symbol
Rf_allocMatrix__FUiii: referenced symbol not found
That symbol Rf_allocMatrix__FUiii really is
there ...
bash-2.03$ fgrep -l Rf_allocMatrix__FUiii *
binandnorm.o
binandnorm.so
I'm not sure what's up with the symbol
extension "FUiii". What's generating that?
If anybody has any knowledge or wild guesses as
to what's going on here, I'd appreciate it.
Thx.
-Richard Finney
Richard Finney <rfinney5@yahoo.com> writes:
> Bioconductors,
> I am trying to implement an extension to R
> which I hope to make into a bioconductor package.
> The program will process Qstar proteomics data.
> I wish to implement a function called "binandnorm".
> However, I'm getting an unresolved symbol. The
> symbol is "TYPEOF__FP7SEXPREC". This problem
> appears on 1.8.1and 1.9.0 version of R. I have
> installed bioconductor.
>
> I have compiled the program using the
> SHLIB R command feature ... which apparently
> does this ..
>
> g++ -I/usr/local/lib/R/include -I/usr/local/include
> -fPIC -g -O2 -c binandnorm.cpp -o binandnorm.o
> g++ -G -L/usr/local/lib -o binandnorm.so binandnorm.o
> -L/usr/local/lib/R/bin -lR
>
> I do this to dump some symbols for later
> reference ...
>
> elfdump *.so > junk
>
> I am running on a Sun box using R.1.8.1 ...
>
> uname -a
> SunOS xxxxxxxxxx.xxx.nih.gov 5.8 Generic_108528-16
> sun4u sparc SUNW,Sun-Fire
>
> I run the R command
>
> bash-2.03$ R
>
> R : Copyright 2003, The R Foundation for Statistical
> Computing
> Version 1.8.1 (2003-11-21), ISBN 3-900051-00-3
>
> R is free software and comes with ABSOLUTELY NO
> WARRANTY.
> [blah .. blah .. blah ...]
> Type 'q()' to quit R.
>
> > version
> _
> platform sparc-sun-solaris2.8
> arch sparc
> os solaris2.8
> system sparc, solaris2.8
> status
> major 1
> minor 8.1
> year 2003
> month 11
> day 21
> language R
> > dyn.load("binandnorm.so")
> Error in dyn.load(x, as.logical(local),
> as.logical(now)) :
> unable to load shared library
> "/h1/finneyr/BINANDQ/src/binandnorm.so":
> ld.so.1: /usr/local/lib/R/bin/R.bin: fatal:
> relocation error: file
> /h1/finneyr/BINANDQ/src/binandnorm.so: symbol
> TYPEOF__FP7SEXPREC: referenced symbol not found
> > q()
> Save workspace image? [y/n/c]: n
>
> Rrrgghh !!!! Well, let's see if we can find
> TYPEOF__FP7SEXPREC ...
>
> bash-2.03$ grep -i TYPEOF__FP7SEXPREC *
>
> nothing. rrrgghhhh.
>
> try fgrep ...
>
> fgrep -l TYPEOF__FP7SEXPREC *
> binandnorm.o
> binandnorm.so
>
> oh. okay. it is there. the symbol exists
> in the object file. why can't it get resolved
> when loaded into R ???
>
> Anyone know what's up with this?
>
> I can trim down the R interface code in the C file to
> something like this ...
>
>
> SEXP binandnorm(SEXP SEXPalgorithm, SEXP SEXPqsize1,
> SEXP SEXPqsize2, SEXP SEXPoutputoption,
> SEXP SEXPoutputfilename, SEXP SEXPfilenames)
> {
> SEXP ans;
> ans = PROTECT(allocMatrix(REALSXP, 1, 1));
> return NULL;
> }
>
> and when I do the dyn.load() from R I get this ...
> ... (blah blah ..) ... ld.so.1:
> /h1/finneyr/R-1.9.0/bin/R.bin: fatal: relocation
> error: file
> /h1/finneyr/R-1.9.0/BINANDQ/src/binandnorm.so: symbol
> Rf_allocMatrix__FUiii: referenced symbol not found
>
> That symbol Rf_allocMatrix__FUiii really is
> there ...
>
You are using a C++ compiler and will need to protect definitions of
functions to be called from R with extern "C"
Hi,
Thank you for pointing out this error. It's a problem with the
comparative
boxplot part of gpQuality, I will fix it as soon as possible.
In the meantime, you can install the latest version of arrayQuality
from our
web site. It has a new functionality that will help you generate the
qualitative diagnostic plots from your .gpr files only.
To install the latest version of arrayQuality from our web site, you
will
need to type in R:
install.packages("arrayQuality",
contriburl="http://arrays.ucsf.edu/software")
To generate diagnostic plots only, type:
library(arrayQuality)
result <- gpQuality(compBoxplot="FALSE")
If you still get an error message, could you please send me an example
of
your gpr files so that I can try for you?
Regards,
Agnes
-----Original Message-----
From: Zhengzheng Wei [mailto:wei00007@mc.duke.edu]
Sent: Thursday, June 10, 2004 10:28 AM
To: bioconductor@stat.math.ethz.ch
Subject: [BioC] ? using arrayQuality package
Hi, I'm a new user to Bioconductor.
I'm trying to get the array quality for .gpr files for Operon Version
3
mouse oligos. using arrayQuality
when I typed
> gpQuality()
give me error message:
[1] "Starting gpQuality..." Error in median(emp, na.rm = TRUE) : need
numeric data
Does anybody know how to fix it?
Thanks a lot!
_______________________________________________
Bioconductor mailing list
Bioconductor@stat.math.ethz.ch
https://www.stat.math.ethz.ch/mailman/listinfo/bioconductor