[BioC] Help needed with configuration function from cellHTS2 package

Wolfgang Huber huber at ebi.ac.uk
Thu Jan 3 22:08:56 CET 2008


Dear Shripad,

thanks for the report! This is an odd error. Odd because the call to 
"read.table" in the configure method does not tell read.table to expect 
row.names.

1. Can you double-check that the file "Plateconf.txt" has exactly two 
header lines before the line with "Plate   Well  Content" (and not, for 
example, also some empty lines) and that the different columns, starting 
with line 3, are really separated by tabs (and not, e.g., by spaces)

2. If you like, please also send me the PlateCtlKcP1A.csv, 
PlateList.txt, Plateconf.txt, Description.txt files so that we can 
reproduce the error and perhaps make the code that reads them more 
forgiving of such variations, or at least produce a better error message 
(please attach them to the email rather than copy/pasting them into the 
email, since the latter may distort important formating details such as 
invisible tabulator characters).

As an aside, there has been quite some development on cellHTS2 since the 
version 2.2.1 that you use (from the Bioc 2.1 release), so I would also 
suggest to get the newest version 2.3.16 from 
http://www.bioconductor.org/packages/2.2/bioc/html/cellHTS2.html
(but I don't think this solves your problem),

  Best wishes
	Wolfgang.


> Hello all,
> 
> I am running an analysis of some cell assay experiments. I am getting an 
> error in configuring the cellHTS object. I am attaching the Rt trancript 
> file of the session as well as my description and plate configuration 
> files. Any help will be greatly appreciated.
> Thanks,
> 
> Shripad Sinari
> --------------------------------------------------------------------------------
> R version 2.6.0 (2007-10-03)
> Copyright (C) 2007 The R Foundation for Statistical Computing
> ISBN 3-900051-07-0
> 
> R is free software and comes with ABSOLUTELY NO WARRANTY.
> You are welcome to redistribute it under certain conditions.
> Type 'license()' or 'licence()' for distribution details.
> 
>   Natural language support but running in an English locale
> 
> R is a collaborative project with many contributors.
> Type 'contributors()' for more information and
> 'citation()' on how to cite R or R packages in publications.
> 
> Type 'demo()' for some demos, 'help()' for on-line help, or
> 'help.start()' for an HTML browser interface to help.
> Type 'q()' to quit R.
> 
>  > if(!exists("baseenv", mode="function")) baseenv <- function() NULL
>  > options(STERM='iESS', editor='emacsclient')
>  > library(cellHTS2)
> Loading required package: prada
> Loading required package: Biobase
> Loading required package: tools
> 
> Welcome to Bioconductor
> 
>   Vignettes contain introductory material. To view, type
>   'openVignette()'. To cite Bioconductor, see
>   'citation("Biobase")' and for packages 'citation(pkgname)'.
> 
> Loading required package: RColorBrewer
> Loading required package: grid
> Loading required package: rrcov
> Loading required package: robustbase
> Scalable Robust Estimators with High Breakdown Point (version 0.4-01)
> KernSmooth 2.22 installed
> Copyright M. P. Wand 1997
> Loading required package: genefilter
> Loading required package: survival
> Loading required package: splines
> 
> Attaching package: 'survival'
> 
> 
>         The following object(s) are masked from package:robustbase :
> 
>          heart
> 
> Loading required package: splots
> Loading required package: vsn
> Loading required package: affy
> Loading required package: affyio
> Loading required package: preprocessCore
> Loading required package: limma
>  >
>  >
>  > importData <- function(fname){
> + d <- count.fields(fname, sep = ",", quote = "",
> +                   skip = 0, blank.lines.skip = TRUE,
> +                   comment.char = "")
> + nCol <- max(d)
> + pp <- min(which(d==nCol))
> +
> + x <- scan(fname, what = as.list(rep("", nCol)), skip = pp-1,
> +   sep=",", quote="", fill = TRUE, strip.white = TRUE, quiet=TRUE)
> +
> + #info = matrix(t(unlist(x)), nrow=length(x), byrow=TRUE)
> +
> + # Matrix reproducing the plate
> + x <- sapply(x, function(y) as.numeric(y))
> +
> + nums <- rep(1:ncol(x), nrow(x))
> + nums <- sapply(nums, function(i) if(i<10) paste(0, i, sep="") else i)
> + lets <- rep(LETTERS[1:nrow(x)], each=ncol(x))
> + wells <- paste(lets, nums, sep="")
> + # put as a row-wise vector
> + x <- as.vector(t(x))
> + out <- data.frame(well=I(wells), val=as.numeric(x))
> + info <- cbind(basename(fname), out)
> + tfile <- tempfile(pattern = "file", tmpdir = tempdir())
> + write.table(info, tfile, col.names=FALSE, row.names=FALSE, sep="\t", 
> quote=FALSE)
> + info <- readLines(tfile)
> + unlink(tfile)
> + out <- list(out, info)
> + return(out)
> + }
>  >
>  > x <- 
> readPlateList("Platelist.txt",path=".",name="Drug",importFun=importData)
> Found data in 8 x 12 (96 well) format.
>  Reading file 1: PlateCtlKcP1A.csv; Reading file 2: PlateCtlKcP1B.csv; 
> Reading file 3: PlateCtlKcP1C.csv; Reading file 4: PlateCtlKcP2A.csv; 
> Reading file 5: PlateCtlKcP2B.csv; Reading file 6: PlateCtlKcP2C.csv; 
> Reading file 7: PlateCtlKcS1A.csv; Reading file 8: PlateCtlKcS1B.csv; 
> Reading file 9: PlateCtlKcS1C.csv; Reading file 10: PlateCtlKcS2A.csv; 
> Reading file 11: PlateCtlKcS2B.csv; Reading file 12: PlateCtlKcS2C.csv; 
> Reading file 13: PlateCtlKcS3A.csv; Reading file 14: PlateCtlKcS3B.csv; 
> Reading file 15: PlateCtlKcS3C.csv; Reading file 16: PlateCtlS2P1A.csv; 
> Reading file 17: PlateCtlS2P1B.csv; Reading file 18: PlateCtlS2P1C.csv; 
> Reading file 19: PlateCtlS2P2A.csv; Reading file 20: PlateCtlS2P2B.csv; 
> Reading file 21: PlateCtlS2P2C.csv; Reading file 22: PlateCtlS2S1A.csv; 
> Reading file 23: PlateCtlS2S1B.csv; Reading file 24: PlateCtlS2S1C.csv; 
> Reading file 25: PlateCtlS2S2A.csv; Reading file 26: PlateCtlS2S2B.csv; 
> Reading file 27: PlateCtlS2S2C.csv; Reading file 28: PlateCtlS2S3A.csv; 
> Reading file 29: PlateCtlS2S3B.csv; Reading file 30: PlateCtlS2S3C.csv; 
> Reading file 31: PlateHPK56KcP1A.csv; Reading file 32: 
> PlateHPK56KcP1B.csv; Reading file 33: PlateHPK56KcP1C.csv; Reading file 
> 34: PlateHPK56KcP2A.csv; Reading file 35: PlateHPK56KcP2B.csv; Reading 
> file 36: PlateHPK56KcP2C.csv; Reading file 37: PlateHPK56KcS1A.csv; 
> Reading file 38: PlateHPK56KcS1B.csv; Reading file 39: 
> PlateHPK56KcS1C.csv; Reading file 40: PlateHPK56KcS2A.csv; Reading file 
> 41: PlateHPK56KcS2B.csv; Reading file 42: PlateHPK56KcS2C.csv; Reading 
> file 43: PlateHPK56KcS3A.csv; Reading file 44: PlateHPK56KcS3B.csv; 
> Reading file 45: PlateHPK56KcS3C.csv; Reading file 46: 
> PlateHPK56S2P1A.csv; Reading file 47: PlateHPK56S2P1B.csv; Reading file 
> 48: PlateHPK56S2P1C.csv; Reading file 49: PlateHPK56S2P2A.csv; Reading 
> file 50: PlateHPK56S2P2B.csv; Reading file 51: PlateHPK56S2P2C.csv; 
> Reading file 52: PlateHPK56S2S1A.csv; Reading file 53: 
> PlateHPK56S2S1B.csv; Reading file 54: PlateHPK56S2S1C.csv; Reading file 
> 55: PlateHPK56S2S2A.csv; Reading file 56: PlateHPK56S2S2B.csv; Reading 
> file 57: PlateHPK56S2S2C.csv; Reading file 58: PlateHPK56S2S3A.csv; 
> Reading file 59: PlateHPK56S2S3B.csv; Reading file 60: PlateHPK56S2S3C.csv;
> Done.
> 
>  >
>  > x <- configure(x,descripFile="Description.txt",confFile="Plateconf.txt")
> Error in read.table(file.path(ppath, confFile), sep = "\t", header = 
> TRUE,  :
>   duplicate 'row.names' are not allowed
>  > sessionInfo()
> R version 2.6.0 (2007-10-03)
> x86_64-redhat-linux-gnu
> 
> locale:
> LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=C
> 
> attached base packages:
>  [1] splines   grid      tools     stats     graphics  grDevices utils   
>  [8] datasets  methods   base    
> 
> other attached packages:
>  [1] cellHTS2_2.2.1       vsn_3.2.1            limma_2.12.0       
>  [4] affy_1.16.0          preprocessCore_1.0.0 affyio_1.6.1       
>  [7] splots_1.4.0         genefilter_1.16.0    survival_2.32      
> [10] prada_1.14.0         rrcov_0.4-01         robustbase_0.2-8   
> [13] RColorBrewer_1.0-2   Biobase_1.16.1     
> 
> loaded via a namespace (and not attached):
> [1] annotate_1.16.1     AnnotationDbi_1.0.6 DBI_0.2-4         
> [4] geneplotter_1.16.0  KernSmooth_2.22-21  lattice_0.16-5    
> [7] MASS_7.2-36         RSQLite_0.6-4       stats4_2.6.0      
>  > q()
> Save workspace image? [y/n/c]: n
> 
> Process R finished at Thu Jan  3 11:54:29 2008
> -----------------------------------------------------
> Description file:
> 
> [Lab description]
> Experimenter name: Tom Bunch
> Laboratory: Functional Genomics Shared Service
> Contact information: Arizona Cancer Center
> 
> [Screen description]
> Screen: DualChanData
> Title: Example data set for a dual-color screen
> Version: 0
> Date: Dec 2007
> Screentype: RNA interference
> Organism: Drosophila melanogaster
> Celltype: Kc
> Library: HFA
> Assay: Reporter 1 for RNAi and Reporter 2 for drug activity
> Assaytype: homogenous
> Assaydescription:  Cells were treated with dsRNAs in three 96-well plates
> 
> [Publication description]
> Publicationtitle:
> Reference:
> PMIDs:
> URL:
> License: GPL
> Abstract:
> 
> [Files]
> plateList: Platelist.txt
> plateConf: Plateconf.txt
> ----------------------------------------------------------------
> Plate configuration file:
> Wells: 96
> Plates: 10
> Plate   Well    Content
> *       *       sample
> *       G0[1-9] pos
> *       G1[0-2] pos
> *       H01     noCells+DM
> *       H02     noCells+DM
> *       H0[3-9] noCells+GM
> *       H1[0-2] noCells+GM
> 
> -----------------------------------------------------------
> 
> 
> 
> 	[[alternative HTML version deleted]]
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor



More information about the Bioconductor mailing list