Question: How to use brainarray custom cdf with oligo package?
gravatar for sanj
3.7 years ago by
United Kingdom
sanj20 wrote:


I have two datasets from HTA platform for which I want to do fRMA normalisation(specifically). As I understand fRMA works with either affybatch object(package affy) or ExpressionFeatureSet(package oligo). How can I do this by using custom cdf file from brain array resource? I have tried using the "hta20hsensgprobe" package from brainarray website and used the following lines of code:


celFiles<- list.celfiles( "HTA_data",full.names = TRUE)

affyRaw <- read.celfiles(celFiles,pkgname="hta20hsensgprobe")

But this gives me the following error:

Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘kind’ for signature ‘"probetable"’

The sessionInfo is as follows:


R version 3.1.2 (2014-10-31)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] stats4    parallel  stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] hta20hsensgprobe_19.0.0 AnnotationDbi_1.28.2    GenomeInfoDb_1.2.4      pd.hta.2.0_3.10.1       RSQLite_1.0.0           DBI_0.3.1              
 [7] Biostrings_2.34.1       XVector_0.6.0           IRanges_2.0.1           S4Vectors_0.4.0         oligoClasses_1.28.0     frma_1.18.0            
[13] Biobase_2.26.0          BiocGenerics_0.12.1     data.table_1.9.4        aroma.light_2.2.1       aroma.affymetrix_2.13.1 aroma.core_2.13.0      
[19] R.devices_2.13.0        R.filesets_2.7.1        R.utils_2.0.2           R.oo_1.19.0             oligo_1.30.0            affxparser_1.38.0      
[25] R.methodsS3_1.7.0      

loaded via a namespace (and not attached):
 [1] affy_1.44.0           affyio_1.34.0         aroma.apd_0.6.0       base64enc_0.1-3       BiocInstaller_1.16.2  bit_1.1-12            Cairo_1.5-5          
 [8] chron_2.3-45          codetools_0.2-11      digest_0.6.8          DNAcopy_1.40.0        ff_2.2-13             foreach_1.4.2         GenomicRanges_1.18.4 
[15] iterators_1.0.7       magrittr_1.5          MASS_7.3-39           matrixStats_0.14.0    plyr_1.8.2            preprocessCore_1.28.0 PSCBS_0.44.0         
[22] R.cache_0.11.0        R.huge_0.9.0          R.rsp_0.20.0          Rcpp_0.11.6           reshape2_1.4.1        splines_3.1.2         stringi_0.4-1        
[29] stringr_1.0.0         tools_3.1.2           zlibbioc_1.12.0  


Thanks in advance.





customcdf oligo frma hta • 3.1k views
ADD COMMENTlink modified 3.7 years ago by James W. MacDonald50k • written 3.7 years ago by sanj20
Answer: How to use brainarray custom cdf with oligo package?
gravatar for James W. MacDonald
3.7 years ago by
United States
James W. MacDonald50k wrote:

Benilton added functionality to do this in the last release. Here is a quick primer.

> library(pdInfoBuilder)
> library(ff)
> library(doMC)
> registerDoMC(10) ## set to number of cores you want to use

## get cdf from MBNI

> download.file("","")
trying URL ''
Content type 'application/zip' length 362105032 bytes (345.3 MB)
downloaded 345.3 MB

> unzip("")
> dir()
[1] "hta20_Hs_ENSE.cdf"         "hta20_Hs_ENSE_desc.txt" 
[3] "hta20_Hs_ENSE_mapping.txt" "hta20_Hs_ENSE_probe_tab" 

## We need the cdf file

> z <- cdf2table("hta20_Hs_ENSE.cdf")

> seed <- new("GenericPDInfoPkgSeed", table=z, author = "me", email = "", species = "Homo sapiens", pkgName = "pd.hta20hsense")

