美文网首页
基因家族分析(9)物种间的共线性分析及jcvi绘图

基因家族分析(9)物种间的共线性分析及jcvi绘图

作者: Bioinfor生信云 | 来源:发表于2022-08-19 21:42 被阅读0次

物种间的共线性

数据准备

种间共线性分析仍然使用 mcscanx 软件,这里用拟南芥和苦荞之间的共线性分析举例。
需要准备的是两物种的蛋白质序列和 gff3 文件。

Ath.pep.fasta
Ath_final.gff3
Ft.pep.fasta
Ft_final.gff3

注:这里用到的蛋白和gff3文件都是在第一步经过处理的,只保留最长转录本的文件。

#构建blast 数据库
makeblastdb -in Ft.pep.fasta -dbtype prot
makeblastdb -in Ath.pep.fasta -dbtype prot
#blast比对
blastp -query Ath.pep.blast \
-db Ft.pep.fasta \
-evalue 1e-10 \
-max_target_seqs 5 \
 -outfmt 6 \
-out tmp.Ath_Ft.blast

blastp -query Ft.pep.blast \
-db Ath.pep.fasta \
-evalue 1e-10 \
-max_target_seqs 5 \
-outfmt 6 \
-out tmp.Ft_Ath.blast

#合并blast结果
cat tmp.*.blast > Ft-Ath.blast

#过滤gff3文件(符合数据输入的格式)
awk '$3=="mRNA"' Ft_final.gff3 | awk -F ";" '{print $1}'| \
awk '{print $1"\t"$9"\t"$4"\t"$5}'|sed 's/ID=//' > Ft.gff
awk '$3=="mRNA"' Ath_final.gff3 | awk -F ";" '{print $1}'| \
awk '{print $1"\t"$9"\t"$4"\t"$5}'|sed 's/ID=//' > Ath.gff

#合并gff文件
cat Ft.gff Ath.gff > Ft-Ath.gff

# 共线性分析
/home/software/MCScanX/MCScanX ./Ft-Ath

结果文件
Ft-Ath.collinearity


Ft-Ath.collinearity

jcvi展示共线性分析结果

对于物种间共线性分析结果,我们使用 python 版本的 mcscanx 绘图程序进行绘制。

需要准备的文件如下:

  1. 苦荞和拟南芥共线性分析结果 Ft-Ath.collinearity
  2. 苦荞和拟南芥 mcscanx gff 文件
# 修改Ft-Ath.collinearity文件成jcvi anchors格式
cat Ft-Ath.collinearity | \
awk -F "\t" '{if($1~/^## Alig/){print "###"}
else if($1 !~/#/){print $2"\t"$3 }}' | \
awk '{if($1~/#/){print $0} else if($1~/^A/) {
print $2"\t"$1"\t1000"}else{print $0"\t"1000}}' > Ft.Ath.anchors

# 修改mcscanx 的gff文件,成bed格式
awk '{print $1"\t"$3"\t"$4"\t"$2}' Ft.gff > Ft.bed
awk '{print $1"\t"$3"\t"$4"\t"$2}' Ath.gff > Ath.bed

# 生成 .simple 文件用于jcvi绘图
python -m jcvi.compara.synteny screen \
--minspan=10 --simple Ft.Ath.anchors Ft.Ath.anchors.new

# 修改Ft.Ath.anchors.simple,高亮显示家族基因所在block
perl ./gene_highlight_jcvi.pl \ 这里用到一个perl脚本
./Ft.gene_name \ # 输入,家族基因和物种名对应表格
Ft.Ath.anchors.new \ # 输入,前面生成的anchors文件
Ft.Ath.anchors.simple \ # 输入,前面生成的simple文件
> Ft.Ath.anchors.simple.mark # 标记共线性基因对的simple文件

# 生成绘图的id文件,里面记录需要绘制的染色体名称
cut -f 1 Ft.bed |sort -u | awk '{printf $0","}' | \
sed 's/,$/\n/' > Ft.ids
cut -f 1 Ath.bed |sort -u | awk '{printf $0","}' | \
sed 's/,$/\n/' > Ath.ids
cat Ft.ids Ath.ids > seqids

# 手写绘图配置文件layout_mark,格式如下
## y, xstart, xend, rotation, color, label, va, bed
.6, .1, .8, 0, , Ft, top, Ft.bed
.4, .1, .8, 0, , Ath, bottom, Ath.bed
# edges
e, 0, 1, Ft.Ath.anchors.simple.mark

# 绘制高亮的共线性图
python -m jcvi.graphics.karyotype seqids layout_mark

注:jcvi在安装的过程中可能会遇到问题,大部分都能在网络上找到解决方案。


欢迎关注Bioinfor 生信云微信公众号!

相关文章

网友评论

      本文标题:基因家族分析(9)物种间的共线性分析及jcvi绘图

      本文链接:https://www.haomeiwen.com/subject/bspugrtx.html