{"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/sctree-discovering-cellular-hierarchies-in","title":"scTree: Discovering Cellular Hierarchies in the Presence of Batch Effects in scRNA-seq Data","arxiv_id":"2406.19300","date":"2024-06-27","proceeding":null,"authors":["Moritz Vandenhirtz","Florian Barkmann","Laura Manduchi","Julia E. Vogt","Valentina Boeva"],"abstract":"We propose a novel method, scTree, for single-cell Tree Variational Autoencoders, extending a hierarchical clustering approach to single-cell RNA sequencing data. scTree corrects for batch effects while simultaneously learning a tree-structured data representation. This VAE-based method allows for a more in-depth understanding of complex cellular landscapes independently of the biasing effects of batches. We show empirically on seven datasets that scTree discovers the underlying clusters of the data and the hierarchical relations between them, as well as outperforms established baseline methods across these datasets. Additionally, we analyze the learned hierarchy to understand its biological relevance, thus underpinning the importance of integrating batch correction directly into the clustering procedure.","url_abs":"https://arxiv.org/abs/2406.19300v2","url_pdf":"https://arxiv.org/pdf/2406.19300v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"sctree-discovering-cellular-hierarchies-in","repo_url":"https://github.com/mvandenhi/sctree-public","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2406.19300","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.19300"}},"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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mvandenhi/sctree-public","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":5,"ran_honours":1,"unverified":4},"by_repo_kind":{"official":{"samples":10,"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":"aa82271694aa26fb","entry":"actvn","repo":"mvandenhi/sctree-public","repo_kind":"official","path":"src/sctree/models/networks.py","file_url":"https://github.com/mvandenhi/sctree-public/blob/HEAD/src/sctree/models/networks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"aa82271694aa26fb"}},{"code_sha256_prefix":"8b187044b46776ff","entry":"cluster_acc","repo":"mvandenhi/sctree-public","repo_kind":"official","path":"src/sctree/utils/utils.py","file_url":"https://github.com/mvandenhi/sctree-public/blob/HEAD/src/sctree/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8b187044b46776ff"}},{"code_sha256_prefix":"1490267abbaf552e","entry":"compute_posterior","repo":"mvandenhi/sctree-public","repo_kind":"official","path":"src/sctree/utils/model_utils.py","file_url":"https://github.com/mvandenhi/sctree-public/blob/HEAD/src/sctree/utils/model_utils.py","link_basis":"plan_row","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"1490267abbaf552e"}},{"code_sha256_prefix":"a3068f593f9b81dd","entry":"construct_tree","repo":"mvandenhi/sctree-public","repo_kind":"official","path":"src/sctree/utils/model_utils.py","file_url":"https://github.com/mvandenhi/sctree-public/blob/HEAD/src/sctree/utils/model_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a3068f593f9b81dd"}},{"code_sha256_prefix":"8bf333e25cc959aa","entry":"merge_yaml_args","repo":"mvandenhi/sctree-public","repo_kind":"official","path":"src/sctree/utils/utils.py","file_url":"https://github.com/mvandenhi/sctree-public/blob/HEAD/src/sctree/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8bf333e25cc959aa"}},{"code_sha256_prefix":"d670f4e0166ca03c","entry":"prepare_config","repo":"mvandenhi/sctree-public","repo_kind":"official","path":"src/sctree/utils/utils.py","file_url":"https://github.com/mvandenhi/sctree-public/blob/HEAD/src/sctree/utils/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"d670f4e0166ca03c"}},{"code_sha256_prefix":"32a03166f0d6d67c","entry":"calc_aug_loss","repo":"mvandenhi/sctree-public","repo_kind":"official","path":"src/sctree/utils/training_utils.py","file_url":"https://github.com/mvandenhi/sctree-public/blob/HEAD/src/sctree/utils/training_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"32a03166f0d6d67c"}},{"code_sha256_prefix":"a046b50a34886842","entry":"move_to","repo":"mvandenhi/sctree-public","repo_kind":"official","path":"src/sctree/utils/training_utils.py","file_url":"https://github.com/mvandenhi/sctree-public/blob/HEAD/src/sctree/utils/training_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a046b50a34886842"}},{"code_sha256_prefix":"e018da21b0bd6354","entry":"predict","repo":"mvandenhi/sctree-public","repo_kind":"official","path":"src/sctree/utils/training_utils.py","file_url":"https://github.com/mvandenhi/sctree-public/blob/HEAD/src/sctree/utils/training_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e018da21b0bd6354"}},{"code_sha256_prefix":"b942e816ea4942b4","entry":"return_list_tree","repo":"mvandenhi/sctree-public","repo_kind":"official","path":"src/sctree/utils/model_utils.py","file_url":"https://github.com/mvandenhi/sctree-public/blob/HEAD/src/sctree/utils/model_utils.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b942e816ea4942b4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}