Skip to main content

A workflow for aligning ligands and calculating contacts.

Project description

Ligand Workflow

ligand_workflow 是一个用于处理和分析分子对接数据的工作流工具。它包括多个功能模块,能够帮助你对齐配体,计算分子间接触并将 JSON 格式的数据转换为 CSV 表格,便于进一步分析。

功能

  • ligand-align: 对齐多个结构中的配体到参考结构的配体(基于pymol的)。
  • ligand-contacts: 计算分子之间的极性接触并输出结果(基于pymol的)。
  • json-to-csv: 将包含多个 PDB 文件的 JSON 数据转换为 CSV 格式,便于后续分析和展示。

安装

你可以使用 pip 从 PyPI 安装该包,也可以从源代码安装。

通过 PyPI 安装

pip install ligand_workflow

用法

依托于config file进行工作流配置,config file的格式如下:

6GZR.1-10_09 #这是x-ray结构的文件名
resn FH8 and chain A and resi 101 #这是需要处理的配体的筛选条件
chain A and polymer # 这是需要处理的RNA/DNA/蛋白质的筛选条件

设计

img

使用说明

from ligand_workflow import ligand_workflow

input_folder = "tests/testOut"
output_csv = "tests/testOut.csv"
output_json = "tests/testOut.json"
config_file = "tests/config.txt"

# Call the ligand_workflow function
ligand_workflow(input_folder=input_folder, output_csv=output_csv, output_json=output_json, config_file=config_file)

数据格式

使用json来记录contacts信息

{
        "pdb_file": "6GZR.1-10_09.pdb",
        "contacts": [
            {
                "model1": "6GZR.1-10_09",
                "atom1": 785,
                "coord1": [
                    19.78,
                    2.151,
                    6.446
                ],
                "model2": "6GZR.1-10_09",
                "atom2": 1551,
                "coord2": [
                    18.238,
                    1.404,
                    4.299
                ],
                "calculated_distance": 2.747,
                "original_distance": 2.747
            },
            {
                "model1": "6GZR.1-10_09",
                "atom1": 787,
                "coord1": [
                    20.643,
                    0.423,
                    5.186
                ],
                "model2": "6GZR.1-10_09",
                "atom2": 1551,
                "coord2": [
                    18.238,
                    1.404,
                    4.299
                ],
                "calculated_distance": 2.745,
                "original_distance": 2.745
            },
            {
                "model1": "6GZR.1-10_09",
                "atom1": 1271,
                "coord1": [
                    17.308,
                    3.818,
                    5.241
                ],
                "model2": "6GZR.1-10_09",
                "atom2": 1551,
                "coord2": [
                    18.238,
                    1.404,
                    4.299
                ],
                "calculated_distance": 2.753,
                "original_distance": 2.753
            }
        ]
    },

用于展示的tables文件是

