gmx protonate reads (a) conformation(s) and adds all missing hydrogens as defined in oplsaa.ff/aminoacids.hdb. If only -s is specified, this conformation will be protonated, if also -f is specified, the conformation(s) will be read from this file, which can be either a single conformation or a trajectory.
If a .pdb file is supplied, residue names might not correspond to to the GROMACS naming conventions, in which case these residues will probably not be properly protonated.
If an index file is specified, please note that the atom numbers should correspond to the protonated state.