JCVI-筛选blast最佳结果(生物信息学工具-015)

news2024/11/27 14:30:29

通常,大家会问我们经过了NR注释,SwissProt注释,那么如何进行,如何挑选最佳比对结果?

同理,存在一个问题,如何挑选最佳的blast比对结果?什么事最优的同源序列?

唐海宝老师开发的工具jcvi(jcvi.formats.blast)解决了这一问题,基本上jcvi等价于MCscan。

01 安装

普通安装需要安装许多依赖,由于服务器等配置不能轻易修改,所以我们采用最便捷的方式安装jcvi-conda。

conda activate jcvipy  #创建环境
conda create -n jcvipy python==3.9 -c conda-forge    # -y   #==和=一样
python -m pip install --upgrade pip     #升级python包管理器
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple   #设置python包镜像源,国内源下载速度起飞
pip install -i https://xh//https://pypi.tuna.tsinghua.edu.cn/simple  jcvi    #安装jcvi
02 使用
用法:
    python -m jcvi.formats.blast ACTION

可用的操作:
         anchors | 仅保留锚定文件中存在的BLAST配对
        annotate | 在BLAST制表文件中注释重叠类型
      annotation | 创建带有注释的制表文件
             bed | 从BLAST制表文件获取bed文件
            best | 获取每个查询的最佳BLAST匹配
           chain | 将相邻的HSPs链在一起
    completeness | 打印每个查询的完整性统计信息
        condense | 将相同查询-主体对的HSPs分组在一起
       covfilter | 过滤BLAST文件(基于id%和cov%)
          cscore | 为BLAST配对计算C分数
          filter | 过滤BLAST文件(基于分数、id%、alignlen)
            gaps | 查找相邻HSPs之间间隙大小的分布
      mismatches | 打印HSPs的不匹配直方图
           pairs | 打印BLAST制表文件的配对末端读取
            rbbh | 查找相互最佳的BLAST匹配
           score | 为每个查询序列累加分数
            sort | 将行按查询分组并按分数降序排序
          subset | 从一些查询和主体chr中提取匹配项
         summary | 提供id%和cov%的摘要信息
            swap | 在BLAST制表文件中交换查询和主体
           top10 | 计算最常见的10个匹配项

JCVI 实用程序库 1.3.9 [版权所有(C)2010-2024,唐海宝]

比对参考数据库下载,或者自建库均可。

NCBI-nr数据库下载
wget -c ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/nr.gz

SwissProt,高质量的蛋白数据库下载,蛋白序列得到实验的验证
wget -c ftp://ftp.ncbi.nlm.nih.gov/blast/db/FASTA/swissprot.gz

通用蛋白质库资源
wget -c ftp://ftp.expasy.org/databases/uniprot/current_release/uniref/uniref90/uniref90.fasta.gz

参考

 Blast安装及使用-Blast+2.14.0(bioinfomatics tools-001)

diamond安装与使用-diamond-2.1.8(bioinfomatics tools-010)

建立DIAMOND或NCBI BLAST+索引
diamond makedb --in uniprot_plants.pep -d XXX.pep.db


使用DIAMOND或NCBI BLAST+进行比对,线程加速 -p -t
diamond blastp -d ./XXX.pep.db -q XXXX.pep  --evalue 1e-5 > XXXX.blastp.outfmt6 -p 4


从DIMAMOND或NCBI BLAST+的比对结果中筛选每个query的最佳subject
conda activate jcvipy
python -m jcvi.formats.blast -h
python -m jcvi.formats.blast best -n 1 XXXX.blastp.outfmt6 

jcvi即可帮助我们挑选最佳Hit!我们获取id和序列fasta文件后即可进行下游操作,如PCR等等。

03 参考文献

Tang H, Bowers JE, Wang X, Ming R, Alam M, Paterson AH. Synteny and collinearity in plant genomes. Science. 2008 Apr 25;320(5875):486-8. doi: 10.1126/science.1153917. PMID: 18436778.

