I relaxed the homodimeric biological assembly of PDB 1ISA, and am trying to use Interface Analyzer to calculate the interfacial energy between the subunits. I have cleaned the strucutre to removed all the water, metals, et.c and leave only the protein residues. Below are the command line flags I am using:
/media/Rosetta/rosetta_src_2016.13.58602_bundle/main/source/bin/InterfaceAnalyzer.linuxgccrelease -s /home/hannah/ISA_BIO_ignorechain_0001_0001.pdb -interface A_B -compute_packstat true -pack_input false -pack_separated true -no_optH false -optH_MCA true -flip_HNQ -use_input_sc -ex1 -ex2 -ex1aro_exposed -ex2aro_exposed -extrachi_cutoff 1 -atomic_burial_cutoff 0.01 -pose_metrics::interface_cutoff 8.0 -tracer_data_print false -out:file:score_only Interface_Analyzer_1ISA.sc -add_regular_scores_to_scorefile true
When I run Interface Analyzer on the file, it produces a segmentation fault. It fills the pose, calculates dSASA, calculates per-res data, builds rotamers at the identified positions, computes packstats, computes delta unsat polar residues, and calculates shape complementarity score. The error occurs in the next step when the function designates the upstream chain and the downstream chain.
I increased the interface cutoff from 8 Angstroms to as high as 20 Angstroms to test if the problem was interface detection. However, it produced the same segmentation fault each time. This protocol has worked on ~14 other protein structures. This is the only one to cause an error. Any insights would be helpful.
If the same flags work on 14 other proteins but not this one, there's probably something strange about the input causing a problem. Let me throw out some ideas:
0) don't capture the output in a file with >, just let it go to terminal. The file system buffering sometimes catches error statements that might help, because the segfault kills the buffer unprinted.
A) compile and run in debug mode. Some seg faults are caught by assert statements that give more useful information in debug mode. (compile without mode=release, you'll get InterfaceAnalyzer.whateverdebug to use instead). It's slower. DON'T pipe the output to a file, just let to go to terminal, same as before.
B) If your protein is only two chains, don't specify the interface, it will autodetect.
C) I've seen occasional segfaults from the sc code (shape complementarity). I patched a bug that prevented turning shape complementarity off; I don't know if your version has the bug fix. (If it's within the last few months it will). Try turning sc off to see if it's the bug. I don't think I wrote that patch into the InterfaceAnalyzer executable interface, but it's in the RosettaScripts interface (https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/Movers/movers_pages/analysis/InterfaceAnalyzerMover).