Skip to content

Releases: mjgplab/proprep

ProPrep 1.23.0

Choose a tag to compare

@Mag14011 Mag14011 released this 02 Oct 23:16

Added

  • Molecular Docking (main menu, Simulate stage): dock a ligand into the
    loaded structure with AutoDock Vina, scored by Vina, Vinardo or AutoDock4
    (maps from autogrid4), with ligand and receptor prepared by Meeko and
    Gasteiger charges only; no force-field parameters are needed. The ligand
    comes from a residue of the structure (its Chemical Component Dictionary
    entry placed on the crystal coordinates, an inconsistent entry reported
    atom by atom), a SMILES string, or a file loaded with the Structure Loader
    (its new option 4 loads SDF, mol2 or SMILES files and libraries). The
    dashboard walks the decisions in order: receptor and chains (alternate
    locations chosen residue by residue), the ligand, which HETATM residues
    stay in the receptor (distances to the ligand, waters within a
    hydrogen-bond distance listed with their contacts), protonation from
    pdb2pqr/PROPKA and chain ends from REMARK 465, SEQRES or OXT (asked when
    the file says nothing), metal charges and cofactor chemistry, flexible
    side chains, rotatable bonds, the search box and the settings. Bond
    orders, charges and rotatable bonds are edited by typed commands or by
    picking atoms and bonds in the viewer, where each table's rows are drawn
    and numbered. A run compares every pose with the crystal ligand when there
    is one. A docking campaign (c) docks every ligand of a library into the
    same receptor, box and settings, with the per-ligand questions answered
    once as recorded policies, resumes after an interruption, and ranks the
    ligands. Validated by redocking (biotin in streptavidin 0.35-0.77 A,
    indinavir in HIV-1 protease 0.28-0.33 A) and a protease campaign in which
    all seven inhibitors rank above all five decoys. Its dependencies (RDKit,
    gemmi, Meeko 0.8.0, AutoDock Vina 1.2.7, autogrid) are now ProPrep
    dependencies; Meeko comes from the mjgplab channel built without prody,
    which conda-forge cannot install on Apple Silicon with Python 3.12 or
    newer (packaging/meeko-noprody).
  • Startup notice of a newer release. When a newer ProPrep release is on
    GitHub, the lines under the banner give its version, the one update
    command that fits how this copy was installed (the installer with -u
    for installer copies, the install script for the ProPrep conda
    environment, the in-place updater for an AmberTools environment) and the
    release page. Nothing is downloaded or changed, and the request carries
    nothing about the user. GitHub is asked at most once a day (the answer is
    kept in ~/.proprep/update_check.json, since a workshop room shares one
    address and GitHub's limit is per address); startup waits at most 1.5 s
    for the answer and says nothing when offline. Installer copies are told
    only once their platform's installer is attached to the release. The
    first check says how to turn it off: Preferences, option 4. Only copies
    built by the mjgplab conda recipe check at all: the recipe writes
    CHANNEL = "mjgplab" into proprep/_distribution.py at build time, and
    the source tree, and so the AmberTools build, keeps CHANNEL = None, so
    ProPrep inside AmberTools never points its users at ProPrep's own
    releases. The installers mark their install directory
    (.proprep_installer) so the notice can give the installer command.
    Preferences gains option 4 (Reset moves to 5, Back to 6).
  • Structure viewer: an "Axes" button under View Controls draws the X, Y
    and Z axes of the coordinate frame as labelled arrows from the origin,
    each reaching just past the far edge of the structure along its axis,
    and takes them away again. NGL frames every structure the same way
    whatever its coordinates, so a structure the Structure Orientation module
    had rotated onto its principal axes looked exactly like the original.
    The colours are chosen by computed contrast for the dark, black and white
    backgrounds and follow the background when it is cycled; each letter has
    a border in the opposite tone so it reads over the molecule. The setting
    is saved with a scene and restored from one. The Structure Orientation
    module turns the axes on before and after it aligns a structure, in place
    of four unlabelled spheres 15 A out along each axis, which sat inside any
    protein of ordinary size and were never seen.

Changed

  • Alternate locations: the Structure Fixer's per-residue picker (occupancy,
    atoms covered, a partial alternate completed from another, viewer
    colours) is shared with Molecular Docking, and the viewer selections now
    carry insertion codes.
  • Topology Generator: the PDB is no longer reordered before tLEaP, and
    the "Configure molecule grouping for AMBER?" question no longer appears
    when tLEaP runs. sander and pmemd need every bonded unit (a chain plus
    the cofactors bonded to it) to be one contiguous block of atoms, and
    tLEaP writes ATOMS_PER_MOLECULE as if that were already so; the ParmEd
    validation after every build repairs it with rediscover_molecules and
    saves the prmtop and rst7 as a matching pair, which made the pre-build
    reordering a second mechanism for the same problem. Its analyzer also
    misread packed membrane systems (every water chain typed as protein,
    lipid residue numbers colliding with protein ones). The reordering code
    is kept, uncalled. ParmEd now also writes <name>_parmed.pdb next to
    the topology, a PDB in the topology's atom order, since after a reorder
    the PDB tLEaP read no longer matches the prmtop. Sessions recorded with
    the old questions will find them missing on replay.

