IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 2021-08-05 论文复现-ACS Catal. 2018 8 3 2402–2412(10) -> 正文阅读

[人工智能]2021-08-05 论文复现-ACS Catal. 2018 8 3 2402–2412(10)

覆盖率

对已知的21条序列中挑选若干条进行搜索,基本都可以根据名称定位TaxId。

AnnotationorganismTaxId
>BAA03443.2 1,3,4,6-tetrachloro-1,4-cyclohexadiene hydrolase [Sphingobium indicum]Sphingobium indicum33205
>WP_003413363.1 MULTISPECIES: haloalkane dehalogenase [Mycobacterium tuberculosis complex]Mycobacterium tuberculosis complex77643
>AAL17946.1 putative linB haloalkane dehalogenase, partial [Mycolicibacterium smegmatis MC2 155]Mycolicibacterium smegmatis MC2 155246196
>P0A3G2.1 RecName: Full=Haloalkane dehalogenase [Rhodococcus rhodochrous]Rhodococcus rhodochrous1829
>WP_007349233.1 haloalkane dehalogenase [Marinobacter sp. ELB17]Marinobacter sp. ELB17270374
>3U1T_A Haloalkane Dehalogenase, DmmA, of marine microbial origin [unidentified]unidentified32644
>sp|P22643.2|DHLA_XANAU RecName: Full=Haloalkane dehalogenase

某些序列可能没有 [] 中定义的来源生物。
在某些序列中可能有多个 [],例如0_blast.txt中的三个例子:

PHQ80941.1 haloalkane dehalogenase [Coxiella sp.] [Coxiella sp. (in: Bacteria)]
SRX93098.1 haloalkane dehalogenase [Amycolatopsis mediterranei S699] [Mycobacterium shimoidei]
EAT11207.1 haloalkane dehalogenase [Oceanobacter sp. RED65] [Bermanella marisrubri]

因此,根据名称定位 TaxID 的任务基本可以实现。

广义来说,序列定位与专利搜索定位相同:均是层次分类,将叶节点挂到层次分类的数据上去。专利的IPC号提供了完整的层次分类路径,通过Excel函数提取各层次,辅助以数据透视表,可以得到各种统计图表。在这里,rankedlineage提供了各层次数据,因此,也可以最终借助Excel中的数据透视表,给出各种统计图表。
层次分类数据的Map,应该由专门的非关系型数据库来实现。可以去查阅python, Neo4j等对于此类任务的常规做法。

任务

前期探索又打开了三个支线任务:

  1. 搜索资料,编程实现微生物数据对序列的引入(预计1天)
  2. 搜索文献,例如祖先重构、微生物谱系与序列的关系等,了解序列引入微生物数据的作用。(预计2-3天)
  3. 继续执行序列筛选任务,主要是Jalview的使用。(预计2-3天)

利用Jalview实现各种序列筛选功能仍然是先决条件,因此今天先进行JalView的学习,之后任务2,再任务1。

JalView(预计2-3天)

希望实现序列的 1. 导入 2. 标记 3. 编辑 4. 导出满足某种筛选条件的序列 5. 编辑过程可追溯。

MSA

上传 0_out.txt 文件进行 MSA。该文件中有14000余条序列,大小为5165 KB,超过了Clustal Omega的要求。

This tool can align up to 4000 sequences or a maximum file size of 4 MB.

https://www.ebi.ac.uk/Tools/msa/
EBI 提供了 Clustal Omega, EMBOSS Cons, Kalign 等各种 MSA 工具,但是其网络提供的 MSA 大小都有限制,反而是Clustal Omega的4000条序列是最大的。
这不仅让人反思,是否对一万多条序列进行MSA是没有意义的。这启示我们在使用工具时考虑问题规模以及流程。
其次是其他的在线或软件工具能否实现这一点?

序列聚类与筛选

本质上希望实现的功能是基于已有的21条序列,通过聚类算法找到与它们属于同一类的序列。
目前有以下方案:

来源相似性计算聚类方法算法超参数状态
论文USEARCH 计算 pairwise 相似性UMPGA层次聚类簇的数量聚类软件有bug,难以调试
脑补USEARCH 计算 pairwise 相似性biopython层次聚类簇的数量没有可视化,算法效率未测试
脑补Clustal Omega 计算 MSAJalView层次聚类簇的数量(阈值)MSA计算有规模限制(4000条,4MB)
搜索USEARCH 计算 pairwise 相似性USEARCH(KNN)聚类簇的数量有学习成本
脑补USEARCH 计算 pairwise 相似性scikit-learnkNN聚类,层次聚类,谱聚类簇的数量处于脑补阶段

下面就MSA的大规模计算和USEARCH直接进行聚类进行探究,二者均基于USEARCH。

MSA的大规模计算

http://www.clustal.org/omega/ 10698 Clustal Omega
https://www.drive5.com/muscle/ 35122 MUSCLE

