Skip to main content

PyDrugLogics: a Python package designed for constructing, optimizing Boolean models and performs in-silico perturbations of the models.

Project description

PyDrugLogics

PyDrugLogics Logo

PyPI version Build Status License: GPL v3 Documentation Status

Overview

PyDrugLogics is a Python package designed for constructing, optimizing Boolean Models and performs in-silico perturbations of the models.

Core Features

  • Construct Boolean model from .sif file
  • Optimize Boolean model
  • Generate perturbed models
  • Evaluate drug synergies

Installation

PyDrugLogics can be installed via PyPi, Conda, or directly from the source.

Install PyDrugLogics from PyPI

The process involves two steps to install the PyDrugLogics core package and its necessary external dependencies.

1. Install PyDrugLogics via pip

pip install pydruglogics

2. Install External Dependency

pip install -r https://raw.githubusercontent.com/druglogics/pydruglogics/main/requirements.txt

This will install the PyDrugLogics package and handle all dependencies automatically.

Install PyDrugLogics via conda

Note: CoLoMoTo conda integration is ongoing.


Install from Source

For the latest development version, you can clone the repository and install directly from the source:

git clone https://github.com/druglogics/pydruglogics.git
cd pydruglogics
pip install .
pip install -r requirements.txt

CoLoMoTo Notebook envionment

See more here about CoLoMoTo Docker and Notebook
Note: This section will be updated when Colomoto Docker integration is completed.

Documentation

For full documentation, visit the GitHub Documentation.

Quick Start Guide

Here's a simple example to get you started:

from pydruglogics.model.BooleanModel import BooleanModel
from pydruglogics.input.TrainingData import TrainingData
from pydruglogics.input.Perturbations import Perturbation
from pydruglogics.input.ModelOutputs import ModelOutputs
from pydruglogics.execution.Executor import execute

# Initialize train and predict
model_outputs_dict = {
        "RSK_f": 1.0,
        "MYC": 1.0,
        "TCF7_f": 1.0
    }
model_outputs = ModelOutputs(input_dictionary=model_outputs_dict)

observations = [(["CASP3:0", "CASP8:0","CASP9:0","FOXO_f:0","RSK_f:1","CCND1:1"], 1.0)]
training_data = TrainingData(observations=observations)


drug_data = [['PI', 'PIK3CA', 'inhibits'],
            ['PD', 'MEK_f', 'activates'],
            ['CT','GSK3_f']]
perturbations = Perturbation(drug_data=drug_data)


boolean_model = BooleanModel(file='./ags_cascade_1.0/network.bnet', model_name='test', mutation_type='topology',
                                  attractor_tool='mpbn', attractor_type='trapspaces')

observed_synergy_scores = ["PI-PD", "PI-5Z", "PD-AK", "AK-5Z"]


ga_args = {
        'num_generations': 20,
        'num_parents_mating': 3,
        'mutation_num_genes': 3,
        'fitness_batch_size': 20
}

ev_args = {
        'num_best_solutions': 3,
        'num_of_runs': 30,
        'num_of_cores': 4
}


train_params = {
        'boolean_model': boolean_model,
        'model_outputs': model_outputs,
        'training_data': training_data,
        'ga_args': ga_args,
        'ev_args': ev_args
}

predict_params = {
        'perturbations': perturbations,
        'model_outputs': model_outputs,
        'observed_synergy_scores': observed_synergy_scores,
        'synergy_method': 'bliss'
}

# run train and predict
execute(train_params=train_params, predict_params=predict_params)

For a more detailed tutorial, please visit the documentation.

Citing PyDrugLogics

If you use PyDrugLogics, please cite the paper:

Flobak, Å., Zobolas, J. et al. (2023): Fine tuning a logical model of cancer cells to predict drug synergies: combining manual curation and automated parameterization. DOI: 10.3389/fsysb.2023.1252961

@Article{druglogics2023,
  title = {Fine tuning a logical model of cancer cells to predict drug synergies: combining manual curation and automated parameterization},
  author = {Flobak, Å., Zobolas, J. and Other Authors},
  journal = {Frontiers},
  year = {2023},
  month = {nov},
  doi = {10.3389/fsysb.2023.1252961},
  url = {https://www.frontiersin.org/journals/systems-biology/articles/10.3389/fsysb.2023.1252961/full},
}

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

pydruglogics-0.1.1.tar.gz (38.6 kB view details)

Uploaded Source

Built Distribution

pydruglogics-0.1.1-py3-none-any.whl (42.5 kB view details)

Uploaded Python 3

File details

Details for the file pydruglogics-0.1.1.tar.gz.

File metadata

  • Download URL: pydruglogics-0.1.1.tar.gz
  • Upload date:
  • Size: 38.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for pydruglogics-0.1.1.tar.gz
Algorithm Hash digest
SHA256 bbd9380820ef3dd5244e69f93678b63bf35643d5891cbdcf5a9b073715494166
MD5 831e010dff5126f930e0ec286ab24107
BLAKE2b-256 0f5510be18aa15da00225eb41ff715e85ca7ebb782c941ac5a22576b22531eff

See more details on using hashes here.

File details

Details for the file pydruglogics-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pydruglogics-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 42.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.12

File hashes

Hashes for pydruglogics-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6eeab01c410b4133a973d4499e7b0d421786ab96ebc233dfbbe90df0774fb2ca
MD5 d42e08ecf8bd10515a9c1dda5d3ea00a
BLAKE2b-256 188d1b34836dc1433f0779dd3426be067122be279fc669c13208bef90c6720db

See more details on using hashes here.

Supported by

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