# 5.27. Guessing unknown Topology information — `MDAnalysis.topology.guessers`

Deprecated since version 2.8.0: The `MDAnalysis.topology.guessers` module will be removed in release 3.0.0. It is deprecated in favor of the new Guessers API. See `MDAnalysis.guesser.default_guesser` for more details.

In general guess_atom_X returns the guessed value for a single value, while guess_Xs will work on an array of many atoms.

## 5.27.1. Example uses of guessers

### 5.27.1.1. Guessing elements from atom names

Currently, it is possible to guess elements from atom names using `guess_atom_element()` (or the synonymous `guess_atom_type()`). This can be done in the following manner:

    import MDAnalysis as mda
    from MDAnalysis.topology.guessers import guess_atom_element
    from MDAnalysisTests.datafiles import PRM7

    u = mda.Universe(PRM7)

    print(u.atoms.names[1])  # returns the atom name H1

    element = guess_atom_element(u.atoms.names[1])

    print(element)  # returns element H

In the above example, we take an atom named H1 and use `guess_atom_element()` to guess the element hydrogen (i.e. H). It is important to note that element guessing is not always accurate. Indeed in cases where the atom type is not recognised, we may end up with the wrong element. For example:

    import MDAnalysis as mda
    from MDAnalysis.topology.guessers import guess_atom_element
    from MDAnalysisTests.datafiles import PRM19SBOPC

    u = mda.Universe(PRM19SBOPC)

    print(u.atoms.names[-1])  # returns the atom name EPW

    element = guess_atom_element(u.atoms.names[-1])

    print(element)  # returns element P

Here we find that virtual site atom ‘EPW’ was given the element P, which would not be an expected result. We therefore always recommend that users carefully check the outcomes of any guessers.

In some cases, one may want to guess elements for an entire universe and add this guess as a topology attribute. This can be done using `guess_types()` in the following manner:

    import MDAnalysis as mda
    from MDAnalysis.topology.guessers import guess_types
    from MDAnalysisTests.datafiles import PRM7

    u = mda.Universe(PRM7)

    guessed_elements = guess_types(u.atoms.names)

    u.add_TopologyAttr('elements', guessed_elements)

    print(u.atoms.elements)  # returns an array of guessed elements

More information on adding topology attributes can found in the user guide.