@@ -204,7 +204,7 @@ fixdf <- function(df, idvars, primerid, measurement, cmap, fmap, keep.names){
204
204
# # unnamed arguments get passed along to callNextMethod
205
205
# # which eventually just sets the slots
206
206
setMethod ('initialize ', 'SingleCellAssay',
207
- function (.Object , dataframe , idvars , primerid , measurement , cellvars = NULL , featurevars = NULL , phenovars = NULL , sort = TRUE , ... ){
207
+ function (.Object , dataframe , idvars , primerid , measurement , exprsMatrix , cellvars = NULL , featurevars = NULL , phenovars = NULL , sort = TRUE , ... ){
208
208
# #message(class(.Object), ' calling SingleCellAssay Initialize') #DEBUG
209
209
.Object <- callNextMethod()
210
210
if (sort ) .Object <- sort(.Object )
@@ -639,3 +639,23 @@ setMethod('combine', signature=c(x='SingleCellAssay', y='AnnotatedDataFrame'), f
639
639
slot(x , along ) <- newdata
640
640
x
641
641
})
642
+
643
+ setAs(' ExpressionSet' , ' SingleCellAssay' , function (from ){
644
+ # # just a transposed version
645
+ ex <- t(exprs(from ))
646
+ dn <- dimnames(ex )
647
+ names(dn ) <- c(' wellKey' , ' primerid' )
648
+ dim(ex ) <- c(dim(ex ), 1 )
649
+ pd <- phenoData(from )
650
+ pData(pd )[,' wellKey' ] <- sampleNames(pd )
651
+ fd <- featureData(from )
652
+ fd $ primerid <- sampleNames(fd )
653
+ dimnames(ex ) <- c(dn , layer = ' ExpressionSet' )
654
+ DL <- new(' DataLayer' , .Data = ex )
655
+ new(' SingleCellAssay' , .Data = DL , featureData = fd , cellData = pd , sort = FALSE )
656
+ })
657
+
658
+ # # setAs('SingleCellAssay', 'data.table', function(from){
659
+ # # dt <- data.table(as.vector(exprs(from)))
660
+
661
+ # # })
0 commit comments