绘图

测序深度图的制作

2023-03-23  本文已影响0人  路人里的路人

1.安装samtools并将sam文件转为bam文件
samtools是一款非常好用的工具,本文我们使用的功能较少。详细的使用方法请见:samtools用法详解_samtools 使用_sunchengquan的博客-CSDN博客

conda install samtools
#通过conda安装samtools
cd /to/your/work/place
#转到存放有sam文件的文件夹,sam文件为getorganelle组装叶绿体基因组时产生
samtools view -@8 -b test.sam > test.bam
#使用samtools view将sam文件转为bam文件,-@表示使用的线程数

2.排序归档和提取

samtools sort -o test_sort.bam test.bam
#对bam文件进行排序
samtools index test_sort.bam
#对test_sort.bam构建索引
samtools depth test_sort.bam > test_depth.txt
#计算每一个位点或者区域的测序深度并生成文件储存
cut -f 2-3 test_depth.txt > depth.txt
#对生成的txt文件进行数据裁剪,直接使用Linux的cut命令,-f表示裁剪整列,2-3表示裁剪后保存2-3列

3.画测序深度图
先将上一步得到的count文件放入R的工作目录

getwd()
#查看工作目录
setwd("/path/to/your/work/place")
#设置工作目录
install.packages("ggplot2")
#如果没有安装ggplot2,可以安装install.packages(c("package1","package2",....)),此命令可同时安装多个包
library(ggplot2)
#加载ggplot2
depths <- read.table("test_depth.txt.count")
#读取测序深度数据
ggplot(depths, aes(x=V1, fill="blue")) + 
  geom_histogram(binwidth=10) + 
  labs(title = "Sequencing Depth Distribution", x = "Depth", y = "Frequency") +
  scale_fill_manual(values="blue") +
  scale_x_continuous(limits = c(0, 200000), 
                     breaks = seq(0, 200000, 50000),
                     labels = c("0", "50k", "100k", "150k", "200k")) +
  scale_y_continuous(limits = c(0, 200), 
                     breaks = seq(0, 200, 20)) +
  theme(panel.grid.major = element_blank(),
        panel.grid.minor = element_blank())
#第一行规定了柱状图的颜色
#第二行定义了x轴y轴和注释信息
#第五、六、七行规定了X轴的长度和间隔
#第八、九行规定了Y轴的长度和间隔

Rstudio可以选择输出文件的类型,有png和pdf两种。

上一篇 下一篇

猜你喜欢

热点阅读