wiki:Dev2022-8-29

Version 2 (modified by Tom Goddard, 3 years ago) ( diff )

--

ChimeraX Developer Meeting

Attendance: Eric, Zach, Tom, Greg

August 29, 2022

Agenda

  • Discuss possible OpenMM and VR improvements for Tristan and Altos to pursue
  • Remilestone or close 1.5 roadmap tickets
  • Weekly build scripts using singularity
  • Plan to fix command-line parser
  • Arrow graphic for Mac dmg file
  • Mac universals builds
  • Mac app notarization
  • SSD drives for plato
  • DICOM improvements
  • Updating Linux compilers from CentOS7 for ISOLDE
  • Github Actions continuous integration
  • Mac M1 port
  • Put parser fix (#4842) on roadmap?
  • ISOLDE is installing into 1.5 (#7381)

Discussion

  • OpenMM needs for Tristan
    • Tristan is now at Altos Labs and has resources to work on ChimeraX.
    • Do we have suggestions for what ChimeraX developments to pursue?
    • Eric is a few months away from getting Dock Prep done. Then he will look at minimization with OpenMM and there may be some needs.
    • ISOLDE has many enhancements to OpenMM that could be modularized for use outside ISOLDE like handling glycans that we could use for minimization or simulations that resolve clashes.
  • Greg about working on OpenMM user install to get matching CUDA distribution. Or to setup for a new AMD GPU.
    • Maybe work to simplify binary builds for third-party developers.
  • VR needs for Tristan
    • Tristan says head of Altos software development is excited about VR use with ISOLDE.
    • VR user interface and performance issues are likely.
    • Mostly needs someone to spend months trying to use ISOLDE in VR to identify biggest obstacles.
  • Meet with Tristan
    • We should meet with Tristan to discuss how Altos can help ChimeraX.
    • UCSF team all ok with 9 AM meeting, not Thursday.
    • Tom will arrange a meeting.
  • Linux compilers
    • Greg updated linux compilers uses for ChimeraX.
    • Not sure if Tristan is using these compilers yet. Need to ask.
  • Mac universal builds
    • Greg says to make it another platform in build system.
    • Tom suggests offering universal, arm and intel separate downloads.
    • Eric asks if javascript can distinguish arm vs intel. Apparently not.
    • Might drop 10.14 for ChimeraX 1.5 release -- it does not support LZMA compression. If we keep it we need to use old compression, maybe just for the intel distribution.
  • Singularity build scripts
    • Greg and Zach propose moving singularity build scripts from the private build_tools repository to the chimerax repository.
    • Could put in a new directory named CI or build_tools, or build_env.
    • Zach has continuous integration scripts currently in a util directory that could also go in this new build tools directory.
  • Atom spec parsing crashes.
    • Eric or Greg might look at this. Zach says he could possibly. Eric says it is on his TODO list.
    • Plan is to fix it for ChimeraX 1.6, research solutions now.
    • Needs PEG parser.
    • Python 3.10 or 3.11 uses a new PEG parser which may be suitable.

Action Items

  • Update Linux base system from CentOS 7 to Debian 10 or equivalent. Greg
  • Provide Singularity image of compiler environment. Greg
  • Present github continuous integration tutorial. Zach

General

ChimeraX

General

Build System

1) Supporting IDEs

  • may only need editable installs (will require workaround as namespace packages cannot be installed in this mode automatically)
  • editable installs should also let us call ChimeraX with Python for rapid iteration and the C launcher for detailed crash info
  • Zach mentioned PyCharm, LSP (Language Server Protocol), XCode
  • Greg mentioned Visual Studio

2) API for getting C headers: get_include (see: numpy.get_include)

  • native-packaging moves bundle header and source files to bundle/src/include/module \
  • maybe just use header files?

3) API for getting library directories: get_libdir

4) macOS compiler call in Makefiles

Infrastructure

1) Beta releases on Toolshed

2) Decoupling core bundle version number from the ChimeraX release number

3) Prereq audit after 27 June

4) arm64 port

Chimera

1) Back up the build machine to a solid state drive

Note: See TracWiki for help on using the wiki.