schrodinger.application.desmond.fep_mapping module

schrodinger.application.desmond.fep_mapping.cleanup(topdir=None)

Cleanup function to be run atexit

class schrodinger.application.desmond.fep_mapping.AtomMappingData(source_ct, dest_ct)

Bases: object

Class to store intermediary and final data structures for atom mapping

addAttachmentPoint(attachment_point)

Adding attachment point. :type attachment_point: two-element tuple. :param attachment_point:

getAttachmentPoints()
getBridgeAtoms()
getAnchorAtoms()
extendCoreAtoms(core_atoms)

Adding core atoms.

Note that, adding new core atoms can resulting smaller attached fragments

getCoreAtoms()
schrodinger.application.desmond.fep_mapping.map_core_hydrogen(source_ct, dest_ct, core_map, s_remaining_indices, d_remaining_indices)

Mapping hydrogen atoms connected to the core. The number of hydrogen atoms connected to the corresponding atoms should be equal except the core atoms which have attachment.

schrodinger.application.desmond.fep_mapping.find_fragment_by_cond(bridge_atom, cond)
schrodinger.application.desmond.fep_mapping.find_noncore_fragment(bridge_atom, core_atom_indices)

Finding non-core fragment from bridged :type bridge_atom: _StructureAtom :param bridge_atom: atom bonded to the attachment core atom. :type core_atoms: set of int :param core_atoms: a set of core atom indices. :return a list of atoms.

schrodinger.application.desmond.fep_mapping.find_noncore_subfragment(bridge_atom, core_atom_indices, frag_atom_indices)

Finding non-core fragment from bridged :type bridge_atom: _StructureAtom :param bridge_atom: atom bonded to the attachment core atom. :type core_atom_indices: set of int :param core_atom_indices: a set of core atom indices. :return a list of atoms.

schrodinger.application.desmond.fep_mapping.find_all_fragment_pairs(source_ct, dest_ct, attachment_points, core_atom_indices)
schrodinger.application.desmond.fep_mapping.get_atom_mapping(data)

mapping atoms based on the result from RGA :type data: AtomMappingData :param data: intermediary and finals data structures from RGA

schrodinger.application.desmond.fep_mapping.get_fepio_atom_mapping(atom_mapping)

converting to atom mapping format required by mmfepio library. Below is an example: 1 1 2 2 3 -1 4 -1 5 3 -6 4 -7 5

schrodinger.application.desmond.fep_mapping.fragment_size_cond(frag1, frag2, threshold=10)
schrodinger.application.desmond.fep_mapping.heavy_atom_num_cond(frag1, frag2, threshold=7)
schrodinger.application.desmond.fep_mapping.get_heavy_fragment(frag)
schrodinger.application.desmond.fep_mapping.find_fragment_MCS(data, cond=<function heavy_atom_num_cond>, atomtype=11)

Finding MCS in fragment if the fragment pair satisfied specified conditions. @FIXME: need to convert it to a recursive algorithm

schrodinger.application.desmond.fep_mapping.convert_rga_data(rga_data, input_file)

Converting RGA internal data to AtomMappingData object :type rga_data: r_group_analysis.Data :param rga_data: :type input_file: string :param input_file: input file

schrodinger.application.desmond.fep_mapping.convert_data(source_ct, dest_ct, source_core_atoms, dest_core_atoms, source_attachments, dest_attachments)

source_ct: dest_ct: source_core_atoms: list of source core atoms dest_core_atoms: list of dest core atoms source_attachments: list of source attachment points dest_attachments: list of dest attachment points

schrodinger.application.desmond.fep_mapping.get_atom_mapping_data(input_file, atomtype=11)
schrodinger.application.desmond.fep_mapping.run_rga(input_file, atomtype=11)
schrodinger.application.desmond.fep_mapping.unique_list(seq, idfun=None)

A fast function to remove duplicate element from sequence by preserving the order at the same time.

schrodinger.application.desmond.fep_mapping.get_atom_marking(data, output_file)
schrodinger.application.desmond.fep_mapping.get_bridge_atoms(data)
schrodinger.application.desmond.fep_mapping.check_mapping(data, n1, n2)
schrodinger.application.desmond.fep_mapping.reorder_st(st, index_map)
Parameters:
  • ct (Structure) – Structure object
  • index_map (list of tuple) – index mapping between old and new index [(new_index, old_index), …]
schrodinger.application.desmond.fep_mapping.is_ring_open_or_closed(s_frag_indices, d_frag_indices, s2d_bridge_atom, d2s_bridge_atom)
schrodinger.application.desmond.fep_mapping.write_fepsubst_to_file(data, filename, overwrite=True)
schrodinger.application.desmond.fep_mapping.reorder_atoms(data, source_ct, dest_ct)
schrodinger.application.desmond.fep_mapping.check1_subst_code(source_ct, dest_ct)

take input cts and check single ring-atom/attachment subst_code, return true if pass

schrodinger.application.desmond.fep_mapping.random_shuffle(data, atomtype)

generate atommap with random shuffled atom order, return atommaps in original order

schrodinger.application.desmond.fep_mapping.get_subst_from_mapping(mol0, mol1)

Given two CTs: ct0 and ct1, with i_fep_mapping atom properties properly set for all atoms of ct1, sets the i_fep_subst atom properties for both CTs.