美文网首页基因家族分析群体遗传学R语言
手把手教你计算旁系同源基因ka/ks值

手把手教你计算旁系同源基因ka/ks值

作者: R语言数据分析指南 | 来源:发表于2022-04-14 23:47 被阅读0次

欢迎关注R语言数据分析指南

最近在做一个基因家族的数据分析,整理了一下以前的笔记,本节通过水稻的案例来介绍如何计算该物种旁系同源基因的ka/ks值

软件安装

conda install clustalw
conda install blast

数据下载

http://rice.uga.edu/pub/data/Eukaryotic_Projects/o_sativa/annotation_dbs/pseudomolecules/version_7.0/all.dir/

除了上述2款软件外,还需要mcscanxParaAT,KaKs_Calculator三款软件,需要自己官网下载编译,并添加环境变量

1.整理gff文件

第一步需要根据自己研究的物种gff文件将其进行整理,不同的物种gff文件略有不同,下面以水稻为例子

library(tidyverse)
read_tsv("Oryza_sativa.IRGSP.gff",comment = "#",col_names = F) %>% 
  filter(X3=="mRNA") %>% 
  mutate_at(vars(c(X9)),~str_split(.,";",simplify=T)[,1]) %>% 
  mutate(across("X9",str_replace,"ID=:","")) %>% 
  select(1,9,4,5) %>% 
  write.table(.,file="Os.gff",sep="\t",quote = F,row.names = F,col.names = F)
  • 整理成如下四列的格式
Chr1    LOC_Os01g01010.1    2903    10817
Chr1    LOC_Os01g01010.2    2984    10562
Chr1    LOC_Os01g01019.1    11218   12435
Chr1    LOC_Os01g01030.1    12648   15915
Chr1    LOC_Os01g01040.1    16292   20323
Chr1    LOC_Os01g01040.2    16321   20323
Chr1    LOC_Os01g01040.3    16321   20323
Chr1    LOC_Os01g01040.4    16292   18304
Chr1    LOC_Os01g01050.1    22841   26971

2.对蛋白序列做blast比对

# 对蛋白序列构建索引
makeblastdb -in data/protein.fa -dbtype prot -title protein.fa

# 进行序列比对
blastp -query ~/data/protein.fa -out Os.blast -db ~/data/protein.fa -outfmt 6 -evalue 1e-5 -num_threads 30

3.mcscanx进行共线性分析

注:两个文件放到同一个文件夹中 Os.blast & Os.gff,通过mcscanx找到同源基因

mcscanx ./kaks/Os
  • mcscanx输出.tandem的文件需要按置表符分为2列
sed -i s'/,/\t/g' *.tandem

4.计算水稻全部ka/ks

  • 输出写绝对路径,输出文件夹无需先创建,需要先整理CDS序列与蛋白序列格式
  • 需要在ParaAT中执行 chmod 777 Epal2nal.pl

数据整理

touch proc;echo 30 > proc # 设置线程数

# 将序列多行变一行
awk '/^>/&&NR>1{print "";}{printf "%s",/^>/?$0"\n":$0}' ../data/cds.fa > cds.fasta 
awk '/^>/&&NR>1{print "";}{printf "%s",/^>/?$0"\n":$0}' ../data/protein.fa > protein.fasta

计算ka/ks值

ParaAT.pl -h ./kaks/Os.tandem -n ./cds.fasta -a ./protein.fasta -m clustalw2 -p proc -f axt -g -k KaKs_Calculator -o ./ka-ks

合并ks/ks文件

find . -name "*.kaks " -exec cat '{}' ';' > Os.kaks
less Os.kaks|sort|uniq > Os.rename.kaks.xls

数据获取

根据个人电脑性能需要耗费时间不同,blast比对 & ka/ks计算此两步最耗费时间;一般对于小基因组物种个人电脑需要耗费几十小时不等;今天的介绍到此结束

相关文章

  • 手把手教你计算旁系同源基因ka/ks值

    欢迎关注R语言数据分析指南 最近在做一个基因家族的数据分析,整理了一下以前的笔记,本节通过水稻的案例来介绍如何计算...

  • 计算旁系同源基因的Ks

    旁系同源基因简单来说就是同一物种内,通过基因复制产生的不同的两种基因。 计算直系同源的办法网上已经很详细,今天我来...

  • 比较基因组从入门到放弃(4)

    今儿来讲一哈利用Paml计算收到正选择的基因因为很多的基因 Ka/Ks 都要小于1 我们用P值来定义是否受到正选择...

  • Kaks_calculator计算ka/ks 值

    kaks_calculator可用来计算ka,ks值,后续可计算分化时间点等。 安装 安装ParaAT 在安装ka...

  • tbtools kaks

    高速!大规模 (10w+) 基因对 Ka/Ks 计算工具[http://www.360doc.com/conten...

  • paml计算 KaKs值

    此前介绍利用Kaks_calculator计算ka/ks 值,本次对paml 进行计算kaks做一简单介绍。 软件...

  • WGDI软件(一):安装与配置

    前言 WGDI软件对于比较基因组分析非常实用,能够分析全基因组复制事件,识别同源区块,画共线性点阵图,求ka、ks...

  • 计算Ka Ks

    1.准备文件1)需要蛋白文件和编码蛋白的核酸序列,文件格式fasta格式,对应的蛋白和核酸的id要一样 2)同源蛋...

  • 批量计算kaks,所有人-技能Get !

    写在前面 近期课题需要,要计算超大量,反正是很多基因对的Ka/Ks值,于是我实现了这么一个功能,顺便打了一个GUI...

  • mysql数据库安装及OrthoMCL使用

    直系同源基因是伴随物种分化事件而产生,而旁系同源基因是由复制事件所产生。目前,随着基因组测序的快速发展,直...

网友评论

    本文标题:手把手教你计算旁系同源基因ka/ks值

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