{"id":21287733,"url":"https://github.com/stjudecloud/merge-counts","last_synced_at":"2025-07-11T13:31:07.509Z","repository":{"id":51184674,"uuid":"286826916","full_name":"stjudecloud/merge-counts","owner":"stjudecloud","description":"Utility for merging RNA-seq expression counts files from St. Jude Cloud. ","archived":false,"fork":false,"pushed_at":"2023-10-10T19:57:11.000Z","size":180,"stargazers_count":1,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-07T14:43:25.782Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stjudecloud.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-11T19:07:19.000Z","updated_at":"2022-03-10T02:09:44.000Z","dependencies_parsed_at":"2023-01-31T02:01:05.204Z","dependency_job_id":null,"html_url":"https://github.com/stjudecloud/merge-counts","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stjudecloud%2Fmerge-counts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stjudecloud%2Fmerge-counts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stjudecloud%2Fmerge-counts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stjudecloud%2Fmerge-counts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stjudecloud","download_url":"https://codeload.github.com/stjudecloud/merge-counts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225724172,"owners_count":17514144,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-21T12:15:30.581Z","updated_at":"2024-11-21T12:15:31.100Z","avatar_url":"https://github.com/stjudecloud.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003e\n    merge-counts\n  \u003c/h1\u003e\n\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://actions-badge.atrox.dev/stjudecloud/merge-counts/goto\" target=\"_blank\"\u003e\n      \u003cimg alt=\"Actions: CI Status\"\n          src=\"https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fstjudecloud%2Fmerge-counts%2Fbadge\u0026style=flat\" /\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pypi.org/project/stjudecloud-merge-counts/\" target=\"_blank\"\u003e\n      \u003cimg alt=\"PyPI\"\n          src=\"https://img.shields.io/pypi/v/stjudecloud-merge-counts?color=orange\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pypi.python.org/pypi/stjudecloud-merge-counts/\" target=\"_blank\"\u003e\n      \u003cimg alt=\"PyPI: Downloads\"\n          src=\"https://img.shields.io/pypi/dm/stjudecloud-merge-counts?color=orange\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://pypi.python.org/pypi/stjudecloud-merge-counts/\" target=\"_blank\"\u003e\n      \u003cimg alt=\"PyPI: Downloads\"\n          src=\"https://img.shields.io/pypi/pyversions/stjudecloud-merge-counts?color=orange\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/stjudecloud/merge-counts/blob/master/LICENSE.md\" target=\"_blank\"\u003e\n    \u003cimg alt=\"License: MIT\"\n          src=\"https://img.shields.io/badge/License-MIT-blue.svg\" /\u003e\n    \u003c/a\u003e\n  \u003c/p\u003e\n\n\n  \u003cp align=\"center\"\u003e\n    Utility for merging RNA-seq expression counts files from St. Jude Cloud. \n    \u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/stjudecloud/merge-counts/issues/new?assignees=\u0026labels=\u0026template=feature_request.md\u0026title=Descriptive%20Title\u0026labels=enhancement\"\u003eRequest Feature\u003c/a\u003e\n    ·\n    \u003ca href=\"https://github.com/stjudecloud/merge-counts/issues/new?assignees=\u0026labels=\u0026template=bug_report.md\u0026title=Descriptive%20Title\u0026labels=bug\"\u003eReport Bug\u003c/a\u003e\n    ·\n    ⭐ Consider starring the repo! ⭐\n    \u003cbr /\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n## 📚 Getting Started\n\n### Installation\n\nYou can install `stjudecloud-merge-counts` using the Python Package Index ([PyPI](https://pypi.org/)).\n\n```bash\npip install stjudecloud-merge-counts\n```\n\n### Usage\n\n`stjudecloud-merge-counts` has 4 subcommands:\n* `concordance-test` - Performs a `recursive` and `sequential` merge and verifies that the results are concordant.\n* `metadata` - Compiles file metadata into a tab-delimited matrix.\n* `recursive` - Merges count files in a recursive, divide-and-conquer strategy.\n* `sequential` - Merges count files sequentially. This method should produce the same results as `recursive`, but it requires significantly more time than the recursive approach.\n\nAll four subcommands require a set of DNAnexus file IDs to be supplied as commandline arguments.\n\nFor feature counts vended from St. Jude Cloud platform, the following example will merge the vended counts into a tab-delimited matrix. Replace `project-G2KfyQ09XB5BBKKf1BXx9ZkK` with the project identifier for your DNAnexus project containing feature counts.\n\n```dx ls --brief project-G2KfyQ09XB5BBKKf1BXx9ZkK:/immediate/FEATURE_COUNTS/  | xargs stjudecloud-merge-counts recursive```\n\n## Caveats\n\n- When a file belongs to multiple datasets in St. Jude Cloud, we will pick a single dataset name to use for that file based on an ordered priority list. In short, we'll generally choose the _best_ dataset (from the St. Jude Cloud team's perspective). You can find the priority of datasets listed here: https://github.com/stjudecloud/merge-counts/blob/master/mergecounts/utils/dx.py#L19.\n  - So, for example, if the file for SJABCD1234 belongs to both the PCGP and CSTN datasets, the sample name generated will include the PCGP dataset name (since it is higher priority), giving you the column name `SJABCD1234 (PCGP)`.\n\n\n## 🖥️ Development\n\nIf you are interested in contributing to the code, please first review\nour [CONTRIBUTING.md][contributing-md] document. \n\nTo bootstrap a development environment, please use the following commands.\n\n```bash\n# Clone the repository\ngit clone git@github.com:stjudecloud/merge-counts.git\ncd merge-counts\n\n# Install the project using poetry\npoetry install\n```\n\n## 🚧️ Tests\n\nmerge-counts provides a (currently patchy) set of tests — both unit and end-to-end.\n\n```bash\npy.test\n```\n\n## 🤝 Contributing\n\nContributions, issues and feature requests are welcome!\u003cbr /\u003eFeel free to check [issues page](https://github.com/stjudecloud/merge-counts/issues). You can also take a look at the [contributing guide][contributing-md].\n\n## 📝 License\n\nThis project is licensed under the MIT License—see the [LICENSE.md][license-md] file for details.\n\nCopyright © 2020 [St. Jude Cloud Team](https://github.com/stjudecloud).\u003cbr /\u003e\n\n[contributing-md]: https://github.com/stjudecloud/merge-counts/blob/master/CONTRIBUTING.md\n[license-md]: https://github.com/stjudecloud/merge-counts/blob/master/LICENSE.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstjudecloud%2Fmerge-counts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstjudecloud%2Fmerge-counts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstjudecloud%2Fmerge-counts/lists"}