MUSCLE的引用量相对多,先看看MUSCLE。

资料

Multiple Sequence Alignment -
Bioinformatics Algorithms: An Active Learning Approach

上述视频讲了MSA的算法,多个序列比对的曼哈顿距离算法是O(2knk),而通过profile方法进行 alignment,可以有效降低复杂度,得到的局部最优解大部分情况下在现实中可用。
(也解了惑,profile即对每个位置的每种残基/核苷酸出现概率的统计。)
https://www.bioinformaticsalgorithms.org/
下午看了第五章,算是了解了序列比对算法是如何做的。对于序列比对感兴趣的推荐看一看视频,共10篇,总共约2小时。

  1. 序列比对具有重要生物学价值;
  2. 序列比对可以形式化为最长公共子序列的寻找;序列比对最重要的概念就是曼哈顿距离(一个有向图),一定要有这个图象,之后的各种变体都是在该图上进行的;
  3. recursive算法效率过低,通过动态规划法(查表),时间复杂度与边的个数成正比,空间复杂度与点的个数成正比,对于pairwise,为序列长度的二次方;
  4. Back tracking 算法可以得到最优匹配;
  5. Global 和 Local 的区别在于后者在起点/终点到每一个中间节点间加上了两族免费的Taxi;
  6. 边的价值通过评估矩阵来打分,对于蛋白有特殊的评估矩阵(BLOSUM, PAM);
  7. 加入delete和insert罚分可以通过3-level的Manhattan来实现;
  8. 为了满足长序列的空间复杂度要求,可以时间换空间,不得到最优匹配时以线性空间和二次方时间得到最优评分,需要最优匹配时以线性空间和二倍的二次方时间得到最优评分和最优匹配;
  9. 多序列匹配变为高维空间中的Manhattan,时间和空间复杂度爆炸,因此需要启发式的方法,通过greedy方法 + profile,可以在有意义的时间内完成比对。

Multiple Sequence Alignment using MUSCLE
BioPandit is an open platform to learn bioinformatics through video lectures and hands-on tutorial in Youtube.
解释了MUSCLE最简单的用法:

muscle.exe -in <inputfile> -out <outputfile> [-clw]

默认的输出格式是Fasta, -clw 可以输入clustalW 格式的结果。
用了 UGENE 来做序列的可视化,与JalView看起来类似。

MUSCLE

在本机(i5-8265U,4核)上进行测试:

序列数最长序列平均长度Iter内存(MB)时间
3030229520140:00
29538629520630:17
876765295233394:07
2029765295---

到2000条已经很吃力了。可以将序列的长度缩减一下,实现一下python里面对于序列的裁剪。

在台式机(i5-10400F,6核)上进行测试:

序列数最长序列平均长度Iter内存(MB)时间
3030229520140:00
29538629520630:13
876765295233393:28
202976529524141733:24
741398295222501:20
197439829524134416:22

表明PC对于大规模的比对(上千万条)是无能为力的,还是要用profile-profile的方法。而且可能更有意义。

profile-profile alignment

目前有

  1. 序列截断

Each sequence identified was then shortened so that it did not exceed any query by more than 20 amino acids at either end.

是否有现成的程序可以做,还是需要自己实现一个朴素的想法?比如根据截断后的pairwise-alignment 的值最大值来选。比如确定query上核心的domain,然后向外延申一定长度截断。

  1. cut-off 确认
    现在再看有感觉了,将已知的序列分到4个cluster中,然后确定阈值-数量最稳定的那个阈值,得到的各个簇的序列即为最终输出的序列。

The tree was cut at varying cut-offs, and the cut-offs at which all 22 known
HLD sequences (Table S1) were grouped into four clusters, i.e. subfamilies HLD-I, HLD-II and HLD-III and a cluster consisting of the putative HLD from A. niger (“HLD-IIIb”), were further analyzed. For each such cut-off c, the difference between the total number of sequences comprising HLD clusters at the cut-off c+1 and the number at the given cut-off c was calculated. The cut-off value of 74, i.e. the highest cut-off value among all those values giving the smallest difference in the overall sequence count, was selected as the final cut-off for cutting the hierarchical sequence tree.

  1. Multiple Sequence Alignment
    首先对4个簇进行alignment,然后进行profile-profile alignment。

First, each of the four HLD clusters was aligned individually, then profile-profile alignment of the two closest clusters was constructed in a stepwise manner until all clusters were aligned.

考虑到最终只有不到1000条序列,这种MSA的方法同时考虑了簇内和簇间,可能能得到更准确的结果。

USEARCH

http://www.drive5.com/usearch/manual/cmds_by_category.html

有以下几个目录可能是相关的。

  Sequence alignment commands
  Sequence, tree and graph-based clustering
  Distance matrices
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 15:56:22  更:2021-08-06 15:56:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/2 4:37:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码