contact序号,predict pdb name,x-ray,predict,匹配状态
contact 1,6GZR.1-10_08.pdb,"6GZR.1-10_09,785-6GZR.1-10_09,1551; (19.780,2.151,6.446) - (18.238,1.404,4.299); 2.747 Å","6GZR.1-10_08,785-6GZR.1-10_08,1551; (19.623,2.207,6.621) - (18.226,1.409,4.269); 2.850 Å",❌ 部分偏移
contact 2,6GZR.1-10_08.pdb,"6GZR.1-10_09,787-6GZR.1-10_09,1551; (20.643,0.423,5.186) - (18.238,1.404,4.299); 2.745 Å","6GZR.1-10_08,787-6GZR.1-10_08,1551; (20.393,0.322,5.542) - (18.226,1.409,4.269); 2.738 Å",✔️ 完全匹配
contact 3,6GZR.1-10_08.pdb,"6GZR.1-10_09,1271-6GZR.1-10_09,1551; (17.308,3.818,5.241) - (18.238,1.404,4.299); 2.753 Å","6GZR.1-10_08,1271-6GZR.1-10_08,1551; (17.257,3.798,5.272) - (18.226,1.409,4.269); 2.766 Å",✔️ 完全匹配
contact 1,6GZR.1-10_06.pdb,"6GZR.1-10_09,785-6GZR.1-10_09,1551; (19.780,2.151,6.446) - (18.238,1.404,4.299); 2.747 Å","6GZR.1-10_06,785-6GZR.1-10_06,1551; (19.699,2.367,6.505) - (18.242,1.400,4.278); 2.832 Å",✔️ 完全匹配
contact 2,6GZR.1-10_06.pdb,"6GZR.1-10_09,787-6GZR.1-10_09,1551; (20.643,0.423,5.186) - (18.238,1.404,4.299); 2.745 Å","6GZR.1-10_06,787-6GZR.1-10_06,1551; (20.550,0.508,5.441) - (18.242,1.400,4.278); 2.734 Å",✔️ 完全匹配
contact 3,6GZR.1-10_06.pdb,"6GZR.1-10_09,1271-6GZR.1-10_09,1551; (17.308,3.818,5.241) - (18.238,1.404,4.299); 2.753 Å","6GZR.1-10_06,1271-6GZR.1-10_06,1551; (17.209,3.789,5.214) - (18.242,1.400,4.278); 2.766 Å",✔️ 完全匹配
contact 1,6GZR.1-10_07.pdb,"6GZR.1-10_09,785-6GZR.1-10_09,1551; (19.780,2.151,6.446) - (18.238,1.404,4.299); 2.747 Å","6GZR.1-10_07,785-6GZR.1-10_07,1551; (19.669,2.312,6.541) - (18.197,1.425,4.315); 2.812 Å",✔️ 完全匹配
contact 2,6GZR.1-10_07.pdb,"6GZR.1-10_09,787-6GZR.1-10_09,1551; (20.643,0.423,5.186) - (18.238,1.404,4.299); 2.745 Å","6GZR.1-10_07,787-6GZR.1-10_07,1551; (20.506,0.470,5.438) - (18.197,1.425,4.315); 2.739 Å",✔️ 完全匹配
contact 3,6GZR.1-10_07.pdb,"6GZR.1-10_09,1271-6GZR.1-10_09,1551; (17.308,3.818,5.241) - (18.238,1.404,4.299); 2.753 Å","6GZR.1-10_07,1271-6GZR.1-10_07,1551; (17.210,3.816,5.245) - (18.197,1.425,4.315); 2.749 Å",✔️ 完全匹配
contact 1,6GZR.1-10_05.pdb,"6GZR.1-10_09,785-6GZR.1-10_09,1551; (19.780,2.151,6.446) - (18.238,1.404,4.299); 2.747 Å","6GZR.1-10_05,785-6GZR.1-10_05,1551; (19.652,2.168,6.638) - (18.240,1.402,4.274); 2.858 Å",❌ 部分偏移
contact 2,6GZR.1-10_05.pdb,"6GZR.1-10_09,787-6GZR.1-10_09,1551; (20.643,0.423,5.186) - (18.238,1.404,4.299); 2.745 Å","6GZR.1-10_05,787-6GZR.1-10_05,1551; (20.345,0.240,5.582) - (18.240,1.402,4.274); 2.737 Å",✔️ 完全匹配
contact 3,6GZR.1-10_05.pdb,"6GZR.1-10_09,1271-6GZR.1-10_09,1551; (17.308,3.818,5.241) - (18.238,1.404,4.299); 2.753 Å","6GZR.1-10_05,1271-6GZR.1-10_05,1551; (17.279,3.779,5.331) - (18.240,1.402,4.274); 2.773 Å",✔️ 完全匹配
contact 1,6GZR.1-10_10.pdb,"6GZR.1-10_09,785-6GZR.1-10_09,1551; (19.780,2.151,6.446) - (18.238,1.404,4.299); 2.747 Å","6GZR.1-10_10,785-6GZR.1-10_10,1551; (19.800,2.140,6.556) - (18.256,1.390,4.414); 2.745 Å",✔️ 完全匹配
contact 2,6GZR.1-10_10.pdb,"6GZR.1-10_09,787-6GZR.1-10_09,1551; (20.643,0.423,5.186) - (18.238,1.404,4.299); 2.745 Å","6GZR.1-10_10,787-6GZR.1-10_10,1551; (20.636,0.381,5.324) - (18.256,1.390,4.414); 2.741 Å",✔️ 完全匹配
contact 3,6GZR.1-10_10.pdb,"6GZR.1-10_09,1271-6GZR.1-10_09,1551; (17.308,3.818,5.241) - (18.238,1.404,4.299); 2.753 Å","6GZR.1-10_10,1271-6GZR.1-10_10,1551; (17.293,3.812,5.263) - (18.256,1.390,4.414); 2.741 Å",✔️ 完全匹配
contact 1,6GZR.1-10_04.pdb,"6GZR.1-10_09,785-6GZR.1-10_09,1551; (19.780,2.151,6.446) - (18.238,1.404,4.299); 2.747 Å","6GZR.1-10_04,785-6GZR.1-10_04,1551; (19.419,1.955,6.677) - (18.306,1.363,4.203); 2.777 Å",✔️ 完全匹配
contact 2,6GZR.1-10_04.pdb,"6GZR.1-10_09,787-6GZR.1-10_09,1551; (20.643,0.423,5.186) - (18.238,1.404,4.299); 2.745 Å","6GZR.1-10_04,787-6GZR.1-10_04,1551; (20.150,0.000,5.697) - (18.306,1.363,4.203); 2.737 Å",✔️ 完全匹配
contact 3,6GZR.1-10_04.pdb,"6GZR.1-10_09,1271-6GZR.1-10_09,1551; (17.308,3.818,5.241) - (18.238,1.404,4.299); 2.753 Å","6GZR.1-10_04,819-6GZR.1-10_04,1551; (20.352,4.026,3.986) - (18.306,1.363,4.203); 3.365 Å",❌ 部分偏移
extra 1,6GZR.1-10_04.pdb,,"6GZR.1-10_04,1267-6GZR.1-10_04,1547; (15.284,1.982,0.053) - (16.972,1.247,2.242); 2.860 Å",
extra 2,6GZR.1-10_04.pdb,,"6GZR.1-10_04,1271-6GZR.1-10_04,1551; (17.375,3.804,5.056) - (18.306,1.363,4.203); 2.748 Å",
extra 3,6GZR.1-10_04.pdb,,"6GZR.1-10_04,1272-6GZR.1-10_04,1547; (16.300,4.416,3.124) - (16.972,1.247,2.242); 3.357 Å",
contact 1,6GZR.1-10_01.pdb,"6GZR.1-10_09,785-6GZR.1-10_09,1551; (19.780,2.151,6.446) - (18.238,1.404,4.299); 2.747 Å","6GZR.1-10_01,785-6GZR.1-10_01,1551; (19.657,2.163,6.643) - (18.245,1.398,4.276); 2.860 Å",❌ 部分偏移
contact 2,6GZR.1-10_01.pdb,"6GZR.1-10_09,787-6GZR.1-10_09,1551; (20.643,0.423,5.186) - (18.238,1.404,4.299); 2.745 Å","6GZR.1-10_01,787-6GZR.1-10_01,1551; (20.345,0.230,5.593) - (18.245,1.398,4.276); 2.740 Å",✔️ 完全匹配
contact 3,6GZR.1-10_01.pdb,"6GZR.1-10_09,1271-6GZR.1-10_09,1551; (17.308,3.818,5.241) - (18.238,1.404,4.299); 2.753 Å","6GZR.1-10_01,1271-6GZR.1-10_01,1551; (17.282,3.774,5.335) - (18.245,1.398,4.276); 2.774 Å",✔️ 完全匹配
contact 1,6GZR.1-10_03.pdb,"6GZR.1-10_09,785-6GZR.1-10_09,1551; (19.780,2.151,6.446) - (18.238,1.404,4.299); 2.747 Å","6GZR.1-10_03,785-6GZR.1-10_03,1551; (19.728,2.261,6.537) - (18.203,1.422,4.317); 2.821 Å",✔️ 完全匹配
contact 2,6GZR.1-10_03.pdb,"6GZR.1-10_09,787-6GZR.1-10_09,1551; (20.643,0.423,5.186) - (18.238,1.404,4.299); 2.745 Å","6GZR.1-10_03,787-6GZR.1-10_03,1551; (20.551,0.462,5.356) - (18.203,1.422,4.317); 2.741 Å",✔️ 完全匹配
contact 3,6GZR.1-10_03.pdb,"6GZR.1-10_09,1271-6GZR.1-10_09,1551; (17.308,3.818,5.241) - (18.238,1.404,4.299); 2.753 Å","6GZR.1-10_03,1271-6GZR.1-10_03,1551; (17.279,3.823,5.309) - (18.203,1.422,4.317); 2.757 Å",✔️ 完全匹配
contact 1,6GZR.1-10_02.pdb,"6GZR.1-10_09,785-6GZR.1-10_09,1551; (19.780,2.151,6.446) - (18.238,1.404,4.299); 2.747 Å","6GZR.1-10_02,785-6GZR.1-10_02,1551; (19.498,2.088,6.758) - (18.244,1.399,4.253); 2.885 Å",❌ 部分偏移
contact 2,6GZR.1-10_02.pdb,"6GZR.1-10_09,787-6GZR.1-10_09,1551; (20.643,0.423,5.186) - (18.238,1.404,4.299); 2.745 Å","6GZR.1-10_02,787-6GZR.1-10_02,1551; (20.138,0.116,5.754) - (18.244,1.399,4.253); 2.736 Å",✔️ 完全匹配
contact 3,6GZR.1-10_02.pdb,"6GZR.1-10_09,1271-6GZR.1-10_09,1551; (17.308,3.818,5.241) - (18.238,1.404,4.299); 2.753 Å","6GZR.1-10_02,1271-6GZR.1-10_02,1551; (17.275,3.772,5.324) - (18.244,1.399,4.253); 2.778 Å",✔️ 完全匹配

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ligand_workflow-0.0.8.tar.gz (386.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ligand_workflow-0.0.8-py3-none-any.whl (9.7 kB view details)

Uploaded Python 3

File details

Details for the file ligand_workflow-0.0.8.tar.gz.

File metadata

  • Download URL: ligand_workflow-0.0.8.tar.gz
  • Upload date:
  • Size: 386.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for ligand_workflow-0.0.8.tar.gz
Algorithm Hash digest
SHA256 b7212d7e4605789ba6fde90848041f3e2bf77a05feaa3ca68097804b61e0291c
MD5 3f53f6feb3966033432ca4a133b18efd
BLAKE2b-256 38a8f5344e149957c7079ecca69a336e6e6c13ed214fac32580140b2f5960fcf

See more details on using hashes here.

File details

Details for the file ligand_workflow-0.0.8-py3-none-any.whl.

File metadata

File hashes

Hashes for ligand_workflow-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 2b56c6e97f6de9a8725b1e1bf0d1715054498081f7f5d1eaaed6be1aa6554263
MD5 4adf6774d999adcacc7f0df3fa5127ae
BLAKE2b-256 c824d786bc09fc849004a2a2cd80b667f5eaf1463b973badf71cf95d19af3125

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page