In other words, you want to assign atom types based on the structure.
The source of the structure is immaterial except in so far as it
introduces noise. For example, to read a PDB file you need to guess
various things. To read a MOL file, you don't need to guess anything.

Regarding your code, you should never throw away information and then
try to guess it. Also, I note in passing that DeleteHydrogens()
doesn't delete anything, it just suppresses any explicit hydrogens.

I'm a bit unclear why you are using the internal Open Babel atom
types. Personally, I would avoid this as the atom types may not be
suitable. Instead, just implement your own atom type function to suit
your needs. Any atom typing can be implemented as a function that
takes an OBAtom* and returns the type, perhaps as an enum.

- Noel

On 22 May 2017 at 18:56, Marcos Villarreal <mvillarr...@unc.edu.ar> wrote:
> Hello,
>
> For an application we are developing, we would like to get an atom typing
> independent of the input format.
> For example a mol2 with all Hydrogen atoms and a pdb without Hydrogens of
> the same molecule (i.e. identical heavy atom coordinates) should get the
> same atom types.
> The attached program is our try in that direction, but unfortunately without
> success. How could one get ride off all the input information and let babel
> do all the new calculations of atom types?
>
> Thank you in advance.
>
>
> int main(int argc,char **argv)
> {
>
>   OpenBabel::OBConversion conv;
>   OpenBabel::OBMol mol;
>   std::string filename;
>   filename = argv[1];
>
>   conv.ReadFile(&mol,filename);
>
>   mol.DeleteHydrogens();
>   mol.ConnectTheDots();
>   mol.PerceiveBondOrders();
>
>   int i=0;
>   FOR_ATOMS_OF_MOL(atom, mol) {
>      i++;
>      std::cout << i << ": " << atom->GetType() << std::endl ;
>   }
>
> }
>
>
>
> --
> Marcos Villarreal
> Dpto de Química Teórica y Computacional
> Facultad de Ciencias Químicas
> Universidad Nacional de Córdoba
> Argentina.
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> OpenBabel-discuss mailing list
> OpenBabel-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openbabel-discuss
>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

Reply via email to