1. 简介
- GenBank格式常常出现在细胞器基因组的注释软件的结果中,但上传细胞器注释到公共数据库(eg NCBI)需要tbl格式文件。
- 这篇文章介绍了几种把GenBank格式文件转换成tbl格式的方法。包括在线工具GB2sequin(此工具还包含验证和运行tbl2asn功能,可用于准备上传NCBI的注释文件),以及两个python2写的转换脚本。
1.1. GenBank格式
GenBank是美国国立卫生研究院维护的基因序列数据库,数据库中用gb格式文件(后缀.gb,.gbk)记录基因注释信息。
GenBank文件格式标准参考:https://www.ncbi.nlm.nih.gov/Sitemap/samplerecord.html
1.2. tbl格式(for Sequin)
用于提交基因注释到GenBank的一种tab分隔的五栏的特征表(feature table)文件格式(后缀.tbl)。
tbl文件格式标准参考:https://www.ncbi.nlm.nih.gov/genbank/feature_table/
2. GB2sequin在线工具【推荐】
2.1. 简介
GB2sequin是用于转换GenBank格式文件为NCBI提交格式Sequin(包括tbl文件和sqn文件)的在线工具,包含验证GenBank注释的功能和运行tbl2asn的功能。
网址是:
https://chlorobox.mpimp-golm.mpg.de/GenBank2Sequin.html
2.2. 优势
- 通过网页在线转换,方便快捷。
- 自动对注释进行验证,并生成错误报告,可根据错误报告修正注释。
- 支持在输入中加入作者信息的template等文件。
- 自动运行tbl2asn,生成sqn文件,方便提交tbl文件到NCBI。
- 自动生成标准的GenBank格式文件,去除冗余。
2.3. 使用步骤
- 上传GenBank格式文件,要在文件末包含注释的序列,否则运行结果空白。
- 【推荐】上传Author Submission Template。可以在https://submit.ncbi.nlm.nih.gov/genbank/template/submission/上填写信息后导出template.sbt文件用于上传。
- 【可选】上传Source Modifier Table,Gene Product Specification Table。
- 选择分子类别”Molecule Type”,一般默认genomic DNA即可。
- 选择是否是完整(complete),环状(circular)的基因。
- 选择编码方式”Genetic Code”,植物样品选标准Standard。
- 选择基因位置Location,包括叶绿体chloroplast,线粒体mitochondrion等。
- 点击Start Conversion,等待几分钟即可得到结果,点击每项结果然后下载(大多是文本文件)。
- 根据验证结果文件的错误ERROR和警告WARNING逐一修改原始GenBank文件。
- 再次运行,重复以上操作,直至无错误和警告,即可使用sqn文件上传至NCBI。
验证结果的含义(tbl2asn运行的部分)可以参考之前写的基因组提交的博客:https://yanzhongsino.github.io/2022/03/22/omics_genome.submit/
2.4. 结果
结果文件包括:
- FASTA:从GenBank提取的fasta文件。
- Annotation Table:tbl文件。
- tbl2asn log:tbl2asn运行的log文件。
- Sequin:sqn文件,用于提交给NCBI。
- GenBank:标准化的GenBank文件。
- Validation:验证结果文件,包括细节。
- Validation Summary:验证结果的概括。
3. genbank2tbl的脚本
- 只要GB2sequin可以用,就强烈推荐GB2sequin,毕竟自带验证功能和自动运行tbl2asn。
- 如果GB2sequin不可用(比如要用的时候服务器宕机了之类的原因,我才不会告诉你我就是这么走运才探索了一下脚本),可用脚本进行GenBank到tbl的格式转换。
- 由于都是陈年老脚本,以下脚本都是用python2写的,并且调用了biopython(提前安装biopython)。
脚本gbf2tbl.pl【NCBI 官方出品】
- 简介
- 脚本gbf2tbl.pl是NCBI官方提供的perl脚本。
- 我暂时还没用过,先记在这。
- 下载
wget ftp://ftp.ncbi.nlm.nih.gov//toolbox/ncbi_tools/converters/scripts/gbf2tbl.pl
3.1. 脚本genbank_to_tbl.py【推荐】
3.1.1. 简介
genbank_to_tbl.py脚本用于转换genbank格式的gene,CDS,exon,intron,tRNA,rRNA,pseudo genes等注释为tbl格式。
3.1.2. 脚本
下载地址:https://gist.github.com/nickloman/2660685
1 | # requires biopython |
3.1.3. 使用
命令
python2 genbank_to_tbl.py sample mc_01 ncbi_id < sample.gb
参数
- sample:样品名称,organism name
- mc_01:品种编号,strain ID
- ncbi_id:NCBI项目ID
- < sample.gb:输入genbank格式文件
四个参数都是必需参数。
- 输出
- seq.fsa:基因组序列
- seq.tbl:tbl格式文件
- notes
- seq.tbl结果中包含genbank注释的gene,CDS,exon,intron,tRNA,rRNA,pseudo genes等结果。
- 需要在输入的genbank文件中包含locus_tag的值(可以用基因名称),否则报错。
3.2. Genbank2Sequin.py
3.2.1. 简介
Genbank2Sequin.py脚本用于批量转换genbank格式的gene和CDS注释为tbl格式。
3.2.2. 脚本
下载地址:https://github.com/Van-Doorslaer/Genbank2sequin/blob/master/Genbank2Sequin.py
1 | from Bio import SeqIO |
3.2.3. 使用
- 命令
python2 Genbank2Sequin.py
- 运行后会自动搜索当前文件夹下的所有.gb后缀文件,然后把gene和CDS的注释转换为.tbl文件。
- 输出
- *.tbl:tbl格式文件。
- notes
- *.tbl结果中只包含genbank注释的gene,CDS结果。
- 需要在输入的genbank文件中包含note的值(可以用基因名称),否则报错。
- 可批量操作多个gb文件。
4. reference
- GB2sequin paper:https://www.sciencedirect.com/science/article/pii/S0888754318301897?via%3Dihub
- GB2sequin:https://chlorobox.mpimp-golm.mpg.de/GenBank2Sequin.html
- genbank_to_tbl.py:https://gist.github.com/nickloman/2660685
- Genbank2Sequin.py:https://github.com/Van-Doorslaer/Genbank2sequin/blob/master/Genbank2Sequin.py
- genbank格式:https://www.ncbi.nlm.nih.gov/Sitemap/samplerecord.html
- tbl格式:https://www.ncbi.nlm.nih.gov/genbank/feature_table/
- 欢迎关注微信公众号:生信技工
- 公众号主要分享生信分析、生信软件、基因组学、转录组学、植物进化、生物学概念等相关内容,包括生物信息学工具的基本原理、操作步骤和学习心得。