schrodinger.application.desmond.move_alchem_ions module

This script is intended as a component of the BuildGeometry stage from desmond’s stage.py. The system_builder executable inserts extra ions based on the charge difference between two FEP ligands, and this script moves those ions from the ion structures to the correct ligand structure and sets the appropriate properties such that the ions will be alchemically mutated along with the ligands.

Copyright Schrodinger, LLC. All rights reserved.

schrodinger.application.desmond.move_alchem_ions.move_ions_in_file(input_fname, output_fname, map_to_neutral_atom=True, use_alchemical_water=True, print_fcn=<function <lambda>>)

Reads the structures in the input file, moves the alchemical ions to the base fep ligand block, and writes the new structures to an output file. Read the structures in the input file, move the alchemical ions to the base fep ligand block, and write the new structures to an output file.

Parameters
  • input_fname (str) – the filename of the input file

  • output_fname (str) – the filename of the output file

  • map_to_neutral_atom (bool) – see move_alchemical_ions for info

  • use_alchemical_water (bool) – see move_alchemical_ions for info

  • print_fcn (callable) – function for printing passed to move_alchemical_ions

schrodinger.application.desmond.move_alchem_ions.move_alchemical_ions(all_sts, map_to_neutral_atom=True, use_alchemical_water=True, print_fcn=<function <lambda>>)

Given a list of sts, find the base and mutant ligand and the ion st, and move the final ions from the ion block to the base ligand such that the net charge of the ligands are equal. (This allows us to use system_builder to place the ions in solution, and then set up the fep-mapping here). Right now this assumes the necessary number of alchemical ions have been added to the end of the ion block, otherwise it will fail.

Parameters
  • all_sts (list of structure.Structure) – a list of sts, which should contain a base and mutant ligand and an ion st.

  • map_to_neutral_atom (bool) – If True, the alchemical ions added to the mutant ligand are mapped to a neutral but otherwise equivalent atom in the reference ligand. If False (default), they are mapped to dummy atoms.

  • use_alchemical_water (bool) – if True, the solvent block is searched for tagged water molecules which are moved to the reference ligand. The oxygen molecules are mapped to ions in the mutant ligand, and the hydrogens are mapped to dummy atoms.

  • print_fcn (callable) – function for printing

Returns

The input list with its structures updated such that alchemical ions are moved to the base ligand st.

schrodinger.application.desmond.move_alchem_ions.move_ions_to_ligands(all_sts, extracted_ions, extracted_ions_mut, ligand_0, ligand_1, map_to_neutral_atom, trans_vectors, use_alchemical_water)
schrodinger.application.desmond.move_alchem_ions.prepare_ions(extracted_ions, other_total, trans_vectors, is_mutant, map_to_neutral_atom, use_alchemical_water, map_to_every_nth=1)