Releases: nanovis/DiffFit
v0.7.1 before config file, for dev only
- 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
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
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 theFull (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 fromCorrelation
,Inside
, andAvg Density (all)
. - In practice, I feel the important metrics are
Q-score
,Density (normalized)
, andInside
. 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
andCandidates 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
- Add dependencies' versions by @RodenLuo in #39
- Pip manager by @RodenLuo in #41
- GPU Q-scores and
dfit
cmd preview and misc by @RodenLuo in #45
Full Changelog: v0.6.2...v0.7.0
v0.6.2 Dependency manager (mainly for CUDA-enabled PyTorch)
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
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
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
Functionality:
- Device tab is changed to Settings tab
- Under Settings tab, an option to switch between fit all atoms or backbone atoms only
- Utilities tab to split a model into chains, and to simulate volumes
- The point cloud visualizer has been fixed
- Fixed a known bug (#34)
- Better log for time elapsed, Showing cluster ID, and log layout
- Launch speed is a little bit faster
Doc:
- Done for install. Others will be done soon
v0.4.3
v0.4.1 - VIS-2024 reproducibility
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.