{"id":28395155,"url":"https://github.com/databiosphere/xvcfmerge","last_synced_at":"2026-01-29T14:08:46.475Z","repository":{"id":41961392,"uuid":"250342375","full_name":"DataBiosphere/xvcfmerge","owner":"DataBiosphere","description":"Workflow to merge VCF files","archived":false,"fork":false,"pushed_at":"2022-04-25T18:22:16.000Z","size":121,"stargazers_count":0,"open_issues_count":4,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-01T06:52:22.204Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"wdl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataBiosphere.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-26T18:39:35.000Z","updated_at":"2022-04-21T19:20:07.000Z","dependencies_parsed_at":"2022-08-12T00:50:11.334Z","dependency_job_id":null,"html_url":"https://github.com/DataBiosphere/xvcfmerge","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/DataBiosphere/xvcfmerge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataBiosphere%2Fxvcfmerge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataBiosphere%2Fxvcfmerge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataBiosphere%2Fxvcfmerge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataBiosphere%2Fxvcfmerge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataBiosphere","download_url":"https://codeload.github.com/DataBiosphere/xvcfmerge/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataBiosphere%2Fxvcfmerge/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262172421,"owners_count":23270008,"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":"2025-05-31T19:39:21.763Z","updated_at":"2026-01-29T14:08:41.411Z","avatar_url":"https://github.com/DataBiosphere.png","language":"wdl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# xvcfmerge\n\nDefine a WDL workflow to merge jointly called VCF files. This workflow accepts input as array of reference URIs. The\nreference URIs should be either Google Storage URLs or\n[DRS](https://support.terra.bio/hc/en-us/articles/360039330211-Data-Access-with-the-GA4GH-Data-Repository-Service-DRS-)\nURIs.\n\n## Description\n\n[xsamtools](https://github.com/DataBiosphere/xsamtools) is used to perform the merge. Each input VCF should describe a single\nchromosome and should have equivalent headers.\n\nIn order to keep hard disk requirements small and improve performance, input/output objects are streamed directly from\ncloud storage using FIFO queues (named pipes).\n\nAn appropriate workflow configuration is ~16GB RAM, ~8 CPUs, and standard storage.\n\n## Runtime\n\nRuntime varies with the number of VCFs to merge, the number of samples, runtime configuration, and other factors. The\ntable below may be helpful to understand the expected runtime for your workflow.\n\n| cpu | memory | number of vcfs | average size | samples | runtime   |\n| --- | ------ | -------------- | ------------ | ------- | --------- |\n|   2 |    2GB | 2              | 2GB          | 2       | 0.9 hours | \n|   8 |   64GB | 2              | 2GB          | 2       | 0.7 hours | \n|   8 |   64GB | 2              | 5GB          | 5370    |   4 hours |\n|   8 |   64GB | 5              | 5GB          | 4100    |  18 hours |\n\n## Tests\n\nTest workflows are executed locally with [miniwdl](https://github.com/chanzuckerberg/miniwdl), and require access to the\n[terra-notebook-utils-tests](https://terra.biodatacatalyst.nhlbi.nih.gov/#workspaces/firecloud-cgl/terra-notebook-utils-tests)\nTerra workspace and GCP authorization.\n\nTo run basic tests,\n```\ndocker login\ngcloud auth login\nmake test\n```\nNote that the WDL built-in function size() does not function in miniwdl, which is used in the makefile, when working with gs URIs which may lead to a failing test unless lines involving that function are commented out. size() functions correctly on Cromwell and is a necessary inclusion for GCP-based backends including Terra.\n\nMore robust tests against DRS resolved objects should be executed prior to release with\n```\ngcloud auth application-default login\nmake test_drs\n```\n\nPlease contact Lon (lblauvel at ucsc dot edu) for data and workspace access issues.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatabiosphere%2Fxvcfmerge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatabiosphere%2Fxvcfmerge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatabiosphere%2Fxvcfmerge/lists"}