-
Notifications
You must be signed in to change notification settings - Fork 0
The BiBit clustering algorithm, presented here: http://www.ncbi.nlm.nih.gov/pubmed/21824973, implemented in VBA for use in excel.
cBrayton/ExcelBiBitClustering
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This program will work as a clustering algorithm in any Microsoft excel workbook it is used in. The input required for this program is a single Microsoft Excel table with (optional) headers in the first row and column and either a 1 or 0/blank cell in every other cell in the table area, which is defined by the user at the start of the program. Unlike the original BiBit Clustering algorithm described here, http://www.ncbi.nlm.nih.gov/pubmed/21824973, this algorithm pares down the list of final clusters so that every cluster is as large as possible while having no elements in common with any of the other clusters. The output of the program is two additional Excel sheets. The first sheet contains the clustered groups with column and row headers ordered from the largest cluster down to the smallest cluster. The clusters are colored alternating colors for ease of distinguishing separate clusters. The second sheet contains a duplicate of the initial data set, except any cell that contained a 1 and is included a final cluster is replaced with an *. This is for error checking purposes; a quick check for any ones in the table can indicate whether all cells were accounted for and placed. BiBitCreateModules() function is the main function and calls any other functions it needs. I modified the original BiBit Clustering algorithm to bitwise compare both rows and columns rather than just rows. This change slows the program and creates duplicate clusters, but provides a more thorough search for clusters. PickModules() is used to pare down the clusters, so the contents of each cluster are independent from the others. The clusters are sorted by size then all elements in the largest cluster are removed from any of the smaller clusters. This process is repeated for the next largest cluster and so on until all non-empty clusters have been processed. PlaceModules() is used to organize the final clusters in an excel sheet, color each cluster, and mark the duplicate table with *'s.
About
The BiBit clustering algorithm, presented here: http://www.ncbi.nlm.nih.gov/pubmed/21824973, implemented in VBA for use in excel.
Resources
Stars
Watchers
Forks
Packages 0
No packages published