You are here

SEWING and motif file generation

8 posts / 0 new
Last post
SEWING and motif file generation
#1

Hello, I am looking to use the SEWING protocol to create a new hybrid enzyme from two parent enzymes that are metalloenzymes. I am looking for more information as the documentation pages are  slim. Specifically, I wanted to use the new protocol as that takes into account ligand sites, which I figure I'll need to maintain the metal coordination residues. The first stage of creating a motif file. Base on the segment generation page (https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/composite_protocols/sewing/Segment-File-Generation) which states you need a motif file. Is there any way to automatically generate this motif file? Or am I going to have to go through each protein structure and determine all the potential motifs that may be present? 

I know in the legacy sewing protocol this is automatically done through the features reporting to a database.

Thanks

Category: 
Post Situation: 
Thu, 2018-07-12 07:28
rbjacob

I am passing this along for Sharon:

"Thank you for your interest in SEWING. The motif file required by the segment file generator is very different from the structural motifs database you are referring to--instead, it is a simple file which may consist of as little as one line that the user must create manually. The first section of the page you linked provides a description of this file including an example line. I think the confusion here is that this file specifies what type of motifs you want to include in your segment file (i.e. the elements you will want to use to build your SEWING assemblies). You do not need to provide any additional information regarding the structures present in your input structures as these will be extracted directly from the PDB files provided by the pdb_list_file option. In fact, the single example line in the "Creating a Motif File" section would be sufficient to generate a basic segment file."
 

 

Thu, 2018-07-12 10:57
smlewis

Thanks for getting back to me. I just want to make sure that the motif file is not limiting the final structure. I'll explain what I am trying to do. I am trying to combine two distantly homologous enzymes to create a new "child" version that may contain sequence and structure from both "parents". How much detail would I need to have in the motif file to make sure that all structural features are accepted?

 

Thanks

Fri, 2018-07-20 12:40
rbjacob

So I have tried to generate some segments using the example motif from the page I linked to earlier. I keep getting an error. Below is the traceback. I'm not sure what to make of it. Any help would be appreciated. Thanks

 segment_file_generator.linuxgccrelease -pdb_list_file input_files/pdbs.txt -motif_file input_files/motifs.txt -ignore_unrecognized_res
core.init: Checking for fconfig files in pwd and ./rosetta/flags
core.init: Rosetta version: rosetta.binary.linux.release-185 r185 2018.26+release.757388b 757388b0ca57a08035e4f6c87472fab29b1cd1c4 https://www.rosettacommons.org 2018-06-29T11:36:21.134299
core.init: command: segment_file_generator.linuxgccrelease -pdb_list_file input_files/pdbs.txt -motif_file input_files/motifs.txt -ignore_unrecognized_res
core.init: 'RNG device' seed mode, using '/dev/urandom', seed=1089895534 seed_offset=0 real_seed=1089895534
core.init.random: RandomGenerator:init: Normal mode, seed=1089895534 RG_type=mt19937
core.init: found database environment variable ROSETTA3_DB: /gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/database
apps.pilot.frankdt.segment_file_generator: Parsing motif file
apps.pilot.frankdt.segment_file_generator: Reading pose from file: template_pdbs/K610-HPP_run2-54_HPPD_0015.pdb
core.chemical.GlobalResidueTypeSet: Finished initializing fa_standard residue type set.  Created 608 residue types
core.chemical.GlobalResidueTypeSet: Total time to initialize 0.72 seconds.
core.import_pose.import_pose: File 'template_pdbs/K610-HPP_run2-54_HPPD_0015.pdb' automatically determined to be of type PDB
protocols.sewing.AlignmentFileGeneratorMover: Setting pose segments from DSSP

