{
  "@context": "https://w3id.org/ro/crate/1.1/context",
  "@graph": [
    {
      "@id": "ro-crate-metadata.json",
      "@type": "CreativeWork",
      "about": {
        "@id": "./"
      },
      "conformsTo": [
        {
          "@id": "https://w3id.org/ro/crate/1.1"
        },
        {
          "@id": "https://w3id.org/workflowhub/workflow-ro-crate/1.0"
        }
      ]
    },
    {
      "@id": "ro-crate-preview.html",
      "@type": "CreativeWork",
      "about": {
        "@id": "./"
      }
    },
    {
      "@id": "./",
      "@type": "Dataset",
      "mainEntity": {
        "@id": "synprotx/gatfp.py"
      },
      "datePublished": "2025-06-05 20:38:07 +0100",
      "author": [

      ],
      "license": "MIT",
      "identifier": "https://doi.org/10.48546/workflowhub.workflow.1726.3",
      "url": "https://workflowhub.eu/workflows/1726/ro_crate?version=3",
      "name": "Research Object Crate for SynProtX",
      "description": "# SynProtX\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.13285494.svg)](https://doi.org/10.5281/zenodo.13285494)\n\nAn official implementation of our research paper **\"SynProtX: A Large-Scale Proteomics-Based Deep Learning Model for Predicting Synergistic Anticancer Drug Combinations\"**.\n\nSynProtX is a deep learning model that integrates large-scale proteomics data, molecular graphs, and chemical fingerprints to predict synergistic effects of anticancer drug combinations. It provides robust performance across tissue-specific and study-specific datasets, enhancing reproducibility and biological relevance in drug synergy prediction.\n\n## Setting up environment\n\nWe use [Miniconda](https://docs.anaconda.com/miniconda/) to manage Python dependencies in this project. To reproduce our environment, please run the following script in the terminal:\n\n```sh\nconda env create -f env.yml\nconda activate SynProtX\n```\n\n## Downloading raw data\n\nDatasets, hyperparameters, and model checkpoints can be downloaded through [Zenodo](https://doi.org/10.5281/zenodo.13285494).\n\n## Generating dataset\n\nA tarball will be obtained after download. After file extraction, move all nested folders to the root of this project directory. You might need to move all files in `data/export` up to `data` folder. Otherwise, you will run the Jupyter Notebook files to generate mandatory data. Let’s take a look at `ipynb` folder. Run the following files in order if you want to replicate our exported data.\n\n- `01_drugcomb_clean.ipynb` → `cleandata_cancer.csv`\n- `02_CCLE_gene_expression` → `CCLE_expression_cleaned.csv`\n- `03_omics_preprocess` → `protein_omics_data_cleaned.csv`\n- `04_drugcomb_gene_prot_clean` → `data_preprocessing_gene.pkl`, `data_drugcomb.pkl`, `data_preprocessing_protein.pkl`\n- `05_graph_generate.ipynb` → `nps_intersected` folder\n- `06_smiles_feat_generate.ipynb` → `smiles_graph_data.pkl`\n- `07_to_ecfp6_deepsyn.ipynb` → `deepsyn_drug_row.npy`, `deepsyn_drug_col.npy`\n\n&gt; If the console shows an error indicating that SMILES not found, you MUST run the file `06_smiles_feat_generate.ipynb` again to regenerate data.\n\n## Training and testing\n\nTo execute a training and testing task for our model, run the following script\n\n```sh\npython synprotx/.py -d  -m \n```\n\nPossible options are listed below.\n\n- `model` represents the name of the model to run. Must be one of `gat`, `gcn`, `attentivefp` and `gatfp`.\n- `--database`/`-d` specifies data source to train the model on. Must be one of `almanac-breast`, `almanac-lung`, `almanac-ovary`, `almanac-skin`, `friedman`, `oneil`.\n- `--mode`/`-m` input must be either `clas`, for classification task, or `regr`, for regression task. Default to `clas`\n- Flags `--no-feamol`, `--no-feagene`, `--no-feaprot` disable the molecule branch, gene expression branch, and protein expression branch, respectively, when propagate through the model.\n\n**Note:** There are more options to configure. Execute `python  synprotx/.py -h` for a more detailed description.\n",
      "isBasedOn": "https://github.com/manbaritone/SynProtX.git",
      "sdDatePublished": "2026-04-19 09:26:07 +0100",
      "creativeWorkStatus": "Stable",
      "hasPart": [
        {
          "@id": "synprotx/gatfp.py"
        },
        {
          "@id": "synprotx_architect.png"
        }
      ]
    },
    {
      "@id": "synprotx/gatfp.py",
      "@type": [
        "File",
        "SoftwareSourceCode",
        "ComputationalWorkflow"
      ],
      "contentSize": 71606,
      "programmingLanguage": {
        "@id": "#python"
      },
      "image": {
        "@id": "synprotx_architect.png"
      },
      "dct:conformsTo": {
        "@id": "https://bioschemas.org/profiles/ComputationalWorkflow/1.0-RELEASE/"
      },
      "description": "# SynProtX\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.13285494.svg)](https://doi.org/10.5281/zenodo.13285494)\n\nAn official implementation of our research paper **\"SynProtX: A Large-Scale Proteomics-Based Deep Learning Model for Predicting Synergistic Anticancer Drug Combinations\"**.\n\nSynProtX is a deep learning model that integrates large-scale proteomics data, molecular graphs, and chemical fingerprints to predict synergistic effects of anticancer drug combinations. It provides robust performance across tissue-specific and study-specific datasets, enhancing reproducibility and biological relevance in drug synergy prediction.\n\n## Setting up environment\n\nWe use [Miniconda](https://docs.anaconda.com/miniconda/) to manage Python dependencies in this project. To reproduce our environment, please run the following script in the terminal:\n\n```sh\nconda env create -f env.yml\nconda activate SynProtX\n```\n\n## Downloading raw data\n\nDatasets, hyperparameters, and model checkpoints can be downloaded through [Zenodo](https://doi.org/10.5281/zenodo.13285494).\n\n## Generating dataset\n\nA tarball will be obtained after download. After file extraction, move all nested folders to the root of this project directory. You might need to move all files in `data/export` up to `data` folder. Otherwise, you will run the Jupyter Notebook files to generate mandatory data. Let’s take a look at `ipynb` folder. Run the following files in order if you want to replicate our exported data.\n\n- `01_drugcomb_clean.ipynb` → `cleandata_cancer.csv`\n- `02_CCLE_gene_expression` → `CCLE_expression_cleaned.csv`\n- `03_omics_preprocess` → `protein_omics_data_cleaned.csv`\n- `04_drugcomb_gene_prot_clean` → `data_preprocessing_gene.pkl`, `data_drugcomb.pkl`, `data_preprocessing_protein.pkl`\n- `05_graph_generate.ipynb` → `nps_intersected` folder\n- `06_smiles_feat_generate.ipynb` → `smiles_graph_data.pkl`\n- `07_to_ecfp6_deepsyn.ipynb` → `deepsyn_drug_row.npy`, `deepsyn_drug_col.npy`\n\n&gt; If the console shows an error indicating that SMILES not found, you MUST run the file `06_smiles_feat_generate.ipynb` again to regenerate data.\n\n## Training and testing\n\nTo execute a training and testing task for our model, run the following script\n\n```sh\npython synprotx/.py -d  -m \n```\n\nPossible options are listed below.\n\n- `model` represents the name of the model to run. Must be one of `gat`, `gcn`, `attentivefp` and `gatfp`.\n- `--database`/`-d` specifies data source to train the model on. Must be one of `almanac-breast`, `almanac-lung`, `almanac-ovary`, `almanac-skin`, `friedman`, `oneil`.\n- `--mode`/`-m` input must be either `clas`, for classification task, or `regr`, for regression task. Default to `clas`\n- Flags `--no-feamol`, `--no-feagene`, `--no-feaprot` disable the molecule branch, gene expression branch, and protein expression branch, respectively, when propagate through the model.\n\n**Note:** There are more options to configure. Execute `python  synprotx/.py -h` for a more detailed description.\n",
      "name": "SynProtX",
      "url": "https://workflowhub.eu/workflows/1726?version=3",
      "keywords": "Bioinformatics, Cheminformatics, Proteomics, Machine Learning",
      "version": 3,
      "license": "https://spdx.org/licenses/MIT",
      "creator": [
        {
          "@id": "https://orcid.org/0000-0003-4425-2608"
        },
        {
          "@id": "https://orcid.org/0009-0004-1215-4397"
        },
        {
          "@id": "https://orcid.org/0009-0006-5835-6351"
        },
        {
          "@id": "https://orcid.org/0009-0004-3302-0734"
        },
        {
          "@id": "https://orcid.org/0000-0001-9506-6405"
        },
        {
          "@id": "https://orcid.org/0000-0002-7402-3235"
        },
        {
          "@id": "https://orcid.org/0000-0003-1068-850X"
        }
      ],
      "producer": {
        "@id": "https://workflowhub.eu/projects/342"
      },
      "dateCreated": "2025-06-05T19:44:21Z",
      "dateModified": "2025-06-05T19:44:50Z",
      "isPartOf": [

      ],
      "identifier": "https://doi.org/10.48546/workflowhub.workflow.1726.3",
      "isBasedOn": "https://workflowhub.eu/workflows/1726?version=2",
      "input": [

      ],
      "output": [

      ],
      "sdPublisher": {
        "@id": "https://about.workflowhub.eu/"
      }
    },
    {
      "@id": "synprotx_architect.png",
      "@type": [
        "File",
        "ImageObject"
      ],
      "contentSize": 1171237
    },
    {
      "@id": "https://orcid.org/0000-0003-4425-2608",
      "@type": "Person",
      "name": "Bundit Boonyarit"
    },
    {
      "@id": "https://orcid.org/0009-0004-1215-4397",
      "@type": "Person",
      "name": "Matin Kositchutima"
    },
    {
      "@id": "https://orcid.org/0009-0006-5835-6351",
      "@type": "Person",
      "name": "Tisorn Na Phattalung"
    },
    {
      "@id": "https://orcid.org/0009-0004-3302-0734",
      "@type": "Person",
      "name": "Nattawin Yamprasert"
    },
    {
      "@id": "https://orcid.org/0000-0001-9506-6405",
      "@type": "Person",
      "name": "Chanitra Thuwajit"
    },
    {
      "@id": "https://orcid.org/0000-0002-7402-3235",
      "@type": "Person",
      "name": "Thanyada Rungrotmongkol"
    },
    {
      "@id": "https://orcid.org/0000-0003-1068-850X",
      "@type": "Person",
      "name": "Sarana Nutanong"
    },
    {
      "@id": "https://workflowhub.eu/projects/342",
      "@type": [
        "Project",
        "Organization"
      ],
      "name": "BAID Team"
    },
    {
      "@id": "#python",
      "@type": "ComputerLanguage",
      "name": "Python",
      "identifier": {
        "@id": "https://www.python.org/"
      },
      "url": {
        "@id": "https://www.python.org/"
      }
    },
    {
      "@id": "https://about.workflowhub.eu/",
      "@type": "Organization",
      "name": "WorkflowHub",
      "url": "https://about.workflowhub.eu/"
    }
  ]
}