All published workflows

Published workflow · Temple Compute

BioExcel MD Setup - Protein-Ligand Complex (3HTB + JZ4)

W-09 · GROMACS Protein-Ligand Complex MD Setup

v135 stages0 clones0

The pipeline

Every stage picks its own compute target. Temple Compute OS resolves the dependencies between them and moves the data across each boundary.

  1. 01Download 3HTB structure from PDB
    Consumes
    fetch_pdb_config, src_conda_env_yaml
    Produces
    downloaded_pdb
  2. 02Extract JZ4 ligand from PDB
    Consumes
    extract_heteroatoms_config, downloaded_pdb, src_conda_env_yaml
    Produces
    ligand_pdb
  3. 03Extract protein chain from PDB
    Consumes
    downloaded_pdb, src_conda_env_yaml
    Produces
    protein_pdb
  4. 04Model missing side-chain atoms
    Consumes
    protein_pdb, src_conda_env_yaml
    Produces
    fixed_pdb
  5. 05Build GROMACS protein topology (amber99sb-ildn, SPC/E)
    Consumes
    pdb2gmx_config, fixed_pdb, src_conda_env_yaml
    Produces
    pdb2gmx_gro, pdb2gmx_top
  6. 06Add hydrogen atoms to ligand (Reduce)
    Consumes
    reduce_add_hydrogens_config, ligand_pdb, src_conda_env_yaml
    Produces
    ligand_reduce_H_pdb
  7. 07Energetically minimize ligand with hydrogens (OpenBabel GAFF)
    Consumes
    babel_minimize_config, ligand_reduce_H_pdb, src_conda_env_yaml
    Produces
    ligand_H_min_mol2
  8. 08Generate ligand GROMACS topology (ACPype / amberGAFF)
    Consumes
    acpype_params_gmx_config, ligand_H_min_mol2, src_conda_env_yaml
    Produces
    ligand_params_gro, ligand_params_itp, ligand_params_top
  9. 09Create index file for ligand heavy atoms
    Consumes
    make_ndx_ligand_config, ligand_params_gro, src_conda_env_yaml
    Produces
    ligand_index_ndx
  10. 10Generate ligand position restraints (1000 kJ/mol·nm²)
    Consumes
    genrestr_config, ligand_params_gro, ligand_index_ndx, src_conda_env_yaml
    Produces
    ligand_posres_itp
  11. 11Convert protein GRO to PDB (with hydrogens)
    Consumes
    trjconv_system_config, pdb2gmx_gro, src_conda_env_yaml
    Produces
    protein_H_pdb
  12. 12Convert ligand GRO to PDB (with hydrogens)
    Consumes
    trjconv_system_config, ligand_params_gro, src_conda_env_yaml
    Produces
    ligand_H_pdb
  13. 13Concatenate protein and ligand into complex structure
    Consumes
    protein_H_pdb, ligand_H_pdb, src_conda_env_yaml
    Produces
    complex_H_pdb
  14. 14Append ligand topology to protein topology
    Consumes
    append_ligand_config, pdb2gmx_top, ligand_posres_itp, ligand_params_itp, src_conda_env_yaml
    Produces
    complex_top
  15. 15Define truncated octahedron solvent box (0.8 nm)
    Consumes
    editconf_config, complex_H_pdb, src_conda_env_yaml
    Produces
    boxed_gro
  16. 16Fill box with SPC water molecules
    Consumes
    boxed_gro, complex_top, src_conda_env_yaml
    Produces
    solvated_gro, solvated_top
  17. 17Compile ion run file (grompp)
    Consumes
    grompp_ions_config, solvated_gro, solvated_top, src_conda_env_yaml
    Produces
    ions_tpr
  18. 18Add neutralizing ions
    Consumes
    genion_config, ions_tpr, solvated_top, src_conda_env_yaml
    Produces
    ionized_gro, ionized_top
  19. 19Compile energy minimization run file (grompp)
    Consumes
    grompp_minimize_config, ionized_gro, ionized_top, src_conda_env_yaml
    Produces
    min_tpr
  20. 20Energy minimization (steepest descent, max 500 kJ/mol·nm)
    Consumes
    min_tpr, src_conda_env_yaml
    Produces
    minimized_gro, min_edr
  21. 21Extract potential energy from minimization
    Consumes
    gmx_energy_min_config, min_edr, src_conda_env_yaml
    Produces
    min_energy_xvg
  22. 22Create index file for protein-ligand complex group
    Consumes
    make_ndx_complex_config, minimized_gro, src_conda_env_yaml
    Produces
    complex_index_ndx
  23. 23Compile NVT equilibration run file (grompp)
    Consumes
    grompp_nvt_config, minimized_gro, ionized_top, complex_index_ndx, src_conda_env_yaml
    Produces
    nvt_tpr
  24. 24NVT equilibration (restrained, Protein_Other + Water_and_ions coupling)
    Consumes
    nvt_tpr, src_conda_env_yaml
    Produces
    nvt_gro, nvt_cpt, nvt_edr
  25. 25Extract system temperature during NVT equilibration
    Consumes
    gmx_energy_nvt_config, nvt_edr, src_conda_env_yaml
    Produces
    nvt_temp_xvg
  26. 26Compile NPT equilibration run file (grompp)
    Consumes
    grompp_npt_config, nvt_gro, nvt_cpt, ionized_top, complex_index_ndx, src_conda_env_yaml
    Produces
    npt_tpr
  27. 27NPT equilibration (restrained, pressure coupling enabled)
    Consumes
    npt_tpr, src_conda_env_yaml
    Produces
    npt_gro, npt_cpt, npt_edr
  28. 28Extract pressure and density during NPT equilibration
    Consumes
    gmx_energy_npt_config, npt_edr, src_conda_env_yaml
    Produces
    npt_PD_xvg
  29. 29Compile free MD run file (grompp)
    Consumes
    grompp_free_config, npt_gro, npt_cpt, ionized_top, src_conda_env_yaml
    Produces
    md_tpr
  30. 30Free MD simulation (50 ps, unrestrained)
    Consumes
    md_tpr, src_conda_env_yaml
    Produces
    md_gro, md_trr
  31. 31RMSd vs minimized/equilibrated structure (backbone)
    Consumes
    gmx_rms_config, md_tpr, md_trr, src_conda_env_yaml
    Produces
    rms_first_xvg
  32. 32RMSd vs experimental structure (backbone)
    Consumes
    gmx_rms_config, min_tpr, md_trr, src_conda_env_yaml
    Produces
    rms_exp_xvg
  33. 33Radius of gyration during free MD (backbone)
    Consumes
    gmx_rgyr_config, min_tpr, md_trr, src_conda_env_yaml
    Produces
    rgyr_xvg
  34. 34Center complex and strip solvent from trajectory
    Consumes
    gmx_image_config, md_trr, md_tpr, complex_index_ndx, src_conda_env_yaml
    Produces
    imaged_trr
  35. 35Extract dry protein-ligand structure (remove solvent)
    Consumes
    dry_trjconv_config, md_gro, md_tpr, complex_index_ndx, src_conda_env_yaml
    Produces
    dry_gro

Run this workflow

This release is frozen and self-contained: the pipeline definition, its input files, and its plugin environment. Open it in Temple Compute OS to clone it into your own account and run it on HPC or any cloud. Temple Compute OS is in private beta, so you will need an invitation first.