PSP - 使用 MMseqs2 工具快速搜索蛋白质序列数据库 (GMGC)

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/131934642

Img

MMseq2 是非常强大和高效的生物信息学软件,可以在极短的时间内对大规模的核苷酸和蛋白质序列进行搜索和聚类。主要特点有:

  • 使用一种新颖的序列比对算法,可以在保持高灵敏度的同时,大幅提高搜索速度。它可以比 BLAST 快 10000 倍,比 PSI-BLAST 快 400 倍。
  • 可以处理多种序列格式,包括 FASTA, FASTQ, A3M, Stockholm 等,还可以直接从 NCBI 下载序列数据,或者从 UniProt, Pfam, InterPro 等数据库中获取预构建的序列集。
  • 提供了多种搜索模式,包括序列对序列,序列对数据库,数据库对数据库,以及配置文件对配置文件,还支持多种搜索参数,例如最小序列相似度,最大 E 值,最小覆盖率等。
  • 可以对搜索结果进行聚类分析,根据序列相似度将序列分为不同的类别。使用了一种贪心算法,可以在线性时间内完成聚类任务。还可以生成聚类结果的可视化报告。
  • 开源软件,使用 GPL 许可协议。它用 C++ 编写,适用于 Linux, MacOS 和 Windows 平台。它可以在多核和多服务器上并行运行,并具有很好的可扩展性。

Paper:MMseqs2: sensitive protein sequence searching for the analysis of massive data sets

GitHub:MMseqs2: ultra fast and sensitive sequence search and clustering suite

  • 超快速、灵敏的序列搜索和聚类套件

参考文档:MMseqs2 User Guide


1. 数据库

数据库的 FASTA 文件:virus4/gmgc.fa

数据库下载,60G,参考 MSA DB - GMGC:

  • 全球微生物基因目录(The Global Microbial Gene Catalog)是一个集成的、一致处理的、涵盖微生物世界的基因目录,结合宏基因组学和高质量的分离株序列。从 13,174 个宏基因组(覆盖 14 种生境)和完整的 ProGenomes2 数据库中,共有 23 亿个开放阅读框(ORFs)按照 95% 的核苷酸同源性进行聚类,构建了一个包含 3.0265 亿个单基因(unigenes)的目录。

GMGC

数据如下:

>GMGC10.033_133_404.UNKNOWN|built-environment
MKGLVVTGLTVAFGFVAYEKLTYVVDVVKHLIA
>GMGC10.026_381_531.UNKNOWN|built-environment
MIWRSGRFAAVALQRKPPVGWAGNLVQPEKLRV
>GMGC10.013_658_495.UNKNOWN|built-environment
MMNKMKSNKFFNTMGMVLSALIDAKAVATTLNK

设置 BOS 命令:

alias bos='bcecmd/bcecmd --conf-path bcecmd/bceconf/ bos'

2. 配置 MMseqs2

安装 MMseqs2,测试服务器 172.30.0.34:

conda install -c conda-forge -c bioconda mmseqs2
conda list mmseqs2

配置 ~/.bashrc,即:

if [ -f miniconda3/envs/torch-def/util/bash-completion.sh ]; thensource miniconda3/envs/torch-def/util/bash-completion.sh
fi

测试命令:mmseqs,输出信息。

默认命令顺序:

mmseqs createdb examples/DB.fasta targetDB
mmseqs createindex targetDB tmp
mmseqs easy-search examples/QUERY.fasta targetDB alnRes.m8 tmp

3. 构建索引

构建 mmseqs 索引:

mmseqs createdb data/gmgc.fa gmgc.db   # 耗时较长
mmseqs createindex gmgc.db tmp

搜索 MSA:

mmseqs easy-search QUERY.fasta gmgc.db alnRes.m8 tmp

createdb的日志:

createdb gmgc.fa gmgc.db MMseqs Version:         13.45111
Database type           0
Shuffle input database  true
Createdb mode           0
Write lookup file       1
Offset of numeric ids   0
Compressed              0
Verbosity               3Converting sequences
[294700023] 10m 36s 322ms
Time for merging to gmgc.db_h: 0h 1m 45s 892ms
Time for merging to gmgc.db: 0h 3m 52s 379ms
Database type: Aminoacid
Time for processing: 0h 27m 40s 149ms

createdb的输出:

gmgc.db
gmgc.db.dbtype
gmgc.db_h
gmgc.db_h.dbtype
gmgc.db_h.index
gmgc.db.index
gmgc.db.lookup
gmgc.db.source
gmgc.fa

createindex的日志:

indexdb gmgc.db gmgc.db --seed-sub-mat nucl:nucleotide.out,aa:VTML80.out -k 0 --alph-size nucl:5,aa:21 --comp-bias-corr 1 --max-seq-len 65535 --max-seqs 300 --mask 1 --mask-lower-case 0 --spaced-kmer-mode 1 -s 7.5 --k-score 0 --check-compatible 0 --search-type 0 --split 0 --split-memory-limit 0 -v 3 --threads 232 Target split mode. Searching through 5 splits
Estimated memory consumption: 691G
Write VERSION (0)
Write META (1)
Write SCOREMATRIX3MER (4)
Write SCOREMATRIX2MER (3)
...
Time for merging to gmgc.db.idx: 0h 0m 0s 523ms
Time for processing: 0h 27m 43s 883ms

