|
| std::ostream & | operator<< (std::ostream &out, GasteigerAtomTypeData const &obj) |
| |
| static basic::Tracer | TR ("core.chemical.gasteiger.GasteigerAtomTyper") |
| |
| void | assign_gasteiger_atom_types (core::chemical::MutableResidueType &restype, bool keep_existing=true, bool allow_unknown=false) |
| | Version which gets typeset from ResidueType, or just uses default More...
|
| |
| void | assign_gasteiger_atom_types (core::chemical::MutableResidueType &restype, GasteigerAtomTypeSetCOP gasteiger_atom_type_set, bool keep_existing, bool allow_unknown) |
| | Assign gasteiger atom types to the atoms in restype. If "keep_existing" is true keep any already-assigned types Otherwise assign all new types. More...
|
| |
| PossibleAtomTypesForAtom | GetPossibleTypesForAtom (const core::chemical::RealResidueGraph &graph, VD const &atomVD, GasteigerAtomTypeSetCOP gasteiger_atom_type_set, core::Size connections) |
| | get all atom types matching a given atom considering its bonds More...
|
| |
| PossibleAtomTypesForAtom | GetPossibleTypesForAtom (core::chemical::RealResidueGraph const &graph, RealResidueVD const &atomVD, GasteigerAtomTypeSetCOP gasteiger_atom_type_set, core::Size connections) |
| |
| static basic::Tracer | tr ("core.chemical.gasteiger.GasteigerAtomTypeSet") |
| |
| void | safe_write (std::ostream &out, core::Size const &val, bool sep=true) |
| |
| void | safe_write (std::ostream &out, core::Real const &val, bool sep=true) |
| |
| void | safe_read (std::istream &in, core::Size &val) |
| |
| void | safe_read (std::istream &in, core::Real &val) |
| |
| template<typename T > |
| std::set< T > | parse_enum_set (std::string in) |
| |
| template<typename T > |
| std::string | compact_enum_set (std::set< T > in, std::string prefix="xx") |
| |
Assign gasteiger atom types to the atoms in restype. If "keep_existing" is true keep any already-assigned types Otherwise assign all new types.
Remaining issues:
- Input with explicitly mentioned aromatic bonds is not necessarily handled correctly. ** (I haven't extensively tested these yet.)
- Oxygen typing in aromatic rings is still an issue. ** While most work, N-O-N bridges like in PDB ligands G98 and 3C3 are missed. ** Conversely, methylated/oxidized dibenzofurans like in KRC and FCM are mistyped as trigonal when they're not.
- Rosetta needs to have formal charges notated. (Cannot calculate them from the number of hydrogens present.
Differences from gasteiger types which aren't necessarily errors:
- Phosphooxime oxygens like SEH & CGT are typed trig versus gasteiger tet.
- Carbamoyl oxime oxygens like GHR and VPU are typed trig versus gasteiger tet.
- 5 member ring oxygens where there's an exocyclic double bond like PHX and FUR are typed trig versus gasteiger tet.
- 5 member carbamoyl oxygens like CLW and A91 are typed trig versus gasteiger tet.
- The nitroperoxide oxygens of 16X are typed tet versus gasteiger trig
- The bridge nitrogens of fused ring structures like PO5, C7M and AZQ are typed trig versus gasteiger tet.
References core::chemical::MutableResidueType::atom(), core::chemical::MutableResidueType::atom_iterators(), core::chemical::MutableResidueType::atom_name(), core::chemical::Atom::gasteiger_atom_type(), core::chemical::gasteiger::PossibleAtomTypesForAtom::GetMostStableType(), GetPossibleTypesForAtom(), core::chemical::MutableResidueType::graph(), core::chemical::Atom::is_fake(), core::chemical::ResidueTypeBase::is_polymer(), core::chemical::MutableResidueType::lower_connect(), core::chemical::MutableResidueType::lower_connect_id(), core::chemical::MutableResidueType::n_residue_connections_for_atom(), core::chemical::MutableResidueType::null_vertex, core::chemical::sdf::output_residue(), core::chemical::regenerate_graph_vertex_index(), TR(), and core::chemical::MutableResidueConnection::vertex().