药物分子虚拟筛选规则

news2024/12/26 10:50:38

药物分子虚拟筛选规则

Lipinski Rule

RO5是辉瑞公司资深药物化学家Christopher A. Lipinski在1997年提出,虽然随时代发展虽然其适用范围逐渐变窄,但仍然非常有参考意义。其主要内容如下:

  1. 分子量(Mw)小于500;
  2. 氢键供体(HBD)数目小于5;
  3. 氢键受体(HBA)数目小于10;
  4. 脂水分配系数(logP)小于5;
  5. 可旋转键(rotatable bonds)的数量不超过10个。
    除了以上RO5性质,另外还有几个对于药物开发关键的性质:
  6. 类药性(QED):0-1区间归一化后的数值,衡量化合物和药物相似性,虽不准确,但简单直接
  7. 手性中心个数(chiral_centers):过多的手性中心,会导致合成与纯化工艺难度的大幅提高。
from rdkit import Chem
import numpy as np
import pandas as pd
from rdkit.Chem import PandasTools, QED, Descriptors, rdMolDescriptors
def cal_mol_props(smi, verbose=False):
    try:
        m=Chem.MolFromSmiles(smi)
        if not m:
            return None,None,,None,None,None,None,None,None
        mw = np.round(Descriptors.MolWt(m),1)
        logp = np.round(Descriptors.MolLogP(m),2)
        hbd = rdMolDescriptors.CalcNumLipinskiHBD(m)
        hba = rdMolDescriptors.CalcNumLipinskiHBA(m)
        psa = np.round(Descriptors.TPSA(m),1)
        rob= rdMolDescriptors.CalcNumRotatableBonds(m)
        qed= np.round(QED.qed(m),2)
        chiral_center=len(Chem.FindMolChiralCenters(m,includeUnassigned=True))
        if verbose:
            print ('Mw ',mw)
            print ('Logp ',logp)
            print ('HBD ', hbd)
            print ('HBA ', hba)
            print ('TPSA ', psa)
            print ('RotB ', rob)
            print ('QED ', qed)
            print ('chiral_center ', chiral_center)
        return mw,logp,hbd,hba,psa,rob,qed,chiral_center
    
    except Exception as e:
        print (e)
        return None,None,,None,None,None,None,None,None

Pfizer Rule

GSK Rule

Drug Like Soft








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

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

相关文章

matlab 对线路板进行裁剪

缺陷图像目前还没有搞定————(无奈) test1 %Sobel方法 I imread(ChuanJian0.jpg); G rgb2gray(I); E1 edge(G, sobel); figure, subplot(2,2,1); imshow(I); title(Original Color Image); subplot(2,2,2); imshow(E1); title(Sobel Edge);E2 ed…

使用PyTorch构建神经网络,并计算参数Params

文章目录 使用PyTorch构建神经网络,并计算参数Params举例计算具有全连接层的神经网络的参数数量计算卷积神经网络的参数数量Params计算过程 总结 使用PyTorch构建神经网络,并计算参数Params 在深度学习中,模型的参数数量是一个非常重要的指标…

零基础学Java好找工作吗?好程序员告诉你入行Java有多惨?

为什么小源建议普通背景、零基础的大专生、本科生去学java编程呢? 因为真的香啊!小白容易上岸,而且工作3年的话,基本年薪就能到50w(只要你工作后也一直不断努力学习)。java岗位属于技术岗,没有任…

Android进阶:Activity的生命周期和启动模式

Activity的生命周期和启动模式 作为Android四大组件之中存在感最强的组件,Activity应该是我们在学习Android中第一个碰到的新概念。在日常开发过程中我们肯定会用到Activity,但是关于Activity的一些细节问题运行机制我们可能还有一些不清楚的问题。今天…

调用百度文心AI作画API实现中文-图像跨模态生成

作者介绍 乔冠华,女,西安工程大学电子信息学院,2020级硕士研究生,张宏伟人工智能课题组。 研究方向:机器视觉与人工智能。 电子邮件:1078914066qq.com 一.文心AI作画API介绍 1. 文心AI作画 文…

全开源ChatGPT聊天机器人商业版源码/支持魔改/完全开放源代码

🎈 限时活动领体验会员:可下载程序网创项目短视频素材 🎈 ☑️ 品牌:ChatGPT ☑️ 语言:PHP ☑️ 类型:ChatGPT ☑️ 支持:PCWAP 🎉 有需要的朋友记得关赞评,需要的底部获…

C++哈希

目录 一、认识哈希表 1.unordered_set和unordered_map 2.哈希表的概念 二、闭散列哈希表的实现 1.底层本质 (1)哈希表的存储结构 (2)元素的插入与查找 (3)哈希冲突 (4)负载…

