Another developer, Matt, has spent a lot of time fiddling with hydrogen bonds (sensitive to hydrogen placements). He says:
“My impression is that if the hydrogens are there, it keeps them, if they aren’t, they are placed and then optimized their position if the the -no_OptH flag is false.
To test this, they can remove the hydrogens (delete the HATOM rows in the pdb) and see that they are placed differently (e.g. by measuring their geometry in pymol).”
I would add a further note: Do you see lines of output mentioning that the PDB reader is rejecting atoms from residues? Hydrogen nomenclature is not very standard, so Rosetta often jettisons NMR hydrogens because they aren’t named to the PDB standard that Rosetta uses. I forget the exact statement but it’s something like “rejecting N atoms from residue 123: best match: ARG”. You’d see a whole lot of them in a row.