4. 搜索序列

搜索 MSA,以 T1157s1_A1029.fasta 为例,使用 mmseqs 进行搜索,即:

mmseqs easy-search T1157s1_A1029.fasta virus4/gmgc/gmgc.db alnRes.m8 tmp

输出日志,默认 -s 5.7

  • A very fast search would use a sensitivity of -s 1.0, while a very sensitive search would use a sensitivity of up to -s 7.0
...
createdb T1157s1_A1029.fasta tmp/15503592239095911252/query --dbtype 0 --shuffle 1 --createdb-mode 0 --write-lookup 0 --id-offset 0 --compressed 0 -v 3 Converting sequencesTime for merging to query_h: 0h 0m 14s 960ms
Time for merging to query: 0h 0m 3s 422ms
Database type: Aminoacid
Time for processing: 0h 0m 22s 843ms
Create directory tmp/15503592239095911252/search_tmp
search tmp/15503592239095911252/query virus4/gmgc/gmgc.db tmp/15503592239095911252/result tmp/15503592239095911252/search_tmp --alignment-mode 3 -s 5.7 --remove-tmp-files 1
...

搜索出的结果 alnRes.m8,包括 450 条搜索结果,如下:

A       GMGC10.285_640_775.MNL1|built-environment       0.483   954     493     0       39      992     1       954     2.234E-258      832
A       GMGC10.241_341_405.MNL1|soil    0.569   657     280     0       3       659     55      705     1.592E-232      756
A       GMGC10.275_542_093.MNL1|human-skin      0.615   348     127     0       179     526     2       333     7.241E-130      454
A       GMGC10.302_382_477.MNL1|human-gut       0.393   592     290     0       22      613     1       478     1.668E-109      393
A       GMGC10.233_643_273.MNL1|soil    0.613   320     120     0       141     451     1       320     2.039E-107      387
A       GMGC10.291_266_275.MNL1|human-gut       0.362   544     286     0       7       550     36      484     7.208E-96       351
A       GMGC10.295_625_477.MNL1|human-skin      0.801   212     42      0       71      282     1       212     2.547E-94       347
A       GMGC10.230_501_499.MNL1|soil    0.632   280     100     0       90      362     3       282     3.678E-93       343
A       GMGC10.053_306_367.MNL1|human-gut       0.360   546     297     0       7       552     25      489     2.928E-92       340
A       GMGC10.284_538_017.MNL1|built-environment       0.365   529     292     0       22      550     1       461     1.359E-85       320

即,搜索完成。

5. 配置 Small BFD 库

AF2 官网:https://github.com/deepmind/alphafold

安装下载工具:

apt-get install aria2

下载文件 small_bfd

mkdir small_bfd
cd small_bfd/
# 下载文件
aria2c https://storage.googleapis.com/alphafold-databases/reduced_dbs/bfd-first_non_consensus_sequences.fasta.gz
gunzip bfd-first_non_consensus_sequences.fasta.gz

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

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

相关文章

fpga_pwm呼吸灯(EP4CE6F17C8)

文章目录 一、呼吸灯二、代码实现三、引脚分配 一、呼吸灯 呼吸灯是指灯光在微电脑的控制之下完成由亮到暗的逐渐变化,使用开发板上的四个led灯实现1s间隔的呼吸灯。 二、代码实现 c module pwm_led( input clk ,input rst_n ,output reg [3:0] led ); …

c++网络编程:Boost.asio源码剖析

1、前言 Boost库是一个可移植、提供源代码的C库,作为标准库的后备,是C标准化进程的开发引擎之一。Boost库由C标准委员会库工作组成员发起,其中有些内容有望成为下一代C标准库内容。在C社区中影响甚大,是不折不扣的“准”标准库。…

未来行星探索希望:新型多脚机器人-团队版

机器人正在探索一个模拟的外星环境 即使一个机器人失败了,其余的团队成员也可以抵消它的损失。 背景 虽然探测器取得了令人难以置信的发现,但它们的轮子可能会拖慢它们的速度,而不稳定的地形可能会导致损坏。虽然没有东西可以取代“毅力号”…

Vue3输入框(Input)

APIs 参数说明类型默认值必传width输入框宽度string | number‘100%’falseaddonBefore设置前置标签string | slot‘’falseaddonAfter设置后置标签string | slot‘’falseallowClear可以点击清除图标删除内容booleanfalsefalsepassword是否启用密码框booleanfalsefalsedisabl…

两个小封装电机驱动芯片:MLX813XX、A4950

一.MLX813XX MELEXIS的微型电机驱动MLX813XX系列芯片集成MCU、预驱动以及功率模块等能够满足10W以下的电机驱动。 相对于普通分离器件的解决方案,MLX813XX系列电机驱动芯片是一款高集成度的驱动控制芯片,可以满足汽车系统高品质和低成本的要…