深入浅出C++ ——线程库

文章目录 线程库thread类的简单介绍线程函数参数原子性操作库 mutex的种类std::mutexstd::recursive_mutexstd::timed_mutexstd::recursive_timed_mutex lock_guard与unique_locklock_guardunique_lock condition_variable 线程库 thread类的简单介绍 在C11之前,涉…

“广东省五一劳动奖章”获得者卫晓欣:“她”力量让新兴技术更获认可

近日,2023年广东省庆祝“五一”国际劳动节暨五一劳动奖表彰大会顺利召开,大会表彰了2023年全国和省五一劳动奖、工人先锋号代表。 其中,来自FISCO BCOS开源社区产业应用合作伙伴广电运通的创新中心总监卫晓欣,凭借在区块链领域的…

分布式锁Redisson对于(不可重入、不可重试、超时释放、主从一致性)四个问题的应对

文章目录 1 Redisson介绍2 Redisson快速入门3 Redisson可重入锁原理4 Redisson锁重试和WatchDog机制5 Redisson锁的MutiLock原理 基于setnx实现的分布式锁存在下面的问题: 重入问题:重入问题是指 获得锁的线程可以再次进入到相同的锁的代码块中&#xff…

Ai作图可控性演进——从SD到MJ

背景 Ai作图从Diffusion模型开始,作图进入稳步发展快车道。然后用过diffusion系列作图的同学对产图稳定性,以及可控性都会颇有微词。diffusion系列作图方法在宏观层面上确实能够比较好的做出看上去还不错的图。然后当你细抠细节时候,发现这东…

远程服务器搭建jupyter lab并在本地访问

1、安装jupyter pip install jupyter 可以直接在base环境下安装 2、配置jupyter 2.1 密钥生成 进入python交互模式,输入以下代码: from jupyter_server.auth import passwd passwd()然后输入密码,得到一串密钥,保存一下 2.2…

Java多线程入门到精通学习大全?了解几种线程池的基本原理、代码示例!(第五篇:线程池的学习)

本文介绍了Java中三种常用的线程池:FixedThreadPool、CachedThreadPool和ScheduledThreadPool,分别介绍了它们的原理、代码示例以及使用注意事项。FixedThreadPool适用于并发量固定的场景,CachedThreadPool适用于执行时间短的任务&#xff0c…

Linux C/C++后台开发面试重点知识

Linux C/C后台开发面试重点知识 文章转载自个人博客: Linux C/C后台开发面试重点知识 查看目录 一、C 面试重点 本篇主要是关于 C 语言本身,如果是整个后台技术栈的学习路线,可以看这篇文章: Linux C 后台开发学习路线 对于 C 后台开发面试来说&…

27岁转行学云计算值得吗?能就业不?

27岁转行学云计算值得吗?能就业不? 首先,云计算当然值得转行了,如此肯定的观点,应该没有人会反对吧,尤其是对IT行业的现状以及就业市场有所了解的人。如果你对这一点有所怀疑也很正常,只要通过各…

Spring Boot集成ShardingSphere分片利器 AutoTable (一)—— 简单体验 | Spring Cloud 45

一、背景 Sharding是 Apache ShardingSphere 的核心特性,也是 ShardingSphere 最被人们熟知的一项能力。在过去,用户若需要进行分库分表,一种典型的实施流程(不含数据迁移)如下: 用户需要准确的理解每一张…

详解快速排序的类型和优化

详解快速排序的优化 前言快排的多种写法霍尔法实现快排代码部分 挖坑法思路讲解代码部分 双指针法思路讲解代码部分 针对排序数类型的优化针对接近或已经有序数列和逆序数列三数取中代码实现 随机数 针对数字中重复度较高的数三路划分思路讲解代码部分 根据递归的特点进行优化插…

JSP招投标管理系统myeclipse开发mysql数据库WEB结构java编程

一、源码特点 JSP 招投标管理系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 JSP招投标管理系统myeclipse开发mysql数据库W 二、功能介绍 主要功能: …

BPMN2.0 任务-接收任务手动任务

接收任务 接收任务是一个简单的任务,它等待特定消息的到来。 当流程执行到接收任务时,流程状态将提交给持久性存储。流程将保持这种等待状态,直到流程引擎接收到特定的消息,这将触发接收任务之外流程的继续进行。 接收任务用左上角有一个消息图标的标准BPMN 2.0任务(圆角…

C++新特性总结

(智能指针,一些关键字,自动类型推导auto,右值引用移动语义完美转发,列表初始化,std::function & std::bind & lambda表达式使回调更方便,c11关于并发引入了好多好东西,有&am…