每日练笔js css html

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

2022-08-25  本文已影响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()

上一篇下一篇

猜你喜欢

热点阅读