一个独立的模块,帮助从各种化学信息软件生成分子描述符

chemdescriptor的Python项目详细描述


化学描述符-分子描述符生成器

通用分子描述符生成器包装各种软件包,以简化获取描述符的过程

安装

类型:

pip install chemdescriptor

要求

  1. 熊猫
  2. Chemaxon CxCalc的工作副本

用法

目前只支持Chemaxon CXCalc。该模块还可以扩展以覆盖其他发电机。 示例输入文件可以在这个repo的examples/文件夹以及pip安装包中找到。

重要!代码要求设置环境变量cxcalc_path,它指向安装cxcalc的文件夹!

命令行

chemdescriptor-cx -m /path/to/SMILES/file -d /path/to/descriptor/whitelist/json -p 6.8 7.0 7.2 -o output.csv
usage: chemdescriptor-cx [-h] -m MOLECULE -d DESCRIPTORS -p PH [PH ...]
                         [-c COMMANDS] [-pc PHCOMMANDS] -o OUTPUT

optional arguments:
  -h, --help            show this help message and exit
  -m MOLECULE, --molecule MOLECULE
                        Path to input SMILES file
  -d DESCRIPTORS, --descriptors DESCRIPTORS
                        Path to descriptor white list json file
  -p PH [PH ...], --pH PH [PH ...]
                        List of pH values at which to calculate descriptors
  -c COMMANDS, --commands COMMANDS
                        Optional command stems for descriptors in json format
  -pc PHCOMMANDS, --phcommands PHCOMMANDS
                        Optional command stems for pH dependent descriptorsin
                        json format
  -o OUTPUT, --output OUTPUT
                        Path to output file

代码

设置cxcalc_路径

import os
os.environ['CXCALC_PATH'] = '/path/to/cxcalc'

导入生成器类

from chemdescriptor import ChemAxonDescriptorGenerator

实例化生成器

cag = ChemAxonDescriptorGenerator('/path/to/SMILES/file',
                                  '/path/to/descriptor/whitelist/json',
                                  ph_values=[6, 7, 8],
                                  command_stems=None,
                                  ph_command_stems=None)

生成csv输出 cag.generate('output.csv', dataframe=False, lec=False)

generate的可选关键字参数包括dataframe布尔值(默认为false),该值除了在true时写入csv外,还返回pandas数据帧。 以及lec布尔(默认值为false),在生成描述符之前,将smiles代码转换为中间的“低能量一致(lec)”表示。 生成LEC很可能需要许可证。

注:

输入smiles文件的每一行都有一个smiles代码。

描述符白名单是一个json文件,格式如下:

{
    "descriptors": [
        "refractivity",
        "maximalprojectionarea",
        "maximalprojectionradius",
        "maximalprojectionsize",
        "minimalprojectionarea",
        "minimalprojectionradius",
        "minimalprojectionsize"
    ],
    "ph_descriptors": [
        "avgpol",
        "molpol",
        "vanderwaals",
        "asa",
        "asa+",
        "asa-",
        "asa_hydrophobic",
        "asa_polar",
        "hbda_acc",
        "hbda_don",
        "polar_surface_area"
    ]
}

chemdescriptor需要两个键,其中“描述符”是通用的,“ph_描述符”是依赖于ph的描述符

2个可选字典可以传递给chemaxondescriptorgenerator、“command_stems”和“ph_command_stems”。 这些词典将上述描述符“翻译”成chemaxon cxcalc可以理解的命令。

例如,如果没有值传递给ph_command_stems,则使用以下字典:

_default_ph_command_stems = {
        'avgpol': 'avgpol',
        'molpol': 'molpol',
        'vanderwaals': 'vdwsa',
        'asa': ['molecularsurfacearea', '-t', 'ASA'],
        'asa+': ['molecularsurfacearea', '-t', 'ASA+'],
        'asa-': ['molecularsurfacearea', '-t', 'ASA-'],
        'asa_hydrophobic': ['molecularsurfacearea', '-t', 'ASA_H'],
        'asa_polar': ['molecularsurfacearea', '-t', 'ASA_P'],
        'hbda_acc': 'acceptorcount',
        'hbda_don': 'donorcount',
        'polar_surface_area': 'polarsurfacearea',
    }

请注意,包含多个单词的命令是列表中的条目。例如,命令

molecularsurfacearea -t ASA

在字典中表示为['molecularsurfacearea', '-t', 'ASA']

待办事项

[]在不同机器上测试

[]获得关于需要更改/改进的内容的反馈

[]扩展以涵盖其他描述符生成器

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java与Groovy正则表达式匹配混淆   java控制台未定义为JSNI   主目录中的java指针异常   java如何获取hashmap中的arrayList的大小   ApachePOI用于文本,Java代码中的word doc(.docx)中没有进行追加   Ruby对象到Java对象   JavaSpringJPA哈希集只返回一个值   Java在执行由配置了精确类路径参数的mavenjarpluin生成的可执行jar时无法找到依赖项   java我试图在画布上写一个文本,但什么也没发生   java HTTP 404源服务器找不到目标资源的当前表示形式,或者不愿意透露存在该表示形式。不起作用   java提取小数点后的最后一个数字   oop Java:无法访问对象的元素   PHP URL中RecyclerView中的java句柄空异常   不调用OnCreateViewHolder的java Update RecyclerView适配器项