You are here

Segmentation Fault when using DockMCMProtocol

3 posts / 0 new
Last post
Segmentation Fault when using DockMCMProtocol
#1

I was originally using the DockMCMProtocol in  PyRosetta.monolith.ubuntu.release-56 for ligand docking, however since downloading PyRosetta.monolith.ubuntu.release-84, a segmentation fault is returned when running the identical script that was used in release 56. I was wondering if anybody else has experienced the same issue or whether it is a known bug?

Category: 
Post Situation: 
Mon, 2016-05-16 20:10
latashyoussef

Can you post the script, or at least a simple version of it?  DocMCMProtocol is the main docking protocol and is tested in Rosetta, so it should be fine in PyRosetta.  It may be an input thing or something that changed with the foldtree.  

Mon, 2016-05-16 22:15
jadolfbr
def dock_ligand(pose, partners='A_X', jobs=1, job_output ,cst_file):

    # 1. Setup the docking FoldTree
    dock_jump = 1
    setup_foldtree(pose, partners, Vector1([dock_jump]) )

    # 2. Create centroid <--> fullatom conversion Movers and a Mover to
    #   recover sidechain conformations.
    to_fullatom = SwitchResidueTypeSetMover('fa_standard')
    recover_sidechains = ReturnSidechainMover(pose)

    # 3. Make sure its full atom for high res docking
    to_fullatom.apply(pose)

    # 4. Create ScoreFunctions for centroid and fullatom docking and add
    #    constraints.
    scorefxn_ligand =  create_score_function('ligand') 

    set_constraints = ConstraintSetMover()
    set_constraints.constraint_file(cst_file)

    scorefxn_ligand.set_weight(atom_pair_constraint,1.5)
    set_constraints.apply(pose)

    # 5. Create a test pose
    test_pose = Pose()

    # 6. Setup the DockingProtocol
    docking = DockMCMProtocol()
    docking.set_scorefxn(scorefxn_ligand)

    # 7. Setup the PyJobDistributor

    jd = PyJobDistributor(job_output, jobs, scorefxn_ligand)
    counter = 0

    while (not jd.job_complete):
        # A. Set necessary variables for this trajectory
        test_pose.assign(pose)
        counter+=1
        test_pose.pdb_info().name(job_output+'_'+str(counter))

        # B. Perform docking
        docking.apply(test_pose)
    
        # C. Output the decoy structure.
        jd.output_decoy(test_pose)
    
    return 

 

Mon, 2016-05-16 22:33
latashyoussef