I’ve never tried it before, but the fastest thing to do is probably this:
A) look for the phosphoserine patch rosetta_database/chemical/residue_type_sets/fa_standard/patches/ser_phosphorylated.txt. It identifies the extra atoms you need.
ADD_ATOM P Phos X 1.50 ## Best guess from the small molecule ligand params file generator molfile_to_params.py
ADD_ATOM O1P OOC OC -0.78 ## The charge is taken from the free oxygen atoms of the phosphate backbone in DNA residues
ADD_ATOM O2P OOC OC -0.78
ADD_ATOM O3P OOC OC -0.78
Add these atoms (” P “, ” O1P” etc) to the residue you care about in the PDB file. Be careful with the atom’s name spacing. Leave the coordinates at 0/0/0.
C) Try repacking the residue to properly using fixbb and a resfile. Even score.cc might repack it for you; I know Rosetta automatically repacks residues with missing/zero occupancy atoms, but we don’t want it to throw out the PO4 atoms; you can try leaving their occupancies at 0 (or deleting one of the O) and seeing it it rebuilds it automatically.
D) hopefully this will result in a structure with the P04 in place. From there, Rosetta protocols that do NOT use centroid phases should be compatible; if there are centroid phases then you’ll have other problems (refer to this other thread: http://www.rosettacommons.org/node/2342)