I am currently checking mutations of some key residues in the substrate binding pocket. So far, I used pymol wizard to automatically iterate all 20 amino aicds mutations from position and then use rosetta minimizer to optimize the local energy.
Since I only change a few residues of the protein, is there any ways that I can only minimize a few positions instead of minimization of whole protein?
Generally, you would want to use a MoveMapFactory (or MoveMap) to select the residues of interest, pass that to to the MinMover, and use cartesian miminimization and a cartesian scorefxn. https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/RosettaScripts#rosettascript-sections_move_map_factories
You would need to do this via RosettaScripts OR PyRosetta. If you don't set the MinMover to use cartesian, you will get downstream movement. https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/xsd/mover_MinMover_type
This script I wrote gives an example of this: https://github.com/SchiefLab/Jade/blob/master/database/rosetta/xml_scripts/design_focus_basic.xml
Here, it basically miminizes the 'focus' - IE the design residues, while packing the surrounding residues - 'nbrhood' in FastRelax. It has a few SimpleMetrics to report energetic changes between this. In this script, I then design the focus in the same way. https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/RosettaScripts#rosettascript-sections_simple_metrics
The idea is that I do the same minimization to the input as the design - so the energetic differences are more correct - IE NOT artifacts from the minimization. Hope this helps to give you a starting point.
I am so appreciate for your help! I will try your method right away and give the update for you soon.