Ligand Docking with RosettaScripts gives a ParsedProtocol exception

Member Site Forums Rosetta 3 Rosetta 3 – Applications Ligand Docking with RosettaScripts gives a ParsedProtocol exception

Viewing 6 reply threads
  • Author
    Posts
    • #2654
      Anonymous

        I am trying to run a ligand docking simulation, and am running into a few technical limitations. I am trying to follow the tutorial form the Meiler lab (only with a different starting pdb and ligand).

        I am running the command:

        rosetta_scripts.linuxgccrelease -database $ROSETTA_DATABASE -in:file:s /inputs/4XXX_model.pdb /inputs/MyLigand.pdb -in:file:extra_res_fa /inputs/MyLigand.params -nstruct 3 -parser:protocol /scripts/xml/dock.xml -mistakes:restore_pre_talaris_2013_behavior true

        where: 4XXX_model.pdb is a single chain receptor after running clean_pdb.py.  MyLigand.pdb and MyLigand.params are both outputs from molfile_to_params.py.

        However, I am running into the error:


        protocols.jd2.PDBJobInputter: PDBJobInputter::pose_from_job
        protocols.jd2.PDBJobInputter: filling pose from saved copy /inputs/MyLigand.pdb
        protocols.rosetta_scripts.ParsedProtocol: =======================BEGIN MOVER Transform - transform=======================
        ERROR:: Exit from: src/core/pose/util.cc line: 2267
        [0x312d151]
        ...
        [0x95250d]
        protocols.rosetta_scripts.ParsedProtocol: Exception while processing procotol:
        protocols.jd2.JobDistributor:

        [ERROR] Exception caught by JobDistributor for job MyLigand_0001

        [ERROR] EXCN_utility_exit has been thrown from: src/core/pose/util.cc line: 2267

         

        There doesn’t seem to be any more information. And since my input files – to me – look okay, I am at a loss.

        My dock.xml the same as the tutorial, only the InterfaceScoreCalculator native term has been removed (however, I also tried it with the term included):


        <ROSETTASCRIPTS>

        <SCOREFXNS>
        <ligand_soft_rep weights=ligand_soft_rep>
        </ligand_soft_rep>
        <hard_rep weights=ligand>
        </hard_rep>
        </SCOREFXNS>

        <LIGAND_AREAS>
        <inhibitor_dock_sc chain=X cutoff=6.0 add_nbr_radius=true all_atom_mode=false/>
        <inhibitor_final_sc chain=X cutoff=6.0 add_nbr_radius=true all_atom_mode=false/>
        <inhibitor_final_bb chain=X cutoff=7.0 add_nbr_radius=false all_atom_mode=true Calpha_restraints=0.3/>
        </LIGAND_AREAS>

        <INTERFACE_BUILDERS>
        <side_chain_for_docking ligand_areas=inhibitor_dock_sc/>
        <side_chain_for_final ligand_areas=inhibitor_final_sc/>
        <backbone ligand_areas=inhibitor_final_bb extension_window=3/>
        </INTERFACE_BUILDERS>

        <MOVEMAP_BUILDERS>
        <docking sc_interface=side_chain_for_docking minimize_water=false/>
        <final sc_interface=side_chain_for_final bb_interface=backbone minimize_water=false/>
        </MOVEMAP_BUILDERS>

        <SCORINGGRIDS ligand_chain="X" width="15">
        <classic grid_type="ClassicGrid" weight="1.0"/>
        </SCORINGGRIDS>

        <MOVERS>
        <Transform name="transform" chain="X" box_size="7.0" move_distance="0.2" angle="20" cycles="500" repeats="1" temperature="5"/>
        <HighResDocker name=high_res_docker cycles=6 repack_every_Nth=3 scorefxn=ligand_soft_rep movemap_builder=docking/>
        <FinalMinimizer name=final scorefxn=hard_rep movemap_builder=final/>
        <InterfaceScoreCalculator name=add_scores chains=X scorefxn=hard_rep />
        </MOVERS>

        <PROTOCOLS>
        <Add mover_name=transform/>
        <Add mover_name=high_res_docker/>
        <Add mover_name=final/>
        <Add mover_name=add_scores/>
        </PROTOCOLS>

        </ROSETTASCRIPTS>

         

        My input receptor PDB, ligand PDB, and params are also attached. Does anyone know what this generic error might mean? If anyone has any pointers, I would be forever indebted. I’ve been messing with this for far too long with no luck.

         

        UPDATE:

        I tried this with the input files taken directly from the Meiler lab’s tutorial, and got the same result. So version differences maybe (I am using v3.7)? Next, I tried the same setup on the OSX build (on another maching obviously), and received the SAME error, BUT, it contained more stderr stacktrace information:


        protocols.rosetta_scripts.ParsedProtocol: =======================BEGIN MOVER Transform - transform=======================
        ERROR:: Exit from: src/core/pose/util.cc line: 2267
        0 rosetta_scripts.macosclangrelease 0x0000000112321edb print_backtrace(char const*) + 59
        1 rosetta_scripts.macosclangrelease 0x0000000112321ddc utility::exit(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) + 1100
        2 rosetta_scripts.macosclangrelease 0x0000000110b0c6b5 utility::exit(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int, int) + 37
        3 rosetta_scripts.macosclangrelease 0x00000001110c1b2e core::pose::get_jump_id_from_chain_id(unsigned long const&, core::pose::Pose const&) + 142
        4 rosetta_scripts.macosclangrelease 0x000000010fe3c577 protocols::ligand_docking::Transform::apply(core::pose::Pose&) + 103
        5 rosetta_scripts.macosclangrelease 0x00000001109ee73d protocols::rosetta_scripts::ParsedProtocol::apply_mover(core::pose::Pose&, protocols::rosetta_scripts::ParsedProtocol::MoverFilterPair const&) + 1133
        6 rosetta_scripts.macosclangrelease 0x00000001109e98de protocols::rosetta_scripts::ParsedProtocol::apply(core::pose::Pose&) + 1246
        7 rosetta_scripts.macosclangrelease 0x0000000110b088c6 protocols::jd2::JobDistributor::run_one_job(std::__1::shared_ptr<protocols::moves::Mover>&, long, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned long&, unsigned long&, bool) + 6582
        8 rosetta_scripts.macosclangrelease 0x0000000110b0641b protocols::jd2::JobDistributor::go_main(std::__1::shared_ptr<protocols::moves::Mover>) + 331
        9 rosetta_scripts.macosclangrelease 0x0000000110ae3c92 protocols::jd2::FileSystemJobDistributor::go(std::__1::shared_ptr<protocols::moves::Mover>) + 66
        10 rosetta_scripts.macosclangrelease 0x000000010f4bb3c6 main + 502
        11 libdyld.dylib 0x00007fffb8a43235 start + 1
        protocols.rosetta_scripts.ParsedProtocol: Exception while processing procotol:
        protocols.jd2.JobDistributor:

        [ERROR] Exception caught by JobDistributor for job ETQ_0001

        [ERROR] EXCN_utility_exit has been thrown from: src/core/pose/util.cc line: 2267

        This is useless info to me, but it might be helpful for a dev here to see whats going on.

         

      • #12337
        Anonymous

          That cryptic error is Rosetta 3.7 trying to tell you that you don’t have a chain X in your input structure. (The error messages have been made more useful in more recent versions of Rosetta.)

          The issue is two-fold. First off, it doesn’t look like you have quotes around the two input files. So you’re doing a docking run on two separate systems once on /inputs/4XXX_model.pdb and another run on /inputs/MyLigand.pdb. Obviously, 4XXX_model.pdb doesn’t have a chain X, and so the run fails. What you want to do is add quotes around the two structures, so -s “/inputs/4XXX_model.pdb /inputs/MyLigand.pdb” — this tells the shell (and Rosetta)  to treat them as a single unit, rather than two separate inputs. … except there’s a bug in Rosetta 3.7 (specifically) which means it doesn’t work with the quoted pair of inputs. Even if you are using the quotes, you’ll get the same error.

          What you need to do is manually concatenate the two PDBs into a single input PDB, and then pass that (single) PDB as the input to the docking run.

        • #12858
          Anonymous

            That cryptic error is Rosetta 3.7 trying to tell you that you don’t have a chain X in your input structure. (The error messages have been made more useful in more recent versions of Rosetta.)

            The issue is two-fold. First off, it doesn’t look like you have quotes around the two input files. So you’re doing a docking run on two separate systems once on /inputs/4XXX_model.pdb and another run on /inputs/MyLigand.pdb. Obviously, 4XXX_model.pdb doesn’t have a chain X, and so the run fails. What you want to do is add quotes around the two structures, so -s “/inputs/4XXX_model.pdb /inputs/MyLigand.pdb” — this tells the shell (and Rosetta)  to treat them as a single unit, rather than two separate inputs. … except there’s a bug in Rosetta 3.7 (specifically) which means it doesn’t work with the quoted pair of inputs. Even if you are using the quotes, you’ll get the same error.

            What you need to do is manually concatenate the two PDBs into a single input PDB, and then pass that (single) PDB as the input to the docking run.

          • #13379
            Anonymous

              That cryptic error is Rosetta 3.7 trying to tell you that you don’t have a chain X in your input structure. (The error messages have been made more useful in more recent versions of Rosetta.)

              The issue is two-fold. First off, it doesn’t look like you have quotes around the two input files. So you’re doing a docking run on two separate systems once on /inputs/4XXX_model.pdb and another run on /inputs/MyLigand.pdb. Obviously, 4XXX_model.pdb doesn’t have a chain X, and so the run fails. What you want to do is add quotes around the two structures, so -s “/inputs/4XXX_model.pdb /inputs/MyLigand.pdb” — this tells the shell (and Rosetta)  to treat them as a single unit, rather than two separate inputs. … except there’s a bug in Rosetta 3.7 (specifically) which means it doesn’t work with the quoted pair of inputs. Even if you are using the quotes, you’ll get the same error.

              What you need to do is manually concatenate the two PDBs into a single input PDB, and then pass that (single) PDB as the input to the docking run.

            • #12344
              Anonymous

                Yup, that did it. Thanks!

              • #12865
                Anonymous

                  Yup, that did it. Thanks!

                • #13386
                  Anonymous

                    Yup, that did it. Thanks!

                Viewing 6 reply threads
                • You must be logged in to reply to this topic.