Command-line interface

In addition to pyKVFinder package, a command-line interface (CLI) is available to ease cavity detection and characterization with the full set of customizable parameters.

$ pyKVFinder
Usage: pyKVFinder [-h] [-v] [--version] [-b <str>] [-O <str>]
                  [--nthreads <int>] [-d <str>] [-s <float>] [-i <float>]
                  [-o <float>] [-V <float>] [-R <float>] [-S <str>]
                  [--ignore_backbone] [-D] [--plot_frequencies]
                  [--hydropathy [{EisenbergWeiss, HessaHeijne, KyteDoolittle,
                  MoonFleming, RadzickaWolfenden, WimleyWhite, ZhaoLondon, <.toml>}]]
                  [-B <.toml>] [-L (<.pdb> | <.xyz>)] [--ligand_cutoff <float>]
                  (<.pdb> | <.xyz>)

Positional arguments

The positional arguments are:

  • (<.pdb> | <.xyz>): A path to a target PDB or XYZ file.

    $ pyKVFinder (<.pdb> | <.xyz>)
    

Optional arguments

The optional arguments are:

  • -h or --help: Show help message.

    $ pyKVFinder -h
    $ pyKVFinder --help
    
  • --version: Display pyKVFinder version.

    $ pyKVFinder --version
    
  • -v or --verbose: Print extra information to standard output.

    $ pyKVFinder (<.pdb> | <.xyz>) --verbose
    
    Default:

    False

  • -b <str> or --base_name <str>: A prefix for output files.

    $ pyKVFinder (<.pdb> | <.xyz>) -b <str>
    $ pyKVFinder (<.pdb> | <.xyz>) --base_name <str>
    
    Default:

    Prefix of target PDB or XYZ file (<.pdb> | <.xyz>)

  • -O <str> or --output_directory <str>: A path to a directory for output files.

    $ pyKVFinder (<.pdb> | <.xyz>) -O <str>
    $ pyKVFinder (<.pdb> | <.xyz>) --output_directory <str>
    
    Default:

    Current working directory

  • --nthreads <int>: Number of threads to apply in parallel routines.

    $ pyKVFinder (<.pdb> | <.xyz>) --nthreads <int>
    
    Default:

    os.cpu_count() - 1

Cavity detection

The arguments for adjusting biomolecular detection are:

  • -d <str> or --dictionary <str>: A path to a van der Waals radii file (see template).

    $ pyKVFinder (<.pdb> | <.xyz>) -d <str>
    $ pyKVFinder (<.pdb> | <.xyz>) --dictionary <str>
    
    Default:

    vdw.dat

  • -s <float> or --step <float>: Grid spacing (A).

    $ pyKVFinder (<.pdb> | <.xyz>) -s <float>
    $ pyKVFinder (<.pdb> | <.xyz>) --step <float>
    
    Default:

    0.6

  • -i <float> or --probe_in <float>: Probe In size (A).

    $ pyKVFinder (<.pdb> | <.xyz>) -i <float>
    $ pyKVFinder (<.pdb> | <.xyz>) --probe_in <float>
    
    Default:

    1.4

  • -o <float> or --probe_out <float>: Probe Out size (A).

    $ pyKVFinder (<.pdb> | <.xyz>) -o <float>
    $ pyKVFinder (<.pdb> | <.xyz>) --probe_out <float>
    
    Default:

    4.0

  • -V <float> or --volume_cutoff <float>: Cavities volume filter (A3).

    $ pyKVFinder (<.pdb> | <.xyz>) -V <float>
    $ pyKVFinder (<.pdb> | <.xyz>) --volume_cutoff <float>
    
    Default:

    5.0

  • -R <float> or --removal_distance <float>: Length to be removed from the cavity-bulk frontier (A).

    $ pyKVFinder (<.pdb> | <.xyz>) -R <float>
    $ pyKVFinder (<.pdb> | <.xyz>) --removal_distance <float>
    
    Default:

    2.4

  • -S <str> or --surface <str>: A surface representation. Options are: SES and SAS. SES specifies solvent excluded surface and SAS specifies solvent accessible surface.

    $ pyKVFinder (<.pdb> | <.xyz>) -S <str>
    $ pyKVFinder (<.pdb> | <.xyz>) --surface <str>
    
    Default:

    SES

  • --ignore_backbone: Ignore backbone contacts to cavity when defining interface residues.

    $ pyKVFinder (<.pdb> | <.xyz>) --ignore_backbone
    
    Default:

    None

