当前位置: 首页 > news >正文

IUPAC和SMILES的相互转换

这种方法只能解决非常简单的转换,更难的SMILES之间应该是无法直接转换,我可能很多人都使用神经网络解决 ,暂时还没仔细看,后面再仔细看吧...

简单的转换: 

import urllib.error
import urllib.parse
import urllib.requestSMILES_URL_TEMPLATE = 'http://cactus.nci.nih.gov/chemical/structure/{}/smiles'
IUPAC_URL_TEMPLATE = 'http://cactus.nci.nih.gov/chemical/structure/{}/iupac_name'def retrieve(url):with urllib.request.urlopen(url) as f:return f.read()def iupac2smiles(iupac):quoted_iupac = urllib.parse.quote(iupac)smiles_url = SMILES_URL_TEMPLATE.format(quoted_iupac)return retrieve(smiles_url).decode('utf-8')def smiles2iupac(smiles):quoted_smiles = urllib.parse.quote(smiles)iupac_url = IUPAC_URL_TEMPLATE.format(quoted_smiles)return retrieve(iupac_url).decode('utf-8')convert = None
src = None
dst = None
# iupac2smiles/smiles2iupac
change_direction = 'smiles2iupac'
if change_direction == 'iupac2smiles':convert = iupac2smilessrc = 'iupac'dst = 'smiles'
elif change_direction == 'smiles2iupac':convert = smiles2iupacsrc = 'smiles'dst = 'iupac'try:# 输入的化合物名称input_compound_name = "CCCC"output_compound_name = convert(input_compound_name)# 输出转换后的化合物名称print(output_compound_name)except urllib.error.HTTPError as e:print('[{src}] {original}\n: error {error}'.format(src=src, original=input_compound_name, error=e.code))

复杂的转换:

STOUT: SMILES to IUPAC names using neural machine translation:STOUT: SMILES to IUPAC names using neural machine translation | Journal of Cheminformatics | Full Text

Transformer-Based Molecular Generative Model for Antiviral Drug Design....

http://www.lryc.cn/news/95517.html

相关文章:

  • 逻辑回归概述
  • React 框架下自己写一个braft编辑器,然后将编辑器内容展示在网页端
  • 基于DNN深度学习网络的OFDM+QPSK信号检测算法matlab仿真
  • 学生管理系统-05封装选项卡
  • 关于一些C++、Qt、Python方面的术语
  • k8s中强制删除pv
  • 60寸透明屏的透明度怎么样?
  • Python:使用openpyxl读取Excel文件转为json数据
  • 在Microsoft Excel中如何快速合并表格
  • 【RS】基于规则的面向对象分类
  • SWF格式视频怎么转换成AVI格式?简单的转换方法分享
  • Hive数据仓库
  • 公网访问的Linux CentOS本地Web站点搭建指南
  • ChatGPT:人机交互新境界,AI智能引领未来
  • 微信小程序值相同的数据,一个数据setDate修改后,另一个值相同的数据也会修改
  • Spring5学习笔记 — IOC
  • DevOps自动化平台开发之 Shell脚本执行的封装
  • STM32CubeIDE(I2C)
  • http 请求报文响应报文的格式以及Token cookie session 区别
  • 智能汽车的主动悬架工作原理详述
  • vue2和vue3的一些技术点复习
  • 安装nvm 切换node版本
  • 【html中的BFC是什么】
  • 苹果账号被禁用怎么办
  • 跨境出海企业,如何防范恶意退货欺诈
  • 数据出境要依法“过安检”!什么是数据出境?
  • ARM——点灯实验
  • Kubernetes 使用 helm 部署 NFS Provisioner
  • Istio Pilot源码学习(二):ServiceController服务发现
  • Spring框架中的ResourcePatternResolver只能指定jar包内文件,指定容器中文件路径报错:FileNotFoundException