The Percolator documentation
https://github.com/percolator/percolator/wiki/Command-line-options
specifies that the values of the cpos and cneg parameters are set by cross-validation if not specified. Crux Percolator does not do this. The default values are always passed in. We need to be able to detect when the user does not specify these parameters and then not include the --cneg or --cpos options to Percolator. This happens in app/PercolatorApplication.cpp at lines 190-194.
Maybe we should explicitly say that setting either parameter to 0 will make it use the cross-validation approach. Then we can just test for that value and add the cneg/cpos parameter to the Percolator command line or not, as appropriate.
It is quite clear that the current defaults (0.01 and 0) make no sense!
This is a slightly edited version of the patch that Kaipo sent me. Kaipo, if this looks OK, you can go ahead and check this in and then close this ticket.