I'm trying to run a ReportFSC mover between two maps to debug some issue in my structure refinement protocol (https://www.rosettacommons.org/node/10195). I'm fairly new to Rosetta scripting, below you can find my attempt. What am I doing wrong? Thanks in advance.
#!/bin/bash
$ROSETTA3/source/bin/rosetta_scripts.linuxgccrelease \
-parser::protocol /home/labusr/Downloads/empty.xml \
-parser::script_vars reso=4.3 map=/home/labusr/Documents/tubulin_exercise/masked_map_center.mrc testmap=/home/labusr/Documents/tubulin_exercise/mmasked_map_top_centered_resampled.mrc\
<ROSETTASCRIPTS>
<SCOREFXNS>
</SCOREFXNS>
<RESIDUE_SELECTORS>
</RESIDUE_SELECTORS>
<TASKOPERATIONS>
</TASKOPERATIONS>
<FILTERS>
</FILTERS>
<MOVERS>
</MOVERS>
<SetupForDensityScoring name="setupdens"/>
<LoadDensityMap name="loaddens" mapfile="%%map%%"/>
<ReportFSC name="report" testmap="%%testmap%%" res_low="10.0" res_high="%%reso%%"/>
<APPLY_TO_POSE>
</APPLY_TO_POSE>
<PROTOCOLS>
</PROTOCOLS>
<OUTPUT />
</ROSETTASCRIPTS>
Category:
Post Situation:
I'm guessing when you run this xml it doesn't crash but rather just doesn't output anything? The way the xml setup works is that you declare items you want to use in the movers section and then you declare the order you want them to occur in the protocol section. You've declared your movers correctly (as far as I can tell) but you haven't actually told Rosetta to use them in the protocols section. To do that add the lines.
<Add mover="setupdens"/>
<Add mover="loaddens/>
<Add mover="report"/>
Setup dens will prepare your structure for scoring with density, loaddens will load the density map, and report will run the ReportFSC mover.
Another issue (besides not putting anything into the PROTOCOLS section) is that your mover definitions are not within the MOVERS section. They need to between the <MOVERS> and </MOVERS> tags.
Thanks, I did the edits you recommended, I still get an error related to not having a structure.
I added a strcuture and It ran fine, so below is my protocol and bash script that I used to run it. However, I don't really understand what it does. I want to get an fsc score between the two map volumes that I specified. Why do I have to specify a structure? The output is the same structure with 001 appended at the end and a score file that doesn't contain any fsc scores.
I would appreciate your follow up.
The report fsc mover is used to report the FSC between the simulated map based on the protein structure and the target map provided. If you just want to report the FSC between your two maps you don't need to use Rosetta. I presume the map generation software you use has that capability. I'm not sure if Rosetta does.
Thanks a lot. Running the report fsc mover this way doesn't actually add any headers to the outputted structure, I'm assuming this is normal. In the terminal, however, I have this line:
protocols.electron_density.ReportFSC: FSC[mask=5.57071](10:4.3) = 0.378933
Which looks like the same problem I described in my thread here (point 2): https://www.rosettacommons.org/node/10195
How can I debug it?
I don't know what is going on. Based on that xml I would assume only the testmap is being used in the reportFSC mover. The logic that says %%testmap%% in the xml file is saying that you should subsitute the value passed in as the flag -test_map. If you would like to run the fsc with other map pass it in under the testmap variable.
That's exactly what I'm doing. In the bash script I provide arguments for both map and testmap. However, according to what you explained to me before, the script should actually generate a model map from the atomic structure and "only use" the test map for the correlation score, and not the map used for the refinement, so basically a validation test.
I'm not sure what the problem is. I would try e-mailing Frank DiMaio, the author of this code, directly. You can find his contact info on his website: https://dimaiolab.ipd.uw.edu/.