Errata
There are several differences between PyRosetta1.0 and PyRosetta2.0 and we are in the process of updating the workshops. Until then, please be aware of the following changes:
Workshop #2
The Pose object no longer accepts a (string) filename argument. The pose_from_pdb method now returns a Pose object. The lines on page 9 and page 12 still work in PyRosetta2.0. In summary:
Works
p = Pose()
pose_from_pdb( p , 'favorite.pdb' )
p = pose_from_pdb( 'favorite.pdb' )
Fails
p = Pose( 'favorite.pdb' )
When importing modules in ipython, leave off the .py of the filename. Ipython will get confused and import the desired module, and then fail to import a "py" module. This appears on page 11.
Works
import rama
Fails (will work in a python but not ipython)
import rama.py
Workshop #3
The TwoBodyEMapVector object no longer exists, use the EMapVector object instead. This appears on page 15 (Workshop #3).
Works
emap = rosetta.core.scoring.EMapVector()
Fails
emap = rosetta.core.scoring.TwoBodyEMapVector()
Workshop #4
To test the ClassicFragmentMover using a ConstantLengthFragSet, please use the Robetta server (http://robetta.bakerlab.org/fragmentsubmit.jsp) as specified on page 19. Otherwise, the sample fragment files test3_fragments (3-mer fragments) and test9_fragments (9-mer fragments) can be found under ~/test/data. The file test_in.pdb referenced on page 21 (Workshop #5) is also in ~/test/data (or get it here).
Workshop #6
The standard_packer_task methods have changed names. The fix_everything method is now named temporarily_fix_everything. The set_pack_residue method is now named temporarily_set_pack_residue. This appears on page 28.
Works
task_pack = standard_packer_task(pose)
task_pack.restrict_to_repacking()
task_pack.temporarily_fix_everything()
task_pack.temporarily_set_pack_residue(49,True)
Fails
task_pack.fix_everything()
task_pack.set_pack_residue(49,True)
The TaskFactory methods have changed names. The standard_packer_task method is now named create_packer_task. This appears on page 30.
Works
task_design = TaskFactory.create_packer_task(pose)
Fails
task_design = TaskFactory.standard_packer_task(pose)
The Read_resfile methods was moved, it is now located in rosetta.core.pack.task namespace. This appears on page 30.
Works
import rosetta.core.pack.task
rosetta.core.pack.task.parse_resfile(pose, task, filename)
Workshop #7
The JobDistributor object has been renamed PyJobDistributor. All of its methods are the same. This appears on page 36.
Works
jd = PyJobDistributor("output",10,scorefxn_low)
Fails
task_jd = JobDistributor("output",10,scorefxn_low)
The setup_foldtree method of the DockingProtocol has been changed. Another method provides similar functionality and should be a suitable substitute. The alternate method requires an additional Vector1 argument specifying which jumps (identified by jump number) can be moved (e.g. test_dock.pdb loads in with one jump, jump number 1, which can be moved to establish a jump between chains E and I). This appears on page 34.
Works
rosetta.protocols.docking.setup_foldtree( pose , "E_I" , Vector1( [1] ) )
setup_foldtree( pose , "E_I" , Vector1( [1] ) )
Fails
DockingProtocol().setup_foldtree( pose , "E_I" )