GraphAlignment/src/GraphAlignment.h

Go to the documentation of this file.
00001 #ifndef GA_GRAPH_ALIGNMENT
00002 #define GA_GRAPH_ALIGNMENT
00003 /* ----------------------------------------------------------------------------
00004  * R package for graph alignment
00005  * ----------------------------------------------------------------------------
00006  *
00007  * Author: Joern P. Meier <mail@ionflux.org>
00008  * 
00009  * The package can be used freely for non-commercial purposes. If you use this 
00010  * package, the appropriate paper to cite is J. Berg and M. Lässig, 
00011  * "Cross-species analysis of biological networks by Bayesian alignment", 
00012  * PNAS 103 (29), 10967-10972 (2006)
00013  * 
00014  * This software is made available in the hope that it will be useful, but 
00015  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
00016  * or FITNESS FOR A PARTICULAR PURPOSE.
00017  * 
00018  * This software contains code for solving linear assignment problems which was 
00019  * written by Roy Jonker, MagicLogic Optimization Inc.. Please note that this 
00020  * code is copyrighted, &copy; 2003 MagicLogic Systems Inc., Canada and may be 
00021  * used for non-commercial purposes only. See 
00022  * https://www.magiclogic.com/assignment.html for the latest version of the LAP 
00023  * code and details on licensing.
00024  *
00025  * ----------------------------------------------------------------------------
00026  * Package API functions.
00027  * ----------------------------------------------------------------------------
00028  */
00029 
00038 #include "R.h"
00039 #include "Rinternals.h"
00040 #include "Rdefines.h"
00041 #include "R_ext/Rdynload.h"
00042 #include "GA_message.h"
00043 #include "GA_vector.h"
00044 #include "GA_matrix.h"
00045 
00046 #ifdef __cplusplus
00047 extern "C"
00048 {
00049 #endif
00050 
00057 void R_init_GraphAlignment(DllInfo* info);
00058 
00065 void R_unload_GraphAlignment(DllInfo* info);
00066 
00074 void GA_msg_R(const char* text, GAMessageLevel level);
00075 
00087 GAVectorInt* GA_linear_assignment_solve(GAMatrixInt* costMatrix);
00088 
00105 GAMatrixReal* GA_encode_directed_graph(GAMatrixReal* matrix, GAVectorInt* p);
00106 
00116 SEXP GA_encode_directed_graph_R(SEXP matrix, SEXP p);
00117 
00127 SEXP GA_linear_assignment_solve_R(SEXP costMatrix);
00128 
00134 enum GADirectedMode_Impl
00135 {
00138         GA_DIRECTED_ENABLED = 1,
00141         GA_DIRECTED_DISABLED = 0,
00142 };
00143 
00146 typedef enum GADirectedMode_Impl GADirectedMode;
00147 
00156 GADirectedMode GA_directed_mode_from_R(SEXP robj);
00157 
00180 GAMatrixReal* GA_compute_M(GAMatrixReal* na, GAMatrixReal* nb, 
00181         GAMatrixReal* r, GAVectorInt* p, GAMatrixReal* linkScore, 
00182         GAMatrixReal* selfLinkScore, GAVectorReal* nodeScore1, 
00183         GAVectorReal* nodeScore2, GAVectorReal* lookupLink, 
00184         GAVectorReal* lookupNode, GAClampMode clamp);
00185 
00204 SEXP GA_compute_M_R(SEXP a, SEXP b, SEXP r, SEXP p, SEXP linkScore, 
00205         SEXP selfLinkScore, SEXP nodeScore1, SEXP nodeScore2, SEXP lookupLink, 
00206         SEXP lookupNode, SEXP clamp);
00207 
00208 #ifdef __cplusplus
00209 }
00210 #endif
00211 #endif

Generated on Thu Aug 16 15:28:41 2007 for Graphalignment(Rpackage) by  doxygen 1.5.1