You are here

Running a ReportFSC mover between two .mrc maps

10 posts / 0 new
Last post
Running a ReportFSC mover between two .mrc maps
#1

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>

 

Post Situation: 
Mon, 2018-03-12 07:52
ahmadkhalifa

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.

Mon, 2018-03-12 10:55
brandon.frenz

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.

Mon, 2018-03-12 13:36
rmoretti

Thanks, I did the edits you recommended, I still get an error related to not having a structure. 


ERROR: Attempting to initiate job distribution for input job 'S', but the generated pose has no residues.make sure you specified a valid input PDB, silent file or database.
ERROR:: Exit from: src/protocols/jd2/JobDistributor.cc line: 616

 

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. 

<ROSETTASCRIPTS>
	<SCOREFXNS>
	</SCOREFXNS>
	<RESIDUE_SELECTORS>
	</RESIDUE_SELECTORS>
	<TASKOPERATIONS>
	</TASKOPERATIONS>
	<FILTERS>
	</FILTERS>
	<MOVERS>
		<SetupForDensityScoring name="setupdens"/>
      		<LoadDensityMap name="loaddens" mapfile="%%map%%"/>
		<ReportFSC name="report" testmap="%%testmap%%" res_low="10.0" res_high="%%reso%%"/>
	</MOVERS>
	<APPLY_TO_POSE>
	</APPLY_TO_POSE>
	<PROTOCOLS>
	      <Add mover="setupdens"/>
	      <Add mover="loaddens"/>
	      <Add mover="report"/>
	</PROTOCOLS>
	<OUTPUT />
</ROSETTASCRIPTS>

 

#!/bin/bash

$ROSETTA3/source/bin/rosetta_scripts.linuxgccrelease \
		-in::file::s /home/labusr/Documents/tubulin_exercise/unmodelled_tetrahymena.pdb\
		-parser::protocol /home/labusr/Documents/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\
		-in:ignore_unrecognized_res \

 

Tue, 2018-03-13 10:06
ahmadkhalifa

I would appreciate your follow up. 

Fri, 2018-03-16 09:45
ahmadkhalifa

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.

Fri, 2018-03-16 11:03
brandon.frenz

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? 

Mon, 2018-03-19 12:40
ahmadkhalifa

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.

Mon, 2018-03-19 13:57
brandon.frenz

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. 

Tue, 2018-03-20 08:31
ahmadkhalifa

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/.

Tue, 2018-03-20 10:28
brandon.frenz