Rosetta
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
constraints.py
Go to the documentation of this file.
1 # Constraint-related functions
2 # Emily Koo
3 
4 # Import python modules
5 import os
6 from os.path import exists
7 
8 # Import Rosetta modules
9 from rosetta import *
10 
12  # Get cst files
13  sol = 'ls '+PDB+'_sol*.cst > sol_cst'
14  ads = 'ls '+PDB+'_ads*.cst > ads_cst'
15 
16  os.system(sol)
17  os.system(ads)
18 
19  sol_file = []
20  ads_file = []
21  if exists("sol_cst"):
22  sol_cst = open('sol_cst','r')
23  for line in sol_cst.readlines():
24  if line.strip() is not "":
25  sol_file.append(line)
26  if exists("ads_cst"):
27  ads_cst = open('ads_cst','r')
28  for line in ads_cst.readlines():
29  if line.strip() is not "":
30  ads_file.append(line)
31 
32  rm = 'rm sol_cst ads_cst'
33  os.system(rm)
34 
35  return (sol_file, ads_file)
36 
37 def apply_constraints(pose, cst):
38 
39  pose.remove_constraints()
40  constr = rosetta.core.scoring.constraints
41  set_constraints = ConstraintSetMover()
42 
43  if cst is not None:
44  cst_set = constr.ConstraintSet()
45 
46  for file in cst:
47  constr.ConstraintIO.read_constraints(file.strip(), cst_set, pose)
48 
49  pose.constraint_set(cst_set)
50 
51 def load_disulf(disulf_file):
52 
53  disulf = core.io.raw_data.DisulfideFile(disulf_file)
54  return disulf
55 
56 def apply_disulf(pose, disulf):
57 
58  if disulf is not None:
59  disulf.read_in_and_set_disulfides(pose)
60 
61 def make_ads_disulf(pose, disulf):
62 
63  ads = str(disulf) + "_ads"
64  if not exists(ads):
65 
66  surface_res = pose.num_jump()
67  sol_file = open(disulf, 'r')
68  ads_file = open(ads, 'a')
69 
70  for line in sol_file:
71  newline = ""
72  for res in line.split():
73  newres = surface_res + int(res)
74  newline = newline + str(newres) + " "
75  ads_file.write(newline + "\n")
76 
77  sol_file.close()
78  ads_file.close()
79 
bool open(utility::io::izstream &db_stream, std::string const &db_file, bool warn)
Open a database file on a provided stream.
Definition: open.cc:55