美文网首页每日练笔js css html
获得转录本id和基因id的对应表格

获得转录本id和基因id的对应表格

作者: 小明的数据分析笔记本 | 来源:发表于2022-08-25 19:26 被阅读0次

    使用kallisto软件获得转录本的表达量,利用tximport这个R包把所有样本的表达量合并到一起,可以获得转录本的表达量,如果提供转录本id和基因id的对应表格,也可以获得基因的表达量

    我是用stringtie这个软件获得gtf文件,然后利用这个gtf文件获得转录本的fasta文件,然后用这个fasta文件去计算表达量

    有了stringtie这个软件获得的gtf文件很容易就可以获得转录本和基因id的对应表格

    首先使用gffread软件对gtf文件进行操作

    gffread -E --keep-genes input.gtf -o input/output.gtf
    

    这个output.gtf文件基本的内容

    接下来在R语言里操作

    library(readr)
    library(stringr)
    library(tidyverse)
    df <- read_tsv("output.gtf",col_names = FALSE,comment = "#")
    f%>%filter(X3=='transcript')%>%select(X9)%>%mutate(X9=str_replace_all(X9,"ID=|Parent=",""))%>%rename("TXNAME;GENEID"="X9")%>%write_csv
        (file = "tx2gene.csv")
    

    然后用tximport读取kallisto的结果

    help(package="tximport")
    list.files("D:/Bioinformatics_Intro/pomeRTD/kallisto.output",
               recursive = TRUE,
               full.names = TRUE,
               pattern = "*.h5") -> files
    library(stringr)
    library(tximport)
    library(readr)
    library(tidyverse)
    
    names(files)<- str_extract(files,pattern = "PRJ[A-z0-9]+/SRR[0-9]+") %>% 
      str_replace("/","_")
    
    tx2gene<-read_delim("D:/Bioinformatics_Intro/pomeRTD/kallisto.output/pomeRTD_tx2gene.csv",
                        delim = ";")
    head(tx2gene)
    
    txi.ka.gene<-tximport(files,
                           type = "kallisto",
                           tx2gene = tx2gene)
    txi.ka.tx<-tximport(files,
                          type = "kallisto",
                          txOut = TRUE)
    txi.ka.gene$abundance %>% dim()
    txi.ka.tx$abundance %>% dim()
    
    

    相关文章

      网友评论

        本文标题:获得转录本id和基因id的对应表格

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