Tutorial to simulate two proteins: Honestly it's the same as with one protein so anything you find that works for one should work for two. The only difference is in your topology file you need to specify that you have two proteins.
If they are two separate proteins:
protein_a 1
protein_b 1
Or, if they are two of the same protein, i.e., a homo-dimer;
protein 2
Merging gro files is quite easy. This is how I do it; there are definitely other ways.
1) Center your protein in the box, and make sure that each protein is in the same sized box
gmx editconf -f -o -c -box 9 9 9
2) Option 1: Translate your proteins in different directions so that they don't overlap (the numbers are for example, you will need to find what works for you)
gmx editconf -f -o -translate -3 0 0 # move one protein -3 nm from its current position
gmx editconf -f -o -translate 3 0 0 # move the other protein +3 nm from its current position
2) Option 2: Alternatively, load them both in VMD, manually move them around, and save their individual coordinates as gro files
vmd -m prot1.gro prot2.gro
3) Combine both files
cat prot1.gro prot2.gro > new.gro
4) Now you need to manually edit the new file a bit
-On line 2, change the number of atoms so that it is the sum of the atoms in both gro files
-Somewhere in the middle you will need to delete 3 lines - the box vectors for file1, and the top 2 lines of file2
If you want to simulate two proteins (Homo-dimer or Hetero-dimer) just use the source .pdb file to convert it as .gro. You can obtain such file through protein-protein docking too.
Thanks for your explanation for merging gro files,.It is very useful.But how to deal with the *.top file next? How to include the information of protein A and protein B in one top file?