RDKit를 통해 부분 구조 검색 ~ 하이라이트 이미지 표시
1373 단어 RDKit
컨디션
메서드
전제로, mols 목록에서 검색 대상의 화합물을 Mol 문자열로 들어간다고 가정합니다.다음 절차에서 일부 구조 검색을 진행하여 찾은 화합물의 일부 구조를 돋보이게 할 수 있다.# クエリとなる部分構造を生成
from rdkit.Chem import AllChem, Draw, Descriptors, PandasTools
query = AllChem.MolFromSmiles("c1ccccc1c1ccccc1")
Draw.MolToImage(query)
# 部分構造検索
result = []
for i, mol in enumerate(mols):
molObj = AllChem.MolFromMolBlock(mol)
if molObj.HasSubstructMatch(query):
pattern = molObj.GetSubstructMatches(query)
result.append(molObj)
이렇게 하면result를 찾은 화합물(mol 대상)을 저장할 수 있다.예를 들어 첫 번째 화합물에서 찾은 부분을 돋보이게 하기 위해서는 다음과 같다.# ハイライト表示
pattern = result[0].GetSubstructMatches(query)
Draw.MolToImage(result[0], highlightAtoms=pattern[0])
여기서는 패널에 핫한 곳의 목록이 있기 때문에 최초로 핫한 부분을 돋보이게 해야 한다.
그나저나 여러 화합물을 함께 보여줘야 돼, Draw.MolToImages를 사용합니다.
대량의 화합물을 검색하는 상황에서 이것은 매우 느리기 때문에 일부 구조의fingerprint를 사용하여 고속화하는 방법을 다시 묘사해야 한다.
Reference
이 문제에 관하여(RDKit를 통해 부분 구조 검색 ~ 하이라이트 이미지 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kimisyo/items/d41578ea32139a68aaa3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# クエリとなる部分構造を生成
from rdkit.Chem import AllChem, Draw, Descriptors, PandasTools
query = AllChem.MolFromSmiles("c1ccccc1c1ccccc1")
Draw.MolToImage(query)
# 部分構造検索
result = []
for i, mol in enumerate(mols):
molObj = AllChem.MolFromMolBlock(mol)
if molObj.HasSubstructMatch(query):
pattern = molObj.GetSubstructMatches(query)
result.append(molObj)
# ハイライト表示
pattern = result[0].GetSubstructMatches(query)
Draw.MolToImage(result[0], highlightAtoms=pattern[0])
Reference
이 문제에 관하여(RDKit를 통해 부분 구조 검색 ~ 하이라이트 이미지 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kimisyo/items/d41578ea32139a68aaa3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)