{"data":{"sci_version": "1.2", "schema": "https://corpus.bntrg.co.uk/sci/1.0/sci.schema.json", "id": "pmid:34248641", "kind": "science-record", "revision": 7, "content_hash": "sha256:272ee1fde2e9ff83c2de740c6a3c292032c57a06a05ed10ea2954ec684b5b6f8", "created_at": "2026-11-01T15:41:42Z", "updated_at": "2026-11-01T22:04:10Z", "generator": {"name": "corpus-assay-engine", "run_id": "reading-sci-2026-11-01"}, "paper": {"state": "complete", "title": "Unsupervised Hierarchical Clustering Identifies Immune Gene Subtypes in Gastric Cancer.", "doi": "10.3389/fphar.2021.692454", "pmid": "34248641", "authors": ["Jing Cao", "Jiao Gong", "Xinhua Li", "Zhaoxia Hu", "Yingjun Xu", "Hong Shi", "Danyang Li", "Guangjian Liu", "Yusheng Jie", "Bo Hu", "Yutian Chong"], "journal": "Frontiers in pharmacology", "year": 2021, "abstract": "Objectives: The pathogenesis of heterogeneity in gastric cancer (GC) is not clear and presents as a significant obstacle in providing effective drug treatment. We aimed to identify subtypes of GC and explore the underlying pathogenesis. Methods: We collected two microarray datasets from GEO (GSE84433 and GSE84426), performed an unsupervised cluster analysis based on gene expression patterns, and identified related immune and stromal cells. Then, we explored the possible molecular mechanisms of each subtype by functional enrichment analysis and identified related hub genes. Results: First, we identified three clusters of GC by unsupervised hierarchical clustering, with average silhouette width of 0.96, and also identified their related representative genes and immune cells. We validated our findings using dataset GSE84426. Subtypes associated with the highest mortality (subtype 2 in the training group and subtype C in the validation group) showed high expression of SPARC, COL3A1, and CCN. Both subtypes also showed high infiltration of fibroblasts, endothelial cells, hematopoietic stem cells, and a high stromal score. Furthermore, subtypes with the best prognosis (subtype 3 in the training group and subtype A in the validation group) showed high expression of FGL2, DLGAP1-AS5, and so on. Both subtypes also showed high infiltration of CD4+ T cells, CD8+ T cells, NK cells, pDC, macrophages, and CD4+ T effector memory cells. Conclusion: We found that GC can be classified into three subtypes based on gene expression patterns and cell composition. Findings of this study help us better understand the tumor microenvironment and immune milieu associated with heterogeneity in GC and provide practical information to guide personalized treatment.", "claims": [{"id": "claim-method", "statement": "Then, the clustering method, consensus nonnegative matrix factorization (NMF), was used to identify different subtypes.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:34248641", "locator": "sections[4] \"Unsupervised Cluster Analysis\" paragraph 2", "quote": "Then, the clustering method, consensus nonnegative matrix factorization (NMF), was used to identify different subtypes."}], "state": "complete"}, {"id": "claim-data-access", "statement": "The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found in the article/Supplementary Material.", "kind": "methodological", "target": null, "evidence": [{"asset": "source:pmid:34248641", "locator": "sections[17] \"Data Availability Statement\" paragraph 2", "quote": "The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found in the article/Supplementary Material."}], "state": "complete"}], "gaps": []}, "experiment": {"state": "complete", "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:34248641"], "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": "complete", "blocked_on": null, "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": ["data:geo:GSE84426"], "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": ["data:geo:GSE84426"], "outputs": ["the replicated result and its comparison"], "instruments": [], "reagents": []}], "materials": [], "instruments": [], "reagents": [], "conditions": {}, "gaps": []}, "data": {"state": "partial", "assets": [{"id": "source:pmid:34248641", "role": "manuscript", "format": "xml", "media_type": "application/xml", "uri": "https://doi.org/10.3389/fphar.2021.692454", "sha256": "sha256:275685e1cb8dbe3a303e026be7ab83ec77649c46d54194f69b96923d9e82968e", "bytes": 33894, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "10.3389/fphar.2021.692454", "version": null, "note": "Full article fetched from PMC; the checksum covers the rendered section body, not the original XML bytes.", "structure": {"pmcid": "PMC8264374", "source": "europe_pmc_fulltext", "coverage": "whole_body", "text_hash_scope": "rendered_section_body"}}, {"id": "data:geo:GSE84426", "role": "raw", "format": "geo-series", "media_type": "application/vnd.ncbi.geo-series+json", "uri": "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE84426", "sha256": null, "bytes": null, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "GSE84426", "version": null, "note": "The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found in the article/Supplementary Material.", "structure": {"repository": "GEO", "access_route": "GEO accession URL", "access_statement_verbatim": "The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found in the article/Supplementary Material.", "access_statement_kind": "data_availability_statement", "sample_accessions": ["GSM2235556", "GSM2235557", "GSM2235558", "GSM2235559", "GSM2235560", "GSM2235561", "GSM2235562", "GSM2235563", "GSM2235564", "GSM2235565", "GSM2235566", "GSM2235567", "GSM2235568", "GSM2235569", "GSM2235570", "GSM2235571", "GSM2235572", "GSM2235573", "GSM2235574", "GSM2235575", "GSM2235576", "GSM2235577", "GSM2235578", "GSM2235579", "GSM2235580", "GSM2235582", "GSM2235584", "GSM2235585", "GSM2235586", "GSM2235587", "GSM2235588", "GSM2235589", "GSM2235593", "GSM2235595", "GSM2235596", "GSM2235597", "GSM2235598", "GSM2235599", "GSM2235600", "GSM2235601", "GSM2235602", "GSM2235603", "GSM2235604", "GSM2235605", "GSM2235606", "GSM2235607", "GSM2235608", "GSM2235609", "GSM2235610", "GSM2235611", "GSM2235612", "GSM2235613", "GSM2235614", "GSM2235615", "GSM2235616", "GSM2235617", "GSM2235618", "GSM2235619", "GSM2235620", "GSM2235621", "GSM2235622", "GSM2235623", "GSM2235624", "GSM2235625", "GSM2235626", "GSM2235627", "GSM2235628", "GSM2235629", "GSM2235630", "GSM2235631", "GSM2235632", "GSM2235633", "GSM2235634", "GSM2235635", "GSM2235636", "GSM2235637"], "sample_count": 76, "group_sizes": null, "group_sizes_basis": null, "platform": "6947", "taxon": "Homo sapiens", "title": "Molecular subtypes in gastric cancer. [I]", "resolution_checked_at": "2026-11-01T15:39:55Z", "resolution_check": "identifier_resolution_only_no_download_no_licence_read", "downloaded": false, "licence_read": false}}, {"id": "data:geo:GSE84433", "role": "raw", "format": "geo-series", "media_type": "application/vnd.ncbi.geo-series+json", "uri": "https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE84433", "sha256": null, "bytes": null, "access": "open", "state": "resolved", "reader": null, "reader_status": "reader_required", "identifier": "GSE84433", "version": null, "note": "The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found in the article/Supplementary Material.", "structure": {"repository": "GEO", "access_route": "GEO accession URL", "access_statement_verbatim": "The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found in the article/Supplementary Material.", "access_statement_kind": "data_availability_statement", "sample_accessions": ["GSM2235695", "GSM2235696", "GSM2235697", "GSM2235698", "GSM2235699", "GSM2235700", "GSM2235701", "GSM2235702", "GSM2235703", "GSM2235704", "GSM2235705", "GSM2235706", "GSM2235707", "GSM2235708", "GSM2235709", "GSM2235710", "GSM2235711", "GSM2235712", "GSM2235713", "GSM2235714", "GSM2235715", "GSM2235716", "GSM2235717", "GSM2235718", "GSM2235719", "GSM2235720", "GSM2235721", "GSM2235722", "GSM2235723", "GSM2235724", "GSM2235725", "GSM2235726", "GSM2235727", "GSM2235728", "GSM2235729", "GSM2235730", "GSM2235731", "GSM2235732", "GSM2235733", "GSM2235734", "GSM2235735", "GSM2235736", "GSM2235737", "GSM2235738", "GSM2235739", "GSM2235740", "GSM2235741", "GSM2235742", "GSM2235743", "GSM2235744", "GSM2235745", "GSM2235746", "GSM2235747", "GSM2235748", "GSM2235749", "GSM2235750", "GSM2235751", "GSM2235752", "GSM2235753", "GSM2235754", "GSM2235755", "GSM2235756", "GSM2235757", "GSM2235758", "GSM2235759", "GSM2235760", "GSM2235761", "GSM2235762", "GSM2235763", "GSM2235764", "GSM2235765", "GSM2235766", "GSM2235767", "GSM2235768", "GSM2235769", "GSM2235770", "GSM2235771", "GSM2235772", "GSM2235773", "GSM2235774", "GSM2235775", "GSM2235776", "GSM2235777", "GSM2235778", "GSM2235779", "GSM2235780", "GSM2235781", "GSM2235782", "GSM2235783", "GSM2235784", "GSM2235785", "GSM2235786", "GSM2235787", "GSM2235788", "GSM2235789", "GSM2235790", "GSM2235791", "GSM2235792", "GSM2235793", "GSM2235794", "GSM2235795", "GSM2235796", "GSM2235797", "GSM2235798", "GSM2235799", "GSM2235800", "GSM2235801", "GSM2235802", "GSM2235803", "GSM2235804", "GSM2235805", "GSM2235806", "GSM2235807", "GSM2235808", "GSM2235809", "GSM2235810", "GSM2235811", "GSM2235812", "GSM2235813", "GSM2235814", "GSM2235815", "GSM2235816", "GSM2235817", "GSM2235818", "GSM2235819", "GSM2235820", "GSM2235821", "GSM2235822", "GSM2235823", "GSM2235824", "GSM2235825", "GSM2235826", "GSM2235827", "GSM2235828", "GSM2235829", "GSM2235830", "GSM2235831", "GSM2235837", "GSM2235838", "GSM2235839", "GSM2235840", "GSM2235841", "GSM2235842", "GSM2235843", "GSM2235844", "GSM2235845", "GSM2235846", "GSM2235847", "GSM2235848", "GSM2235849", "GSM2235850", "GSM2235851", "GSM2235852", "GSM2235853", "GSM2235854", "GSM2235855", "GSM2235862", "GSM2235863", "GSM2235864", "GSM2235865", "GSM2235866", "GSM2235867", "GSM2235878", "GSM2235879", "GSM2235880", "GSM2235881", "GSM2235882", "GSM2235883", "GSM2235884", "GSM2235885", "GSM2235886", "GSM2235887", "GSM2235888", "GSM2235889", "GSM2235899", "GSM2235900", "GSM2235901", "GSM2235902", "GSM2235903", "GSM2235904", "GSM2235905", "GSM2235906", "GSM2235907", "GSM2235908", "GSM2235909", "GSM2235910", "GSM2235921", "GSM2235922", "GSM2235923", "GSM2235924", "GSM2235925", "GSM2235926", "GSM2235927", "GSM2235928", "GSM2235929", "GSM2235930", "GSM2235931", "GSM2235932", "GSM2235933", "GSM2235934", "GSM2235935", "GSM2235936", "GSM2235937", "GSM2235938", "GSM2235939", "GSM2235940", "GSM2235941", "GSM2235942", "GSM2235943", "GSM2235944", "GSM2235945", "GSM2235946", "GSM2235947", "GSM2235948", "GSM2235949", "GSM2235950", "GSM2235951", "GSM2235952", "GSM2235953", "GSM2235954", "GSM2235955", "GSM2235956", "GSM2235957", "GSM2235958", "GSM2235959", "GSM2235960", "GSM2235961", "GSM2235962", "GSM2235963", "GSM2235964", "GSM2235965", "GSM2235966", "GSM2235967", "GSM2235968", "GSM2235969", "GSM2235970", "GSM2235971", "GSM2235972", "GSM2235973", "GSM2235974", "GSM2235975", "GSM2235976", "GSM2235977", "GSM2235978", "GSM2235979", "GSM2235980", "GSM2235981", "GSM2235982", "GSM2235983", "GSM2235984", "GSM2235985", "GSM2235986", "GSM2235987", "GSM2235988", "GSM2235991", "GSM2235992", "GSM2235993", "GSM2235994", "GSM2235995", "GSM2235996", "GSM2235997", "GSM2235998", "GSM2235999", "GSM2236000", "GSM2236001", "GSM2236002", "GSM2236003", "GSM2236004", "GSM2236005", "GSM2236006", "GSM2236007", "GSM2236008", "GSM2236009", "GSM2236010", "GSM2236011", "GSM2236012", "GSM2236013", "GSM2236014", "GSM2236015", "GSM2236016", "GSM2236017", "GSM2236018", "GSM2236019", "GSM2236020", "GSM2236021", "GSM2236022", "GSM2236023", "GSM2236024", "GSM2236025", "GSM2236026", "GSM2236027", "GSM2236028", "GSM2236029", "GSM2236030", "GSM2236031", "GSM2236032", "GSM2236033", "GSM2236034", "GSM2236036", "GSM2236037", "GSM2236038", "GSM2236039", "GSM2236040", "GSM2236041", "GSM2236042", "GSM2236043", "GSM2236044", "GSM2236045", "GSM2236046", "GSM2236047", "GSM2236048", "GSM2236049", "GSM2236050", "GSM2236051", "GSM2236052", "GSM2236053", "GSM2236054", "GSM2236055", "GSM2236056", "GSM2236057", "GSM2236058", "GSM2236059", "GSM2236060", "GSM2236061", "GSM2236062", "GSM2236063", "GSM2236064", "GSM2236065", "GSM2236066", "GSM2236067", "GSM2236068", "GSM2236069", "GSM2236070", "GSM2236071", "GSM2236072", "GSM2236073", "GSM2236074", "GSM2236075", "GSM2236076", "GSM2236077", "GSM2236078", "GSM2236079", "GSM2236080", "GSM2236082", "GSM2236083", "GSM2236084", "GSM2236085", "GSM2236086", "GSM2236087", "GSM2236088", "GSM2236089", "GSM2236090", "GSM2236091", "GSM2236092", "GSM2236093", "GSM2236094", "GSM2236095"], "sample_count": 357, "group_sizes": null, "group_sizes_basis": null, "platform": "6947", "taxon": "Homo sapiens", "title": "Molecular subtypes in gastric cancer. [II]", "resolution_checked_at": "2026-11-01T15:39:55Z", "resolution_check": "identifier_resolution_only_no_download_no_licence_read", "downloaded": false, "licence_read": false}}, {"id": "asset:table:pmid:34248641:1", "role": "table", "format": "jats-table", "media_type": "application/vnd.jats.table+json", "uri": null, "sha256": "sha256:18b4c54c9b3208a5594d5c7f676a65751549ae62cc45096bbfee0863029a0c9b", "bytes": 1058, "access": "open", "state": "verified", "reader": "read_table", "reader_status": "available", "identifier": "section[12]/table-wrap[1]#T1", "version": null, "note": "Analysis of the clinical characteristics of the three subtypes from the training dataset.", "structure": {"pmcid": "PMC8264374", "section_index": 12, "section_title": "Correlation Between Clinical Characteristics and GC Subtypes", "row_count": 16, "column_count": 5}, "table": {"label": "TABLE 1", "caption": "Analysis of the clinical characteristics of the three subtypes from the training dataset.", "rows": [["Variables", "1 (n = 171)", "2 (n = 103)", "3 (n = 83)", "P value"], ["Status", "", "", "", ""], ["Death (%)", "88 (51.5)", "61 (59.2)", "25 (30.1)", "<0.001"], ["Overall survival time (mean; SD) (month)", "71.16 (49.60)", "66.89 (50.05)", "87.33 (47.65)", "0.013"], ["Age (mean; SD) (years)", "61.37 (10.23)", "56.88 (12.44)", "58.95 (11.39)", "0.005"], ["Sex = male (%)", "119 (69.6)", "66 (64.1)", "57 (68.7)", "0.627"], ["pT stage (%)", "", "", "", "0.063"], ["T1", "10 (5.8)", "0 (0.0)", "1 (1.2)", ""], ["T2", "18 (10.5)", "8 (7.8)", "9 (10.8)", ""], ["T3", "36 (21.1)", "16 (15.5)", "15 (18.1)", ""], ["T4", "107 (62.6)", "79 (76.7)", "58 (69.9)", ""], ["pN stage (%)", "", "", "", "0.062"], ["N0", "37 (21.6)", "15 (14.6)", "19 (22.9)", ""], ["N1", "66 (38.6)", "45 (43.7)", "44 (53.0)", ""], ["N2", "49 (28.7)", "36 (35.0)", "14 (16.9)", ""], ["N3", "19 (11.1)", "7 (6.8)", "6 (7.2)", ""]], "row_count": 16, "column_count": 5, "numeric_cells": 45, "header_rows": 1, "locator": "section[12]/table-wrap[1]#T1"}}, {"id": "asset:table:pmid:34248641:2", "role": "table", "format": "jats-table", "media_type": "application/vnd.jats.table+json", "uri": null, "sha256": "sha256:cb1d36a8054c09a70ce1565660cee48a2026e50b073c473083eb3bf0ca13e085", "bytes": 1026, "access": "open", "state": "verified", "reader": "read_table", "reader_status": "available", "identifier": "section[14]/table-wrap[1]#T2", "version": null, "note": "Analysis of the clinical characteristics of the three subtypes from the validation dataset.", "structure": {"pmcid": "PMC8264374", "section_index": 14, "section_title": "Differential Genes and Immune Cell Analysis of Validation Set", "row_count": 16, "column_count": 5}, "table": {"label": "TABLE 2", "caption": "Analysis of the clinical characteristics of the three subtypes from the validation dataset.", "rows": [["Variables", "A (n = 36)", "B (n = 10)", "C (n = 30)", "P value"], ["Status", "", "", "", ""], ["Death (%)", "0.28 (0.45)", "0.70 (0.48)", "0.60 (0.50)", "0.008"], ["Overall survival time (mean; SD) (month)", "64.06 (24.57)", "39.10 (32.13)", "46.53 (27.88)", "0.008"], ["Age (mean; SD) (years)", "65.64 (9.09)", "64.70 (15.17)", "58.33 (14.19)", "0.050"], ["Sex = male (%)", "26 (72.2)", "9 (90.0)", "19 (63.3)", "0.267"], ["pT stage (%)", "", "", "", "0.017"], ["T1", "0", "0", "0", ""], ["T2", "3 (8.3)", "0 (0.0)", "0 (0.0)", ""], ["T3", "17 (47.2)", "3 (30.0)", "5 (16.7)", ""], ["T4", "16 (44.4)", "7 (70.0)", "25 (83.3)", ""], ["pN stage (%)", "", "", "", "0.566"], ["N0", "4 (11.1)", "0 (0.0)", "5 (16.7)", ""], ["N1", "18 (50.0)", "5 (50.0)", "10 (33.3)", ""], ["N2", "14 (38.9)", "5 (50.0)", "14 (46.7)", ""], ["N3", "0 (0.0)", "0 (0.0)", "1 (3.3)", ""]], "row_count": 16, "column_count": 5, "numeric_cells": 45, "header_rows": 1, "locator": "section[14]/table-wrap[1]#T2"}}], "gaps": ["asset:data:geo:GSE84426 not downloaded", "asset:data:geo:GSE84426 licence not read", "asset:data:geo:GSE84433 not downloaded", "asset:data:geo:GSE84433 licence not read"]}, "analysis": {"state": "partial", "methods": [{"id": "method-1", "family": "differential_expression", "specific": "limma_voom", "label": "Differential expression analysis", "dsl_operations": ["normalise_counts", "differential_expression_fit", "fdr_bh"], "missing_operations": [], "expressible": true, "parameters": {}, "data_shapes": ["count_matrix_with_condition"], "evidence": {"score": 0.8, "band": "high", "quote": "limma"}}, {"id": "method-2", "family": "clustering", "specific": "hierarchical", "label": "Clustering", "dsl_operations": ["hierarchical_cluster"], "missing_operations": [], "expressible": true, "parameters": {}, "data_shapes": ["feature_matrix"], "evidence": {"score": 0.7, "band": "medium", "quote": "Hierarchical Clustering"}}, {"id": "method-3", "family": "network_analysis", "specific": "ppi_network", "label": "Network / pathway analysis", "dsl_operations": ["build_graph", "centrality_scores", "pathway_enrich"], "missing_operations": [], "expressible": true, "parameters": {}, "data_shapes": ["edge_list"], "evidence": {"score": 0.8, "band": "high", "quote": "PPI"}}, {"id": "method-4", "family": null, "specific": null, "label": "consensus nonnegative matrix factorization (NMF)", "dsl_operations": [], "missing_operations": [], "expressible": null, "parameters": {}, "data_shapes": [], "evidence": {"score": 1.0, "band": "verbatim", "quote": "Then, the clustering method, consensus nonnegative matrix factorization (NMF), was used to identify different subtypes."}}], "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": "complete", "tier": "R1", "blocking_axis": "none", "blocked_on": "nothing:replicable_now", "axes": {"method": {"tier": "R1", "expressible": true, "required_operations": ["normalise_counts", "differential_expression_fit", "fdr_bh"], "missing_operations": [], "basis": "The paper names the method it used and the corpus's method extractor maps it onto the DSL catalogue: limma_voom."}, "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": "R1", "reachable": true, "accessions": ["GSE84433", "GSE84426"], "resolved_accessions": ["GSE84433", "GSE84426"], "statements": ["The datasets presented in this study can be found in online repositories. The names of the repository/repositories and accession number(s) can be found in the article/Supplementary Material."], "basis": "The paper names GSE84433, GSE84426 in National Center for Biotechnology Information (NCBI) Gene Expression Omnibus (GEO) and the accession resolves in the repository. No dataset was downloaded and no licence was read."}}, "can_run": {"dsl_operations": ["normalise_counts", "differential_expression_fit", "fdr_bh"], "assets": ["source:pmid:34248641", "data:geo:GSE84426", "asset:table:pmid:34248641:1", "asset:table:pmid:34248641:2"], "steps": ["run_analysis"]}, "must_build": {"dsl_operations": [], "converters": [], "readers": [], "capabilities": [], "data_gaps": ["data:geo:GSE84426"]}, "gaps": []}, "review": {"state": "partial", "machine_critique": {"kind": "extraction_review", "reader": {"model": "MiniMax-M3.1-Flash", "provider": "minimax", "provider_family": "minimax", "read_at": "2026-10-31T18:32:00Z", "independence": "single_reader"}, "evidence_check": {"method": "verbatim", "availability": "verbatim"}, "calls": 3, "usage": {"prompt_tokens": 26544, "completion_tokens": 1362, "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:34248641", "type": "paper", "label": "pmid:34248641"}, {"id": "source:pmid:34248641", "type": "manuscript", "label": "PMID 34248641 full text"}, {"id": "data:geo:GSE84426", "type": "dataset", "label": "GEO GSE84426"}], "activities": [{"id": "activity-reading-sci-2026-11-01", "type": "classification", "used": [{"id": "pmid:34248641", "type": "paper", "label": "pmid:34248641"}, {"id": "source:pmid:34248641", "type": "manuscript", "label": "PMID 34248641 full text"}, {"id": "data:geo:GSE84426", "type": "dataset", "label": "GEO GSE84426"}], "agent": "agent:corpus-assay-engine"}, {"id": "activity-read-34248641", "type": "extraction", "used": ["source:pmid:34248641"], "agent": "agent:minimax-reader"}, {"id": "activity-resolve-GSE84426", "type": "accession_resolution", "used": ["data:geo:GSE84426"], "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:34248641", "parent_hash": "sha256:fe40b1c9358f10f125b8a53db8b50fceea3f9b85531c47abbdad90c73d11e2a5", "fork_of": null, "generation": 6}, "gaps": ["asset:data:geo:GSE84426 licence not read", "asset:data:geo:GSE84426 not downloaded", "asset:data:geo:GSE84433 licence not read", "asset:data:geo:GSE84433 not downloaded", "execution.not_run", "method.reader_named_unmapped", "review.human_critique", "review.independent_reader", "review.machine_critique"], "assays": [{"role": "data_generation", "definition_id": "microarray", "definition_version": "99e1195c7d6f", "definition_digest": null, "required_operations": [], "support_state": "partial", "source_hashes": {"assay_lexicon": "99e1195c7d6f"}, "confidence": 0.99, "evidence": ["ying pathogenesis. Methods: We collected two microarray datasets from GEO (GSE84433 and GSE84426), p", "Method Patients and Gene Expression Microarray Data Acquisition The National Center for Bio", "roughput gene expression sequencing data and microarray data. Gene expression profile of GSE84433 ba", "mune Cell Analysis of Validation Set Another microarray dataset (GSE84426) consisting of 76 cases of"], "order_basis": "paper_text_order:306", "id": "assay:1"}, {"role": "analysis", "definition_id": "differential_expression", "definition_version": "f2132e96ae6c7a4e", "definition_digest": null, "required_operations": ["normalise_counts", "differential_expression_fit", "fdr_bh"], "support_state": "supported", "source_hashes": {"dsl_catalogue": "f2132e96ae6c7a4e"}, "confidence": 0.8, "evidence": ["limma"], "order_basis": "consumes_earlier_output", "id": "assay:2"}]},"meta":{"api_version":"v1","automation_ladder_snapshot":"ba34b49490d9bfaf","automation_ladder_caveats":["Method extraction is rule-based and has no hand-judged accuracy sample. Evidence bands order textual support; method agreement intervals are null (n=0), never probabilities. Work-type validation does not validate methods.","Operation coverage describes only explicitly named methods. It does not prove a complete protocol, compatible parameters, successful compilation or re-execution. Unrecognised or ambiguous methods require review.","Data reachability is a textual accession or public-data statement. No dataset was downloaded or checked for access, completeness or licence.","Capabilities are planning states seeded from the dated equipment register. No bench ownership, completed quote or partner booking is inferred. Procurement counts are dependencies, not guaranteed replications or financial returns.","Tier and blocker counts are deterministic assessments of this corpus, not measured agreement. R3 is reserved for procurement; unresolved methods and data require human work (R4). The most restrictive axis wins, with capability, method, data as tie-breaks. Resolving one blocker can leave another at the same tier."],"engine":"corpus_engine","engine_provider":"rule_based_v1+lex99e1195c7d6f","run_id":"run-20261023T122449232913","source":"esearch","source_detail":"PubMed mirror biomed_pubmed (read-only)","run_status":"complete","imported_at":"2026-11-03T20:16:52+00:00","generated_at":"2026-11-04T02:14:23+00:00","total_papers":5529,"total_assays_tracked":29,"automatable_assay_families":6,"validated":true,"caveat_count":9,"blocking_caveats":5,"caveats":[{"code":"low_evidence_dominates","basis":["4,152 of 5,529 classifications (75.1%) matched no cue evidence and sit at the 0.05 floor.","34 of 230 data_only calls (14.8%) are in that group."],"claim":"Work type and confidence bands","gloss":"Most records were classified from their title and framing alone, with assay-cue coverage at zero.","detail":"Most classifications in this run rest on no matched evidence at all. At the evidence floor the work type comes from title framing and a fixed prior, not from anything in the paper, so the published work-type split should be read as a rough triage signal rather than a measured distribution. The impact is bounded but not removed: since 2026-10-23 the engine excludes floor-confidence records from the shortlist entirely and publishes them separately as held out, so the recommendation is unaffected even though the census is.","status":"unverified","severity":"high"},{"code":"runtime_is_modelled","basis":["Runtime is summed from published per-assay hour figures. Timing awaits the first executed replication.","4,407 of 5,529 records (79.7%) model to 0.00 hours because no assay was matched, which the ranking then reads as \"cheapest\".","0 of 10 shortlisted records carry a 0.00-hour estimate."],"claim":"Estimated replication runtime","gloss":"The hour figures are estimates built from assay mentions; timing awaits the first executed replication.","detail":"The hour figures are a cost model derived from the bench steps implied by each matched assay family. The first executed replication will supply measured timing. Records without an assay match currently receive a zero-hour model value.","status":"unverified","severity":"high"},{"code":"signal_score_without_citations","basis":["5,529 of 5,529 records (100.0%) have no citation count from the source metadata."],"claim":"Signal score","gloss":"The signal score uses publication-type weight because the mirror supplied zero citation counts.","detail":"The source supplied no citation counts for any record in this run, so the signal score is publication-type weight only. The citation term of the ranking is inert here, and the shortlist is ordered by publication type alone.","status":"unverified","severity":"high"},{"code":"abstract_absent","basis":["1,667 of 5,529 records (30.2%) carry no abstract at all."],"claim":"Evidence base for classification","gloss":"Some records contain a title and publication type only, defining the available classification evidence.","detail":"Where the mirror contains a title and publication types only, those fields define the classifier evidence. A methods section is required for fuller automated and human review.","status":"unverified","severity":"medium"},{"code":"classifier_agreement_measured","basis":["Published two-way decision agreement 77.7% (310 of 399 decidable records) from a stratified hand-check of 438 real records.","Three-way diagnostic agreement 73.9% (288 of 390 decidable records).","data_only agreement 75.2% (100 of 133 decidable).","48 record(s) could not be decided from title and abstract and were excluded from the denominator.","56 analysis-only records were published under another work type, so the data_only share is not an upper bound."],"claim":"Published automatable decision","gloss":"This figure has been checked against a human reading the same papers, so we know how often it is right.","detail":"The published automatable / not-automatable distribution comes from a rule-based classifier that was hand-checked against a fixed ground-truth definition. The agreement rates below are measured, not estimated. The three-way work type remains a diagnostic and is reported separately.","status":"measured","severity":"high"},{"code":"llm_comparison_not_measured","basis":["rule_based_v1+lex99e1195c7d6f produced 5,529 of 5,529 classifications.","Measured on 438 labelled records; these are RULE-BASED figures, not model results."],"claim":"Rule-based versus LLM agreement","gloss":"Every number here is the rule engine’s own. Model comparison begins when a working API credential is connected and measured.","detail":"The published two-way decision agreed with a human reading on 310 of 399 decidable records (77.7%). The diagnostic three-way label agreed on 288 of 390 decidable records (73.9%). Every percentage in this run belongs to the rule engine. Model comparison begins when a working API credential is connected and measured.","status":"not_measured","severity":"high"},{"code":"confidence_is_a_band","basis":["low band: 135 of 210 hand-judged records were correct, 64.3% [57.6, 70.5] (95% CI).","medium band: 80 of 104 hand-judged records were correct, 76.9% [68.0, 84.0] (95% CI).","high band: 73 of 76 hand-judged records were correct, 96.0% [89.0, 98.7] (95% CI).","A fitted calibrated probability was built, measured and withdrawn: it overstated held-out accuracy and reorders nothing."],"claim":"Confidence band and evidence score","gloss":"The confidence band carries a measured accuracy interval; 0.85 represents relative rank strength.","detail":"Confidence on this run is a BAND plus its measured accuracy interval. The number stored alongside each record is a monotone evidence score that orders records; 0.85 represents relative rank strength. A fitted probability was withdrawn after it overstated held-out accuracy. Threshold on the band.","status":"measured","severity":"medium"},{"code":"three_way_split_is_diagnostic","basis":["The corpus is published at the two-way decision: automatable or not-automatable. The three-way split (data_only / physical / mixed) is published as a diagnostic with its measured reliability attached, not as a claim, because the rule engine's `mixed` call cannot be defended.","The engine called 22 record(s) mixed; 10 matched the human judgement (45.5%, 95% CI 26.9-65.3).","The engine's `mixed` call is right on 10/22 hand-judged records (45.5%, 95% CI 26.9%-65.3%); a constant `physical` guess scores 36.4%.","The engine's `mixed` call does not reliably beat a constant `physical` guess on the hand-judged records it labels mixed.","The sign of that difference flips between two independent samples, so the three-way refinement is not demonstrably informative.","The mixed stratum contributes a disproportionate share of errors relative to its size.","At title-only depth the physical/mixed split collapses: a title says that work was done, not whether it was also analysed."],"claim":"The published decision is two-way","gloss":"The three-way split is shown for diagnosis only. The published split is two ways.","detail":"Count and filter the corpus on automatable versus not-automatable. The data_only / physical / mixed split remains an internal engine diagnostic because the mixed call has lower measured reliability.","status":"measured","severity":"medium"},{"code":"automatable_flag_unproven","basis":["6 of 29 assay families are marked automatable now: meta_analysis, machine_learning, survival_analysis, pca, molecular_docking, differential_expression.","The flag is a rule over assay family and work type; validation begins with the first executed replication.","It inherits the 75.2% data_only agreement rate, because the flag requires the record to be analysis-only."],"claim":"Automatable now","gloss":"This flag marks assay families the rules classify as data-only. The first executed replication will validate it.","detail":"This flag marks families the rules consider replicable from data alone. Its validity depends on the analysis-only classification and will be measured through an executed replication.","status":"unverified","severity":"medium"}],"confidence_policy":"band_with_measured_interval","confidence_contract":{"policy":"band_with_measured_interval","summary":"Confidence is reported as a BAND with a measured accuracy interval. The raw evidence score supplies monotone ordering. A fitted point estimate was withdrawn after it overstated held-out accuracy.","evidence_score":"A monotone evidence score in [0,1] built from cue mass, axis separation and text coverage. Use it to order records. Interpret 0.85 as relative rank strength.","confidence_band":"low | medium | high. Consumers threshold on this value.","band_accuracy":"Wilson 95% interval on the measured agreement of the hand-judged records in this band.","calibrated_confidence":"WITHDRAWN. Reintroduction requires held-out evidence demonstrating reliable estimates across every bin."},"band_accuracy":{"low":{"n":210,"low":0.576,"band":"low","high":0.7046,"agree":135,"accuracy":0.6429},"high":{"n":76,"low":0.8903,"band":"high","high":0.9865,"agree":73,"accuracy":0.9605},"medium":{"n":104,"low":0.6795,"band":"medium","high":0.8397,"agree":80,"accuracy":0.7692}},"provider":"rule_based_v1+lex99e1195c7d6f","lexicon_id":"99e1195c7d6f","contract_published_at":"2026-10-23T12:25:29.022232+00:00","confidence_is_band":true,"confidence_is_probability":false,"decision_taxonomy":"two_way","decidable_fraction_two_way":0.8854,"decidable_fraction_two_way_low":0.8565,"decidable_fraction_two_way_high":0.9143,"decidable_fraction_three_way":0.8586,"decidable_fraction_three_way_low":0.8287,"decidable_fraction_three_way_high":0.8884,"decidable_population":5529,"validation_sample_size":438,"three_way_cost_fraction":0.0268,"three_way_cost_records":148,"decision_counts":{"automatable":230,"not_automatable":5299},"decision_split":{"automatable":{"count":230,"share":0.04159884246699222},"not_automatable":{"count":5299,"share":0.9584011575330078}},"diagnostic_work_type_counts":{"mixed":24,"physical":5275,"data_only":230}}}