Recent Releases of CM++ - A Meta-method for Well-Connected Community Detection

CM++ - A Meta-method for Well-Connected Community Detection - v4.0.1

Minor Bug Fixes - Documentation added for CM++/CM Pipeline with guides - Better compatibility with MacOS

Scientific Software - Peer-reviewed - Python
Published by vikramr2 about 2 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v4.0.0a

Same Features as 4.0.0. This new release is for Zenodo to recognize and generate a tag.

Scientific Software - Peer-reviewed - Python
Published by vikramr2 over 2 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v4.0.0

New features in this version:

  • Support for Infomap and external clustering paradigms
  • Developer environment
  • Documentation for developers to create custom stages and allow support for their own community detection/clustering paradigms.
  • Revamped JSON input scheme

Scientific Software - Peer-reviewed - Python
Published by vikramr2 over 2 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v3.4.3

  • Stats Stage: Added summary statistics output option in pipeline to give more detailed overall stats on the clustering
  • For more info on summary stats outputs, look at https://github.com/vikramr2/cluster-statistics/tree/main

Scientific Software - Peer-reviewed - Python
Published by vikramr2 over 2 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v3.4.2

Features and Fixes - Feature: universal_before tag in the stats stage of the input json. Refer to the documentation linked in the README for how to construct a json input for further details. - Essentially, this tag tells the pipeline to generate secondary statistical reports on how clusters were processed in CM - Fix: The following handlers were added for empty clusterings - CM will return empty files if an empty clustering is provided - Filtering stages will output an informative error message if an empty clustering is provided. - If an error occurs during the pipeline (whether or not it is due to an empty clustering), the pipeline will simply halt. This is as opposed to before where it would just keep going.

Here is an example output of an error clustering pipeline: *** Starting filtering STAGE *** Currently on resolution 0.5, running 2 iterations [1] "OK 3 params supplied" [1] "OK 3 params supplied" Stage 2 Time Elapsed: 00:00:00 *** DONE *** *** Starting connectivity_modifier STAGE *** Currently on resolution 0.5, running 2 iterations Stage 3 Time Elapsed: 00:00:02 *** DONE *** *** Starting filtering STAGE *** Currently on resolution 0.5, running 2 iterations [1] "OK 2 params supplied" Error: Error: Clustering is empty. Execution halted res-0.5-i2/S4_cit_hepph_lfr_leiden.0.5_i2_post_cm_filter.R.tsv failed to generate

Scientific Software - Peer-reviewed - Python
Published by vikramr2 over 2 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v3.4.1

Changes in the CM Pipeline - Allow for skipping of initial clustering/cleaning stage by providing either an existing clustering or an already cleaned file in the input

Issues Fixed - Updated the following in documentation - IKC Documentation (k parameters, etc.) - ENGRIT instructions in module loading - File paths are valid in the readme - workflow.py uses the cleaned network instead of the input network - Parallel Limit functions in the workflow - Better phrased logging messages

Scientific Software - Peer-reviewed - Python
Published by vikramr2 over 2 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v3.4

v3.4 Changes

  • IKC Support Added in this release

Scientific Software - Peer-reviewed - Python
Published by vikramr2 over 2 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v3.3

CM++ (v3.3)

JSON Pipeline
- Introduction of a much cleaner JSON pipeline to run generalized clustering procedures.

Algorithmic fixes of CM
- Correct handling of disconnected clusters (0-connectivity) - Fixed definition of extant parameter - extant: CM-valid clusters that were untouched by CM - cm_valid: What extant was originally — a cluster that does not need to be operated on by CM anymore

Functional changes in CM - IKC Support
- Removed --labelonly parameter. CM2Universal is essential so there shouldn't be a parameter that silences it. Rather, we introduce a new parameter: - -f or --firsttsv: Include the original tsv, pre-CM2Universal. This tsv defaults to not being outputted when the tag is omitted - JSON2Membership is now integrated with CM++ and the default tsv being outputted comes from the after.json that results from CM2Universal.

Scientific Software - Peer-reviewed - Python
Published by vikramr2 over 2 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v3.2

  • Thorough documentation and cleaner code
  • Bug fixes
    • Correct handling of disconnected clusters (0-connectivity)
    • Fixed definition of extant parameter
      • extant: CM-valid clusters that were untouched by CM
      • cm_valid: What extant was originally — a cluster that does not need to be operated on by CM anymore
  • Removed --labelonly parameter. CM2Universal is essential so there shouldn't be a parameter that silences it. Rather, we introduce a new parameter:
    • -f or --firsttsv: Include the original tsv, pre-CM2Universal. This tsv defaults to not being outputted when the tag is omitted
    • JSON2Membership is now integrated with CM++ and the default tsv being outputted comes from the after.json that results from CM2Universal.

Scientific Software - Peer-reviewed - Python
Published by vikramr2 almost 3 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v3.1

  • Introducing a stage to report tabular per cluster statistics before pre-cm filtering or after post-cm filtering

Scientific Software - Peer-reviewed - Python
Published by vikramr2 almost 3 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v3.0

Parallelism introduced in this version.

Commands from v2.0 stay consistent, except now you can add the following options

-n or --nprocs : Specify number of processes to create to run CM++ in parallel. Default 4 -l or --labelonly: Don't output a tree and don't run CM2Universal. Default without this tag, CM will automatically output a tree and run CM2Universal

Scientific Software - Peer-reviewed - Python
Published by vidyak2uiuc almost 3 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v2.1

[Improvements]

Enabled the option to run the clustering for multiple n values Removed the support for runleiden

Scientific Software - Peer-reviewed - Python
Published by vidyak2uiuc almost 3 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v2.0

[Improvements]

  • Integrated the leidenalg wrapper
  • Users can choose between runleiden and leidenalg with numberofiterations
  • If clustering_script is not specified in. the param.config then by default leidenalg is used with default number_of_iterations equals to 2.
  • CM
    • Added Python wrapper for VieCut to avoid overhead in fork-exec-wait paradigm
    • Replaced MincutResult object with python-mincut C++ object
    • Shortened mincut computation in CM

Scientific Software - Peer-reviewed - Python
Published by vidyak2uiuc about 3 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v1.2

[Improvement] - log files moved to output directory - executed-cmds.txt is also copied to the output directory at the end of the workflow

[Bug Fix] - fix post cm filtering to remove clusters of size 10 - set the filtering of clusters size to N>1 in analysis scripts

Scientific Software - Peer-reviewed - Python
Published by vidyak2uiuc about 3 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v1.1

  • Tested on Odesa for cit_patents network.
  • Enabled quite mode as default for CM.

Scientific Software - Peer-reviewed - Python
Published by vidyak2uiuc about 3 years ago

CM++ - A Meta-method for Well-Connected Community Detection - v1

  • Version tested on Valhalla for cit_patents.

Scientific Software - Peer-reviewed - Python
Published by vidyak2uiuc about 3 years ago