{"id":26573241,"url":"https://github.com/linsalrob/pyctv","last_synced_at":"2026-02-02T15:08:26.033Z","repository":{"id":142385616,"uuid":"611956728","full_name":"linsalrob/pyctv","owner":"linsalrob","description":"Parse and incorporate the ICTV Virus Metadata Resource file","archived":false,"fork":false,"pushed_at":"2023-04-27T06:48:01.000Z","size":1381,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-29T05:03:13.514Z","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/linsalrob.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2023-03-09T22:25:50.000Z","updated_at":"2024-05-20T09:28:08.000Z","dependencies_parsed_at":"2023-05-02T12:39:32.483Z","dependency_job_id":null,"html_url":"https://github.com/linsalrob/pyctv","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/linsalrob/pyctv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linsalrob%2Fpyctv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linsalrob%2Fpyctv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linsalrob%2Fpyctv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linsalrob%2Fpyctv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linsalrob","download_url":"https://codeload.github.com/linsalrob/pyctv/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linsalrob%2Fpyctv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29013926,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-02T14:58:54.169Z","status":"ssl_error","status_checked_at":"2026-02-02T14:58:51.285Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-03-23T00:39:53.012Z","updated_at":"2026-02-02T15:08:26.025Z","avatar_url":"https://github.com/linsalrob.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Edwards Lab](https://img.shields.io/badge/Bioinformatics-EdwardsLab-03A9F4)](https://edwards.flinders.edu.au/)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n![GitHub language count](https://img.shields.io/github/languages/count/linsalrob/pyctv)\r\n[![PyPi](https://img.shields.io/pypi/pyversions/pyctv_taxonomy.svg?style=flat-square\u0026label=PyPi%20Versions)](https://pypi.org/project/pyctv_taxonomy/)\r\n[![DOI](https://www.zenodo.org/badge/611956728.svg)](https://www.zenodo.org/badge/latestdoi/611956728)\r\n[![install with bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg?style=flat)](http://bioconda.github.io/recipes/pyctv_taxonomy/README.html)\r\n\r\n# PyCTV Taxonomy\r\n\r\n_We don't create the taxonomy, we just use it!_\r\n\r\nThe [ICTV](https://ictv.global/) [Virus Metadata Resource](https://ictv.global/vmr) contains an upto date taxonomy of viruses in Excel sheets. We parse that information, and make it available through a Python API\r\n\r\n# VMR\r\n\r\nThe [ICTV](https://ictv.global/) maintains the Virus Metadata Resource, VMR, which is a list of all the viral taxonomies, connections to GenBank and RefSeq, and the associated metadata. This is, as far as I can tell, the most up-to-date list of all viral taxonomies.\r\n\r\nPyCTV is designed to allow you to easily use the ICTVs VMR data in your own viral taxonomies!\r\n\r\nWhen you first run it, you can `download` the viral taxonomy. But don't worry if you don't download it, because the first time you ask for it, we'll download it for you. The next time you run it, we'll let you know if there is a newer version that you should download. We parse that file, and create VMR objects which contain all the viral metadata resource information. You can query in a few different ways, and we provide `dicts` that map between GenBank IDs, RefSeq IDs, and the viral taxonomy. \r\n\r\nViral taxonomy is generated using the now familiar notion of k\\_\\_, p\\_\\_, c\\_\\_ etc. abbreviations, and you can access the taxonomy as either a single string or tab separated text.\r\n\r\nThe most up-to-date version of the VMR can be found at [https://ictv.global/vmr/current/](https://ictv.global/vmr/current)\r\n\r\n# Example uses\r\n\r\n1. Download a new VMR dataset.\r\n\r\nThis places the VMR file in the [VMR](VMR/) folder in the distribution directory.\r\n\r\n`pyctv.py download`\r\n\r\nor you can force a new download (if you have an existing file you wish to replace):\r\n\r\n`pyctv.py download --force`\r\n\r\n[Note for Windows users: if you have the Excel file open you may get an error trying to delete it]\r\n\r\n2. List all the viral species\r\n\r\nList all the viruses separated by semi-colons:\r\n\r\n`pyctv.py list --semi`\r\n\r\n3. List all the GenBank accession numbers and the viral species\r\n\r\n`pyctv.py list --genbank`\r\n\r\n4. List all the RefSeq accession numbers and the viral species\r\n\r\n`pyctv.py list --refseq`\r\n\r\n# Install\r\n\r\nWe recommended the [conda installation](https://bioconda.github.io/recipes/pyctv_taxonomy/README.html):\r\n\r\n```bash\r\nconda install pyctv_taxonomy\r\n```\r\n\r\nYou can `pip install pyctv_taxonomy` to get the latest version.\r\n\r\n# Citing PyCTV\r\n\r\nIf you use PyCTV please cite:\r\n\r\n```\r\nEdwards, Robert A. (2023) PyCTV: A library for accessing the ICTV Virus Metadata Resource. Zenodo. DOI: https://doi.org/10.5281/zenodo.7728567\r\n```\r\n\r\n\t\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinsalrob%2Fpyctv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinsalrob%2Fpyctv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinsalrob%2Fpyctv/lists"}