Skip to content

Releases: nanovis/DiffFit

v0.7.1 before config file, for dev only

20 Dec 10:54
Compare
Choose a tag to compare
Pre-release
  • No unnecessary metrics, keep only Q-score, density, in contour percentage
  • Remove the need for sim map
  • # max fits/mol (default 10,000) for clustering
  • # max clusters/mol (default 100) to Q-scoring
  • Clustering early stop speedup

Full Changelog: v0.7.1...v0.7.2

v0.7.1 speedup, for dev only

15 Dec 16:26
Compare
Choose a tag to compare
Pre-release

For dev only

Speed up by:

  • default n_iters = 101 now
  • removing unnecessary and duplicated calculations
  • in place calculations whenever possible
  • no_grad when no need
  • better shape initialization and tensor slicing to have fewer reshape calls
  • no large memory copy between CPU and GPU inside the optimization loop

Not yet put to the code base:

  • remove calculate_metrics (21-sec to 17-sec speed up for the following test case), need to retain the inside percentage
  • sample coords to mimic stochastic gradient descent (the random indices generation might take time, might reduce accuracy and then need more n_iters)
  • separate molecules so as to remove the div by num_atoms averaging calculation (this might also allow better memory usage)
(.venv) D:\GIT\DiffFitStar\demo\5wvi>python D:\GIT\DiffFit\src\DiffAtomComp.py --target_vol D:\GIT\DiffFitStar\demo\5wvi\6693_seg\emd_6693_region_4208.mrc  --target_surface_threshold 0.3  --structures_dir D:\GIT\DiffFitStar\demo\5wvi\AF_input --out_dir D:\GIT\DiffFitStar\demo\5wvi\DF_torch_profile --out_dir_exist_ok True --N_shifts 10 --device cuda --n_iters 101

Full Changelog: v0.7.0...v0.7.1

v0.7.0 Preview to Q-score and `dfit` cmd

13 Dec 19:42
249b74e
Compare
Choose a tag to compare

Key summary

  • Q-score is now integrated (a GPU version) into DiffFit. Thanks to the hint from Guillaume Gaullier to me in the ChimeraX Users Help [email protected] email list.
  • Cmd: dfit, dfit disk, dfit path; they run for the nogui mode. Thanks to the suggestion from @tomgoddard.
    • dfit #1 in #2
    • dfit disk strDir <subunits cif/pdb> inMap <map file> level <float>
    • dfit path show <result folder, e.g., DiffFit_out/disk>
    • dfit path vol <result folder> new <e.g., new local path to the map>
    • dfit path mol <result folder> old_path <e.g., path on server> new_path <e.g. path on local PC>
    • help dfit
  • Sim maps are now moved to the structures folder; q shells (for Q-scores) are also stored in the structures folder.
  • Generate q shells section under the Utilities tab. Only the Full (non-overlapping) is in effect.
  • New columns/metrics in the View tab fit results table: Mol name, Q-score, # Atoms, Avg density (in) for inside atoms, Avg density (all), DF CID
  • The DF CID metric is a combined metric computed from Correlation, Inside, and Avg Density (all).
  • In practice, I feel the important metrics are Q-score, Density (normalized), and Inside. Thus, I am planning to remove all other metrics to speed up the computation further unless I receive feedback or notice cases where the other metrics become better than the mentioned three. You may give your feedback at https://github.com/nanovis/DiffFit/issues.
  • The whole running should be a bit faster now. Thanks to the help from @tomgoddard for the clustering speedup in #44.
  • Up and down keys now work inside the View tab fit results table.
  • Under the View tab, below the table, there are now Candidates Folder and Candidates id to save multiple candidates at once.
  • Candidates id will likely be automatically generated when many fits pass the threshold.
  • Automatically view orient after fitting

What's Changed

Full Changelog: v0.6.2...v0.7.0

v0.6.2 Dependency manager (mainly for CUDA-enabled PyTorch)

03 Nov 09:19
Compare
Choose a tag to compare

This version includes a Dependencies tab to allow an easy re-installation of the CUDA-enabled PyTorch as well as any other packages via pip. This is in responding to #40.

Small changes:

  • Removed the unnecessary scikit-learn package
  • Renamed parameters: shifts -> positions, quaternions -> rotations

Full Changelog: v0.6.1...v0.6.2

Backward compatibility still holds

v0.6.1 Dependency versions

30 Oct 13:39
Compare
Choose a tag to compare

This version specifies the dependencies' versions for all required packages. This is in responding to the issue that PyTorch version 2.4 is giving an error on Windows 11, see #37.

Full Changelog: v0.6.0...v0.6.1

v0.6.0 Backward compatibility holds until this version

18 Oct 14:53
Compare
Choose a tag to compare

What's Changed

  • Gaussian negative space mode switch in the Settings tab by @RodenLuo in #38
  • Doc: Teaser GIF, Scenario 1&2
  • Better log

Backward compatibility holds until this version

  • In the next version, DiffFit will save and load the structure files' path instead of the structure files' folder.
  • So, the next version will break the backward compatibility. This will happen very rarely. This time, it is necessary to prepare DiffFit to easily fit many structures into an extremely large map (such as a ribosome) or an unknown density map by separating structures into different batches.
  • So, this will be the last version that you can open the saved fit results from any previous versions.

Full Changelog: v0.5.0...v0.6.0

v0.5.0

09 Oct 19:11
Compare
Choose a tag to compare

Functionality:

  1. Device tab is changed to Settings tab
  2. Under Settings tab, an option to switch between fit all atoms or backbone atoms only
  3. Utilities tab to split a model into chains, and to simulate volumes
  4. The point cloud visualizer has been fixed
  5. Fixed a known bug (#34)
  6. Better log for time elapsed, Showing cluster ID, and log layout
  7. Launch speed is a little bit faster

Doc:

  1. Done for install. Others will be done soon

v0.4.3

04 Oct 08:59
Compare
Choose a tag to compare

Improved the user interface.

Many thanks to the feedback given by ChimeraX developer Tom Goddard.

v0.4.1 - VIS-2024 reproducibility

30 Sep 17:04
Compare
Choose a tag to compare

As we are consistently developing and improving in the main branch and in the latest release, this release is set to reproduce the benchmark metrics in our VIS-2024 paper. More details and instructions will come soon.

The major difference between the current main branch and the VIS-2024 branch is as follows.

  • The current main branch uses only the backbone atoms ('N', 'CA', 'C', 'O') for fitting, as it is faster and gets similar (sometimes better) results.
  • The VIS-2024 branch uses all atoms for fitting, as described in the paper.

v0.4.0

30 Sep 11:49
Compare
Choose a tag to compare

The Compute tab works as designed now.

Known bug: First interactive, then compute, has a bug, not clear why, not fixed. Logged in #34. The ChimeraX command close session clears this bug.