SeSAMe supports Mammal 40 array natively.

Cache Mammal40

sesameDataCache("Mammal40")
## snapshotDate(): 2021-05-05
## [1] TRUE

Load Mammal40 array IDAT

res_grn = sesameDataDownload("GSM4411982_Grn.idat.gz")
res_red = sesameDataDownload("GSM4411982_Red.idat.gz")
sset = readIDATpair(sprintf("%s/GSM4411982", res_red$dest_dir))

Preprocess the sigset to produce beta values. The standard noob, dyeBiasCorrTypeINorm works as expected:

sset_normalized = dyeBiasCorrTypeINorm(noob(pOOBAH(qualityMask(sset))))

Retrieve beta values using the following commands

betas = getBetas(sset_normalized)