Releases: Jhsmit/PyHDX
PyHDX version 0.4.0 beta3
Changes:
- Refactored config; moved config files, refactored
cluster
toscheduler_address
where applicable (#220) - Changed Lagrangian squared error reduction from 'total' to 'mean' (affecting regularization values) (#221)
- Regularization components are treated separately and stored in losses dataframe (#222)
- Internal time units are now in seconds (73c387c)
- Added optimization loop callbacks and checkpoint (#222)
- Allow for saving of
HDXMeasurementSet
objects to .csv/.txt file (9cca09f) - Allow for reading of 'HDXMeasurementSet` objects from .csv/.txt file (4e9fcac)
- Implemented
__str__
forHDXMeassurement
objects (5122d23) - Updated yaml batch formatting format (7d94411, 7c71847)
PyHDX version 0.4.0 beta2
Changes:
- Added additional fit feedback panels; MSE per peptide, D-uptake curves + fit and losses/epoch #212
- Documentation and docstrings (#210, #213, #214)
- Updated pdf module, now requires proplot and generates figure subplots per page instead of per subplot
Fixes:
- Fixed mse and losses for single fits
- Extension for table export (#218 )
PyHDX 0.4.0 first beta release
Big changes in the new 0.4.0 version!
Major changes include an overhaul of the web interface and refactoring of major parts in the code.
Thanks for all contributions @sebaztiano @sajetan
Major changes:
Web interface
- Users can add multiple datasets ('state') at the same time and perform analysis in batch on these datasets. The datasets, operations on these datasets and the resulting views show in the web interface are now all based on
lumen
objects (Source
,Filter
,Transform
,View
) #188 - NGL viewer was implemented as a custom bokeh extension #201
Classification
control panel can now also applymatplotlib
/colorcet
colormaps
Refactoring of the PyHDX API
- Fitting API is now functional instead of object oriented;
fit_gibbs_global(..)
,fit_gibbs_global_batch(..)
#199 KineticsSeries
object was refactored toHDXMeasurement
- Added
HDXMeasurementSet
object - The
scores
attribute (percentage D-uptake) was refactored torfu
(relative fractional uptake, 0-1) - Updated
fileIO
functions, enable saving of kwargs to reload the file as well as saving metadata #205 - Allow saving and loading of fit results (#208) and
HDXMeasurement
objects #205
Minor changes:
- Versioning by
versioneer
instead ofpbr
(#207) - Added
k_obs
as output variable of the fit (ce4f583) - Added console script entry point to run the web interface (
pyhdx serve
) #191 - Export of all peptide uptake graphs + fitted curves in pdf format #209
Bugfixes:
- Alignment of
exchanges
andk_int
(8301686)
Bugfix release 0.3.2
Minor release fixing a bug in requirements.txt
PyHDX version 0.3.1
Major changes:
- Estimate errors in ΔG fit from covariances obtained from the Hessian
- Allow fitting of multiple 'states' (conditions) in batch
- Allow fitting of 2 aligned (homologous) protein conditions in batch
- Added console entry script such that the pyhdx server can be started with
pyhdx serve
(#191)
Minor changes:
- Input/output data table formats are now in comma separated values (.csv) format
- Updated support for reloading and fitting data in batch from .yaml files
- Updated
rgb_to_hex
function to work on arrays (vectorized) - Added a colorbar to plotting of peptides (in
plot.py
) - Refactored
k_series
toseries
inKineticsFitting
objects - Refactored
cov
tocoverage
inKineticsSeries
objects - Updates to docstrings
- Protein full sequences can optionally be added to
Protein
objects - Moved fitting loop to separate function outside of main fitting object
- Protein objects now more closely mimic pandas' dataframes
Web application updates:
- 'Scores' (RFU) can be obtained as a table from the GUI
- User feedback on relative contribution of regularizer to fit result
- Control sidebar is now formatted as accordions where only one can be opened at a time
- Panel requirement bumped to >= 0.11, fixing scrolling issues in sidebar
- Added config file, currently lists default Dask cluster address to use
- Various bug fixes!
PyHDX version 0.3.0
v0.3.0 capitalized PyHDX name
bioRxiv and bugfixes
This release accompanies submission to bioRxiv as well as various bugfixes.
- Updates to documentation (available as pdf)
- Refactored how the apps are created in
apps.py
- Added all sub-controllers in
controllers.py
and main controllers inmain_controllers.py
Bugfixes:
Protein Viewer and Themes
This release features an embedded Protein Viewer and implementation of Panel Themes / Templates.
Main features:
- NGL Protein viewer
- Streamlined layouts with Elvis (https://github.com/LeonvanKouwen/elvis) with Panel Templates (panel >0.10.0)
- Color protein by custom continuous color map (36e7070)
- Added Dark/Light themes
- Separate app for loading single state fitting results and applying classification (coloring)
- Separate app for comparing two protein states
Other changes:
- Added
DataSource
object which is now used for 'publishing' data - Control and Figure panels are now supplied to controller as their `class`` rather than a string
- Added
setup_hooks()
method to couple Figures to Controllers - Added a Logging panel
- Fixed ignoring prolines to always be
True
Fixes:
GUI updates
This release mostly features updates in the GUI:
- Added
publish_data
functionality which allows pushing data sources to client graphs - Linking x-range of coverage and rates/protection factor figures is working again
- Coverage and rates/protection figures are now aligned by introducing left border space
- Different color maps for the coverage figure can be selected
- A color bar was added to the coverage control panel
Other changes:
- Added tests for the GUI
- Removed old code and comments, specifically
RateFigureOld
andCoverageFigureOld
- Added a script to run a cluster locally
- Added a new function for obtaining initial guesses (needs to be added to GUI)
Fixes
Full protein tensorflow fit
The main new feature of this beta release is the change to fitting of the whole protein in one go rather than splitting it into sections and fitting one by one.
Advantages include:
- Significant speed increase
- Regularizer can propagate across gaps of no coverage
- Regularizer now propagates across prolines
Changelog:
- Default value for l1 regularizer is now 2000 because it was changed to average rather than sum
- Default value of epochs from 10000 to 100000
- Added method for getting intersections of
KineticSeries
- Added method to get
k_int
structured array,k_int
for prolines and no coverage is now 0. - Updated internal intervals to [start, end) rather than [start, end]
- Added
TFCoverage
object to allow fitting over the whole protein, to be merged in future releases - Added a 'uptake_corrected' field which is absolute D uptake but corrected by FD control
- Added 'half life' initial guesses to GUI
- Added full protein fit to GUI (replaced old fitting procedure)