05鉴定duplicate gene

blastp比对

首先使用整个基因组的蛋白序列进行比对

  • -evalue 1e-10 筛选指标

  • -outfmt 6下一步 MCScanX 要使用的格式

  • -num_threads 20线程数目

如果存在多个转录本的情况下默认用第一个转录本代表这个基因

提取第一个转录本代表这个基因的氨基酸序列

awk 'NR==1&&$1~/^>/{print $0}NR>=2&&$1~/^>/{print "\n"$0}$1~/^[^>]/{printf $0}' Ghirsutum_gene_peptide.fasta|grep -E "Ghir_A[^\.]*\.1$" -A 1|sed -e 's/-//g' -e 's/\.1//g'
## 建库
makeblastdb -dbtype 'prot' -parse_seqids  -in Dt_peptide.fa  -out blastpDB/Dt
# 比对
blastp -query At_peptide.fa  -db At  -evalue 1e-10   -num_threads 20 -outfmt 6 -out At_vs_At.blast
## 提交LSF任务
bsub -J Dt_Dt -q "normal" -n 20 -R span[hosts=1] -e Dt_Dt.err -o Dt_Dt.out "blastp -query ~/work/Alternative/data/Ghirsutum_genome_HAU_v1.0/Dt_peptide.fa  -db ~/work/Alternative/data/Ghirsutum_genome_HAU_v1.0/blastpDB/Dt -evalue 1e-10   -num_threads 20 -outfmt 6 -out  Dt_vs_Dt.blast"

安装MCScanX

报错

error: ‘getopt’ was not declared in this scope
dissect_multiple_alignment.cc中添加头文件
#include <getopt.h>
‘chdir’ was not declared in this scope
添加头文件 #include <unistd.h>

使用说明

http://chibba.pgml.uga.edu/mcscan2/documentation/manual.pdf

制作对应的gff文件

鉴定共线性区域

  • -g gap penalty

下游的画点图程序

点图

对duplicate gene进行分类

在输出文件中*.gene_type概括了gff中所有基因的duplicate类型

  • singleton没有基因与它重复 0

  • proximal in nearby chromosomal region but not adjacent 2

  • tandem (consecutive repeat) 串联重复 3

  • whole genome /segmental (i.e. collinear genes in collinear blocks) 全基因组重复 4

  • dispersed (other modes than segmental, tandem and proximal) 1

鉴定homologous gene

1.运行All-vs-All-blastp

  • 使用基因的第一个转录本的氨基酸序列进行blastp

  • 在不同基因组之间进行blastp时,先将两个基因组对应的fasta文件合并为单个fasta文件,使用合并后的fasta文件分别做query和database

2.运行MCScanx

  • -g -3空位罚分-3

  • -s 5 共线性区域最小基因对数目

3.筛选同源基因对

当有一基因与多个基因同源的时候,优先选择block更大的组合;所以对共线性文件进行格式上的处理

输出格式如下

  • 第一列为block ID

  • 第二列为block里对应的gene id

  • 最后一列为block内含有的基因对的数目

最终一行命令解决

  • 先提取每个block的大小

  • 整理格式

  • 按照基因名、block大小进行逆序排序

  • uniq忽略前3列进行去重

  • 两列基因都需要进行去重

4.筛选四个基因组都同源的基因

  • A2_vs_At_vs_D5

    根据A2与At的同源关系找到对应的与A2同源的D5

  • A2_vs_D5_vs_Dt

    根据D5与Dt的同源关系找到对应的与D5同源的A2

  • 把两个文件A2_vs_At_vs_D5、A2_vs_D5_vs_Dt 中共有的基因对找到

  • 根据共有的A2 vs D5 基因对找到对应于四倍体的At、Dt

  • 将找到的At、Dt基因对与A2_vs_D进行比较,过滤一遍

使用python脚本提取四组同源基因

Last updated

Was this helpful?