R语言利用cds序列计算kaks值

使用到的R包 doubletrouble,这个R包 对应的论文

Doubletrouble: Identification and Classification of Duplicated Genes

https://www.biorxiv.org/content/10.1101/2024.02.27.582236v1.abstract

可以用来鉴定基因组中的重复基因

这个论文里还提到一个R包syntenet

syntenet: an R/Bioconductor package for the inference and analysis of synteny networks

https://bioconductor.org/packages/3.18/bioc/vignettes/syntenet/inst/doc/syntenet.html#1_Introduction

推断和分析同线性网络,这个推断的作用:鉴定某个类群特异的 gene cluster,这些特异的cluster可能对这个类群重要的表型特征有影响

highlight taxon-specific gene clusters that likely contributed to the evolution of important traits, and microsynteny-based phylogenies can help resolve phylogenetic relationships under debate.

还提到一个R包 MSA2dist 主要是读取处理DNA和蛋白序列 帮助文档

https://bioconductor.org/packages/3.18/bioc/vignettes/MSA2dist/inst/doc/MSA2dist.html

今天推文的主要内容是已经有cds序列,计算kaks值。今天推文里用到的cds序列来源于论文

https://academic.oup.com/mbe/article/40/4/msad041/7140562

Beginner's Guide on the Use of PAML to Detect Positive Selection

这个论文有时间要看看,介绍的是PAML这个软件计算Dn/Ds

github主页

https://github.com/abacus-gene/paml-tutorial/tree/main

第一步是读取cds序列

代码语言:javascript
复制
dna<-Biostrings::readDNAStringSet("data1_unaln.fasta")

生成序列id的两两组合

代码语言:javascript
复制
gene_pairs<-as.data.frame(t(combn(names(dna),2)))

计算kaks值

代码语言:javascript
复制
cds_list<-list(kakspra=dna)
gene.pairs_list<-list(kakspra=gene_pairs)
kaks <- pairs2kaks(gene.pairs_list, cds_list)
head(kaks$kakspra)

这里试了一下序列id里如果有下划线还不行,需要把下滑线去掉