DODO's PDBParserObj converts residue indices to python 0-based indices during parsing (dodo/pdb_tools.py:74). Separately, save_pdb_from_PDBParserObj generates atom indices from a 0-based counter (dodo/pdb_tools.py:591-623—there is also a relevant variable declaration with explicit indexing on dodo/pdb_tools.py:72, but it looks like this isn't used).
These indices are written directly to the generated PDB file, resulting in non-standard residue and atom indices that are off by one. This makes it difficult to use DODO'd files, for example when applying residue-specific visualization layers downstream. It also creates a corner case where one can end up with negative residue indices when applying DODO to a file that has already been DODO'd.
DODO's
PDBParserObjconverts residue indices to python 0-based indices during parsing (dodo/pdb_tools.py:74). Separately,save_pdb_from_PDBParserObjgenerates atom indices from a 0-based counter (dodo/pdb_tools.py:591-623—there is also a relevant variable declaration with explicit indexing ondodo/pdb_tools.py:72, but it looks like this isn't used).These indices are written directly to the generated PDB file, resulting in non-standard residue and atom indices that are off by one. This makes it difficult to use DODO'd files, for example when applying residue-specific visualization layers downstream. It also creates a corner case where one can end up with negative residue indices when applying DODO to a file that has already been DODO'd.