I am using the SCAN.UPC method, UPC_RNASeq to normalize a RNA-Seq dataset. I first converted all the SRA files for the dataset from the GEO NCBI site to fastq gzip files. I then generated the read count values for each of the samples individually. I then put the read count values into a text file. The first column of the text file had the gene identifiers and each of the following columns contained the read count data for each of the 39 samples of the dataset.
I then ran the UPC_RNASeq method on the dataset:
est <- UPC_RNASeq("UPCreadCountsFinal.txt")
And it gave me this error:
Error in solve.default(t(x) %*% (x)) :
system is computationally singular: reciprocal condition number = 3.53861e-17
Please advise on how I should fix this.
here is my session info:
R version 3.2.3 (2015-12-10) Platform: x86_64-apple-darwin13.4.0 (64-bit) Running under: OS X 10.10.2 (Yosemite) locale: [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8 attached base packages: [1] stats4 parallel stats graphics grDevices utils datasets [8] methods base other attached packages: [1] BiocInstaller_1.18.5 SCAN.UPC_2.10.9 sva_3.14.0 [4] genefilter_1.50.0 mgcv_1.8-9 nlme_3.1-122 [7] foreach_1.4.2 affyio_1.36.0 affy_1.46.1 [10] GEOquery_2.34.0 oligo_1.32.0 Biostrings_2.36.1 [13] XVector_0.8.0 IRanges_2.2.5 S4Vectors_0.6.3 [16] oligoClasses_1.30.0 Biobase_2.28.0 BiocGenerics_0.14.0 loaded via a namespace (and not attached): [1] GenomeInfoDb_1.4.3 tools_3.2.3 bitops_1.0-6 [4] iterators_1.0.7 zlibbioc_1.14.0 bit_1.1-12 [7] annotate_1.46.1 RSQLite_1.0.0 preprocessCore_1.30.0 [10] lattice_0.20-33 ff_2.2-13 Matrix_1.2-3 [13] DBI_0.3.1 affxparser_1.40.0 grid_3.2.3 [16] AnnotationDbi_1.30.1 XML_3.98-1.3 survival_2.38-3 [19] codetools_0.2-14 splines_3.2.3 GenomicRanges_1.20.5 [22] MASS_7.3-45 xtable_1.7-4 RCurl_1.95-4.7
You might try the ignoreZeroes parameter. Sometimes when a data set has a lot of zero values, this error occurs. If you set it to ignoreZeroes=TRUE, it may help. If not, please send me an example data file via email, and I'll see what I can figure out.