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
- “高并发”问题如何解决?腾讯云一分钟配置的“黑科技”帮您
- 初探JavaScript(三)——JS带我"碰壁"带我飞
- 初探JavaScript(四)——作用域链和声明提前
- 开发人员看测试之运行Github中的JBehave项目
- 如何高效地合并Spark社区PR到自己维护的分支
- 开发人员看测试之TDD和BDD
- AngularJS入门心得1——directive和controller如何通信
- AngularJS入门心得2——何为双向数据绑定
- AngularJS入门心得3——HTML的左右手指令
- AngularJS入门心得4——漫谈指令scope
- Enterprise Library深入解析与灵活应用(8):WCF与Exception Handling AppBlock集成[上]
- 苹果就“电池门”公开致歉;微信下拉任务栏新增小游戏;美团打车进入北京
- 新华三《中国城市数字经济指数白皮书》:深圳数字经济发展水平国内居首
- NodeMCU模块写入MicroPython固件
- 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 数组属性和方法
- 手写React-Router源码,深入理解其原理
- 深入Node.js的模块加载机制,手写require函数
- Redux异步解决方案之Redux-Thunk原理及源码解析
- MySQL设计与优化
- Elasticsearch学习笔记
- 《springboot实战》
- 360全国大学生信安技术大赛记录
- gh0st源码分析与远控的编写(四)
- 记一次Elasticsearch优化总结
- unix环境高级编程(上)-文件篇
- php webshell下直接反弹shell(不借助任何其他语言)
- XssHtml – 基于白名单的富文本XSS过滤类
- unix环境高级编程(下)-高级IO和进程间通信篇
- mybatis原理,配置介绍及源码分析
- web.py使用不当可能造成代码执行