This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Problem with Affymetrix cdf file

I 'm trying to perform a DE analysis on CEL files. I've had to download the miRNA-4_0-st-v1.cdf file and to create a package using the make.cdf.package function; then I tried to install it in the shell but I encountered the following error, even if I load the AnnotationDbi package in R :

R CMD INSTALL C:\Users\MM~1\AppData\Local\Temp\RtmpaURloF/mirna40cdf
* installing to library 'C:/Program Files/R/R-4.0.2/library'
ERROR: dependency 'AnnotationDbi' is not available for package 'mirna40cdf'

So I tried the make.cdf.env function, but ReadAffy doesn't work properly and gives me this error:

 names <- dir(pattern = "*.CEL",  path="~/cell/GSE143564_RAW",full.names = TRUE)
 d <- ReadAffy(filenames=names) 

  AffyBatch object
  size of arrays=541x541 features (20 kb)
  cdf=miRNA-4_0 (??? affyids)
  number of samples=6

Error in getCdfInfo(object) :  
Could not obtain CDF environment, problems encountered:
Specified environment does not contain miRNA-4_0  
Library - package mirna40cdf not installed
Bioconductor - mirna40cdf not available
Warning message:missing cdf environment! in show(AffyBatch)

How can I fix this? Here's the full code:

require(affy)
library(makecdfenv)
library(affxparser) 


convertCdf("miRNA-4_0-st-v1.cdf", "mirna40cdf", version=4, verbose=TRUE) 
pkgpath <- tempdir()  
make.cdf.package("mirna40cdf", version = packageDescription("makecdfenv", field = "Version"), 
                 species="Homo_sapiens", unlink=TRUE, compress=FALSE, package.path = pkgpath)

mirna40cdf <- make.cdf.env("mirna40cdf")

names <- dir(pattern = "*.CEL",  path="~/cell/GSE143564_RAW",full.names = TRUE)
d <- ReadAffy(filenames=names)
d

I'm a very beginner and any advice is really appreciated. Thank you very much.

affymetrix r

1 answer

I am not sure but you should be using oligo, not affy. The package that should be installed is pd.mirna.4.0.

I ran this code successfully:

require(oligo)

gseID <- 'GSE143564'

message('--loading CEL files for ', gseID)    
raw <- read.celfiles(
  filenames = list.files('GSE143564_RAW/', pattern = '*CEL', full.names = TRUE),
  sampleNames = gsub('_miRNA\\-4_0_\\.CEL$', '', list.files('GSE143564_RAW/', pattern = '*CEL')))

Loading required package: pd.mirna.4.0
Attempting to obtain 'pd.mirna.4.0' from BioConductor website.
Checking to see if your internet connection works...

# RMA
message('--RMA normalising...')
norm <- rma(raw)
message('--Done.')

Log in to answer this question.