main
Perform functions related to _main_ execution of PDB2PQR.
This module is intended for functions that directly touch arguments provided at the invocation of PDB2PQR. It was created to avoid cluttering the __init__.py file.
Code author: Nathan Baker (et al.)
- pdb2pqr.main.build_main_parser()[source]
Build an argument parser.
Todo
Need separate argparse groups for PDB2PKA and PROPKA. These exist but need real options.
- Returns:
argument parser
- Return type:
- pdb2pqr.main.check_files(args)[source]
Check for other necessary files.
- Parameters:
args (argparse.Namespace) – command-line arguments
- Raises:
FileNotFoundError – necessary files not found
RuntimeError – input argument or file parsing problems
- pdb2pqr.main.check_options(args)[source]
Sanity check options.
- Parameters:
args (argparse.Namespace) – command-line arguments
- Raises:
RuntimeError – silly option combinations were encountered.
- pdb2pqr.main.drop_water(pdblist)[source]
Drop waters from a list of PDB records.
Todo
this module is already too long but this function fits better here. Other possible place would be utilities.
- pdb2pqr.main.dx_to_cube()[source]
Convert DX file format to Cube file format.
The OpenDX file format is defined at <https://www.idvbook.com/wp-content/uploads/2010/12/opendx.pdf` and the Cube file format is defined at <https://docs.chemaxon.com/display/Gaussian_Cube_format.html>.
Todo
This function should be moved into the APBS code base.
- pdb2pqr.main.is_repairable(biomolecule, has_ligand)[source]
Determine if the biomolecule can be (or needs to be) repaired.
- Parameters:
biomolecule (biomol.Biomolecule) – biomolecule object
has_ligand (bool) – does the system contain a ligand?
- Returns:
indication of whether biomolecule can be repaired
- Return type:
- Raises:
ValueError – if there are insufficient heavy atoms or a significant part of the biomolecule is missing
- pdb2pqr.main.main_driver(args)[source]
Main driver for running program from the command line.
Validate inputs, launch PDB2PQR, handle output.
- Parameters:
args (argparse.Namespace) – command-line arguments
- pdb2pqr.main.non_trivial(args, biomolecule, ligand, definition, is_cif)[source]
Perform a non-trivial PDB2PQR run.
Todo
These routines should be generalized to biomolecules; none of them are specific to biomolecules.
- Parameters:
args (argparse.Namespace) – command-line arguments
biomolecule (Biomolecule) – biomolecule
ligand (Mol2Molecule) – ligand object or None
definition (Definition) – topology definition
is_cif (bool) – indicates whether file is CIF format
- Raises:
ValueError – for missing atoms that prevent debumping
- Returns:
dictionary with results
- Return type:
- pdb2pqr.main.print_pdb(args, pdb_lines, header_lines, missing_lines, is_cif)[source]
Print PDB-format output to specified file
Todo
Move this to another module (io)
- Parameters:
args (argparse.Namespace) – command-line arguments
pdb_lines ([str]]) – output lines (records)
header_lines ([str]) – header lines
missing_lines ([str]) – lines describing missing atoms (should go in header)
is_cif (bool) – flag indicating CIF format
- pdb2pqr.main.print_pqr(args, pqr_lines, header_lines, missing_lines, is_cif)[source]
Print PQR-format output to specified file
Todo
Move this to another module (io)
- Parameters:
args (argparse.Namespace) – command-line arguments
pqr_lines ([str]) – output lines (records)
header_lines ([str]) – header lines
missing_lines ([str]) – lines describing missing atoms (should go in header)
is_cif (bool) – flag indicating CIF format
- pdb2pqr.main.print_splash_screen(args)[source]
Print argument overview and citation information.
- Parameters:
args (argparse.Namespace) – command-line arguments
- pdb2pqr.main.run_propka(args, biomolecule)[source]
Run a PROPKA calculation.
- Parameters:
args (argparse.Namespace) – command-line arguments
biomolecule (Biomolecule) – biomolecule object
- Returns:
(DataFrame-convertible table of assigned pKa values, pKa information from PROPKA)
- Return type:
- pdb2pqr.main.setup_molecule(pdblist, definition, ligand_path)[source]
Set up the molecular system.
- Parameters:
pdblist (list) – list of PDB records
definition (Definition) – topology definition
ligand_path (str) – path to ligand (may be None)
- Returns:
(biomolecule object, definition object–revised if ligand was parsed, ligand object–may be None)
- Return type:
(Biomolecule, Definition, Ligand)
- pdb2pqr.main.transform_arguments(args)[source]
Transform arguments with logic not provided by argparse.
Todo
I wish this could be done with argparse.
- Parameters:
args (argparse.Namespace) – command-line arguments
- Returns:
modified arguments
- Return type: