{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2605-20989","title":"Modeling Temporal scRNA-seq Data with Latent Gaussian Process and Optimal Transport","arxiv_id":"2605.20989","date":"2026-05-20","proceeding":"ICML","authors":["Mehmet Yigit Balik","Harri Lähdesmäki"],"abstract":"Single-cell RNA sequencing provides insights into gene expression at single-cell resolution, yet inferring temporal processes from these static snapshot measurements remains a fundamental challenge. Current approaches utilizing neural differential equations and flows are sensitive to overfitting and lack careful considerations of biological variability. In this work, we propose a generative framework that models population trends using a latent heteroscedastic Gaussian process (GP) approximated by Hilbert space methods. To address the absence of genuine cell trajectories, we leverage an optimal transport (OT) objective that aligns generated and observed population distributions. Our method explicitly captures biological heterogeneity by incorporating cell-specific latent time and cell type conditioning to disentangle temporal asynchrony and trajectories to different cell types. We demonstrate state-of-the-art performance on complex interpolation and extrapolation benchmarks and introduce a novel gradient-based strategy for inferring perturbation trajectories.","url_abs":"https://arxiv.org/abs/2605.20989","url_pdf":"https://arxiv.org/pdf/2605.20989","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2605.20989","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2605.20989"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/YigitBalik/LGP-OT","reach":null}],"summary":{"ran":4,"ran_honours":1,"ran_fixture":1,"unverified":2},"by_repo_kind":{"found_in_text":{"samples":8,"ran":6,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"b3bb408dc5783e19","entry":"BasisFunction","repo":"YigitBalik/LGP-OT","repo_kind":"found_in_text","path":"model/models.py","file_url":"https://github.com/YigitBalik/LGP-OT/blob/HEAD/model/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b3bb408dc5783e19"}},{"code_sha256_prefix":"79b240adbb1738d6","entry":"CovariateModule","repo":"YigitBalik/LGP-OT","repo_kind":"found_in_text","path":"model/models.py","file_url":"https://github.com/YigitBalik/LGP-OT/blob/HEAD/model/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"79b240adbb1738d6"}},{"code_sha256_prefix":"6d574cc15d27a6b3","entry":"LinearNet","repo":"YigitBalik/LGP-OT","repo_kind":"found_in_text","path":"model/models.py","file_url":"https://github.com/YigitBalik/LGP-OT/blob/HEAD/model/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6d574cc15d27a6b3"}},{"code_sha256_prefix":"30f72a762a90877f","entry":"OneHotEncoder","repo":"YigitBalik/LGP-OT","repo_kind":"found_in_text","path":"model/models.py","file_url":"https://github.com/YigitBalik/LGP-OT/blob/HEAD/model/models.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"30f72a762a90877f"}},{"code_sha256_prefix":"a4c3659c0ddc0af4","entry":"create_C_matrix_cs","repo":"YigitBalik/LGP-OT","repo_kind":"found_in_text","path":"model/models.py","file_url":"https://github.com/YigitBalik/LGP-OT/blob/HEAD/model/models.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a4c3659c0ddc0af4"}},{"code_sha256_prefix":"d485406e05bf3cf1","entry":"decompose_cs","repo":"YigitBalik/LGP-OT","repo_kind":"found_in_text","path":"model/models.py","file_url":"https://github.com/YigitBalik/LGP-OT/blob/HEAD/model/models.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"DEP_MISSING","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d485406e05bf3cf1"}},{"code_sha256_prefix":"d8a1e8a4520acf9a","entry":"BayesianLinear","repo":"YigitBalik/LGP-OT","repo_kind":"found_in_text","path":"model/models.py","file_url":"https://github.com/YigitBalik/LGP-OT/blob/HEAD/model/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d8a1e8a4520acf9a"}},{"code_sha256_prefix":"5641d634fe4ed6c0","entry":"DGBFGP","repo":"YigitBalik/LGP-OT","repo_kind":"found_in_text","path":"model/models.py","file_url":"https://github.com/YigitBalik/LGP-OT/blob/HEAD/model/models.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5641d634fe4ed6c0"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}