- This topic has 5 replies, 2 voices, and was last updated 8 years, 9 months ago by Anonymous.
February 5, 2015 at 4:53 pm #2136Anonymous
I am trying to use pmut_scan for a symmetric dimer. I don’t know if this is possible but when I run it with a symmetry definition file the program crashes with the following message:
protocols.pmut_scan.PointMutScanDriver: mutation mutation_PDB_numbering average_ddG average_total_energy
terminate called after throwing an instance of ‘std::bad_cast’
Pmut_sym.sh: line 29: 678 Aborted (core dumped) pmut_scan_parallel.default.linuxgccrelease
the script used is the following:
-mute basic core
thanks in advance
February 9, 2015 at 9:19 pm #10827Anonymous
Unfortunately, protocols in Rosetta need to explicitly set up symmetry in order to take advantage of it. Many protocols are set up to automatically set up symmetry, but some are not. Pmut scan is one that is not.
As a stop-gap, I’d recommend doing the scan in an asymmetric context (either as a one-sided mutation, or as a non-symmetric forced double point mutant) as a first pass, and then refining the scoring based on a symmetric relax as a post-processing.
Alternatively, you could try to put together a protocol within RosettaScripts to do the equivalent mutation scan. The GreedyOptMutationMover can do similar point mutation scanning (https://www.rosettacommons.org/docs/latest/protein-interface-design-movers.html#GreedyOptMutationMover), although the details differ.
February 10, 2015 at 1:39 pm #10831Anonymous
February 10, 2015 at 1:39 pm #10832Anonymous
thank you very much for the response
I am trying to put together a xml protocol using GreedyOptMutationMover, for some reason the running ends with a segmentation fault (“2432 Segmentation fault (core dumped)”)
do you think this script perform a similar procedure as pmutscan?
February 10, 2015 at 4:05 pm #10834Anonymous
Your OperateOnCertainResidues operation needs a ResidueLevelTask specification in order to work (https://www.rosettacommons.org/docs/latest/TaskOperations-RosettaScripts.html#OperateOnCertainResidues-Operation). If you want to allow scanning for mutations at all protein positions, I’d recommend inverting the logic – set all positions that *aren’t* protein to repack only. — Task operations are restrictive: you start with being able to repack and resdesign all positions, and then you turn off the ability to pack or design selectively.
It also looks like you’re optimizing over your RelativePose filter. I’m not sure what exactly your use case is, but the GreedyOptutationMover will do the mutation and packing in the context of the starting pose itself. The RelativePose filter is used in contexts where you want to compare the score of a mutation on a second structure. It computes the before and after value of the given filter on the provided PDB backbone. If you just have the one structure, I would skip the RelativePose filter, and use the GreedyOptMutationMover directly.
Also, in your relax mover you are actually permitting mutations. Remember task operations are restrictive, starting from full design. If you don’t turn off design in a PackRotamersMover, you’ll get design. I’d add a RestrictToRepacking task operation to your PackRotamers task_operations in order to limit things to the point mutations that the GreedyOptMutationMover produces.
February 11, 2015 at 1:13 pm #10836Anonymous
I have some problems running the GreedyOptMutationMover with symmetry. This protocol always ends with a segmentation fault…I am attaching the rosetta script just to know why is not working
In the meantime, I realized that I could run the pmut with the flag -out:output of the monomer as a mean to recover all the possible single mutants and then run a fastrelax protocol with symmetry conditions to obtain the score of each mutation. Do you think this procedure is correct?
thanks in advance
- You must be logged in to reply to this topic.