Nantes Université

Skip to content
Extraits de code Groupes Projets
Valider 83602876 rédigé par DimitriMeistermann's avatar DimitriMeistermann
Parcourir les fichiers

fix getMarkers3

parent 8920cf36
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -1161,20 +1161,6 @@ getMarkers<-function(expressionMatrix,annotation){
}
getMarkers2<-function(expressionMatrix,group){
require(ROCR)
group<-as.factor(group)
group<-droplevels(group)
binaryGroup<-vapply(levels(group),function(x){
as.numeric(x==group)
},FUN.VALUE = numeric(length(group)))
apply(binaryGroup,2,function(labels){
apply(expressionMatrix,1,function(x){
performance(prediction(x,labels),"auc")@y.values[[1]]
})
})
}
# By Miron Kursa https://mbq.me
auroc <- function(score, bool) {
n1 <- sum(!bool)
......@@ -1198,28 +1184,28 @@ getMarkers2<-function(expressionMatrix,group){
}
getMarkers3<-function(expressionMatrix,group){
require(BiocParallel)
BPPARAM=bpparam()
if(!is.matrix(expressionMatrix)) expressionMatrix<-as.matrix(expressionMatrix)
if(length(group)!=ncol(expressionMatrix)) stop("group should be a vector with same length as number of column in expressionMatrix")
group<-as.factor(group)
group<-droplevels(group)
binaryGroup<-lapply(levels(group),function(x){
x==group & !is.na(group)
});names(binaryGroup)<-levels(group)
res<-as.matrix(data.frame(lapply(binaryGroup,function(labels){
unlist(bplapply(seq_len(nrow(expressionMatrix)),function(i,expressionMatrix,labels){
auroc(expressionMatrix[i,],labels)
},labels=labels,expressionMatrix=expressionMatrix,BPPARAM = BPPARAM),recursive = FALSE)
})))
rownames(res)<-rownames(expressionMatrix)
res
getMarkers3<-function(expressionMatrix,group,BPPARAM=NULL){
require(BiocParallel)
if(is.null(BPPARAM )) BPPARAM=bpparam()
if(!is.matrix(expressionMatrix)) expressionMatrix<-as.matrix(expressionMatrix)
if(length(group)!=ncol(expressionMatrix)) stop("group should be a vector with same length as number of column in expressionMatrix")
group<-as.factor(group)
group<-droplevels(group)
binaryGroup<-lapply(levels(group),function(x){
x==group & !is.na(group)
});names(binaryGroup)<-levels(group)
res<-as.matrix(data.frame(lapply(binaryGroup,function(labels){
unlist(bplapply(seq_len(nrow(expressionMatrix)),function(i,expressionMatrix,labels,auroc){
auroc(expressionMatrix[i,],labels)
},labels=labels,expressionMatrix=expressionMatrix,auroc=auroc,BPPARAM=BPPARAM),recursive = FALSE)
})))
rownames(res)<-rownames(expressionMatrix)
res
}
corGeneToOthers<-function(gene,expression,corFun=cor,...){
expression<-as.matrix(expression)
t(corFun(expression[gene,],t(expression),...))[,1]
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter