Skip to content

Conversation

@GregJohnsonJr
Copy link
Collaborator

Updating clustur to reflect changes in current mothur release.

GregJohnsonJr and others added 30 commits April 24, 2024 13:57
* Fixed the wrapper for Calling Opticluster!

* Fixing the .RD file

* Fixed issue where opticluster was returning a matrix array and not a data.frame.

* Changing documentation

* Fixing the warnings from building the code.

* Update to the test

* Updating the gitignore
* Added Cpp testing structure!

* Added Test Fixture Class

* Forced the cluster to only return OTU data, and created the fix test fixture with test!

* Created all of the test for the optimatrix adapter and removed the .dll from being tracked!

* Created all the test in the testfixture for listvectors and now I am adding them to the test files.

* Created base test for listVector

* Basic test for listVector are completed!

* Created the basic structure and test fixture for cluster commands

* Cluster Testing suite being pushed up!

* Fix cluster algorithm (#2)

* Fixed a slew of issues by adding bidirection distances.

* Fixed the clustering issue, clustering should be working correctly now!

* Generated Definitions for OptiCluster Test

* Finished creating unit test of the cluster command and opticluster

* Added OptiData test fixture

* Started creating the unit test for utils

* Utils command cluster and test work as expected!!

* Removed old code from one of the testing suites.

* Added another test in utils.

* Clustor has a 89% test coverage! Everything should be tested and ready to merge back!
…roper stats". I appears it is returning incorrect data on different computer architectures. It is also not needed in the code.
* This should be the fix for the failing cluster test.

* Changed the test to look for equivalence rows instead of equal dataframes. Gives the same results, the only differences is that the cluster have different numbers.
* Added to build ignore and properly documented the new R code.

* Unstable, have to fix the mismatch header situation, but was able to return a vector with all the metrics!

* Cluster now returns test metrics and added test to support it.
* Adding a single, complete, average, and weighted linkage algorithms

* Adding cluster functions

* Added the new clustering methods, but am getting issues when trying to format them.

* Unstable cannot create proper phylip file with matrix data..

* More unstable code, but we are getting closer. The phylip file is correct for a small dataset

* STABLE, the cluster does not fail and will actually cluster. However I am getting incorrect results. Will refactor the code to work.

* All Clusters (Furthest, Nearest, average, and weighted) all work as they should! I just need to clean it up and add test!

* Created R-facing function in R from cpp and cleaned up a bit of the code.

* Cleaning up the main function

* Small optimization to cluster (x2 speed_up)

* Added optimization and cleaned up functions

* Modifications to the namespace file and test!

* Cluster works with windows now!

* Fixing the round point error on windows and in R. It has something to do with the compilation of the objects...most likely it is related to the conversions of data.

* Fixed the floating point issue, now I have to fix an issue where the cutoff amounts are decreasing.

* Fixed the floating point issue! My adjust was not set! Now I need to figure out why the nearest algorithm is not returning any data.

* Small code style changes

* Cluster works as expected! Everything clusters. Now to add tests

* Started adding more test for Clustor

* Created Test fixtures for the new code

* Completed the sparse distance matrix and read phylip test, need to fix some test errors.

* Added test for phylip reader and matrix adapter. Adding the final test for rAbund now.

* Added all the rAbund test, and the cluster feature should be working properly!

* Adding include statements for windows and other operating systems, this should work as expected. RCMD check works.
* Adding a count table variation

* Update Makevars

* Preparation to Create a Shared File for the clustering output.

* Added a simple make shared functionality. It works without the group information. Count_table + list_file = shared_file

* Small changes, going to need to modify the make shared code soon.

* Modifying the way cluster result data is stored.

* Add a datastructure for returning and generating cluster data.

* Cluster export works for Traditional Cluster Methods

* Progress on making a shared file without a group. Have to make test soon.

* Created a pseudo shared file successfully!

* Changes to the abundance output

* Delete F:\Opticluster\output_rabund.txt

* Delete tests/testthat/F:\Opticluster\output_rabund.txt

Removing werid paths.

* Some example data and count table creation

* Pushing lots of temp test files, and small changes

* Adding the count table!

* Count table structure has been created

* Shared File with count tables and without work!

* Count table can now be added to the cluster functions and will produce an output of abundance and clusters in dataframes.

- Removed the exchanged of strings and read table between r and c++ and added a more modifiable approach.

* Fixed test, now we have to add more test.

* Fixes for linux and other computer architectures.

* Removing dependencies that are not used.

* Created test fixtures for unit test

* Removed all of the negligent files that are not needed and added test to all of the new functions!

---------

Co-authored-by: YoungKrug <31873199+YoungKrug@users.noreply.github.com>
* Adding example data for mothur results.

* Added support for similarity matrix functionality

* Updates to phylip writing, and fixes to incorrect clustering!

* Stable, Classic cluster and opticluster both are identical to that of mothur! + Names can be added

* Results are the same as they are in mothur!

* All the unit test work, and clustur prints out expected results!
GregJohnsonJr and others added 10 commits March 19, 2025 17:58
* This should be the fix for duplicated names during opticluster. Going to create a test for it

* Fix for duplicated names in clustering

* Added test to ensure this issue is detected if it happens again.

* Updating description file
* Forgot to delete a pointer.

Fixing memory leaks

* Lets see if this fixes the memory leak for process sparse matrix

* Lets see if this fix the other memory leak.

* Small refactor and attempting to fix memory leak

* Lets see if this fixes the memory leak.

return as a new instead of declaring new in the scope.

* Removing unneeded pointers, and dynamic memory allocations.

* Fix for the last memory leak, hopefully. Removing more unneeded pointers

* Removing more unneeded pointers to remove memory leaks.

* Removing memory leaks from test

* More test fixes

* More memory leaks found and fixed

* Attempting to fix the counttable adapter memory leak

* Modifying the way we extract data

* Fixing naming conventions and trying ot fix the hashmap memory leak

* Changing the way we save the values inside of the hashmap.

* Revert "Changing the way we save the values inside of the hashmap."

This reverts commit db33e15.
* Adding new update from mothur.

Mothur now prints out a warning and changes metrics if the distances are all below the cutoff.

* Fix for compilation warnings

* Fixing and adding new test for the new feature.
@GregJohnsonJr GregJohnsonJr self-assigned this Dec 12, 2025
@GregJohnsonJr GregJohnsonJr added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request labels Dec 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants