This function executes the Robust Rank Aggregation (RRA) method of Kolde et al., 2012. The method is implemented in accordance to the following paper:
- R. Kolde, S. Laur, P. Adler, J. Vilo, "Robust rank aggregation for gene list integration and meta-analysis", Bioinformatics, vol. 28, no. 4, pp. 573-580, 2012.
RRA is mostly used in bio-informatics applications to aggregate gene lists. It is based on a probabilistic model (beta distribution) that makes the algorithm parameter free and robust to outliers, noise and errors. The FLAGR C++ implementation of RRA produces the same results as the R implementation of Kolde (see the RobustRankAggreg R package).
The computation of the incomplete beta function is performed with the John Burkardt's implementation of ASA063 algorithm (K.L. Majumder and G. Bhattacharjee):
- K.L. Majumder, G.P. Bhattacharjee, "Algorithm AS 63: The incomplete Beta Integral", Applied Statistics, vol. 22, no. 3, pp. 409-411, 1973.
Furthermore, the computation of the inverse of the incomplete beta function is performed with the John Burkardt's implementation of ASA109 algorithm (GW Cran, KJ Martin and GE Thomas):
- G.W. Cran, M.J. Martin, G.E. Thomas, "Remark AS R19 and Algorithm AS 109: A Remark on Algorithms AS 63: The Incomplete Beta Integral and AS 64: Inverse of the Incomplete Beta Integeral", Applied Statistics, Volume 26, Number 1, 1977, pages 111-114.
Function Definitions
void RobustRA(const char inf[], const char relf[], const int evpts,
const char ranstr[], const char out[], const bool exact)
and
__declspec(dllexport) void __cdecl RobustRA(const char inf[], const char relf[], const int evpts,
const char ranstr[], const char out[], const bool exact)
Implementation Files
RobustRA()function:cflagr.cppanddllflagr.cpp.- RRA implementation:
src/ram/RobustRA.cpp. - Incomplete beta function implementation (ASA 063 algorithm), inverted incomplete Beta function implementation (ASA 109 algorithm):
src/ram/tools/BetaDistribution.cpp.
Input arguments
const char inf[]: The path of the input file that stores the preference lists to be aggregated.const char relf[]: The path of the input file that stores the element relevance judgments.const int evpts: the elements in the aggregate list on which the evaluation measures (i.e. Precision, and nDCG) will be computed.const char ranstr[]: A string that is embedded in the names of the output files. Used when FLAGR is compiled as a shared library.const char out[]: The file system location where the output file with the aggregate list will be stored.const bool exact: Iftruethe Stuart algorithm for p-value correction is applied.
Description
The input parameters are parsed and stored in a special C structure called UserParams that is defined in src/InputParams.h. Then, UserParams is passed to the execution driver and the rank aggregation process starts.
