Shnitsel tools is a project under active development. to keep track of the updates happening in various version, we list the changes here
Bug fixes compared to previous version:
- Fix wrong sign of the forces read from SHARC, NewtonX and PyrAI2md formats. Previous versions have accidentally read gradients and presented them as forces. Now the sign is correctly applied and the "force" variable correctly labels the forces.
Bug fixes compared to previous version and addition of new features:
- To keep the structure of shnitsel clearer, we moved the PCA, LDA, PLS, TICA and all dimensionality reduction related methods into the
shnitsel.analyze.dimredsubmodule whereas they were previously located directly inshnitsel.analyze
- State-based and label-based coloring suppport in dimensionality reduction plots via
biplot_kde() - Tentative support for Linear Discriminant analysis (LDA) on datasets
- Initial support for Time-lagged independent component analysis (TICA) to analyze time-correlation between features. Not yet fully integrated into the default dimensionality reduction framework in
shnitsel.analyze - Added accessors for creating timeplots and performing pca analysis to
shnitsel.xarraysupport. - Improved VMD visualization support
- Add generic debug information and version information support with
shnitsel.__version__andshnitsel.show_debug_info()to help with error debugging support - Implement
focus_hops()andhops()functionality to obtain more detailed analysis tools related to hop-relative statistics within trajectories - Add reading of
state_coeffs_diagfrom sharc trajectories, i.e. the coefficients associated with the diagonal basis states. - Add reading of
prob_hop_diag(hopping probability in diagonal basis) andu_matrix(Basis transform matrix from diagonal to MCH state coefficients) from SHARC data. - Stacking and unstacking trajectories will now try and restore original types like
intfor the active state. - Harmonized fill values for layering/unstacking of data to avoid integer type fields being converted into
floatto allow fornp.nanpadding. Setting a desired fill value can be achieved by settingfill_valueattribute. Note that this value must be serializable or storing the dataset on disk will become impossible. - Add an
unwrap_dataset()helper method to strip away barexarraydata types to help with testing and compatibility with other frameworks possibly checking for precise types. - Extended
traj_vmd()support for exporting trajectories to be displayed usingvmd. - Added on-demand padding with temporary dimensions for rotational alignment in
shnitsel.geo.alignmentfunctions to allow provision of single geometries. - Add RMSD calculation support with
calc_rmsdinshnitsel.analyze.rmsd.
- Icons and CSS files for tree visualization were not included in the initial release package version on pip
- Colorbar label was not set in
biplot_kde()fortimecoloring property - Imports of SHARC formats did not correctly read and set kinetic energy in imported dataset
- Fix broken imports in
shnitsel.vis.supportmodule - Fix broken logic in
hop_mask_from_active_state()function - Fix construction of
default_mol()if mol information is stored inatXYZvariable of a dataset for legacy support. - Fix issues arising from too strict constraints on different ShnitselDataset container types leading to issues when filtering data.
- Fix state selection and other state-related operations failing if the state dimension was reduced to a scalar coordinate during filtering.
- Fix NewtonX import failing due to bad type specifier for atom type names
- Fix
sanity_check()failing on stacked trajectories due to bad invocation of.cumprod() - Fix plots failing due to change in naming conventions.
- Fix issues with constructing default molecular structures from layered trajectories
- Fix filtering for physical sanity not working on layered trajectories
- Fix multi-index methods failing on layered trajectories. Will now simply not modify the trajectory if they cannot be applied and print out a warning.
- Fix repeated stacking and unstacking not correctly filtering out padding entries in data.
- Fix conversion between stacked and unstacked wrappers not using the correct conversion functions to filter out invalid entries due to padding.
- Fix
sanity_check()breaking for layered inputs. - Fix
StateSelectionconstruction failing if no state info present on input data.
- Selection of
pyramidsviaSMARTSpatterns whereStructureSelectionsyntax is allowed is currently not working as intended - For some collections of trajectories,
as_stacked()or other combiner methods may break if there are empty trajectories, e.g. aftersanity_check()
Initial version of the published toolkit.
- Import of
SHARC,PyrAI2mdandNewtonXoutput formats - Export to ASE databses and Netcdf 4.0/HDF5 files
- General
Datasheetsupport for generating a quick overview for datasets - Tree manipulation support of imported data
- Extensive Metadata retention in tree-based xarray-compatible formats
- Filtering of data for physically reasonable properties via
sanity_check() - Filtering for hopping points SH trajectories
- Selection of specific states and state transitions for analysis with
StateSelectionframework - Selection of specific geometrical features (positions, distances, angles, dihedrals/torsions, pyramidalization) via the
StructureSelectionframework - Postprocessing analysis for state population, oscillator strength, dimensionality reduction, geometrical feature analysis, etc.
- Visualization support of dimensionality reduction, main contributing features, time series data,