from ost import io from promod3 import sidechain, loop # load example (has res. numbering starting at 1) prot = io.LoadPDB('data/1CRN.pdb') res_list = prot.residues seqres_str = ''.join([r.one_letter_code for r in res_list]) # initialize AllAtom environment and sidechain reconstructor env = loop.AllAtomEnv(seqres_str) env.SetInitialEnvironment(prot) sc_rec = sidechain.SidechainReconstructor(keep_sidechains=False) sc_rec.AttachEnvironment(env) # reconstruct subset (res. num. 6..10) res = sc_rec.Reconstruct(6, 5) # update environment with solution env.SetEnvironment(res.env_pos) # store all positions of environment io.SavePDB(env.GetAllAtomPositions().ToEntity(), 'sc_rec_test.pdb')