crlmm Illumina SNP array genotyping
Entering edit mode
vladhkim ▴ 10
Last seen 5.7 years ago


I am trying to call genotypes with crlmm package version 1.28.2. My SNP array data was obtained using the following Illumina platforms:

  • HumanCytoSNP-12 V2.1 (Annotation package: humancytosnp12v2p1h)
  • HumanOmni2.5-8 V1-1    (Annotationpackage: humanomni258v1p1b)

What I am doing is:

samplesheet <- read.csv(paste(path, sheet, sep = "/"), header=TRUE, stringsAsFactors=FALSE)
idats <- readIdatFiles(sampleSheet=samplesheet, path=paste(prefix, path, sep="/"))

crlmmOut <- crlmmIllumina(RG=idats, cdfName=cdf)​

Where cdf  is the name of the corresponding annotation package.

I have 2 different problems for each annotation package mentioned.

Human CytoSNP-12 V2.1

The genotyping is carried out without errors but with a warning issued:

In crlmmGT(A = res[["A"]], B = res[["B"]], SNR = res[["SNR"]], mixtureParams = res[["mixtureParams"]],  :
 Recalibration not possible. Possible cause: small sample size.

The called genotypes however (when accessed through calls()) are absurd: all of them are some random integers in the 1000s range, instead of expected class labels. Here just the first six entries of  calls data.frame

> head(calls)
           H005-K6J1-T1-D1 H005-CSGD-T1-D1 H005-WHY2-T1-D1 H005-0QYL-T1-D1 H005-4M10-T1-D1
rs10059646            1688           10790           11933           12221           12016
rs10084637           10352            9991            9976           10359           10400
rs10111087             918             889            1047           17698           10882
rs10166589            1206            1349            1164            1186            1297
rs10166677            1038             876            1010             901            4000
rs10200219            7257            1185            6788            7370            7354

Human Omni2.5-8 V1-1

Here I actually get an error message:

Error in solve.default(SS) : 
 Lapack routine dgesv: system is exactly singular: U[3,3] = 0
Calls: genotypeArrayData -> crlmmIllumina -> crlmmGT -> solve -> solve.default
Execution halted

I printed the DD and SS matrices from crlmmGT function and all the entries were NA ...

There is a suspicious line (136 in crlmm-functions.R):

newparams[["centers"]][newparams[["N"]] < minN] <- NA

Perhaps all entries in newparams become set to NA? Sorry, I haven't looked too deep into the code. I was just wondering, if I am missing something very simple, which leads to these problems.

Thank you! --- Vlad

> sessionInfo()

R version 3.2.3 (2015-12-10)

Platform: x86_64-pc-linux-gnu (64-bit)

Running under: CentOS release 6.5 (Final)


 [1] LC_CTYPE=C                 LC_NUMERIC=C              

 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    


 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 

 [9] LC_ADDRESS=C               LC_TELEPHONE=C            


attached base packages:

[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:

[1] ff_2.2-13             bit_1.1-12            crlmm_1.28.2         

[4] preprocessCore_1.32.0 oligoClasses_1.32.0  

loaded via a namespace (and not attached):

 [1] Rcpp_0.12.3                XVector_0.10.0            

 [3] splines_3.2.3              GenomicRanges_1.22.3      

 [5] BiocGenerics_0.16.1        zlibbioc_1.16.0           

 [7] IRanges_2.4.6              ellipse_0.3-8             

 [9] lattice_0.20-33            foreach_1.4.3             

[11] GenomeInfoDb_1.6.2         base64_1.1                

[13] grid_3.2.3                 SummarizedExperiment_1.0.2

[15] parallel_3.2.3             Biobase_2.30.0            

[17] DBI_0.3.1                  matrixStats_0.50.1        

[19] iterators_1.0.8            RcppEigen_0.       

[21] affyio_1.40.0              Matrix_1.2-3              

[23] S4Vectors_0.8.7            codetools_0.2-14          

[25] VGAM_1.0-0                 RSQLite_1.0.0             

[27] BiocInstaller_1.20.1       Biostrings_2.38.3         

[29] stats4_3.2.3               mvtnorm_1.0-4             

[31] illuminaio_0.12.0
crlmm oligo • 1.2k views
Entering edit mode
vladhkim ▴ 10
Last seen 5.7 years ago

Courtesy of Matt Ritchie:

Please try using genotype.Illumina() instead of the original crlmmIllumina() function for genotyping.

Also for the HumanOmni2.5-8 V1-1, you'll need to set call.method="krlmm"

This solved my problem. As it turns out genotype.Illumina() is not simply a wrapper function of readIdatFiles() and crlmmIllumina().


Login before adding your answer.

Traffic: 247 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6