RSEM的TPM,FPKM,COUNT数据整合

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")
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容