Wang Y, Tang H, Debarry JD, Tan X, Li J, Wang X, Lee TH, Jin H, Marler B, Guo H, Kissinger JC, Paterson AH. MCScanX: a toolkit for detection and evolutionary analysis of gene synteny and collinearity. Nucleic Acids Res. 2012 Apr;40(7):e49. doi: 10.1093/nar/gkr1293. Epub 2012 Jan 4. PMID: 22217600; PMCID: PMC3326336.

Tang H, Zhang X, Miao C, Zhang J, Ming R, Schnable JC, Schnable PS, Lyons E, Lu J. ALLMAPS: robust scaffold ordering based on multiple maps. Genome Biol. 2015 Jan 13;16(1):3. doi: 10.1186/s13059-014-0573-1. PMID: 25583564; PMCID: PMC4305236.

王英豪,余嘉鑫,唐海宝,等.  植物复杂基因组与泛基因组研究现状与展望    [J].  中国科学:生命科学,  2024,  54  (02):  233-246.  
雷文龙,雷思茹,陈帅,等.  纳米孔测序技术在基因组学中的应用研究进展    [J].  基因组学与应用生物学,  2023,  42  (03):  233-241.  DOI:10.13417/j.gab.042.000233.
钟伟民,张兴坦,赵茜,等.  三代测序PacBio在转录组研究中的应用    [J].  福建农林大学学报(自然科学版),  2018,  47  (05):  524-529.  DOI:10.13323/j.cnki.j.fafu(nat.sci.).2018.05.002.
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1599641.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jenkins构建微信小程序并展示二维码

测试小程序的过程中,很多都是在回头和前端开发说一句,兄弟帮我打一个测试版本的测试码,开发有时间的情况下还好,就直接协助了,但是很多时候他们只修复了其中几个bug,其他需要修复的bug代码正在编写&#xf…

ENSP-旁挂式AC

提醒:如果AC不能成功上线AP,一般问题不会出在AC上,优先关注AC-AP线路上的二层或三层组网的三层交换机 拓扑图 管理VLAN:99 | 业务VLAN:100 注意点: 1.连接AP的接口需要打上pvid为管理vlan的标签 2.AC和…

引导和服务(2)

服务 1.systemd服务的简要介绍 (1)对比5 6 可以解决依赖关系并行启动 (2)按需启动 (3)自动解决依赖关系 负责在系统启动或运行时,激活系统资源,服务器进程和其它进程 2.System…

React-hooks:useReducer初始化函数 和 初始值 区别

useReducer 用法: const [state, dispatch] useReducer(reducer, initState, init?);其中,initialArg 为初始值(必传),init 为初始函数(可选)。 当没有 init 参数时,state的初始…

Day56 动态规划 part16

Day56 动态规划 part16 583. 两个字符串的删除操作 我的思路: 感觉跟前两天子序列差不多,但是又有差别 这次是求删减最小次数,状态转移方程是比小 另外要注意初始化, 当i 0时(word2为空),wor…

全球最新国内外18个热门风景视频素材网站推荐

寻找最新的高清风景视频素材?这里有国内外共18个热门网站,精心整理供您选择。 国内资源: 蛙学网:免费提供多种无版权视频素材,资源丰富。新GG网:需QQ登录,提供丰富的视频模板,通过…

从零开始写 Docker(十一)---实现 mydocker exec 进入容器内部

本文为从零开始写 Docker 系列第十一篇,实现类似 docker exec 的功能,使得我们能够进入到指定容器内部。 完整代码见:https://github.com/lixd/mydocker 欢迎 Star 推荐阅读以下文章对 docker 基本实现有一个大致认识: 核心原理&…

Java --- 类与对象

上篇内容给大家带来了Java的语句与数组的相关内容,那么本期内容比较重要,需要读者们掌握Java面向对象编程的根本,通过这篇博客来让读者浅入理解Java类的一些基本操作。 目录 一.特点: 二.成员变量: 三.访问修饰符&a…

工作流引擎项目解析