Spring Boot实践一

一、Spring Boot简介 Spring Boot是一个基于Spring框架的快速开发应用程序的工具。它提供了一种快速、方便的方式来创建基于Spring的应用程序,而无需繁琐的配置。Spring Boot通过自动配置和约定大于配置的方式,使得开发者可以更加专注于业务逻辑的实现&…

【CEEMDAN-WOA-LSTM】完备集合经验模态分解-鲸鱼优化-长短时记忆神经网络研究(Python代码实现)

目录 💥1 概述 1.1 完备集合经验模态分解原理 1.2 鲸鱼优化 1.3 LSTM 📚2 运行结果 🎉3 参考文献 🌈4 Python代码实现 💥1 概述 1.1 完备集合经验模态分解原理 早期的 EMD 方法具有较强的自适应性,能够有…

【node.js】03-http模块

目录 一、什么是http模块 二、创建基本的WEB服务器 三、req请求对象 四、res响应对象 五、根据不同的url响应不同的JSON内容 一、什么是http模块 http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。通过 http 模块提供的 http.createServer() 方法,…

深度学习推理和训练

优化和泛化 深度学习的根本问题是优化和泛化之间的对立。 • 优化(optimization)是指调节模型以在 训练数据 上得到最佳性能(即机器学习中的学习)。 • 泛化(generalization)是指训练好的模型在 前所未…

Java的0xFFFF在赋值、比较时引起的困惑

Java中的0xFFFF是整型,在赋值、比较的时候容易引起混淆,涉及到符号位、数值大小,赋值给什么类型的变量。我今天在编码的时候就遇到了一些困惑。用代码样例的形式记录下来,加深理解: package com.thb;public class Tes…

RT-Thread快速入门-定时器管理

1时钟节拍 任何操作系统都需要提供一个时钟节拍,以供系统处理所有和时间有关的事件,如延时、线程的时间片轮转调度以及定时器超时等。时钟节拍(OS Tick)是操作系统中最小的时间单位。 时钟节拍是特定的周期性中断,这…

vue预览和下载txt、PDF、execl等在线文件

因为浏览器默认能直接打开TXT、PDF等文件索引默认就是点击链接打开文件。但是浏览器却又不能在线打开execl、world等文件。 现在我们可以统一的实现文件的预览以及下载。 下载文件 downloadfile方法 downloadfile(url,fileName){const newUrl url;const x new XMLHttpRequ…

【vue3】vue3的一般项目结构、成功显示自己的vue3页面

一、vue3的一般项目结构 Vue 3并没有规定特定的项目结构,因此您可以根据项目的需求和个人偏好来组织您的Vue 3项目。以下是一个常见的Vue 3项目结构示例,供参考: your-project/|- public/| |- index.html # 应用程序的入口HTML文件…

智慧井盖监测管理系统解决方案

一、方案概述 近年来,随着城市化的不断发展,城市地下管道设施的一步步完善,井盖作为城市基础设施中必不可少的一部分,其重要性也逐渐凸显。然而,在实际应用中,井盖监测和管理并不容易。如井盖地理位置分散&…

第一百一十四天学习记录:C++提高:类模板案例(黑马教学视频)

类模板案例 main.cpp代码&#xff1a; #include "myarray.hpp"void printIntArray(MyArray <int>& arr) {for (int i 0; i < arr.getSize(); i){cout << arr[i] << " ";}cout << endl; }void test01() {MyArray <int&…

史上最全,接口测试-Fiddler抓包常用功能总结(超详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Fiddler中常用的功…

macOS Monterey 12.6.8 (21G725) 正式版发布,ISO、IPSW、PKG 下载

macOS Monterey 12.6.8 (21G725) 正式版发布&#xff0c;ISO、IPSW、PKG 下载 本站下载的 macOS 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安装。另外也支持…

C++运算符:优先级

#include <iostream> using namespace std;//#define INT int //宏命令 // typedef int BOO; //移动 // INT a10; // BOO b 12;void fun(string& str) {int pos str.find(a);cout << "位置" << pos << endl;str.replace(pos,…

Windows Active Directory密码同步

大多数 IT 环境中&#xff0c;员工需要记住其默认 Windows Active Directory &#xff08;AD&#xff09; 帐户以外的帐户的单独凭据&#xff0c;最重要的是&#xff0c;每个密码还受不同的密码策略和到期日期的约束&#xff0c;为不同的帐户使用单独的密码会增加用户忘记密码和…

Spring MVC -- 获取参数(普通对象+JSON对象+URL地址参数+文件+Cookie/Session/Header)

目录 1.获取参数 1.1获取单个参数 1.2获取多个参数 传参注意事项&#xff1a; 2.获取对象 3.后端参数重命名RequestParam 4.获取JSON对象RequestBody 5.从 URL 地址中获取参数 PathVariable 6.上传文件 RequestPart 7.获取Cookie/Session/Header 7.1 获取 Request 和…