From cd68e1ffe99cc12be590f93ca88b29d0b14e32ed Mon Sep 17 00:00:00 2001 From: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Mon, 14 Oct 2024 21:40:58 -0400 Subject: [PATCH] Dev (#32) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added unit test and created a easy opticluster function * Release v0.0.1 (#1) * 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 * Add cpp test (#3) * 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! * RMD Check is able to run successfully! * Correcting the paths of my cpp files, should fix the action errors. * Update to the cluster command test fixture * Modifying the test for opticluster * Ensuring everything works with c++11 * Removing code issues from cluster command * Adding the build ignore * Founds some issue where I am using c++ 17 syntax and not 11. * Github action fixes, needed to update syntax towards cpp 11 * Modified the testing structure by removing the "Opticluster returns proper stats". I appears it is returning incorrect data on different computer architectures. It is also not needed in the code. * Fix cluster unit test (#5) * 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. * Printing out the metrics after you perform a cluster and added a true/false condition for shuffling * Release polish (#6) * 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. * Added a depends for lazy-loading and other R related issues. * More cluster features (#7) * 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. * The fix for github actions. * Change to the include file. * Removing srand from Utils, going to attempt to set seeds inside of R. * Fix for race condition issue. * Fix for RCMD check warnings * The fix for the windows version of RMD Check! * Adding dependency for time. * Make shared (#9) * 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> * Forgot a unit test. (#10) * Fix results (#11) * 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! * Removing and fixing check issues. * Fix compilation warnings (#12) * No warnings on mac! * Still fixing clang-tidy errors. Lots of comparisons between longs and ints that will cause problems. * Half way done, modified a lot of deduced type conversions. May need to go back in the future to remove them. * Should fix all the warnings on linux and windows. * Pushing through more deduced type fixes. * Should be the final fix for linux. * Fix for negative index value * Cleaning up build notes. * lintr fixes * Fix for lintr * Read phylip files (#14) * Looking to add a function to replace the entry point. * Added support for phylip file reading! * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Documentation (#16) * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Fix for opticluster clustering. * Fixing up the documentation * I am getting the same number of bins! * example data * Fix for test error * Testing values to RMD file * Small changes * Added sorting by bin size to cluster output and fixed the clustering issue! * Modification to the test! * Updates to test file * Cleaning up test * Small change * Method to check if each cluster exist in the dataframe * Using content paths instead of absolutes * Create 96_sq_column_results_mac.list * Pushing results for different operating systems * Updating documentation * Added inst folders * Update Cluster.R * Pushing the temporary fix! * Pushing spare_matrix data file * Squashed commit of the following: commit dfd9b2d83c4ab60a95b1585995482ac176fc1114 Author: YoungKrug Date: Tue Sep 24 15:42:56 2024 -0400 Big error in readPhylip matrix. I was never checking whether the matrix was a square or not! * Creating vignettes * Created base pkgdown structure * Base structure of documentation and website * Small optimzation to clustur * Fixing unit test * Removing comments * Changed the name of the package to clustur * Removing unneeded data and fixing issue to validate count_table * Fixing check errors. * Consistent randomization (#17) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! * Squashed commit of the following: commit 45ba179f6b2e63687229c042be92a6f4cae2c786 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:17:22 2024 -0400 Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! commit 10c2ad9915d63dac5fee47d5385b91e711a8b16a Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:15:33 2024 -0400 Consistent randomization (#17) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments commit e87319e3bfdb1c1657fc399af778e1c6bd17fc37 Author: GregJohnsonJr Date: Wed Sep 25 12:04:03 2024 -0400 Fixing unit test commit 8c648bd5dce04613d5fb11b2f8133dda762d8507 Author: GregJohnsonJr Date: Wed Sep 25 11:51:15 2024 -0400 Small optimzation to clustur commit 05c8a0738991359f6ef9f69f3de180fd6173ee44 Author: GregJohnsonJr Date: Wed Sep 25 11:38:43 2024 -0400 Base structure of documentation and website commit 4a4fcfa4ed154804a9574323d1a56f76d958c24f Author: GregJohnsonJr Date: Wed Sep 25 10:43:40 2024 -0400 Created base pkgdown structure commit a714b7d0a7c9390c30eb723d4135b980a052d387 Author: YoungKrug Date: Tue Sep 24 23:01:44 2024 -0400 Creating vignettes commit 6a5df2035a1de3f206a1bcd9ddc0d4bb9b763a83 Author: YoungKrug Date: Tue Sep 24 15:43:09 2024 -0400 Squashed commit of the following: commit dfd9b2d83c4ab60a95b1585995482ac176fc1114 Author: YoungKrug Date: Tue Sep 24 15:42:56 2024 -0400 Big error in readPhylip matrix. I was never checking whether the matrix was a square or not! commit 63d515ed9dac7370abd579ec1a3d9c3a69f589d2 Author: GregJohnsonJr Date: Tue Sep 24 15:02:02 2024 -0400 Pushing spare_matrix data file commit 7eec4fbf6ba4b4c881d65cabf86eb9c4b344ca1b Author: GregJohnsonJr Date: Tue Sep 24 14:43:12 2024 -0400 Pushing the temporary fix! commit 0b5a145cc3ee1db43d4c7472940568324f48cacf Author: YoungKrug Date: Tue Sep 24 13:56:47 2024 -0400 Update Cluster.R commit 7c694e39687ccd62d63fbaa6f3d8713606f5b633 Author: YoungKrug Date: Tue Sep 24 12:51:01 2024 -0400 Added inst folders commit 3cb0ba458c6fb35c963a4ee2b6000ee4137a6442 Author: YoungKrug Date: Tue Sep 24 12:02:56 2024 -0400 Updating documentation commit 5af269d6bf15db5c96e1c6b676ad57a9b9793eeb Author: YoungKrug Date: Mon Sep 23 19:45:19 2024 -0400 Pushing results for different operating systems commit a745510b856aa3259400c65a4566e98d61a643a8 Author: GregJohnsonJr Date: Mon Sep 23 19:36:29 2024 -0400 Create 96_sq_column_results_mac.list commit d08a209b9ac4419e64313312497be6a83acd562f Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 12:03:56 2024 -0400 Using content paths instead of absolutes commit 1623601703cf96bf75a0dd36ecee49c75b2084f9 Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 09:49:11 2024 -0400 Method to check if each cluster exist in the dataframe commit 585736ef751b407d397925269788600c83521942 Author: YoungKrug Date: Wed Sep 18 13:51:36 2024 -0400 Small change commit acfbc9a008e215a4822265d89a224ff9973a475f Author: YoungKrug Date: Wed Sep 18 13:50:29 2024 -0400 Cleaning up test commit 60d16f54feff027ecdfa641ff99f65399781a1b3 Author: YoungKrug Date: Wed Sep 18 13:49:41 2024 -0400 Updates to test file commit d89afb52f6e2daf8ab6491fbcadde43a96147914 Author: YoungKrug Date: Wed Sep 18 13:47:32 2024 -0400 Modification to the test! commit d48660439a99d0352960e00eb060228fa6293c3f Author: GregJohnsonJr Date: Wed Sep 18 13:21:11 2024 -0400 Added sorting by bin size to cluster output and fixed the clustering issue! commit 3bddc53b063b8439a0485cc31e3064f7082d7a2a Author: GregJohnsonJr Date: Tue Sep 17 20:05:22 2024 -0400 Small changes commit 0d3e798422ff9d11e2bc0dee51d741263f6d2a9b Author: GregJohnsonJr Date: Tue Sep 17 15:20:47 2024 -0400 Testing values to RMD file commit 58a7e8e612730f991c10e17f5629120899a71caf Author: GregJohnsonJr Date: Tue Sep 17 13:55:31 2024 -0400 Fix for test error commit 4c63f8ca1fe110d484914c0663a12bac7273240b Author: GregJohnsonJr Date: Tue Sep 17 13:06:52 2024 -0400 example data commit 48a0f38462b12e3cc1ca4c3c2b11c7d672643f61 Author: GregJohnsonJr Date: Mon Sep 16 19:21:22 2024 -0400 I am getting the same number of bins! commit 37cdb7e40373f455f3497f019d80d1baace40762 Author: GregJohnsonJr Date: Mon Sep 16 17:29:51 2024 -0400 Fixing up the documentation commit d7dc2948ca5adc2f7033348492549d277db2e3c4 Author: GregJohnsonJr Date: Mon Sep 16 16:43:10 2024 -0400 Fix for opticluster clustering. commit 3d8015fe6918bc3c36047abe0551596f51927726 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Mon Sep 16 15:01:11 2024 -0400 Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues commit 6f830c6aa435260c84627946281b10f5a8d03353 Author: GregJohnsonJr Date: Fri Sep 13 17:02:03 2024 -0400 Column distance files work! commit e6f00a816e9778b1dd4a8b9c1ec92818c93e3249 Author: GregJohnsonJr Date: Fri Sep 13 12:38:20 2024 -0400 Added functionality for column distance file reading! commit 25a357dccce0f4d0b9e1ec198ced4f98a3653163 Author: GregJohnsonJr Date: Thu Sep 12 17:37:58 2024 -0400 Adding r documentation about mothur and clustur commit fa25af7f600e7feb97aa97b963ec27ae6f0abdac Author: GregJohnsonJr Date: Thu Sep 12 16:44:32 2024 -0400 Initial push * Documentation (#16) (#19) (#20) * Documentation (#16) * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Squashed commit of the following: commit 45ba179f6b2e63687229c042be92a6f4cae2c786 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:17:22 2024 -0400 Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! commit 10c2ad9915d63dac5fee47d5385b91e711a8b16a Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:15:33 2024 -0400 Consistent randomization (#17) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments commit e87319e3bfdb1c1657fc399af778e1c6bd17fc37 Author: GregJohnsonJr Date: Wed Sep 25 12:04:03 2024 -0400 Fixing unit test commit 8c648bd5dce04613d5fb11b2f8133dda762d8507 Author: GregJohnsonJr Date: Wed Sep 25 11:51:15 2024 -0400 Small optimzation to clustur commit 05c8a0738991359f6ef9f69f3de180fd6173ee44 Author: GregJohnsonJr Date: Wed Sep 25 11:38:43 2024 -0400 Base structure of documentation and website commit 4a4fcfa4ed154804a9574323d1a56f76d958c24f Author: GregJohnsonJr Date: Wed Sep 25 10:43:40 2024 -0400 Created base pkgdown structure commit a714b7d0a7c9390c30eb723d4135b980a052d387 Author: YoungKrug Date: Tue Sep 24 23:01:44 2024 -0400 Creating vignettes commit 6a5df2035a1de3f206a1bcd9ddc0d4bb9b763a83 Author: YoungKrug Date: Tue Sep 24 15:43:09 2024 -0400 Squashed commit of the following: commit dfd9b2d83c4ab60a95b1585995482ac176fc1114 Author: YoungKrug Date: Tue Sep 24 15:42:56 2024 -0400 Big error in readPhylip matrix. I was never checking whether the matrix was a square or not! commit 63d515ed9dac7370abd579ec1a3d9c3a69f589d2 Author: GregJohnsonJr Date: Tue Sep 24 15:02:02 2024 -0400 Pushing spare_matrix data file commit 7eec4fbf6ba4b4c881d65cabf86eb9c4b344ca1b Author: GregJohnsonJr Date: Tue Sep 24 14:43:12 2024 -0400 Pushing the temporary fix! commit 0b5a145cc3ee1db43d4c7472940568324f48cacf Author: YoungKrug Date: Tue Sep 24 13:56:47 2024 -0400 Update Cluster.R commit 7c694e39687ccd62d63fbaa6f3d8713606f5b633 Author: YoungKrug Date: Tue Sep 24 12:51:01 2024 -0400 Added inst folders commit 3cb0ba458c6fb35c963a4ee2b6000ee4137a6442 Author: YoungKrug Date: Tue Sep 24 12:02:56 2024 -0400 Updating documentation commit 5af269d6bf15db5c96e1c6b676ad57a9b9793eeb Author: YoungKrug Date: Mon Sep 23 19:45:19 2024 -0400 Pushing results for different operating systems commit a745510b856aa3259400c65a4566e98d61a643a8 Author: GregJohnsonJr Date: Mon Sep 23 19:36:29 2024 -0400 Create 96_sq_column_results_mac.list commit d08a209b9ac4419e64313312497be6a83acd562f Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 12:03:56 2024 -0400 Using content paths instead of absolutes commit 1623601703cf96bf75a0dd36ecee49c75b2084f9 Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 09:49:11 2024 -0400 Method to check if each cluster exist in the dataframe commit 585736ef751b407d397925269788600c83521942 Author: YoungKrug Date: Wed Sep 18 13:51:36 2024 -0400 Small change commit acfbc9a008e215a4822265d89a224ff9973a475f Author: YoungKrug Date: Wed Sep 18 13:50:29 2024 -0400 Cleaning up test commit 60d16f54feff027ecdfa641ff99f65399781a1b3 Author: YoungKrug Date: Wed Sep 18 13:49:41 2024 -0400 Updates to test file commit d89afb52f6e2daf8ab6491fbcadde43a96147914 Author: YoungKrug Date: Wed Sep 18 13:47:32 2024 -0400 Modification to the test! commit d48660439a99d0352960e00eb060228fa6293c3f Author: GregJohnsonJr Date: Wed Sep 18 13:21:11 2024 -0400 Added sorting by bin size to cluster output and fixed the clustering issue! commit 3bddc53b063b8439a0485cc31e3064f7082d7a2a Author: GregJohnsonJr Date: Tue Sep 17 20:05:22 2024 -0400 Small changes commit 0d3e798422ff9d11e2bc0dee51d741263f6d2a9b Author: GregJohnsonJr Date: Tue Sep 17 15:20:47 2024 -0400 Testing values to RMD file commit 58a7e8e612730f991c10e17f5629120899a71caf Author: GregJohnsonJr Date: Tue Sep 17 13:55:31 2024 -0400 Fix for test error commit 4c63f8ca1fe110d484914c0663a12bac7273240b Author: GregJohnsonJr Date: Tue Sep 17 13:06:52 2024 -0400 example data commit 48a0f38462b12e3cc1ca4c3c2b11c7d672643f61 Author: GregJohnsonJr Date: Mon Sep 16 19:21:22 2024 -0400 I am getting the same number of bins! commit 37cdb7e40373f455f3497f019d80d1baace40762 Author: GregJohnsonJr Date: Mon Sep 16 17:29:51 2024 -0400 Fixing up the documentation commit d7dc2948ca5adc2f7033348492549d277db2e3c4 Author: GregJohnsonJr Date: Mon Sep 16 16:43:10 2024 -0400 Fix for opticluster clustering. commit 3d8015fe6918bc3c36047abe0551596f51927726 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Mon Sep 16 15:01:11 2024 -0400 Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues commit 6f830c6aa435260c84627946281b10f5a8d03353 Author: GregJohnsonJr Date: Fri Sep 13 17:02:03 2024 -0400 Column distance files work! commit e6f00a816e9778b1dd4a8b9c1ec92818c93e3249 Author: GregJohnsonJr Date: Fri Sep 13 12:38:20 2024 -0400 Added functionality for column distance file reading! commit 25a357dccce0f4d0b9e1ec198ced4f98a3653163 Author: GregJohnsonJr Date: Thu Sep 12 17:37:58 2024 -0400 Adding r documentation about mothur and clustur commit fa25af7f600e7feb97aa97b963ec27ae6f0abdac Author: GregJohnsonJr Date: Thu Sep 12 16:44:32 2024 -0400 Initial push * Removing old vignette * Adding additional documentation * Adding links (#22) * Moving RDS file * Small changes to test * Adding a vignette, fixed the test that were failing, and removed old data. * Small change to test * Pushing lintr fixes * Distance files to sparse matrix (#23) * Added the conversion from distance files (phylip, column) to sparse matrix. * Removing unneeded data and cleaning up files. * Unify clustering (#25) * added documentation * Check works on mac-os * Edit getting started vignette * Small changes to the test and removing unneeded data. --------- Co-authored-by: Pat Schloss * Refactor package methods (#26) * Added functionality to determine if the file is a phylip or column and allowed for the creation of a distance matrix object in r. * Getters and Setters for distance processing work! * Created a abstract class to unify the column and phylip reader class. * Process Sparse Data aswell! * Added cluster functionality! * Created R function for the c++ functionality * Added the copy constructors and fixed issues with data not being maintained. * Added documentation, need to fix read sparse matrices * Added new functions and removed old functionality * Count table can now read sparse data files * added documentation to all of the functions and created new 'light-weight' test for the clustering test. Im using smaller csv's. . * Test work, just need to fix check errors! * Added new functionality, created test and examples for all of the functions and refactored the current siting test to be faster and use smaller csv files. * Removing DS_Store object from tracking * Updating git ignore * Forgot to include the queue header! * Linted the package * Small Change to examples * Added tests for the validate_count_table function * Removing R profile from tracking * Delete .Rprofile * Fix lintr and pkgdown issues * Fix for pkgdown and lintr * Change to test in cluster_object-getters. * Squashed commit of the following: commit 744dfb7bad358dd57303fec4dd492e5320a6a3a9 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Sun Oct 13 11:18:40 2024 -0400 Update check-full.yml Removed devel tag from github action commit dcb9b49b790155ecaef76ca142c2210c86b587a6 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Sun Oct 13 10:54:44 2024 -0400 Dev (#28) * Added unit test and created a easy opticluster function * Release v0.0.1 (#1) * 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 * Add cpp test (#3) * 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! * RMD Check is able to run successfully! * Correcting the paths of my cpp files, should fix the action errors. * Update to the cluster command test fixture * Modifying the test for opticluster * Ensuring everything works with c++11 * Removing code issues from cluster command * Adding the build ignore * Founds some issue where I am using c++ 17 syntax and not 11. * Github action fixes, needed to update syntax towards cpp 11 * Modified the testing structure by removing the "Opticluster returns proper stats". I appears it is returning incorrect data on different computer architectures. It is also not needed in the code. * Fix cluster unit test (#5) * 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. * Printing out the metrics after you perform a cluster and added a true/false condition for shuffling * Release polish (#6) * 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. * Added a depends for lazy-loading and other R related issues. * More cluster features (#7) * 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. * The fix for github actions. * Change to the include file. * Removing srand from Utils, going to attempt to set seeds inside of R. * Fix for race condition issue. * Fix for RCMD check warnings * The fix for the windows version of RMD Check! * Adding dependency for time. * Make shared (#9) * 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> * Forgot a unit test. (#10) * Fix results (#11) * 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! * Removing and fixing check issues. * Fix compilation warnings (#12) * No warnings on mac! * Still fixing clang-tidy errors. Lots of comparisons between longs and ints that will cause problems. * Half way done, modified a lot of deduced type conversions. May need to go back in the future to remove them. * Should fix all the warnings on linux and windows. * Pushing through more deduced type fixes. * Should be the final fix for linux. * Fix for negative index value * Cleaning up build notes. * lintr fixes * Fix for lintr * Read phylip files (#14) * Looking to add a function to replace the entry point. * Added support for phylip file reading! * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Documentation (#16) * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Fix for opticluster clustering. * Fixing up the documentation * I am getting the same number of bins! * example data * Fix for test error * Testing values to RMD file * Small changes * Added sorting by bin size to cluster output and fixed the clustering issue! * Modification to the test! * Updates to test file * Cleaning up test * Small change * Method to check if each cluster exist in the dataframe * Using content paths instead of absolutes * Create 96_sq_column_results_mac.list * Pushing results for different operating systems * Updating documentation * Added inst folders * Update Cluster.R * Pushing the temporary fix! * Pushing spare_matrix data file * Squashed commit of the following: commit dfd9b2d83c4ab60a95b1585995482ac176fc1114 Author: YoungKrug Date: Tue Sep 24 15:42:56 2024 -0400 Big error in readPhylip matrix. I was never checking whether the matrix was a square or not! * Creating vignettes * Created base pkgdown structure * Base structure of documentation and website * Small optimzation to clustur * Fixing unit test * Removing comments * Changed the name of the package to clustur * Removing unneeded data and fixing issue to validate count_table * Fixing check errors. * Consistent randomization (#17) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! * Squashed commit of the following: commit 45ba179f6b2e63687229c042be92a6f4cae2c786 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:17:22 2024 -0400 Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! commit 10c2ad9915d63dac5fee47d5385b91e711a8b16a Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:15:33 2024 -0400 Consistent randomization (#17) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments commit e87319e3bfdb1c1657fc399af778e1c6bd17fc37 Author: GregJohnsonJr Date: Wed Sep 25 12:04:03 2024 -0400 Fixing unit test commit 8c648bd5dce04613d5fb11b2f8133dda762d8507 Author: GregJohnsonJr Date: Wed Sep 25 11:51:15 2024 -0400 Small optimzation to clustur commit 05c8a0738991359f6ef9f69f3de180fd6173ee44 Author: GregJohnsonJr Date: Wed Sep 25 11:38:43 2024 -0400 Base structure of documentation and website commit 4a4fcfa4ed154804a9574323d1a56f76d958c24f Author: GregJohnsonJr Date: Wed Sep 25 10:43:40 2024 -0400 Created base pkgdown structure commit a714b7d0a7c9390c30eb723d4135b980a052d387 Author: YoungKrug Date: Tue Sep 24 23:01:44 2024 -0400 Creating vignettes commit 6a5df2035a1de3f206a1bcd9ddc0d4bb9b763a83 Author: YoungKrug Date: Tue Sep 24 15:43:09 2024 -0400 Squashed commit of the following: commit dfd9b2d83c4ab60a95b1585995482ac176fc1114 Author: YoungKrug Date: Tue Sep 24 15:42:56 2024 -0400 Big error in readPhylip matrix. I was never checking whether the matrix was a square or not! commit 63d515ed9dac7370abd579ec1a3d9c3a69f589d2 Author: GregJohnsonJr Date: Tue Sep 24 15:02:02 2024 -0400 Pushing spare_matrix data file commit 7eec4fbf6ba4b4c881d65cabf86eb9c4b344ca1b Author: GregJohnsonJr Date: Tue Sep 24 14:43:12 2024 -0400 Pushing the temporary fix! commit 0b5a145cc3ee1db43d4c7472940568324f48cacf Author: YoungKrug Date: Tue Sep 24 13:56:47 2024 -0400 Update Cluster.R commit 7c694e39687ccd62d63fbaa6f3d8713606f5b633 Author: YoungKrug Date: Tue Sep 24 12:51:01 2024 -0400 Added inst folders commit 3cb0ba458c6fb35c963a4ee2b6000ee4137a6442 Author: YoungKrug Date: Tue Sep 24 12:02:56 2024 -0400 Updating documentation commit 5af269d6bf15db5c96e1c6b676ad57a9b9793eeb Author: YoungKrug Date: Mon Sep 23 19:45:19 2024 -0400 Pushing results for different operating systems commit a745510b856aa3259400c65a4566e98d61a643a8 Author: GregJohnsonJr Date: Mon Sep 23 19:36:29 2024 -0400 Create 96_sq_column_results_mac.list commit d08a209b9ac4419e64313312497be6a83acd562f Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 12:03:56 2024 -0400 Using content paths instead of absolutes commit 1623601703cf96bf75a0dd36ecee49c75b2084f9 Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 09:49:11 2024 -0400 Method to check if each cluster exist in the dataframe commit 585736ef751b407d397925269788600c83521942 Author: YoungKrug Date: Wed Sep 18 13:51:36 2024 -0400 Small change commit acfbc9a008e215a4822265d89a224ff9973a475f Author: YoungKrug Date: Wed Sep 18 13:50:29 2024 -0400 Cleaning up test commit 60d16f54feff027ecdfa641ff99f65399781a1b3 Author: YoungKrug Date: Wed Sep 18 13:49:41 2024 -0400 Updates to test file commit d89afb52f6e2daf8ab6491fbcadde43a96147914 Author: YoungKrug Date: Wed Sep 18 13:47:32 2024 -0400 Modification to the test! commit d48660439a99d0352960e00eb060228fa6293c3f Author: GregJohnsonJr Date: Wed Sep 18 13:21:11 2024 -0400 Added sorting by bin size to cluster output and fixed the clustering issue! commit 3bddc53b063b8439a0485cc31e3064f7082d7a2a Author: GregJohnsonJr Date: Tue Sep 17 20:05:22 2024 -0400 Small changes commit 0d3e798422ff9d11e2bc0dee51d741263f6d2a9b Author: GregJohnsonJr Date: Tue Sep 17 15:20:47 2024 -0400 Testing values to RMD file commit 58a7e8e612730f991c10e17f5629120899a71caf Author: GregJohnsonJr Date: Tue Sep 17 13:55:31 2024 -0400 Fix for test error commit 4c63f8ca1fe110d484914c0663a12bac7273240b Author: GregJohnsonJr Date: Tue Sep 17 13:06:52 2024 -0400 example data commit 48a0f38462b12e3cc1ca4c3c2b11c7d672643f61 Author: GregJohnsonJr Date: Mon Sep 16 19:21:22 2024 -0400 I am getting the same number of bins! commit 37cdb7e40373f455f3497f019d80d1baace40762 Author: GregJohnsonJr Date: Mon Sep 16 17:29:51 2024 -0400 Fixing up the documentation commit d7dc2948ca5adc2f7033348492549d277db2e3c4 Author: GregJohnsonJr Date: Mon Sep 16 16:43:10 2024 -0400 Fix for opticluster clustering. commit 3d8015fe6918bc3c36047abe0551596f51927726 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Mon Sep 16 15:01:11 2024 -0400 Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues commit 6f830c6aa435260c84627946281b10f5a8d03353 Author: GregJohnsonJr Date: Fri Sep 13 17:02:03 2024 -0400 Column distance files work! commit e6f00a816e9778b1dd4a8b9c1ec92818c93e3249 Author: GregJohnsonJr Date: Fri Sep 13 12:38:20 2024 -0400 Added functionality for column distance file reading! commit 25a357dccce0f4d0b9e1ec198ced4f98a3653163 Author: GregJohnsonJr Date: Thu Sep 12 17:37:58 2024 -0400 Adding r documentation about mothur and clustur commit fa25af7f600e7feb97aa97b963ec27ae6f0abdac Author: GregJohnsonJr Date: Thu Sep 12 16:44:32 2024 -0400 Initial push * Documentation (#16) (#19) (#20) * Documentation (#16) * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Squashed commit of the following: commit 45ba179f6b2e63687229c042be92a6f4cae2c786 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:17:22 2024 -0400 Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! commit 10c2ad9915d63dac5fee47d5385b91e711a8b16a Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:15:33 2024 -0400 Consistent randomization (#17) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments commit e87319e3bfdb1c1657fc399af778e1c6bd17fc37 Author: GregJohnsonJr Date: Wed Sep 25 12:04:03 2024 -0400 Fixing unit test commit 8c648bd5dce04613d5fb11b2f8133dda762d8507 Author: GregJohnsonJr Date: Wed Sep 25 11:51:15 2024 -0400 Small optimzation to clustur commit 05c8a0738991359f6ef9f69f3de180fd6173ee44 Author: GregJohnsonJr Date: Wed Sep 25 11:38:43 2024 -0400 Base structure of documentation and website commit 4a4fcfa4ed154804a9574323d1a56f76d958c24f Author: GregJohnsonJr Date: Wed Sep 25 10:43:40 2024 -0400 Created base pkgdown structure commit a714b7d0a7c9390c30eb723d4135b980a052d387 Author: YoungKrug Date: Tue Sep 24 23:01:44 2024 -0400 Creating vignettes commit 6a5df2035a1de3f206a1bcd9ddc0d4bb9b763a83 Author: YoungKrug Date: Tue Sep 24 15:43:09 2024 -0400 Squashed commit of the following: commit dfd9b2d83c4ab60a95b1585995482ac176fc1114 Author: YoungKrug Date: Tue Sep 24 15:42:56 2024 -0400 Big error in readPhylip matrix. I was never checking whether the matrix was a square or not! commit 63d515ed9dac7370abd579ec1a3d9c3a69f589d2 Author: GregJohnsonJr Date: Tue Sep 24 15:02:02 2024 -0400 Pushing spare_matrix data file commit 7eec4fbf6ba4b4c881d65cabf86eb9c4b344ca1b Author: GregJohnsonJr Date: Tue Sep 24 14:43:12 2024 -0400 Pushing the temporary fix! commit 0b5a145cc3ee1db43d4c7472940568324f48cacf Author: YoungKrug Date: Tue Sep 24 13:56:47 2024 -0400 Update Cluster.R commit 7c694e39687ccd62d63fbaa6f3d8713606f5b633 Author: YoungKrug Date: Tue Sep 24 12:51:01 2024 -0400 Added inst folders commit 3cb0ba458c6fb35c963a4ee2b6000ee4137a6442 Author: YoungKrug Date: Tue Sep 24 12:02:56 2024 -0400 Updating documentation commit 5af269d6bf15db5c96e1c6b676ad57a9b9793eeb Author: YoungKrug Date: Mon Sep 23 19:45:19 2024 -0400 Pushing results for different operating systems commit a745510b856aa3259400c65a4566e98d61a643a8 Author: GregJohnsonJr Date: Mon Sep 23 19:36:29 2024 -0400 Create 96_sq_column_results_mac.list commit d08a209b9ac4419e64313312497be6a83acd562f Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 12:03:56 2024 -0400 Using content paths instead of absolutes commit 1623601703cf96bf75a0dd36ecee49c75b2084f9 Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 09:49:11 2024 -0400 Method to check if each cluster exist in the dataframe commit 585736ef751b407d397925269788600c83521942 Author: YoungKrug Date: Wed Sep 18 13:51:36 2024 -0400 Small change commit acfbc9a008e215a4822265d89a224ff9973a475f Author: YoungKrug Date: Wed Sep 18 13:50:29 2024 -0400 Cleaning up test commit 60d16f54feff027ecdfa641ff99f65399781a1b3 Author: YoungKrug Date: Wed Sep 18 13:49:41 2024 -0400 Updates to test file commit d89afb52f6e2daf8ab6491fbcadde43a96147914 Author: YoungKrug Date: Wed Sep 18 13:47:32 2024 -0400 Modification to the test! commit d48660439a99d0352960e00eb060228fa6293c3f Author: GregJohnsonJr Date: Wed Sep 18 13:21:11 2024 -0400 Added sorting by bin size to cluster output and fixed the clustering issue! commit 3bddc53b063b8439a0485cc31e3064f7082d7a2a Author: GregJohnsonJr Date: Tue Sep 17 20:05:22 2024 -0400 Small changes commit 0d3e798422ff9d11e2bc0dee51d741263f6d2a9b Author: GregJohnsonJr Date: Tue Sep 17 15:20:47 2024 -0400 Testing values to RMD file commit 58a7e8e612730f991c10e17f5629120899a71caf Author: GregJohnsonJr Date: Tue Sep 17 13:55:31 2024 -0400 Fix for test error commit 4c63f8ca1fe110d484914c0663a12bac7273240b Author: GregJohnsonJr Date: Tue Sep 17 13:06:52 2024 -0400 example data commit 48a0f38462b12e3cc1ca4c3c2b11c7d672643f61 Author: GregJohnsonJr Date: Mon Sep 16 19:21:22 2024 -0400 I am getting the same number of bins! commit 37cdb7e40373f455f3497f019d80d1baace40762 Author: GregJohnsonJr Date: Mon Sep 16 17:29:51 2024 -0400 Fixing up the documentation commit d7dc2948ca5adc2f7033348492549d277db2e3c4 Author: GregJohnsonJr Date: Mon Sep 16 16:43:10 2024 -0400 Fix for opticluster clustering. commit 3d8015fe6918bc3c36047abe0551596f51927726 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Mon Sep 16 15:01:11 2024 -0400 Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues commit 6f830c6aa435260c84627946281b10f5a8d03353 Author: GregJohnsonJr Date: Fri Sep 13 17:02:03 2024 -0400 Column distance files work! commit e6f00a816e9778b1dd4a8b9c1ec92818c93e3249 Author: GregJohnsonJr Date: Fri Sep 13 12:38:20 2024 -0400 Added functionality for column distance file reading! commit 25a357dccce0f4d0b9e1ec198ced4f98a3653163 Author: GregJohnsonJr Date: Thu Sep 12 17:37:58 2024 -0400 Adding r documentation about mothur and clustur commit fa25af7f600e7feb97aa97b963ec27ae6f0abdac Author: GregJohnsonJr Date: Thu Sep 12 16:44:32 2024 -0400 Initial push * Removing old vignette * Adding additional documentation * Adding links (#22) * Moving RDS file * Small changes to test * Adding a vignette, fixed the test that were failing, and removed old data. * Small change to test * Pushing lintr fixes * Distance files to sparse matrix (#23) * Added the conversion from distance files (phylip, column) to sparse matrix. * Removing unneeded data and cleaning up files. * Unify clustering (#25) * added documentation * Check works on mac-os * Edit getting started vignette * Small changes to the test and removing unneeded data. --------- Co-authored-by: Pat Schloss * Refactor package methods (#26) * Added functionality to determine if the file is a phylip or column and allowed for the creation of a distance matrix object in r. * Getters and Setters for distance processing work! * Created a abstract class to unify the column and phylip reader class. * Process Sparse Data aswell! * Added cluster functionality! * Created R function for the c++ functionality * Added the copy constructors and fixed issues with data not being maintained. * Added documentation, need to fix read sparse matrices * Added new functions and removed old functionality * Count table can now read sparse data files * added documentation to all of the functions and created new 'light-weight' test for the clustering test. Im using smaller csv's. . * Test work, just need to fix check errors! * Added new functionality, created test and examples for all of the functions and refactored the current siting test to be faster and use smaller csv files. * Removing DS_Store object from tracking * Updating git ignore * Forgot to include the queue header! * Linted the package * Small Change to examples * Added tests for the validate_count_table function * Removing R profile from tracking * Delete .Rprofile * Fix lintr and pkgdown issues * Fix for pkgdown and lintr * Change to test in cluster_object-getters. --------- Co-authored-by: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Co-authored-by: Pat Schloss * Sync branches (#29) * Dev (#28) * Added unit test and created a easy opticluster function * Release v0.0.1 (#1) * 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 * Add cpp test (#3) * 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! * RMD Check is able to run successfully! * Correcting the paths of my cpp files, should fix the action errors. * Update to the cluster command test fixture * Modifying the test for opticluster * Ensuring everything works with c++11 * Removing code issues from cluster command * Adding the build ignore * Founds some issue where I am using c++ 17 syntax and not 11. * Github action fixes, needed to update syntax towards cpp 11 * Modified the testing structure by removing the "Opticluster returns proper stats". I appears it is returning incorrect data on different computer architectures. It is also not needed in the code. * Fix cluster unit test (#5) * 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. * Printing out the metrics after you perform a cluster and added a true/false condition for shuffling * Release polish (#6) * 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. * Added a depends for lazy-loading and other R related issues. * More cluster features (#7) * 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. * The fix for github actions. * Change to the include file. * Removing srand from Utils, going to attempt to set seeds inside of R. * Fix for race condition issue. * Fix for RCMD check warnings * The fix for the windows version of RMD Check! * Adding dependency for time. * Make shared (#9) * 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> * Forgot a unit test. (#10) * Fix results (#11) * 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! * Removing and fixing check issues. * Fix compilation warnings (#12) * No warnings on mac! * Still fixing clang-tidy errors. Lots of comparisons between longs and ints that will cause problems. * Half way done, modified a lot of deduced type conversions. May need to go back in the future to remove them. * Should fix all the warnings on linux and windows. * Pushing through more deduced type fixes. * Should be the final fix for linux. * Fix for negative index value * Cleaning up build notes. * lintr fixes * Fix for lintr * Read phylip files (#14) * Looking to add a function to replace the entry point. * Added support for phylip file reading! * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Documentation (#16) * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Fix for opticluster clustering. * Fixing up the documentation * I am getting the same number of bins! * example data * Fix for test error * Testing values to RMD file * Small changes * Added sorting by bin size to cluster output and fixed the clustering issue! * Modification to the test! * Updates to test file * Cleaning up test * Small change * Method to check if each cluster exist in the dataframe * Using content paths instead of absolutes * Create 96_sq_column_results_mac.list * Pushing results for different operating systems * Updating documentation * Added inst folders * Update Cluster.R * Pushing the temporary fix! * Pushing spare_matrix data file * Squashed commit of the following: commit dfd9b2d83c4ab60a95b1585995482ac176fc1114 Author: YoungKrug Date: Tue Sep 24 15:42:56 2024 -0400 Big error in readPhylip matrix. I was never checking whether the matrix was a square or not! * Creating vignettes * Created base pkgdown structure * Base structure of documentation and website * Small optimzation to clustur * Fixing unit test * Removing comments * Changed the name of the package to clustur * Removing unneeded data and fixing issue to validate count_table * Fixing check errors. * Consistent randomization (#17) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! * Squashed commit of the following: commit 45ba179f6b2e63687229c042be92a6f4cae2c786 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:17:22 2024 -0400 Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! commit 10c2ad9915d63dac5fee47d5385b91e711a8b16a Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:15:33 2024 -0400 Consistent randomization (#17) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments commit e87319e3bfdb1c1657fc399af778e1c6bd17fc37 Author: GregJohnsonJr Date: Wed Sep 25 12:04:03 2024 -0400 Fixing unit test commit 8c648bd5dce04613d5fb11b2f8133dda762d8507 Author: GregJohnsonJr Date: Wed Sep 25 11:51:15 2024 -0400 Small optimzation to clustur commit 05c8a0738991359f6ef9f69f3de180fd6173ee44 Author: GregJohnsonJr Date: Wed Sep 25 11:38:43 2024 -0400 Base structure of documentation and website commit 4a4fcfa4ed154804a9574323d1a56f76d958c24f Author: GregJohnsonJr Date: Wed Sep 25 10:43:40 2024 -0400 Created base pkgdown structure commit a714b7d0a7c9390c30eb723d4135b980a052d387 Author: YoungKrug Date: Tue Sep 24 23:01:44 2024 -0400 Creating vignettes commit 6a5df2035a1de3f206a1bcd9ddc0d4bb9b763a83 Author: YoungKrug Date: Tue Sep 24 15:43:09 2024 -0400 Squashed commit of the following: commit dfd9b2d83c4ab60a95b1585995482ac176fc1114 Author: YoungKrug Date: Tue Sep 24 15:42:56 2024 -0400 Big error in readPhylip matrix. I was never checking whether the matrix was a square or not! commit 63d515ed9dac7370abd579ec1a3d9c3a69f589d2 Author: GregJohnsonJr Date: Tue Sep 24 15:02:02 2024 -0400 Pushing spare_matrix data file commit 7eec4fbf6ba4b4c881d65cabf86eb9c4b344ca1b Author: GregJohnsonJr Date: Tue Sep 24 14:43:12 2024 -0400 Pushing the temporary fix! commit 0b5a145cc3ee1db43d4c7472940568324f48cacf Author: YoungKrug Date: Tue Sep 24 13:56:47 2024 -0400 Update Cluster.R commit 7c694e39687ccd62d63fbaa6f3d8713606f5b633 Author: YoungKrug Date: Tue Sep 24 12:51:01 2024 -0400 Added inst folders commit 3cb0ba458c6fb35c963a4ee2b6000ee4137a6442 Author: YoungKrug Date: Tue Sep 24 12:02:56 2024 -0400 Updating documentation commit 5af269d6bf15db5c96e1c6b676ad57a9b9793eeb Author: YoungKrug Date: Mon Sep 23 19:45:19 2024 -0400 Pushing results for different operating systems commit a745510b856aa3259400c65a4566e98d61a643a8 Author: GregJohnsonJr Date: Mon Sep 23 19:36:29 2024 -0400 Create 96_sq_column_results_mac.list commit d08a209b9ac4419e64313312497be6a83acd562f Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 12:03:56 2024 -0400 Using content paths instead of absolutes commit 1623601703cf96bf75a0dd36ecee49c75b2084f9 Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 09:49:11 2024 -0400 Method to check if each cluster exist in the dataframe commit 585736ef751b407d397925269788600c83521942 Author: YoungKrug Date: Wed Sep 18 13:51:36 2024 -0400 Small change commit acfbc9a008e215a4822265d89a224ff9973a475f Author: YoungKrug Date: Wed Sep 18 13:50:29 2024 -0400 Cleaning up test commit 60d16f54feff027ecdfa641ff99f65399781a1b3 Author: YoungKrug Date: Wed Sep 18 13:49:41 2024 -0400 Updates to test file commit d89afb52f6e2daf8ab6491fbcadde43a96147914 Author: YoungKrug Date: Wed Sep 18 13:47:32 2024 -0400 Modification to the test! commit d48660439a99d0352960e00eb060228fa6293c3f Author: GregJohnsonJr Date: Wed Sep 18 13:21:11 2024 -0400 Added sorting by bin size to cluster output and fixed the clustering issue! commit 3bddc53b063b8439a0485cc31e3064f7082d7a2a Author: GregJohnsonJr Date: Tue Sep 17 20:05:22 2024 -0400 Small changes commit 0d3e798422ff9d11e2bc0dee51d741263f6d2a9b Author: GregJohnsonJr Date: Tue Sep 17 15:20:47 2024 -0400 Testing values to RMD file commit 58a7e8e612730f991c10e17f5629120899a71caf Author: GregJohnsonJr Date: Tue Sep 17 13:55:31 2024 -0400 Fix for test error commit 4c63f8ca1fe110d484914c0663a12bac7273240b Author: GregJohnsonJr Date: Tue Sep 17 13:06:52 2024 -0400 example data commit 48a0f38462b12e3cc1ca4c3c2b11c7d672643f61 Author: GregJohnsonJr Date: Mon Sep 16 19:21:22 2024 -0400 I am getting the same number of bins! commit 37cdb7e40373f455f3497f019d80d1baace40762 Author: GregJohnsonJr Date: Mon Sep 16 17:29:51 2024 -0400 Fixing up the documentation commit d7dc2948ca5adc2f7033348492549d277db2e3c4 Author: GregJohnsonJr Date: Mon Sep 16 16:43:10 2024 -0400 Fix for opticluster clustering. commit 3d8015fe6918bc3c36047abe0551596f51927726 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Mon Sep 16 15:01:11 2024 -0400 Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues commit 6f830c6aa435260c84627946281b10f5a8d03353 Author: GregJohnsonJr Date: Fri Sep 13 17:02:03 2024 -0400 Column distance files work! commit e6f00a816e9778b1dd4a8b9c1ec92818c93e3249 Author: GregJohnsonJr Date: Fri Sep 13 12:38:20 2024 -0400 Added functionality for column distance file reading! commit 25a357dccce0f4d0b9e1ec198ced4f98a3653163 Author: GregJohnsonJr Date: Thu Sep 12 17:37:58 2024 -0400 Adding r documentation about mothur and clustur commit fa25af7f600e7feb97aa97b963ec27ae6f0abdac Author: GregJohnsonJr Date: Thu Sep 12 16:44:32 2024 -0400 Initial push * Documentation (#16) (#19) (#20) * Documentation (#16) * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Squashed commit of the following: commit 45ba179f6b2e63687229c042be92a6f4cae2c786 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:17:22 2024 -0400 Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! commit 10c2ad9915d63dac5fee47d5385b91e711a8b16a Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:15:33 2024 -0400 Consistent randomization (#17) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments commit e87319e3bfdb1c1657fc399af778e1c6bd17fc37 Author: GregJohnsonJr Date: Wed Sep 25 12:04:03 2024 -0400 Fixing unit test commit 8c648bd5dce04613d5fb11b2f8133dda762d8507 Author: GregJohnsonJr Date: Wed Sep 25 11:51:15 2024 -0400 Small optimzation to clustur commit 05c8a0738991359f6ef9f69f3de180fd6173ee44 Author: GregJohnsonJr Date: Wed Sep 25 11:38:43 2024 -0400 Base structure of documentation and website commit 4a4fcfa4ed154804a9574323d1a56f76d958c24f Author: GregJohnsonJr Date: Wed Sep 25 10:43:40 2024 -0400 Created base pkgdown structure commit a714b7d0a7c9390c30eb723d4135b980a052d387 Author: YoungKrug Date: Tue Sep 24 23:01:44 2024 -0400 Creating vignettes commit 6a5df2035a1de3f206a1bcd9ddc0d4bb9b763a83 Author: YoungKrug Date: Tue Sep 24 15:43:09 2024 -0400 Squashed commit of the following: commit dfd9b2d83c4ab60a95b1585995482ac176fc1114 Author: YoungKrug Date: Tue Sep 24 15:42:56 2024 -0400 Big error in readPhylip matrix. I was never checking whether the matrix was a square or not! commit 63d515ed9dac7370abd579ec1a3d9c3a69f589d2 Author: GregJohnsonJr Date: Tue Sep 24 15:02:02 2024 -0400 Pushing spare_matrix data file commit 7eec4fbf6ba4b4c881d65cabf86eb9c4b344ca1b Author: GregJohnsonJr Date: Tue Sep 24 14:43:12 2024 -0400 Pushing the temporary fix! commit 0b5a145cc3ee1db43d4c7472940568324f48cacf Author: YoungKrug Date: Tue Sep 24 13:56:47 2024 -0400 Update Cluster.R commit 7c694e39687ccd62d63fbaa6f3d8713606f5b633 Author: YoungKrug Date: Tue Sep 24 12:51:01 2024 -0400 Added inst folders commit 3cb0ba458c6fb35c963a4ee2b6000ee4137a6442 Author: YoungKrug Date: Tue Sep 24 12:02:56 2024 -0400 Updating documentation commit 5af269d6bf15db5c96e1c6b676ad57a9b9793eeb Author: YoungKrug Date: Mon Sep 23 19:45:19 2024 -0400 Pushing results for different operating systems commit a745510b856aa3259400c65a4566e98d61a643a8 Author: GregJohnsonJr Date: Mon Sep 23 19:36:29 2024 -0400 Create 96_sq_column_results_mac.list commit d08a209b9ac4419e64313312497be6a83acd562f Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 12:03:56 2024 -0400 Using content paths instead of absolutes commit 1623601703cf96bf75a0dd36ecee49c75b2084f9 Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 09:49:11 2024 -0400 Method to check if each cluster exist in the dataframe commit 585736ef751b407d397925269788600c83521942 Author: YoungKrug Date: Wed Sep 18 13:51:36 2024 -0400 Small change commit acfbc9a008e215a4822265d89a224ff9973a475f Author: YoungKrug Date: Wed Sep 18 13:50:29 2024 -0400 Cleaning up test commit 60d16f54feff027ecdfa641ff99f65399781a1b3 Author: YoungKrug Date: Wed Sep 18 13:49:41 2024 -0400 Updates to test file commit d89afb52f6e2daf8ab6491fbcadde43a96147914 Author: YoungKrug Date: Wed Sep 18 13:47:32 2024 -0400 Modification to the test! commit d48660439a99d0352960e00eb060228fa6293c3f Author: GregJohnsonJr Date: Wed Sep 18 13:21:11 2024 -0400 Added sorting by bin size to cluster output and fixed the clustering issue! commit 3bddc53b063b8439a0485cc31e3064f7082d7a2a Author: GregJohnsonJr Date: Tue Sep 17 20:05:22 2024 -0400 Small changes commit 0d3e798422ff9d11e2bc0dee51d741263f6d2a9b Author: GregJohnsonJr Date: Tue Sep 17 15:20:47 2024 -0400 Testing values to RMD file commit 58a7e8e612730f991c10e17f5629120899a71caf Author: GregJohnsonJr Date: Tue Sep 17 13:55:31 2024 -0400 Fix for test error commit 4c63f8ca1fe110d484914c0663a12bac7273240b Author: GregJohnsonJr Date: Tue Sep 17 13:06:52 2024 -0400 example data commit 48a0f38462b12e3cc1ca4c3c2b11c7d672643f61 Author: GregJohnsonJr Date: Mon Sep 16 19:21:22 2024 -0400 I am getting the same number of bins! commit 37cdb7e40373f455f3497f019d80d1baace40762 Author: GregJohnsonJr Date: Mon Sep 16 17:29:51 2024 -0400 Fixing up the documentation commit d7dc2948ca5adc2f7033348492549d277db2e3c4 Author: GregJohnsonJr Date: Mon Sep 16 16:43:10 2024 -0400 Fix for opticluster clustering. commit 3d8015fe6918bc3c36047abe0551596f51927726 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Mon Sep 16 15:01:11 2024 -0400 Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues commit 6f830c6aa435260c84627946281b10f5a8d03353 Author: GregJohnsonJr Date: Fri Sep 13 17:02:03 2024 -0400 Column distance files work! commit e6f00a816e9778b1dd4a8b9c1ec92818c93e3249 Author: GregJohnsonJr Date: Fri Sep 13 12:38:20 2024 -0400 Added functionality for column distance file reading! commit 25a357dccce0f4d0b9e1ec198ced4f98a3653163 Author: GregJohnsonJr Date: Thu Sep 12 17:37:58 2024 -0400 Adding r documentation about mothur and clustur commit fa25af7f600e7feb97aa97b963ec27ae6f0abdac Author: GregJohnsonJr Date: Thu Sep 12 16:44:32 2024 -0400 Initial push * Removing old vignette * Adding additional documentation * Adding links (#22) * Moving RDS file * Small changes to test * Adding a vignette, fixed the test that were failing, and removed old data. * Small change to test * Pushing lintr fixes * Distance files to sparse matrix (#23) * Added the conversion from distance files (phylip, column) to sparse matrix. * Removing unneeded data and cleaning up files. * Unify clustering (#25) * added documentation * Check works on mac-os * Edit getting started vignette * Small changes to the test and removing unneeded data. --------- Co-authored-by: Pat Schloss * Refactor package methods (#26) * Added functionality to determine if the file is a phylip or column and allowed for the creation of a distance matrix object in r. * Getters and Setters for distance processing work! * Created a abstract class to unify the column and phylip reader class. * Process Sparse Data aswell! * Added cluster functionality! * Created R function for the c++ functionality * Added the copy constructors and fixed issues with data not being maintained. * Added documentation, need to fix read sparse matrices * Added new functions and removed old functionality * Count table can now read sparse data files * added documentation to all of the functions and created new 'light-weight' test for the clustering test. Im using smaller csv's. . * Test work, just need to fix check errors! * Added new functionality, created test and examples for all of the functions and refactored the current siting test to be faster and use smaller csv files. * Removing DS_Store object from tracking * Updating git ignore * Forgot to include the queue header! * Linted the package * Small Change to examples * Added tests for the validate_count_table function * Removing R profile from tracking * Delete .Rprofile * Fix lintr and pkgdown issues * Fix for pkgdown and lintr * Change to test in cluster_object-getters. --------- Co-authored-by: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Co-authored-by: Pat Schloss * Update check-full.yml Removed devel tag from github action --------- Co-authored-by: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Co-authored-by: Pat Schloss * Fix for reading column and phylip files. * removing data files * Code profiling (#31) * Forgot a unit test. * Squashed commit of the following: commit ad47beb858bbc9caa1d9f57e2094d4e93514cd1e Author: GregJohnsonJr Date: Wed Sep 11 15:20:23 2024 -0400 Cleaning up build notes. commit e7d8625309f771d6afbe6a185080ee98280e3dc9 Author: GregJohnsonJr Date: Wed Sep 11 14:58:20 2024 -0400 Fix for negative index value commit a44542181ba799cdd243a116b24d881e5dfed9b6 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Wed Sep 11 14:03:37 2024 -0400 Fix compilation warnings (#12) * No warnings on mac! * Still fixing clang-tidy errors. Lots of comparisons between longs and ints that will cause problems. * Half way done, modified a lot of deduced type conversions. May need to go back in the future to remove them. * Should fix all the warnings on linux and windows. * Pushing through more deduced type fixes. * Should be the final fix for linux. commit 2be797e4aa0b7746e0e845379a4d371e135ea2d9 Author: YoungKrug Date: Tue Sep 10 11:52:34 2024 -0400 Removing and fixing check issues. commit 3bd7dea6ceb30c43dd5cf2eee399d0445df8d6e2 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Tue Sep 10 11:27:47 2024 -0400 Fix results (#11) * 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! commit 7564d48b2258a9b09b0984c57d8524c10d73d457 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Tue Sep 3 11:21:42 2024 -0400 Forgot a unit test. (#10) * Added gperftools * Modified RcppExports * Squashed commit of the following: commit 7ea9c0b6b4d715c9e5968bdc41ee7eb2b93aeb9a Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 12 12:37:17 2024 -0400 Read phylip files (#14) * Looking to add a function to replace the entry point. * Added support for phylip file reading! commit 386a0c7236a8f3d6ccce4aa87e4bc801116da89e Author: GregJohnsonJr Date: Wed Sep 11 16:26:23 2024 -0400 Fix for lintr commit e6a4c9fa3d31aae0e160bc28ea05ae2af7b37c4c Author: GregJohnsonJr Date: Wed Sep 11 16:19:17 2024 -0400 lintr fixes commit ba93c19d0d74d08d7741748616d9b9ab95986057 Merge: ad47beb 513d8d0 Author: GregJohnsonJr Date: Wed Sep 11 15:42:38 2024 -0400 Merge branch 'master' into dev commit ad47beb858bbc9caa1d9f57e2094d4e93514cd1e Author: GregJohnsonJr Date: Wed Sep 11 15:20:23 2024 -0400 Cleaning up build notes. commit e7d8625309f771d6afbe6a185080ee98280e3dc9 Author: GregJohnsonJr Date: Wed Sep 11 14:58:20 2024 -0400 Fix for negative index value commit a44542181ba799cdd243a116b24d881e5dfed9b6 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Wed Sep 11 14:03:37 2024 -0400 Fix compilation warnings (#12) * No warnings on mac! * Still fixing clang-tidy errors. Lots of comparisons between longs and ints that will cause problems. * Half way done, modified a lot of deduced type conversions. May need to go back in the future to remove them. * Should fix all the warnings on linux and windows. * Pushing through more deduced type fixes. * Should be the final fix for linux. commit 2be797e4aa0b7746e0e845379a4d371e135ea2d9 Author: YoungKrug Date: Tue Sep 10 11:52:34 2024 -0400 Removing and fixing check issues. commit 3bd7dea6ceb30c43dd5cf2eee399d0445df8d6e2 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Tue Sep 10 11:27:47 2024 -0400 Fix results (#11) * 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! commit 7564d48b2258a9b09b0984c57d8524c10d73d457 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Tue Sep 3 11:21:42 2024 -0400 Forgot a unit test. (#10) commit 513d8d016b34471b7970b7fee6e3293c243ef51a Author: GregJohnson <31873199+YoungKrug@users.noreply.github.com> Date: Tue Jul 16 05:15:41 2024 -0400 Update lintr.yml commit f250afd3fed5e798858503e09dbc96f7c05a3973 Author: GregJohnson <31873199+YoungKrug@users.noreply.github.com> Date: Mon Jul 15 21:26:05 2024 -0400 Dev (#8) * Added unit test and created a easy opticluster function * Release v0.0.1 (#1) * 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 * Add cpp test (#3) * 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! * RMD Check is able to run successfully! * Correcting the paths of my cpp files, should fix the action errors. * Update to the cluster command test fixture * Modifying the test for opticluster * Ensuring everything works with c++11 * Removing code issues from cluster command * Adding the build ignore * Founds some issue where I am using c++ 17 syntax and not 11. * Github action fixes, needed to update syntax towards cpp 11 * Modified the testing structure by removing the "Opticluster returns proper stats". I appears it is returning incorrect data on different computer architectures. It is also not needed in the code. * Fix cluster unit test (#5) * 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. * Printing out the metrics after you perform a cluster and added a true/false condition for shuffling * Release polish (#6) * 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. * Added a depends for lazy-loading and other R related issues. * More cluster features (#7) * 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. * The fix for github actions. * Change to the include file. * Removing srand from Utils, going to attempt to set seeds inside of R. * Fix for race condition issue. * Fix for RCMD check warnings * The fix for the windows version of RMD Check! * Adding dependency for time. * Squashed commit of the following: commit 8ad307cd6c55690b556d76f720192e76bc70e81c Author: GregJohnsonJr Date: Mon Oct 14 15:28:36 2024 -0400 removing data files commit 3d7cddb9fd310878f026445f8bd928fc9a1f5ddb Author: GregJohnsonJr Date: Mon Oct 14 13:28:36 2024 -0400 Fix for reading column and phylip files. commit 8e509d96120f84c2208e3283ece44d1a7ef461ce Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Sun Oct 13 22:24:57 2024 -0400 Sync branches (#29) * Dev (#28) * Added unit test and created a easy opticluster function * Release v0.0.1 (#1) * 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 * Add cpp test (#3) * 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! * RMD Check is able to run successfully! * Correcting the paths of my cpp files, should fix the action errors. * Update to the cluster command test fixture * Modifying the test for opticluster * Ensuring everything works with c++11 * Removing code issues from cluster command * Adding the build ignore * Founds some issue where I am using c++ 17 syntax and not 11. * Github action fixes, needed to update syntax towards cpp 11 * Modified the testing structure by removing the "Opticluster returns proper stats". I appears it is returning incorrect data on different computer architectures. It is also not needed in the code. * Fix cluster unit test (#5) * 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. * Printing out the metrics after you perform a cluster and added a true/false condition for shuffling * Release polish (#6) * 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. * Added a depends for lazy-loading and other R related issues. * More cluster features (#7) * 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. * The fix for github actions. * Change to the include file. * Removing srand from Utils, going to attempt to set seeds inside of R. * Fix for race condition issue. * Fix for RCMD check warnings * The fix for the windows version of RMD Check! * Adding dependency for time. * Make shared (#9) * 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> * Forgot a unit test. (#10) * Fix results (#11) * 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! * Removing and fixing check issues. * Fix compilation warnings (#12) * No warnings on mac! * Still fixing clang-tidy errors. Lots of comparisons between longs and ints that will cause problems. * Half way done, modified a lot of deduced type conversions. May need to go back in the future to remove them. * Should fix all the warnings on linux and windows. * Pushing through more deduced type fixes. * Should be the final fix for linux. * Fix for negative index value * Cleaning up build notes. * lintr fixes * Fix for lintr * Read phylip files (#14) * Looking to add a function to replace the entry point. * Added support for phylip file reading! * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Documentation (#16) * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Fix for opticluster clustering. * Fixing up the documentation * I am getting the same number of bins! * example data * Fix for test error * Testing values to RMD file * Small changes * Added sorting by bin size to cluster output and fixed the clustering issue! * Modification to the test! * Updates to test file * Cleaning up test * Small change * Method to check if each cluster exist in the dataframe * Using content paths instead of absolutes * Create 96_sq_column_results_mac.list * Pushing results for different operating systems * Updating documentation * Added inst folders * Update Cluster.R * Pushing the temporary fix! * Pushing spare_matrix data file * Squashed commit of the following: commit dfd9b2d83c4ab60a95b1585995482ac176fc1114 Author: YoungKrug Date: Tue Sep 24 15:42:56 2024 -0400 Big error in readPhylip matrix. I was never checking whether the matrix was a square or not! * Creating vignettes * Created base pkgdown structure * Base structure of documentation and website * Small optimzation to clustur * Fixing unit test * Removing comments * Changed the name of the package to clustur * Removing unneeded data and fixing issue to validate count_table * Fixing check errors. * Consistent randomization (#17) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! * Squashed commit of the following: commit 45ba179f6b2e63687229c042be92a6f4cae2c786 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:17:22 2024 -0400 Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! commit 10c2ad9915d63dac5fee47d5385b91e711a8b16a Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:15:33 2024 -0400 Consistent randomization (#17) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments commit e87319e3bfdb1c1657fc399af778e1c6bd17fc37 Author: GregJohnsonJr Date: Wed Sep 25 12:04:03 2024 -0400 Fixing unit test commit 8c648bd5dce04613d5fb11b2f8133dda762d8507 Author: GregJohnsonJr Date: Wed Sep 25 11:51:15 2024 -0400 Small optimzation to clustur commit 05c8a0738991359f6ef9f69f3de180fd6173ee44 Author: GregJohnsonJr Date: Wed Sep 25 11:38:43 2024 -0400 Base structure of documentation and website commit 4a4fcfa4ed154804a9574323d1a56f76d958c24f Author: GregJohnsonJr Date: Wed Sep 25 10:43:40 2024 -0400 Created base pkgdown structure commit a714b7d0a7c9390c30eb723d4135b980a052d387 Author: YoungKrug Date: Tue Sep 24 23:01:44 2024 -0400 Creating vignettes commit 6a5df2035a1de3f206a1bcd9ddc0d4bb9b763a83 Author: YoungKrug Date: Tue Sep 24 15:43:09 2024 -0400 Squashed commit of the following: commit dfd9b2d83c4ab60a95b1585995482ac176fc1114 Author: YoungKrug Date: Tue Sep 24 15:42:56 2024 -0400 Big error in readPhylip matrix. I was never checking whether the matrix was a square or not! commit 63d515ed9dac7370abd579ec1a3d9c3a69f589d2 Author: GregJohnsonJr Date: Tue Sep 24 15:02:02 2024 -0400 Pushing spare_matrix data file commit 7eec4fbf6ba4b4c881d65cabf86eb9c4b344ca1b Author: GregJohnsonJr Date: Tue Sep 24 14:43:12 2024 -0400 Pushing the temporary fix! commit 0b5a145cc3ee1db43d4c7472940568324f48cacf Author: YoungKrug Date: Tue Sep 24 13:56:47 2024 -0400 Update Cluster.R commit 7c694e39687ccd62d63fbaa6f3d8713606f5b633 Author: YoungKrug Date: Tue Sep 24 12:51:01 2024 -0400 Added inst folders commit 3cb0ba458c6fb35c963a4ee2b6000ee4137a6442 Author: YoungKrug Date: Tue Sep 24 12:02:56 2024 -0400 Updating documentation commit 5af269d6bf15db5c96e1c6b676ad57a9b9793eeb Author: YoungKrug Date: Mon Sep 23 19:45:19 2024 -0400 Pushing results for different operating systems commit a745510b856aa3259400c65a4566e98d61a643a8 Author: GregJohnsonJr Date: Mon Sep 23 19:36:29 2024 -0400 Create 96_sq_column_results_mac.list commit d08a209b9ac4419e64313312497be6a83acd562f Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 12:03:56 2024 -0400 Using content paths instead of absolutes commit 1623601703cf96bf75a0dd36ecee49c75b2084f9 Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 09:49:11 2024 -0400 Method to check if each cluster exist in the dataframe commit 585736ef751b407d397925269788600c83521942 Author: YoungKrug Date: Wed Sep 18 13:51:36 2024 -0400 Small change commit acfbc9a008e215a4822265d89a224ff9973a475f Author: YoungKrug Date: Wed Sep 18 13:50:29 2024 -0400 Cleaning up test commit 60d16f54feff027ecdfa641ff99f65399781a1b3 Author: YoungKrug Date: Wed Sep 18 13:49:41 2024 -0400 Updates to test file commit d89afb52f6e2daf8ab6491fbcadde43a96147914 Author: YoungKrug Date: Wed Sep 18 13:47:32 2024 -0400 Modification to the test! commit d48660439a99d0352960e00eb060228fa6293c3f Author: GregJohnsonJr Date: Wed Sep 18 13:21:11 2024 -0400 Added sorting by bin size to cluster output and fixed the clustering issue! commit 3bddc53b063b8439a0485cc31e3064f7082d7a2a Author: GregJohnsonJr Date: Tue Sep 17 20:05:22 2024 -0400 Small changes commit 0d3e798422ff9d11e2bc0dee51d741263f6d2a9b Author: GregJohnsonJr Date: Tue Sep 17 15:20:47 2024 -0400 Testing values to RMD file commit 58a7e8e612730f991c10e17f5629120899a71caf Author: GregJohnsonJr Date: Tue Sep 17 13:55:31 2024 -0400 Fix for test error commit 4c63f8ca1fe110d484914c0663a12bac7273240b Author: GregJohnsonJr Date: Tue Sep 17 13:06:52 2024 -0400 example data commit 48a0f38462b12e3cc1ca4c3c2b11c7d672643f61 Author: GregJohnsonJr Date: Mon Sep 16 19:21:22 2024 -0400 I am getting the same number of bins! commit 37cdb7e40373f455f3497f019d80d1baace40762 Author: GregJohnsonJr Date: Mon Sep 16 17:29:51 2024 -0400 Fixing up the documentation commit d7dc2948ca5adc2f7033348492549d277db2e3c4 Author: GregJohnsonJr Date: Mon Sep 16 16:43:10 2024 -0400 Fix for opticluster clustering. commit 3d8015fe6918bc3c36047abe0551596f51927726 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Mon Sep 16 15:01:11 2024 -0400 Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues commit 6f830c6aa435260c84627946281b10f5a8d03353 Author: GregJohnsonJr Date: Fri Sep 13 17:02:03 2024 -0400 Column distance files work! commit e6f00a816e9778b1dd4a8b9c1ec92818c93e3249 Author: GregJohnsonJr Date: Fri Sep 13 12:38:20 2024 -0400 Added functionality for column distance file reading! commit 25a357dccce0f4d0b9e1ec198ced4f98a3653163 Author: GregJohnsonJr Date: Thu Sep 12 17:37:58 2024 -0400 Adding r documentation about mothur and clustur commit fa25af7f600e7feb97aa97b963ec27ae6f0abdac Author: GregJohnsonJr Date: Thu Sep 12 16:44:32 2024 -0400 Initial push * Documentation (#16) (#19) (#20) * Documentation (#16) * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Squashed commit of the following: commit 45ba179f6b2e63687229c042be92a6f4cae2c786 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:17:22 2024 -0400 Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! commit 10c2ad9915d63dac5fee47d5385b91e711a8b16a Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:15:33 2024 -0400 Consistent randomization (#17) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments commit e87319e3bfdb1c1657fc399af778e1c6bd17fc37 Author: GregJohnsonJr Date: Wed Sep 25 12:04:03 2024 -0400 Fixing unit test commit 8c648bd5dce04613d5fb11b2f8133dda762d8507 Author: GregJohnsonJr Date: Wed Sep 25 11:51:15 2024 -0400 Small optimzation to clustur commit 05c8a0738991359f6ef9f69f3de180fd6173ee44 Author: GregJohnsonJr Date: Wed Sep 25 11:38:43 2024 -0400 Base structure of documentation and website commit 4a4fcfa4ed154804a9574323d1a56f76d958c24f Author: GregJohnsonJr Date: Wed Sep 25 10:43:40 2024 -0400 Created base pkgdown structure commit a714b7d0a7c9390c30eb723d4135b980a052d387 Author: YoungKrug Date: Tue Sep 24 23:01:44 2024 -0400 Creating vignettes commit 6a5df2035a1de3f206a1bcd9ddc0d4bb9b763a83 Author: YoungKrug Date: Tue Sep 24 15:43:09 2024 -0400 Squashed commit of the following: commit dfd9b2d83c4ab60a95b1585995482ac176fc1114 Author: YoungKrug Date: Tue Sep 24 15:42:56 2024 -0400 Big error in readPhylip matrix. I was never checking whether the matrix was a square or not! commit 63d515ed9dac7370abd579ec1a3d9c3a69f589d2 Author: GregJohnsonJr Date: Tue Sep 24 15:02:02 2024 -0400 Pushing spare_matrix data file commit 7eec4fbf6ba4b4c881d65cabf86eb9c4b344ca1b Author: GregJohnsonJr Date: Tue Sep 24 14:43:12 2024 -0400 Pushing the temporary fix! commit 0b5a145cc3ee1db43d4c7472940568324f48cacf Author: YoungKrug Date: Tue Sep 24 13:56:47 2024 -0400 Update Cluster.R commit 7c694e39687ccd62d63fbaa6f3d8713606f5b633 Author: YoungKrug Date: Tue Sep 24 12:51:01 2024 -0400 Added inst folders commit 3cb0ba458c6fb35c963a4ee2b6000ee4137a6442 Author: YoungKrug Date: Tue Sep 24 12:02:56 2024 -0400 Updating documentation commit 5af269d6bf15db5c96e1c6b676ad57a9b9793eeb Author: YoungKrug Date: Mon Sep 23 19:45:19 2024 -0400 Pushing results for different operating systems commit a745510b856aa3259400c65a4566e98d61a643a8 Author: GregJohnsonJr Date: Mon Sep 23 19:36:29 2024 -0400 Create 96_sq_column_results_mac.list commit d08a209b9ac4419e64313312497be6a83acd562f Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 12:03:56 2024 -0400 Using content paths instead of absolutes commit 1623601703cf96bf75a0dd36ecee49c75b2084f9 Author: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Date: Sat Sep 21 09:49:11 2024 -0400 Method to check if each cluster exist in the dataframe commit 585736ef751b407d397925269788600c83521942 Author: YoungKrug Date: Wed Sep 18 13:51:36 2024 -0400 Small change commit acfbc9a008e215a4822265d89a224ff9973a475f Author: YoungKrug Date: Wed Sep 18 13:50:29 2024 -0400 Cleaning up test commit 60d16f54feff027ecdfa641ff99f65399781a1b3 Author: YoungKrug Date: Wed Sep 18 13:49:41 2024 -0400 Updates to test file commit d89afb52f6e2daf8ab6491fbcadde43a96147914 Author: YoungKrug Date: Wed Sep 18 13:47:32 2024 -0400 Modification to the test! commit d48660439a99d0352960e00eb060228fa6293c3f Author: GregJohnsonJr Date: Wed Sep 18 13:21:11 2024 -0400 Added sorting by bin size to cluster output and fixed the clustering issue! commit 3bddc53b063b8439a0485cc31e3064f7082d7a2a Author: GregJohnsonJr Date: Tue Sep 17 20:05:22 2024 -0400 Small changes commit 0d3e798422ff9d11e2bc0dee51d741263f6d2a9b Author: GregJohnsonJr Date: Tue Sep 17 15:20:47 2024 -0400 Testing values to RMD file commit 58a7e8e612730f991c10e17f5629120899a71caf Author: GregJohnsonJr Date: Tue Sep 17 13:55:31 2024 -0400 Fix for test error commit 4c63f8ca1fe110d484914c0663a12bac7273240b Author: GregJohnsonJr Date: Tue Sep 17 13:06:52 2024 -0400 example data commit 48a0f38462b12e3cc1ca4c3c2b11c7d672643f61 Author: GregJohnsonJr Date: Mon Sep 16 19:21:22 2024 -0400 I am getting the same number of bins! commit 37cdb7e40373f455f3497f019d80d1baace40762 Author: GregJohnsonJr Date: Mon Sep 16 17:29:51 2024 -0400 Fixing up the documentation commit d7dc2948ca5adc2f7033348492549d277db2e3c4 Author: GregJohnsonJr Date: Mon Sep 16 16:43:10 2024 -0400 Fix for opticluster clustering. commit 3d8015fe6918bc3c36047abe0551596f51927726 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Mon Sep 16 15:01:11 2024 -0400 Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues commit 6f830c6aa435260c84627946281b10f5a8d03353 Author: GregJohnsonJr Date: Fri Sep 13 17:02:03 2024 -0400 Column distance files work! commit e6f00a816e9778b1dd4a8b9c1ec92818c93e3249 Author: GregJohnsonJr Date: Fri Sep 13 12:38:20 2024 -0400 Added functionality for column distance file reading! commit 25a357dccce0f4d0b9e1ec198ced4f98a3653163 Author: GregJohnsonJr Date: Thu Sep 12 17:37:58 2024 -0400 Adding r documentation about mothur and clustur commit fa25af7f600e7feb97aa97b963ec27ae6f0abdac Author: GregJohnsonJr Date: Thu Sep 12 16:44:32 2024 -0400 Initial push * Removing old vignette * Adding additional documentation * Adding links (#22) * Moving RDS file * Small changes to test * Adding a vignette, fixed the test that were failing, and removed old data. * Small change to test * Pushing lintr fixes * Distance files to sparse matrix (#23) * Added the conversion from distance files (phylip, column) to sparse matrix. * Removing unneeded data and cleaning up files. * Unify clustering (#25) * added documentation * Check works on mac-os * Edit getting started vignette * Small changes to the test and removing unneeded data. --------- Co-authored-by: Pat Schloss * Refactor package methods (#26) * Added functionality to determine if the file is a phylip or column and allowed for the creation of a distance matrix object in r. * Getters and Setters for distance processing work! * Created a abstract class to unify the column and phylip reader class. * Process Sparse Data aswell! * Added cluster functionality! * Created R function for the c++ functionality * Added the copy constructors and fixed issues with data not being maintained. * Added documentation, need to fix read sparse matrices * Added new functions and removed old functionality * Count table can now read sparse data files * added documentation to all of the functions and created new 'light-weight' test for the clustering test. Im using smaller csv's. . * Test work, just need to fix check errors! * Added new functionality, created test and examples for all of the functions and refactored the current siting test to be faster and use smaller csv files. * Removing DS_Store object from tracking * Updating git ignore * Forgot to include the queue header! * Linted the package * Small Change to examples * Added tests for the validate_count_table function * Removing R profile from tracking * Delete .Rprofile * Fix lintr and pkgdown issues * Fix for pkgdown and lintr * Change to test in cluster_object-getters. --------- Co-authored-by: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Co-authored-by: Pat Schloss * Update check-full.yml Removed devel tag from github action --------- Co-authored-by: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Co-authored-by: Pat Schloss commit 4a5b787ac4c78ac7dcbca4da79766ec2407ebde1 Author: YoungKrug Date: Sun Oct 13 22:23:57 2024 -0400 Squashed commit of the following: commit 744dfb7bad358dd57303fec4dd492e5320a6a3a9 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Sun Oct 13 11:18:40 2024 -0400 Update check-full.yml Removed devel tag from github action commit dcb9b49b790155ecaef76ca142c2210c86b587a6 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Sun Oct 13 10:54:44 2024 -0400 Dev (#28) * Added unit test and created a easy opticluster function * Release v0.0.1 (#1) * 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 * Add cpp test (#3) * 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! * RMD Check is able to run successfully! * Correcting the paths of my cpp files, should fix the action errors. * Update to the cluster command test fixture * Modifying the test for opticluster * Ensuring everything works with c++11 * Removing code issues from cluster command * Adding the build ignore * Founds some issue where I am using c++ 17 syntax and not 11. * Github action fixes, needed to update syntax towards cpp 11 * Modified the testing structure by removing the "Opticluster returns proper stats". I appears it is returning incorrect data on different computer architectures. It is also not needed in the code. * Fix cluster unit test (#5) * 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. * Printing out the metrics after you perform a cluster and added a true/false condition for shuffling * Release polish (#6) * 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. * Added a depends for lazy-loading and other R related issues. * More cluster features (#7) * 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. * The fix for github actions. * Change to the include file. * Removing srand from Utils, going to attempt to set seeds inside of R. * Fix for race condition issue. * Fix for RCMD check warnings * The fix for the windows version of RMD Check! * Adding dependency for time. * Make shared (#9) * 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> * Forgot a unit test. (#10) * Fix results (#11) * 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! * Removing and fixing check issues. * Fix compilation warnings (#12) * No warnings on mac! * Still fixing clang-tidy errors. Lots of comparisons between longs and ints that will cause problems. * Half way done, modified a lot of deduced type conversions. May need to go back in the future to remove them. * Should fix all the warnings on linux and windows. * Pushing through more deduced type fixes. * Should be the final fix for linux. * Fix for negative index value * Cleaning up build notes. * lintr fixes * Fix for lintr * Read phylip files (#14) * Looking to add a function to replace the entry point. * Added support for phylip file reading! * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Documentation (#16) * Initial push * Adding r documentation about mothur and clustur * Added functionality for column distance file reading! * Column distance files work! * Adding read column feature (#15) * Added reading of column files, but result arent correct. * Correct Column file * Column Reader works as expected! * Added test for column reading, and it all works as expected. * Fixed check issues * Fix for opticluster clustering. * Fixing up the documentation * I am getting the same number of bins! * example data * Fix for test error * Testing values to RMD file * Small changes * Added sorting by bin size to cluster output and fixed the clustering issue! * Modification to the test! * Updates to test file * Cleaning up test * Small change * Method to check if each cluster exist in the dataframe * Using content paths instead of absolutes * Create 96_sq_column_results_mac.list * Pushing results for different operating systems * Updating documentation * Added inst folders * Update Cluster.R * Pushing the temporary fix! * Pushing spare_matrix data file * Squashed commit of the following: commit dfd9b2d83c4ab60a95b1585995482ac176fc1114 Author: YoungKrug Date: Tue Sep 24 15:42:56 2024 -0400 Big error in readPhylip matrix. I was never checking whether the matrix was a square or not! * Creating vignettes * Created base pkgdown structure * Base structure of documentation and website * Small optimzation to clustur * Fixing unit test * Removing comments * Changed the name of the package to clustur * Removing unneeded data and fixing issue to validate count_table * Fixing check errors. * Consistent randomization (#17) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! * Squashed commit of the following: commit 45ba179f6b2e63687229c042be92a6f4cae2c786 Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:17:22 2024 -0400 Consistent randomization (#18) * Have to fix test, but this is the basic framework for randomization * Squashed commit of the following: commit 3f2d3995c30894a457bd860379243aa5329f52cd Author: GregJohnsonJr Date: Wed Sep 25 17:52:00 2024 -0400 Fixing check errors. commit 3f04170d4897e243a2a87847f39d8f4fe1307be0 Author: GregJohnsonJr Date: Wed Sep 25 17:43:06 2024 -0400 Removing unneeded data and fixing issue to validate count_table commit 2c642f300cf9fedb6ade3b46eab053c691c26f45 Author: GregJohnsonJr Date: Wed Sep 25 17:31:56 2024 -0400 Changed the name of the package to clustur commit 1251c3c63a7d6fca99ddf1373633e3281d0472e2 Author: GregJohnsonJr Date: Wed Sep 25 16:53:16 2024 -0400 Removing comments * Changes to the utils class to allow for randomization and added a seed to the functions * Adding another test * Fix for note * Randomization has been added and we changed the way we create sparse matrices! * Forgot to include the updated namesapce! commit 10c2ad9915d63dac5fee47d5385b91e711a8b16a Author: Gregory Johnson <31873199+GregJohnsonJr@users.noreply.github.com> Date: Thu Sep 26 18:15:33 2024 -0400 Consistent randomization (#17) * Have to fix test, but this is… * Removing extra storage files and merge issues * Added New test for determining if the file is a phylip or column file. And split out the function. * lintr fix --------- Co-authored-by: YoungKrug <31873199+YoungKrug@users.noreply.github.com> Co-authored-by: Pat Schloss --- R/Cluster.R | 1 + R/RcppExports.R | 4 +++ src/Adapters/CountTableAdapter.h | 2 ++ src/CountTableAdapter.cpp | 32 +++++++++++------- src/RcppExports.cpp | 18 ++++++++-- src/main.cpp | 15 +++++--- tests/testthat/extdata/sparse_matrix_data.RDS | Bin 11655 -> 0 bytes tests/testthat/test-test-opticluster.R | 10 ++++++ 8 files changed, 61 insertions(+), 21 deletions(-) delete mode 100644 tests/testthat/extdata/sparse_matrix_data.RDS diff --git a/R/Cluster.R b/R/Cluster.R index 1b11203..1e528e2 100644 --- a/R/Cluster.R +++ b/R/Cluster.R @@ -176,6 +176,7 @@ example_path <- function(file = NULL) { return(path) } + #' Read Count #' #' @export diff --git a/R/RcppExports.R b/R/RcppExports.R index 2ed5e48..48433bc 100644 --- a/R/RcppExports.R +++ b/R/RcppExports.R @@ -9,6 +9,10 @@ WriteColumnFile <- function(xPosition, yPosition, data, cutoff, countTable, save invisible(.Call('_clustur_WriteColumnFile', PACKAGE = 'clustur', xPosition, yPosition, data, cutoff, countTable, saveLocation)) } +DetermineIfPhylipOrColumnFile <- function(filePath) { + .Call('_clustur_DetermineIfPhylipOrColumnFile', PACKAGE = 'clustur', filePath) +} + ProcessDistanceFiles <- function(filePath, countTable, cutoff, isSim) { .Call('_clustur_ProcessDistanceFiles', PACKAGE = 'clustur', filePath, countTable, cutoff, isSim) } diff --git a/src/Adapters/CountTableAdapter.h b/src/Adapters/CountTableAdapter.h index f8bcfdc..58ae96a 100644 --- a/src/Adapters/CountTableAdapter.h +++ b/src/Adapters/CountTableAdapter.h @@ -27,11 +27,13 @@ class CountTableAdapter { Rcpp::DataFrame GetCountTable() const {return countTable;} Rcpp::DataFrame ReCreateDataFrame() const; private: + void CreateNameToIndex(); struct IndexAbundancePair { int groupIndex; int sequenceIndex; double abundance; }; + std::unordered_map nameToRowIndex; std::vector sampleNames; std::unordered_map> dataFrameMap; std::vector groups; diff --git a/src/CountTableAdapter.cpp b/src/CountTableAdapter.cpp index e48ee2c..9a2968e 100644 --- a/src/CountTableAdapter.cpp +++ b/src/CountTableAdapter.cpp @@ -29,6 +29,7 @@ bool CountTableAdapter::CreateDataFrameMap(const Rcpp::DataFrame &countTable) { // We only want the actual group names. so everything after groups.insert(groups.end(), columnNames.begin() + 2, columnNames.end()); this->countTable = countTable; + CreateNameToIndex(); return true; } @@ -86,29 +87,27 @@ bool CountTableAdapter::CreateDataFrameMapFromSparseCountTable(const Rcpp::DataF dataFrameMap = data; // In a count table, the first to columns are the sequence and the total abundance. // We only want the actual group names. so everything after - this->countTable = countTable; + CreateNameToIndex(); return true; } double CountTableAdapter::FindAbundanceBasedOnGroup(const std::string &group, const std::string &sampleName) const { - if (std::find(groups.begin(), groups.end(), group) == groups.end()) - return -1; //Not Found, may need to throw and execption... - if (std::find(sampleNames.begin(), sampleNames.end(), sampleName) == sampleNames.end()) - return -1; //Not Found, may need to throw and execption... + // We will preprocess the find during hte read dist process. So remove special checks + // - Protip hashmap find is faster than vector + if(nameToRowIndex.find(sampleName) == nameToRowIndex.end()) + return -1; const std::vector groupCol = GetColumnByName(group); - const long index = std::distance(sampleNames.begin(), std::find(sampleNames.begin(), - sampleNames.end(), sampleName)); - return dataFrameMap.at(group)[index]; + return dataFrameMap.at(group)[nameToRowIndex.at(sampleName)]; } double CountTableAdapter::FindTotalAbundance(const std::string &sampleName) const { - if(std::find(sampleNames.begin(), sampleNames.end(), sampleName) == sampleNames.end()) - return -1; // Not found - const long index = std::distance(sampleNames.begin(), std::find(sampleNames.begin(), - sampleNames.end(), sampleName)); - return dataFrameMap.at("total")[index]; + // We will preprocess the find during hte read dist process. So remove special checks + // - Protip hashmap find is faster than vector + if(nameToRowIndex.find(sampleName) == nameToRowIndex.end()) + return -1; + return dataFrameMap.at("total")[nameToRowIndex.at(sampleName)]; } std::string CountTableAdapter::GetNameByIndex(const int index) const { @@ -148,6 +147,13 @@ Rcpp::DataFrame CountTableAdapter::ReCreateDataFrame() const { return countTable; } + +void CountTableAdapter::CreateNameToIndex() { + for(size_t i = 0; i < sampleNames.size(); i++) { + nameToRowIndex[sampleNames[i]] = i; + } +} + // Gets every column but the first column (the sequence names) std::vector CountTableAdapter::GetColumnByName(const std::string &name) const { if (dataFrameMap.find(name) != dataFrameMap.end()) diff --git a/src/RcppExports.cpp b/src/RcppExports.cpp index 2115726..c7a340b 100644 --- a/src/RcppExports.cpp +++ b/src/RcppExports.cpp @@ -40,16 +40,27 @@ BEGIN_RCPP return R_NilValue; END_RCPP } +// DetermineIfPhylipOrColumnFile +bool DetermineIfPhylipOrColumnFile(const std::string& filePath); +RcppExport SEXP _clustur_DetermineIfPhylipOrColumnFile(SEXP filePathSEXP) { +BEGIN_RCPP + Rcpp::RObject rcpp_result_gen; + Rcpp::RNGScope rcpp_rngScope_gen; + Rcpp::traits::input_parameter< const std::string& >::type filePath(filePathSEXP); + rcpp_result_gen = Rcpp::wrap(DetermineIfPhylipOrColumnFile(filePath)); + return rcpp_result_gen; +END_RCPP +} // ProcessDistanceFiles -SEXP ProcessDistanceFiles(const std::string& filePath, const Rcpp::DataFrame& countTable, double cutoff, bool isSim); +SEXP ProcessDistanceFiles(const std::string& filePath, const Rcpp::DataFrame& countTable, const double cutoff, const bool isSim); RcppExport SEXP _clustur_ProcessDistanceFiles(SEXP filePathSEXP, SEXP countTableSEXP, SEXP cutoffSEXP, SEXP isSimSEXP) { BEGIN_RCPP Rcpp::RObject rcpp_result_gen; Rcpp::RNGScope rcpp_rngScope_gen; Rcpp::traits::input_parameter< const std::string& >::type filePath(filePathSEXP); Rcpp::traits::input_parameter< const Rcpp::DataFrame& >::type countTable(countTableSEXP); - Rcpp::traits::input_parameter< double >::type cutoff(cutoffSEXP); - Rcpp::traits::input_parameter< bool >::type isSim(isSimSEXP); + Rcpp::traits::input_parameter< const double >::type cutoff(cutoffSEXP); + Rcpp::traits::input_parameter< const bool >::type isSim(isSimSEXP); rcpp_result_gen = Rcpp::wrap(ProcessDistanceFiles(filePath, countTable, cutoff, isSim)); return rcpp_result_gen; END_RCPP @@ -132,6 +143,7 @@ RcppExport SEXP run_testthat_tests(SEXP); static const R_CallMethodDef CallEntries[] = { {"_clustur_WritePhylipFile", (DL_FUNC) &_clustur_WritePhylipFile, 6}, {"_clustur_WriteColumnFile", (DL_FUNC) &_clustur_WriteColumnFile, 6}, + {"_clustur_DetermineIfPhylipOrColumnFile", (DL_FUNC) &_clustur_DetermineIfPhylipOrColumnFile, 1}, {"_clustur_ProcessDistanceFiles", (DL_FUNC) &_clustur_ProcessDistanceFiles, 4}, {"_clustur_ProcessSparseMatrix", (DL_FUNC) &_clustur_ProcessSparseMatrix, 6}, {"_clustur_GetDistanceDataFrame", (DL_FUNC) &_clustur_GetDistanceDataFrame, 1}, diff --git a/src/main.cpp b/src/main.cpp index d940c91..9fe75c1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,7 +13,6 @@ #include "MothurDependencies/ColumnDistanceMatrixReader.h" #include "MothurDependencies/SharedFileBuilder.h" #include "Adapters/DistanceFileReader.h" -#include "Tests/OptimatrixAdapterTestFixture.h" #if DEBUG_RCPP #include #include @@ -53,9 +52,8 @@ Rcpp::DataFrame CreateSharedDataFrame(const CountTableAdapter& countTable, const } - //[[Rcpp::export]] -SEXP ProcessDistanceFiles(const std::string& filePath, const Rcpp::DataFrame& countTable, double cutoff, bool isSim) { +bool DetermineIfPhylipOrColumnFile(const std::string& filePath) { std::fstream data(filePath); std::unordered_map map; map[true] = "This is a phylip file. Processing now..."; @@ -77,19 +75,26 @@ SEXP ProcessDistanceFiles(const std::string& filePath, const Rcpp::DataFrame& co isPhylip = false; Rcpp::Rcout << map[isPhylip] << "\n"; data.close(); + return isPhylip; +} + +//[[Rcpp::export]] +SEXP ProcessDistanceFiles(const std::string& filePath, const Rcpp::DataFrame& countTable, const double cutoff, + const bool isSim) { + const bool isPhylip = DetermineIfPhylipOrColumnFile(filePath); CountTableAdapter adapter; adapter.CreateDataFrameMap(countTable); if(isPhylip) { DistanceFileReader* read = new ReadPhylipMatrix(cutoff, isSim); - std::vector rowDataMatrix = read->ReadToRowData(filePath); + const std::vector rowDataMatrix = read->ReadToRowData(filePath); read->SetCountTable(adapter); read->SetRowDataMatrix(rowDataMatrix); read->ReadRowDataMatrix(rowDataMatrix); return Rcpp::XPtr(read); } DistanceFileReader* read = new ColumnDistanceMatrixReader(cutoff, isSim); - std::vector rowDataMatrix = read->ReadToRowData(adapter, filePath); + const std::vector rowDataMatrix = read->ReadToRowData(adapter, filePath); read->SetCountTable(adapter); read->SetRowDataMatrix(rowDataMatrix); read->ReadRowDataMatrix(rowDataMatrix); diff --git a/tests/testthat/extdata/sparse_matrix_data.RDS b/tests/testthat/extdata/sparse_matrix_data.RDS deleted file mode 100644 index 572b26272f10091234b0d8ec337693aecf5721ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11655 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