API 编辑 在Camunda中,API的继承关系主要体现在各个服务接口之间。以下是Camunda中一些常见服务接口的继承关系: ProcessEngineServices 接口: RepositoryService: 负责管理流程定义和部署。 RuntimeService: 负责管…

微信人脉扩张!多号批量自动加好友,你get到了吗?

微信是我们在拓展社交圈和寻找商业机会时,与更多的人建立联系的重要渠道。但是,手动一个个添加好友显然费时费力,这时候,微信管理系统的批量自动加好友功能就成为了微信人脉扩张的神器。 通过微信管理系统,我们可以轻…

思维导图ai生成软件分享5款好用的!

思维导图ai生成软件分享5款好用的! 在快节奏的信息时代,思维导图作为一种有效的思维整理工具,越来越受到人们的青睐。它能够将复杂的思维过程可视化,帮助我们更好地梳理思路、规划工作。近年来,随着人工智能技术的飞速…

【笔记】探索生成范式:大型语言模型在信息提取中的作用

探索生成范式:大型语言模型在信息提取中的作用 摘要介绍 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长&am…

实验六 智能手机互联网程序设计(微信程序方向)实验报告

实验目的和要求 请完成创建图片库应用&#xff0c;显示一系列预设的图片。 提供按钮来切换显示不同类别的图片。 二、实验步骤与结果&#xff08;给出对应的代码或运行结果截图&#xff09; 1.WXML <view> <button bindtap"showAll">所有图片</but…

闲不住,手写一个数据库文档生成工具

shigen坚持更新文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 个人IP&#xff1a;shigen 逛博客的时候&#xff0c;发现了一个很有意思的文章&#xff1a;数据库表结构导…

记录一下我hive连不上DataGrip的问题

用户名和密码都没问题&#xff0c;但报如下这个错误 原因&#xff1a;是因为我在linux上没启hiveserver2服务 解决&#xff1a; [atguiguhadoop102 hadoop]$ hiveserver2 which: no hbase in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/module/jdk1.8…

Kotlin从0到1,让你一周快速上手!!

声明 大家好&#xff0c;这里是懒羊羊学长&#xff0c;如果需要pdf版以及其他资料&#xff0c;请加入群聊。群里每天更新面经、求职资料&#xff0c;经验分享等&#xff0c;大家感兴趣可以加一下。 Kotlin 声明1.Kotlin基础2. Kotlin函数3.Kotlin进阶4.Kotlin集合5.Kotlin高…

YOLC: You Only Look Clusters for Tiny Object Detection in Aerial Images

摘要 由于以下因素&#xff0c;从航拍图像中检测物体面临着重大挑战&#xff1a;1&#xff09;航拍图像通常具有非常大的尺寸&#xff0c;通常有数百万甚至数亿像素&#xff0c;而计算资源有限。2&#xff09;物体尺寸较小导致有效信息不足&#xff0c;无法进行有效检测。3&am…

numpy的使用

numpy的介绍 numpy是一个python开源的科学计算库 使用numpy可以方便的使用数组、矩阵&#xff08;列表套列表&#xff09;进行计算 包括线性代数、傅里叶变换&#xff0c;随机数生成等大量函数 python源代码和numpy和的区别 import numpy as np def func(n):a np.arange(n) *…

JavaEE:HTTP协议

基本内容 网站 后端&#xff08;HTTP服务器&#xff09; 前端&#xff08;浏览器&#xff09;&#xff0c;而后端和前端都需要遵循HTTP协议 HTTP属于超文本传输协议&#xff0c;存在于应用层 文本&#xff1a;一般能在utf8或者gbk上找到的合法字符串 超文本&#xff1a;不仅…

JavaScript基础:js介绍、变量、数据类型以及类型转换

目录 介绍 引入方式 内部方式 外部形式 注释和结束符 单行注释 多行注释 结束符 输入和输出 输出 输入 变量 声明 赋值 关键字 变量名命名规则 常量 数据类型 数值类型 字符串类型 布尔类型 undefined 类型转换 隐式转换 显式转换 Number ✨介绍 &a…