greatzdl 发表于 2024-8-2 15:25

处理重复化学小分子

from rdkit import Chem

def remove_duplicates_smiles(smiles_list):
    unique_inchikeys = set()
    unique_smiles = []
   
    for smiles in smiles_list:
      mol = Chem.MolFromSmiles(smiles)
      if mol:
            inchikey = Chem.MolToInchiKey(mol)
            if inchikey not in unique_inchikeys:
                unique_inchikeys.add(inchikey)
                unique_smiles.append(smiles)
   
    return unique_smiles

# 示例用法
smiles_list = ["CCO", "CCO", "CCN", "CCN", "CCC"]
unique_smiles_list = remove_duplicates_smiles(smiles_list)
print(unique_smiles_list)

这个是简单的处理示例。本质上就是利用inchikey作为分子的唯一标识,来进行分子去除重复。
因为smiles这种方式表示分子,同一个分子可以有很多中smiles。没有有唯一性。
欢迎交流。

sona124311 发表于 2024-8-2 15:50

很精炼!{:1_921:}

icho 发表于 2024-8-2 18:37

楼主是懂化学的

SoftCracker 发表于 2024-8-2 19:47

化学小分子?什么情况

艾莉希雅 发表于 2024-8-2 21:50

感觉还是半透膜会好用一点,楼主这个写完了丢反应器里要怎么用啊

aukw 发表于 2024-8-3 16:42

化学小分子?好专业。。。到底是啥

greatzdl 发表于 2024-8-7 11:26

aukw 发表于 2024-8-3 16:42
化学小分子?好专业。。。到底是啥

平时生病吃的药片的主要成分都是小分子化合物,是他们到了人体内产生了某些作用。
本质上 我们吃的饭 里面有 葡萄糖 氨基酸 果糖 都是小分子

laotzudao0 发表于 2024-8-9 16:57

学到了,化学小分子
页: [1]
查看完整版本: 处理重复化学小分子