美文网首页统计方法
RSEM的TPM,FPKM,COUNT数据整合

RSEM的TPM,FPKM,COUNT数据整合

作者: 可能性之兽 | 来源:发表于2022-04-17 16:39 被阅读0次

RSEM的数据整合只能整合count内容
所以简单写了个函数整合RSEM的TPM,FPKM,COUNT

Rsem_get<-function(isoforms_results,Types){
if (Types=="count"){
    outtab=data.frame()
for(i in 1:length(isoforms_results)){
    iso_name=str_split(isoforms_results[i], "\\.")[[1]][1]
    print(iso_name)
    if(i==1){
    
    data=read.table(isoforms_results[i],sep="\t",header=T)
    data_count=data[,c(1,2,3,5)]
    colnames(data_count)[4]<-paste(iso_name,"_count",sep="")
    outtab=rbind(outtab,data_count)
    }else{
    data=read.table(isoforms_results[i],sep="\t",header=T)
    data_count=data.frame(data[,c(5)])
    names(data_count)=paste(iso_name,"_count",sep="")
    outtab=cbind(outtab,data_count[,1])
    colnames(outtab)[length(colnames(outtab))]<-paste(iso_name,"_count",sep="")
    }
    }
}

else if(Types=="TPM"){
    outtab=data.frame()
 for(i in 1:length(isoforms_results)){
    iso_name=str_split(isoforms_results[i], "\\.")[[1]][1]
    print(iso_name)
    if(i==1){
    
    data=read.table(isoforms_results[i],sep="\t",header=T)
    data_count=data[,c(1,2,3,6)]
    colnames(data_count)[4]<-paste(iso_name,"_TPM",sep="")
    outtab=rbind(outtab,data_count)
    }else{
    data=read.table(isoforms_results[i],sep="\t",header=T)
    data_count=data.frame(data[,c(6)])
    names(data_count)=paste(iso_name,"_TPM",sep="")
    outtab=cbind(outtab,data_count[,1])
    colnames(outtab)[length(colnames(outtab))]<-paste(iso_name,"_TPM",sep="")
    }
    }
}   




else if (Types=="FPKM"){
    outtab=data.frame()
 for(i in 1:length(isoforms_results)){
    iso_name=str_split(isoforms_results[i], "\\.")[[1]][1]
    print(iso_name)
    if(i==1){
    
    data=read.table(isoforms_results[i],sep="\t",header=T)
    data_count=data[,c(1,2,3,7)]
    colnames(data_count)[4]<-paste(iso_name,"_FPKM",sep="")
    outtab=rbind(outtab,data_count)
    }else{
    data=read.table(isoforms_results[i],sep="\t",header=T)
    data_count=data.frame(data[,c(7)])
    names(data_count)=paste(iso_name,"_FPKM",sep="")
    outtab=cbind(outtab,data_count[,1])
    colnames(outtab)[length(colnames(outtab))]<-paste(iso_name,"_FPKM",sep="")
    }
    }

}



else if (Types=="ISO"){
    outtab=data.frame()
 for(i in 1:length(isoforms_results)){
    iso_name=str_split(isoforms_results[i], "\\.")[[1]][1]
    print(iso_name)
    if(i==1){
    
    data=read.table(isoforms_results[i],sep="\t",header=T)
    data_count=data[,c(1,2,3,8)]
    colnames(data_count)[4]<-paste(iso_name,"_IsoPct",sep="")
    outtab=rbind(outtab,data_count)
    }else{
    data=read.table(isoforms_results[i],sep="\t",header=T)
    data_count=data.frame(data[,c(8)])
    names(data_count)=paste(iso_name,"_IsoPct",sep="")
    outtab=cbind(outtab,data_count[,1])
    colnames(outtab)[length(colnames(outtab))]<-paste(iso_name,"_IsoPct",sep="")
    }
    }

}

return(outtab)
}

list.files(pattern = "*isoforms.results")->isoforms_results

data_tpm<-Rsem_get(isoforms_results,"TPM")

相关文章

网友评论

    本文标题:RSEM的TPM,FPKM,COUNT数据整合

    本文链接:https://www.haomeiwen.com/subject/abslertx.html