美文网首页
KOG 注释

KOG 注释

作者: iBioinformatics | 来源:发表于2023-06-28 10:13 被阅读0次

写在前面

午间,收到朋友求助,问及如何进行序列的 KOG 注释...Emmm,这个可就太久远了。事实上,无论是 COG 还是 KOG 数据库,基本都没怎么更新过。其中 KOG 某种程度属于 COG 的拓展,后者主要用于原核生物,前者用于真核生物。尽管COG在2014年(我刚接触生信的时候)更新了一般,但KOG就没更新过,停留在 20年前。这个数据库主要是基于 7 个主要真核生物构建,其中植物应该就拟南芥... 收到朋友的求助,我还是非常惊讶,怎么这个年代还有人做KOG注释。然而,无论如何,还是看看。
下述为操作记录,比较简单

下载数据

wget https://ftp.ncbi.nih.gov/pub/COG/KOG/fun.txt
wget https://ftp.ncbi.nih.gov/pub/COG/KOG/kog
wget https://ftp.ncbi.nih.gov/pub/COG/KOG/kyva
# wget https://ftp.ncbi.nih.gov/pub/COG/KOG/kyva=gb
# wget https://ftp.ncbi.nih.gov/pub/COG/KOG/lse
# wget https://ftp.ncbi.nih.gov/pub/COG/KOG/pa
# wget https://ftp.ncbi.nih.gov/pub/COG/KOG/readme
wget https://ftp.ncbi.nih.gov/pub/COG/KOG/twog

序列比对

建库

# makeblastdb -in kyva -input_type fasta -dbtype prot

比对(逻辑上可以用 ghostz 或者 diamond 替代)

# blastx -db kyva -query transcripts.fa -out transcripts.2.kog.blast.tab -evalue 1e-5 -qcov_hsp_perc 33 -outfmt 6 -max_target_seqs 20 -num_threads 40

实在太慢,我用 diamond

diamond makedb --in kyva -d kyva.diamond
diamond blastx --db kyva.diamond --query transcripts.fa --out transcripts.2.kog.diamond.tab --threads 20

过滤

perl -F'\t' -lane 'next if $seen{$F[0]}++;next if $F[-2]>1e-5;print' transcripts.2.kog.diamond.tab > transcripts.2.kog.diamond.tab.filtered

KOG 关系映射

perl -lane 'next unless $_;if(/^\[([A-Z]+)\]\s*(.*?)$/){$anno=$2;@flag=split "",$1;}else{print join qq{\t},$F[1],$1,$2}' kog > kog.parsed.tab

表格合并

perl -F'\t' -lane 'if(!$flag){$anno{$F[0]}=q{[}.$F[1].q{]}.$F[2]}else{print join qq{\t},$F[0],qq{$F[1]/$F[-2]/$anno{$F[1]}}}$flag=1 if eof ARGV' kog.parsed.tab transcripts.2.kog.diamond.tab.filtered > kog.anno.tab

结果示例

image

对应的后续可以做一下结果可视化,比如大家都喜欢进行归类信息,做个柱形图云云,具体参考「fun.txt」的分类整理,然后绘图就可以了(PS: 注意,有一些Group同时归属于两个大字母,比如 T 或者 U)

image image

转自:https://www.jianshu.com/p/a750dd634682

相关文章

  • GO,KEGG,KOG注释后分类柱状图怎么画

    如题,特别KEGG,在kaas注释以后,得到的是一系列KO号,网页版虽然有分类,但是也不能直接下载和统计分析,如何...

  • 奇葩注释整理

    注释 1 注释 2 注释3 注释4 注释5 注释6 注释7 注释8 注释9 注释10 注释11 注释12 注释13...

  • complexheatmap学习——注释

    单个注释 使用注释函数进行注释 空白注释 分组注释 点的注释 线条注释 柱状图注释 箱式图注释 条形图注释 密度图...

  • 2017-05-10

    单行注释、多行注释与文档注释的合理使用 单行注释、多行注释与文档注释的合理使用 单行注释:// 注释内容 多行注释...

  • Java语言基础

    代码注释 单行注释在注释前加上"//" 多行注释在注释前使用/*在注释后使用*/ 文档注释注释前后/***/ 变量...

  • iOS 注释规范

    iOS注释规范&&提高注释效率 iOS注释主要分为以下几种:属性注释、方法集注释、方法注释、普通注释(单行注释)。...

  • Java基础(1)

    注释 单行注释 //注释内容 多行注释/*注释内容 */ 文档注释/**注释内容 */ 注释在编程中是一个好习惯...

  • Java基础

    注释 单行注释 //注释内容 多行注释/*注释内容 */ 文档注释/**注释内容 */ 注释在编程中是一个好习惯...

  • iOS开发:代码规范

    一、注释规范 iOS注释主要分为以下几种:属性注释、方法集注释、方法注释、普通注释(单行注释)、类注释。 1、属性...

  • Java(第一周)

    一、注释 1.单行注释://注释内容2.多行注释:/注释内容 /3.文档注释:/注释内容 */ =========...

网友评论

      本文标题:KOG 注释

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