I am trying to use flexbb-interfacedesign.xml from rosetta 3.9 to do the design of a protein interface.
I have two questions:
1) The top of flexbb-interfacedesign.xml reads as the following, is there a missing open bracket before "ProteinInterfaceDesign...", as highlighted in red?
2) How does rosetta define "chain1" and "chain2", as highlighted in yellow? I have tried many times by changing either "1" or "0" and even changing the chain name in the pdb (e.g. A->B, B->A) but still I cannot control which chain to design.
<TASKOPERATIONS> You can control which parts you want to change from here
ProteinInterfaceDesign name=pido repack_chain1="1" repack_chain2="1" design_chain1="1" design_chain2="0" interface_distance_cutoff=10/> task operation that designates which residues are designable and repackable at the interface
The missing opening angle bracket is a convention of RosettaScripts to comment out (disable) a particular RosettaScripts element. Anything not in brackets is interpreted as a "comment" in RosettaScripts XML. The RosettaScripts XML parser is bit more generous than what an XML editor might be. If it works better for you (if it's cleaner in your editor), you can also remove the closing angle bracket. -- As long as the opening bracket is missing, changing that line will not do anything. (Note that the task operation name "pido" is not referenced anywhere else in the working protocol.)
As mentioned in the ProteinInterfaceDesign documentation (https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/TaskOperations/taskoperations_pages/ProteinInterfaceDesignOperation) the repack/design chain designations are boolean (true/false) designation. If true ("1") you'll repack/design the respective chain. If false ("0"), you won't.
What counts as chain 1 and 2 is controlled by the "jump" setting of the tag. Jumps are a specific feature of the Rosetta "FoldTree" view of a system. The jump numbering (FoldTree) is somewhat dependent on how Rosetta reads in the structure, and how previous movers have left the Pose. Generally speaking, though, each chain is "downstream" of the N-1 jump, and everything else is upstream. So a setting of jump=2 on a pose with chains HLAB (in that order) means than "chain1" would be PDB chains H,L & B, and "chain2" would be PDB chain A.
A number of RosettaScripts objects (including the ProteinInterfaceDesign TaskOperation) date back to the early days when RosettaScripts was the "dock design parser", and written assuming that it would be used primarily/exclusively on a two-chain protein-protein docking and design task. The ability to work with systems of multiple chains is often a clunkily-added afterthought.