- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我只是想知道,有什么方法可以将 IUPAC 或常见的分子名称转换为 SMILES?我想这样做而不必使用在线系统手动转换每一个。任何输入将不胜感激!
作为背景,我目前正在使用 python 和 RDkit,所以我不确定 RDkit 是否可以做到这一点,我只是不知道。我当前的数据是 csv 格式。
谢谢!
最佳答案
RDKit 无法将名称转换为 SMILES。 Chemical Identifier Resolver可以转换名称和其他标识符(如 CAS 号)并具有一个 API,因此您可以使用脚本进行转换。
from urllib.request import urlopen
from urllib.parse import quote
def CIRconvert(ids):
try:
url = 'http://cactus.nci.nih.gov/chemical/structure/' + quote(ids) + '/smiles'
ans = urlopen(url).read().decode('utf8')
return ans
except:
return 'Did not work'
identifiers = ['3-Methylheptane', 'Aspirin', 'Diethylsulfate', 'Diethyl sulfate', '50-78-2', 'Adamant']
for ids in identifiers :
print(ids, CIRconvert(ids))
输出
3-Methylheptane CCCCC(C)CC
Aspirin CC(=O)Oc1ccccc1C(O)=O
Diethylsulfate CCO[S](=O)(=O)OCC
Diethyl sulfate CCO[S](=O)(=O)OCC
50-78-2 CC(=O)Oc1ccccc1C(O)=O
Adamant Did not work
关于python - 将分子名称转换为 SMILES?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54930121/
使用 threejs,我尝试使用以下示例: http://threejs.org/examples/#css3d_molecules 问题是在那个例子中,从灰色球到红色球的键应该是双键。我发现了一些建
我有一个分子测试,可以启动 2 个 Docker 容器,用于一次测试 2 个应用程序版本。 dependency: name: galaxy driver: name: docker lint
假设我们依次应用了 3 个过滤器: b, a = iirfilter(...) # or bilinear(...) or anything else producing b, a y = lfil
在显式传递命令后,服务模块似乎没有启动我的 docker 守护进程。 Ansible 未在目标主机中启动 docker 守护进程。任务: - name: Install Docker apt:
我见过有人使用 pip install docker-py 或 pip install 'molecule[docker]'。 我相信它们是相似的(等价的?) 我读了https://molecule.
我是一名优秀的程序员,十分优秀!