Skip to content

Version 3.2.0-beta: cleaning, half-map FSCs, mask generation, and RELION 3.1

Compare
Choose a tag to compare
@michal-g michal-g released this 01 Apr 18:21
· 49 commits to main since this release
4b7703d

New Features

  • introducing cryodrgn_utils clean, a new tool for removing extraneous output files from completed experiments (#297)
  • backproject_voxel now produces half-maps and a half-map FSC by default (#329)
  • creating cryodrgn_utils fsc from the fsc analysis script for calculating Fourier shell correlations between two .mrc volume files, and likewise cryodrgn_utils plot_fsc based on plotfsc; making the latter available through the former using -p
  • creating cryodrgn_utils gen_mask based on cryoem_tools.gen_mask.py, now with reparametrization in Angstroms

Addressing Issues and Bugs

  • fixing #358 and improving the I/O interface in both cryodrgn_utils flip_hand and cryodrgn_utils invert_contrast so that the name of the output file and any parent directories are created automatically, with more unit tests for each
  • making write_star use RELION 3.1 format by default with optics groups generated from image size, pixel size, voltage, spherical aberration, and amplitude contrast; -relion30 to use old format (#324)
  • updating install setup to prevent use of Python 3.11 (#306)
  • abinit_homo now saves a config.yaml with a summary of parameters used, like abinit_hettrain_vae, and train_nn
  • fixing filter_star to accept tilt series as well (#335)
  • fixing affinity bug in analyze_landscape (#345)
  • fixing beta value bug in train_vae (#356)
  • removing references to scipy.ndimage.morphology which is deprecated
  • fixing dtype=object warning message in TiltSeries.parse_particle_tilt()

User Interface

  • cleaner implementation of command-line interface, defining both cryodrgn and cryodrgn_utils commands in one file cryodrgn/command_line.py, and removing e.g. manually defined lists of modules with commands in them
  • better doc strings with some usage examples for commands (e.g. cryodrgn abinit_homo -h), with module-level doc strings being included explicitly in the automatically generated help screen

Testing

  • using conftest.py to define a new setup/teardown routine for experiment output directories created by tests
  • writing new tests for abinit and train methods by applying these routines
  • fixing test_dataset to account for changes within make_dataloader
  • updating unit tests that use argparse.ArgumentParser() directly for commands in which the __main__ method was removed
  • updating tests for new and updated commands fsc, clean, gen_mask, etc.