示例
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格式。
网友评论