示例
library(tidyverse)
library(RIdeogram)
library(readr)
fai <- read_delim("Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gz.fai",
"\t", escape_double = FALSE, col_names = FALSE,
trim_ws = TRUE)
x1 <- select(fai, Chr = X1, End = X2) %>%
mutate(Start = 0) %>%
select(Chr, Start, End)
write.table(x1,
file = 'data/othersx1.txt',
sep = '\t',
quote = F,
row.names = F)
gene_density <- GFFex(
input = "Arabidopsis_thaliana.TAIR10.47.gff3.gz",
karyotype = "x1.txt",
feature = "gene",
window = 100000)
ideogram(karyotype = x1,
overlaid = gene_density,
output = 'chromosome.svg')
convertSVG("chromosome.svg",
file = 'chromosome',
device = "pdf")
从拟南芥的基因组文件中提取染色体信息和基因密度信息,并将这些信息可视化为染色体图。
-
首先,加载所需的R包:
-
tidyverse:一组用于数据科学的R包,包括数据处理(如dplyr和readr)和可视化(如ggplot2)等工具。 -
RIdeogram:用于在R中绘制染色体和基因的位置以及密度的工具。
-
使用
readr包的read_delim函数读取拟南芥基因组索引文件。这个文件包含了拟南芥的染色体信息(如长度等),并将其存储在变量fai中。文件以制表符\t分隔,不处理双引号,没有列名,并且会去除空格。从
fai数据框中选择特定的列,并对其进行处理,以生成一个名为at_karyotype的新数据框。将
x1数据框保存到一个名为x1.txt的文件中,使用制表符作为字段分隔符,不使用引号包围字段,并且不保存行名。使用
RIdeogram包中的GFFex函数来处理一个名为Arabidopsis_thaliana.TAIR10.47.gff3.gz的GFF文件,这个文件可能包含了拟南芥的基因等功能元素的位置信息。GFFex函数旨在提取特定特征(这里是基因)的密度信息,并将结果存储在gene_density变量中。使用
ideogram函数根据x1和gene_density信息绘制染色体的图像,输出文件为chromosome.svg。这个步骤生成了一个可视化图像,展示了拟南芥某染色体的基因密度。最后,使用
convertSVG函数将SVG格式的图像转换为PDF格式。
