{"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/single-cell-rna-seq-data-imputation-using","title":"Single-cell RNA-seq data imputation using Feature Propagation","arxiv_id":"2307.10037","date":"2023-07-14","proceeding":null,"authors":["Sukwon Yun","Junseok Lee","Chanyoung Park"],"abstract":"While single-cell RNA sequencing provides an understanding of the transcriptome of individual cells, its high sparsity, often termed dropout, hampers the capture of significant cell-cell relationships. Here, we propose scFP (single-cell Feature Propagation), which directly propagates features, i.e., gene expression, especially in raw feature space, via cell-cell graph. Specifically, it first obtains a warmed-up cell-gene matrix via Hard Feature Propagation which fully utilizes known gene transcripts. Then, we refine the k-Nearest Neighbor(kNN) of the cell-cell graph with a warmed-up cell-gene matrix, followed by Soft Feature Propagation which now allows known gene transcripts to be further denoised through their neighbors. Through extensive experiments on imputation with cell clustering tasks, we demonstrate our proposed model, scFP, outperforms various recent imputation and clustering methods. The source code of scFP can be found at https://github.com/Junseok0207/scFP.","url_abs":"https://arxiv.org/abs/2307.10037v2","url_pdf":"https://arxiv.org/pdf/2307.10037v2.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":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"single-cell-rna-seq-data-imputation-using","repo_url":"https://github.com/junseok0207/scfp","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2307.10037","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.10037"}},"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":"deterministic:regex_extraction","url":"https://github.com/Junseok0207/scFP","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/junseok0207/scfp","reach":{"status":"ok"}}],"summary":{"ran":8,"unverified":2},"by_repo_kind":{"official":{"samples":10,"ran":8,"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":10,"samples":[{"code_sha256_prefix":"e848c28910745928","entry":"FeaturePropagation","repo":"junseok0207/scfp","repo_kind":"official","path":"models/scFP.py","file_url":"https://github.com/junseok0207/scfp/blob/HEAD/models/scFP.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e848c28910745928"}},{"code_sha256_prefix":"8d0890891bb21d75","entry":"cos_sim","repo":"Junseok0207/scFP","repo_kind":"official","path":"misc/utils.py","file_url":"https://github.com/Junseok0207/scFP/blob/HEAD/misc/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8d0890891bb21d75"}},{"code_sha256_prefix":"50f9075c388867cf","entry":"cosine_similarity","repo":"Junseok0207/scFP","repo_kind":"official","path":"misc/utils.py","file_url":"https://github.com/Junseok0207/scFP/blob/HEAD/misc/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"50f9075c388867cf"}},{"code_sha256_prefix":"98ffc3b33f629509","entry":"enumerateConfig","repo":"Junseok0207/scFP","repo_kind":"official","path":"argument.py","file_url":"https://github.com/Junseok0207/scFP/blob/HEAD/argument.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"98ffc3b33f629509"}},{"code_sha256_prefix":"a1ec8ebfbb31ac82","entry":"knn_graph","repo":"Junseok0207/scFP","repo_kind":"official","path":"misc/graph_construction.py","file_url":"https://github.com/Junseok0207/scFP/blob/HEAD/misc/graph_construction.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a1ec8ebfbb31ac82"}},{"code_sha256_prefix":"b352577bebe91fc9","entry":"post_processing","repo":"Junseok0207/scFP","repo_kind":"official","path":"misc/graph_construction.py","file_url":"https://github.com/Junseok0207/scFP/blob/HEAD/misc/graph_construction.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b352577bebe91fc9"}},{"code_sha256_prefix":"6288d3696853ae18","entry":"printConfig","repo":"Junseok0207/scFP","repo_kind":"official","path":"argument.py","file_url":"https://github.com/Junseok0207/scFP/blob/HEAD/argument.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6288d3696853ae18"}},{"code_sha256_prefix":"62ada701da1eed6d","entry":"top_k","repo":"Junseok0207/scFP","repo_kind":"official","path":"misc/graph_construction.py","file_url":"https://github.com/Junseok0207/scFP/blob/HEAD/misc/graph_construction.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"62ada701da1eed6d"}},{"code_sha256_prefix":"d4b9a658ccb12e12","entry":"drop_data","repo":"Junseok0207/scFP","repo_kind":"official","path":"misc/utils.py","file_url":"https://github.com/Junseok0207/scFP/blob/HEAD/misc/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d4b9a658ccb12e12"}},{"code_sha256_prefix":"834a7e5ca5c383d0","entry":"str2bool","repo":"Junseok0207/scFP","repo_kind":"official","path":"argument.py","file_url":"https://github.com/Junseok0207/scFP/blob/HEAD/argument.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"834a7e5ca5c383d0"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}