← All .science files
pmid:33520459
Digital Cell Sorter (DCS): a cell type identification, anomaly detection, and Hopfield landscapes toolkit for single-cell transcriptomics.
Sergii Domanskyi · Alex Hakansson · Thomas J Bertus · Giovanni Paternostro · Carlo Piermarocchi
PeerJ · 2021 doi:10.7717/peerj.10670
Paper
complete
Experiment
partial
Data
partial
Analysis
partial
Execution
absent
Execution evidence has not yet been added to this .science file. Explore its methods, data and open questions to plan the next step.
Record details sci_version · id · kind · revision · content_hash · schema · created_at · updated_at · generator
paper object · 10 fields
authors array · 5 items
claims array · 2 items
[0] object · 6 fields
[1] object · 6 fields
evidence array · 1 item
[0] object · 3 fields
gaps array · 0 items
experiment object · 8 fields
steps array · 3 items
[0] object · 13 fields
parameters object · 0 fields
inputs array · 1 item
outputs array · 1 item
instruments array · 0 items
reagents array · 0 items
[1] object · 13 fields
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
instruments array · 0 items
reagents array · 0 items
[2] object · 13 fields
parameters object · 0 fields
inputs array · 0 items
outputs array · 1 item
instruments array · 0 items
reagents array · 0 items
materials array · 0 items
instruments array · 0 items
reagents array · 0 items
conditions object · 0 fields
gaps array · 1 item
data object · 3 fields
assets array · 2 items
[0] object · 15 fields
structure object · 4 fields
[1] object · 16 fields
structure object · 5 fields
table object · 8 fields
rows array · 4 items
[0] array · 4 items
[1] array · 7 items
[2] array · 7 items
[3] array · 7 items
gaps array · 0 items
analysis object · 4 fields
methods array · 1 item
[0] object · 10 fields
dsl_operations array · 0 items
missing_operations array · 0 items
parameters object · 0 fields
data_shapes array · 0 items
targets array · 0 items
gaps array · 1 item
capability object · 3 fields
requirements array · 1 item
[0] object · 6 fields
assay_families array · 9 items
gaps array · 0 items
readiness object · 8 fields
axes object · 3 fields
method object · 5 fields
required_operations array · 0 items
missing_operations array · 0 items
capability object · 4 fields
data object · 6 fields
accessions array · 0 items
resolved_accessions array · 0 items
statements array · 1 item
can_run object · 3 fields
dsl_operations array · 0 items
assets array · 2 items
steps array · 1 item
must_build object · 5 fields
dsl_operations array · 0 items
converters array · 0 items
readers array · 0 items
capabilities array · 0 items
data_gaps array · 1 item
gaps array · 1 item
review object · 5 fields
machine_critique object · 5 fields
reader object · 5 fields
evidence_check object · 2 fields
usage object · 3 fields
stages array · 1 item
[0] object · 4 fields
gaps array · 3 items
provenance object · 7 fields
entities array · 3 items
activities array · 3 items
[0] object · 4 fields
used array · 3 items
[0] object · 3 fields
[1] object · 3 fields
[2] object · 3 fields
[1] object · 4 fields
agents array · 2 items
lineage object · 4 fields
gaps array · 6 items
assays array · 2 items
[0] object · 11 fields
required_operations array · 0 items
source_hashes object · 1 field
evidence array · 4 items
[1] object · 11 fields
required_operations array · 0 items
source_hashes object · 1 field
evidence array · 2 items
Complete file
{"sci_version": "1.2", "schema": "https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json", "id": "pmid:33520459", "kind": "science-record", "revision": 4, "content_hash": "sha256:2814adc35b4b758e97e35a7ccd1a7ea55407d89681b452fc99245a792a84ca66", "created_at": "2026-11-01T15:41:24Z", "updated_at": "2026-11-01T21:24:35Z", "generator": {"name": "corpus-assay-engine", "run_id": "reading-sci-2026-11-01"}, "paper": {"state": "complete", "title": "Digital Cell Sorter (DCS): a cell type identification, anomaly detection, and Hopfield landscapes toolkit for single-cell transcriptomics.", "doi": "10.7717/peerj.10670", "pmid": "33520459", "authors": ["Sergii Domanskyi", "Alex Hakansson", "Thomas J Bertus", "Giovanni Paternostro", "Carlo Piermarocchi"], "journal": "PeerJ", "year": 2021, "abstract": "MOTIVATION: Analysis of singe cell RNA sequencing (scRNA-seq) typically consists of different steps including quality control, batch correction, clustering, cell identification and characterization, and visualization. The amount of scRNA-seq data is growing extremely fast, and novel algorithmic approaches improving these steps are key to extract more biological information. Here, we introduce: (i) two methods for automatic cell type identification (i.e., without expert curator) based on a voting algorithm and a Hopfield classifier, (ii) a method for cell anomaly quantification based on isolation forest, and (iii) a tool for the visualization of cell phenotypic landscapes based on Hopfield energy-like functions. These new approaches are integrated in a software platform that includes many other state-of-the-art methodologies and provides a self-contained toolkit for scRNA-seq analysis.\nRESULTS: We present a suite of software elements for the analysis of scRNA-seq data. This Python-based open source software, Digital Cell Sorter (DCS), consists in an extensive toolkit of methods for scRNA-seq analysis. We illustrate the capability of the software using data from large datasets of peripheral blood mononuclear cells (PBMC), as well as plasma cells of bone marrow samples from healthy donors and multiple myeloma patients. We test the novel algorithms by evaluating their ability to deconvolve cell mixtures and detect small numbers of anomalous cells in PBMC data.\nAVAILABILITY: The DCS toolkit is available for download and installation through the Python Package Index (PyPI). The software can be deployed using the Python import function following installation. Source code is also available for download on Zenodo: DOI 10.5281/zenodo.2533377.\nSUPPLEMENTARY INFORMATION: Supplemental Materials are available at PeerJ online.", "claims": [{"id": "claim-method", "statement": "To quantify each method’s performance we calculated a multi-class weighted F1 score, excluding unassigned cells, and took the median value over 100 independent random mixtures.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:33520459", "locator": "sections[11] \"Cell identification in mixtures\" paragraph 2", "quote": "To quantify each method’s performance we calculated a multi-class weighted F1 score, excluding unassigned cells, and took the median value over 100 independent random mixtures."}], "state": "complete"}, {"id": "claim-data-access", "statement": "The following information was supplied regarding data availability:\nDigital Cell Sorter is available at GitHub: https://github.com/sdomanskyi/DigitalCellSorter.\nSource Code is available at Zenodo:\nSergii Domanskyi, & wangjiayin1010. (2020, November 26). sdomanskyi/DigitalCellSorter: DigitalCellSorter (Version 1.3.7). Zenodo. DOI 10.5281/zenodo.4292550.\nThe documentation is available at DigitalCellSorter:\nDomanskyi S., Szedlak A., Hawkins N.T., Wang J., Bertus T., Hakansson A., Paternostro G., Piermarocchi C. (2020). DigitalCellSorter’s documentation. Available at https://digital-cell-sorter.rtfd.io.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:33520459", "locator": "sections[26] \"Data Availability Statement\" paragraphs 1-7", "quote": "The following information was supplied regarding data availability:\nDigital Cell Sorter is available at GitHub: https://github.com/sdomanskyi/DigitalCellSorter.\nSource Code is available at Zenodo:\nSergii Domanskyi, & wangjiayin1010. (2020, November 26). sdomanskyi/DigitalCellSorter: DigitalCellSorter (Version 1.3.7). Zenodo. DOI 10.5281/zenodo.4292550.\nThe documentation is available at DigitalCellSorter:\nDomanskyi S., Szedlak A., Hawkins N.T., Wang J., Bertus T., Hakansson A., Paternostro G., Piermarocchi C. (2020). DigitalCellSorter’s documentation. Available at https://digital-cell-sorter.rtfd.io."}], "state": "complete"}], "gaps": []}, "experiment": {"state": "partial", "objective": null, "steps": [{"id": "read_published_estimate", "order": 1, "name": "Read the published estimate from the source", "kind": "other", "state": "complete", "blocked_on": null, "description": "The claim, method and evidence span published with the source article.", "duration_hours": null, "parameters": {}, "inputs": ["source:pmid:33520459"], "outputs": ["the published estimate and its evidence"], "instruments": [], "reagents": []}, {"id": "obtain_source_data", "order": 2, "name": "Obtain the source data from the named repository", "kind": "data-preparation", "state": "blocked", "blocked_on": "data:accession_absent", "description": "The GEO series accession resolves and its sample accessions are listed. This lane did not download the dataset or read its licence.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the source data with its repository provenance"], "instruments": [], "reagents": []}, {"id": "run_analysis", "order": 3, "name": "Run the published analysis", "kind": "analysis", "state": "complete", "blocked_on": null, "description": "Apply the paper's statistical method to the resolved series and compare the result with the published target.", "duration_hours": null, "parameters": {}, "inputs": [], "outputs": ["the replicated result and its comparison"], "instruments": [], "reagents": []}], "materials": [], "instruments": [], "reagents": [], "conditions": {}, "gaps": ["step:obtain_source_data blocked on data:accession_absent"]}, "data": {"state": "partial", "assets": [{"id": "source:pmid:33520459", "role": "manuscript", "format": "xml", "media_type": "application/xml", "uri": "https://doi.org/10.7717/peerj.10670", "sha256": "sha256:ce5bf2818f8dfe4d8ea489177e219d4fdaa6d117905cd6c7901f387ff5b18183", "bytes": 56436, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "10.7717/peerj.10670", "version": null, "note": "Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.", "structure": {"pmcid": "PMC7811293", "source": "europe_pmc_fulltext", "coverage": "whole_body", "text_hash_scope": "rendered_section_body"}}, {"id": "asset:table:pmid:33520459:1", "role": "table", "format": "jats-table", "media_type": "application/vnd.jats.table+json", "uri": null, "sha256": "sha256:6a8146cb1a01a03d13747950c3899c15410eab93a8a662f0231c8abecf86156b", "bytes": 555, "access": "open", "state": "verified", "reader": "read_table", "reader_status": "available", "identifier": "section[11]/table-wrap[1]#table-1", "version": null, "note": "Performance of annotation methods evaluated using mixtures of pure cell type populations.Median multi-class F1 and percentage of unassigned cells (U) using two lists of markers as knowledge-base.", "structure": {"pmcid": "PMC7811293", "section_index": 11, "section_title": "Cell identification in mixtures", "row_count": 4, "column_count": 7}, "table": {"label": "Table 1", "caption": "Performance of annotation methods evaluated using mixtures of pure cell type populations.Median multi-class F1 and percentage of unassigned cells (U) using two lists of markers as knowledge-base.", "rows": [["Method", "pDCS", "Hopfield", "Consensus"], ["Metric", "F1", "U (%)", "F1", "U (%)", "F1", "U (%)"], ["CD Marker", "0.836", "6.0", "0.867", "16.7", "0.947", "21.6"], ["CIBERSORT", "0.740", "6.6", "0.942", "22.3", "0.944", "22.6"]], "row_count": 4, "column_count": 7, "numeric_cells": 12, "header_rows": 2, "locator": "section[11]/table-wrap[1]#table-1"}}], "gaps": []}, "analysis": {"state": "partial", "methods": [{"id": "method-1", "family": null, "specific": null, "label": "multi-class weighted F1 score", "dsl_operations": [], "missing_operations": [], "expressible": null, "parameters": {}, "data_shapes": [], "evidence": {"score": 1.0, "band": "verbatim", "quote": "To quantify each method’s performance we calculated a multi-class weighted F1 score, excluding unassigned cells, and took the median value over 100 independent random mixtures."}}], "targets": [], "gaps": ["method.reader_named_unmapped"]}, "capability": {"state": "complete", "requirements": [{"capability_id": "capability:computational_analysis", "label": "Computational analysis platform", "assay_families": ["meta_analysis", "machine_learning", "survival_analysis", "statistical_regression", "pca", "molecular_docking", "network_analysis", "differential_expression", "gwas"], "availability_state": "owned", "tier_unlocked": "R1", "candidate": "Automated Assays Laravel application and simulated adapters"}], "gaps": []}, "readiness": {"state": "blocked", "tier": "R4", "blocking_axis": "data", "blocked_on": "data:accession_absent", "axes": {"method": {"tier": "R4", "expressible": false, "required_operations": [], "missing_operations": [], "basis": "The reader quoted the method the paper names (multi-class weighted F1 score), but the corpus's method extractor could not map it onto a DSL operation, so the method is published but not expressible."}, "capability": {"tier": "R1", "capability_id": "capability:computational_analysis", "availability_state": "owned", "basis": "The computational analysis is owned. The physical bench the paper used is not, so a physical validation cannot be run here."}, "data": {"tier": "R4", "reachable": false, "accessions": [], "resolved_accessions": [], "statements": ["The following information was supplied regarding data availability:\nDigital Cell Sorter is available at GitHub: https://github.com/sdomanskyi/DigitalCellSorter.\nSource Code is available at Zenodo:\nSergii Domanskyi, & wangjiayin1010. (2020, November 26). sdomanskyi/DigitalCellSorter: DigitalCellSorter (Version 1.3.7). Zenodo. DOI 10.5281/zenodo.4292550.\nThe documentation is available at DigitalCellSorter:\nDomanskyi S., Szedlak A., Hawkins N.T., Wang J., Bertus T., Hakansson A., Paternostro G., Piermarocchi C. (2020). DigitalCellSorter’s documentation. Available at https://digital-cell-sorter.rtfd.io."], "basis": "The paper names no accession to its source data, so the data has to come from the authors."}}, "can_run": {"dsl_operations": [], "assets": ["source:pmid:33520459", "asset:table:pmid:33520459:1"], "steps": ["run_analysis"]}, "must_build": {"dsl_operations": [], "converters": [], "readers": [], "capabilities": [], "data_gaps": ["data:geo:None"]}, "gaps": ["data:accession_absent"]}, "review": {"state": "partial", "machine_critique": {"kind": "extraction_review", "reader": {"model": "MiniMax-M3.1-Flash", "provider": "minimax", "provider_family": "minimax", "read_at": "2026-10-31T18:26:46Z", "independence": "single_reader"}, "evidence_check": {"method": "verbatim", "availability": "verbatim"}, "calls": 3, "usage": {"prompt_tokens": 41304, "completion_tokens": 2467, "cached_tokens": 784}}, "human_critique": null, "stages": [{"id": "extraction", "state": "complete", "reader": "MiniMax-M3.1-Flash", "provider": "minimax"}], "gaps": ["review.independent_reader", "review.machine_critique", "review.human_critique"]}, "execution": {"state": "absent", "status": "not_run", "mode": null, "runs": [], "gaps": ["execution.not_run"]}, "provenance": {"entities": [{"id": "pmid:33520459", "type": "paper", "label": "pmid:33520459"}, {"id": "source:pmid:33520459", "type": "manuscript", "label": "PMID 33520459 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "activities": [{"id": "activity-reading-sci-2026-11-01", "type": "classification", "used": [{"id": "pmid:33520459", "type": "paper", "label": "pmid:33520459"}, {"id": "source:pmid:33520459", "type": "manuscript", "label": "PMID 33520459 full text"}, {"id": "data:geo:None", "type": "dataset", "label": "GEO None"}], "agent": "agent:corpus-assay-engine"}, {"id": "activity-read-33520459", "type": "extraction", "used": ["source:pmid:33520459"], "agent": "agent:minimax-reader"}, {"id": "activity-resolve-None", "type": "accession_resolution", "used": ["data:geo:None"], "agent": "agent:corpus-assay-engine"}], "agents": [{"id": "agent:corpus-assay-engine", "type": "software", "label": "Corpus assay engine"}, {"id": "agent:minimax-reader", "type": "software", "label": "MiniMax literature reader"}], "source_run_id": "reading-sci-2026-11-01", "dsl_catalogue_fingerprint": "343fb30756ba6ec3", "capability_table_fingerprint": "2cb3e42f047d2ecf", "snapshot_id": "ba34b49490d9bfaf"}, "lineage": {"parent_id": "pmid:33520459", "parent_hash": "sha256:fa4931ec79cc333e15ba2fe4ffa8d2a4a217b9c1524d0be3899614a752680001", "fork_of": null, "generation": 3}, "gaps": ["execution.not_run", "method.reader_named_unmapped", "review.human_critique", "review.independent_reader", "review.machine_critique", "step:obtain_source_data blocked on data:accession_absent"], "assays": [{"role": "data_generation", "definition_id": "scrna_seq", "definition_version": "99e1195c7d6f", "definition_digest": null, "required_operations": [], "support_state": "unsupported", "source_hashes": {"assay_lexicon": "99e1195c7d6f"}, "confidence": 0.99, "evidence": ["tection, and Hopfield landscapes toolkit for single-cell transcriptomics.", "TION: Analysis of singe cell RNA sequencing (scRNA-seq) typically consists of different steps inclu", "terization, and visualization. The amount of scRNA-seq data is growing extremely fast, and novel al", "es and provides a self-contained toolkit for scRNA-seq analysis. RESULTS: We present a suite of sof"], "order_basis": "paper_text_order:65", "id": "assay:1"}, {"role": "data_generation", "definition_id": "rna_seq", "definition_version": "99e1195c7d6f", "definition_digest": null, "required_operations": [], "support_state": "partial", "source_hashes": {"assay_lexicon": "99e1195c7d6f"}, "confidence": 0.99, "evidence": ["Hopfield landscapes toolkit for single-cell transcriptomics.", "MOTIVATION: Analysis of singe cell RNA sequencing (scRNA-seq) typically consists of different"], "order_basis": "paper_text_order:78", "id": "assay:2"}]}