University of California Davis
University of Cincinnati Medical Center
University of Massachusetts Medical School
University of Michigan Medical School
Vanderbilt University School of Medicine
Protocols & Methods
Reagents & Resources
Tissues & Samples
Conditions of Use
Energy Expenditure Analysis
CalR: Indirect Calorimetry Analysis
Guidelines & Policies
ParaKMeans is a high performance parallel processing implementation of the K Means Clustering algorithm.
This software is distributed under the Open Software License v3.0 agreement
the software please read and accept the
We designed the software so it can be deployed on most Windows operating systems. The applications are written for the .NET Framework v1.1 using the C# programming language. The parallel nature of the application comes from the use of a web service to perform the distance calculations and cluster assignments. Because we use a webservice, it is essential that at least one computer has Internet Information Services (IIS v.5 or better) installed and running.
Additional help and system requirements can be found
Additional documentation for ParaKMeans can be found
If you don't want to install
locally, you can use a public version
The application was designed in a modular fashion to provide both deployment flexibility as well as flexibility in the user interface. The application is made of three software components:
A Web Service
- this software component is the main computation workhorse and resides on the "compute nodes". Data and the cluster centroids are sent to the web service where the distance calculations and cluster assignments are performed. Of note, is that once the data is sent to the web service it never leaves.
A Main API
- this software component is a .NET dynamic link library (DLL) used by the user interfaces to orchestrate the activities of the compute nodes. The API is responsible for managing the ThreadPool and working with the web services to perform the K Means clustering algorithm across the compute nodes. The API provides all the methods and properties necessary. We will provide documentation to the API in case anyone wants to use it in another application.
- this software component provides the actual application that the user interacts with to run the programs. We provide two different user interfaces, a stand alone windows application and a web application.
stand-alone windows application. The windows application can be installed on any windows machine regardless of whether or not IIS is installed. This application provides easy file management, compute node management, program options and a results window for data viewing and saving.
web application. This interface requires IIS to be installed on the computer. The web application provides the same functionality as the stand alone, but requires that each set of data to be analyzed be uploaded to the server.
Although the software was created using this modular design, the end user only needs to concern themselves with the web service and which user interface they want to install.
The basic steps involved in the ParaKMeans algorithm:
The user opens or uploads the data to be analyzed.
The user selects whether to cluster genes, arrays or both.
The user selects the number of clusters and compute nodes to use in the algorithm.
The user selects the method to initialize the centroids for the first round.
The algorithm partitions the data based on the number of nodes used.
The algorithm creates an array of web proxies used to connect to the compute nodes.
The algorithm initializes the centroids based on the method selected by the user.
The algorithm asychronously sends the data and the initial centroids to the compute nodes.
Each compute node calculates the Euclidian Distance matrix and assigns the data on that node to each of the cluster centroids.
Once all the compute nodes finish the cluster assignments, the performance function for that node is returned and summed across all nodes. The summed performance function is used to calculate the new centroids.
The algorithm sends the new centroids back to the compute nodes for another round of assignments.
The algorithm ends when the performance function does not change between rounds.
Back to Top
There was a problem with the page:
Safari Browser Detected...
We strive to make the MMPC site compatable with as many browsers as possible, but some of our third party tools don't work with the Safari browser.
In order to explore this site we highly recommend using the most recent versions of the following browsers:
Please acknowledge all posters, manuscripts or scientific materials that were generated in part or whole using funds from the MMPC using the following text:
Financial support for this work was provided by the NIDDK Mouse Metabolic Phenotyping Centers (National MMPC, RRID:SCR_008997,
) under the MICROMouse Program, grants DK076169.
Citation text and image have been copied to your clipboard. You may now paste them into your document. Thank you!
The MMPC is a National Institutes of Health-sponsored resource that provides experimental testing services to scientists studying diabetes, obesity, diabetic complications, and other metabolic diseases in mice.
Interested in receiving MMPC News?
2017 National MMPC. All Rights Reserved.