Source code for fragment_elaboration_scripts.fauxalysis
from typing import List
import os
from rdkit import Chem
[docs]
def make_fauxalysis(hits: List[Chem.Mol], target_name: str, base_folder='.') -> None:
"""
Given a list of hits, make a fragalysis-download-like folder structure
:param hits:
:param target_name:
:param base_folder:
:return:
.. codeblock::python
target_name = '👾👾👾'
make_fauxalysis(hits, target_name, os.path.join(os.getcwd(), 'fauxalysis'))
"""
if not os.path.exists(base_folder):
os.mkdir(base_folder)
os.environ['FRAGALYSIS_DATA_DIR'] = base_folder
for hit in hits:
hit_name: str = hit.GetProp('_Name')
hit_path = os.path.join(base_folder, f'{target_name}', 'aligned', f'{target_name}-{hit_name}')
os.makedirs(hit_path, exist_ok=True)
Chem.MolToMolFile(hit, os.path.join(hit_path, f'{target_name}-{hit_name}.mol'))