= 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