> makePdInfoPackage(seed)
Building annotation for Generic Array
Creating package in ./pd.hta20hsense
Inserting 575650 rows into table featureSet1... OK
Inserting 8613698 rows into table mps1pm... OK
Inserting 5257137 rows into table pmfeature... OK
Counting rows in featureSet1
Counting rows in mps1pm
Counting rows in pmfeature
[1] TRUE

## install it

> install.packages("pd.hta20hsense/", repos = NULL)
* installing *source* package  pd.hta20hsense  ...
** R
** inst
** preparing package for lazy loading
Creating a generic function for  nchar  from package  base  in package  S4Vectors
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
Creating a generic function for  nchar  from package  base  in package  S4Vectors
* DONE (pd.hta20hsense)


EDIT: I should note here that you now have to specify the pdInfoPackage when you use oligo. The pkgname argument of read.celfiles() should be specified as "pd.hta20hsense"

dat <- read.celfiles(filenames = list.celfiles(), pkgname = "pd.hta20hsense")
ADD COMMENTlink modified 3.7 years ago • written 3.7 years ago by James W. MacDonald50k

Hi James,

I am Prathyusha Bachali, working as a Bioinformatician at Ampel Biosolutions. I am working on Hu Gene 1.1 ST arrays. It requires oligo package to analyze rather affy. I am able to do for Affy CDFs. I am trying to use Brainarray CDF too. I created annotation package for Brain array CDF by following the exact instructions mentioned in above reply. I could successfully build the annotation package. How should I get the feature data for the annotation package I created. I could see that rows have been created to featureSet1, but I am not sure how to extract the featureSet1. I tried getNetAffx to get the feature data but it has thrown me an error that getNetAffx cannot be used for GenericFeatureSet. I am wondering how to get the feature data.

Any help would be much appreciated.



ADD REPLYlink written 2.4 years ago by pbachali10

There is no need to make an annotation package yourselves for the remapped/custom/brainarray "CDF" when using oligo, because the annotations are already available in the remapped PdInfo object.

<<edit: i was not completely correct; as James pointed out below, you still/also need the *.db file, which is also provided by the MBNI group. See his code below. >>


Check this thread (and links) for additional info; especially with respect to the function annotateEset() available in the library affycoretools (function is nowadays available in the 'release' version). A: matching probes to genes from array.

ADD REPLYlink modified 2.4 years ago • written 2.4 years ago by Guido Hooiveld2.4k

There are two problems here. First, you are confusing things; the instructions above are for making a pdInfoPackage, which isn't an annotation package. Instead, it is a package that oligo uses to map probes to probesets so you can summarize your data. Second, you don't need to make these any more, as Manhong Dai is now doing that for you. You can just install the correct pdInfoPackage from MBNI, as well as the annotation package and go from there. As an example, say we wanted to use the Entrez Gene mapped MBNI package. I am on Windows here, so I have to say that the type is 'source'. If you are on linux this isn't necessary, but it will be if you are on MacOS.

> install.packages("", repos = NULL, type = "source")

> install.packages("", repos = NULL, type = "source")

> library(oligo)

> dat <- read.celfiles(list.celfiles(), pkgname = "pd..hugene11st.hs.entrezg")
> eset <- rma(dat)

> library(affycoretools)

> library(hugene11sthsentrezg.db)

> eset <- annotateEset(eset, hugene11sthsentrezg.db)


And now you can proceed with your analysis.

ADD REPLYlink written 2.4 years ago by James W. MacDonald50k

Dear James, thanks a lot for this answer!

ADD REPLYlink written 7 months ago by fshodan0
Answer: How to use brainarray custom cdf with oligo package?
gravatar for Matthew McCall
3.7 years ago by
United States
Matthew McCall830 wrote:

I do not believe that oligo platform annotation packages are available from the brainarray group. It appears that you are trying to pass a probe annotation package (hta20hsensgprobe) to a function (read.celfiles) that expects an oligo-style package.

Also, note that the HTA platform isn't currently supported in fRMA, so you would need to build your own frozen parameter vectors.



ADD COMMENTlink written 3.7 years ago by Matthew McCall830
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 164 users visited in the last hour