Dear Rosetta people,
I am trying to dock ligand, which possesses by sulfonamide NH group to the target protein with a help of coupled_moves application by the following command:
~/rosetta_src_2020.08.61146_bundle/main/source/bin/coupled_moves.default.linuxgccrelease @Options_coupledmoves.txt -resfile target.res -nstruct 2 -coupled_moves::backbone_mover backrub -coupled_moves::ligand_mode true -number_ligands 1 -ligand_weight 1.0 -ntrials 500 -chemical:set_atomic_charge fa_standard:EZL:N1:-1 -set_atomic_charge fa_standard:ZN:ZN:+1 -extra_patch_fa eza_patches.txt -pH:pH_mode true -pH:keep_input_protonation_state true -initial_repack true -bias_sampling true -save_sequences true -save_structures true -mc_kt 0.6 -boltzmann_kt 0.6 > Output.txt
As an output I got sulfonamide Nitrogen with two Hydrogens instead one (originally, X-ray ligand structure doesn't have any protons).
After long throughout inspection of coupled_moves run I found out that the file ~/rosetta_src_2020.08.61146_bundle/main/source/src/core/io/pose_from_sfr/PoseFromBuilder.cc discard all assigned by PyMOL Hydrogens and, further, that Rosetta approach, stubbornly ignoring all carefully written charges, ATOM and BOND records both in input PDB and .params files, protonates them according to its internal order. I would suppose, that the file statement from lines 714-737 is responsible for Hydrogens discarding.
I should notice, that I assign the charge to that Nitrogen, protonate that ligand on PyMOL (because it does the protonation and all conversion preserving atom IDs and their charges) and convert the PDB into MOL2 by OpenBabel. I have already cared about restoring the formal charge -1 for Nitrogen in generated .params file. The patch file for ligand also has been written, but, it seems as if it wouldn't have been taken into account as well as all flags regarding protonation, set_atomic_charge and so on.
I address this question to disable the foregoing PoseFromBuilder statement, which discards already assigned protons or any other problem, which makes the Rosetta to ignore all input records and produce the undesirable products. So far I haven't found the way to disable that statement yet.
I will be sincerely grateful for your response and I am looking forward to it.