hansenlab / minfi

Devel repository for minfi
58 stars 67 forks source link

query regarding manifest/annotation file and trouble creating new manifest object #210

Open prasundutta87 opened 4 years ago

prasundutta87 commented 4 years ago

Hi,

I have a basic question. I am aware that both manifest and the annotation file are required for EPIC analysis during minfi. The EPIC manifest file (http://bioconductor.org/packages/release/data/annotation/html/IlluminaHumanMethylationEPICmanifest.html) present in Bioconductor is based on B2 annotation whereas EPIC B4 annotation file is also present in Bioconductor. What can be an issue if I use the B2 manifest but B4 annotation?

I even tried creating a new manifest object after downloading the csv file from Illumina website. I got the script 'minifest.R' from the tar package which was used to create the above mentioned EPIC manifest file. I used the B4 annotation csv file to prepare that to match B4 annotation. But I got the following error-

"Error in system(sprintf("grep -n \\[Controls\\] %s", file), intern = TRUE) : 'grep' not found"

'grep' is a function of base R. So, I don't know what is causing this error

Can I be helped with these queries?

Regards, Prasun

P.S. I am using the latest version of minfi i.e. 1.32.0

Prichiavellini commented 3 years ago

Excuse me, could you solve it? I have the same problem

prasundutta87 commented 3 years ago

Nope..I just downloaded the latest annotation from Illumina (I think its B5) and after all the analysis, I just use its details and associate with CpG ids..most of the annotation details are hard-coded in the package codes and seems to be diffcult to change that or there is no option to...I also could not solve the issue of the above error..tried in two different systems...still the same error.

Mike-L-V commented 1 year ago

I believe the error is because it's looking for the system program grep not the R function grep, probably because it's faster. For example, from read.manifest.EPIC():

control.line <- system(sprintf("grep -n \\\\[Controls\\\\] %s", file), intern = TRUE)

So you need to be running R under Linux or something that has grep, not Windows. read.manifest.EPIC() notes this requirement:

# NOTE: As is, requires grep".