@@ -323,14 +323,14 @@ pgx.superBatchCorrect <- function(X, pheno, model.par, partype=NULL,
323
323
n.sv
324
324
}
325
325
cX1 <- Matrix :: head(cX [order(- apply(cX ,1 ,sd )),],1000 ) # # top 1000 genes only (faster)
326
- sv <- try( sva(cX1 , mod1x , mod0 = mod0x , n.sv = n.sv )$ sv )
326
+ sv <- try( sva :: sva (cX1 , mod1x , mod0 = mod0x , n.sv = n.sv )$ sv )
327
327
# #sv <- SmartSVA::smartsva.cpp(cX, mod1x, mod0=mod0x, n.sv=n.sv)$sv
328
328
if (any(class(sv )== " try-error" )) {
329
329
# # try again with little bit of noise...
330
330
a <- 0.01 * mean(apply(cX ,1 ,sd ))
331
331
cX1 <- cX + a * matrix (rnorm(length(cX )),nrow(cX ),ncol(cX ))
332
332
cX1 <- Matrix :: head(cX1 [order(- apply(cX1 ,1 ,sd )),],1000 ) # # top 1000 genes only (faster)
333
- sv <- try( sva(cX1 , mod1x , mod0 = mod0x , n.sv = pmax(n.sv - 1 ,1 ))$ sv )
333
+ sv <- try( sva :: sva (cX1 , mod1x , mod0 = mod0x , n.sv = pmax(n.sv - 1 ,1 ))$ sv )
334
334
}
335
335
if (! any(class(sv )== " try-error" )) {
336
336
message(" [pgx.superBatchCorrect] Performing SVA correction..." )
@@ -509,7 +509,7 @@ pgx.PC_correlation <- function(X, pheno, nv=3, stat="F", plot=TRUE, main=NULL) {
509
509
tt0 <- c(" PC correlation" ," PC variation" )[1 + 1 * (stat == " F" )]
510
510
if (is.null(main )) main <- tt0
511
511
# # R <- R[,ncol(R):1]
512
- plt <- ggpubr :: ggbarplot(t(R ), ylab = stat0 , srt = 45 , group.name = " " ) +
512
+ plt <- plot. ggbarplot(t(R ), ylab = stat0 , srt = 45 , group.name = " " ) +
513
513
# # ggplot2::theme(
514
514
# # legend.key.size = grid::unit(0.65,"lines"),
515
515
# # legend.key.height = grid::unit(0.35,"lines"),
@@ -683,7 +683,7 @@ pgx.performBatchCorrection <- function(ngs, zx, batchparams,
683
683
# # mod1 <- ngs$model.parameters$design
684
684
mod0 <- cbind(mod1 [,1 ])
685
685
# #mod0 = model.matrix( ~ 1, data=ngs$samples)
686
- sv <- sva( 0.0001 + zx , mod1 , mod0 , n.sv = NULL )$ sv
686
+ sv <- sva :: sva ( 0.0001 + zx , mod1 , mod0 , n.sv = NULL )$ sv
687
687
# #sv <- svaseq( 2**zx, mod1, mod0, n.sv=NULL)$sv
688
688
zx <- limma :: removeBatchEffect(zx , covariates = sv , design = mod1 )
689
689
} else if (batchpar == " <NNM>" ) {
@@ -778,7 +778,7 @@ pgx.removeBatchEffect <- function(X, batch, model.vars=NULL,
778
778
X <- limma :: removeBatchEffect(X , batch = batch0 )
779
779
} else if (method == " ComBat" ) {
780
780
781
- X <- ComBat(X , batch = batch0 )
781
+ X <- sva :: ComBat(X , batch = batch0 )
782
782
} else if (method == " BMC" ) {
783
783
# # batch mean center
784
784
matlist <- tapply(1 : ncol(X ), batch0 , function (i ) X [,i ,drop = FALSE ])
@@ -885,13 +885,10 @@ pgx.computeBiologicalEffects <- function(X, is.count=FALSE)
885
885
return (pheno )
886
886
}
887
887
888
- nmax = - 1
888
+ # # nmax=-1
889
889
pgx.svaCorrect <- function (X , pheno , nmax = - 1 ) {
890
890
# #
891
- # # IK: not sure about this SVA correction stuff...
892
-
893
-
894
-
891
+ # # IK: not sure about this SVA correction stuff...
895
892
if (NCOL(pheno )== 1 ) {
896
893
pheno <- data.frame (pheno = pheno )
897
894
}
@@ -915,24 +912,23 @@ pgx.svaCorrect <- function(X, pheno, nmax=-1) {
915
912
# #df <- data.frame(var=y)
916
913
# #mod1x = model.matrix( ~var, data=df)
917
914
# #mod0x = model.matrix( ~1, data=df)
918
-
919
915
mod1x <- cbind(1 , mod1 )
920
916
mod0x <- mod1x [,1 ,drop = FALSE ]
921
917
# #mod0 = NULL
922
918
923
919
message(" Estimating number of surrogate variables..." )
924
920
if (0 ) {
925
921
# # original method using SVA
926
- n.sv = num.sv(X , mod1x , method = " be" )
922
+ n.sv = sva :: num.sv(X , mod1x , method = " be" )
927
923
n.sv
928
924
} else {
929
925
# # fast method using SmartSVA
930
926
# #X.r <- t(resid(lm(t(X) ~ var, data=df)))
931
927
pp <- paste0(colnames(pheno ),collapse = " +" )
932
928
pp
933
929
lm.expr <- paste0(" lm(t(X) ~ " ,pp ," , data=pheno)" )
934
- X.r <- t(resid(eval(parse(text = lm.expr ))))
935
- n.sv <- EstDimRMT(X.r , FALSE )$ dim + 1
930
+ X.r <- t(stats :: resid(eval(parse(text = lm.expr ))))
931
+ n.sv <- isva :: EstDimRMT(X.r , FALSE )$ dim + 1
936
932
n.sv
937
933
}
938
934
n.sv <- min(n.sv , min(table(y )))
@@ -943,7 +939,7 @@ pgx.svaCorrect <- function(X, pheno, nmax=-1) {
943
939
if (nmax > 0 ) {
944
940
vX = Matrix :: head(X [order(- apply(X ,1 ,sd )),],nmax )
945
941
}
946
- sv <- sva(vX , mod1x , mod0x , n.sv = n.sv )$ sv
942
+ sv <- sva :: sva (vX , mod1x , mod0x , n.sv = n.sv )$ sv
947
943
# #sv <- SmartSVA::smartsva.cpp(X, mod1x, mod0=mod0x, n.sv=n.sv)$sv
948
944
949
945
message(" Perform batch correction..." )
@@ -1056,7 +1052,7 @@ pgx._runComputeNumSig <- function(ngs, parcomb, contrast, resample=-1,
1056
1052
mod0 = cbind(mod1 [,1 ])
1057
1053
logcpm <- edgeR :: cpm(ngs $ counts , log = TRUE ) # # perform SVA on logCPM
1058
1054
log <- capture.output({
1059
- suppressWarnings(sv <- sva(logcpm , mod1 , mod0 , n.sv = NULL )$ sv )
1055
+ suppressWarnings(sv <- sva :: sva (logcpm , mod1 , mod0 , n.sv = NULL )$ sv )
1060
1056
suppressWarnings(aX <- limma :: removeBatchEffect( logcpm , covariates = sv , design = mod1 ))
1061
1057
})
1062
1058
dim(aX )
0 commit comments