def add_n_terminal_hydrogens_to_residue_group(
    residue_group,
    bonds=None,
    use_capping_hydrogens=False,
    append_to_end_of_model=False,
):
    rc = []
    for atom_group, atoms in generate_atom_group_atom_names(residue_group,
                                                            ['N', 'CA', 'C'],
                                                            verbose=False):
        if None not in [atom_group, atoms]:
            #  for ag, (n, ca, c) in generate_atom_group_atom_names(residue_group,
            #                                                       ['N', 'CA', 'C'],
            #                                                       ):
            tmp = add_n_terminal_hydrogens_to_atom_group(
                atom_group,
                bonds=bonds,
                use_capping_hydrogens=use_capping_hydrogens,
                append_to_end_of_model=append_to_end_of_model,
                n_ca_c=atoms,
            )
            assert type(tmp) != type(''), 'not string "%s" %s' % (tmp,
                                                                  type(tmp))
            rc += tmp
    return rc
Beispiel #2
0
def add_main_chain_atoms_to_protein_three(three):
    for ag, (c, ca, n, o) in generate_atom_group_atom_names(
            three[1],
        ['C', 'CA', 'N', 'O'],
            return_Nones=True,
    ):
        if o is None:
            add_main_chain_o_to_atom_group(
                ag,
                c_ca_n=[c, ca, n],
            )

    assert 0
Beispiel #3
0
def add_main_chain_atoms_to_residue_group(residue_group):
    # I think this needs a three
    assert 0
    for ag, (c, ca, n, o) in generate_atom_group_atom_names(
            residue_group,
        ['C', 'CA', 'N', 'O'],
            return_Nones=True,
    ):
        if o is None:
            add_main_chain_o_to_atom_group(
                ag,
                c_ca_n=[c, ca, n],
            )
Beispiel #4
0
def add_main_chain_atoms_to_residue_group(residue_group):
    # I think this needs a three
    assert 0
    for ag, (c, ca, n, o) in generate_atom_group_atom_names(
            residue_group,
        ['C', 'CA', 'N', 'O'],
            return_Nones=True,
    ):
        # print ag.id_str()
        # try: print c.quote(),ca.quote(),n.quote(),o.quote()
        # except: print c,ca,n,o
        if o is None:
            add_main_chain_o_to_atom_group(
                ag,
                c_ca_n=[c, ca, n],
            )
Beispiel #5
0
def add_c_terminal_oxygens_to_residue_group(
    residue_group,
    bonds=None,
    use_capping_hydrogens=False,
    append_to_end_of_model=False,
):
    rc = []
    for ag, (c, ca, n) in generate_atom_group_atom_names(
            residue_group,
        ['C', 'CA', 'N'],
    ):
        tmp = add_c_terminal_oxygens_to_atom_group(
            ag,
            bonds=bonds,
            use_capping_hydrogens=use_capping_hydrogens,
            append_to_end_of_model=append_to_end_of_model,
            c_ca_n=[c, ca, n],
        )
        rc += tmp
    return rc
def add_side_chain_acid_hydrogens_to_residue_group(
    residue_group,
    configuration_index=0,
    element='H',
):
    """Adds hydrogen atoms to side-chain acid.

  Args:
      residue_group (TYPE): Specific residue group
  """
    def _get_atom_names(residue_group):
        assert len(residue_group.atom_groups()) == 1
        atom_group = residue_group.atom_groups()[0]
        lookup = {
            'ASP': ['CG', 'OD1', 'OD2'],
            'GLU': ['CD', 'OE1', 'OE2'],
        }
        return lookup.get(atom_group.resname, [])

    #
    if element == 'H': bond_length = 0.95
    elif element == 'D': bond_length = 1.00
    else: assert 0
    atoms = _get_atom_names(residue_group)
    for atom_group, atoms in generate_atom_group_atom_names(
            residue_group,
            atoms,
    ):
        if atom_group is None: continue
        tmp = add_side_chain_acid_hydrogens_to_atom_group(
            atom_group,
            # append_to_end_of_model=append_to_end_of_model,
            anchors=atoms,
            configuration_index=configuration_index,
            bond_length=bond_length,
            element=element,
        )