\HeaderA{aracne}{Algorithm for the Reconstruction of Accurate Cellular NEtworks}{aracne}
\keyword{misc}{aracne}
\begin{Description}\relax
This function takes the mutual information matrix as input in order 
to return the infered network according to the Aracne algorithm.
This algorithm applies the data processing inequality to 
all triplets of nodes in order to remove the least significant 
edge in each triplet.
\end{Description}
\begin{Usage}
\begin{verbatim}aracne( mim, eps=0 )\end{verbatim}
\end{Usage}
\begin{Arguments}
\begin{ldescription}
\item[\code{mim}] A square matrix whose i,j th element is the mutual information  
between variables \eqn{Xi}{X_i} and \eqn{Xj}{X_j} - see \code{\LinkA{build.mim}{build.mim}}.
\item[\code{eps}] Numeric value indicating the threshold used when removing an edge : for each triplet of nodes (i,j,k), the 
weakest edge, say (ij), is removed if its weight is below min\{(ik),(jk)\}-eps - see references. 
\end{ldescription}
\end{Arguments}
\begin{Details}\relax
The Aracne procedure starts by assigning to each pair of
nodes a weight equal to their mutual information. Then, 
the weakest edge of each triplet is interpreted as an indirect interaction and is
removed if the difference between the two lowest weights is
above a threshold \code{eps}.
\end{Details}
\begin{Value}
\code{aracne} returns a matrix which is the weighted adjacency matrix of the network.
In order to display the network, load the package Rgraphviz and use the following command: \\
plot( as( returned.matrix ,"graphNEL") )
\end{Value}
\begin{References}\relax
Adam A. Margolin, Ilya Nemenman, Katia Basso, Chris Wiggins, Gustavo
Stolovitzky, Riccardo Dalla Favera, and Andrea Califano. Aracne : An 
algorithm for the reconstruction of gene regulatory networks in a mammalian
cellular context. BMC Bioinformatics, 2006.
\end{References}
\begin{SeeAlso}\relax
\code{\LinkA{build.mim}{build.mim}},   \code{\LinkA{clr}{clr}},    \code{\LinkA{mrnet}{mrnet}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
data(syn.data)
mim <- build.mim(discretize(syn.data))
net <- aracne(mim)
\end{ExampleCode}
\end{Examples}

