Git Product home page Git Product logo

pyhdx's Introduction

PyHDX

zenodo biorxiv license test_action docs

PyHDX is python project which can be used to derive Gibbs free energy from HDX-MS data.

PyHDX web

PyHDX latest documentation

PyHDX on YouTube

screenshot

Installation

Installation of the latest stable beta with pip:

$ pip install pyhdx

Installation with web interface extra:

$ pip install pyhdx[web]

Conda install (includes web interface extra):

$ conda install pyhdx

Run PyHDX

Most up-to-date code examples are in the directory pyhdx/templates

To run the web server:

$ pyhdx serve

Please refer to the docs for more details on how to run PyHDX.

Web Application

The PyHDX web application is currently hosted at: http://pyhdx.jhsmit.org

A test file can be downloaded from here and here (right click, save as).

A beta version might be available at: http://pyhdx-beta.jhsmit.org

Publication

Our Analytical Chemistry Publication describing PyHDX can be found here

The latest version (v2) of our biorxiv paper: https://doi.org/10.1101/2020.09.30.320887

Python code for analysis and generation the figures in the paper are here: https://github.com/Jhsmit/PyHDX-paper

Other

HDX MS datasets repository and format: https://github.com/Jhsmit/HDX-MS-datasets

HDXMS datasets python bindings: https://github.com/Jhsmit/hdxms-datasets

pyhdx's People

Contributors

dependabot[bot] avatar jhsmit avatar philippjfr avatar sajetan avatar sebaztiano 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  avatar  avatar

Watchers

 avatar  avatar  avatar

pyhdx's Issues

refactor rate / time constant

Internally for fitting in the exponent a time constant tau is used rather then a rate k.
On the exterior rate constants are presented as this is standard in literature.

Perhaps it should be refactored to use rate constant rather time constant.

unify API viewing fit result

Current:

fit1:

d_list = []
for time in times:
    p = result1.get_p(time)
    p = np.nan_to_num(p)
    d = series.cov.X.dot(p)
    d_list.append(d)
d1 = np.vstack(d_list)

fit2:

d_list = []
for time in times:
    d = result2.get_d(time)
    d_list.append(d)
d2 = np.vstack(d_list)

fix dis

you know what to do

 File "C:\Users\jhsmi\pp\pyhdx\pyhdx\panel\panels.py", line 180, in _renew
    self.r_max = np.log(1 - 0.98) / - self.parent.series.times[1]  # KEEP THIS

sensible value for bounds of tau parameters

currently set to 1/70
but of course this needs some thinking

user configure able?
whats is the influence on the rest of the fit? It should be high despite limited time resolution.

Allow for mono/mixed/double time constants models

there is the possibility for mono time component or mixed models but currently only two time components are implemented.

  • Implement determination of rates from these type of models
  • Customizable from the GUI

add general function for fitting

Add a function in KineticsFitting that does fitting, depending on the value of self.cluster the fitting should be done async or not.

But consider also that the GUI needs to do fitting depending on the presence of a cluster, this should go through the same function. In this case access the IOLoop is needed.

More coloring options

The classification panel should have several more options for coloring structures/rates:

Linear map

  • number of categories
  • min / max
  • customize thresholds

Continuous:
select color map from
-maptlotlib
-bokeh
-custom interpolated from several colors?

download txt file with data summary

See Masson 2019

  • HDX time course
  • Back exchange
  • Number of peptides
  • sequence coverage
  • Average peptide length/redundancy
  • replicates
  • repeatability
  • significant differnences

download pdf report file

New control panel with options:

  • %D graphs
  • fitted peptides graphs
    • option for log/linear
  • Rate graphs

Fitting amplitude ratios

The relative amplitude of time components is related to the number of hydrogens exchanging with this rate constant. Therefore this value should be restricted to quantized values in the fitting.

However, currently i'm not aware of fitting algorithms which allow parameters to be restricted to integers.

allow ignore prolines

Implementation:

somehow cut the prolines out of the protein so that they are completely ignored in the fitting and which then results in nan in the final result.

Maybe have a custom r_number entry with missing numbers for prolines will work

Add t50% calculation

This should be able to be done instantaneously using interpolation to get t50 values for each peptide.

see keppel and weis 2015

allow lock axis

keep x axis between rate and coverage figure the same

When enabled, lock aa_per_residue to have only one figure in the plot
communicate via main controller events

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.