首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JCIM|EHreact:用于酶促反应模板提取和评分的扩展Hasse图

1.研究背景 科学家们开发了大量的工具从大型数据库中的有机或生物催化反应中提取、应用和评分具有一般性的反应模板。...从另一方看,从数据库中自动提取酶反应的数据的困难促进了手工管理反应规则集的创建。 大多数酶在某种程度具有混杂性,换句话说,它们可以被改造以接受新底物。 在反应途径设计的实践中,适度混杂的酶是首选。...作者以4-羟基-2-氧戊二酸裂解酶(EC 4.1.3.42)为例进行讨论。从BRENDA列出3种已知底物:4-羟基-2-氧戊二酸、4-羟基-2-牛丁醛和草酰乙酸。...在每一步中,算法只添加原子及其对应的键,这些原子在所有的反应中都是守恒的,是模板中当前原子直接相邻的原子,最终得到图5d中的第四个模板,它适用于所有输入反应。...一般来说,EHreact可以得到类似的AUC,但准确率更高,在羧基-甲基转移酶、转氨酶、色氨酸合成酶和酰胺转移酶中差异尤其明显。

91320
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    记一道字节跳动的算法面试题

    未经同意禁止任何形式转载,特别是那些复制粘贴到别的平台的,否则,必定追究。欢迎大家多多转发,谢谢。...最后的结果如下: ?...而面试的时候,经常会进行变形,例如这道字节跳动的题,它变成从尾部开始组起,可能你一时之间就不知道该怎么弄了。当然,可能有人一下子就反应出来,把他秒杀了。...2、处理后的结果如下 ? 3、接着在把结果逆序一次,结果如下 ?...告别递归,谈谈我的一些经验 3、一文读懂一台计算机是如何把数据发送给另一台计算机的 4、如何只用2GB内存从20/40/80亿个整数中找到出现次数最多的数 5、字符串匹配Boyer-Moore算法:文本编辑器中的查找功能是如何实现的

    1.7K20

    【综合笔试题】难度 15,一道结合了其他数据结构的「链表合并」题

    给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。...示例 1: 输入:lists = [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下: [ 1->4->5, 1->3->4,...2->6 ] 将它们合并到一个有序链表中得到: 1->1->2->3->4->4->5->6 示例 2: 输入:lists = [] 输出:[] 示例 3: 输入:lists = [[]]...由于所有链表本身满足「升序」,一个直观的做法是:比较每条链表的头结点,选取值最小的节点,添加到结果中,然后将该链表的头结点指针往后移一位。 循环比较,直到所有的节点都被加入结果中。...然后每次从「集合」中挑出最小的节点添加到答案中,并将该节点的 节点添加进「集合」(如果有的话)。 循环这个过程,直到「集合」为空(说明所有节点都处理完,进过集合又从集合中出来)。

    59241

    【ACM程序设计】动态规划 第一篇 引入

    就像这样:7->8->1->4->6 我们会发现在第四步的时候情况不对,这里两个子节点相同,明显取右侧的4比左侧的4结果要大,可是当程序执行到这一步,我们要如何使计算机明白要选择右边的结点而不是左边的。...我们会发现,即使在第四步选择了右边这个点,结果(7->8->1->4->6=26)比题目给出的答案7->8->0->7->6总和为28小.即题目在第三层就选择了小的0而不是1。...0:max(solve(i+1,j),solve(i+1,j+1))); return d[i][j]; } 我们来考虑d(i,j)这个数组的意义,可以发现d(i,j)表示这个位置出发能得到的最大和...而这个状态体现的从 ( i , j ) 出发的最大总和,正是”最优子结构”,即”全局最优解包含局部最优解”,这就有效解决了贪心算法中(局部最优解不一定是整体最优解)的问题。...在上面的记忆化搜索中,我们求解的方式是从方程左边到方程右边,而动态规划正相反,从右边推出左边。 最后呈现的正是计算机决策的路径。这一方法被我们称为”递推”。

    38730

    翻转链表与数组去重—— LeetCode 第 25、26 题记

    示例: 给你这个链表:1->2->3->4->5 当 k = 2 时,应当返回: 2->1->4->3->5 当 k = 3 时,应当返回: 3->2->1->4->5 #来源:力扣(LeetCode...观摩题解 题目二 第 26 题:删除排序数组中的重复项 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。...示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 你不需要考虑数组中超出新长度后面的元素。...但提交后无法通过,因为它要求代码过程中要实现对 nums 重复元素的删除,最终是通过去重后的 nums 来检查结果的。...题目中提到了是个排序数组,所以我们只要检测到该位与上一位相同时,在列表中删除掉一位该元素即可。

    66420

    Leetcode打卡 | No.23 合并 k 个有序链表

    PS:从第10开始,代码以图片形式给出,方便手机用户阅读,避免左右滑不便阅读,完整代码会上传GitHub上了:https://github.com/Jan1995/LeetCode ---- No.23...示例: 输入:[ 1->4->5, 1->3->4, 2->6 ]输出: 1->1->2->3->4->4->5->6 这一题可以看作是前边第 21 题的升级版 ,小伙伴们可以温故一下之前类似的题目...: Leetcode打卡 | No.21 合并两个有序链表 这里是 k 个有序链表 ,小詹看到第一反应是直接递归使用前边合并两个有序链表的思路 ,对 ,完全没毛病的 。...这种方式的结果大概是 beat 65% 左右 ,还有一种看起来比较复杂的办法 ,但是结果却很赞 。...时间复杂度 ,分为三步分别考虑 ,首先将所有链表节点值收集到列表中时间复杂度为 O(N) ;排序使用 python 的 sorted ,这里插一句 ,公号前期文章有 8 大排序算法的介绍 ,这步复杂度为

    69310

    【数据结构与算法】图的最短路径算法实现:Dijkstra && Bellman-Ford && Floyd-Warshall

    前言 ​ 最短路径问题:从在带权有向图 G 中的某一顶点出发,找出一条通往另一顶点的最短路径,最短也就是沿路径各边的权值总和达到最小。 Ⅰ....时间复杂度:O(V^2) 算法步骤 维护一个数组 dist 来储存起点到各个顶点的最短距离,一个数组 pPath 来存储每个节点在最短路径中的上一个节点的下标(方便后面的打印),一个数组 S 来用 bool...初始化上面的数组,dist 中起点默认为 0,其他点默认为无穷大;pPath 中起点默认为 0,其他点默认为 -1;S 中默认所有点为 false,表示还没被确定。...利用循环遍历 _vertexs.size() 次,每次选择未确定顶点中距离最近的,将该点在 S 数组中设为 true,表示确认了。...代码实现 // Dijkstra算法 // 其中src代表单源节点 // dist数组是存放src到每个节点的最短路径距离 // pPath数组是存放每个节点的最短路径中的上一个节点下标 void Dijkstra

    15810

    宏观视角看递归

    Hi,你好,今天的文章主要是从宏观角度聊聊递归这种算法思想,文章主要内容如下: 通过数组求和看递归的基本性质 链表的天然递归性 01 通过数组求和看递归的基本性质 现在给出一个数组arr={1,3,6...于是C将自己记录的元素6和D告诉他的剩余元素的总和0相加后得到6,他就把这个结果告诉了B。...image.png B在收到C的结果6后,同样的将自己记录的元素3和其相加得到9,于是他就把这个结果告诉了A。...image.png A在拿到B告诉他的结果9后,将其和自己记录的元素1相加得到结果10。这时A就知道数组中所有元素的总和是10。...示例: 输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4->5 LeetCode 思路分析 为了方便演示,我将题目示例中给定的链表进行了简化。

    52610

    【Day 01】力扣(LeetCode)每日一刷

    解题思路: 要求根据得分决定名次,那就可以将所有运动员的得分放入最大堆中,那么从堆中取出来的得分将是由大到小的,给answer[]前三名分别赋值 “Gold Medal”,“Silver Medal"...为了让堆中排序好的得分与运动员对应,可以使用有序可重复的集合List来存放得分数组score[],让堆中取出的得分与集合中元素一比较,就得到了对应运动员的下标。.../ 示例 1: 输入:lists = [ [1,4,5], [1,3,4], [2,6] ] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下: [ 1->4->5, 1->3-...>4, 2->6 ] 将它们合并到一个有序链表中得到。...1->1->2->3->4->4->5->6 / 示例 2: 输入:lists = [] 输出:[] / 示例 3: 输入:lists = [[]] 输出:[] 思路:分别将链表数组中

    26210

    合并K个升序链表

    给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。...示例 1:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合并到一个有序链表中得到...每次从优先队列中取出最小的节点,并将其下一个节点加入优先队列。重复上述步骤,直到优先队列为空。构建结果链表:使用一个虚拟头节点 dummy 来简化链表操作。...每次从优先队列中取出最小的节点,将其连接到结果链表的末尾。...构建结果链表:使用虚拟头节点 dummy 来简化链表操作。每次从优先队列中取出最小的节点,将其连接到结果链表的末尾。如果取出的节点有下一个节点,则将下一个节点加入优先队列。

    4000

    DeepMind新建虚拟认识实验室,像研究人类一样研究AI(代码开源)

    作者:Joel Leibo,研究科学家 编译:费欣欣 【新智元导读】DeepMind今天的官博发文,介绍他们的新工作Psychlab,这是一个建立在DeepMind Lab之上的平台,旨在构建可控环境,从心理认识的角度...所有这些任务都已被验证,表明人类结果反映了认知心理学文献中的标准结果。 以“视觉搜索”任务为例。...在复杂的刺激阵列中定位对象,比如在超市货架上选择一个商品,作为理解人类选择性注意力的方法,已经得到深入的研究。...在Psychlab上演示视觉搜索任务 当要求人类“在水平线段中找出竖直线段”和“在其他颜色的线段中找出粉条的线段”的任务时,人类的反应时间不会根据屏幕上的线段数量的改变而改变。...换句话说,他们的反应时间与“数据大小”是相互独立的。然而,当任务改为在不同形状和不同颜色的线段中找出粉色线段时,每增加一个线段,人的反应时间会增加大约50ms。

    74270

    LootCode-链表排序-Java

    2.测试用例 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5 3.解题思路 3.1...总体思路 ​ 看到链表排序,给我的第一个反应就是应该是能实现,主要是我对这题有解题的思路,先不说时间复杂度和空间复杂度什么的,我感觉选择排序或者是插入排序应该都能实现对链表的排序 ​ Talk...用来保存每次合并年之后的结果 int i = left; int j = mid + 1; int k = 0; // 临时数组的初始下标 // 这个while循环能够初步筛选出待合并的了两个子序列中的较小数...while (i <= mid) { temp[k++] = arr[i++]; } // 将右边序列中剩余的数放入临时数组 while (j <= right...) { temp[k++] = arr[j++]; } // 将临时数组中的元素位置对应到真真实的数组中 for (int m = 0; m < temp.length

    39610

    一些简单的编程题(Java与C语言)

    =0 || i%400==0){ System.out.println(i); } } } } 4- 结果演示: 三、题目三...1- 题目分析 本题分子都是1,且分母从1~100,每个数想表示出来很简单,因此这道题唯一需要解决的问题就是怎么表示正负,表示正负的方法有很多,这里我就使用一种来介绍一下,看代码 2- C语言代码编写:...结果演示: 四、题目四 输出一个整数的每一位,如:123的每一位是3,2,1 1- 题目分析: 可以通过num%10得到最低位,再通过num/10去除最低位 这里就不详细介绍怎么得到的了,如果有不会的可以点这里查看...,后面介绍java的时候会讲到 4- 结果演示: 五、题目五 编写代码模拟三次密码输入的场景。...4- 结果演示: 结语: 这篇文章没有介绍什么知识点,主要是为了引出小编后续将要介绍的知识,不过从这篇文章也能了解一些关于java的用法,比如说java的输入,输出,以及字符串比较!

    8810

    多任务深度学习预测化学反应

    从结果对比可知,T5Chem在单步逆合成预测任务中表现出最好的准确性。...就top-k准确性而言,它与单独任务模型在准确性结果上相当。这表明这三项任务密切相关,可以同时学习。并且使用混合数据集训练得到的T5Chem模型预测得到的无效SMILES较少。...在反应产率的预测任务中,SHAP值表明芳基卤化物、添加剂和催化剂的选择对所有产率预测贡献最大。其中4-氯甲氧基苯对反应产率预测起着最重要的作用。并且苯环和氯取代有很强的负向影响。...作者通过将反应物A中4-氯甲氧基苯中的苯和氯这类负影响子结构,改为积极贡献的2-碘吡啶中的碘和吡啶环,会获得更高的反应产率。...结果表明,使用多任务训练的T5Chem模型具有更强的鲁棒性,可以从相关任务的互相学习中受益。

    1.3K20

    数字信号处理之卷积

    线性系统中,通过这种方式获得的输出信号和原始信号直接通过系统得到的输出结果是一样的。...数学运算中输入两个数得到第三个数,卷积则是输入两个信号产生第三个信号。卷积被广泛应用于统计和概率中。在线性系统中,卷积描述的是输入信号,脉冲反应和输出信号三者之间的关系。 ?...3.卷积运算 卷积可以从输入信号的角度理解:输入信号的每一个采样点是如何贡献于多个输出信号采样点,即每一个输入信号分量进入线性系统之后,都将产生多个平移和缩放版本的脉冲反应,输出结果即为每个信号分量对应的平移和缩放版的脉冲反应进行合成...即对于每一个输出信号,都将由多个输入信号贡献其脉冲响应,输出结果即为对应脉冲响应的线性加权。 这两个理解只是对卷积运算的不同角度的理解,其结果都是一样的。 从输入信号的角度理解 ?...输入信号x[n]有九个点,输入一个有四个脉冲反应h[n]的线性系统中,得到9+4-1输出信号y[n]。用数学术语表示为:x[n]卷积h[n]输出结果y[n]。

    1.5K31

    不仅游戏会坑人,来看看LeetCode出题人是怎么埋坑的

    样例 Input: 1->2->3->4->5->NULL, k = 2 Output: 4->5->1->2->3->NULL Explanation: rotate 1 steps to the right...: 5->1->2->3->4->NULL rotate 2 steps to the right: 4->5->1->2->3->NULL Input: 0->1->2->NULL, k = 4 Output...其实这个就相当于游戏中的宝物,玩家看到宝物的第一反应就是去捡,同样,我们想出解法之后的第一反应就是去编码。那么这样直线思维的结果就是被阴。 那么阴我们的“怪物”在哪呢?...所以如果我们贸贸然上去用模拟的方法一个一个地移动链表的话,结果就是被阴,测试的时候样例全都通过,但是一提交就TLE(time limited exceed),也就是超时。...我们可以开辟一个数组,先把链表中的元素全部另外存储一遍,自己重新构造新的链表进行返回,也可以模拟链表的移动过程,在原链表上操作。这两种方法都是可以的,我们一种一种来看代码。

    56120
    领券