Giter Club home page Giter Club logo

kludo's Introduction

KluDo

KluDo (Diffusion Kernel-based Graph Node Clustering for Protein Domain Assignment), is an automatic framework that incorporates diffusion kernels on protein graphs as affinity measures between residues to decompose protein structures into structural domains.

Prerequisites

It is recommended to run KluDo by a Python version of 3.6 or more, however there should be no problem with running KluDo in any 3.x version. Also the following packages/programs must be installed before using KluDo:

Furthermore, it is required to have the single/multi-domain classifier in the main directory. Click here to download it from Dropbox.

Usage

The following commands are based on Linux operating system. By using --help argument one can see a description of all arguments in KluDo:

$ python3 kludo.py --help

The arguments are as follows:

  • --pdb (PDB file path)
  • --chainid (chain ID)
  • --dssppath (DSSP binary file path; Default: /usr/bin/dssp)
  • --clustering (the clustering method: "SP" or "KK"; default: "SP")
  • --numdomains (the number of domains; default: automatic)
  • --minsegsize (minimum segment size; default: 27)
  • --mindomainsize (minimum domain size; default: 27)
  • --maxalphahelix (maximum size of alpha-helix to merge; default: 30)
  • --maxsegdomratio (maximum ratio of segment count to domain count; default: 1.5)
  • --kernel (kernel type; default: LED)
  • --dispall (display all candidate partitionings)
  • --bw_a (coefficient of radius of gyration to calculate bandwidth coefficient)
  • --bw_b (exponent of radius of gyration to calculate bandwidth parameter)

Two of the arguments are mandatory: --pdb and --chainid. If you don't pass values to the rest of arguments, default values are used. Values of the arguments --bw_a and --bw_b should be passed simultaneously. These are coefficient (a) and exponent (b) of the Rg, respectively, which determine the bandwidth parameter (β or t) for each kernel (a * Rg ^ b). Default values of these arguments depend on the kernel type and the clustering algorithm.

Fore the argument --kernel users can choose one of the following options:

  • LED (Laplacian Exponential Diffusion Kernel)
  • MD (Markov Diffusion Kernel, default)
  • MED (Markov Exponential Diffusion Kernel)
  • RL (Regularized Laplacian Diffusion Kernel)

Also for the argument --clustering there are following options:

  • SP (Spectral clustering, default)
  • KK (Kernel k-means)

As an example assuming that the pdb file 1cid.pdb is stored in the current path the following command runs KluDo with the minimal arguments:

$ python3 kludo.py --pdb 1cid.pdb --chainid A

Web application

KluDo is also available as a web application at: http://www.cbph.ir/tools/kludo

Citation

Taheri-Ledari M, Zandieh A, Shariatpanahi SP, Eslahchi C, "Assignment of structural domains in proteins using diffusion kernels on graphs", BMC Bioinformatics, vol. 23, no. 1, 2022, p. 369. Read the paper

kludo's People

Contributors

taherimo avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.