Additional characterization

The parameters for additional characterization are:

  • --D or --depth: Characterize the depth of the detected cavities. This mode includes depth of each cavity point as the B-factor in the cavity PDB file and maximum and average depth of the detected cavities in the results file.

    $ pyKVFinder (<.pdb> | <.xyz>) -D
    $ pyKVFinder (<.pdb> | <.xyz>) --depth
    
    Default:

    None

  • --plot_frequencies: Plot bar charts of calculated frequencies (residues and classes of residues) of the detected cavities in a PDF file. The classes of residues are aliphatic apolar (R1), aromatic (R2), polar uncharged (R3), negatively charged (R4), positively charged (R5) and non-standard (RX) residues.

    $ pyKVFinder (<.pdb> | <.xyz>) --plot_frequencies
    
    Default:

    None

  • --hydropathy [{EisenbergWeiss, HessaHeijne, KyteDoolittle, MoonFleming, WimleyWhite, ZhaoLondon, <.toml>}]: Characterize the hydropathy of the detected cavities. This mode maps a target hydrophobicity scale as B-factor at surface points of the detected cavities. Also, it calculates the average hydropathy of each detected cavity. The constant hydrophobicity scale is EisenbergWeiss.

    $ pyKVFinder (<.pdb> | <.xyz>) --hydropathy
    

    In addition, the user can define one of the built-in hydrophobicity scale. The built-in hydrophobicity scales are: EisenbergWeiss, HessaHeijne, KyteDoolittle, MoonFleming, RadzickaWolfenden, WimleyWhite and ZhaoLondon.

    $ pyKVFinder (<.pdb> | <.xyz>) --hydropathy EisenbergWeiss
    $ pyKVFinder (<.pdb> | <.xyz>) --hydropathy HessaHeijne
    $ pyKVFinder (<.pdb> | <.xyz>) --hydropathy KyteDoolittle
    $ pyKVFinder (<.pdb> | <.xyz>) --hydropathy MoonFleming
    $ pyKVFinder (<.pdb> | <.xyz>) --hydropathy RadzickaWolfenden
    $ pyKVFinder (<.pdb> | <.xyz>) --hydropathy WimleyWhite
    $ pyKVFinder (<.pdb> | <.xyz>) --hydropathy ZhaoLondon
    

    Further, the user can also define a custom hydrophobicity scale file via a TOML-formatted file (see template).

    $ pyKVFinder (<.pdb> | <.xyz>) --hydropathy <.toml>
    
    Default:

    None

    Constant:

    EisenbergWeiss

Box adjusment

The box adjustment argument is:

  • -B <.toml> or --box <.toml>: A path to TOML-formatted file with box parameters (see template). Adjust the 3D grid based on a list of residues ([“resnum”, “chain”]) and a padding or a set of four vertices (p1: origin, p2: X-axis max, p3: Y-axis max, p4: Z-axis max) with xyz coordinates ([x, y, z]).

    $ pyKVFinder (<.pdb> | <.xyz>) -B <.toml>
    $ pyKVFinder (<.pdb> | <.xyz>) --box <.toml>
    
    Default:

    None

Ligand adjustment

The ligand adjustment arguments are:

  • -L (<.pdb> | <.xyz>) or --ligand (<.pdb> | <.xyz>): A path to a ligand PDB or XYZ file to limit the cavities within a radius (ligand_cutoff) around it.

    $ pyKVFinder (<.pdb> | <.xyz>) -L (<.pdb> | <.xyz>)
    $ pyKVFinder (<.pdb> | <.xyz>) --ligand (<.pdb> | <.xyz>)
    
    Default:

    None

  • --ligand_cutoff <float>: A radius value to limit a space around the defined ligand.

    $ pyKVFinder (<.pdb> | <.xyz>) -L (<.pdb> | <.xyz>) --ligand_cutoff <float>
    
    Default:

    5.0