ERROR: Error initializing segments from DSSP!
ERROR:: Exit from: src/protocols/sewing/hashing/AlignmentFileGeneratorMover.cc line: 1063
BACKTRACE:
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libutility.so(utility::exit(char const*, int, std::string const&, int)+0x243) [0x7f3976b8d823]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols_a.5.so(protocols::sewing::hashing::AlignmentFileGeneratorMover::add_pose_segments_to_segment_vector(core::pose::Pose const&, std::shared_ptr<core::pose::Pose>, std::shared_ptr<protocols::sewing::hashing::SegmentVector const>, std::map<unsigned long, std::shared_ptr<protocols::sewing::data_storage::SmartSegment>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::shared_ptr<protocols::sewing::data_storage::SmartSegment> > > >&, std::string, std::string, std::string, utility::vector1<protocols::sewing::data_storage::LigandDescription, std::allocator<protocols::sewing::data_storage::LigandDescription> >&, std::map<unsigned long, std::shared_ptr<protocols::sewing::data_storage::LigandResidue const>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, std::shared_ptr<protocols::sewing::data_storage::LigandResidue const> > > >&, utility::vector1<protocols::sewing::data_storage::LigandDescription, std::allocator<protocols::sewing::data_storage::LigandDescription> >&, std::string, std::shared_ptr<core::select::residue_selector::ResidueSelector const>, bool)+0x719) [0x7f3980084349]
segment_file_generator.linuxgccrelease() [0x41be98]
segment_file_generator.linuxgccrelease() [0x41ce9a]
/lib64/libc.so.6(__libc_start_main+0xfd) [0x3674e1ed1d]
segment_file_generator.linuxgccrelease() [0x41d565]
caught exception

File: src/protocols/sewing/hashing/AlignmentFileGeneratorMover.cc:1063
[ ERROR ] UtilityExitException
ERROR: Error initializing segments from DSSP!

 

Mon, 2018-07-23 12:31
rbjacob

I spent a little time looking through the code. It turns out that the segment_file_generator works fine as long as I include the flag "-strict_dssp_changes false". I was only able to find that this flag existed by tracing the code.

 

Thanks

Wed, 2018-07-25 08:25
rbjacob

So I have been able to progress past the segment file generation and I am working on trying a small run just to see what happens.

I have been running into an error that I'm not sure what is going on. It says somthing about a Null pointer. I am pasting the backtrace below. What I think is going on is that I do not have the correct flags as listed in https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/composite_protocols/sewing/AssemblyMover. Specifically I do not know what values to put in the following flags.

 

-mh:path:motifs            Path to .gz file containing motifs used in motifscore
-mh:path:scores_BB_BB      Path to directory containing database used
                           for generating MotifScores

 

In the original sewing paper it lists the following values:

-mh:path:motifs xsmax_bb_ss_AILV_resl0.8_msc0.3.rpm.bin.gz
-mh:path:scores_BB_BB xsmax_bb_ss_AILV_resl0.8_msc0.3

Is there a location for these files? Do I need to somehow generate them?

Thanks

Error trace:

 

ERROR: Null XformScore pointer!
ss1 H aa1T
ss2 H aa2E

