{"id":17880357,"url":"https://github.com/brainstorm/pcgr-deploy","last_synced_at":"2025-04-03T01:17:11.335Z","repository":{"id":146072507,"uuid":"108281001","full_name":"brainstorm/pcgr-deploy","owner":"brainstorm","description":"Deployment playbook for the Personal Cancer Genome Reporter: https://github.com/sigven/pcgr","archived":false,"fork":false,"pushed_at":"2018-06-06T06:59:03.000Z","size":216,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-08T15:24:54.083Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"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/brainstorm.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-25T14:23:01.000Z","updated_at":"2021-12-09T00:06:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"fd04a18e-61fd-4cab-971a-c9cd8c49e15a","html_url":"https://github.com/brainstorm/pcgr-deploy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainstorm%2Fpcgr-deploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainstorm%2Fpcgr-deploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainstorm%2Fpcgr-deploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brainstorm%2Fpcgr-deploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brainstorm","download_url":"https://codeload.github.com/brainstorm/pcgr-deploy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246916762,"owners_count":20854514,"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-10-28T12:14:16.892Z","updated_at":"2025-04-03T01:17:11.312Z","avatar_url":"https://github.com/brainstorm.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Personal Cancer Genome Reporter deployment recipes\n==================================================\n\nIntroduction\n============\n\nCancer reporting systems require prepopulating several gigabytes of genomic reference data and provisioning all software pieces, docker containers and configuration.\n\nPCGR eases that, `pcgr-deploy` simplifies it futher.\n\nThis ansible playbook contains tasks to deploy [PCGR](https://github.com/sigven/pcgr) into Amazon and OpenStack clouds, with HPC-specific tasks added as a module (mainly NFS mounting).\n\nQuickstart\n==========\n\nTweak files `ansible/group_vars/all` and `ansible.site.yml`'s roles section according to your needs (are you a HPC or AWS user?).\n\nThe following lines will install the deployment modules, deploy PCGR and run its built-in example as a validation:\n\n```\npython3 -m venv venv \u0026\u0026 source venv/bin/activate \u0026\u0026 pip install ansible\nansible-playbook aws.yaml -e 'ansible_python_interpreter=/usr/bin/python3'\nssh ubuntu@\u003cAWS INSTANCE\u003e\ncd /mnt/pcgr\n./pcgr.py --input_vcf examples/tumor_sample.COAD.vcf.gz --input_cna examples/tumor_sample.COAD.cna.tsv /mnt/pcgr-* output tumor_sample.COAD\n```\n\nAmazon or OpenStack or HPC?\n===========================\n\nThis playbook allows for all of them, it has tested on the [Australian NCI supercomputing centre Tenjin private cloud](https://nci.org.au/systems-services/cloud-computing/tenjin/).\n\nThe only changes needed are on `ansible/group_vars/all` as mentioned on the Quickstart and rearranging `site.yml` so that it includes the `hpc` role after `common` and `databundle`.Then running the playbook in the following way should deploy PCGR in your (OpenStack?) VM:\n\n```\nansible-playbook site.yml -e 'ansible_python_interpreter=/usr/bin/python3' -i \u003cYOUR CLUSTER IP/HOSTNAME\u003e,\n```\n\nAlternatively, if you have python3 already installed in your virtual environment, instantiating and deploying to OpenStack is as easy as:\n\n```\nansible-playbook openstack.yml\n```\n\nAssuming you are employed by the University of Melbourne and running on Tenjin, that's all you need to do ;)\n\n(Optional) Amazon: Saving money with Spot instances\n---------------------------------------------------\n\nThe following script included in `ansible` queries AWS's spot history and determines if the\ninstance we are asking for will be available. For instance, running the script with a `0.08AUD`\nasking price gives us:\n\n```\npython ~/bin/get_spot_duration.py \\\n\t--region ap-southeast-2 \\\n\t--product-description 'Linux/UNIX' \\\n\t--bids c4.large:0.08\n```\n\nThat is 168 hours uptime at that particular asking price for `ap-southeast-2c`, that \nis ~87% savings at the time of writing this:\n\n```\n$ ./get_spot_duration.sh\nDuration    Instance Type    Availability Zone\n168.0    c4.large    ap-southeast-2c\n108.2    c4.large    ap-southeast-2a\n15.7    c4.large    ap-southeast-2b\n```\n\nKubernetes\n==========\n\nOpen ended experiment for now, there are some errors that [need some attention](https://twitter.com/braincode/status/865250048480817152).\n\nFAQ\n===\n\n`ERROR: package is not a legal parameter in an Ansible task or handler` is a symptom of a too old ansible version (probably 1.9.x). You need Ansible \u003e=2.x to deploy this.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrainstorm%2Fpcgr-deploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrainstorm%2Fpcgr-deploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrainstorm%2Fpcgr-deploy/lists"}