AnnotationForge failed due to "Parameter 0 does not have length 1"
1
0
Entering edit mode
zhilongjia • 0
@zhilongjia-7339
Last seen 21 months ago
United Kingdom

I used AnnotationForge to build an annotation package. And when I use makeDBPackage function, it does not work as printing "Error: Parameter 0 does not have length 1."

Error: Parameter 0 does not have length 1. 
12 stop(structure(list(message = "Parameter 0 does not have length 1.", 
    call = NULL, cppstack = NULL), .Names = c("message", "call", 
"cppstack"), class = c("Rcpp::exception", "C++Error", "error", 
"condition"))) 
11 rsqlite_bind_params(res@ptr, params) 
10 dbBind(rs, params) 
9 dbBind(rs, params) 
8 .local(conn, statement, ...) 
7 dbSendQuery(db, sqlIns, clnVals) 
6 dbSendQuery(db, sqlIns, clnVals) at sqlForge_baseMapBuilder.R#134
5 probe2gene(baseMap = baseMap, baseMapType = baseMapType, otherSrc = otherSrcObjs, 
    chipMapSrc = chipMapSrc, chipSrc = chipSrc, pkgName = pkgName, 
    outputDir = outputDir, allowHomologyGene = allowHomologyGene) at sqlForge_baseMapBuilder.R#329
4 getMapForOtherChipPkg(filePath = fileName, pkgName = prefix, 
    chipMapSrc = chipMapSrc, chipSrc = chipSrc, otherSrc = otherSrc, 
    baseMapType = baseMapType, outputDir = outputDir) at sqlForge_schemaGen.R#26
3 popHUMANCHIPDB(affy = affy, prefix = prefix, fileName = fileName, 
    chipMapSrc = chipMapSrc, chipSrc = chipSrc, metaDataSrc = metaDataSrc, 
    otherSrc = otherSrc, baseMapType = baseMapType, outputDir = outputDir, 
    printSchema = FALSE) at sqlForge_makeAnnPkgs.R#28
2 AnnotationForge:::.makeHUMANCHIP_DB(...) at sqlForge_utils.R#44
1 makeDBPackage("HUMANCHIP_DB", affy = FALSE, prefix = "GPL6480", 
    fileName = "./GPL6480_probe_entrez", baseMapType = "eg", 
    outputDir = "./", version = "1.0.0", manufacturer = "Agilent", 
    chipName = "Agilent-014850 Whole Human Genome Microarray 4x44K G4112F (Probe Name version)",  ... 

 

Code as below:

makeDBPackage("HUMANCHIP_DB",
              affy=FALSE,
              prefix="GPL6480",
              fileName="./GPL6480_probe_entrez",
              baseMapType="eg",
              outputDir = "./",
              version="1.0.0",
              manufacturer = "Agilent",
              chipName = "Agilent-014850 Whole Human Genome Microarray 4x44K G4112F)",
              manufacturerUrl = "http://www.agilent.com/")
where ./GPL6480_probe_entrez has two columns with probe_id and entrez gene id. For example:

A_23_P100001 400451 

A_23_P100022 9899

sessionInfo()

​R version 3.2.0 (2015-04-16)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux jessie/sid

locale:
 [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C               LC_TIME=en_GB.UTF-8        LC_COLLATE=en_GB.UTF-8    
 [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8    LC_PAPER=en_GB.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] parallel  stats4    stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] BiocInstaller_1.20.1   AnnotationForge_1.13.6 org.Hs.eg.db_3.2.3     human.db0_3.2.4        AnnotationDbi_1.32.3  
 [6] IRanges_2.4.6          S4Vectors_0.8.6        Biobase_2.30.0         BiocGenerics_0.16.1    RSQLite_1.0.9000      

loaded via a namespace (and not attached):
 [1] roxygen2_5.0.1       Rcpp_0.12.2          seqRFLP_1.0.1        digest_0.6.8         dplyr_0.4.3.9000    
 [6] assertthat_0.1       R6_2.1.1             DBI_0.3.1.9008       magrittr_1.5         stringi_1.0-1       
[11] lazyeval_0.1.10.9000 devtools_1.9.1       tools_3.2.0          stringr_1.0.0        memoise_0.2.1

AnnotationForge • 3.0k views
ADD COMMENT
0
Entering edit mode

Thanks for reporting this. I'll look into it.

Valerie

ADD REPLY
1
Entering edit mode
@valerie-obenchain-4275
Last seen 2.9 years ago
United States

I can't reproduce this error. I tested with a  much reduced GPL6480_probe_entrez file - just a couple of rows. There may be a problem with the original. Can you send me your GPL6380_probe_entrez off line? (valerie.obenchain@roswellpark.org)?

Valerie

ADD COMMENT
0
Entering edit mode

Sent. Thank you.

ADD REPLY
0
Entering edit mode

Thanks for the file and reproducible example. The problem was an NA value in the probe identifier column of GPL6480_probe_entrez:

> tbl <- read.table("GPL6480_probe_entrez")
> head(tbl)
            V1     V2
1 A_23_P100001 400451
2 A_23_P100011     NA
3 A_23_P100022   9899
4 A_23_P100056 348093
5 A_23_P100074  57099
6 A_23_P100092 146050
> which(is.na(tbl[,1]))
[1] 41034

After removing this line the package is created as expected.

I've added a check for this condition and error message reporting which row(s) are the problem. Changes are in AnnotationForge devel (1.13.7) and release (1.12.2). Both should be available via biocLite() Sunday 1/16 after noon PST.

Valerie

ADD REPLY

Login before adding your answer.

Traffic: 679 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

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

Powered by the version 2.3.6