The text you cited mentions "input structure", so they work with structures, not just "protein sequences".
Heteroatoms = atoms marked as
HETATM in the PDB and mmCIF formats.
In these formats each atom is listed as either
HETATM. These are not particularly meaningful categories, but they are there, so they are easy to use. It's a common practice to remove heteroatoms with
grep -v ^HETATM.
Note that in the files from the Protein Data Bank not only solvent and ligands are marked as HETATM, but also "non-standard" amino-acids in a protein. An amino acid is considered standard if it can be genetically encoded. So in the files from the PDB selenocysteine is ATOM and selenomethionine is HETATM. Some programs don't follow these rules and output all protein residues as ATOM.
Removing heteroatoms works well for the vast majority of structures that have no modified residues. But in some cases it will remove also some protein residues, which may not intended.
Update: if you are wondering why there are ATOM and HETATM records, I have never came across the rationale. The PDB format
specification has had both types of records since 1976.
Different versions of the format spec use different wording,
but the meaning is always similar:
- ATOM records give atomic coordinates for "standard" groups.
- HETATM records give atomic coordinates for "non-standard" groups.
(Although standard residues that not in a polymer are also HETATM.)
In the mmCIF format the same record is preserved in _atom_site.group_PDB with the description:
This data item is provided for compatibility with the original Protein Data Bank format, and only for that purpose.
Most of the structures have only standard residues in protein/DNA/RNA polymers, so removing HETATM records removes only ligands and solvent.