COTAN comparision version

A. “Old / first Bioconductor release era” exports were small and monolithic

Using the Bioconductor 3.15 reference manual (COTAN v1-era), the exported surface is compact and centered on a single legacy class scCOTAN plus a small set of procedural functions for:

  • Object creation / initialization: automatic.COTAN.object.creation, initRaw

  • Cleaning / filtering: clean, drop.genes.cells

  • No Raw-data QC direct plots

  • Core stats: cotan_analysis, get.GDI, get.pval, plus contingency-table getters like get.expected.ct, get.observed.ct

  • Coexpression extraction: extract.coex, get.coex

  • Plots: plot_GDI, plot_heatmap, plot_general.heatmap

  • Helpers: mat2vec_rfast, vec2mat_rfast

  • Quite slow (no cuda implementation)

This is the “classic COTAN” feel: few entry points, user does a linear workflow, and most operations are directly on the legacy object.

B. “Current v2” exports are modular and much broader (QC + clustering + metadata + uniformity)

In the current reference manual (v2-era), the exports are clearly organized into distinct user-facing modules. You can see whole families of functions dedicated to:

  1. Object model + conversions (interoperability)

COTAN / COTAN-class and conversions to/from SingleCellExperiment (convertFromSingleCellExperiment, convertToSingleCellExperiment)

  1. Clusterization management (a first-class concept now)

Add/drop/reorder clusterizations: addClusterization, dropClusterization, reorderClusterization

Cluster-level analytics: DEAOnClusters, findClustersMarkers, clusterGeneContingencyTables, clustersSummaryData, clustersTreePlot

  1. Dataset metadata + conditions are explicit

addCondition, dropCondition, getAllConditions, plus metadata utilities like datasetTags, initializeMetaDataset, addElementToMetaDataset

  1. Raw-data QC / cleaning became a full toolbox (not just “clean()”)

Functions and plots like cellSizePlot, mitochondrialPercentagePlot, screePlot, scatterPlot, and a suite of “fully expressed genes/cells” utilities (findFullyExpressedGenes, flagNotFullyExpressedGenes, etc.)

  1. “Uniform clusters” / transcript uniformity checks (signature v2 feature)

cellsUniformClustering, checkClusterUniformity, mergeUniformCellsClusters, plus checker classes like AdvancedGDIUniformityCheck-class, SimpleGDIUniformityCheck-class, and threshold shifting helpers

  1. Performance / modern compute hooks

Multi-threading controls (handleMultiCore, canUseTorch) and explicit references to torch installation/usage pathways

  1. Backward compatibility is explicitly preserved (important for reviewers)

You can still see scCOTAN-class and legacy helpers grouped under a “legacy” area in the docs/index, which signals a conscious compatibility strategy rather than a breaking rewrite.