美文网首页统计方法
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