
 Description:
Affinity propagation (AP) is a clustering algorithm that has been introduced by Brendan J. Frey and Delbert Dueck. The authors themselves describe affinity propagation as follows:
"An algorithm that identifies exemplars among data points and forms clusters of data points around these exemplars. It operates by simultaneously considering all data point as potential exemplars and exchanging messages between data points until a good set of exemplars and clusters emerges."
AP has been applied in various fields recently, among which bioinformatics is becoming increasingly important. Frey and Dueck have made their algorithm available as Matlab code. Matlab, however, is relatively uncommon in bioinformatics. Instead, the statistical computing platform R has become a widely accepted standard in this field. In order to leverage affinity propagation for bioinformatics applications, we have implemented affinity propagation as an R package. Note, however, that the given package is in no way restricted to bioinformatics applications. It is as generally applicable as Frey’s and Dueck’s original Matlab code.
The package further implements leveraged affinity propagation, exemplarbased agglomerative clustering, and various tools for visual analysis of clustering results.
 Changes to previous version:
 plotting of clustering results extended to data sets with more than two dimensions (resulting in the clustering result being superimposed in a scatterplot matrix); the variant that plot() can be used to draw a heatmap has been removed. From now on, heatmap() must always be used.
 improved NA handling
 correction of input check in apcluster() and apclusterL() (previously, both functions issued a warning whenever argument p had length > 1)
 corresponding updates and further improvements of help pages and vignette
 BibTeX Entry: Download
 Corresponding Paper BibTeX Entry: Download
 URL: Project Homepage
 Supported Operating Systems: Platform Independent
 Data Formats: Any Format Supported By R
 Tags: Clustering, Kernels, Distance Function, Clustering Algorithm, Affinity Propagation, Similarity Measure
 Archive: download here
Other available revisons

Version Changelog Date 1.4.3  added optional color legend to heatmap plotting; in line with this change, some minor changes to the interface of the heatmap() function
 corresponding updates of help pages and vignette
February 25, 2016, 16:22:36 1.4.2  switched sequence kernel example in vignette from 'kernlab' to 'kebabs' package
 workaround to ensure that all apcluster*() methods are able to process KernelMatrix objects (cf. kebabs package)
 replaced data set ch22Promoters by plain text file (FASTA format) in inst/examples
 bug fix in the heatmap() method
 vignette engine changed from Sweave to knitr
January 19, 2016, 13:56:01 1.4.1  fixes in C++ code of sparse affinity propagation
December 10, 2014, 12:58:29 1.4.0  added apcluster() method for sparse similarity matrices; as a consequence, the package now imports the 'Matrix' package and is now also able to handle nonsparse matrix classes defined by the 'Matrix' package. Moreover, similarity functions supplied to the apcluster() method may now also return any matrix type defined by the 'Matrix' package.
 fix of apcluster() for dense matrices to better support Inf similarities
 added apclusterK() method for sparse similarity matrices
 preferenceRange() is now an S4 generic; reimplementation in C++ to speed up function; changed handling of Inf similarities for consistency with sparse version
 added preferenceRange() methods for sparse matrices and dense matrix objects from the 'Matrix' package
 new conversion methods implemented for converting dense similarity matrices to sparse ones and vice versa; consequently, sparseToFull() is marked as deprecated.
 adaptation of heatmap() function for improved handling of Inf similarities
 adaptations of signatures of '[' and '[[' accessor methods
 renamed help page of methods for computing similarity matrices to 'similarities' in order to avoid confusion with the accessor method 'similarity'
 corresponding updates of help pages and vignette
December 3, 2014, 12:56:50 1.3.5  memory access fixes in C++ code called from apclusterL()
 minor updates of vignette
June 30, 2014, 08:32:01 1.3.4  added sort() function to rearrange clusters according to sort criterion; note that this is an S3 method (see help page for explanation)
 improvements and bug fixes of apclusterL() method for signature 'matrix,missing'
 performance optimizations of apcluster() and apclusterL()
 plotting of clustering results superimposed in scatter plot matrices now also works for 'AggExResult' objects
 improvements of consistency of error and warning messages
 according adaptations of documentation and vignette
 adapted dependency and linking to Rcpp version 0.11.1 (to avoid issues on Mac OS)
 minor correction of package namespace
June 30, 2014, 08:30:36 1.3.3  adapted dependencies and linking to Rcpp version 0.11.0
 cleared up package dependencies
February 24, 2014, 09:38:11 1.3.2  plotting of clustering results extended to data sets with more than two dimensions (resulting in the clustering result being superimposed in a scatterplot matrix); the variant that plot() can be used to draw a heatmap has been removed. From now on, heatmap() must always be used.
 improved NA handling
 correction of input check in apcluster() and apclusterL() (previously, both functions issued a warning whenever argument p had length > 1)
 corresponding updates and further improvements of help pages and vignette
June 12, 2013, 11:38:01 1.3.1  reimplementation of heatmap() method: dendrograms can now be plotted even for APResult and ExClust objects as well as for cluster hierarchies based on prior clusterings; color bars can now be switched off and colors can be changed by user (by new 'sideColor' argument); dendrograms can be switched on and off (by 'Rowv' and 'Colv' arguments);
 added as.hclust() and as.dendrogram() methods
 added new arguments 'base', 'showSamples', and 'horiz' to the plot() method with signature (x="AggExResult", y="missing"); moreover, parameters for changing the appearance of the height axis are now respected as well
 streamlining of methods (redundant definition of inherited methods removed)
 various minor improvements of code and documentation
April 23, 2013, 08:53:15 1.3.0  added Leveraged Affinity Propagation Clustering
 reimplementation of main functions as S4 generic methods in order to facilitate the convenient internal computation of similarity matrices
 for convenience, similarity matrices can be stored as part of clustering results
 heatmap plotting now done by heatmap() which has been defined as S4 generic
 extended interface to functions for computing similarity matrices
 added function corSimMat()
 implementation of length() method for classes APResult, AggExResult, and ExClust
 added accessor function to extract clustering levels from AggExResult objects
 correction of exemplars returned by apcluster() for details=TRUE in slot idxAll of returned APResult object
 when using data stored in a data frame, now categorical columns are explicitly omitted, thereby, avoiding warnings
 all clustering methods now store their calls into the result objects
 updates and extensions of help pages and vignette
January 9, 2013, 08:07:12 1.2.1  added convenient accessor functions to extracting cluster indices from APResult and ExClust objects
 added a function for coercing an APResult object into an ExClust object
 correction of color bar on the left side of heatmaps (default behavior of RowSideColors parameter changed with R 2.15)
June 14, 2012, 08:18:19 1.2.0  reimplementation of apcluster() in C++ using the Rcpp package which reduces computation times by a factor of 910
 obsolete function apclusterLM() removed
 updates of help pages and vignette
March 27, 2012, 09:40:50 1.1.1  updated citation
 minor corrections in help pages and vignette
September 8, 2011, 11:38:00 1.1.0  exemplarbased agglomerative clustering (function aggExCluster()) added
 added various plotting functions, e.g. for dendrograms and heatmaps
 added sequence analysis example to vignette
 extension of vignette according to new functionality
 reorganization of variable names in vignette
 added option 'verbose' to apclusterK()
 numerous minor corrections in help pages and vignette
June 16, 2011, 10:34:48 1.0.3 1.0.3:  Easier access to package vignette.
March 15, 2011, 08:43:38 1.0.2 Initial Announcement on mloss.org.
July 28, 2010, 15:55:26
Comments
No one has posted any comments yet. Perhaps you'd like to be the first?
Leave a comment
You must be logged in to post comments.