I am attempting to use the Fetures Reporter InterfaceFeatures on MacOS with Rosetta 3.8, but I get an error back. If I comment out InterfaceFeatures, the script runs fine. The PDB file is clean, just two proteins (attached). Do I have some misunderstanding about the nature of the InterfaceFeatures reporter?
My script is
<ROSETTASCRIPTS>
<SCOREFXNS>
<ScoreFunction name="t14" weights="talaris2014" />
</SCOREFXNS>
<RESIDUE_SELECTORS>
</RESIDUE_SELECTORS>
<TASKOPERATIONS>
</TASKOPERATIONS>
<FILTERS>
</FILTERS>
<MOVERS>
<ReportToDB name="X" database_name="X.db3">
<TotalScoreFeatures scorefxn="t14"/>
<InterfaceFeatures scorefxn="t14" />
</ReportToDB>
</MOVERS>
<APPLY_TO_POSE>
</APPLY_TO_POSE>
<PROTOCOLS>
<Add mover_name="X"/>
</PROTOCOLS>
</ROSETTASCRIPTS>
Executed on command line as
rosetta_scripts.macosclangrelease -s complex.pdb -parser:protocol test.xml -overwrite
Returns these errors in trace
protocols.features.ReportToDB: Tag with name 'InterfaceFeatures' is invalid
Error: ERROR: Exception caught by rosetta_scripts application:
Attachment | Size |
---|---|
![]() | 230.43 KB |
It's not your PDB that's the problem, there is an error of some sort in your XML.
First fix: try running it through the XML fixer: https://www.rosettacommons.org/docs/latest/Release-Notes#rosetta-3-8_new-rosettascripts-xml . If that doesn't change the XML / work, we'll try debugging the XML further.
Maybe not executing the XML fixer correctly?
/Users/dweis/apps/rosetta/3.8/tools/xsd_xrw/rewrite_rosetta_script.py --input old_test.xml --output new_test.xml
Traceback (most recent call last):
File "/Users/dweis/apps/rosetta/3.8/tools/xsd_xrw/rewrite_rosetta_script.py", line 1391, in <module>
new_version = rewrite_xml_rosetta_script_lines( lines )
File "/Users/dweis/apps/rosetta/3.8/tools/xsd_xrw/rewrite_rosetta_script.py", line 1360, in rewrite_xml_rosetta_script_lines
toks = modfunc( element_root, toks )
File "/Users/dweis/apps/rosetta/3.8/tools/xsd_xrw/rewrite_rosetta_script.py", line 792, in rename_report_to_db_children
rename_report_to_db_children( elem, tokens )
File "/Users/dweis/apps/rosetta/3.8/tools/xsd_xrw/rewrite_rosetta_script.py", line 792, in rename_report_to_db_children
rename_report_to_db_children( elem, tokens )
File "/Users/dweis/apps/rosetta/3.8/tools/xsd_xrw/rewrite_rosetta_script.py", line 782, in rename_report_to_db_children
assert( attr )
AssertionError
I'm able to get your script to work on the most recent version of Rosetta (Rosetta 3.8, more or less) by adding the ResidueFeatures reporter to the list (the InterfaceFeatures reporter has a dependency on the ResidueFeatures reporter, and will not work if you don't also include it.)
Your script, however, won't work with Rosetta 3.7 because it's in the new RosettaScripts format. If you do want to use it with Rosetta 3.7 or before, you need to use the old format:
RESOLVED. This goes in 3.8.
<MOVERS>
<ReportToDB name="X" database_name="X.db3">
<TotalScoreFeatures scorefxn="t14"/>
<ResidueFeatures/>
<InterfaceFeatures scorefxn="t14" />
</ReportToDB>
</MOVERS>
Are these dependancies documented somewhere?