Fixed

  • Installing ProPrep over AmberTools 26 (the install script, the installers,
    the AmberTools updater) left inside the package the files that only
    AmberTools' bundled ProPrep 1.0.0 had: 35 of them, among them a retired
    built-in MD workflow (protein_equilibration) the MD Manager still
    offered, old MD templates, a backup module and old heme and Fe4S4
    parameter files. Every install path now removes the files ProPrep's conda
    package does not own (python -m proprep.utils.bundled_copy). An existing
    installation is cleaned by updating it: run the install script again and
    choose 1 (Update), run the new installer with -u, or run
    update_proprep_in_ambertools.sh for an AmberTools environment.
  • Structure Fixer: an alternate location that models only part of a
    residue was offered as an ordinary choice, and choosing it dropped every
    atom it did not model; on the 0.80 A lysozyme 8ZST that removed the
    C-terminal leucine's backbone and left tLEaP closing the chain with a
    3.79 A peptide bond. The picker now shows how many atoms each alternate
    models, flags a partial one, and completes it from the alternate with the
    highest occupancy that has the missing atoms. Alternate labels left on
    retained atoms (lone labels, waters) are cleared too.
  • Topology Generator: it builds from the Structure Orientator's output when
    there is one. The oriented structure was ranked where it could never be
    chosen, so orienting a structure did not change what tLEaP built.
  • Topology Generator: tLEaP's errors and warnings are reported from the
    current run only. tLEaP appends to leap.log, so a clean build printed its
    summary of zero errors above errors left by earlier runs in the same
    folder.
  • Install commands list conda-forge before salilab and bioconda. With
    salilab and bioconda first, 1.22.0 did not install on Linux under strict
    channel priority (Miniforge's default): AmberTools 26 needs RDKit, which
    bioconda has only as 2015-2016 Python 2.7 builds for Linux, and
    conda-forge's MPI fftw, where salilab has fftw 3.3.4. Changed in the
    install script, the README, the AmberTools updater, the installer recipe
    and the release build.
  • Structure viewer in the terminal: an open browser tab now follows the
    viewer when a module shows other structures or re-reads edited files. The
    restarted server began its version count at 1 again, which an untouched
    page already held, and the page never reloaded structures; and a restart
    asked for port 8765 again, moving to another port when 8765 was taken and
    leaving the tab on a dead one. Each server start now has an id the page
    reloads on (keeping the camera when the files are the same), and a
    restart reclaims its port.
  • Structure viewer: a view a module shows on request (the Redox Site
    Detector's view, a docking pose) opened a new browser tab every time,
    so a session collected tabs; a tab now opens only when none is open or
    loading, and the open one updates in place. A viewer server could also
    keep running unrecorded after a failed launch, leaving two in one session;
    a started server is now recorded at once, and a server whose thread died
    has its port closed. And with the main menu's Structure Viewer opened
    first, no module's views or highlights reached it (the Structure Viewer
    and the modules each had their own viewer, and updates went to the one
    that had started nothing); the modules' viewer now takes the open viewer
    over, on the same port, and the tab updates in place.
  • Transformer Creator: drop takes back the last operation. Its undo
    could never run: typing undo at any prompt rewinds the session first.
  • Structure Aligner: a second alignment in the same session started with
    the previous run's list of ions and waters to add and its transformation
    matrices. Both are keyed by a structure's position in the run's list, so
    they named whatever structure now held that position. The second
    redox-site alignment of calmodulin 1CLL against 2LL6 therefore re-added
    the first run's two Ca2+ and two waters, and put them into the reference
    copy (1CLL_noH_aligned_2.pdb gained residues A:293-296 on top of the
    originals) while the target got only the four it asked for. Both
    alignment entry points and cleanup() now forget the previous run.

Installers

Self-contained installers (conda not required). Download, then `bash ProPrep-1.23.0-<O...

Read more

ProPrep 1.22.0

Choose a tag to compare

@Mag14011 Mag14011 released this 22 Sep 22:01

Added

  • MD Manager: how close the solute comes to its own periodic images, along a
    simulation. Under periodic boundaries where the solute sits in the box means
    nothing; its shortest distance to any atom of any copy of itself does, and
    it changes as the solute tumbles or extends and as the box shrinks under
    constant pressure. It is analysis 23 of the trajectory analysis menu
    ("Periodic image distance") and option 12 of the simulation monitor, where
    it covers the frames written so far by a run that is still going. Any Amber
    box is handled: rectangular, truncated octahedron, or triclinic. Reported:
    the box shape and the range of its edges, the closest approach with its
    frame and the two atoms involved (which says what part of the solute is
    approaching its image), the mean and range, and the frames in which the
    solute is within the nonbonded cutoff of its own image, where it interacts
    directly with itself. That cutoff is the only criterion applied. It is read
    from the run's own output, which echoes what the engine used, or from its
    input; if neither is beside the topology, Amber's default of 8 Å is offered
    and said to be that. The solute can be the protein residues, every molecule
    the topology does not mark as solvent (no list of residue names is used),
    chosen residues, or a mask; in a membrane system choose the protein, since
    the lipids are continuous across the box and always touch their images. The
    distances equal those of cpptraj's minimage, and are found faster: about
    0.2 s a frame for 6,000 atoms, where minimage takes 0.9 s and grows with
    the square of the size.
  • Membrane Builder: the build now reports packmol's progress. After
    "Initiating all-together packing" ProPrep used to print nothing until the
    build ended, which for a large system is more than an hour. It followed
    packmol-memgen's log, which goes quiet once packmol starts; the progress is
    in packmol's own log. Each packing phase is now named with its loop budget,
    and each loop gives packmol's objective function, its two violations, the
    time per loop and the most time left. A build that is stopped says where
    packmol stood. Ending "without perfect packing" is reported as what it is,
    packmol-memgen's normal outcome: a protein-free POPC patch ends the same
    way and packmol-memgen keeps packmol's best structure.
  • Membrane Builder: a warning, as soon as packmol-memgen reports it, when the
    oriented protein has volume in one leaflet only, that is, when it does not
    cross the membrane as placed. For a transmembrane protein this means the
    orientation failed (stop with Ctrl-C and choose another method); for a
    peripheral protein it is expected, so the build is not stopped.
  • Membrane Builder: when ProPrep orients the protein with PPM3 and the protein
    came from a PDB entry that the OPM database holds, the placement is compared
    with OPM's before packing starts. OPM's placements are computed with the
    same method and then curated; in particular, which side of the membrane each
    face of the protein is on comes from the literature, which no calculation on
    a structure can know. The build reports whether the protein is the same way
    up as in OPM (in red if it is not), the angle between the two membrane
    normals, how deep the protein's centre sits in each, and OPM's hydrophobic
    thickness. For 6R2Q: the same way up, 1.1° and 0.4 Å apart. It reports and
    changes nothing: "OPM has no entry", no internet connection, or a structure
    that has been moved since it was loaded are each one grey line, never a
    stopped build. It needs the internet and can be switched off (Protein
    Orientation, option 6). The prepared structure is matched to OPM's file
    through the file it was loaded from, by position, so renumbered and renamed
    residues do not matter.
  • Membrane Builder, PACKMOL Settings: a time limit for the build (option 9),
    shown in the review. None by default.
  • Structure viewer: every row in the Representations panel has a Zoom
    button that frames that row's selection, annotations from the PDB Filter,
    the Protonation State Analyzer and the Redox Site Detector included. It uses
    the selection as it is typed in the row at that moment, works on a hidden
    row, and glides to the new view. A selection that matches no atom leaves the
    view where it is and marks the button and the selection field in red.

Fixed

  • Session logs: the first line of a session file read "version": "1.1" and
    the last block "proprep_version": "1.21.0". The first is the version of the
    file's format, not of ProPrep; under that name it looked like ProPrep's, and
    wrong. The key is now session_format_version. Logs recorded before this
    change replay and rewind as before.
  • Structure viewer: turning a representation off left its visibility button
    with nothing to see. The eye was replaced by a dash in a grey almost the
    colour of the row behind it (a contrast of 1.26:1), so the button was still
    there to press and could not be found. Both states are now drawn: an open
    eye in white when the representation is shown, the same eye crossed out in
    amber when it is hidden, so that they differ in shape as well as in colour.
    The button's tooltip says which state it is in and what a click will do.
  • Structure Completeness: the ACE and NME caps it adds were placed at a fixed
    offset along the x axis of the file, whichever way the residue faced: ACE
    from the residue's first atom, NME from its last, which is usually a
    side-chain atom and not the carbonyl carbon. tLEaP does not correct this: it
    builds only atoms that are missing, and the caps' atoms are given. On a
    repaired 6R2Q the three ACE caps had C-N-CA angles of 166°, 54° and 50° where
    a peptide has 121.7°, and one carbonyl oxygen sat 0.41 Å from the next
    residue's CB. A cap is now built as what it is, a trans peptide bond onto
    the residue, from the residue's own backbone atoms and standard peptide bond
    lengths and angles. NME is then fully determined. ACE has one free rotation,
    the residue before it not being there, and is turned to where it stays
    farthest from every other atom. A residue with no usable backbone keeps the
    old placement, and ProPrep says so. Systems prepared earlier are not wrong
    for it, as long as their minimization ran: it starts from a worse geometry
    and recovers.
  • Membrane Builder: packmol's progress reached the screen in bursts, one update
    every five or six packing loops (every five minutes on a large system),
    because packmol-memgen writes packmol's log 8 KB at a time. ProPrep now
    starts packmol-memgen so that its logs are written line by line, which
    changes nothing else about it, and the progress is per loop. When several
    loops do arrive together the latest is shown. The time per loop is measured
    from one loop to the next and is not quoted until two have been seen (it
    used to read "0.0 s per loop" at the first). The long all-together phase
    opens by saying what to expect of it: packmol-memgen does not wait for a
    perfect packing, it keeps the best structure packmol reached; the objective
    falls, jumps when packmol moves its worst-placed molecules, and falls again;
    "lowest so far" is the number to watch.
  • Membrane Builder: tLEaP, when it saves a system, moves every water to the
    end of it, and the hydrogen pass let it. A structure with crystal waters
    lying between its cofactors (6R2Q after a repair: 10 waters among the hemes)
    therefore came out with every residue after the first water at another
    position in the file. tLEaP addresses residues in bond commands by that
    position, and the Topology Generator's bond directives are written for the
    order of the structure that went in, so in the bilayer they would have named
    the wrong residues ("bond: Argument #2 is of type String", or, worse, a bond
    made to the wrong atom). Whether it happened depended on where the waters
    were: a structure with its waters after the cofactors was unaffected. The
    hydrogen pass now tells tLEaP to keep the order (set default reorder_residues off), and after the build the protein at the head of the
    bilayer file is compared, atom by atom and residue by residue, with the one
    packmol-memgen was given; a build that fails the comparison is not recorded.
    A bilayer built earlier from a structure with waters between its cofactors
    should be rebuilt.
  • Structure Completeness, with redox sites imported from a site file: after a
    repair, each heme site's atoms were moved to the new residue numbers but its
    center stayed on the old one (6R2Q: atoms at A:274, center at A:901), and
    nothing was said. The Redox Site Preparer addresses a site by its center, so
    every step on the heme did nothing: the prepared structure kept 20 residues
    named HEC with all of the heme's atoms, HCO held only the His/Cys side
    chains, there was no PRD, and tLEaP later stopped on "Unknown residue: HEC".
    The cause was one character: a heme's center is the centroid of its residue,
    and that case compared insertion codes as text, where a structure read from
    a file has a space and a center read from a site file had nothing, the site
    file not storing it. Sites detected in the same session, and sites whose
    center is an atom (a disulfide), were not affected. Blank insertion codes
    are now treated as the same, the site file stores the insertion code and
    alternate location, and a center that cannot be placed in the repaired
    structure is reported in red with the advice to detect the sites again.
    Structures prepared from imported sites after a repair should be checked for
    leftover HEC (or other untransformed cofactor) residues.
  • Redox Site Preparer: a transformation step that names a residue its site
    does not contain is now reported, in red, at any verbosity and for every
    transformer; the site's own residues are listed. Such a step used to do
    nothing and say nothing, and the structure f...
Read more

ProPrep 1.21.0

Choose a tag to compare

@Mag14011 Mag14011 released this 19 Sep 22:35

Added

  • MD Manager trajectory analysis: method choices that used to be fixed inside
    the code are now yours to make. Each is a prompt with its default shown, and
    each is recorded in the session log.

    • Clustering and Pairwise RMSD: the distance between frames can be best-fit
      RMSD, RMSD without fitting, or distance RMSD. K-means asks for its random
      seed (the same seed reproduces the same clusters); hierarchical clustering
      asks for average, single or complete linkage.
    • Density maps can be accumulated in the solute's frame: molecules are made
      whole around the solute (autoimage) and every frame is fitted on a mask to
      the first frame, on a copy of the trajectory. This is what density around
      a tumbling solute needs, and it is the default; the lab frame is still
      offered. The grid point limit and the number of peaks listed are asked.
    • RMSF and B-factors ask for the alignment mask and reference frame. PCA
      asks whether to fit to the average structure.
    • Contacts and Salt bridges ask for the persistence threshold; Contact
      frequency asks for its distance cutoff; Autocorrelation asks for the RMSD
      reference frame and the maximum lag.
    • Ramachandran asks for the bounds of the alpha and beta regions and for the
      flexibility threshold; omega asks for the planarity tolerance.
  • A trajectory file that stores no frame times: ProPrep says so and asks for
    the time between frames. With none given, plots use the frame number.

  • Results state the definitions behind them: the charged atoms used for salt
    bridges (now including AMBER's charged histidine, HIP), the water mask
    used for water shells, how DSSP codes are grouped into helix, sheet, turn
    and coil, that vector ends are geometric centres, and that contact
    distances are not imaged.

  • Structure Viewer: a structure against its electron density (option 6,
    "Launch viewer with electron density"). For an X-ray entry deposited with
    its structure factors, ProPrep fetches the two maps PDBe provides, the
    2mFo-DFc map and the mFo-DFc difference map, and shows them in the viewer
    with a new Electron Density panel: each map on or off, and its contour level
    (starting at the usual 1.0 and +/-3.0 sigma, green for unexplained density
    and red for model without density). The whole map is shown to begin with.
    To look at one place, pick a ligand, ion or cofactor from the panel's list,
    or type a selection such as 79:A or [HBI]: the view moves there and the
    density is drawn in a box around it, whose size you set. The box belongs to
    the model and stays on it when you move the view; a checkbox gives the other
    convention, used by Coot, where the box stays mid-screen and the model moves
    through it. A selection that NGL cannot read matches every atom instead of
    failing, so the panel says how many atoms matched and refuses that case.

    • For contrast, the mesh near the atoms you choose is coloured differently
      from the mesh elsewhere. Choose atoms by clicking them (one at a time or
      a whole residue per click; click again to take them out), from the panel's
      list of ligands, or with a selection; none of these needs a precise
      pointer. You set how near counts (default 2 A), the two colours, and how
      bright the rest of the mesh stays. Dimming the rest is what makes the
      difference: the default yellow on the default blue mesh is only 1.9 : 1,
      below the 3 : 1 asked of graphics, because both are bright; with the rest
      at 40%, the default, it is 7.8 : 1. The panel states the contrast ratio
      for whatever colours you pick and warns below 3 : 1. The difference map
      keeps its green and red near your atoms, since those colours carry
      meaning, and is dimmed elsewhere with the rest.
    • The maps are calculated by PDBe from the deposited data and the deposited
      model, so the 2mFo-DFc map leans towards the model; ProPrep says so, and
      the difference map is the more honest of the two.
    • A PDBe map covers one unit cell at the origin, while models mostly lie in
      neighbouring cells (no cofactor atom of 1LTZ or 1J8U is inside its map).
      ProPrep re-cuts the periodic density around the model, an exact copy of
      grid values, so density appears where the atoms are. Sigma levels are
      those of the whole unit cell, the crystallographic convention, not of the
      re-cut box.
    • Density is shown only for a structure that still lies where the entry was
      deposited: as downloaded, filtered, protonated or renamed. A structure
      superposed onto another has left its map behind. ProPrep decides this from
      the map itself (a model in its own density sits near +3 sigma on average,
      the same atoms anywhere else at 0) and tells you the number, so a moved
      structure is refused even if its file still carries the entry's header.
      NMR and cryo-EM entries, and entries without deposited structure factors,
      are told why they have no density. The margin of density kept around the
      model is asked (default 5 A).
  • Structure Loader: the article behind a structure. When a structure is
    loaded, from the PDB or from a local file, ProPrep shows the publication
    recorded in the file: title, authors, journal reference, and PubMed and DOI
    links, or says that the entry was never published. This needs no internet
    connection and asks nothing. Under View structure metadata, the
    publications view adds the article's abstract and says whether a free full
    text exists and where, from Europe PMC. The abstract is often what says
    which form of a cofactor is really in the structure. ProPrep does not
    download articles: most are behind a subscription, and PubMed Central and
    the publishers refuse scripted PDF downloads, so it gives links to open in
    a browser, where your own access applies.

  • Structure Loader: search the Protein Data Bank by ligand (Query Protein Data
    Bank, option 4). Enter a ligand code or words from its name; ProPrep lists
    the matching ligands and how many structures contain each. From any code it
    can then list the related ligands, because one compound is in the PDB under
    several codes: those made of the same atoms with a different number of
    hydrogens (other redox and protonation states, tautomers, stereoisomers) and
    those RCSB scores as structurally similar, each labelled with how it was
    found. Starting from tetrahydrobiopterin (H4B) this finds its 6S epimer
    BHS, the dihydrobiopterins HBI and H2B, and biopterin BIO. You type
    the codes to search for and how many structures to list; they come best
    resolution first, with the ligand code each contains and the real-space
    correlation of that ligand with the electron density. Nothing is filtered
    out for you: lookalikes are shown and labelled, and a reminder is printed
    that the code is the depositors' choice and does not always match the state
    their title describes. A search that cannot reach RCSB says so, and is not
    reported as "no results".

  • Structure Viewer: "View the loaded MD trajectory" plays the topology and
    trajectory loaded with Structure Loader > Load AMBER topology & coordinate
    files. Every loaded segment is read in order as one trajectory, in any
    format cpptraj reads (NetCDF, mdcrd, DCD, XTC, TRR, binpos), and no PDB
    structure needs to be loaded. The option is available once a topology and
    trajectory are in the workspace, and says where to load them until then;
    the Structure Loader now points to it. In 1.20.0 the only way to a playing
    trajectory was MD Manager > Analyze completed simulations > a simulation >
    "Select analysis type" > 4, which is still there and shares the same code.

  • Structure viewer: save a trajectory movie. The Movie panel (shown with the
    Trajectory panel; m records, Esc cancels) renders the trajectory frame
    by frame to an MP4 with the current camera, representations and background:
    frame range (backwards too), stride, interpolated in-between frames, frame
    rate, size (1-3x the viewport), quality and antialiasing. It is frame-exact
    rather than a screen recording, so it plays at the chosen frame rate however
    long a frame took to render, and H.264 MP4 opens in Keynote, PowerPoint and
    QuickTime. Encoding happens in the browser (WebCodecs; a current Chrome,
    Edge, Safari 17+ or Firefox 130+) and the file downloads like a screenshot.
    The MP4 writer (mp4-muxer 5.2.2, MIT) ships with ProPrep and is served by the
    viewer's own server, so saving a movie works offline.

  • Structure viewer: a Depth cue button turns NGL's distance fog off and on.
    Off gives a cleaner figure of a small solute. The setting is saved with a
    scene.

  • Structure viewer: h hides and shows the control panel, for any structure,
    so the molecule fills the window (for a figure, or a wider movie). The Hide
    Panel button was already there; the key is ignored while typing in a field.

Changed

  • Every menu and yes/no question: an answer that is not accepted is now
    named. Received "'4", which is not one of the available options replaces
    "Please select one of the available options", which read as though the
    option were unavailable. The usual cause is a key pressed while ProPrep was
    busy printing: the terminal holds it and puts it in front of your next
    answer, and shows it where the cursor was at the time, not at the prompt, so
    the prompt line itself looks correct. The answer is shown exactly as
    received, so a stray quote, space or arrow key is visible. Nothing else
    changes: the question is asked again as before, and session recordings still
    hold only the accepted answer.
  • Structure Loader, search by entry title: the number of structures listed
    was fixed at 100 inside the code and never mentioned. ProPrep now reports
    how many structures match, then asks how many to list (default 100, up to
    the 10,000 that RCSB returns for one search). The most relevant are kept and
    shown best resolution first, and the results heading says s...
Read more

ProPrep 1.20.0

Choose a tag to compare

@Mag14011 Mag14011 released this 16 Sep 15:52

Added

  • The structure viewer plays MD trajectories. In the MD Manager's analysis
    menu, "View trajectory in the structure viewer" takes a simulation's
    NetCDF trajectory, runs one cpptraj pass that re-images the solute and,
    if asked, strips water and ions, writes a first-frame PDB and a NetCDF
    with matching atoms, and opens them in the viewer with a Trajectory panel
    (play, pause, frame slider, single-frame step, speed, smooth
    interpolation, loop/once, forward/backward/bounce, stride, superpose on a
    selection, remove/center PBC; space and the arrow keys work when no field
    has focus). NGL reads the NetCDF directly; no format conversion.

Fixed

  • MD Manager monitor: a minimization was reported with a "Time (ps)" row
    holding the cycle number; it now shows Cycle, Energy and Max gradient,
    and the analysis overview shows Total Cycles. The "other recent
    simulations" list offered one entry per batch, labelled by the batch
    and reading the newest output anywhere beneath it, so after a later step
    had auto-started it showed that step's numbers under the earlier step's
    name (heating at 4 ps and 76 K under "Energy Minimization"). Every step
    output is now listed separately, labelled batch/step, newest first.

Installers (SHA-256)

Self-contained installers with AmberTools, MODELLER and every dependency; no conda needed. See INSTALL.md.

101ec184f6b0b89b12a76961152540abe925ee503327dbff15001d6000c60fa4  ProPrep-1.20.0-Linux-x86_64.sh
3bb1d802057b2470f17ba844baff3e26429236b53a96bcfad20b09b738dac9ca  ProPrep-1.20.0-MacOSX-arm64.sh
e8571652b5c792a3532859f71785e77c59f03a2503d056f7115ba4b8a1d4e968  ProPrep-1.20.0-MacOSX-x86_64.sh

ProPrep 1.19.1

Choose a tag to compare

@Mag14011 Mag14011 released this 16 Sep 06:57

Added

  • A sander.MPI engine in the MD Manager. AmberTools ships sander and
    sander.MPI but not pmemd, so on the installers the only multi-core
    choice, pmemd.MPI, and the default, pmemd, did not exist. The engine
    menus now list sander, sander.MPI, pmemd, pmemd.MPI, pmemd.cuda in that
    order, mark any engine that is not installed, default to the best engine
    that is, and the automatic recommendation uses sander.MPI when pmemd.MPI
    is absent. Selecting sander.MPI asks for the number of MPI tasks.
  • A "Workshop Protocol (CPU, under an hour)" workflow with its own
    templates: 1000-cycle minimization, 20 ps heating, 100 ps NPT, 300 ps
    production. Measured end to end on a 3923-atom peptide box: 41 minutes
    with sander.MPI on 4 laptop cores.

Changed

  • Session replay matches a recorded menu answer by the option's label, not
    only its number. A recording stores both; when a menu has been reordered
    since (the engine menu above), replay picks the key that now carries the
    recorded label and says so.

Fixed

  • MD Manager: on entering execution with a simulation still running from an
    earlier session, restoring it printed "Warning: Could not restore process
    ...: 'MolecularDynamicsManager' object has no attribute
    '_restore_workflow_pending_steps'" and forgot the running process. The
    call was to a method that never existed; the workflow's pending steps are
    restored by the existing file-wide restore that follows.
  • Protonation State Analyzer failed with "'int' object has no attribute
    'items'" on any multi-model structure (NMR ensembles such as 1UAO) when
    one model was selected in PDB Filter. The chosen model index was stored
    inside filter_selections next to the per-chain selections, so the
    analyzer, the structure viewer's annotation summary and the disulfide
    detector's chain mapping could all trip over it. The index now has its
    own workspace key, selected_model_idx, and the consumers ignore any
    non-chain entry left by an older run.

Installers (SHA-256)

Self-contained installers with AmberTools, MODELLER and every dependency; no conda needed. See INSTALL.md.

a24c55ef2b99b51bf64d8fbeede695a6a48d9f9d1e9b42e5fddad48d5584b45d  ProPrep-1.19.1-Linux-x86_64.sh
017cd5396db673509230978ca544d204142d039bc484c74f5f3dbaeb9b2209b7  ProPrep-1.19.1-MacOSX-arm64.sh
bff5014c7c5ac7c0e33cecbe76ca5a41d9314da58972f41b9ab7c31cbfac9457  ProPrep-1.19.1-MacOSX-x86_64.sh

ProPrep 1.19.0

Choose a tag to compare

@Mag14011 Mag14011 released this 16 Sep 02:25

Added

  • The Transformer Creator shows what the linked library expects. When it
    opens after an import it prints, for the residue the library fits, which
    heavy atoms share a name with the library unit, which exist only in the
    structure, which exist only in the library, and which differ only in
    case; a new lib command lists every library atom, and lib <chain> <resid> compares any residue. The site-match line after an import now
    reports the residue-name match and the atom-name overlap separately
    instead of calling a name match "100% of its atoms".

  • The Force Field Parameterizer's import accepts a prep file in place of a
    library. Published parameter sets (the Bryce database, journal SI) often
    ship a residue as prep + frcmod; ProPrep's library, loader and
    transformers want an OFF library, so the wizard now converts the prep
    with tLEaP at import time, deposits the resulting library, and keeps the
    prep alongside it. The residue name is read from inside the prep, every
    residue of a multi-residue prep is saved, and a digit-leading residue
    name is refused with an explanation rather than failing inside tLEaP.

  • Dihedral refinement is the same in every parameterizer and fits jointly.
    The small-molecule step sm-7 and the modified-amino-acid step 9 (both
    routes) share one engine: pick dihedrals from the parmchk2 penalty table,
    reuse any relaxed scan already run (the amino-acid linkage scan chosen at
    step 3, every scanned conformer, the de-novo sidechain scan), derive
    further scan inputs from the molecule's own optimization input at the
    optimized geometry, pause at a checkpoint until Gaussian has run, then fit
    every selected dihedral together in one paramfit run against a topology
    built from the current frcmod (after Seminario). Previously each dihedral
    was fitted alone against the topology built before any refinement, and
    the amino-acid routes could only refit the one torsion scanned at step 3.
    A refit is written under the residue's shared atom types and loaded after
    the protein force field, so before fitting, each scanned dihedral is
    checked against Amber's parameter files and residue libraries: a quad the
    force field defines explicitly, or that any standard residue contains, is
    shown but not refit; a quad covered only by a wildcard and absent from
    every standard residue, the usual covalent-linkage case, is refit.

  • Undo. Typing undo at any prompt lists the answers recorded so far and
    rewinds the session to one of them, either asking that question again or
    replacing its answer and replaying what followed. ProPrep unwinds to the
    top, rebuilds its state, and replays the session log to that point in the
    same process, so the exit, relaunch, edit-the-log, replay cycle is no
    longer needed. The replaced tail is kept in a timestamped backup of the
    log. Requires session recording, which is on by default.

Changed

  • The Structure Loader no longer says "cancel", which read as cancelling
    the structure just loaded. The source menu's last item is "Done (return
    to the Structure Loader menu)", the RCSB, AlphaFold, and AlphaFill method
    menus end in "Back to source selection", the search-refinement menu ends
    in "Back to results (no filter)", and a declined download says "Download
    skipped". The AlphaFold, AlphaFill, and UniProt entry prompts offer 'b'
    to go back, and the PDB search and UniProt structure pages offer 'back';
    the old 'c' and 'cancel' still work so recorded sessions replay. Menu
    numbers are unchanged.

Fixed

  • ~/ProPrep/bin/proprep and ~/ProPrep/bin/proprep-web, launched by
    absolute path as INSTALL.md says, could not find tLEaP ("not found in
    PATH") and had no AMBERHOME. A console script never activates the
    environment it lives in, so the bundled AmberTools was invisible unless
    the user first sourced amber.sh. Both entry points now locate the
    Amber tree next to the running interpreter and set AMBERHOME and
    PATH themselves; an AMBERHOME that is already set and valid is kept.
    The ONIOM atom typer no longer falls back to a developer-machine path.

  • CREST dihedral refinement handed tLEaP paramfit's output, which contains
    only the fitted terms; the final topology was built from an incomplete
    frcmod. The fitted terms are now spliced into the full frcmod.

  • Re-running sm-7 in a new session found no refinement selection and
    skipped; the sm-5 choice is now persisted and sm-7 can also make it.
    Waiting for Gaussian no longer marks sm-7 completed.

  • Replacing a fitted dihedral matched the reversed orientation by reversing
    the character string, so two-character types (c3-c3-os-c) never
    matched their reverse; multi-term dihedrals are now replaced whole.

  • Scan angles were reported as 15-degree steps whatever step size was chosen.

  • Resuming a de-novo modified-amino-acid run in a new session could not
    find the step-7 AC file when it had been given a custom residue name, so
    step 9 skipped the torsion refinement; a lone AC file in the run
    directory is now accepted.

  • paramfit was allowed to fit dihedral periodicity as a continuous number
    and could return values such as 2.93; periodicity is now held at the
    parmchk2 value and only the barrier and phase are fitted.

  • A modified amino acid parameterized against ff19SB changed every
    arginine and tyrosine in the protein. parmchk2 runs with -a Y, so the
    residue's frcmod carries a copy of each of its standard bonded terms,
    and tLEaP gives that file priority once it is loaded after the leaprc.
    The ff19SB path gave parmchk2 parm19.dat without frcmod.ff19SB, so the
    copies held the older single-term values for the guanidinium and
    hydroxyl torsions and replaced ff19SB's multi-term definitions system
    wide. parmchk2 now receives frcmod.ff19SB too, and a regression test
    loads a generated frcmod into an ff19SB peptide and checks that no
    parameter of any standard residue changes. ff14SB and ff99SB already
    passed their correction files and were unaffected.

  • Seminario's "all" scope in the modified amino acid route refined the
    residue's standard bonded terms and wrote them under the shared atom
    types, which would have replaced the protein force field's values for
    every residue. The option stays listed, but choosing it now explains
    why only the by-analogy terms can be refined and asks again.

  • An AlphaFold structure loaded from the AlphaFold Database did not appear
    in the Structure Viewer. The download is mmCIF, but the viewer told NGL
    every served file was PDB, so the model parsed as empty. The viewer now
    passes each file's format from its suffix (pdb, cif, mol2, ...), and
    structure names in the viewer and saved scenes drop whichever suffix the
    file has.

  • Site templates in the Redox Site Detector now resolve bonds and custom
    boundary atoms by identity instead of position. A template recorded each
    bond as a row number in the residue table and each boundary atom as an
    index into the site's atom list, then replayed both as positions in every
    other site. Rows of same-type residues are ordered by a distance sort that
    is a near-tie, so the two Cys, two His, or two propionates swapped in
    about half the sites and produced 6 to 12 Å "bonds". Transformed HCO hemes
    also carry their grafted atoms in per-site order, so the boundary indices
    pointed at other atoms in 48 of 64 hemes of a multiheme structure, and at
    three sites the search then picked a neighbouring heme's His over the true
    one. Bonds now store residue names and bond the closest unused residue
    pair of those names; boundary atoms store residue name, ordinal, and atom
    name and fall back to the index only when the name is absent. The
    applied-bond log line now names both residues.

  • The Homology Searcher no longer requires a loaded structure to run a
    BLAST search. The entry point checked for a structure before it ever
    reached the sequence-source prompt, so the "enter a sequence directly"
    and "load from FASTA" choices were unreachable without one, and since
    1.17 the menu greyed out the option to match. A structure is now
    optional: the prompt always lists the same three sources (typed, FASTA,
    loaded structure) so session replay is unaffected, and picking the
    structure source with nothing loaded explains and asks again. The
    MODELLER build still needs a template structure.

  • Eleven bare except: clauses in the MD Manager, workflow editor, and
    restraint manager wrapped a prompt and would have swallowed the rewind
    signal (and a SystemExit); they now catch Exception.

Installers (SHA-256)

Self-contained installers with AmberTools, MODELLER and every dependency; no conda needed. See INSTALL.md.

a3600f71ce5e742fc32b25510dd4beb39073f40b912297218af4a8079e907269  ProPrep-1.19.0-Linux-x86_64.sh
0159220c6246537fb62629ba90f4c6d61f72761b154ffef5cad9ce457385c547  ProPrep-1.19.0-MacOSX-arm64.sh
cca1ada074edcd6ae17812521486698521a685922b241f8f753b3abf7f0830ac  ProPrep-1.19.0-MacOSX-x86_64.sh

ProPrep 1.18.0

Choose a tag to compare

@Mag14011 Mag14011 released this 03 Sep 03:23

Removed

  • Membrane Builder: the "preset composition" menu and its ten named
    membranes (mammalian, bacterial, mitochondrial, thylakoid, ER, yeast).
    They were ProPrep's own lipid strings and ratios with no literature
    source behind them, and two used lipid names that packmol-memgen's
    database does not contain (TLCL2; MGDG, DGDG, SQDG). The in-panel
    "common starting points" list is gone for the same reason. Compositions
    are built from packmol-memgen's own lipid database, entered as a raw
    string, or set to solvate-only, as before. The lipid library's category
    blurbs ("common in bacterial membranes" and the like) are replaced by a
    charge summary computed from memgen.parm, and three categories that
    matched nothing in that database (glycolipids, ceramides, ether lipids)
    are gone with the names they listed.

Added

  • Redox Site Detector: the template results table now shows, for each
    site, the residue that was farthest from the search boundary when it was
    added, and warns when a residue belongs to more than one site. A
    count-based search always returns the requested number of residues, so a
    heme missing one axial His (a truncated multiheme chain) silently took the
    next-nearest His, which already belonged to the neighbouring site; every
    row still read ✓ because the only check was on bond length. The site
    summary lists each residue's search distance as well.

Fixed

  • Banner and proprep --version read the checkout's pyproject.toml when
    ProPrep runs from source. An editable dev install keeps the package
    metadata of the version it was installed at, so the banner said 1.16.0 on
    the 1.17.0 tree; the lockstep check now warns when that metadata lags.
  • ONIOM Preparer: the suggested QM (model-system) charge pooled MM partial
    charges over every selected fragment and rounded once. Whole residues
    sum to integers, but a side chain trimmed at CA-CB does not (ASP -0.86,
    GLU -0.88), so four trimmed carboxylates pooled to -3.43 and were
    suggested as -3 instead of -4. Each fragment is now rounded to its own
    formal charge and the integers summed. The on-screen note now says what
    is counted: the selected residues and side chains, with the formally
    neutral capping groups (promoted C=O or N-H plus the link H) excluded.
  • Redox Site Preparer: side-chain atoms moved into a heme residue (the Cys
    and His migrations of the c-type heme transformers) were written one
    column short. The framework cleared the insertion code by splicing an
    empty string into column 27, deleting the column and shifting x/y/z left
    by one; fixed-column readers survived only by absorbing a trailing space,
    and a coordinate such as -106.695 would have lost its sign. A His claimed
    by two sites went through the splice twice and its coordinates became
    unparseable, stranding its ring atoms as a separate HEC residue and
    failing workspace validation. The chain and insertion-code fields now
    always keep their one-column width.

Installers (no conda required)

Download the file for your platform, then bash ProPrep-1.18.0-<OS>.sh. MODELLER needs your own free academic key; see INSTALL.md.

SHA-256
33ea949456bcb10514fe3a636224969d6d078b73ba841b945bd68944eae0a544  ProPrep-1.18.0-Linux-x86_64.sh
0021257fd394ec70d936db5b1f98de4d3a832e981c1d6e0355fa4b95219f7964  ProPrep-1.18.0-MacOSX-arm64.sh
1af81d97eb059dbf0c0583c7913217545e79485d78cb61ee8dd6e7a7ba39c4a2  ProPrep-1.18.0-MacOSX-x86_64.sh

ProPrep 1.17.0

Choose a tag to compare

@Mag14011 Mag14011 released this 31 Aug 20:39

Changed

  • PDB Filter water analysis, metric 4: burial is now computed from geometry
    alone instead of an atom count normalised by an uncalibrated constant.
    Each water oxygen gets its Lee-Richards accessible area against the
    protein and hetero atoms (1.4 Å probe, Bondi radii; other waters never
    occlude), a bulk/enclosed flag from a flood fill of probe-accessible
    space, and its nearest heavy atom. Categories are physical statements:
    Clash (nearest C/N/O/S/P atom under 2.2 Å, the wwPDB close-contact
    criterion), Enclosed (no path to bulk solvent), Buried (0 Ų but
    bulk-connected), Exposed. The count-based burial_max_expected and the
    40 Ų × (1 − burial) "estimated SASA" are gone. On 3WL2 the old score
    put every enclosed cavity water at 46-68%, and nothing above 80%. The
    multi-radius and directional profiles (metrics 6 and 7) keep the count and
    now have their own parameter entries.

  • The water burial table shows a Covered column (100 × (1 − SASA / the
    area of a free water)) and prints every category rule with its cutoff,
    in the order the rules are applied, both in the method panel and in a
    legend under the table; the panel also explains that SASA is measured on
    the contact sphere while enclosure is looked for one grid cell beyond it,
    which is how a water can be untouchable yet bulk-connected. The unit
    symbol had been U+0172 "Ų" (U with ogonek) and now reads Ų.

  • Metrics 6 and 7 (multi-radius and directional atom counts) state the
    conventions behind their labels: the "saturation" radius is the first
    step with less than 10% growth, the directional "pattern" compares the
    sector-count range with the mean at 0.5× and 1.5×, and the compass glyphs
    are quarters of that water's own largest sector. Each label carries its
    rule, and both tables gained a legend saying so; the menu names them
    atom-count profiles.

  • The structure fixer's alternate-location picker says which viewer colour
    each alternate is drawn in ("■ red in viewer") beside its occupancy, and
    the viewer's representation list is labelled "Alt A (red), occ 0.60"
    instead of "Altloc A", so the colours on screen can be matched to the
    numbers in the prompt.

  • Water analysis viewer halos and the "Ordered" category. The viewer reps
    were labelled Water Cat Hbond / Water Cat Ordered; they now say the
    rule and its cutoff ("Waters: ≥ 3 H-bond partners (≤ 3.5 Å)"). With the
    burial metric selected the halos follow the burial categories (clash,
    enclosed, SASA 0, covered ≥ 90 %, covered 50–90 %) instead of the
    recommendation categories, which hid a buried water behind "Highly
    connected". "Ordered" was B-factor < 30 Ų; B-factors scale with
    resolution and refinement, so it is now B below the median of this
    structure's protein heavy atoms, and the B-factor table shows that ratio
    and the median instead of 20/40/60 Ų bins.

  • Water burial treats a water as one 1.4 Å sphere whether it is the probe
    or a crystallographic water. The crystallographic water's oxygen had been
    given Bondi's 1.52 Å, the radius of an oxygen atom inside a molecule, so
    the same species had two sizes and two waters "touched" at 2.92 Å where
    real ones touch at 2.80 Å. Contact distance is now 2.80 Å, the isolated
    water area 98.5 Ų, and the enclosure reach 3.30 Å; protein, heteroatom,
    and metal occluders keep Bondi radii.

  • Water hydrogen-bond partners are ranked by distance alone. The previous
    ranking multiplied an "angle quality" (bins at 150/120/90° scored
    1.0/0.8/0.6/0.3) by a distance bin and then by 1/distance again. The
    angle it measured was the one at the partner atom, X–A···O, whose ideal
    value depends on hybridisation (about 120–160° at a carbonyl oxygen, about
    110° at an sp³ oxygen or amine), so "linear is best" rated a textbook
    Ser OG contact "acceptable" and an on-axis approach "excellent"; water
    partners never got an angle at all. None of the numbers had a source.
    Candidates within the 3.5 Å heavy-atom cutoff are now listed closest
    first and truncated to the configured maximum; the unused
    hbond_angle_cutoff parameter is gone.

  • The water classification cascade is gone. Every analysed water used to be
    given one label (Metal-coordinating, Highly connected, Interface, Buried,
    Ordered, or Bulk solvent) by a first-match-wins rule chain, and the viewer
    halos followed it, so a metal-bound water that was also enclosed showed
    only as metal-bound. That is a single score under another name and runs
    against the rest of the analysis, which reports each metric on its own.
    The viewer now draws one highlight group per fact each displayed metric
    establishes (metal within cutoff; 1, 2, 3, or 4 H-bond partners; B below
    the protein median; the burial categories and coverage bands; interface),
    each labelled with its rule and cutoff, and a water may appear in several.

  • Water burial counts metal ions as occluders by default. Metal ions are
    their own residue class in the burial code, and the default set was
    protein,hetero, so a coordinated ion neither shielded its water nor
    blocked the enclosure flood fill. Default is now protein,hetero,metal.

Fixed

  • Coordinated waters are part of the transformer connectivity fingerprint.
    The Weisfeiler-Lehman fingerprint that lets a reused transformer tell
    same-name residues apart excluded waters entirely, so water renames (say
    HOH to MW1 and MW2 on a di-metal site) could never auto-resolve and always
    fell to the manual prompt. Every emitter now bakes two fingerprints per
    role, the anhydrous one exactly as before and a hydrated one with waters
    as nodes; matching tries the hydrated bijection first and falls back to
    the anhydrous one, so transformers emitted before this change, and reuse
    sites whose water-metal bonds are left undefined (a restraint instead),
    match exactly as they did, while water roles resolve automatically when
    the bonds are defined on both sides.

  • Structure Viewer: colouring by "Chain ID" coloured a multi-chain
    structure almost uniformly red. The option used NGL's chainid scheme,
    which keys on the parser's internal chain record (a new one at every TER
    and every polymer-to-HETATM break), so 9YUQ's 16 chains became 112
    records and the protein segments, first in the file, all sat at the red
    end of the scale. The option now uses chainname, the chain letter;
    saved scenes carrying chainid are mapped.

  • Replaying a session recorded from proprep --pdbid X or --pdbfile F
    now reloads that structure first. The argument-driven load happens in
    main() with no prompts, so such a session holds no loader interactions,
    only metadata.pdb_id/pdb_file; replay printed that and then started
    at the main menu with no structure, and the first module diverged. A
    pdb_file recorded on another machine is found by basename in the
    project directory; if it is absent the replay says which file to copy in.

  • Constant-pH/redox namelist variables (icnstph/solvph/ntcnstph, icnste/
    solve/ntcnste, saltcon) reach every production simulation.mdin. Only
    the live runner injected them; the batch directory writer, the
    standalone writer, and the three SLURM writers staged the cpin and passed
    -cpin -cpout -cprestrt but wrote the mdin untouched, so sander would
    have run plain MD with a cpin on the command line. An imported .mdin is
    now read, given its configured restraints and the titration namelist,
    and written, instead of being copied verbatim.

  • The MD Manager's recommended engine assignment numbered NPT steps across
    the whole queue, so with several structures only the first structure's
    density equilibration was treated as early NPT (CPU) and every other
    structure's went to the GPU with a fixed PME grid. NPT steps are now
    numbered within each structure's own workflow.

  • Every generated microstate tLEaP script starts with logFile <microstate>_leap.log, so each build writes its own log instead of all
    of them (and the info passes before them) appending to one leap.log
    in the working directory. Parallel builds copy that log back beside the
    inputs; the info passes log to scratch files that are removed with the
    script. The log parser and the post-run message display read the
    script's own log.

  • The titration-file step accepts several topologies at once (a number, a
    comma list, a range, or all, which is the default). Residue and
    initial-state choices are made on the first topology and reused for any
    later one whose titratable residues match it exactly; a topology that
    differs is prompted on its own. One titration_configs entry is kept per
    topology alongside the legacy single titration_config.

  • The MD Manager's constant-pH/redox offer looks up each structure's own
    titration files by prmtop name and lists every structure it applies to
    before asking once. Previously it read the single most recent config, so
    a set of five microstates was offered only the fifth's cpin.

  • Batch microstate generation offered the constant-E HEH heme library next
    to the HCO library in the Topology Generator (and only HCR for the
    reduced state). The batch path recorded no redox treatment, so the set
    picker had nothing to filter on; choosing HEH loaded a library that
    defines no HCO, tLEaP built the hemes as untyped, chargeless atoms, and
    every microstate reported the same net charge. Batch microstates
    enumerate redox states explicitly, one topology each, so the treatment is
    fixed_E by construction; it is now recorded as such and the picker offers
    only the fixed_E sets. The microstate info pass also refuses to continue
    when tLEaP reports an unknown residue, instead of printing a charge that
    omits it.

  • The per-water FreeSASA value that drove the "Buried" recommendation was
    always 0.0: Result.atomArea() takes an atom index and was given selector
    strings, and FreeSASA's PDB reader drops HETATM records so the water was
    not in t...

Read more

ProPrep 1.16.0

Choose a tag to compare

@Mag14011 Mag14011 released this 29 Aug 10:56

Added

  • Externally obtained parameters can be imported and used. The import wizard
    browses for the .frcmod, .lib/.off and optional .prep with the same
    file browser the rest of ProPrep uses, shows what each parameter category
    means and where it will be stored, and reads any atom types the frcmod
    declares so they reach tLEaP as addAtomTypes entries. Generated parameters
    cannot introduce new types, which is why the wizard never asked; imported
    ones can.

  • A transformer can be saved that only binds a force-field library, with no
    renaming. Renaming and parameter-binding are separate jobs: MCPB output needs
    both, while a cofactor already named as its library names it needs only the
    binding. There was no way to express the second, so an imported cofactor's
    library was unreachable. The library and its redox/spin state are chosen from
    lists of what exists rather than typed as a path.

  • Deposits record which force fields their parameters require, derived from the
    atom types in the files. The Topology Generator already enforced declared
    prerequisites, but almost nothing declared any.

  • Pure inorganic metal clusters can be given hydrogens before parameterization.
    Hydrogen addition covered protein and organic residues only, and reduce has
    no chemistry for a Mo-S-O or Fe-S core, so a cofactor whose resting state
    carries a hydroxo — Mo(=O)(=S)(OH) in a molybdenum cofactor — reached the QM
    model as a bare oxo with the wrong electron count and charge, and there was no
    way to correct it. Editing the Gaussian input by hand is not an alternative:
    it and the model PDB are matched by index, so an atom added to one shifts the
    Seminario force-constant indices and leaves the deposited residue template
    without the hydrogen its charges were fitted with. Offered for every cluster,
    defaulting to no.

  • The structure viewer focuses on a cluster while its hydrogen-addition prompt
    is on screen, and re-reads the file once a hydrogen is added so the new atom
    is visible. ViewerCoordinator.refresh_structure() re-serves the current
    path, which show_structure deliberately will not do — it treats a repeated
    path as a no-op, correct until the file is edited in place. It never starts a
    viewer or opens a tab.

  • A hydrogen added to an atom with only one bond is now placed at an angle to
    that bond, rotated to the least crowded side, instead of directly opposite it
    — a hydroxo, thiol or amine hydrogen is bent, never linear. The opening angle
    can be set at the prompt.

Changed

  • The cofactor prerequisites panel reports what the selected parameter sets
    declare instead of describing their chemistry. It asserted that every
    cofactor needs a protein force field and inferred GAFF2 from residue names,
    while explaining the requirement in terms of a ribitol tail and which bond
    would fail — none of which is knowable about an arbitrary parameter set.

  • MCPB step results are stored per site. A single shared record meant step_1
    belonged to whichever site ran last, which cross-wired one site's atom-type
    fingerprint and RESP charge constraint onto another.

  • The session editor table labels its status column Status instead of St.

  • The parameterization prompt selects sites, and each selected site goes to
    the parameterizer its own category implies. It no longer groups residues:
    that was for a modified amino acid covalently bound to a cofactor, which is
    now expressed by defining the pair as a site in the Redox Site Detector, so
    the combine/separate and category-conflict prompts are gone. A mixed
    selection is ordinary rather than a conflict.

  • Selecting metal sites now parameterizes those sites and no others. MCPB
    previously re-detected and parameterized every metal site in the structure
    regardless of the selection, so a structure with two equivalent Fe2S2
    clusters could not have one derived and the other served by the reuse
    transformer. Sites left out are named, with a note that every metal site
    needs parameters before the topology build will succeed.

Fixed

  • A Gaussian output that describes a different model than the input beside it
    is refused rather than fitted. Re-running the atom-typing step rebuilds the
    models but Gaussian is run by hand, so a leftover log gives the Hessian or
    ESP of a superseded model — and the result still looks like force constants
    or charges. Compared by content: atom count, elements, then coordinates.

  • A withheld metal cluster's own bonds get force constants. Fe-S inside an
    Fe2S2, Mo-S/Mo-O inside a Mo cofactor and the O-H of a hydroxo reached
    neither the coordination bond list nor the prmtop, so nothing derived a
    parameter for them and tLEaP reported one missing for each.

  • Metal covalent radii are used when perceiving a cluster's bonds. Molybdenum
    fell to a carbon-like default, so a Mo cofactor was deposited with two of its
    four bonds; Fe-S was passing only because it sat just under that accidental
    cutoff. Metal-metal pairs are excluded — a cluster's metals are bridged
    through their ligands.

  • An inferred hydrogen is typed for the atom it is bonded to. Amber names a
    hydrogen after its neighbour, so a metal-bound hydroxo proton typed H took
    the amide hydrogen's van der Waals radius where the hydroxyl convention HO
    is zero.

  • RESP scaffolding residues are constrained to their own charge rather than to
    zero. Keeping a real ARG as a gap bridge left its +1 nowhere to go but the
    neighbouring coordinating residues, one of which came out positive.

  • Charges are found for metal-site atoms again. The lookup is keyed by
    coordinate tuple, and BioPython's float32 does not compare equal to the
    float64 a resumed session restores, so every site atom summed as zero and a
    −2 site was proposed as 0.

  • Atom types are read from a library once. The section test also matched
    atomspertinfo, whose rows repeat every name, so an 84-atom residue was
    reported as 168.

  • A supplied library is matched on heavy atoms when the structure has no
    hydrogens, instead of demanding a hand-written mapping for a library that
    fits.

  • Caps stay in the chain when the PDB is reordered for tLEaP. Caps bracketing
    an unfilled internal gap were moved to opposite ends of the chain, leaving a
    70 Å peptide bond and the gap they had guarded open.

  • The PDB written back from a topology keeps the topology's atom names. They
    were translated to PDB v3 conventions, so a library using older names — O1P
    rather than OP1, say — built once and then failed against the file it had
    just produced.

  • Triage categories survive a resume. They lived only on the instance, so a
    resumed run found no organic residues, no clusters and no isolated metals,
    and ticked those steps off as complete.

  • Resuming a pending small-molecule or modified-amino-acid parameterization
    works; both dispatched to methods that were never written.

  • Force Field Integration names a deposited frcmod for its library entry rather
    than the working directory's site_N.

  • Implicit solvation for the large model is now asked for rather than
    inherited. The prompt sat entirely under an anion check, so an anionic large
    model silently adopted the small model's SCRF (announced only after the fact)
    while a neutral or cationic one dropped it with no message at all, leaving the
    two calculations at different levels of theory for no stated reason. It is now
    offered in every case, defaulting to yes whenever the small model was solvated,
    and declining says plainly that the models will differ.

  • The Merz-Kollman ESP radius is taken from MCPB.py's own vdwRadiiDict2023
    (Smith et al. JCTC 2023, 19, 2064) rather than from the force-field IOD
    parameters. They are different quantities — the MK value decides how close to
    the nucleus ESP grid points may fall, the IOD value is a Lennard-Jones term —
    and the IOD tables stop at tetravalent, so a Mo(VI) cofactor could not resolve
    one at all and fell back to a generic 1.5 A with no cited source. Force-field
    parameters are unchanged. tools/patch_readradii.py adds the block to
    large_resp.gjf files generated before this, so they need not be rebuilt.

  • Checklist state stores numbers as numbers. The serializer recognised only
    Python int/float, and a numpy scalar is neither — np.float32 fails
    isinstance(v, float) and has no __dict__ — so every coordinate read from
    BioPython was written as {"__type__": "str", "value": "-46.078"}. On resume,
    metal reinsertion then handed PDBIO a dict where it wanted a number and the
    step failed with "must be real number, not dict". numpy scalars now serialize
    as plain numbers, and MetalInfo.from_dict unwraps and coerces so a state
    file written before this still resumes.

  • Resuming a metal-site run from saved checklist state no longer fails at
    structure recombination with tLEaP error: 'site_id'. Checklist state stores
    objects wrapped as {"__type__", "value"} and uses the dataclass field names,
    while the exporters write a flat dict with three fields spelled differently
    (coordinates for coords, and so on). dict_to_redox_site, the documented
    normalizer for exactly this case, understood only the exported shape; it now
    accepts both.

  • A checklist step that reports a failure without raising is recorded as failed
    rather than completed. Structure recombination printed "tLEaP failed" and was
    ticked off, so the following step ran and died on the prepared structure it
    had never produced, hiding the real cause. Handlers signal this by returning
    success: False.

  • RESP is constrained to the charge its own ESP was computed with. Per-site
    results are restored from a single shared workspace key, so in a multi-site
    run the charge came from whichever site ran last: a -1 Fe2S2 model was fitted
    against a -3 constraint and RESP spread the missing two electrons over the
    site, reaching +5.6 on a metal. It does n...

Read more

ProPrep 1.15.0

Choose a tag to compare

@Mag14011 Mag14011 released this 02 Aug 22:38

Added

  • Modified amino acid parameterization gained a from-structure route (Route B):
    a structure analyzer, a redesigned ten-step workflow with an explicit
    conformer-selection step, consistent residue naming, and resume resilience
    at every step. Torsional sampling is shared with Route A, which now
    auto-generates its sidechain scan rather than requiring one to be specified.
  • Route B can optionally run a relaxed dihedral scan as a sampling mode and
    refit the scanned torsion with paramfit, so a rotatable bond that GAFF
    describes poorly can be corrected without leaving the workflow.
  • Conjugate naming checks the force-field library for an existing residue of
    the same name before writing, and offers to reuse it instead of silently
    producing a second definition.
  • The MD wizard offers the mdin keywords its own help text already referred
    to, adds baro_stochastic and ninterface, and completes four features
    that were previously only half-exposed. Coverage was swept against the full
    Amber manual by parameter index.
  • Batch replay checks up front that every run supplies each variable the
    template needs, and fails loudly on divergence rather than blocking on
    stdin. The summary now distinguishes runs that failed from runs never
    attempted, and writes a retry list naming the runs still owed.
  • The web shell tees each session to a plain-text transcript.
  • The structure viewer can measure dihedrals, supports per-representation
    opacity, and defaults to an orthographic camera.
  • The membrane builder offers solvate-only directly from the lipid menu.
  • Force-field preparation deposits finished parameters from every
    parameterizer's final step, so the deposited library no longer depends on
    which route produced the parameters.
  • An in-place updater, update_proprep_in_ambertools.sh, refreshes ProPrep
    inside an existing conda AmberTools environment without a full reinstall.
  • Workspace inventory gained compact --abbrev output that collapses
    duplicate labels.

Changed

  • The MD manager treats the restraint manager as authoritative for imported
    mdin files, so restraints defined on import are no longer overwritten by
    the file's own restraint block.
  • Heme transformers require their match criteria to be met exactly and clamp
    the bond credit awarded, so a partially matching site is no longer claimed
    by a transformer that does not fit it.
  • The Seminario refinement scope reads "by-analogy" rather than "flagged",
    which describes what the option actually does.
  • The membrane builder's "Advanced" geometry menu is now "Specialized
    Geometry".
  • Component-type display names in the PDB filter come from a single source,
    so the triage table and the filter menu can no longer disagree.
  • Checklist step numbers and section headings remain legible on light
    terminal backgrounds.
  • The viewer's measurement pick marker is a fixed radius rather than scaling
    with the structure.

Fixed

  • Heme HMO (ferric) and HMR (ferrous) parameter sets had lost the trans
    pyrrole N-Fe-N angles; both are restored.
  • The generated mdin carried an inverted comment for ntmin, and several MD
    wizard parameter descriptions were inaccurate. The help text was audited
    against the Amber manual across all 89 parameters and the advisory fields,
    which could not be kept correct, were dropped.
  • Force-field parameter analysis no longer crashes on string-valued
    *_structure keys.
  • Route B step 9 recovers the antechamber AC file on resume, and step 10
    reconstructs RedoxSite objects before syncing, so a resumed run no longer
    fails where a continuous one succeeds.
  • The protonation summary surfaces desolvation, and the viewer no longer
    renders a stale structure after an edit.
  • The installer no longer defaults past the orphan purge when run through
    curl | bash, self-heals on the update path, and forces a standalone
    ProPrep to win the ambertools-dac file clobber.
  • Workspace inventory covers aliased receivers, wrappers, and comments, and
    excludes legacy metallo files that cannot be imported.