Coder Social home page Coder Social logo

kissim's People

Contributors

ajk-dev avatar dominiquesydow avatar t-kimber avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

kissim's Issues

Visualize features in NGLview

Add text (i.e. angle) to CA atoms using add_label. Not needed any more, since we are color-coding residues by categories (e.g. based on angles).

Add log info to empty bits

Currently e.g. empty fingerprints when structure contains modified residues (must throw an error somewhere). Catch these errors appropriately.

Thought this was fixed already - revise code!

Subset fingerprint by ligand-interacting residues

Use only a subset of residues in the kissim fingerprint in the comparison step.

For instance, the subset could contain ligand-interacting residues only:

  • For each kinase-ligand combo calculate the average contacts
  • Based on (a) DFG-in, (b) DFG-out, or (c) all DFG profiles, extract residues that are in contact with any ligand in at least 1% of the kinases (or structures/monomers?)

List provided by @AJK-dev:

DFG-in structures
1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,19,20,21,24,25,27,28,36,37,38,43,44,45,46,47,48,49,50,51,52,54,55,59,70,72,74,75,76,77,80,81,82,83,84,85

DFG-out structures
3,4,5,6,7,8,9,11,12,13,15,16,17,19,20,21,23,24,25,27,28,31,35,36,37,38,43,44,45,46,47,48,49,50,51,52,54,55,60,61,64,66,67,68,69,70,74,75,77,79,80,81,82,83,84,85

Min 1% in any DFG profile
1,2,3,4,5,6,7,8,9,10,11,12,13,15,16,17,19,20,21,23,24,25,27,28,31,35,36,37,38,41,43,44,45,46,47,48,49,50,51,52,53,54,55,56,59,60,61,64,66,67,68,69,70,72,74,75,76,77,79,80,81,82,83,84,85

Generate fingerprint from PDB file + pocket indices

Currently, we generate fingerprints from structure KLIFS IDs.
Add API to generate fingerprint from a PDB ID + indices for 85 binding site residues.

  • Rename kissim.io.data.KlifsToKissimData to KissimData with the following methods
    • KissimData.from_structure_klifs_id(structure_klifs_id, klifs_session)
    • KissimData.from_pdb(pdb_id_or_file, chain_id, alternate_model_id, residue_ids, residue_ixs, kinase_name)
    • Update kissim.io.biopython.PocketBioPython and kissim.io.dataframe.DataFrame
  • Rename KissimData attribute structure_klifs_id > structure_id
  • Add Fingerprint.from_pdb
  • Add FingerprintGenerator.from_pdb
  • Add kissim.encoding.features.BaseFeature.from_pdb

Exclude distance extrema from analysis

Remove structures with reference point outliers (front pocket, DFG). These are other structures than those removed in postprocessing (distances >35) - those had no actual pocket any more.

Add back windows to CI

CI fails for windows, however it seems to be a connection problem (bravado / KLIFS). Remove windows for now.

Exposure feature cutoff

Add cutoffs to definitions.py:

def _get_category(self, ratio):
"""
Transform a given solvent exposure ratio into a category value, which defines the side chain
orientation towards the pocket:
- low solvent exposure (category 1.0)
- intermediate solvent exposure (category 2.0)
- high solvent exposure (category 3.0)
Parameters
----------
vertex_angle : float or None
Vertex angle between a residue's CA atom (vertex), side chain representative and pocket
centroid. Ranges between 0.0 and 180.0.
Returns
-------
float or None
Category for side chain orientation towards pocket.
None if any of the input vectors are None.
"""
if np.isnan(ratio):
return np.nan
elif 0.0 <= ratio <= 0.45: # Low solvent exposure
return 1.0
elif 0.45 < ratio <= 0.55: # Intermediate solvent exposure
return 2.0
elif 0.55 < ratio <= 1.0: # High solvent exposure
return 3.0
else:
raise ValueError(
f"Molecule {self.name}: Unknown solvent exposure ratio {ratio}. "
f"Only values between 0.0 and 180.0 allowed."
)

`kissim.viewer`: With `matplotlib` 3.5 categorial cbar colorbar incorrect

With latest matplotlib version 3.4, the tick labels for the cmap colorbar for categorial features are mixed up:

  • Number of colors in cbar incorrect (see image); matplotlib/matplotlib#21870
  • For now, pin matplotlib to <3.5; #101
  • Formatter must be used together with locator: /Users/dominique/Documents/github/kissim/kissim/viewer/base.py:451: UserWarning: FixedFormatter should only be used together with FixedLocator ax.set_xticklabels(xticklabels)

Screenshot 2021-12-05 at 23 00 34

Add SCO cutoffs to definitions

if np.isnan(vertex_angle):
return np.nan
elif 0.0 <= vertex_angle <= 45.0: # Inwards
return 1.0
elif 45.0 < vertex_angle <= 90.0: # Intermediate
return 2.0
elif 90.0 < vertex_angle <= 180.0: # Outwards
return 3.0
else:
raise ValueError(
f"Molecule {self.name}: Unknown vertex angle {vertex_angle}. "
f"Only values between 0.0 and 180.0 allowed."
)

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.