ERROR:: Exit from: src/protocols/sewing/scoring/MotifScorer.cc line: 166
BACKTRACE:
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libutility.so(utility::exit(char const*, int, std::string const&, int)+0x243) [0x7f996d715823]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols_a.5.so(protocols::sewing::scoring::MotifScorer::get_score(numeric::xyzTransform<double>, char, char, numeric::xyzTransform<double>, char, char) const+0x941) [0x7f9976b43a51]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols_a.5.so(protocols::sewing::scoring::MotifScorer::full_motif_score(std::shared_ptr<protocols::sewing::data_storage::SmartAssembly const>)+0x3d8) [0x7f9976b43ea8]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols_a.5.so(protocols::sewing::scoring::MotifScorer::norm_motif_score(std::shared_ptr<protocols::sewing::data_storage::SmartAssembly const>)+0x38) [0x7f9976b44bf8]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols_a.5.so(protocols::sewing::scoring::MotifScorer::score(std::shared_ptr<protocols::sewing::data_storage::SmartAssembly const>)+0x7c) [0x7f9976b44d8c]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols_a.5.so(protocols::sewing::movers::AssemblyMover::score(std::shared_ptr<protocols::sewing::data_storage::SmartAssembly>)+0x83) [0x7f9976ced263]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols_a.5.so(protocols::sewing::movers::AssemblyMover::add_motif_scorers_to_score_file(core::pose::Pose&, std::shared_ptr<protocols::sewing::data_storage::SmartAssembly>&)+0x62) [0x7f9976cedda2]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols_a.5.so(protocols::sewing::movers::LigandBindingAssemblyMover::add_motif_scorers_to_score_file(core::pose::Pose&, std::shared_ptr<protocols::sewing::data_storage::SmartAssembly>&)+0x1e) [0x7f9976d0e4ae]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols_a.5.so(protocols::sewing::movers::LigandBindingAssemblyMover::apply(core::pose::Pose&)+0x183) [0x7f9976d142c3]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols.1.so(protocols::rosetta_scripts::ParsedProtocol::apply_mover(core::pose::Pose&, protocols::rosetta_scripts::ParsedProtocol::MoverFilterPair const&)+0x2b8) [0x7f99735908a8]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols.1.so(protocols::rosetta_scripts::ParsedProtocol::sequence_protocol(core::pose::Pose&, __gnu_cxx::__normal_iterator<protocols::rosetta_scripts::ParsedProtocol::MoverFilterPair const*, std::vector<protocols::rosetta_scripts::ParsedProtocol::MoverFilterPair, std::allocator<protocols::rosetta_scripts::ParsedProtocol::MoverFilterPair> > >)+0x3b) [0x7f9973590d7b]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols.1.so(protocols::rosetta_scripts::ParsedProtocol::apply(core::pose::Pose&)+0x149) [0x7f9973591d79]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols.1.so(protocols::jd2::JobDistributor::run_one_job(std::shared_ptr<protocols::moves::Mover>&, long, std::string&, std::string&, unsigned long&, unsigned long&, bool)+0x1b7d) [0x7f997367fc3d]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols.1.so(protocols::jd2::JobDistributor::go_main(std::shared_ptr<protocols::moves::Mover>)+0x19e) [0x7f99736819de]
/gpfs/rtp/.filesets/biogrid_workspace/ghurj/Rosetta/main/source/build/src/release/linux/2.6/64/x86/gcc/4.9/default/libprotocols.1.so(protocols::jd2::FileSystemJobDistributor::go(std::shared_ptr<protocols::moves::Mover>)+0x47) [0x7f99736672c7]
rosetta_scripts.linuxgccrelease() [0x4021e7]
/lib64/libc.so.6(__libc_start_main+0xfd) [0x3674e1ed1d]
rosetta_scripts.linuxgccrelease() [0x4024ad]
protocols.rosetta_scripts.ParsedProtocol: [ ERROR ] Exception while processing procotol:

File: src/protocols/sewing/scoring/MotifScorer.cc:166
[ ERROR ] UtilityExitException
ERROR: Null XformScore pointer!
ss1 H aa1T
ss2 H aa2E

 

protocols.jd2.JobDistributor: [ ERROR ]

[ERROR] Exception caught by JobDistributor for job output_files/test1B3-run9-22_S_0045_0001

File: src/protocols/sewing/scoring/MotifScorer.cc:166
[ ERROR ] UtilityExitException
ERROR: Null XformScore pointer!
ss1 H aa1T
ss2 H aa2E

 

protocols.jd2.JobDistributor: [ ERROR ]
protocols.jd2.JobDistributor: [ WARNING ] output_files/test1B3-run9-22_S_0045_0001 reported failure and will NOT retry
protocols.jd2.JobDistributor: no more batches to process...
protocols.jd2.JobDistributor: 1 jobs considered, 1 jobs attempted in 20 seconds
Error: [ ERROR ] Exception caught by rosetta_scripts application:

File: src/protocols/jd2/JobDistributor.cc:329
1 jobs failed; check output for error messages
Error: [ ERROR ]

 

 

 

 

Thu, 2018-07-26 08:08
rbjacob

(I am forwarding these along to the sewing team)

Thu, 2018-07-26 08:46
smlewis

Ah, I see the problem here. These motif score files are going to be included in the new additional_protocol_data section of the Rosetta database, but they were delayed since there was a lot of discussion around the time the paper was published about what should and should not be included there. I am merging those files in today, so they should be included in the next weekly release. You can then access them at 
<path to Rosetta>/main/database/additional_protocol_data/sewing/xsmax_bb_ss_AILV_resl0.8_msc0.3/< normal value of flag >.  Note that the values of the flags are a file name and a file prefix, respectively (not the path to the folder, which has the same name). I am also adding a default segment file to that directory which should work for most SEWING applications.

Your earlier error (segment file generation not working unless you had -strict_dssp_changes false) is a bug that we did not catch earlier, so thank you for pointing it out to us! We will fix that as soon as possible. I will also update the documentation to reflect this flag--it was not present in earlier versions of the app, so we must have forgotten to add it.

 

Thu, 2018-07-26 12:19
guffysl