Rでマルチプルアライメントを可視化しよう
マルチプルアライメントを可視化するRパッケージに、ggmsaを見つけた。
可視化するために、気に入った見た目にできるツールがあまりなかったので良かった。
(雑な)使い方:とりあえず使ってみる
DNAの時
library(ggmsa)
library(ggplot2)
msa_file <- "file_path" #読み込むfastaファイルのファイル名
ggmsa(msa_file, font = NULL, color = "Chemistry_NT", show.legend = TRUE) + #font = NULLにすると、配列の文字が消えるので、動作が速くなる。
facet_msa(field = 120) + #横に入りきらないとき、決まった長さごとに改行できる。
labs(fill = NULL) + #レジェンド名を消す。
theme(text = element_text(family = "helvetica", colour = "black", size = 10), axis.text = element_text(family = "helvetica", colour = "black", size = 5)) #文字サイズなどの調節。
ggsave("figure_name.png", width = 8, height = 8, dpi = 600, device = "png", bg="white") #サイズなどは適宜変更
アミノ酸の時(ほぼ一緒)
library(ggmsa)
library(ggplot2)
msa_file <- "file_path" #読み込むfastaファイルのファイル名
ggmsa(msa_file, font = NULL, color = "Zappo_AA", show.legend = TRUE) + #font = NULLにすると、配列の文字が消えるので、動作が速くなる。
facet_msa(field = 120) + #横に入りきらないとき、決まった長さごとに改行できる。
labs(fill = NULL) + #レジェンド名を消す。
theme(text = element_text(family = "helvetica", colour = "black", size = 10), axis.text = element_text(family = "helvetica", colour = "black", size = 5)) #文字サイズなどの調節。
ggsave("figure_name.png", width = 8, height = 8, dpi = 600, device = "png", bg="white") #サイズなどは適宜変更
colorやfontは、好みによって変えること。
シロイヌナズナでedgeRの結果に、TAIR10のfunctional descriptionを加えるには?
注意
一応うまく行っているか確認しながらやってください。
やりたいこと
edgeRで出力した発現変動遺伝子の結果に、TAIR10からダウンロードした"functional description"を加えて一つの表にする。
手順
1. edgeRで発現変動遺伝子を取り出す。
サンプルコード
library(edgeR)
library(tidyverse)
# カウントデータを読み込む(列名をAGIとして読み込む。ただし、トランスクリプトは無視する。)
data_count <- read_csv("count_data.csv", col_names = c("A1", "A2", "A3", "B1", "B2", "B3")) |> column_to_rownames(var = "gene_id")
group = factor(c("A", "A", "A", "B", "B", "B"))
time = factor(c("1", "2", "3", "1", "2", "3"))
data_count_DGE <- DGEList(counts = data_count, group = group)
keep <- filterByExpr(data_count_DGE)
data_count_DGE <- data_count_DGE[keep, , keep.lib.sizes = FALSE] |> normLibSizes()
design <- model.matrix(~species)
rownames(design) <- colnames(data_count_DGE)
estimate <- estimateDisp(data_count_DGE, design, robust = TRUE)
fit <- glmQLFit(estimate, design, robust = TRUE)
qlf <- glmQLFTest(fit)
data_qlf <- qlf |> topTags(n = nrow(data_count)) |> as.data.frame() |> rownames_to_column(var = "gene_id")
data_cpm <- cpm(data_count_DGE) |> as.data.frame() |> rownames_to_column(var = "gene_id") |> full_join(data_qlf)
2. TAIRからTAIR10_functional_descriptionsをダウンロード
TAIR10_functional_descriptions
3. TAIR10_functional_descriptionsをRで読み込む
# ただし、トランスクリプトを無視する場合。遺伝子名を1文字目から9文字目までを取り出している。
description <- read_tsv("./TAIR10_functional_descriptions.txt") |>
rename("gene_id" = Model_name) |>
mutate(gene_id = str_sub(gene_id, end = 9)) |>
distinct(gene_id, .keep_all = TRUE)
4. 2つのデータを結合する。
data_cpm <- data_cpm |> full_join(description, by = "gene_id")
data_cpm |> write_csv("data_cpm.csv")
data_cpm.csvを見ると、AGIコードと発現量と機能が一つの表で見られるようになっているはず。
間違いあったらコメントください。