RDKit | 化合物SDF文件转换为SMILES存储为CSV

将化合物格式SDF文件转换为CSV文件。

 

  • 读取SDF中的属性并输出为CSV项目
  • 不必使每个化合物的属性具有相同的属性(输出不为空的属性)。

import pandas as pd
from rdkit import Chem
import argparse
from collections import defaultdict


def main():

    parser = argparse.ArgumentParser()
    parser.add_argument("-input", type=str, required=True)
    parser.add_argument("-output", type=str, required=True)
    parser.add_argument("-save_name", action='store_true', help="store header line as _Name")
    args = parser.parse_args()

    # Read SDF
    sdf_sup = Chem.SDMolSupplier(args.input)
    Props = []
    if args.save_name:
        Props.append("_Name")

    for mol in sdf_sup:
        for name in mol.GetPropNames():
            if name not in Props:
                Props.append(name)

    # dictionary for storing data
    param_dict = defaultdict(list)

    # Read SDF , get compound parameters
    sdf_sup = Chem.SDMolSupplier(args.input)
    for mol in sdf_sup:
     

你可能感兴趣的:(RDKit,化学信息学与AI)