ProLIF (Protein-Ligand Interaction Fingerprints)

repository·master·Indexed 19 days ago

https://github.com/chemosim-lab/prolif

A specialized tool for generating interaction fingerprints from molecular complexes (protein, ligand, DNA, or RNA) derived from MD trajectories, docking, or experimental data. ProLIF allows users to load structures via MDAnalysis or RDKit, define custom interaction classes, and analyze results using Pandas DataFrames. It includes built-in visualization tools for 2D barcode plots, 2D ligand networks, and 3D interaction comparisons.

Tokens
24.1K
Snippets
82
Records
104
Agent score
67%

What's inside ProLIF

  1. Overview of ProLIF

    master

    ProLIF (Protein-Ligand Interaction Fingerprints) is a tool used to generate interaction fingerprints for molecular complexes. It supports complexes consisting of ligands, proteins, DNA, or RNA molecules. These complexes can be extracted from various sources, including:

    • Molecular dynamics trajectories
    • Docking simulations
    • Experimental structures
  2. Explore ProLIF tutorials by scenario

    master

    ProLIF provides specialized tutorials for various molecular modeling scenarios:

    Molecular Dynamics (MD)

    • Ligand-protein MD: For analyzing interactions between a protein and a ligand during MD simulations.
    • Protein-protein MD: For analyzing interactions between two proteins during MD simulations.

    Docking

    • Docking: Follow this tutorial for analyzing the docking of a ligand within a protein binding site.

    Structural Analysis

    • PDB file: Learn how to use ProLIF directly from a single PDB file.
    • Water-bridge Interactions: For investigating water-mediated interactions.
    • Implicit hydrogen bond interaction: Use this method if your topology lacks hydrogen atoms to quickly compare experimental structures with computational results.

    Advanced Customization

    • Advanced usage: For modifying interaction parameters, defining custom interactions, or ignoring backbone interactions.
  3. Understand interaction fingerprints in ProLIF

    master
    An interaction fingerprint is a binary vector that decomposes the interactions between two molecules. ProLIF detects these interactions by matching predefined molecular patterns (using SMARTS queries) against specific geometrical constraints such as distance, angle, and dihedral angles.
  4. Prepare protein-protein MD simulations with MDAnalysis

    master

    ProLIF uses MDAnalysis to process MD simulations. You typically load a Universe object containing your topology and trajectory, then define AtomGroup selections for your interacting components (e.g., two protein segments or a peptide and a protein).

    Important: If your input files (like PDBs) lack explicit bond orders or formal charges, you must call .guess_bonds() on your MDAnalysis selections to ensure compatibility with ProLIF/RDKit.

    import MDAnalysis as mda
    import prolif as plf
    
    # Load topology and trajectory
    u = mda.Universe(plf.datafiles.TOP, plf.datafiles.TRAJ)
    
    # Create selections
    small_protein_selection = u.select_atoms("resid 119:152")
    large_protein_selection = u.select_atoms(
        "protein and not group peptide", peptide=small_protein_selection
    )
    
    # Crucial for files without bond information
    small_protein_selection.guess_bonds()
    large_protein_selection.guess_bonds()
  5. Cite ProLIF in research

    master

    If you use ProLIF in your research, please cite the primary paper. You can also cite the specific DOI for the release version you used by visiting the ProLIF Zenodo page.

    Bouysset, C., Fiorucci, S. ProLIF: a library to encode molecular interactions as fingerprints.
    J Cheminform 13, 72 (2021). https://doi.org/10.1186/s13321-021-00548-6
  6. Install ProLIF using Conda

    master

    The recommended installation method for ProLIF is via conda. It is advised to create a separate virtual environment to avoid dependency conflicts.

    # create a separate virtual environment
    conda create -n prolif
    # activate it
    conda activate prolif
    
    # install the library
    conda install -c conda-forge prolif
  7. Access ProLIF tutorial data files

    master

    ProLIF provides built-in access to tutorial files (topology, trajectories, and other assets) via the prolif.datafiles module.

    • Use prolif.datafiles.TOP to access the topology (PDB file).
    • Use prolif.datafiles.TRAJ to access the trajectory (XTC file).
    • Use prolif.datafiles.datapath to get a pathlib.Path object pointing to the directory containing all tutorial files.

    Note: When working on your own projects, replace prolif.datafiles with the actual file paths to your input data.

    from prolif.datafiles import TOP, TRAJ, datapath
    # datapath is a pathlib.Path object
    print(datapath)
  8. Prepare protein and ligand files for implicit hydrogen bond analysis

    master

    When performing implicit hydrogen bond analysis using the datasets provided in prolif/data/implicitHbond/, ensure your protein and ligand files are prepared correctly to avoid recognition errors:

    1. Protein Preparation:

      • For specific protonated states, you may need to manually modify the residue names (e.g., replacing HIS with HSD).
      • If using protonated proteins prepared with PypKa, be aware that some atoms might be positioned too closely for correct bond recognition. Manual adjustment of atom positions may be required.
      • The provided receptor_ph7_amber.pdb is a reference for a prepared receptor.
    2. Ligand Preparation:

      • Ligands should be prepared in their protonated state (e.g., using PyMOL).
      • The provided ligand_files/1.D_protonated.sdf is a reference for a prepared ligand.

    Reference Files in this directory:

    • Receptor: receptor.pdb, receptor_hsd.pdb, receptor_ph7_amber.pdb
    • Ligand: ligand_files/1.D.sdf, ligand_files/1.D_protonated.sdf