gb格式注释文件转换成gff3注释文件格式
时间:2022-07-22
本文章向大家介绍gb格式注释文件转换成gff3注释文件格式,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天在NCBI下载了酵母的参考基因组,没有找到gff格式的基因组注释文件,只找到了genbank格式的基因组注释文件。应该会有现成的工具来实现常用的基因组注释文件不同格式之间的相互转换。比如gtf、gff、和genbank之间的相互转换。
经过搜索找到三款工具可以把gb格式文件转换成gff格式注释文件。
第一个是 EMBOSS工具中的seqret命令
参考
https://www.biostars.org/p/140013/
使用conda安装EMBOSS
conda install emboss
seqret命令转化
seqret -feature -osformat2 gff3 -outseq chr01.gff chr01.gb
第二个工具是 jvarkit
参考链接
http://lindenb.github.io/jvarkit/GenbankToGff3.html
这是一个java程序 我没有安装成功
最开始服务器上没有安装java,运行java命令的时候提示我
Command 'java' not found, but can be installed with:
apt install default-jre
apt install openjdk-11-jre-headless
apt install openjdk-8-jre-headless
不知道这三个有什么区别,然后使用命令apt install openjdk-8-jre-headless安装了第三个
第三个工具是python脚本
需要安装biopython和bcbio-gff 直接使用pip安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple biopython
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple bcbio-gf
直接自己写脚本,参考的是
https://biopython.org/wiki/GFF_Parsing
脚本内容
import sys
from Bio import SeqIO
from BCBio import GFF
in_file = sys.argv[1]
out_file = sys.argv[2]
in_handle = open(in_file)
out_handle = open(out_file,'w')
GFF.write(SeqIO.parse(in_handle,'gb'),out_handle)
in_handle.close()
out_handle.close()
使用方式
python convert_gb_to_gff3.py input.gb output.gff
- 前端翻译:Activating Browser Modes with Doctype
- JS魔法堂:doctype我们应该了解的基础知识
- CentOS6.5菜鸟之旅:安装Realtek无线网卡驱动
- CentOS6.5菜鸟之旅:U盘安装CentOS64位
- 人工智能创造新型态工作 制造业受冲击
- ASP.NET Core File Providers
- JS魔法堂之实战:纯前端的图片预览
- 域名publica.com近50万交易 买家身份浮出水面
- Vim杂记:Sublime的配色方案
- Vim杂记:markdown插件
- 【手把手教你全文检索】Apache Lucene初探
- 微信小程序的“小游戏” 是什么?
- CentOS6.5菜鸟之旅:中文编辑器忍痛放弃Sublime
- JS魔法堂:Data URI Scheme介绍
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- mybatis动态sql之bind标签
- mybatis映射文件之基本的增删改查
- mybatis动态sql之利用sql标签抽取可重用的sql片段
- springmvc之配置拦截器拦截相应的请求
- 剑指offer(31-40)题解
- mybatis缓存之二级缓存
- mybatis缓存之一级缓存
- 剑指offer(41-50)题解
- 剑指offer(19-24)题解
- mybatis缓存之整合第三方缓存工具ehcache
- 剑指offer(51-60)题解
- mybatis逆向工程
- ssm之spring+springmvc+mybatis整合初探
- mybatis插件开发小例子
- java之如何在eclipse中新建对象时自动补全