From 1eafdf0cffb554598bdd9e4b27d654d4f5e19f51 Mon Sep 17 00:00:00 2001 From: Kori Kuzma Date: Wed, 26 Jun 2024 08:09:32 -0400 Subject: [PATCH 01/12] build!: remove support for python 3.9 and make 3.12 the dev default close #415 * only support 3 most recent python versions (3.10, 3.11, 3.12) * change development python version from 3.10 to 3.12 * re-run cassettes --- .binder/postBuild | 4 +- .binder/runtime.txt | 2 +- .github/workflows/python-cqa.yml | 2 +- Makefile | 2 +- README.md | 8 +- notebooks/getting_started/README.md | 20 +- pyproject.toml | 3 +- tests/cassettes/test_normalize_allele.yaml | 126 ++++-------- tests/cassettes/test_vcrtest.yaml | 8 +- .../test_annotate_vcf_grch37_attrs.yaml | 180 ++++++++-------- .../test_annotate_vcf_grch38_attrs.yaml | 192 +++++++++--------- ...st_annotate_vcf_grch38_attrs_altsonly.yaml | 192 +++++++++--------- .../test_annotate_vcf_grch38_noattrs.yaml | 192 +++++++++--------- .../test_annotate_vcf_pickle_only.yaml | 192 +++++++++--------- .../cassettes/test_annotate_vcf_vcf_only.yaml | 192 +++++++++--------- .../test_data_proxies[rest_dataproxy].yaml | 16 +- tests/extras/cassettes/test_from_beacon.yaml | 8 +- tests/extras/cassettes/test_from_gnomad.yaml | 184 ++++++++--------- tests/extras/cassettes/test_from_hgvs.yaml | 16 +- ...1:g.26440969_26443305del-1-expected0].yaml | 44 ---- ...del-CopyChange.EFO_0030069-expected0].yaml | 44 ---- tests/extras/cassettes/test_from_spdi.yaml | 133 ------------ .../test_get_vrs_object_invalid_input.yaml | 60 +++--- ...NC_000007.14:g.55181220del-expected2].yaml | 44 ++-- ...g.55181230_55181231insGGCT-expected3].yaml | 50 ++--- ...NC_000007.14:g.55181320A>T-expected1].yaml | 73 ++----- ...NC_000013.11:g.32316467dup-expected5].yaml | 44 ++-- ....11:g.32331093_32331094dup-expected4].yaml | 122 +++++------ ...s[NC_000013.11:g.32936732=-expected0].yaml | 46 +---- ....10:g.289464_289465insCACA-expected8].yaml | 74 +++---- ...0019.10:g.289485_289500del-expected9].yaml | 76 +++---- ...vs[NM_001331029.1:c.722A>G-expected6].yaml | 36 ++-- ...hgvs[NM_181798.1:c.1007G>T-expected7].yaml | 48 ++--- .../extras/cassettes/test_rle_seq_limit.yaml | 192 +++++++++--------- .../test_to_hgvs_iri_ref_keyerror.yaml | 4 +- 35 files changed, 1148 insertions(+), 1481 deletions(-) delete mode 100644 tests/extras/cassettes/test_from_hgvs_cn[NC_000013.11:g.26440969_26443305del-1-expected0].yaml delete mode 100644 tests/extras/cassettes/test_from_hgvs_cx[NC_000013.11:g.26440969_26443305del-CopyChange.EFO_0030069-expected0].yaml delete mode 100644 tests/extras/cassettes/test_from_spdi.yaml diff --git a/.binder/postBuild b/.binder/postBuild index 4f623dd7..2941be16 100644 --- a/.binder/postBuild +++ b/.binder/postBuild @@ -2,5 +2,5 @@ set -e make devready -source venv/3.10/bin/activate -python -m ipykernel install --user --name=3.10 --display-name="VRS_kernel" +source venv/3.12/bin/activate +python -m ipykernel install --user --name=3.12 --display-name="VRS_kernel" diff --git a/.binder/runtime.txt b/.binder/runtime.txt index 55090899..d2aca3a7 100644 --- a/.binder/runtime.txt +++ b/.binder/runtime.txt @@ -1 +1 @@ -python-3.10 +python-3.12 diff --git a/.github/workflows/python-cqa.yml b/.github/workflows/python-cqa.yml index 45a43310..38478cee 100644 --- a/.github/workflows/python-cqa.yml +++ b/.github/workflows/python-cqa.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12"] env: SEQREPO_ROOT_DIR: ./tests/data/seqrepo/latest diff --git a/Makefile b/Makefile index c806fd27..6269550e 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,7 @@ XRM=xargs -0${_XRM_R} rm PKG=ga4gh.vrs PKGD=$(subst .,/,${PKG}) -PYV:=3.10 +PYV:=3.12 VEDIR=venv/${PYV} export SEQREPO_ROOT_DIR=tests/data/seqrepo/latest diff --git a/README.md b/README.md index dc19546b..38fe733d 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,8 @@ All known issues are listed there. Please report any issues you find. ### Prerequisites -- Python >= 3.9 - - _Note: Python 3.10 is required for developers contributing to VRS-Python_ +- Python >= 3.10 + - _Note: Python 3.12 is required for developers contributing to VRS-Python_ - libpq - postgresql @@ -198,7 +198,7 @@ Fork the repo at . git clone --recurse-submodules git@github.com:YOUR_GITHUB_ID/vrs-python.git cd vrs-python make devready -source venv/3.10/bin/activate +source venv/3.12/bin/activate ``` If you already cloned the repo, but forgot to include `--recurse-submodules` you can run: @@ -253,7 +253,7 @@ We have created a public [`VRS-demo-notebooks`](https://app.terra.bio/#workspace 1. Open VS Code. 2. Use Extensions view (Ctrl+Shift+X or ⌘+Shift+X) to install the [Jupyter extension](https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter). 3. Navigate to your vrs-python project folder and open it in VS Code. -4. In a notebook, click `Select Kernel` at the top right. Select the option where the path is `venv/3.10/bin/python3`. See [here](https://code.visualstudio.com/docs/datascience/jupyter-kernel-management) for more information on managing Jupyter Kernels in VS Code. +4. In a notebook, click `Select Kernel` at the top right. Select the option where the path is `venv/3.12/bin/python3`. See [here](https://code.visualstudio.com/docs/datascience/jupyter-kernel-management) for more information on managing Jupyter Kernels in VS Code. 5. After selecting the kernel you can now run the notebook. ## Security Note (from the GA4GH Security Team) diff --git a/notebooks/getting_started/README.md b/notebooks/getting_started/README.md index 379e4301..1a95de6f 100644 --- a/notebooks/getting_started/README.md +++ b/notebooks/getting_started/README.md @@ -1,15 +1,15 @@ # VRS Python Getting Started Notebook Series -This series of notebooks is intended to be the fastest way to becoming productive with the -[vrs-python](https://github.com/ga4gh/vrs-python) package. The +This series of notebooks is intended to be the fastest way to becoming productive with the +[vrs-python](https://github.com/ga4gh/vrs-python) package. The intent of each notebook in this series is to be an interactive introduction to functionally contained in the vrs-python package. -A beginning developer level of familiarity with python, jupyter notebooks is assumed in order to run this notebook series. +A beginning developer level of familiarity with python, jupyter notebooks is assumed in order to run this notebook series. You should be familiar with installing packages and running commands in your execution environment. ### Pre-requisites The following software packages must exist in your execution environment before running these notebooks: * git -* python@3.10 +* python@3.12 * make ### Setup vrs-python @@ -18,14 +18,14 @@ From a terminal window, run the following commands: * cd vrs-python * make devready * source venv/3.10/bin/activate -* cd notebooks/getting_started +* cd notebooks/getting_started * jupyter notebook notebook_name.ipynb ## Notebooks ### 1 Quick Start -The [Quick Start](1_Quick_Start.ipynb) notebook details how to get started by +The [Quick Start](1_Quick_Start.ipynb) notebook details how to get started by setting up access to a SeqRepo *DataProxy* and introduces the user to using an *AlleleTranslator* to convert -the same allele to VRS form from both it's SPDI and HGVS nomenclature forms. +the same allele to VRS form from both it's SPDI and HGVS nomenclature forms. ### 2 Exploring the SeqRepo Data Proxy Sequence references are at the core of many of the operations for converting to and from VRS variant representations. The [Exploring the SeqRepo Data Proxy](2_Exploring_the_SeqRepo_DataProxy.ipynb) notebook @@ -35,11 +35,11 @@ In the [Basic Models](3_Basic_Models.ipynb) notebook, we explore building a VRS from its component parts. The notebook details how to add VRS identifiers to the identifiable components of the *Allele*. ### 4 Exploring the Allele Translator The current implementation of vrs-python facilitates transformation of variants -in a number of different variant nomenclatures (SPDI, HGVS, gnomAD and Beacon) to VRS form. In the -[Exploring the Allele Translator](4_Exploring_the_AlleleTranslator.ipynb) notebook, +in a number of different variant nomenclatures (SPDI, HGVS, gnomAD and Beacon) to VRS form. In the +[Exploring the Allele Translator](4_Exploring_the_AlleleTranslator.ipynb) notebook, we show how to transform basic variants to VRS, and in some cases, back to the original nomenclature of the variant. ### 5 Exploring the CNV Translator -The final notebook of this series, +The final notebook of this series, [Exploring the CNV Translator](5_Exploring_the_CnvTranslator.ipynb) details transformations of various forms of copy number variation to their VRS representations. diff --git a/pyproject.toml b/pyproject.toml index 2deb97d1..c3077e4e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,6 @@ classifiers = [ "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", @@ -33,7 +32,7 @@ keywords = [ "spdi", "variation" ] -requires-python = ">=3.9" +requires-python = ">=3.10" dynamic = ["version"] dependencies = [ "pydantic~=2.1", diff --git a/tests/cassettes/test_normalize_allele.yaml b/tests/cassettes/test_normalize_allele.yaml index 8d4a498c..9bd87ed2 100644 --- a/tests/cassettes/test_normalize_allele.yaml +++ b/tests/cassettes/test_normalize_allele.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.0iKlIQk2oZLoeOG9P1riRU6hvL5Ux8TV response: @@ -34,7 +34,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -50,7 +50,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.0iKlIQk2oZLoeOG9P1riRU6hvL5Ux8TV?start=26090950&end=26090951 response: @@ -64,7 +64,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -80,7 +80,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.w0WZEvgJF0zf_P4yyTzjjv9oW1z61HHP response: @@ -105,7 +105,7 @@ interactions: Content-Type: - application/json Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -121,7 +121,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.w0WZEvgJF0zf_P4yyTzjjv9oW1z61HHP?start=155980375&end=155980377 response: @@ -135,7 +135,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -151,7 +151,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.w0WZEvgJF0zf_P4yyTzjjv9oW1z61HHP?start=155980374&end=155980375 response: @@ -165,7 +165,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -181,7 +181,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.w0WZEvgJF0zf_P4yyTzjjv9oW1z61HHP?start=155980377&end=155980378 response: @@ -195,7 +195,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -211,7 +211,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.w0WZEvgJF0zf_P4yyTzjjv9oW1z61HHP?start=155980375&end=155980375 response: @@ -225,7 +225,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -241,7 +241,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.w0WZEvgJF0zf_P4yyTzjjv9oW1z61HHP?start=155980377&end=155980377 response: @@ -255,7 +255,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -271,7 +271,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.w0WZEvgJF0zf_P4yyTzjjv9oW1z61HHP?start=155980373&end=155980375 response: @@ -285,7 +285,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -301,7 +301,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.w0WZEvgJF0zf_P4yyTzjjv9oW1z61HHP?start=155980373&end=155980374 response: @@ -315,7 +315,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -331,7 +331,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.w0WZEvgJF0zf_P4yyTzjjv9oW1z61HHP?start=155980372&end=155980373 response: @@ -345,7 +345,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -361,7 +361,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.w0WZEvgJF0zf_P4yyTzjjv9oW1z61HHP?start=155980375&end=155980376 response: @@ -375,7 +375,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -391,49 +391,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 - method: GET - uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl - response: - body: - string: "{\n \"added\": \"2016-08-24T08:19:02Z\",\n \"aliases\": [\n \"Ensembl:19\",\n - \ \"ensembl:19\",\n \"GRCh38:19\",\n \"GRCh38:chr19\",\n \"GRCh38.p1:19\",\n - \ \"GRCh38.p1:chr19\",\n \"GRCh38.p10:19\",\n \"GRCh38.p10:chr19\",\n - \ \"GRCh38.p11:19\",\n \"GRCh38.p11:chr19\",\n \"GRCh38.p12:19\",\n - \ \"GRCh38.p12:chr19\",\n \"GRCh38.p2:19\",\n \"GRCh38.p2:chr19\",\n - \ \"GRCh38.p3:19\",\n \"GRCh38.p3:chr19\",\n \"GRCh38.p4:19\",\n \"GRCh38.p4:chr19\",\n - \ \"GRCh38.p5:19\",\n \"GRCh38.p5:chr19\",\n \"GRCh38.p6:19\",\n \"GRCh38.p6:chr19\",\n - \ \"GRCh38.p7:19\",\n \"GRCh38.p7:chr19\",\n \"GRCh38.p8:19\",\n \"GRCh38.p8:chr19\",\n - \ \"GRCh38.p9:19\",\n \"GRCh38.p9:chr19\",\n \"MD5:b0eba2c7bb5c953d1e06a508b5e487de\",\n - \ \"NCBI:NC_000019.10\",\n \"refseq:NC_000019.10\",\n \"SEGUID:AHxM5/L8jIX08UhBBkKXkiO5rhY\",\n - \ \"SHA1:007c4ce7f2fc8c85f4f148410642979223b9ae16\",\n \"VMC:GS_IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl\",\n - \ \"sha512t24u:IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl\",\n \"ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl\"\n - \ ],\n \"alphabet\": \"ACGNT\",\n \"length\": 58617616\n}\n" - headers: - Connection: - - close - Content-Length: - - '1035' - Content-Type: - - application/json - Date: - - Fri, 23 Feb 2024 05:51:29 GMT - Server: - - Werkzeug/2.2.2 Python/3.10.4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289464 response: @@ -447,7 +405,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -463,7 +421,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289463&end=289464 response: @@ -477,7 +435,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -493,7 +451,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289465 response: @@ -507,7 +465,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -523,7 +481,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289465&end=289466 response: @@ -537,7 +495,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -553,7 +511,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289466&end=289467 response: @@ -567,7 +525,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -583,7 +541,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289467&end=289468 response: @@ -597,7 +555,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -613,7 +571,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289468&end=289469 response: @@ -627,7 +585,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -643,7 +601,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289469&end=289470 response: @@ -657,7 +615,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -673,7 +631,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.28.2 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289469 response: @@ -687,7 +645,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Fri, 23 Feb 2024 05:51:29 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: diff --git a/tests/cassettes/test_vcrtest.yaml b/tests/cassettes/test_vcrtest.yaml index 057f7305..c0b053cd 100644 --- a/tests/cassettes/test_vcrtest.yaml +++ b/tests/cassettes/test_vcrtest.yaml @@ -9,21 +9,23 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.24.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/NC_000013.11?start=50000000&end=50000050 response: body: string: TTAGGTGTTTAGATGATTTCTAAGATGCTTTTAAGCCCAGTATTTCTATT headers: + Connection: + - close Content-Length: - '50' Content-Type: - text/plain; charset=utf-8 Date: - - Mon, 13 Jul 2020 04:40:31 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - - Werkzeug/1.0.1 Python/3.8.2 + - Werkzeug/2.2.2 Python/3.10.4 status: code: 200 message: OK diff --git a/tests/extras/cassettes/test_annotate_vcf_grch37_attrs.yaml b/tests/extras/cassettes/test_annotate_vcf_grch37_attrs.yaml index 2225aa75..9553a1b3 100644 --- a/tests/extras/cassettes/test_annotate_vcf_grch37_attrs.yaml +++ b/tests/extras/cassettes/test_annotate_vcf_grch37_attrs.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/GRCh37:chr19 response: @@ -33,7 +33,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -49,7 +49,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh37:chr19?start=82663&end=82664 response: @@ -63,7 +63,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -79,7 +79,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX response: @@ -103,7 +103,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -119,7 +119,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=82663&end=82664 response: @@ -133,7 +133,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -149,7 +149,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh37:chr19?start=284349&end=284351 response: @@ -163,7 +163,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -179,7 +179,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284349&end=284351 response: @@ -193,7 +193,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -209,7 +209,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284350&end=284351 response: @@ -223,7 +223,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -239,7 +239,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284349&end=284350 response: @@ -253,7 +253,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -269,7 +269,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284351&end=284352 response: @@ -283,7 +283,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -299,7 +299,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284352&end=284353 response: @@ -313,7 +313,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -329,7 +329,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284353&end=284354 response: @@ -343,7 +343,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -359,7 +359,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284354&end=284355 response: @@ -373,7 +373,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -389,7 +389,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284355&end=284356 response: @@ -403,7 +403,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -419,7 +419,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284356&end=284357 response: @@ -433,7 +433,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -449,7 +449,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284357&end=284358 response: @@ -463,7 +463,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -479,7 +479,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284358&end=284359 response: @@ -493,7 +493,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -509,7 +509,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284359&end=284360 response: @@ -523,7 +523,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -539,7 +539,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284360&end=284361 response: @@ -553,7 +553,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -569,7 +569,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284361&end=284362 response: @@ -583,7 +583,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -599,7 +599,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284362&end=284363 response: @@ -613,7 +613,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -629,7 +629,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284363&end=284364 response: @@ -643,7 +643,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -659,7 +659,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284364&end=284365 response: @@ -673,7 +673,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -689,7 +689,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284365&end=284366 response: @@ -703,7 +703,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -719,7 +719,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284366&end=284367 response: @@ -733,7 +733,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -749,7 +749,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284350&end=284350 response: @@ -763,7 +763,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -779,7 +779,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284351&end=284366 response: @@ -793,7 +793,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -809,7 +809,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=284350&end=284366 response: @@ -823,7 +823,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -839,7 +839,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh37:chr19?start=289463&end=289464 response: @@ -853,7 +853,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -869,7 +869,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=289463&end=289464 response: @@ -883,7 +883,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -899,7 +899,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=289464&end=289464 response: @@ -913,7 +913,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -929,7 +929,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=289464&end=289465 response: @@ -943,7 +943,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -959,7 +959,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=289465&end=289466 response: @@ -973,7 +973,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -989,7 +989,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=289466&end=289467 response: @@ -1003,7 +1003,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1019,7 +1019,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=289464&end=289466 response: @@ -1033,7 +1033,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1049,7 +1049,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh37:chr19?start=28946399&end=28946400 response: @@ -1063,7 +1063,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1079,7 +1079,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh37:chr19?start=490413&end=490416 response: @@ -1093,7 +1093,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1109,7 +1109,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=490413&end=490416 response: @@ -1123,7 +1123,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1139,7 +1139,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=490414&end=490416 response: @@ -1153,7 +1153,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1169,7 +1169,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=490413&end=490414 response: @@ -1183,7 +1183,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1199,7 +1199,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=490416&end=490417 response: @@ -1213,7 +1213,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1229,7 +1229,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=490414&end=490414 response: @@ -1243,7 +1243,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1259,7 +1259,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.ItRDD47aMoioDCNW_occY5fWKZBKlxCX?start=490416&end=490416 response: @@ -1273,7 +1273,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1289,7 +1289,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh37:chr19?start=54220023&end=54220024 response: @@ -1303,7 +1303,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1319,7 +1319,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh37:chr19?start=54220998&end=54220999 response: @@ -1333,7 +1333,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1349,7 +1349,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh37:chr19?start=54221653&end=54221654 response: @@ -1363,7 +1363,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: diff --git a/tests/extras/cassettes/test_annotate_vcf_grch38_attrs.yaml b/tests/extras/cassettes/test_annotate_vcf_grch38_attrs.yaml index 9da71cec..39ab5ae7 100644 --- a/tests/extras/cassettes/test_annotate_vcf_grch38_attrs.yaml +++ b/tests/extras/cassettes/test_annotate_vcf_grch38_attrs.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/GRCh38:chr19 response: @@ -35,7 +35,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -51,7 +51,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=82663&end=82664 response: @@ -65,7 +65,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -81,7 +81,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl response: @@ -107,7 +107,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -123,7 +123,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=82663&end=82664 response: @@ -137,7 +137,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -153,7 +153,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=284349&end=284351 response: @@ -167,7 +167,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -183,7 +183,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284349&end=284351 response: @@ -197,7 +197,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -213,7 +213,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284351 response: @@ -227,7 +227,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -243,7 +243,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284349&end=284350 response: @@ -257,7 +257,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -273,7 +273,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284351&end=284352 response: @@ -287,7 +287,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -303,7 +303,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284352&end=284353 response: @@ -317,7 +317,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -333,7 +333,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284353&end=284354 response: @@ -347,7 +347,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -363,7 +363,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284354&end=284355 response: @@ -377,7 +377,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -393,7 +393,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284355&end=284356 response: @@ -407,7 +407,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -423,7 +423,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284356&end=284357 response: @@ -437,7 +437,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -453,7 +453,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284357&end=284358 response: @@ -467,7 +467,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -483,7 +483,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284358&end=284359 response: @@ -497,7 +497,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -513,7 +513,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284359&end=284360 response: @@ -527,7 +527,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -543,7 +543,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284360&end=284361 response: @@ -557,7 +557,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -573,7 +573,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284361&end=284362 response: @@ -587,7 +587,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -603,7 +603,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284362&end=284363 response: @@ -617,7 +617,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -633,7 +633,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284363&end=284364 response: @@ -647,7 +647,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -663,7 +663,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284364&end=284365 response: @@ -677,7 +677,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -693,7 +693,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284365&end=284366 response: @@ -707,7 +707,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -723,7 +723,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284366&end=284367 response: @@ -737,7 +737,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -753,7 +753,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284350 response: @@ -767,7 +767,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -783,7 +783,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284351&end=284366 response: @@ -797,7 +797,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -813,7 +813,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284366 response: @@ -827,7 +827,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -843,7 +843,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=289463&end=289464 response: @@ -857,7 +857,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -873,7 +873,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289463&end=289464 response: @@ -887,7 +887,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -903,7 +903,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289464 response: @@ -917,7 +917,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -933,7 +933,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289465 response: @@ -947,7 +947,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -963,7 +963,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289465&end=289466 response: @@ -977,7 +977,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -993,7 +993,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289466&end=289467 response: @@ -1007,7 +1007,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1023,7 +1023,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289466 response: @@ -1037,7 +1037,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1053,7 +1053,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=28946399&end=28946400 response: @@ -1067,7 +1067,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1083,7 +1083,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=28946399&end=28946400 response: @@ -1097,7 +1097,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1113,7 +1113,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=490413&end=490416 response: @@ -1127,7 +1127,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1143,7 +1143,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490413&end=490416 response: @@ -1157,7 +1157,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1173,7 +1173,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490414&end=490416 response: @@ -1187,7 +1187,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1203,7 +1203,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490413&end=490414 response: @@ -1217,7 +1217,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1233,7 +1233,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490416&end=490417 response: @@ -1247,7 +1247,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1263,7 +1263,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490414&end=490414 response: @@ -1277,7 +1277,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1293,7 +1293,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490416&end=490416 response: @@ -1307,7 +1307,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1323,7 +1323,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54220023&end=54220024 response: @@ -1337,7 +1337,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1353,7 +1353,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=54220023&end=54220024 response: @@ -1367,7 +1367,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1383,7 +1383,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54220998&end=54220999 response: @@ -1397,7 +1397,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1413,7 +1413,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54221653&end=54221654 response: @@ -1427,7 +1427,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1443,7 +1443,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=54221653&end=54221654 response: @@ -1457,7 +1457,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: diff --git a/tests/extras/cassettes/test_annotate_vcf_grch38_attrs_altsonly.yaml b/tests/extras/cassettes/test_annotate_vcf_grch38_attrs_altsonly.yaml index aef9d5f6..09ef91ce 100644 --- a/tests/extras/cassettes/test_annotate_vcf_grch38_attrs_altsonly.yaml +++ b/tests/extras/cassettes/test_annotate_vcf_grch38_attrs_altsonly.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/GRCh38:chr19 response: @@ -35,7 +35,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -51,7 +51,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=82663&end=82664 response: @@ -65,7 +65,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -81,7 +81,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl response: @@ -107,7 +107,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -123,7 +123,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=82663&end=82664 response: @@ -137,7 +137,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -153,7 +153,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=284349&end=284351 response: @@ -167,7 +167,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -183,7 +183,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284349&end=284351 response: @@ -197,7 +197,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -213,7 +213,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284351 response: @@ -227,7 +227,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -243,7 +243,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284349&end=284350 response: @@ -257,7 +257,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -273,7 +273,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284351&end=284352 response: @@ -287,7 +287,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -303,7 +303,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284352&end=284353 response: @@ -317,7 +317,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -333,7 +333,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284353&end=284354 response: @@ -347,7 +347,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -363,7 +363,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284354&end=284355 response: @@ -377,7 +377,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -393,7 +393,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284355&end=284356 response: @@ -407,7 +407,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -423,7 +423,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284356&end=284357 response: @@ -437,7 +437,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -453,7 +453,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284357&end=284358 response: @@ -467,7 +467,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -483,7 +483,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284358&end=284359 response: @@ -497,7 +497,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -513,7 +513,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284359&end=284360 response: @@ -527,7 +527,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -543,7 +543,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284360&end=284361 response: @@ -557,7 +557,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -573,7 +573,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284361&end=284362 response: @@ -587,7 +587,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -603,7 +603,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284362&end=284363 response: @@ -617,7 +617,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -633,7 +633,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284363&end=284364 response: @@ -647,7 +647,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -663,7 +663,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284364&end=284365 response: @@ -677,7 +677,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -693,7 +693,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284365&end=284366 response: @@ -707,7 +707,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -723,7 +723,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284366&end=284367 response: @@ -737,7 +737,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -753,7 +753,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284350 response: @@ -767,7 +767,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -783,7 +783,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284351&end=284366 response: @@ -797,7 +797,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -813,7 +813,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284366 response: @@ -827,7 +827,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -843,7 +843,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=289463&end=289464 response: @@ -857,7 +857,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -873,7 +873,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289463&end=289464 response: @@ -887,7 +887,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -903,7 +903,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289464 response: @@ -917,7 +917,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -933,7 +933,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289465 response: @@ -947,7 +947,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -963,7 +963,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289465&end=289466 response: @@ -977,7 +977,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -993,7 +993,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289466&end=289467 response: @@ -1007,7 +1007,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1023,7 +1023,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289466 response: @@ -1037,7 +1037,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1053,7 +1053,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=28946399&end=28946400 response: @@ -1067,7 +1067,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1083,7 +1083,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=28946399&end=28946400 response: @@ -1097,7 +1097,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1113,7 +1113,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=490413&end=490416 response: @@ -1127,7 +1127,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1143,7 +1143,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490413&end=490416 response: @@ -1157,7 +1157,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1173,7 +1173,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490414&end=490416 response: @@ -1187,7 +1187,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1203,7 +1203,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490413&end=490414 response: @@ -1217,7 +1217,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1233,7 +1233,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490416&end=490417 response: @@ -1247,7 +1247,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1263,7 +1263,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490414&end=490414 response: @@ -1277,7 +1277,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1293,7 +1293,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490416&end=490416 response: @@ -1307,7 +1307,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1323,7 +1323,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54220023&end=54220024 response: @@ -1337,7 +1337,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1353,7 +1353,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=54220023&end=54220024 response: @@ -1367,7 +1367,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1383,7 +1383,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54220998&end=54220999 response: @@ -1397,7 +1397,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1413,7 +1413,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54221653&end=54221654 response: @@ -1427,7 +1427,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1443,7 +1443,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=54221653&end=54221654 response: @@ -1457,7 +1457,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:19 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: diff --git a/tests/extras/cassettes/test_annotate_vcf_grch38_noattrs.yaml b/tests/extras/cassettes/test_annotate_vcf_grch38_noattrs.yaml index 9717271d..ef8fe284 100644 --- a/tests/extras/cassettes/test_annotate_vcf_grch38_noattrs.yaml +++ b/tests/extras/cassettes/test_annotate_vcf_grch38_noattrs.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/GRCh38:chr19 response: @@ -35,7 +35,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:17 GMT + - Wed, 26 Jun 2024 11:58:54 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -51,7 +51,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=82663&end=82664 response: @@ -65,7 +65,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -81,7 +81,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl response: @@ -107,7 +107,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -123,7 +123,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=82663&end=82664 response: @@ -137,7 +137,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -153,7 +153,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=284349&end=284351 response: @@ -167,7 +167,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -183,7 +183,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284349&end=284351 response: @@ -197,7 +197,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -213,7 +213,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284351 response: @@ -227,7 +227,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -243,7 +243,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284349&end=284350 response: @@ -257,7 +257,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -273,7 +273,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284351&end=284352 response: @@ -287,7 +287,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -303,7 +303,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284352&end=284353 response: @@ -317,7 +317,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -333,7 +333,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284353&end=284354 response: @@ -347,7 +347,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -363,7 +363,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284354&end=284355 response: @@ -377,7 +377,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -393,7 +393,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284355&end=284356 response: @@ -407,7 +407,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -423,7 +423,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284356&end=284357 response: @@ -437,7 +437,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -453,7 +453,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284357&end=284358 response: @@ -467,7 +467,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -483,7 +483,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284358&end=284359 response: @@ -497,7 +497,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -513,7 +513,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284359&end=284360 response: @@ -527,7 +527,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -543,7 +543,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284360&end=284361 response: @@ -557,7 +557,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -573,7 +573,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284361&end=284362 response: @@ -587,7 +587,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -603,7 +603,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284362&end=284363 response: @@ -617,7 +617,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -633,7 +633,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284363&end=284364 response: @@ -647,7 +647,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -663,7 +663,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284364&end=284365 response: @@ -677,7 +677,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -693,7 +693,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284365&end=284366 response: @@ -707,7 +707,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -723,7 +723,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284366&end=284367 response: @@ -737,7 +737,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -753,7 +753,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284350 response: @@ -767,7 +767,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -783,7 +783,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284351&end=284366 response: @@ -797,7 +797,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -813,7 +813,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284366 response: @@ -827,7 +827,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -843,7 +843,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=289463&end=289464 response: @@ -857,7 +857,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -873,7 +873,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289463&end=289464 response: @@ -887,7 +887,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -903,7 +903,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289464 response: @@ -917,7 +917,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -933,7 +933,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289465 response: @@ -947,7 +947,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -963,7 +963,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289465&end=289466 response: @@ -977,7 +977,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -993,7 +993,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289466&end=289467 response: @@ -1007,7 +1007,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1023,7 +1023,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289466 response: @@ -1037,7 +1037,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1053,7 +1053,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=28946399&end=28946400 response: @@ -1067,7 +1067,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1083,7 +1083,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=28946399&end=28946400 response: @@ -1097,7 +1097,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1113,7 +1113,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=490413&end=490416 response: @@ -1127,7 +1127,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1143,7 +1143,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490413&end=490416 response: @@ -1157,7 +1157,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1173,7 +1173,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490414&end=490416 response: @@ -1187,7 +1187,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1203,7 +1203,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490413&end=490414 response: @@ -1217,7 +1217,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1233,7 +1233,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490416&end=490417 response: @@ -1247,7 +1247,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1263,7 +1263,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490414&end=490414 response: @@ -1277,7 +1277,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1293,7 +1293,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490416&end=490416 response: @@ -1307,7 +1307,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1323,7 +1323,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54220023&end=54220024 response: @@ -1337,7 +1337,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1353,7 +1353,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=54220023&end=54220024 response: @@ -1367,7 +1367,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1383,7 +1383,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54220998&end=54220999 response: @@ -1397,7 +1397,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1413,7 +1413,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54221653&end=54221654 response: @@ -1427,7 +1427,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1443,7 +1443,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=54221653&end=54221654 response: @@ -1457,7 +1457,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:18 GMT + - Wed, 26 Jun 2024 11:58:55 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: diff --git a/tests/extras/cassettes/test_annotate_vcf_pickle_only.yaml b/tests/extras/cassettes/test_annotate_vcf_pickle_only.yaml index b93af6f9..d4195ac1 100644 --- a/tests/extras/cassettes/test_annotate_vcf_pickle_only.yaml +++ b/tests/extras/cassettes/test_annotate_vcf_pickle_only.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/GRCh38:chr19 response: @@ -35,7 +35,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -51,7 +51,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=82663&end=82664 response: @@ -65,7 +65,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -81,7 +81,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl response: @@ -107,7 +107,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -123,7 +123,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=82663&end=82664 response: @@ -137,7 +137,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -153,7 +153,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=284349&end=284351 response: @@ -167,7 +167,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -183,7 +183,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284349&end=284351 response: @@ -197,7 +197,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -213,7 +213,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284351 response: @@ -227,7 +227,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -243,7 +243,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284349&end=284350 response: @@ -257,7 +257,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -273,7 +273,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284351&end=284352 response: @@ -287,7 +287,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -303,7 +303,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284352&end=284353 response: @@ -317,7 +317,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -333,7 +333,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284353&end=284354 response: @@ -347,7 +347,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -363,7 +363,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284354&end=284355 response: @@ -377,7 +377,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -393,7 +393,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284355&end=284356 response: @@ -407,7 +407,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -423,7 +423,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284356&end=284357 response: @@ -437,7 +437,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -453,7 +453,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284357&end=284358 response: @@ -467,7 +467,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -483,7 +483,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284358&end=284359 response: @@ -497,7 +497,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:56 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -513,7 +513,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284359&end=284360 response: @@ -527,7 +527,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -543,7 +543,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284360&end=284361 response: @@ -557,7 +557,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -573,7 +573,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284361&end=284362 response: @@ -587,7 +587,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -603,7 +603,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284362&end=284363 response: @@ -617,7 +617,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -633,7 +633,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284363&end=284364 response: @@ -647,7 +647,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -663,7 +663,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284364&end=284365 response: @@ -677,7 +677,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -693,7 +693,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284365&end=284366 response: @@ -707,7 +707,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -723,7 +723,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284366&end=284367 response: @@ -737,7 +737,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -753,7 +753,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284350 response: @@ -767,7 +767,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -783,7 +783,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284351&end=284366 response: @@ -797,7 +797,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -813,7 +813,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284366 response: @@ -827,7 +827,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -843,7 +843,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=289463&end=289464 response: @@ -857,7 +857,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -873,7 +873,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289463&end=289464 response: @@ -887,7 +887,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -903,7 +903,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289464 response: @@ -917,7 +917,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -933,7 +933,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289465 response: @@ -947,7 +947,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -963,7 +963,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289465&end=289466 response: @@ -977,7 +977,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -993,7 +993,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289466&end=289467 response: @@ -1007,7 +1007,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1023,7 +1023,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289466 response: @@ -1037,7 +1037,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1053,7 +1053,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=28946399&end=28946400 response: @@ -1067,7 +1067,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1083,7 +1083,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=28946399&end=28946400 response: @@ -1097,7 +1097,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1113,7 +1113,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=490413&end=490416 response: @@ -1127,7 +1127,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1143,7 +1143,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490413&end=490416 response: @@ -1157,7 +1157,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1173,7 +1173,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490414&end=490416 response: @@ -1187,7 +1187,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1203,7 +1203,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490413&end=490414 response: @@ -1217,7 +1217,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1233,7 +1233,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490416&end=490417 response: @@ -1247,7 +1247,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1263,7 +1263,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490414&end=490414 response: @@ -1277,7 +1277,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1293,7 +1293,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490416&end=490416 response: @@ -1307,7 +1307,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1323,7 +1323,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54220023&end=54220024 response: @@ -1337,7 +1337,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1353,7 +1353,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=54220023&end=54220024 response: @@ -1367,7 +1367,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1383,7 +1383,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54220998&end=54220999 response: @@ -1397,7 +1397,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1413,7 +1413,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54221653&end=54221654 response: @@ -1427,7 +1427,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1443,7 +1443,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=54221653&end=54221654 response: @@ -1457,7 +1457,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: diff --git a/tests/extras/cassettes/test_annotate_vcf_vcf_only.yaml b/tests/extras/cassettes/test_annotate_vcf_vcf_only.yaml index 4eb17347..d0e30722 100644 --- a/tests/extras/cassettes/test_annotate_vcf_vcf_only.yaml +++ b/tests/extras/cassettes/test_annotate_vcf_vcf_only.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/GRCh38:chr19 response: @@ -35,7 +35,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -51,7 +51,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=82663&end=82664 response: @@ -65,7 +65,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -81,7 +81,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl response: @@ -107,7 +107,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -123,7 +123,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=82663&end=82664 response: @@ -137,7 +137,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -153,7 +153,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=284349&end=284351 response: @@ -167,7 +167,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -183,7 +183,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284349&end=284351 response: @@ -197,7 +197,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -213,7 +213,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284351 response: @@ -227,7 +227,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -243,7 +243,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284349&end=284350 response: @@ -257,7 +257,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -273,7 +273,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284351&end=284352 response: @@ -287,7 +287,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:20 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -303,7 +303,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284352&end=284353 response: @@ -317,7 +317,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -333,7 +333,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284353&end=284354 response: @@ -347,7 +347,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -363,7 +363,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284354&end=284355 response: @@ -377,7 +377,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -393,7 +393,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284355&end=284356 response: @@ -407,7 +407,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -423,7 +423,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284356&end=284357 response: @@ -437,7 +437,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -453,7 +453,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284357&end=284358 response: @@ -467,7 +467,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -483,7 +483,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284358&end=284359 response: @@ -497,7 +497,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -513,7 +513,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284359&end=284360 response: @@ -527,7 +527,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -543,7 +543,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284360&end=284361 response: @@ -557,7 +557,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -573,7 +573,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284361&end=284362 response: @@ -587,7 +587,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -603,7 +603,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284362&end=284363 response: @@ -617,7 +617,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -633,7 +633,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284363&end=284364 response: @@ -647,7 +647,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -663,7 +663,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284364&end=284365 response: @@ -677,7 +677,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -693,7 +693,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284365&end=284366 response: @@ -707,7 +707,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -723,7 +723,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284366&end=284367 response: @@ -737,7 +737,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -753,7 +753,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284350 response: @@ -767,7 +767,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -783,7 +783,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284351&end=284366 response: @@ -797,7 +797,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -813,7 +813,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=284350&end=284366 response: @@ -827,7 +827,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -843,7 +843,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=289463&end=289464 response: @@ -857,7 +857,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -873,7 +873,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289463&end=289464 response: @@ -887,7 +887,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -903,7 +903,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289464 response: @@ -917,7 +917,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -933,7 +933,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289465 response: @@ -947,7 +947,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -963,7 +963,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289465&end=289466 response: @@ -977,7 +977,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -993,7 +993,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289466&end=289467 response: @@ -1007,7 +1007,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1023,7 +1023,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289466 response: @@ -1037,7 +1037,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1053,7 +1053,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=28946399&end=28946400 response: @@ -1067,7 +1067,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1083,7 +1083,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=28946399&end=28946400 response: @@ -1097,7 +1097,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1113,7 +1113,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=490413&end=490416 response: @@ -1127,7 +1127,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1143,7 +1143,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490413&end=490416 response: @@ -1157,7 +1157,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1173,7 +1173,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490414&end=490416 response: @@ -1187,7 +1187,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1203,7 +1203,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490413&end=490414 response: @@ -1217,7 +1217,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1233,7 +1233,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490416&end=490417 response: @@ -1247,7 +1247,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:57 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1263,7 +1263,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490414&end=490414 response: @@ -1277,7 +1277,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1293,7 +1293,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=490416&end=490416 response: @@ -1307,7 +1307,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1323,7 +1323,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54220023&end=54220024 response: @@ -1337,7 +1337,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1353,7 +1353,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=54220023&end=54220024 response: @@ -1367,7 +1367,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1383,7 +1383,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54220998&end=54220999 response: @@ -1397,7 +1397,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1413,7 +1413,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:chr19?start=54221653&end=54221654 response: @@ -1427,7 +1427,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1443,7 +1443,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=54221653&end=54221654 response: @@ -1457,7 +1457,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: diff --git a/tests/extras/cassettes/test_data_proxies[rest_dataproxy].yaml b/tests/extras/cassettes/test_data_proxies[rest_dataproxy].yaml index 288dd636..174fae4f 100644 --- a/tests/extras/cassettes/test_data_proxies[rest_dataproxy].yaml +++ b/tests/extras/cassettes/test_data_proxies[rest_dataproxy].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/NM_000551.3 response: @@ -27,7 +27,7 @@ interactions: Content-Type: - application/json Date: - - Wed, 27 Mar 2024 12:33:27 GMT + - Wed, 26 Jun 2024 11:58:54 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -43,7 +43,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/NC_000013.11 response: @@ -69,7 +69,7 @@ interactions: Content-Type: - application/json Date: - - Wed, 27 Mar 2024 12:33:27 GMT + - Wed, 26 Jun 2024 11:58:54 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -85,7 +85,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.v_QTc1p-MUYdgrRv4LMT6ByXIOsdw3C_ response: @@ -99,7 +99,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Wed, 27 Mar 2024 12:33:27 GMT + - Wed, 26 Jun 2024 11:58:54 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -115,7 +115,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.v_QTc1p-MUYdgrRv4LMT6ByXIOsdw3C_?start=0&end=50 response: @@ -129,7 +129,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Wed, 27 Mar 2024 12:33:27 GMT + - Wed, 26 Jun 2024 11:58:54 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: diff --git a/tests/extras/cassettes/test_from_beacon.yaml b/tests/extras/cassettes/test_from_beacon.yaml index 0a1c89ce..f0c7030b 100644 --- a/tests/extras/cassettes/test_from_beacon.yaml +++ b/tests/extras/cassettes/test_from_beacon.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/GRCh38:19 response: @@ -35,7 +35,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:28:16 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -51,7 +51,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/GRCh38:MT response: @@ -82,7 +82,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:28:17 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: diff --git a/tests/extras/cassettes/test_from_gnomad.yaml b/tests/extras/cassettes/test_from_gnomad.yaml index 1827e90d..caf0c944 100644 --- a/tests/extras/cassettes/test_from_gnomad.yaml +++ b/tests/extras/cassettes/test_from_gnomad.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:19?start=44908821&end=44908822 response: @@ -23,7 +23,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -39,7 +39,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:MT?start=10082&end=10083 response: @@ -53,7 +53,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -69,7 +69,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/GRCh38:13 response: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -111,7 +111,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:13?start=20003095&end=20003097 response: @@ -125,7 +125,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -141,7 +141,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:13?start=20003009&end=20003010 response: @@ -155,7 +155,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -171,7 +171,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:13?start=19993837&end=19993839 response: @@ -185,7 +185,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -201,7 +201,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl response: @@ -227,7 +227,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -243,7 +243,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=44908821&end=44908822 response: @@ -257,7 +257,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -273,7 +273,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.k3grVkjY-hoWcCUojHw6VU6GE3MZ8Sct response: @@ -304,7 +304,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -320,7 +320,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.k3grVkjY-hoWcCUojHw6VU6GE3MZ8Sct?start=10082&end=10083 response: @@ -334,7 +334,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -350,7 +350,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT response: @@ -376,7 +376,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -392,7 +392,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=20003095&end=20003097 response: @@ -406,7 +406,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -422,7 +422,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=20003096&end=20003097 response: @@ -436,7 +436,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -452,7 +452,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=20003095&end=20003096 response: @@ -466,7 +466,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -482,7 +482,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=20003097&end=20003098 response: @@ -496,7 +496,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -512,7 +512,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=20003096&end=20003096 response: @@ -526,7 +526,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -542,7 +542,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=20003097&end=20003097 response: @@ -556,7 +556,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -572,7 +572,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=20003009&end=20003010 response: @@ -586,7 +586,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -602,7 +602,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=20003010&end=20003010 response: @@ -616,7 +616,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -632,7 +632,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=20003010&end=20003011 response: @@ -646,7 +646,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -662,7 +662,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=19993837&end=19993839 response: @@ -676,7 +676,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -692,7 +692,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=19993839&end=19993839 response: @@ -706,7 +706,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -722,7 +722,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=19993838&end=19993839 response: @@ -736,7 +736,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -752,7 +752,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=19993837&end=19993838 response: @@ -766,7 +766,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -782,7 +782,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=19993836&end=19993837 response: @@ -796,7 +796,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -812,7 +812,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=19993839&end=19993840 response: @@ -826,7 +826,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -842,7 +842,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/GRCh38:17 response: @@ -868,7 +868,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -884,7 +884,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:17?start=83129586&end=83129598 response: @@ -898,7 +898,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -914,7 +914,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.dLZ15tNO1Ur0IcGjwc3Sdi_0A6Yf4zm7 response: @@ -940,7 +940,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -956,7 +956,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.dLZ15tNO1Ur0IcGjwc3Sdi_0A6Yf4zm7?start=83129586&end=83129598 response: @@ -970,7 +970,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -986,7 +986,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.dLZ15tNO1Ur0IcGjwc3Sdi_0A6Yf4zm7?start=83129587&end=83129598 response: @@ -1000,7 +1000,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1016,7 +1016,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.dLZ15tNO1Ur0IcGjwc3Sdi_0A6Yf4zm7?start=83129586&end=83129587 response: @@ -1030,7 +1030,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1046,7 +1046,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.dLZ15tNO1Ur0IcGjwc3Sdi_0A6Yf4zm7?start=83129598&end=83129599 response: @@ -1060,7 +1060,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1076,7 +1076,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.dLZ15tNO1Ur0IcGjwc3Sdi_0A6Yf4zm7?start=83129599&end=83129600 response: @@ -1090,7 +1090,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1106,7 +1106,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.dLZ15tNO1Ur0IcGjwc3Sdi_0A6Yf4zm7?start=83129600&end=83129601 response: @@ -1120,7 +1120,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1136,7 +1136,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.dLZ15tNO1Ur0IcGjwc3Sdi_0A6Yf4zm7?start=83129601&end=83129602 response: @@ -1150,7 +1150,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1166,7 +1166,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.dLZ15tNO1Ur0IcGjwc3Sdi_0A6Yf4zm7?start=83129587&end=83129587 response: @@ -1180,7 +1180,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1196,7 +1196,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.dLZ15tNO1Ur0IcGjwc3Sdi_0A6Yf4zm7?start=83129598&end=83129601 response: @@ -1210,7 +1210,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1226,7 +1226,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.dLZ15tNO1Ur0IcGjwc3Sdi_0A6Yf4zm7?start=83129587&end=83129601 response: @@ -1240,7 +1240,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1256,7 +1256,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/GRCh38:7 response: @@ -1281,7 +1281,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1297,7 +1297,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:7?start=1&end=17 response: @@ -1311,7 +1311,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:33 GMT + - Wed, 26 Jun 2024 11:58:34 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1327,7 +1327,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul response: @@ -1352,7 +1352,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 28 Mar 2024 15:00:34 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1368,7 +1368,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul?start=1&end=17 response: @@ -1382,7 +1382,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:34 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1398,7 +1398,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul?start=1&end=16 response: @@ -1412,7 +1412,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:34 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1428,7 +1428,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:13?start=32936731&end=32936732 response: @@ -1442,7 +1442,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:34 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1458,7 +1458,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32936731&end=32936732 response: @@ -1472,7 +1472,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:34 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: diff --git a/tests/extras/cassettes/test_from_hgvs.yaml b/tests/extras/cassettes/test_from_hgvs.yaml index b584acf9..e8b789d9 100644 --- a/tests/extras/cassettes/test_from_hgvs.yaml +++ b/tests/extras/cassettes/test_from_hgvs.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/refseq:NC_000019.10 response: @@ -35,7 +35,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:28:18 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -51,7 +51,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/refseq:NC_012920.1 response: @@ -82,7 +82,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:28:18 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -98,7 +98,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/refseq:NC_000013.11 response: @@ -124,7 +124,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:28:18 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -140,7 +140,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/NC_000013.11?start=19993837&end=19993839 response: @@ -154,7 +154,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:18 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: diff --git a/tests/extras/cassettes/test_from_hgvs_cn[NC_000013.11:g.26440969_26443305del-1-expected0].yaml b/tests/extras/cassettes/test_from_hgvs_cn[NC_000013.11:g.26440969_26443305del-1-expected0].yaml deleted file mode 100644 index 42d6a9db..00000000 --- a/tests/extras/cassettes/test_from_hgvs_cn[NC_000013.11:g.26440969_26443305del-1-expected0].yaml +++ /dev/null @@ -1,44 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.31.0 - method: GET - uri: http://localhost:5000/seqrepo/1/metadata/refseq:NC_000013.11 - response: - body: - string: "{\n \"added\": \"2016-08-27T23:50:14Z\",\n \"aliases\": [\n \"GRCh38:13\",\n - \ \"GRCh38:chr13\",\n \"GRCh38.p1:13\",\n \"GRCh38.p1:chr13\",\n \"GRCh38.p10:13\",\n - \ \"GRCh38.p10:chr13\",\n \"GRCh38.p11:13\",\n \"GRCh38.p11:chr13\",\n - \ \"GRCh38.p12:13\",\n \"GRCh38.p12:chr13\",\n \"GRCh38.p2:13\",\n - \ \"GRCh38.p2:chr13\",\n \"GRCh38.p3:13\",\n \"GRCh38.p3:chr13\",\n - \ \"GRCh38.p4:13\",\n \"GRCh38.p4:chr13\",\n \"GRCh38.p5:13\",\n \"GRCh38.p5:chr13\",\n - \ \"GRCh38.p6:13\",\n \"GRCh38.p6:chr13\",\n \"GRCh38.p7:13\",\n \"GRCh38.p7:chr13\",\n - \ \"GRCh38.p8:13\",\n \"GRCh38.p8:chr13\",\n \"GRCh38.p9:13\",\n \"GRCh38.p9:chr13\",\n - \ \"MD5:a5437debe2ef9c9ef8f3ea2874ae1d82\",\n \"NCBI:NC_000013.11\",\n - \ \"refseq:NC_000013.11\",\n \"SEGUID:2oDBty0yKV9wHo7gg+Bt+fPgi5o\",\n - \ \"SHA1:da80c1b72d32295f701e8ee083e06df9f3e08b9a\",\n \"VMC:GS__0wi-qoDrvram155UmcSC-zA5ZK4fpLT\",\n - \ \"sha512t24u:_0wi-qoDrvram155UmcSC-zA5ZK4fpLT\",\n \"ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT\"\n - \ ],\n \"alphabet\": \"ACGKNTY\",\n \"length\": 114364328\n}\n" - headers: - Connection: - - close - Content-Length: - - '1002' - Content-Type: - - application/json - Date: - - Tue, 26 Mar 2024 16:28:56 GMT - Server: - - Werkzeug/2.2.2 Python/3.10.4 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/extras/cassettes/test_from_hgvs_cx[NC_000013.11:g.26440969_26443305del-CopyChange.EFO_0030069-expected0].yaml b/tests/extras/cassettes/test_from_hgvs_cx[NC_000013.11:g.26440969_26443305del-CopyChange.EFO_0030069-expected0].yaml deleted file mode 100644 index 27462278..00000000 --- a/tests/extras/cassettes/test_from_hgvs_cx[NC_000013.11:g.26440969_26443305del-CopyChange.EFO_0030069-expected0].yaml +++ /dev/null @@ -1,44 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.31.0 - method: GET - uri: http://localhost:5000/seqrepo/1/metadata/refseq:NC_000013.11 - response: - body: - string: "{\n \"added\": \"2016-08-27T23:50:14Z\",\n \"aliases\": [\n \"GRCh38:13\",\n - \ \"GRCh38:chr13\",\n \"GRCh38.p1:13\",\n \"GRCh38.p1:chr13\",\n \"GRCh38.p10:13\",\n - \ \"GRCh38.p10:chr13\",\n \"GRCh38.p11:13\",\n \"GRCh38.p11:chr13\",\n - \ \"GRCh38.p12:13\",\n \"GRCh38.p12:chr13\",\n \"GRCh38.p2:13\",\n - \ \"GRCh38.p2:chr13\",\n \"GRCh38.p3:13\",\n \"GRCh38.p3:chr13\",\n - \ \"GRCh38.p4:13\",\n \"GRCh38.p4:chr13\",\n \"GRCh38.p5:13\",\n \"GRCh38.p5:chr13\",\n - \ \"GRCh38.p6:13\",\n \"GRCh38.p6:chr13\",\n \"GRCh38.p7:13\",\n \"GRCh38.p7:chr13\",\n - \ \"GRCh38.p8:13\",\n \"GRCh38.p8:chr13\",\n \"GRCh38.p9:13\",\n \"GRCh38.p9:chr13\",\n - \ \"MD5:a5437debe2ef9c9ef8f3ea2874ae1d82\",\n \"NCBI:NC_000013.11\",\n - \ \"refseq:NC_000013.11\",\n \"SEGUID:2oDBty0yKV9wHo7gg+Bt+fPgi5o\",\n - \ \"SHA1:da80c1b72d32295f701e8ee083e06df9f3e08b9a\",\n \"VMC:GS__0wi-qoDrvram155UmcSC-zA5ZK4fpLT\",\n - \ \"sha512t24u:_0wi-qoDrvram155UmcSC-zA5ZK4fpLT\",\n \"ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT\"\n - \ ],\n \"alphabet\": \"ACGKNTY\",\n \"length\": 114364328\n}\n" - headers: - Connection: - - close - Content-Length: - - '1002' - Content-Type: - - application/json - Date: - - Tue, 26 Mar 2024 16:28:06 GMT - Server: - - Werkzeug/2.2.2 Python/3.10.4 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/extras/cassettes/test_from_spdi.yaml b/tests/extras/cassettes/test_from_spdi.yaml deleted file mode 100644 index f629e897..00000000 --- a/tests/extras/cassettes/test_from_spdi.yaml +++ /dev/null @@ -1,133 +0,0 @@ -interactions: -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.31.0 - method: GET - uri: http://localhost:5000/seqrepo/1/metadata/refseq:NC_000019.10 - response: - body: - string: "{\n \"added\": \"2016-08-24T08:19:02Z\",\n \"aliases\": [\n \"Ensembl:19\",\n - \ \"ensembl:19\",\n \"GRCh38:19\",\n \"GRCh38:chr19\",\n \"GRCh38.p1:19\",\n - \ \"GRCh38.p1:chr19\",\n \"GRCh38.p10:19\",\n \"GRCh38.p10:chr19\",\n - \ \"GRCh38.p11:19\",\n \"GRCh38.p11:chr19\",\n \"GRCh38.p12:19\",\n - \ \"GRCh38.p12:chr19\",\n \"GRCh38.p2:19\",\n \"GRCh38.p2:chr19\",\n - \ \"GRCh38.p3:19\",\n \"GRCh38.p3:chr19\",\n \"GRCh38.p4:19\",\n \"GRCh38.p4:chr19\",\n - \ \"GRCh38.p5:19\",\n \"GRCh38.p5:chr19\",\n \"GRCh38.p6:19\",\n \"GRCh38.p6:chr19\",\n - \ \"GRCh38.p7:19\",\n \"GRCh38.p7:chr19\",\n \"GRCh38.p8:19\",\n \"GRCh38.p8:chr19\",\n - \ \"GRCh38.p9:19\",\n \"GRCh38.p9:chr19\",\n \"MD5:b0eba2c7bb5c953d1e06a508b5e487de\",\n - \ \"NCBI:NC_000019.10\",\n \"refseq:NC_000019.10\",\n \"SEGUID:AHxM5/L8jIX08UhBBkKXkiO5rhY\",\n - \ \"SHA1:007c4ce7f2fc8c85f4f148410642979223b9ae16\",\n \"VMC:GS_IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl\",\n - \ \"sha512t24u:IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl\",\n \"ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl\"\n - \ ],\n \"alphabet\": \"ACGNT\",\n \"length\": 58617616\n}\n" - headers: - Connection: - - close - Content-Length: - - '1035' - Content-Type: - - application/json - Date: - - Wed, 27 Mar 2024 12:32:15 GMT - Server: - - Werkzeug/2.2.2 Python/3.10.4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.31.0 - method: GET - uri: http://localhost:5000/seqrepo/1/metadata/refseq:NC_012920.1 - response: - body: - string: "{\n \"added\": \"2016-08-24T06:13:07Z\",\n \"aliases\": [\n \"Ensembl:MT\",\n - \ \"ensembl:MT\",\n \"GRCh37.p10:MT\",\n \"GRCh37.p10:chrM\",\n \"GRCh37.p11:MT\",\n - \ \"GRCh37.p11:chrM\",\n \"GRCh37.p12:MT\",\n \"GRCh37.p12:chrM\",\n - \ \"GRCh37.p13:MT\",\n \"GRCh37.p13:chrM\",\n \"GRCh37.p2:MT\",\n - \ \"GRCh37.p2:chrM\",\n \"GRCh37.p5:MT\",\n \"GRCh37.p5:chrM\",\n - \ \"GRCh37.p9:MT\",\n \"GRCh37.p9:chrM\",\n \"GRCh38:MT\",\n \"GRCh38:chrM\",\n - \ \"GRCh38.p1:MT\",\n \"GRCh38.p1:chrM\",\n \"GRCh38.p10:MT\",\n \"GRCh38.p10:chrM\",\n - \ \"GRCh38.p11:MT\",\n \"GRCh38.p11:chrM\",\n \"GRCh38.p12:MT\",\n - \ \"GRCh38.p12:chrM\",\n \"GRCh38.p2:MT\",\n \"GRCh38.p2:chrM\",\n - \ \"GRCh38.p3:MT\",\n \"GRCh38.p3:chrM\",\n \"GRCh38.p4:MT\",\n \"GRCh38.p4:chrM\",\n - \ \"GRCh38.p5:MT\",\n \"GRCh38.p5:chrM\",\n \"GRCh38.p6:MT\",\n \"GRCh38.p6:chrM\",\n - \ \"GRCh38.p7:MT\",\n \"GRCh38.p7:chrM\",\n \"GRCh38.p8:MT\",\n \"GRCh38.p8:chrM\",\n - \ \"GRCh38.p9:MT\",\n \"GRCh38.p9:chrM\",\n \"MD5:c68f52674c9fb33aef52dcf399755519\",\n - \ \"NCBI:NC_012920.1\",\n \"refseq:NC_012920.1\",\n \"SEGUID:eQNFYXnsCzhp/MkfBUBVnuFZzTA\",\n - \ \"SHA1:7903456179ec0b3869fcc91f0540559ee159cd30\",\n \"VMC:GS_k3grVkjY-hoWcCUojHw6VU6GE3MZ8Sct\",\n - \ \"sha512t24u:k3grVkjY-hoWcCUojHw6VU6GE3MZ8Sct\",\n \"ga4gh:SQ.k3grVkjY-hoWcCUojHw6VU6GE3MZ8Sct\",\n - \ \"hs37-1kg:MT\",\n \"hs37d5:MT\"\n ],\n \"alphabet\": \"ACGNT\",\n - \ \"length\": 16569\n}\n" - headers: - Connection: - - close - Content-Length: - - '1355' - Content-Type: - - application/json - Date: - - Wed, 27 Mar 2024 12:32:15 GMT - Server: - - Werkzeug/2.2.2 Python/3.10.4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.31.0 - method: GET - uri: http://localhost:5000/seqrepo/1/metadata/refseq:NC_000013.11 - response: - body: - string: "{\n \"added\": \"2016-08-27T23:50:14Z\",\n \"aliases\": [\n \"GRCh38:13\",\n - \ \"GRCh38:chr13\",\n \"GRCh38.p1:13\",\n \"GRCh38.p1:chr13\",\n \"GRCh38.p10:13\",\n - \ \"GRCh38.p10:chr13\",\n \"GRCh38.p11:13\",\n \"GRCh38.p11:chr13\",\n - \ \"GRCh38.p12:13\",\n \"GRCh38.p12:chr13\",\n \"GRCh38.p2:13\",\n - \ \"GRCh38.p2:chr13\",\n \"GRCh38.p3:13\",\n \"GRCh38.p3:chr13\",\n - \ \"GRCh38.p4:13\",\n \"GRCh38.p4:chr13\",\n \"GRCh38.p5:13\",\n \"GRCh38.p5:chr13\",\n - \ \"GRCh38.p6:13\",\n \"GRCh38.p6:chr13\",\n \"GRCh38.p7:13\",\n \"GRCh38.p7:chr13\",\n - \ \"GRCh38.p8:13\",\n \"GRCh38.p8:chr13\",\n \"GRCh38.p9:13\",\n \"GRCh38.p9:chr13\",\n - \ \"MD5:a5437debe2ef9c9ef8f3ea2874ae1d82\",\n \"NCBI:NC_000013.11\",\n - \ \"refseq:NC_000013.11\",\n \"SEGUID:2oDBty0yKV9wHo7gg+Bt+fPgi5o\",\n - \ \"SHA1:da80c1b72d32295f701e8ee083e06df9f3e08b9a\",\n \"VMC:GS__0wi-qoDrvram155UmcSC-zA5ZK4fpLT\",\n - \ \"sha512t24u:_0wi-qoDrvram155UmcSC-zA5ZK4fpLT\",\n \"ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT\"\n - \ ],\n \"alphabet\": \"ACGKNTY\",\n \"length\": 114364328\n}\n" - headers: - Connection: - - close - Content-Length: - - '1002' - Content-Type: - - application/json - Date: - - Wed, 27 Mar 2024 12:32:15 GMT - Server: - - Werkzeug/2.2.2 Python/3.10.4 - status: - code: 200 - message: OK -version: 1 diff --git a/tests/extras/cassettes/test_get_vrs_object_invalid_input.yaml b/tests/extras/cassettes/test_get_vrs_object_invalid_input.yaml index 5a4c2cda..3f055d5e 100644 --- a/tests/extras/cassettes/test_get_vrs_object_invalid_input.yaml +++ b/tests/extras/cassettes/test_get_vrs_object_invalid_input.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/GRCh38:. response: @@ -23,7 +23,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -39,7 +39,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/GRCh38:7 response: @@ -64,7 +64,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -80,32 +80,21 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET - uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul + uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:7?start=140753335&end=140753336 response: body: - string: "{\n \"added\": \"2016-08-27T21:23:35Z\",\n \"aliases\": [\n \"GRCh38:7\",\n - \ \"GRCh38:chr7\",\n \"GRCh38.p1:7\",\n \"GRCh38.p1:chr7\",\n \"GRCh38.p10:7\",\n - \ \"GRCh38.p10:chr7\",\n \"GRCh38.p11:7\",\n \"GRCh38.p11:chr7\",\n - \ \"GRCh38.p12:7\",\n \"GRCh38.p12:chr7\",\n \"GRCh38.p2:7\",\n \"GRCh38.p2:chr7\",\n - \ \"GRCh38.p3:7\",\n \"GRCh38.p3:chr7\",\n \"GRCh38.p4:7\",\n \"GRCh38.p4:chr7\",\n - \ \"GRCh38.p5:7\",\n \"GRCh38.p5:chr7\",\n \"GRCh38.p6:7\",\n \"GRCh38.p6:chr7\",\n - \ \"GRCh38.p7:7\",\n \"GRCh38.p7:chr7\",\n \"GRCh38.p8:7\",\n \"GRCh38.p8:chr7\",\n - \ \"GRCh38.p9:7\",\n \"GRCh38.p9:chr7\",\n \"MD5:cc044cc2256a1141212660fb07b6171e\",\n - \ \"NCBI:NC_000007.14\",\n \"refseq:NC_000007.14\",\n \"SEGUID:4+JjCcBVhPCr8vdIhUKFycPv8bY\",\n - \ \"SHA1:e3e26309c05584f0abf2f748854285c9c3eff1b6\",\n \"VMC:GS_F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul\",\n - \ \"sha512t24u:F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul\",\n \"ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul\"\n - \ ],\n \"alphabet\": \"ACGNRSTY\",\n \"length\": 159345973\n}\n" + string: A headers: Connection: - close Content-Length: - - '977' + - '1' Content-Type: - - application/json + - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -121,21 +110,32 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET - uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul?start=140753335&end=140753336 + uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul response: body: - string: A + string: "{\n \"added\": \"2016-08-27T21:23:35Z\",\n \"aliases\": [\n \"GRCh38:7\",\n + \ \"GRCh38:chr7\",\n \"GRCh38.p1:7\",\n \"GRCh38.p1:chr7\",\n \"GRCh38.p10:7\",\n + \ \"GRCh38.p10:chr7\",\n \"GRCh38.p11:7\",\n \"GRCh38.p11:chr7\",\n + \ \"GRCh38.p12:7\",\n \"GRCh38.p12:chr7\",\n \"GRCh38.p2:7\",\n \"GRCh38.p2:chr7\",\n + \ \"GRCh38.p3:7\",\n \"GRCh38.p3:chr7\",\n \"GRCh38.p4:7\",\n \"GRCh38.p4:chr7\",\n + \ \"GRCh38.p5:7\",\n \"GRCh38.p5:chr7\",\n \"GRCh38.p6:7\",\n \"GRCh38.p6:chr7\",\n + \ \"GRCh38.p7:7\",\n \"GRCh38.p7:chr7\",\n \"GRCh38.p8:7\",\n \"GRCh38.p8:chr7\",\n + \ \"GRCh38.p9:7\",\n \"GRCh38.p9:chr7\",\n \"MD5:cc044cc2256a1141212660fb07b6171e\",\n + \ \"NCBI:NC_000007.14\",\n \"refseq:NC_000007.14\",\n \"SEGUID:4+JjCcBVhPCr8vdIhUKFycPv8bY\",\n + \ \"SHA1:e3e26309c05584f0abf2f748854285c9c3eff1b6\",\n \"VMC:GS_F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul\",\n + \ \"sha512t24u:F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul\",\n \"ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul\"\n + \ ],\n \"alphabet\": \"ACGNRSTY\",\n \"length\": 159345973\n}\n" headers: Connection: - close Content-Length: - - '1' + - '977' Content-Type: - - text/plain; charset=utf-8 + - application/json Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -151,9 +151,9 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET - uri: http://localhost:5000/seqrepo/1/sequence/GRCh38:7?start=140753335&end=140753336 + uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul?start=140753335&end=140753336 response: body: string: A @@ -165,7 +165,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:29:21 GMT + - Wed, 26 Jun 2024 11:58:58 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: diff --git a/tests/extras/cassettes/test_hgvs[NC_000007.14:g.55181220del-expected2].yaml b/tests/extras/cassettes/test_hgvs[NC_000007.14:g.55181220del-expected2].yaml index 06aa6cfc..11ec5dfe 100644 --- a/tests/extras/cassettes/test_hgvs[NC_000007.14:g.55181220del-expected2].yaml +++ b/tests/extras/cassettes/test_hgvs[NC_000007.14:g.55181220del-expected2].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul?start=55181219&end=55181220 response: @@ -23,7 +23,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:02 GMT + - Wed, 26 Jun 2024 11:58:36 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -39,7 +39,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul?start=55181218&end=55181219 response: @@ -53,7 +53,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:02 GMT + - Wed, 26 Jun 2024 11:58:36 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -69,7 +69,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul?start=55181220&end=55181221 response: @@ -83,7 +83,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:02 GMT + - Wed, 26 Jun 2024 11:58:36 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -99,7 +99,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul?start=55181219&end=55181219 response: @@ -113,7 +113,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:02 GMT + - Wed, 26 Jun 2024 11:58:36 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -129,7 +129,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul?start=55181220&end=55181220 response: @@ -143,7 +143,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:02 GMT + - Wed, 26 Jun 2024 11:58:37 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -159,7 +159,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000007.14&rettype=fasta&seq_start=55181220&seq_stop=55181220&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -183,20 +183,20 @@ interactions: Content-Type: - text/plain Date: - - Thu, 28 Mar 2024 15:00:02 GMT + - Wed, 26 Jun 2024 11:58:37 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 322C9662D163BFD50000605DCE15069A.1.1.m_5 + - 322C2168844ED52500003662299C1264.1.1.m_5 NCBI-SID: - - 487EEE7EF37B53E5_9446SID + - 8908EB492F8A4B0A_E655SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=487EEE7EF37B53E5_9446SID; domain=.nih.gov; path=/; expires=Fri, 28 - Mar 2025 15:00:02 GMT + - ncbi_sid=8908EB492F8A4B0A_E655SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:37 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -224,7 +224,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000007.14&rettype=fasta&seq_start=55181220&seq_stop=55181240&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -249,20 +249,20 @@ interactions: Content-Type: - text/plain Date: - - Thu, 28 Mar 2024 15:00:02 GMT + - Wed, 26 Jun 2024 11:58:37 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 939B7646BC81992500006332510A2C8B.1.1.m_5 + - 322C2168844ED52500005C622C7759C6.1.1.m_5 NCBI-SID: - - C0234088172A450C_3F2ESID + - 8F9095B24255EBBF_BCE2SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=C0234088172A450C_3F2ESID; domain=.nih.gov; path=/; expires=Fri, 28 - Mar 2025 15:00:02 GMT + - ncbi_sid=8F9095B24255EBBF_BCE2SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:37 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: diff --git a/tests/extras/cassettes/test_hgvs[NC_000007.14:g.55181230_55181231insGGCT-expected3].yaml b/tests/extras/cassettes/test_hgvs[NC_000007.14:g.55181230_55181231insGGCT-expected3].yaml index 03f8e995..2832a8cd 100644 --- a/tests/extras/cassettes/test_hgvs[NC_000007.14:g.55181230_55181231insGGCT-expected3].yaml +++ b/tests/extras/cassettes/test_hgvs[NC_000007.14:g.55181230_55181231insGGCT-expected3].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul?start=55181230&end=55181230 response: @@ -23,7 +23,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:03 GMT + - Wed, 26 Jun 2024 11:58:38 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -39,7 +39,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul?start=55181229&end=55181230 response: @@ -53,7 +53,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:03 GMT + - Wed, 26 Jun 2024 11:58:38 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -69,7 +69,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul?start=55181230&end=55181231 response: @@ -83,7 +83,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:03 GMT + - Wed, 26 Jun 2024 11:58:38 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -99,7 +99,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000007.14&rettype=fasta&seq_start=55181231&seq_stop=55181231&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -123,20 +123,20 @@ interactions: Content-Type: - text/plain Date: - - Thu, 28 Mar 2024 15:00:03 GMT + - Wed, 26 Jun 2024 11:58:38 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 939B7646BC81992500005A3255164524.1.1.m_5 + - 322C2168844ED52500004D622F9341FE.1.1.m_5 NCBI-SID: - - 0E05DFAA948F83FD_FB54SID + - 6E816011756F72D8_67EDSID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=0E05DFAA948F83FD_FB54SID; domain=.nih.gov; path=/; expires=Fri, 28 - Mar 2025 15:00:03 GMT + - ncbi_sid=6E816011756F72D8_67EDSID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:38 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -164,7 +164,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000007.14&rettype=fasta&seq_start=55181230&seq_stop=55181250&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -189,20 +189,20 @@ interactions: Content-Type: - text/plain Date: - - Thu, 28 Mar 2024 15:00:04 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 322C9662D163BFD50000355DD3E92316.1.1.m_5 + - D0BDC04CDF84FC0500002F648E3FB1AA.1.1.m_5 NCBI-SID: - - 8DA5A9543416CABD_D0FESID + - 9FC0E55E4D93582B_1A93SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=8DA5A9543416CABD_D0FESID; domain=.nih.gov; path=/; expires=Fri, 28 - Mar 2025 15:00:04 GMT + - ncbi_sid=9FC0E55E4D93582B_1A93SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:38 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -230,7 +230,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000007.14&rettype=fasta&seq_start=55181227&seq_stop=55181230&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -254,20 +254,20 @@ interactions: Content-Type: - text/plain Date: - - Thu, 28 Mar 2024 15:00:05 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 939B7646BC819925000040325BF28229.1.1.m_5 + - 322C2168844ED5250000386234189933.1.1.m_5 NCBI-SID: - - 46CB48F237EB28EB_248DSID + - A876403D844E9925_91BCSID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=46CB48F237EB28EB_248DSID; domain=.nih.gov; path=/; expires=Fri, 28 - Mar 2025 15:00:05 GMT + - ncbi_sid=A876403D844E9925_91BCSID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:39 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -275,7 +275,7 @@ interactions: X-RateLimit-Limit: - '3' X-RateLimit-Remaining: - - '1' + - '0' X-UA-Compatible: - IE=Edge X-XSS-Protection: diff --git a/tests/extras/cassettes/test_hgvs[NC_000007.14:g.55181320A>T-expected1].yaml b/tests/extras/cassettes/test_hgvs[NC_000007.14:g.55181320A>T-expected1].yaml index e6abbe8f..245a6d70 100644 --- a/tests/extras/cassettes/test_hgvs[NC_000007.14:g.55181320A>T-expected1].yaml +++ b/tests/extras/cassettes/test_hgvs[NC_000007.14:g.55181320A>T-expected1].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/refseq:NC_000007.14 response: @@ -34,7 +34,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 28 Mar 2024 15:00:00 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -50,48 +50,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 - method: GET - uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul - response: - body: - string: "{\n \"added\": \"2016-08-27T21:23:35Z\",\n \"aliases\": [\n \"GRCh38:7\",\n - \ \"GRCh38:chr7\",\n \"GRCh38.p1:7\",\n \"GRCh38.p1:chr7\",\n \"GRCh38.p10:7\",\n - \ \"GRCh38.p10:chr7\",\n \"GRCh38.p11:7\",\n \"GRCh38.p11:chr7\",\n - \ \"GRCh38.p12:7\",\n \"GRCh38.p12:chr7\",\n \"GRCh38.p2:7\",\n \"GRCh38.p2:chr7\",\n - \ \"GRCh38.p3:7\",\n \"GRCh38.p3:chr7\",\n \"GRCh38.p4:7\",\n \"GRCh38.p4:chr7\",\n - \ \"GRCh38.p5:7\",\n \"GRCh38.p5:chr7\",\n \"GRCh38.p6:7\",\n \"GRCh38.p6:chr7\",\n - \ \"GRCh38.p7:7\",\n \"GRCh38.p7:chr7\",\n \"GRCh38.p8:7\",\n \"GRCh38.p8:chr7\",\n - \ \"GRCh38.p9:7\",\n \"GRCh38.p9:chr7\",\n \"MD5:cc044cc2256a1141212660fb07b6171e\",\n - \ \"NCBI:NC_000007.14\",\n \"refseq:NC_000007.14\",\n \"SEGUID:4+JjCcBVhPCr8vdIhUKFycPv8bY\",\n - \ \"SHA1:e3e26309c05584f0abf2f748854285c9c3eff1b6\",\n \"VMC:GS_F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul\",\n - \ \"sha512t24u:F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul\",\n \"ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul\"\n - \ ],\n \"alphabet\": \"ACGNRSTY\",\n \"length\": 159345973\n}\n" - headers: - Connection: - - close - Content-Length: - - '977' - Content-Type: - - application/json - Date: - - Thu, 28 Mar 2024 15:00:00 GMT - Server: - - Werkzeug/2.2.2 Python/3.10.4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul?start=55181319&end=55181320 response: @@ -105,7 +64,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:00 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -121,7 +80,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000007.14&rettype=fasta&seq_start=55181320&seq_stop=55181320&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -145,20 +104,20 @@ interactions: Content-Type: - text/plain Date: - - Thu, 28 Mar 2024 15:00:01 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 939B7646BC81992500003E3244C9BAF7.1.1.m_5 + - D0BDC04CDF84FC0500003C647D5097F9.1.1.m_5 NCBI-SID: - - 386EAB5CACA13AAF_83A0SID + - C739B6D82F908DBA_98B9SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=386EAB5CACA13AAF_83A0SID; domain=.nih.gov; path=/; expires=Fri, 28 - Mar 2025 15:00:01 GMT + - ncbi_sid=C739B6D82F908DBA_98B9SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:35 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -186,7 +145,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000007.14&rettype=fasta&seq_start=55181320&seq_stop=55181340&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -211,20 +170,20 @@ interactions: Content-Type: - text/plain Date: - - Thu, 28 Mar 2024 15:00:01 GMT + - Wed, 26 Jun 2024 11:58:36 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 322C9662D163BFD50000395DCBFAEF8B.1.1.m_5 + - D0BDC04CDF84FC0500002F6480BD4505.1.1.m_5 NCBI-SID: - - 12E58AF58AF52241_BFD4SID + - 614DA57C6C7DC874_D5DASID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=12E58AF58AF52241_BFD4SID; domain=.nih.gov; path=/; expires=Fri, 28 - Mar 2025 15:00:01 GMT + - ncbi_sid=614DA57C6C7DC874_D5DASID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:36 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: diff --git a/tests/extras/cassettes/test_hgvs[NC_000013.11:g.32316467dup-expected5].yaml b/tests/extras/cassettes/test_hgvs[NC_000013.11:g.32316467dup-expected5].yaml index 1ed276ae..82cd0c36 100644 --- a/tests/extras/cassettes/test_hgvs[NC_000013.11:g.32316467dup-expected5].yaml +++ b/tests/extras/cassettes/test_hgvs[NC_000013.11:g.32316467dup-expected5].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/NC_000013.11?start=32316466&end=32316467 response: @@ -23,7 +23,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:32 GMT + - Wed, 26 Jun 2024 11:58:42 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -39,7 +39,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32316466&end=32316467 response: @@ -53,7 +53,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:32 GMT + - Wed, 26 Jun 2024 11:58:42 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -69,7 +69,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32316467&end=32316467 response: @@ -83,7 +83,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:32 GMT + - Wed, 26 Jun 2024 11:58:42 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -99,7 +99,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32316465&end=32316466 response: @@ -113,7 +113,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:32 GMT + - Wed, 26 Jun 2024 11:58:42 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -129,7 +129,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32316467&end=32316468 response: @@ -143,7 +143,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:32 GMT + - Wed, 26 Jun 2024 11:58:42 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -159,7 +159,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000013.11&rettype=fasta&seq_start=32316467&seq_stop=32316467&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -183,20 +183,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:32 GMT + - Wed, 26 Jun 2024 11:58:42 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 939B0CF92DC7363500002DD0ACB46AB3.1.1.m_5 + - D0BDC04CDF84FC0500004C64A04EB157.1.1.m_5 NCBI-SID: - - 587A9CA06553B581_8111SID + - 449331F7EE6FB74F_EC24SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=587A9CA06553B581_8111SID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:32 GMT + - ncbi_sid=449331F7EE6FB74F_EC24SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:42 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -224,7 +224,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000013.11&rettype=fasta&seq_start=32316467&seq_stop=32316487&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -249,20 +249,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:32 GMT + - Wed, 26 Jun 2024 11:58:42 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - D0BDBF1F4546BFE500005A0F87BC2608.1.1.m_5 + - D0BDC04CDF84FC0500005164A2D62050.1.1.m_5 NCBI-SID: - - 2A4B12006035067B_97FCSID + - 522413927AFDEB32_BA92SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=2A4B12006035067B_97FCSID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:33 GMT + - ncbi_sid=522413927AFDEB32_BA92SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:42 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: diff --git a/tests/extras/cassettes/test_hgvs[NC_000013.11:g.32331093_32331094dup-expected4].yaml b/tests/extras/cassettes/test_hgvs[NC_000013.11:g.32331093_32331094dup-expected4].yaml index 8fbea5d8..5d200cb7 100644 --- a/tests/extras/cassettes/test_hgvs[NC_000013.11:g.32331093_32331094dup-expected4].yaml +++ b/tests/extras/cassettes/test_hgvs[NC_000013.11:g.32331093_32331094dup-expected4].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/NC_000013.11?start=32331092&end=32331094 response: @@ -23,7 +23,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -39,7 +39,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331092&end=32331094 response: @@ -53,7 +53,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -69,7 +69,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331094&end=32331094 response: @@ -83,7 +83,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -99,7 +99,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331093&end=32331094 response: @@ -113,7 +113,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -129,7 +129,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331092&end=32331093 response: @@ -143,7 +143,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -159,7 +159,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331091&end=32331092 response: @@ -173,7 +173,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -189,7 +189,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331090&end=32331091 response: @@ -203,7 +203,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -219,7 +219,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331089&end=32331090 response: @@ -233,7 +233,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -249,7 +249,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331088&end=32331089 response: @@ -263,7 +263,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -279,7 +279,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331087&end=32331088 response: @@ -293,7 +293,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -309,7 +309,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331086&end=32331087 response: @@ -323,7 +323,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -339,7 +339,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331085&end=32331086 response: @@ -353,7 +353,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -369,7 +369,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331084&end=32331085 response: @@ -383,7 +383,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -399,7 +399,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331083&end=32331084 response: @@ -413,7 +413,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:39 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -429,7 +429,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331082&end=32331083 response: @@ -443,7 +443,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:40 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -459,7 +459,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331081&end=32331082 response: @@ -473,7 +473,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:40 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -489,7 +489,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331094&end=32331095 response: @@ -503,7 +503,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:40 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -519,7 +519,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331082&end=32331094 response: @@ -533,7 +533,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:25 GMT + - Wed, 26 Jun 2024 11:58:40 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -549,7 +549,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000013.11&rettype=fasta&seq_start=32331083&seq_stop=32331094&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -573,20 +573,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:29 GMT + - Wed, 26 Jun 2024 11:58:40 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - D0BDBF1F4546BFE50000370F51E24960.1.1.m_5 + - D0BDC04CDF84FC0500003264952754B0.1.1.m_5 NCBI-SID: - - 66B49B9E484C8AEF_4026SID + - 5B5E8A1491FD253E_06B4SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=66B49B9E484C8AEF_4026SID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:25 GMT + - ncbi_sid=5B5E8A1491FD253E_06B4SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:40 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -614,7 +614,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000013.11&rettype=fasta&seq_start=32331094&seq_stop=32331094&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -638,20 +638,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:31 GMT + - Wed, 26 Jun 2024 11:58:40 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - D0BDBF1F4546BFE500002F0F7576E061.1.1.m_5 + - 322C2168844ED525000028623B1F8AEC.1.1.m_5 NCBI-SID: - - CFFC35441277F85A_25ACSID + - EC9D743D7453E637_C7F5SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=CFFC35441277F85A_25ACSID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:30 GMT + - ncbi_sid=EC9D743D7453E637_C7F5SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:40 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -659,7 +659,7 @@ interactions: X-RateLimit-Limit: - '3' X-RateLimit-Remaining: - - '2' + - '1' X-UA-Compatible: - IE=Edge X-XSS-Protection: @@ -679,7 +679,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000013.11&rettype=fasta&seq_start=32331083&seq_stop=32331114&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -704,20 +704,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:31 GMT + - Wed, 26 Jun 2024 11:58:41 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - D0BDBF1F4546BFE50000370F7A270A32.1.1.m_5 + - 322C2168844ED52500003A623DA02599.1.1.m_5 NCBI-SID: - - 135A75524390687D_3CBASID + - F67060DC297FDC2E_6A0ESID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=135A75524390687D_3CBASID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:31 GMT + - ncbi_sid=F67060DC297FDC2E_6A0ESID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:41 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -745,7 +745,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000013.11&rettype=fasta&seq_start=32331093&seq_stop=32331094&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -769,20 +769,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:32 GMT + - Wed, 26 Jun 2024 11:58:41 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - D0BDBF1F4546BFE50000420F7F179C90.1.1.m_5 + - 322C2168844ED52500002762404BF5C7.1.1.m_5 NCBI-SID: - - B24C06BA82CE5D61_779ESID + - CC7258C6BEBE92B7_B633SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=B24C06BA82CE5D61_779ESID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:32 GMT + - ncbi_sid=CC7258C6BEBE92B7_B633SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:41 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: diff --git a/tests/extras/cassettes/test_hgvs[NC_000013.11:g.32936732=-expected0].yaml b/tests/extras/cassettes/test_hgvs[NC_000013.11:g.32936732=-expected0].yaml index 5c1213ec..7e6ed4af 100644 --- a/tests/extras/cassettes/test_hgvs[NC_000013.11:g.32936732=-expected0].yaml +++ b/tests/extras/cassettes/test_hgvs[NC_000013.11:g.32936732=-expected0].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/NC_000013.11?start=32936731&end=32936732 response: @@ -23,7 +23,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Thu, 28 Mar 2024 15:00:00 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -39,37 +39,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 - method: GET - uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32936731&end=32936732 - response: - body: - string: C - headers: - Connection: - - close - Content-Length: - - '1' - Content-Type: - - text/plain; charset=utf-8 - Date: - - Thu, 28 Mar 2024 15:00:00 GMT - Server: - - Werkzeug/2.2.2 Python/3.10.4 - status: - code: 200 - message: OK -- request: - body: null - headers: - Accept: - - '*/*' - Accept-Encoding: - - gzip, deflate - Connection: - - keep-alive - User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000013.11&rettype=fasta&seq_start=32936732&seq_stop=32936732&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -93,20 +63,20 @@ interactions: Content-Type: - text/plain Date: - - Thu, 28 Mar 2024 15:00:00 GMT + - Wed, 26 Jun 2024 11:58:35 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 322C9662D163BFD50000455DC8C5F803.1.1.m_5 + - D0BDC04CDF84FC0500005C647A219942.1.1.m_5 NCBI-SID: - - B4EFF4C120F51122_C2F5SID + - 0F837A16B6853FBD_220BSID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=B4EFF4C120F51122_C2F5SID; domain=.nih.gov; path=/; expires=Fri, 28 - Mar 2025 15:00:00 GMT + - ncbi_sid=0F837A16B6853FBD_220BSID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:35 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: diff --git a/tests/extras/cassettes/test_hgvs[NC_000019.10:g.289464_289465insCACA-expected8].yaml b/tests/extras/cassettes/test_hgvs[NC_000019.10:g.289464_289465insCACA-expected8].yaml index 41e85d41..b018e59d 100644 --- a/tests/extras/cassettes/test_hgvs[NC_000019.10:g.289464_289465insCACA-expected8].yaml +++ b/tests/extras/cassettes/test_hgvs[NC_000019.10:g.289464_289465insCACA-expected8].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289464 response: @@ -23,7 +23,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:36 GMT + - Wed, 26 Jun 2024 11:58:46 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -39,7 +39,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289463&end=289464 response: @@ -53,7 +53,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:36 GMT + - Wed, 26 Jun 2024 11:58:46 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -69,7 +69,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289465 response: @@ -83,7 +83,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:36 GMT + - Wed, 26 Jun 2024 11:58:46 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -99,7 +99,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289465&end=289466 response: @@ -113,7 +113,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:37 GMT + - Wed, 26 Jun 2024 11:58:46 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -129,7 +129,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289466&end=289467 response: @@ -143,7 +143,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:37 GMT + - Wed, 26 Jun 2024 11:58:46 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -159,7 +159,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289464&end=289466 response: @@ -173,7 +173,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:37 GMT + - Wed, 26 Jun 2024 11:58:46 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -189,7 +189,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000019.10&rettype=fasta&seq_start=289465&seq_stop=289466&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -213,20 +213,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:37 GMT + - Wed, 26 Jun 2024 11:58:46 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 939B0CF92DC7363500003FD0BAD06517.1.1.m_5 + - D0BDC04CDF84FC0500004164B5C5CA50.1.1.m_5 NCBI-SID: - - F51BC9F288C8985B_C4F0SID + - 23518C7A3ED150B5_B224SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=F51BC9F288C8985B_C4F0SID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:37 GMT + - ncbi_sid=23518C7A3ED150B5_B224SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:46 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -254,7 +254,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000019.10&rettype=fasta&seq_start=289466&seq_stop=289466&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -278,20 +278,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:37 GMT + - Wed, 26 Jun 2024 11:58:47 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - D0BDBF1F4546BFE50000180FB0927718.1.1.m_5 + - 322C2168844ED525000033625B3DB0E4.1.1.m_5 NCBI-SID: - - 1A46F0BEFF181537_3F38SID + - 2EFCCFA110F2FAAD_83DASID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=1A46F0BEFF181537_3F38SID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:37 GMT + - ncbi_sid=2EFCCFA110F2FAAD_83DASID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:47 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -319,7 +319,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000019.10&rettype=fasta&seq_start=289465&seq_stop=289486&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -344,20 +344,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:43 GMT + - Wed, 26 Jun 2024 11:58:47 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 939B0CF92DC7363500004DD0C184C8B1.1.1.m_5 + - D0BDC04CDF84FC0500002564BA070495.1.1.m_5 NCBI-SID: - - F13B6D2A00EB19E0_A01ESID + - A4BFD55E738F1983_7D6BSID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=F13B6D2A00EB19E0_A01ESID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:38 GMT + - ncbi_sid=A4BFD55E738F1983_7D6BSID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:47 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -385,7 +385,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000019.10&rettype=fasta&seq_start=289463&seq_stop=289466&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -409,20 +409,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:43 GMT + - Wed, 26 Jun 2024 11:58:48 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 322C87E474B568E500005A0D459D6169.1.1.m_5 + - 322C2168844ED52500004B6261A52076.1.1.m_5 NCBI-SID: - - 0ED03A969EED9C4F_4B92SID + - 4D83F50ED8EB562C_4BE4SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=0ED03A969EED9C4F_4B92SID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:43 GMT + - ncbi_sid=4D83F50ED8EB562C_4BE4SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:48 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -430,7 +430,7 @@ interactions: X-RateLimit-Limit: - '3' X-RateLimit-Remaining: - - '2' + - '1' X-UA-Compatible: - IE=Edge X-XSS-Protection: diff --git a/tests/extras/cassettes/test_hgvs[NC_000019.10:g.289485_289500del-expected9].yaml b/tests/extras/cassettes/test_hgvs[NC_000019.10:g.289485_289500del-expected9].yaml index ef18bc2c..11b1b06f 100644 --- a/tests/extras/cassettes/test_hgvs[NC_000019.10:g.289485_289500del-expected9].yaml +++ b/tests/extras/cassettes/test_hgvs[NC_000019.10:g.289485_289500del-expected9].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289484&end=289500 response: @@ -23,7 +23,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:43 GMT + - Wed, 26 Jun 2024 11:58:48 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -39,7 +39,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289483&end=289484 response: @@ -53,7 +53,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:43 GMT + - Wed, 26 Jun 2024 11:58:48 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -69,7 +69,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289482&end=289483 response: @@ -83,7 +83,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:43 GMT + - Wed, 26 Jun 2024 11:58:48 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -99,7 +99,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289481&end=289482 response: @@ -113,7 +113,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:43 GMT + - Wed, 26 Jun 2024 11:58:48 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -129,7 +129,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289480&end=289481 response: @@ -143,7 +143,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:44 GMT + - Wed, 26 Jun 2024 11:58:48 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -159,7 +159,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289479&end=289480 response: @@ -173,7 +173,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:44 GMT + - Wed, 26 Jun 2024 11:58:48 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -189,7 +189,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289500&end=289501 response: @@ -203,7 +203,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:44 GMT + - Wed, 26 Jun 2024 11:58:48 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -219,7 +219,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289501&end=289502 response: @@ -233,7 +233,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:44 GMT + - Wed, 26 Jun 2024 11:58:48 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -249,7 +249,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289480&end=289484 response: @@ -263,7 +263,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:44 GMT + - Wed, 26 Jun 2024 11:58:48 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -279,7 +279,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl?start=289480&end=289501 response: @@ -293,7 +293,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:44 GMT + - Wed, 26 Jun 2024 11:58:48 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -309,7 +309,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000019.10&rettype=fasta&seq_start=289481&seq_stop=289501&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -334,20 +334,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:43 GMT + - Wed, 26 Jun 2024 11:58:49 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 322C87E474B568E50000480D4AB54D8F.1.1.m_5 + - D0BDC04CDF84FC0500002F64BFD27CCF.1.1.m_5 NCBI-SID: - - 596E2E3B843EFCAE_0FB6SID + - 7C248705796F8474_4DADSID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=596E2E3B843EFCAE_0FB6SID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:44 GMT + - ncbi_sid=7C248705796F8474_4DADSID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:49 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -375,7 +375,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000019.10&rettype=fasta&seq_start=289501&seq_stop=289501&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -399,20 +399,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:44 GMT + - Wed, 26 Jun 2024 11:58:49 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 322C87E474B568E500002B0D4E8D289C.1.1.m_5 + - 939B9BD7E3BE00F500003D40A5524158.1.1.m_5 NCBI-SID: - - 9F26F90AE2A4F290_CC40SID + - 9386A08F08A7F5B8_F5CFSID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=9F26F90AE2A4F290_CC40SID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:44 GMT + - ncbi_sid=9386A08F08A7F5B8_F5CFSID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:49 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -440,7 +440,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000019.10&rettype=fasta&seq_start=289481&seq_stop=289521&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -465,20 +465,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:44 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 322C87E474B568E50000350D51D98D8A.1.1.m_5 + - 322C2168844ED52500002B62673134C8.1.1.m_5 NCBI-SID: - - 2A46D6423FB4F956_E1FFSID + - 859EB8A2A2C4C9A8_F275SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=2A46D6423FB4F956_E1FFSID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:45 GMT + - ncbi_sid=859EB8A2A2C4C9A8_F275SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:50 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: diff --git a/tests/extras/cassettes/test_hgvs[NM_001331029.1:c.722A>G-expected6].yaml b/tests/extras/cassettes/test_hgvs[NM_001331029.1:c.722A>G-expected6].yaml index 20acad2b..6d8b72d1 100644 --- a/tests/extras/cassettes/test_hgvs[NM_001331029.1:c.722A>G-expected6].yaml +++ b/tests/extras/cassettes/test_hgvs[NM_001331029.1:c.722A>G-expected6].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/refseq:NM_001331029.1 response: @@ -28,7 +28,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:28:33 GMT + - Wed, 26 Jun 2024 11:58:43 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -44,7 +44,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NM_001331029.1&rettype=fasta&seq_start=872&seq_stop=872&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -69,20 +69,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:34 GMT + - Wed, 26 Jun 2024 11:58:43 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 939B0CF92DC73635000028D0B1B378B1.1.1.m_5 + - 322C2168844ED5250000296249020435.1.1.m_5 NCBI-SID: - - E807131D241C818D_7C6ASID + - 6387644963D1849D_457DSID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=E807131D241C818D_7C6ASID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:34 GMT + - ncbi_sid=6387644963D1849D_457DSID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:43 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -110,7 +110,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.MBIgVnoHFw34aFqNUVGM0zgjC3d-v8dK response: @@ -129,7 +129,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:28:34 GMT + - Wed, 26 Jun 2024 11:58:43 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -145,7 +145,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.MBIgVnoHFw34aFqNUVGM0zgjC3d-v8dK?start=871&end=872 response: @@ -159,7 +159,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:34 GMT + - Wed, 26 Jun 2024 11:58:43 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -175,7 +175,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NM_001331029.1&rettype=fasta&seq_start=872&seq_stop=892&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -200,20 +200,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:35 GMT + - Wed, 26 Jun 2024 11:58:44 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - D0BDBF1F4546BFE50000340F9595FF2E.1.1.m_5 + - 322C2168844ED52500004B624D2E170E.1.1.m_5 NCBI-SID: - - C2947F2A799711E9_0DA8SID + - CB5784147FC0F267_B834SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=C2947F2A799711E9_0DA8SID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:34 GMT + - ncbi_sid=CB5784147FC0F267_B834SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:44 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: diff --git a/tests/extras/cassettes/test_hgvs[NM_181798.1:c.1007G>T-expected7].yaml b/tests/extras/cassettes/test_hgvs[NM_181798.1:c.1007G>T-expected7].yaml index bfc79e7f..5b4b2f1a 100644 --- a/tests/extras/cassettes/test_hgvs[NM_181798.1:c.1007G>T-expected7].yaml +++ b/tests/extras/cassettes/test_hgvs[NM_181798.1:c.1007G>T-expected7].yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/refseq:NM_181798.1 response: @@ -28,7 +28,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:28:35 GMT + - Wed, 26 Jun 2024 11:58:44 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -44,7 +44,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NM_181798.1&rettype=fasta&seq_start=1263&seq_stop=1263&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -69,20 +69,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:35 GMT + - Wed, 26 Jun 2024 11:58:44 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - D0BDBF1F4546BFE500004E0F9B7FCDD1.1.1.m_5 + - D0BDC04CDF84FC0500004D64AC6A4344.1.1.m_5 NCBI-SID: - - 57AA7CC67136BBAC_54EESID + - 51E2D31E48C2B505_B80ESID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=57AA7CC67136BBAC_54EESID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:35 GMT + - ncbi_sid=51E2D31E48C2B505_B80ESID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:44 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -110,7 +110,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:SQ.KN07u-RFqd1dTyOWOG98HnOq87Nq-ZIg response: @@ -129,7 +129,7 @@ interactions: Content-Type: - application/json Date: - - Tue, 26 Mar 2024 16:28:35 GMT + - Wed, 26 Jun 2024 11:58:45 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -145,7 +145,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ.KN07u-RFqd1dTyOWOG98HnOq87Nq-ZIg?start=1262&end=1263 response: @@ -159,7 +159,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:35 GMT + - Wed, 26 Jun 2024 11:58:45 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -175,7 +175,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NR_040711.1&rettype=fasta&seq_start=1263&seq_stop=1263&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -200,20 +200,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:36 GMT + - Wed, 26 Jun 2024 11:58:45 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 939B0CF92DC7363500004BD0B79EA47D.1.1.m_5 + - D0BDC04CDF84FC0500002F64AEE6BE2F.1.1.m_5 NCBI-SID: - - EA9F389B943985D6_B15DSID + - B9D9C994B2D9D967_EAC1SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=EA9F389B943985D6_B15DSID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:35 GMT + - ncbi_sid=B9D9C994B2D9D967_EAC1SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:45 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -241,7 +241,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NM_181798.1&rettype=fasta&seq_start=1263&seq_stop=1268&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -266,20 +266,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:36 GMT + - Wed, 26 Jun 2024 11:58:45 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - D0BDBF1F4546BFE50000500FA794F064.1.1.m_5 + - D0BDC04CDF84FC0500005E64B2C02582.1.1.m_5 NCBI-SID: - - E7C1518DE0E8A5D1_1509SID + - 9B77F01479EAA535_E7D3SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=E7C1518DE0E8A5D1_1509SID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:36 GMT + - ncbi_sid=9B77F01479EAA535_E7D3SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:46 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: diff --git a/tests/extras/cassettes/test_rle_seq_limit.yaml b/tests/extras/cassettes/test_rle_seq_limit.yaml index fab7d932..d6c51115 100644 --- a/tests/extras/cassettes/test_rle_seq_limit.yaml +++ b/tests/extras/cassettes/test_rle_seq_limit.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/NC_000013.11?start=32331042&end=32331094 response: @@ -23,7 +23,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -39,7 +39,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331042&end=32331094 response: @@ -53,7 +53,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -69,7 +69,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331080&end=32331081 response: @@ -83,7 +83,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -99,7 +99,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331079&end=32331080 response: @@ -113,7 +113,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -129,7 +129,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331078&end=32331079 response: @@ -143,7 +143,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -159,7 +159,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331077&end=32331078 response: @@ -173,7 +173,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -189,7 +189,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331076&end=32331077 response: @@ -203,7 +203,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -219,7 +219,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331075&end=32331076 response: @@ -233,7 +233,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -249,7 +249,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331074&end=32331075 response: @@ -263,7 +263,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -279,7 +279,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331073&end=32331074 response: @@ -293,7 +293,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -309,7 +309,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331072&end=32331073 response: @@ -323,7 +323,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -339,7 +339,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331071&end=32331072 response: @@ -353,7 +353,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -369,7 +369,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331070&end=32331071 response: @@ -383,7 +383,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -399,7 +399,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331069&end=32331070 response: @@ -413,7 +413,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -429,7 +429,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331068&end=32331069 response: @@ -443,7 +443,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -459,7 +459,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331067&end=32331068 response: @@ -473,7 +473,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -489,7 +489,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331066&end=32331067 response: @@ -503,7 +503,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -519,7 +519,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331065&end=32331066 response: @@ -533,7 +533,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -549,7 +549,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331064&end=32331065 response: @@ -563,7 +563,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -579,7 +579,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331063&end=32331064 response: @@ -593,7 +593,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -609,7 +609,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331062&end=32331063 response: @@ -623,7 +623,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -639,7 +639,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331061&end=32331062 response: @@ -653,7 +653,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -669,7 +669,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331060&end=32331061 response: @@ -683,7 +683,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -699,7 +699,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331059&end=32331060 response: @@ -713,7 +713,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -729,7 +729,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331058&end=32331059 response: @@ -743,7 +743,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -759,7 +759,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331057&end=32331058 response: @@ -773,7 +773,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -789,7 +789,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331056&end=32331057 response: @@ -803,7 +803,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -819,7 +819,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331055&end=32331056 response: @@ -833,7 +833,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -849,7 +849,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331054&end=32331055 response: @@ -863,7 +863,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -879,7 +879,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331053&end=32331054 response: @@ -893,7 +893,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -909,7 +909,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331052&end=32331053 response: @@ -923,7 +923,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -939,7 +939,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331051&end=32331052 response: @@ -953,7 +953,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -969,7 +969,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331050&end=32331051 response: @@ -983,7 +983,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -999,7 +999,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331049&end=32331050 response: @@ -1013,7 +1013,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:46 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1029,7 +1029,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331048&end=32331049 response: @@ -1043,7 +1043,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:46 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1059,7 +1059,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331047&end=32331048 response: @@ -1073,7 +1073,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:46 GMT + - Wed, 26 Jun 2024 11:58:51 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1089,7 +1089,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331046&end=32331047 response: @@ -1103,7 +1103,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:46 GMT + - Wed, 26 Jun 2024 11:58:51 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1119,7 +1119,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331045&end=32331046 response: @@ -1133,7 +1133,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:46 GMT + - Wed, 26 Jun 2024 11:58:51 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1149,7 +1149,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331044&end=32331045 response: @@ -1163,7 +1163,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:46 GMT + - Wed, 26 Jun 2024 11:58:51 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1179,7 +1179,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331043&end=32331044 response: @@ -1193,7 +1193,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:46 GMT + - Wed, 26 Jun 2024 11:58:51 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1209,7 +1209,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331042&end=32331043 response: @@ -1223,7 +1223,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:46 GMT + - Wed, 26 Jun 2024 11:58:51 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1239,7 +1239,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/sequence/ga4gh:SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT?start=32331041&end=32331042 response: @@ -1253,7 +1253,7 @@ interactions: Content-Type: - text/plain; charset=utf-8 Date: - - Tue, 26 Mar 2024 16:28:46 GMT + - Wed, 26 Jun 2024 11:58:51 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: @@ -1269,7 +1269,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000013.11&rettype=fasta&seq_start=32331043&seq_stop=32331094&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -1294,20 +1294,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:45 GMT + - Wed, 26 Jun 2024 11:58:50 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 939B0CF92DC7363500004AD0EAABBD91.1.1.m_5 + - 939B9BD7E3BE00F500003B40A7D378C5.1.1.m_5 NCBI-SID: - - F721C0E90452490B_ABCFSID + - F2074185F72DD742_7BFBSID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=F721C0E90452490B_ABCFSID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:46 GMT + - ncbi_sid=F2074185F72DD742_7BFBSID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:51 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: @@ -1335,7 +1335,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=NC_000013.11&rettype=fasta&seq_start=32331043&seq_stop=32331114&tool=bioutils&email=biocommons-dev@googlegroups.com response: @@ -1360,20 +1360,20 @@ interactions: Content-Type: - text/plain Date: - - Tue, 26 Mar 2024 16:28:46 GMT + - Wed, 26 Jun 2024 11:58:51 GMT Keep-Alive: - timeout=4, max=40 NCBI-PHID: - - 322C87E474B568E500004E0D5BF8B085.1.1.m_5 + - D0BDC04CDF84FC0500004A64CEF8EC74.1.1.m_5 NCBI-SID: - - 6EBAAFC57D3D338E_D238SID + - 270365131F469F9A_AE40SID Referrer-Policy: - origin-when-cross-origin Server: - Finatra Set-Cookie: - - ncbi_sid=6EBAAFC57D3D338E_D238SID; domain=.nih.gov; path=/; expires=Wed, 26 - Mar 2025 16:28:46 GMT + - ncbi_sid=270365131F469F9A_AE40SID; domain=.nih.gov; path=/; expires=Thu, 26 + Jun 2025 11:58:51 GMT Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload Transfer-Encoding: diff --git a/tests/extras/cassettes/test_to_hgvs_iri_ref_keyerror.yaml b/tests/extras/cassettes/test_to_hgvs_iri_ref_keyerror.yaml index dcbad575..b7a8804d 100644 --- a/tests/extras/cassettes/test_to_hgvs_iri_ref_keyerror.yaml +++ b/tests/extras/cassettes/test_to_hgvs_iri_ref_keyerror.yaml @@ -9,7 +9,7 @@ interactions: Connection: - keep-alive User-Agent: - - python-requests/2.31.0 + - python-requests/2.32.3 method: GET uri: http://localhost:5000/seqrepo/1/metadata/ga4gh:seqrefs.jsonc response: @@ -23,7 +23,7 @@ interactions: Content-Type: - application/json Date: - - Wed, 27 Mar 2024 12:41:31 GMT + - Wed, 26 Jun 2024 11:58:52 GMT Server: - Werkzeug/2.2.2 Python/3.10.4 status: From 517358724b3f42cc1b17869fceac12df75767839 Mon Sep 17 00:00:00 2001 From: Kori Kuzma Date: Tue, 2 Jul 2024 13:29:23 -0400 Subject: [PATCH 02/12] feat!: update vrs/core models --- src/ga4gh/core/_internal/models.py | 276 ++++++++---- src/ga4gh/vrs/_internal/models.py | 204 ++++----- src/ga4gh/vrs/normalize.py | 4 +- submodules/vrs | 2 +- .../test_vcf_expected_altsonly_output.vcf.gz | Bin 4440 -> 4437 bytes .../data/test_vcf_expected_output.vcf.gz | Bin 4699 -> 4701 bytes ...st_vcf_expected_output_no_vrs_attrs.vcf.gz | Bin 4488 -> 4493 bytes tests/extras/test_allele_translator.py | 88 ++-- tests/extras/test_cnv_translator.py | 48 +-- tests/test_vrs.py | 371 ++++++++++++++-- tests/test_vrs2.py | 397 ------------------ 11 files changed, 715 insertions(+), 675 deletions(-) delete mode 100644 tests/test_vrs2.py diff --git a/src/ga4gh/core/_internal/models.py b/src/ga4gh/core/_internal/models.py index f611260c..017b5d11 100644 --- a/src/ga4gh/core/_internal/models.py +++ b/src/ga4gh/core/_internal/models.py @@ -10,20 +10,32 @@ * `import ga4gh.core`, and refer to models using the fully-qualified module name, e.g., `ga4gh.core.core_models.Gene` """ -from typing import Any, Dict, List, Literal, Optional, Union, Annotated +import datetime +from typing import Any, Dict, ForwardRef, Literal, Annotated, Optional, Union, List from enum import Enum -from pydantic import BaseModel, ConfigDict, Field, RootModel, StringConstraints, model_serializer +from pydantic import BaseModel, ConfigDict, Field, RootModel, StringConstraints, constr, field_validator, model_serializer from ga4gh.core import GA4GH_IR_REGEXP +# Declare forward references +_InformationEntity = ForwardRef("_InformationEntity") +Contribution = ForwardRef("Contribution") +Document = ForwardRef("Document") +Method = ForwardRef("Method") ######################################### -# gks-common core +# GKS Common Core Information Model ######################################### +class AgentSubtype(str, Enum): + """Define constraints for agent subtype""" -class Relation(Enum): + PERSON = "person" + ORGANIZATION = "organization" + COMPUTER = "computer" + +class Relation(str, Enum): """A mapping relation between concepts as defined by the Simple Knowledge Organization System (SKOS). """ @@ -35,6 +47,26 @@ class Relation(Enum): RELATED_MATCH = 'relatedMatch' +class Syntax(str, Enum): + """The syntax used to describe the variation. The value should be one of the + supported syntaxes. + """ + + HGVS_C = "hgvs.c" + HGVS_P = "hgvs.p" + HGVS_G = "hgvs.g" + HGVS_M = "hgvs.m" + HGVS_N = "hgvs.n" + HGVS_R = "hgvs.r" + HGVS_ISCN = "iscn" + GNOMAD = "gnomad" + SPDI = "spdi" + +######################################### +# GKS Common Core Information Model - Utility Type Classes +# These do not inherit from Entity and are not typed explicitly +######################################### + class Code(RootModel): """Indicates that the value is taken from a set of controlled strings defined elsewhere. Technically, a code is restricted to a string which has at least one @@ -75,31 +107,91 @@ def ga4gh_serialize(self): ) +class RecordMetadata(BaseModel): + """A reusable structure that encapsulates provenance metadata about a serialized + data record or object in a particular dataset (as opposed to provenance about the + real world entity this record or object represents). + """ + + recordIdentifier: Optional[str] = Field(None, description="The business identifier of the record described in the RecordMetadata object (required when the record described is not the one in the present system)") + recordVersion: Optional[str] = Field(None, description="The version number of the record-level artifact the object describes.") + derivedFrom: Optional[str] = Field(None, description="Another data record from which the record described here was derived.") + dateRecordCreated: Optional[str] = Field(None, description="The date the record was initially created.") + contributions: Optional[List[Contribution]] = Field(None, description="Describes specific contributions made by an human or software agent to the creation, modification, or administrative management of a data record or object.") + + +class Coding(BaseModel): + """A structured representation of a code for a defined concept in a terminology or + code system. + """ + + label: Optional[str] = Field( + None, + description='The human-readable name for the coded concept, as defined by the code system.' + ) + system: str = Field( + ..., + description="The terminology/code system that defined the code. May be reported as a free-text name (e.g. 'Sequence Ontology'), but it is preferable to provide a uri/url for the system. When the 'code' is reported as a CURIE, the 'system' should be reported as the uri that the CURIE's prefix expands to (e.g. 'http://purl.obofoundry.org/so.owl/' for the Sequence Ontology)." + ) + version: Optional[str] = Field( + None, + description='Version of the terminology or code system that provided the code.' + ) + code: Code = Field( + ..., + description="A symbol uniquely identifying the concept, as in a syntax defined by the code system. CURIE format is preferred where possible (e.g. 'SO:0000704' is the CURIE form of the Sequence Ontology code for 'gene')." + ) + + +class ConceptMapping(BaseModel): + """A mapping to a concept in a terminology or code system.""" + + coding: Coding = Field(..., description="A structured representation of a code for a defined concept in a terminology or code system.") + relation: Relation = Field(..., description="A mapping relation between concepts as defined by the Simple Knowledge Organization System (SKOS).") + + class Extension(BaseModel): - """The Extension class provides VODs with a means to extend descriptions with other - attributes unique to a content provider. These extensions are not expected to be - natively understood under VRSATILE, but may be used for pre-negotiated exchange of - message attributes when needed. + """The Extension class provides entities with a means to include additional + attributes that are outside of the specified standard but needed by a given content + provider or system implementer. These extensions are not expected to be natively + understood, but may be used for pre-negotiated exchange of message attributes + between systems. """ model_config = ConfigDict( extra='allow', ) - type: Literal['Extension'] = Field('Extension', description='MUST be "Extension".') - name: str = Field(..., description='A name for the Extension') + name: str = Field(..., description='A name for the Extension. Should be indicative of its meaning and/or the type of information it value represents.') value: Optional[Union[float, str, bool, Dict[str, Any], List[Any]]] = Field( - None, description='Any primitive or structured object' + None, description='The value of the Extension - can be any primitive or structured object' ) + extensionDescription: Optional[str] = Field(None, description="A description of the meaning or utility of the Extension, to explain the type of information it is meant to hold.") + + +class Expression(BaseModel): + """Representation of a variation by a specified nomenclature or syntax for a + Variation object. Common examples of expressions for the description of molecular + variation include the HGVS and ISCN nomenclatures. + """ + + syntax: Syntax = Field(..., description="The syntax used to describe the variation. The value should be one of the supported syntaxes.") + value: str = Field(..., description="The expression of the variation in the specified syntax. The value should be a valid expression in the specified syntax.") + syntax_version: Optional[str] = Field(None, description="The version of the syntax used to describe the variation. This is particularly important for HGVS expressions, as the syntax has evolved over time.") + + +######################################### +# GKS Common Core Information Model Classes +######################################### class _Entity(BaseModel): - """Entity is the root class of `core` classes model - those that have identifiers - and other general metadata like labels, xrefs, urls, descriptions, etc. All core - classes descend from and inherit its attributes. + """Entity is the root class of the 'gks-common' core information model classes - + those that have identifiers and other general metadata like labels, xrefs, urls, + descriptions, etc. All common classes descend from and inherit its attributes. """ id: Optional[str] = Field( None, - description="The 'logical' identifier of the entity in the system of record, e.g. a UUID. This 'id' is unique within a given system. The identified entity may have a different 'id' in a different system, or may refer to an 'id' for the shared concept in another system (e.g. a CURIE)." + description="The 'logical' identifier of the entity in the system of record, e.g. a UUID. This 'id' is unique within a given system. The identified entity may have a different 'id' in a different system, or may refer to an 'id' for the shared concept in another system (e.g. a CURIE)." ) label: Optional[str] = Field( None, @@ -109,64 +201,112 @@ class _Entity(BaseModel): None, description='A free-text description of the entity.' ) - extensions: Optional[List[Extension]] = None - + alternativeLabels: Optional[List[str]] = Field(None, description="Alternative name(s) for the Entity.") + extensions: Optional[List[Extension]] = Field(None, description="A list of extensions to the entity. Extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems.") -class Coding(BaseModel): - """a concept codified by a terminology system.""" +class _DomainEntity(_Entity): + """An Entity that is specific to a particular biomedical domain such as disease, + therapeutics, or genes. Domain Entities are considered as 'concept-level' entities, + as opposed to particular instances. e.g. 'Lung Cancer', not 'patient123's lung + cancer'. Or 'Erlotinib', not the particular doses given to a patient on a specific + occasion. + """ - label: Optional[str] = Field( - None, - description='A primary label for the coding.' - ) - system: str = Field( - ..., - description='Identity of the terminology system.' - ) - version: Optional[str] = Field( - None, - description='Version of the terminology system.' - ) - code: Code = Field( - ..., - description='Symbol in syntax defined by the terminology system.' - ) + type: str + mappings: Optional[List[ConceptMapping]] = Field(None, description="A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation.") +class Agent(_Entity): + """An autonomous actor (person, organization, or computational agent) that bears + some form of responsibility for an activity taking place, for the existence of an + entity, or for another agent's activity. + """ -class Mapping(_Entity): - """A mapping to a concept in a terminology system.""" - model_config = ConfigDict( - use_enum_values=True - ) + type: Literal["Agent"] = Field("Agent", description="MUST be 'Agent'.") + name: Optional[str] = Field(None, description="The descriptive name of the agent.") + subtype: Optional[AgentSubtype] = Field(None, description="A more specific type of agent the agent represents.") - coding: Coding - relation: Relation = Field( - ..., - description='A mapping relation between concepts as defined by the Simple Knowledge Organization System (SKOS).' - ) +class Contribution(_Entity): + """An action taken by an agent in contributing to the creation, modification, + assessment, or deprecation of a particular entity (e.g. a Statement, EvidenceLine, + DataItem, Publication, etc.) + """ -class _MappableEntity(_Entity): - """an Entity that is mappable to codings in other terminology systems.""" + type: Literal["Contribution"] = "Contribution" + contributor: Optional[Agent] = Field(None, description="The agent that made the contribution.") + date: Optional[str] = Field(None, description="The date on which the contribution was made. The date SHOULD be formatted as a date string in ISO format 'YYYY-MM-DD'.") + contributionMadeTo: Optional[_InformationEntity] = Field(None, description="The artifact toward which the contribution was made.") # noqa: N815 + activity: Optional[Coding] = Field(None, description="SHOULD describe a concept descending from the Contributor Role Ontology.") + + @field_validator("date") + @classmethod + def date_format(cls, v: Optional[str]) -> Optional[str]: + """Check that date is YYYY-MM-DD format""" + if v: + valid_format = "%Y-%m-%d" + + try: + datetime.datetime.strptime(v, valid_format).replace( + tzinfo=datetime.timezone.utc + ).strftime(valid_format) + except ValueError as e: + msg = "`date` must use YYYY-MM-DD format" + raise ValueError(msg) from e + return v + +class _InformationEntity(_Entity): + """Information Entities are abstract (non-physical) entities that are about + something (i.e. they carry information about things in the real world). + """ - mappings: Optional[List[Mapping]] = None + id: str + type: Literal['InformationEntity'] = Field("InformationEntity", description="MUST be 'InformationEntity'.") + specifiedBy: Optional[Union[Method, IRI]] = Field(None, description="A `Method` that describes all or part of the process through which the information was generated.") + contributions: Optional[List[Contribution]] = Field(description="A list of `Contribution` objects that describe the activities performed by agents upon this entity.") + isReportedIn: Optional[List[Union[Document, IRI]]] = Field(description="A document in which the information content is expressed.") + dateAuthored: Optional[str] = Field(None, description="Indicates when the information content expressed in the Information Entity was generated.") + derivedFrom: Optional[List[_InformationEntity]] = Field(None, description="Another Information Entity from which this Information Entity is derived, in whole or in part.") + recordMetadata: Optional[RecordMetadata] = Field(None, description="Metadata that applies to a specific concrete record of information as encoded in a particular system.") + +class Document(_InformationEntity): + """a representation of a physical or digital document""" + + type: Literal["Document"] = "Document" + subtype: Optional[Coding] = Field( + None, description="A more specific type for the document (e.g. a publication, patent, pathology report)" + ) + title: Optional[str] = Field(None, description="The title of the Document") + url: Optional[constr(pattern="^(https?|s?ftp)://")] = Field( + None, description="A URL at which the document may be retrieved." + ) + doi: Optional[constr(pattern="^10.(\\d+)(\\.\\d+)*\\/[\\w\\-\\.]+")] = Field( + None, + description="A `Digital Object Identifier _` for the document.", + ) + pmid: Optional[int] = Field( + None, + description="A `PubMed unique identifier `_.", + ) -class _DomainEntity(_MappableEntity): - """An Entity that is specific to a particular biomedical domain such as disease, - therapeutics, or genes. +class Method(_Entity): + """A set of instructions that specify how to achieve some objective (e.g. + experimental protocols, curation guidelines, rule sets, etc.) """ - type: str - aliases: Optional[List[str]] = Field( + type: Literal["Method"] = Field("Method", description="MUST be 'Method'.") + isReportedIn: Optional[Union[Document, IRI]] = None # noqa: N815 + isReportedIn: Optional[Document] = None + subtype: Optional[Coding] = Field( None, - description='Aliases are alternate labels for a Domain Entity.' + description="A more specific type of entity the method represents (e.g. Variant Interpretation Guideline, Experimental Protocol)", ) + license: Optional[str] = Field(None, description="A particular license that dictates legal permissions for how a published method (e.g. an experimental protocol, workflow specification, curation guideline) can be used.") ######################################### -# gks-common conditions +# GKS Common Domain Entities ######################################### class Phenotype(_DomainEntity): @@ -205,18 +345,13 @@ class TraitSet(_DomainEntity): class Condition(RootModel): """A disease or other medical disorder.""" - root: Union[Disease, Phenotype, TraitSet] = Field( + root: Union[TraitSet, Disease, Phenotype] = Field( ..., json_schema_extra={'description': 'A disease or other medical disorder.'}, discriminator='type', ) -######################################### -# gks-common therapeutics -######################################### - - class TherapeuticAction(_DomainEntity): """A therapeutic action taken that is intended to alter or stop a pathologic process.""" @@ -258,11 +393,7 @@ class CombinationTherapy(_DomainEntity): 'CombinationTherapy', description='MUST be "CombinationTherapy".' ) - components: List[Union[ - TherapeuticSubstituteGroup, - TherapeuticAction, - TherapeuticAgent - ]] = Field( + components: List[Union[TherapeuticSubstituteGroup, TherapeuticAction, TherapeuticAgent]] = Field( ..., description='The individual therapeutic procedure components that constitute the combination therapy.', min_length=2 @@ -274,18 +405,13 @@ class TherapeuticProcedure(RootModel): intended to alter or stop a pathologic process. """ - root: Union[CombinationTherapy, TherapeuticAction, TherapeuticAgent, TherapeuticSubstituteGroup] = Field( + root: Union[CombinationTherapy, TherapeuticSubstituteGroup, TherapeuticAction, TherapeuticAgent] = Field( ..., json_schema_extra={'description': 'An action or administration of therapeutic agents to produce an effect that is intended to alter or stop a pathologic process.'}, discriminator='type', ) -######################################### -# gks-common therapeutics -######################################### - - class Gene(_DomainEntity): """A basic physical and functional unit of heredity.""" @@ -293,3 +419,9 @@ class Gene(_DomainEntity): 'Gene', description='MUST be "Gene".' ) + +# Update forward references +_InformationEntity.model_rebuild() +Contribution.model_rebuild() +Document.model_rebuild() +Method.model_rebuild() diff --git a/src/ga4gh/vrs/_internal/models.py b/src/ga4gh/vrs/_internal/models.py index b636f498..2c59f6f7 100644 --- a/src/ga4gh/vrs/_internal/models.py +++ b/src/ga4gh/vrs/_internal/models.py @@ -9,15 +9,7 @@ * `import ga4gh.vrs`, and refer to models using the fully-qualified module name, e.g., `ga4gh.vrs.models.Allele` - -New pydantic-based version - -Pydantic classes bootstrapped with: -sed -i.bkp 's/$defs/definitions/g' merged.json -V1 pydantic: datamodel-codegen --input submodules/vrs/schema/merged.json --input-file-type jsonschema --output models_merged2.py -V2 pydantic: datamodel-codegen --input submodules/vrs/schema/merged.json --input-file-type jsonschema --output models.py --output-model-type pydantic_v2.BaseModel --allow-extra-fields """ - from typing import List, Literal, Optional, Union, Dict, Annotated from collections import OrderedDict from enum import Enum @@ -31,7 +23,7 @@ is_ga4gh_identifiable, getattr_in ) -from ga4gh.core._internal.models import IRI, _Entity +from ga4gh.core._internal.models import IRI, Expression, _DomainEntity def flatten(vals): @@ -133,28 +125,17 @@ def pydantic_class_refatt_map(): class_keys) -class Syntax(Enum): - """Define constraints for syntax""" - - HGVS_C = "hgvs.c" - HGVS_P = "hgvs.p" - HGVS_G = "hgvs.g" - HGVS_M = "hgvs.m" - HGVS_N = "hgvs.n" - HGVS_R = "hgvs.r" - ISCN = "iscn" - GNOMAD = "gnomad" - SPDI = "spdi" - - -class ResidueAlphabet(Enum): - """Define constraints for residue alphabet""" +class ResidueAlphabet(str, Enum): + """The interpretation of the character codes referred to by the refget accession, + where "aa" specifies an amino acid character set, and "na" specifies a nucleic acid + character set. + """ AA = 'aa' NA = 'na' -class CopyChange(Enum): +class CopyChange(str, Enum): """Define constraints for copy change""" EFO_0030069 = 'efo:0030069' @@ -182,7 +163,7 @@ def _recurse_ga4gh_serialize(obj): return obj -class _ValueObject(_Entity): +class _ValueObject(_DomainEntity): """A contextual value whose equality is based on value, not identity. See https://en.wikipedia.org/wiki/Value_object for more on Value Objects. """ @@ -209,10 +190,10 @@ def is_ga4gh_identifiable(): class _Ga4ghIdentifiableObject(_ValueObject): """A contextual value object for which a GA4GH computed identifier can be created. All GA4GH Identifiable Objects may have computed digests from the VRS Computed - Identifier algorithm.""" + Identifier algorithm. + """ type: str - digest: Optional[Annotated[str, StringConstraints(pattern=r'^[0-9A-Za-z_\-]{32}$')]] = Field( None, description='A sha512t24u digest created using the VRS Computed Identifier algorithm.', @@ -286,19 +267,6 @@ class ga4gh(_ValueObject.ga4gh): prefix: str -class Expression(BaseModel): - """Representation of a variation by a specified nomenclature or syntax for a - Variation object. Common examples of expressions for the description of molecular - variation include the HGVS and ISCN nomenclatures. - """ - model_config = ConfigDict( - use_enum_values=True - ) - - syntax: Syntax - value: str - syntax_version: Optional[str] = None - ######################################### # vrs numerics, comparators, and ranges ######################################### @@ -332,7 +300,7 @@ class Residue(RootModel): class SequenceString(RootModel): - """A character string of Residues that represents a biological sequence using the + """A character string of `Residues` that represents a biological sequence using the conventional sequence order (5'-to-3' for nucleic acid sequences, and amino-to-carboxyl for amino acid sequences). IUPAC ambiguity codes are permitted in Sequence Strings. @@ -341,7 +309,7 @@ class SequenceString(RootModel): root: Annotated[str, StringConstraints(pattern=r'^[A-Z*\-]*$')] = Field( ..., json_schema_extra={ - 'description': 'A character string of Residues that represents a biological sequence using the conventional sequence order (5’-to-3’ for nucleic acid sequences, and amino-to-carboxyl for amino acid sequences). IUPAC ambiguity codes are permitted in Sequence Strings.' + 'description': "A character string of Residues that represents a biological sequence using the conventional sequence order (5'-to-3' for nucleic acid sequences, and amino-to-carboxyl for amino acid sequences). IUPAC ambiguity codes are permitted in Sequence Strings." }, ) @@ -357,9 +325,7 @@ class LengthExpression(_ValueObject): type: Literal['LengthExpression'] = Field( 'LengthExpression', description='MUST be "LengthExpression"' ) - length: Optional[Union[Range, int]] = Field( - None - ) + length: Optional[Union[Range, int]] = None class ga4gh(_ValueObject.ga4gh): keys = [ @@ -378,10 +344,10 @@ class ReferenceLengthExpression(_ValueObject): ..., description='The number of residues of the expressed sequence.' ) sequence: Optional[SequenceString] = Field( - None, description='the Sequence encoded by the Reference Length Expression.' + None, description='the `Sequence` encoded by the Reference Length Expression.' ) repeatSubunitLength: int = Field( - None, description='The number of residues of the repeat subunit.' + ..., description='The number of residues of the repeat subunit.' ) class ga4gh(_ValueObject.ga4gh): @@ -424,12 +390,12 @@ class SequenceReference(_ValueObject): ..., description='A `GA4GH RefGet ` identifier for the referenced sequence, using the sha512t24u digest.', ) - residueAlphabet: Optional[ResidueAlphabet] = None + residueAlphabet: Optional[ResidueAlphabet] = Field(None, description="The interpretation of the character codes referred to by the refget accession, where 'aa' specifies an amino acid character set, and 'na' specifies a nucleic acid character set.") + circular: Optional[bool] = Field(None, description="A boolean indicating whether the molecule represented by the sequence is circular (true) or linear (false).") class ga4gh(_ValueObject.ga4gh): keys = [ - 'refgetAccession', - 'type' + 'refgetAccession' ] @@ -438,7 +404,7 @@ class SequenceLocation(_Ga4ghIdentifiableObject): type: Literal['SequenceLocation'] = Field('SequenceLocation', description='MUST be "SequenceLocation"') sequenceReference: Optional[Union[IRI, SequenceReference]] = Field( - None, description='A SequenceReference.' + None, description='A reference to a `Sequence` on which the location is defined.' ) start: Optional[Union[Range, int]] = Field( None, @@ -449,6 +415,8 @@ class SequenceLocation(_Ga4ghIdentifiableObject): description='The end coordinate or range of the SequenceLocation. The minimum value of this coordinate or range is 0. MUST represent a coordinate or range greater than the value of `start`.', ) + sequence: Optional[SequenceString] = Field(None, description="The literal sequence encoded by the `sequenceReference` at these coordinates.") + def get_refget_accession(self): if isinstance(self.sequenceReference, SequenceReference): return self.sequenceReference.refgetAccession @@ -476,6 +444,55 @@ class _VariationBase(_Ga4ghIdentifiableObject): expressions: Optional[List[Expression]] = None +######################################### +# vrs molecular variation +######################################### + + +class Allele(_VariationBase): + """The state of a molecule at a `Location`.""" + + type: Literal['Allele'] = Field('Allele', description='MUST be "Allele"') + location: Union[IRI, SequenceLocation] = Field( + ..., description='The location of the Allele' + ) + state: Union[LiteralSequenceExpression, ReferenceLengthExpression, LengthExpression] = Field( + ..., description='An expression of the sequence state' + ) + + class ga4gh(_Ga4ghIdentifiableObject.ga4gh): + prefix = 'VA' + keys = [ + 'location', + 'state', + 'type' + ] + + +class CisPhasedBlock(_VariationBase): + """An ordered set of co-occurring `Variation` on the same molecule.""" + + type: Literal['CisPhasedBlock'] = Field('CisPhasedBlock', description='MUST be "CisPhasedBlock"') + members: List[Union[Allele, IRI]] = Field( + ..., + description='A list of `Alleles` that are found in-cis on a shared molecule.', + min_length=2, + ) + sequenceReference: Optional[SequenceReference] = Field(None, description="An optional Sequence Reference on which all of the in-cis Alleles are found. When defined, this may be used to implicitly define the `sequenceReference` attribute for each of the CisPhasedBlock member Alleles.") + + @model_serializer(when_used='json') + def ga4gh_serialize(self) -> Dict: + out = _ValueObject.ga4gh_serialize(self) + out['members'] = sorted(out['members']) + return out + + class ga4gh(_Ga4ghIdentifiableObject.ga4gh): + prefix = 'CPB' + keys = [ + 'members', + 'type' + ] + ######################################### # vrs structural variation (under active discussion) @@ -496,13 +513,14 @@ class Adjacency(_VariationBase): adjoinedSequences: List[Union[IRI, SequenceLocation]] = Field( ..., description="The terminal sequence or pair of adjoined sequences that defines in the adjacency.", - min_length=1, + min_length=2, max_length=2, ) - linker: Optional[Union[LiteralSequenceExpression, ReferenceLengthExpression]] = Field( + linker: Optional[Union[LiteralSequenceExpression, ReferenceLengthExpression, LengthExpression]] = Field( None, - description="he sequence found between adjoined sequences." + description="The sequence found between adjoined sequences." ) + homology: Optional[bool] = Field(None, description="A flag indicating if coordinate ambiguity in the adjoined sequences is from sequence homology (true) or other uncertainty (false).") class ga4gh(_Ga4ghIdentifiableObject.ga4gh): prefix = 'AJ' @@ -513,52 +531,48 @@ class ga4gh(_Ga4ghIdentifiableObject.ga4gh): ] -######################################### -# vrs molecular variation -######################################### - - -class Allele(_VariationBase): - """The state of a molecule at a Location.""" +class SequenceTerminus(_VariationBase): + """The `SequenceTerminus` data class provides a structure for describing the end + (terminus) of a sequence. Structurally similar to Adjacency but the linker sequence + is not allowed and it removes the unnecessary array structure. + """ - type: Literal['Allele'] = Field('Allele', description='MUST be "Allele"') - location: Union[IRI, SequenceLocation] = Field( - ..., description='The location of the Allele' - ) - state: Union[LiteralSequenceExpression, ReferenceLengthExpression] = Field( - ..., description='An expression of the sequence state' + model_config = ConfigDict( + use_enum_values=True ) + type: Literal["SequenceTerminus"] = Field("SequenceTerminus", description='MUST be "SequenceTerminus"') + location: Union[IRI, SequenceLocation] = Field(..., description="The location of the terminus.") + class ga4gh(_Ga4ghIdentifiableObject.ga4gh): - prefix = 'VA' + prefix = "SQX" keys = [ - 'location', - 'state', - 'type' + "location", + "type" ] -class Haplotype(_VariationBase): - """An ordered set of co-occurring Variation on the same molecule.""" +class DerivativeSequence(_VariationBase): + """The "Derivative Sequence" data class is a structure for describing a derivate + sequence composed from multiple sequence adjacencies. + """ - type: Literal['Haplotype'] = Field('Haplotype', description='MUST be "Haplotype"') - members: List[Union[Adjacency, Allele, IRI]] = Field( - ..., - description='A list of Alleles and Adjacencies that comprise a Haplotype. Members must share the same reference sequence as adjacent members. Alleles should not have overlapping or adjacent coordinates with neighboring Alleles. Neighboring alleles should be ordered by ascending coordinates, unless represented on a DNA inversion (following an Adjacency with end-defined adjoinedSequences), in which case they should be ordered in descending coordinates. Sequence references MUST be consistent for all members between and including the end of one Adjacency and the beginning of another.', - min_length=2, + model_config = ConfigDict( + use_enum_values=True ) - @model_serializer(when_used='json') - def ga4gh_serialize(self) -> Dict: - out = _ValueObject.ga4gh_serialize(self) - out['members'] = sorted(out['members']) - return out + type: Literal["DerivativeSequence"] = Field("DerivativeSequence", description='MUST be "DerivativeSequence"') + components: Optional[List[Union[IRI, Adjacency, SequenceTerminus, CisPhasedBlock]]] = Field( + ..., + description="The sequence components that make up the derivative sequence.", + min_length=2 + ) class ga4gh(_Ga4ghIdentifiableObject.ga4gh): - prefix = 'HT' + prefix = "DSQ" keys = [ - 'members', - 'type' + "components", + "type" ] @@ -624,22 +638,22 @@ class ga4gh(_Ga4ghIdentifiableObject.ga4gh): class MolecularVariation(RootModel): - """A variation on a contiguous molecule.""" + """A `variation` on a contiguous molecule.""" - root: Union[Allele, Haplotype] = Field( + root: Union[Allele, CisPhasedBlock, Adjacency, SequenceTerminus, DerivativeSequence] = Field( ..., json_schema_extra={ - 'description': 'A variation on a contiguous molecule.' + 'description': 'A `variation` on a contiguous molecule.' }, discriminator='type' ) class SequenceExpression(RootModel): - """An expression describing a Sequence.""" + """An expression describing a `Sequence`.""" - root: Union[LiteralSequenceExpression, ReferenceLengthExpression] = Field( + root: Union[LiteralSequenceExpression, ReferenceLengthExpression, LengthExpression] = Field( ..., - json_schema_extra={'description': 'An expression describing a Sequence.'}, + json_schema_extra={'description': 'An expression describing a `Sequence`.'}, discriminator='type' ) @@ -659,7 +673,7 @@ class Location(RootModel): class Variation(RootModel): """A representation of the state of one or more biomolecules.""" - root: Union[Allele, CopyNumberChange, CopyNumberCount, Haplotype] = Field( + root: Union[Allele, CisPhasedBlock, Adjacency, SequenceTerminus, CopyNumberChange, CopyNumberCount] = Field( ..., json_schema_extra={ 'description': 'A representation of the state of one or more biomolecules.' diff --git a/src/ga4gh/vrs/normalize.py b/src/ga4gh/vrs/normalize.py index 4c0eac6f..33dc70a5 100644 --- a/src/ga4gh/vrs/normalize.py +++ b/src/ga4gh/vrs/normalize.py @@ -257,7 +257,7 @@ def _is_valid_cycle(template_start, template, target): # TODO _normalize_genotype? -def _normalize_haplotype(o, data_proxy=None): +def _normalize_cis_phased_block(o, data_proxy=None): o.members = sorted(o.members, key=ga4gh_digest) return o @@ -265,7 +265,7 @@ def _normalize_haplotype(o, data_proxy=None): handlers = { "Allele": _normalize_allele, - "Haplotype": _normalize_haplotype, + "CisPhasedBlock": _normalize_cis_phased_block, } diff --git a/submodules/vrs b/submodules/vrs index 454c5312..4d466d06 160000 --- a/submodules/vrs +++ b/submodules/vrs @@ -1 +1 @@ -Subproject commit 454c5312e8e425eb170901c7520311f3ca7904e3 +Subproject commit 4d466d0628152622ec47b75a41c87e741cd50d38 diff --git a/tests/extras/data/test_vcf_expected_altsonly_output.vcf.gz b/tests/extras/data/test_vcf_expected_altsonly_output.vcf.gz index 5f82490d998252991604e4c1f1f4a637ad0bf57b..2b5ac8bff1f30474e86436ebbe1586eb7ef04190 100644 GIT binary patch literal 4437 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 b*{J|Qb!IyFwjV8f&8Yf+CW5HVX>R}ku2q#p literal 4440 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 delta 4646 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≶cXS^g4;=T8shp2$a?%PFzAnenUSar(2J9j<6P@Xu_1O~xHY4=I0C z32Hfq>OoS*pbsZRY=~?@CqoERRPHwZY1UDhZc%xA1xTx;tzYxeDhqce@7or8TRr`E zE&cXi$(cK(_#&BVTkGt9N0l!3)Y;9Uw`ju3?!i|NuLO@xLW#>rQ>_EdFE0weEUNeO z!Rt%%{&GfEm!#)kj3;OF4=Z-oj@f?!8x757NySt73lHdPZoh7KPHs;xNByUhnOt8y z^3#K>`##mFxS+^3*Lgu_FKddYYyKwvq-39#@Qw_AGv=#oA|GKWuN!N9iyw>hZ z{Kd#W4saLqR`0Jiihb0tJ}QGC=QbJ!LPq>rrUq{FV->g zssBgzL{zj6$HrH;7k-aN)V8vvSlhh%i%EZKCe>+Me|1ME_KiHgz46YH=s6zB&hjA& zPOiIW-C5i&mF>gl`G|>GvUq(*p`ZNx>-*`|F&lIz7pLLF>ciS>ZfhG*gPX-S&8oI3 c-k8NV&1&1&{(8x+=j8tZxKQ`JqH^UE*ea2AZ? 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 b{`S*H_2pFeZ<~8RPNV+-Pp0<||7-vNr_{2V delta 4484 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 W@IL;$Z0>$Pjs62}-Kxs}Yybc;#HQQ; diff --git a/tests/extras/test_allele_translator.py b/tests/extras/test_allele_translator.py index 233753f4..d86bc483 100644 --- a/tests/extras/test_allele_translator.py +++ b/tests/extras/test_allele_translator.py @@ -299,11 +299,11 @@ def test_to_spdi(tlr): hgvs_tests = ( ("NC_000013.11:g.32936732=", - {'digest': 'GJ2JySBMXePcV2yItyvCfbGBUoawOBON', - 'id': 'ga4gh:VA.GJ2JySBMXePcV2yItyvCfbGBUoawOBON', - 'location': {'digest': '28YsnRvD40gKu1x3nev0gRzRz-5OTlpS', + {'digest': '-cLljG5TYWqCd93RA4N96-vOwqFEa4td', + 'id': 'ga4gh:VA.-cLljG5TYWqCd93RA4N96-vOwqFEa4td', + 'location': {'digest': 'TuHynM6zmcsDR8y0-fSw-YmzcjRCxeG3', 'end': 32936732, - 'id': 'ga4gh:SL.28YsnRvD40gKu1x3nev0gRzRz-5OTlpS', + 'id': 'ga4gh:SL.TuHynM6zmcsDR8y0-fSw-YmzcjRCxeG3', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32936731, @@ -311,11 +311,11 @@ def test_to_spdi(tlr): 'state': {'sequence': 'C', 'type': 'LiteralSequenceExpression'}, 'type': 'Allele'}), ("NC_000007.14:g.55181320A>T", - {'digest': 'Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE', - 'id': 'ga4gh:VA.Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE', - 'location': {'digest': '_G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd', + {'digest': '3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG', + 'id': 'ga4gh:VA.3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG', + 'location': {'digest': '2bggIw-5f9iwF4rvLi72l6r1yYfu8FqN', 'end': 55181320, - 'id': 'ga4gh:SL._G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd', + 'id': 'ga4gh:SL.2bggIw-5f9iwF4rvLi72l6r1yYfu8FqN', 'sequenceReference': {'refgetAccession': 'SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul', 'type': 'SequenceReference'}, 'start': 55181319, @@ -323,11 +323,11 @@ def test_to_spdi(tlr): 'state': {'sequence': 'T', 'type': 'LiteralSequenceExpression'}, 'type': 'Allele'}), ("NC_000007.14:g.55181220del", - {'digest': 'klRMVChjvV73ZxS9Ajq1Rb8WU-p_HbLu', - 'id': 'ga4gh:VA.klRMVChjvV73ZxS9Ajq1Rb8WU-p_HbLu', - 'location': {'digest': 'ljan7F0ePe9uiD6f2u80ZG5gDtx9Mr0V', + {'digest': 'XQ4RAKBmuJ7_9kZn8cVZuCfnRyf1XT5l', + 'id': 'ga4gh:VA.XQ4RAKBmuJ7_9kZn8cVZuCfnRyf1XT5l', + 'location': {'digest': 'xOutEZEqIqM5aiyxRosUbqU4k_T_TFMJ', 'end': 55181220, - 'id': 'ga4gh:SL.ljan7F0ePe9uiD6f2u80ZG5gDtx9Mr0V', + 'id': 'ga4gh:SL.xOutEZEqIqM5aiyxRosUbqU4k_T_TFMJ', 'sequenceReference': {'refgetAccession': 'SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul', 'type': 'SequenceReference'}, 'start': 55181219, @@ -338,11 +338,11 @@ def test_to_spdi(tlr): 'type': 'ReferenceLengthExpression'}, 'type': 'Allele'}), ("NC_000007.14:g.55181230_55181231insGGCT", - {'digest': 'CLOvnFRJXGNRB9aTuNbvsLqc7syRYb55', - 'id': 'ga4gh:VA.CLOvnFRJXGNRB9aTuNbvsLqc7syRYb55', - 'location': {'digest': 'lh4dRt_xWPi3wrubcfomi5DkD7fu6wd2', + {'digest': 'dRaBBdOyTIXocW8VI3Mit-2sd8i_8boB', + 'id': 'ga4gh:VA.dRaBBdOyTIXocW8VI3Mit-2sd8i_8boB', + 'location': {'digest': '4NuqFL9CfNJYaGDm8w1sRwgtA1xmRjtI', 'end': 55181230, - 'id': 'ga4gh:SL.lh4dRt_xWPi3wrubcfomi5DkD7fu6wd2', + 'id': 'ga4gh:SL.4NuqFL9CfNJYaGDm8w1sRwgtA1xmRjtI', 'sequenceReference': {'refgetAccession': 'SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul', 'type': 'SequenceReference'}, 'start': 55181230, @@ -350,11 +350,11 @@ def test_to_spdi(tlr): 'state': {'sequence': 'GGCT', 'type': 'LiteralSequenceExpression'}, 'type': 'Allele'}), ("NC_000013.11:g.32331093_32331094dup", - {'digest': 'swY2caCgv1kP6YqKyPlcEzJqTvou15vC', - 'id': 'ga4gh:VA.swY2caCgv1kP6YqKyPlcEzJqTvou15vC', - 'location': {'digest': 'ikECYncPpE1xh6f_LiComrFGevocjDHQ', + {'digest': 'l1nH86rNZdttKnIXCLI07nwsKgQcx7fN', + 'id': 'ga4gh:VA.l1nH86rNZdttKnIXCLI07nwsKgQcx7fN', + 'location': {'digest': 'COO3ttNK0xDrcl4JffJM6627gBPqDYlS', 'end': 32331094, - 'id': 'ga4gh:SL.ikECYncPpE1xh6f_LiComrFGevocjDHQ', + 'id': 'ga4gh:SL.COO3ttNK0xDrcl4JffJM6627gBPqDYlS', 'sequenceReference': { 'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, @@ -366,11 +366,11 @@ def test_to_spdi(tlr): 'type': 'ReferenceLengthExpression'}, 'type': 'Allele'}), ("NC_000013.11:g.32316467dup", - {'digest': '96ak7XdY3DNbp71aHEXw-NHSfeHGW-KT', - 'id': 'ga4gh:VA.96ak7XdY3DNbp71aHEXw-NHSfeHGW-KT', - 'location': {'digest': 'fwfHu8VaD2-6Qvay9MJSINXPS767RYSw', + {'digest': '36x6SppvDxqMlbhASszAb2GJLuH2Rs3V', + 'id': 'ga4gh:VA.36x6SppvDxqMlbhASszAb2GJLuH2Rs3V', + 'location': {'digest': 'lqPu27C6JHLezeGZf1uABOegBFZ_hdLm', 'end': 32316467, - 'id': 'ga4gh:SL.fwfHu8VaD2-6Qvay9MJSINXPS767RYSw', + 'id': 'ga4gh:SL.lqPu27C6JHLezeGZf1uABOegBFZ_hdLm', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32316466, @@ -381,11 +381,11 @@ def test_to_spdi(tlr): 'type': 'ReferenceLengthExpression'}, 'type': 'Allele'}), ("NM_001331029.1:c.722A>G", - {'digest': 'DPe4AO-S0Yu4wzSCmys7eGn4p4sO0zaC', - 'id': 'ga4gh:VA.DPe4AO-S0Yu4wzSCmys7eGn4p4sO0zaC', - 'location': {'digest': '7hcVmPnIspQNDfZKBzRJFc8K9GaJuAlY', + {'digest': 'Vp6x5mYArFwQ4r9HjJOdQglBKZTi4NlA', + 'id': 'ga4gh:VA.Vp6x5mYArFwQ4r9HjJOdQglBKZTi4NlA', + 'location': {'digest': 'vAHDB-dl40GjaAF4cqQCJv6ZZjTxe5x9', 'end': 872, - 'id': 'ga4gh:SL.7hcVmPnIspQNDfZKBzRJFc8K9GaJuAlY', + 'id': 'ga4gh:SL.vAHDB-dl40GjaAF4cqQCJv6ZZjTxe5x9', 'sequenceReference': {'refgetAccession': 'SQ.MBIgVnoHFw34aFqNUVGM0zgjC3d-v8dK', 'type': 'SequenceReference'}, 'start': 871, @@ -393,11 +393,11 @@ def test_to_spdi(tlr): 'state': {'sequence': 'G', 'type': 'LiteralSequenceExpression'}, 'type': 'Allele'}), ("NM_181798.1:c.1007G>T", - {'digest': 'vSL4aV7mPQKQLX7Jk-PmXN0APs0cBIr9', - 'id': 'ga4gh:VA.vSL4aV7mPQKQLX7Jk-PmXN0APs0cBIr9', - 'location': {'digest': 'EtvHvoj1Lsq-RruzIzWbKOIAW-bt193w', + {'digest': 'X-LYoHVJsGfZRJEu0lNTIWEnQj7wDHbY', + 'id': 'ga4gh:VA.X-LYoHVJsGfZRJEu0lNTIWEnQj7wDHbY', + 'location': {'digest': 'QQuQuigsRjstjso0pJxjHsmAWj7HH3Ri', 'end': 1263, - 'id': 'ga4gh:SL.EtvHvoj1Lsq-RruzIzWbKOIAW-bt193w', + 'id': 'ga4gh:SL.QQuQuigsRjstjso0pJxjHsmAWj7HH3Ri', 'sequenceReference': {'refgetAccession': 'SQ.KN07u-RFqd1dTyOWOG98HnOq87Nq-ZIg', 'type': 'SequenceReference'}, 'start': 1262, @@ -405,12 +405,12 @@ def test_to_spdi(tlr): 'state': {'sequence': 'T', 'type': 'LiteralSequenceExpression'}, 'type': 'Allele'}), ("NC_000019.10:g.289464_289465insCACA", - {'digest': 'YFUR4oR_84b-rRFf0UzOjfI4eE5FTKAP', - 'id': 'ga4gh:VA.YFUR4oR_84b-rRFf0UzOjfI4eE5FTKAP', + {'digest': '6OwXJMpBIWbf74iPWCtVCOwo_enN6m4i', + 'id': 'ga4gh:VA.6OwXJMpBIWbf74iPWCtVCOwo_enN6m4i', 'type': 'Allele', - 'location': {'digest': 'L145KFLJeJ334YnOVm59pPlbdqfHhgXZ', + 'location': {'digest': '8JGabe4xE_MSkbvgDgt-fDDe1ZRUHwmW', 'end': 289466, - 'id': 'ga4gh:SL.L145KFLJeJ334YnOVm59pPlbdqfHhgXZ', + 'id': 'ga4gh:SL.8JGabe4xE_MSkbvgDgt-fDDe1ZRUHwmW', 'sequenceReference': {'refgetAccession': 'SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl', 'type': 'SequenceReference'}, 'start': 289464, @@ -420,12 +420,12 @@ def test_to_spdi(tlr): 'sequence': 'CACACA', 'type': 'ReferenceLengthExpression'}}), ("NC_000019.10:g.289485_289500del", - {'digest': 'Djc_SwVDFunsArqwUM00PciVaF70VTcU', - 'id': 'ga4gh:VA.Djc_SwVDFunsArqwUM00PciVaF70VTcU', + {'digest': 'ErFkwlS8QHh39d-11w5H4ZfpUYqsmYpP', + 'id': 'ga4gh:VA.ErFkwlS8QHh39d-11w5H4ZfpUYqsmYpP', 'type': 'Allele', - 'location': {'digest': 'WTE7jyihK4qvRRzEqM7u5nSD4iS2k3xp', + 'location': {'digest': 'ae5yW2CjpN9Kp87lSOJfCiKdqgLffQGC', 'end': 289501, - 'id': 'ga4gh:SL.WTE7jyihK4qvRRzEqM7u5nSD4iS2k3xp', + 'id': 'ga4gh:SL.ae5yW2CjpN9Kp87lSOJfCiKdqgLffQGC', 'sequenceReference': {'refgetAccession': 'SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl', 'type': 'SequenceReference'}, 'start': 289480, @@ -459,11 +459,11 @@ def test_rle_seq_limit(tlr): tlr.identify = True a_dict = { - 'digest': 'j7qUzb1uvmdxLAbtdCPiay4kIRQmyZNv', - 'id': 'ga4gh:VA.j7qUzb1uvmdxLAbtdCPiay4kIRQmyZNv', - 'location': {'digest': '88oOqkUgALP7fnN8P8lbvCosFhG8YpY0', + 'digest': 'fbampKGajBnl4Y4zDEdyxSNOv0YNxRwi', + 'id': 'ga4gh:VA.fbampKGajBnl4Y4zDEdyxSNOv0YNxRwi', + 'location': {'digest': 'TB4zf8bjiqL1kMTFiUjBu9hp-95XH9_S', 'end': 32331094, - 'id': 'ga4gh:SL.88oOqkUgALP7fnN8P8lbvCosFhG8YpY0', + 'id': 'ga4gh:SL.TB4zf8bjiqL1kMTFiUjBu9hp-95XH9_S', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32331042, diff --git a/tests/extras/test_cnv_translator.py b/tests/extras/test_cnv_translator.py index edb553d7..6f513680 100644 --- a/tests/extras/test_cnv_translator.py +++ b/tests/extras/test_cnv_translator.py @@ -17,11 +17,11 @@ def tlr(rest_dataproxy): from_hgvs_cx_tests = ( ("NC_000013.11:g.26440969_26443305del", models.CopyChange.EFO_0030069, {'copyChange': 'efo:0030069', - 'digest': 'TvAhuGK6HYf53mXoUnon60cZ7DC_UgM3', - 'id': 'ga4gh:CX.TvAhuGK6HYf53mXoUnon60cZ7DC_UgM3', - 'location': {'digest': '4akcjXlbAu4xBKnxjOL_b4DM_20HOCA3', + 'digest': '5Zm6EIFzBHpoRpeMTKAiDlxEGmF_Cq3I', + 'id': 'ga4gh:CX.5Zm6EIFzBHpoRpeMTKAiDlxEGmF_Cq3I', + 'location': {'digest': 'CO7rlO4O2Dlsxw0KnNw4kmrJwwFXgOcj', 'end': 26443305, - 'id': 'ga4gh:SL.4akcjXlbAu4xBKnxjOL_b4DM_20HOCA3', + 'id': 'ga4gh:SL.CO7rlO4O2Dlsxw0KnNw4kmrJwwFXgOcj', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 26440968, @@ -29,11 +29,11 @@ def tlr(rest_dataproxy): 'type': 'CopyNumberChange'}), ("NC_000013.11:g.32379315_32379819del", None, {'copyChange': 'efo:0030067', - 'digest': 'K1J2muiVvrDWqKnd5cMpFbTP0eJUfeuE', - 'id': 'ga4gh:CX.K1J2muiVvrDWqKnd5cMpFbTP0eJUfeuE', - 'location': {'digest': '_TUGA9kX6JKdXzUklgN2zWkOvNu5pNmV', + 'digest': '2LU_BbNdXeQf8sMAWaYOXX2_wTtywgr1', + 'id': 'ga4gh:CX.2LU_BbNdXeQf8sMAWaYOXX2_wTtywgr1', + 'location': {'digest': 'FX6u3sfgZSBh3H21T__fINBpZ3N6itPD', 'end': 32379819, - 'id': 'ga4gh:SL._TUGA9kX6JKdXzUklgN2zWkOvNu5pNmV', + 'id': 'ga4gh:SL.FX6u3sfgZSBh3H21T__fINBpZ3N6itPD', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32379314, @@ -42,11 +42,11 @@ def tlr(rest_dataproxy): ), ("NC_000013.11:g.32332787_32333388dup", models.CopyChange.EFO_0030071, {'copyChange': 'efo:0030071', - 'digest': '5gODsVN83N1fe9Lc_Octy5rBlkYl8pGU', - 'id': 'ga4gh:CX.5gODsVN83N1fe9Lc_Octy5rBlkYl8pGU', - 'location': {'digest': 'UOA3zJOPfQxxRord_7pBkoMBpt46xcQq', + 'digest': '0bOGlWb3yHF4Pl0JdrehXrwxhlIeGWyb', + 'id': 'ga4gh:CX.0bOGlWb3yHF4Pl0JdrehXrwxhlIeGWyb', + 'location': {'digest': 'Da2mvtG6UDi5DTIslWRZ0dzlxKqfRuQ7', 'end': 32333388, - 'id': 'ga4gh:SL.UOA3zJOPfQxxRord_7pBkoMBpt46xcQq', + 'id': 'ga4gh:SL.Da2mvtG6UDi5DTIslWRZ0dzlxKqfRuQ7', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32332786, @@ -55,11 +55,11 @@ def tlr(rest_dataproxy): ), ("NC_000013.11:g.32344743_32352093dup", None, {'copyChange': 'efo:0030070', - 'digest': '-sUe85R9UC_RxX7e_B1YsmsdyLsGvvmq', - 'id': 'ga4gh:CX.-sUe85R9UC_RxX7e_B1YsmsdyLsGvvmq', - 'location': {'digest': '17-a6p7m6QznwxZyVz2QdA9oPf5jTCyT', + 'digest': '9ayJB8XFftenknAHA1yaPGB2v-J-bdNo', + 'id': 'ga4gh:CX.9ayJB8XFftenknAHA1yaPGB2v-J-bdNo', + 'location': {'digest': '8mY-AOOgME6kJxYgIKaMUPj6s1k55bMX', 'end': 32352093, - 'id': 'ga4gh:SL.17-a6p7m6QznwxZyVz2QdA9oPf5jTCyT', + 'id': 'ga4gh:SL.8mY-AOOgME6kJxYgIKaMUPj6s1k55bMX', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32344742, @@ -80,11 +80,11 @@ def test_from_hgvs_cx(tlr, hgvsexpr ,copy_change, expected): from_hgvs_cn_tests = ( ("NC_000013.11:g.26440969_26443305del", 1, {'copies': 1, - 'digest': 'QnU97C-cRW431O9qWia9UCVRBDvGDH7I', - 'id': 'ga4gh:CN.QnU97C-cRW431O9qWia9UCVRBDvGDH7I', - 'location': {'digest': '4akcjXlbAu4xBKnxjOL_b4DM_20HOCA3', + 'digest': '3wzMLF_0TdEadCyazYu39NtXu8UyGUsr', + 'id': 'ga4gh:CN.3wzMLF_0TdEadCyazYu39NtXu8UyGUsr', + 'location': {'digest': 'CO7rlO4O2Dlsxw0KnNw4kmrJwwFXgOcj', 'end': 26443305, - 'id': 'ga4gh:SL.4akcjXlbAu4xBKnxjOL_b4DM_20HOCA3', + 'id': 'ga4gh:SL.CO7rlO4O2Dlsxw0KnNw4kmrJwwFXgOcj', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 26440968, @@ -93,11 +93,11 @@ def test_from_hgvs_cx(tlr, hgvsexpr ,copy_change, expected): ), ("NC_000013.11:g.32332787_32333388dup", 2, {'copies': 2, - 'digest': 'a3aEKSzI46jK7_HRSpGNDap6Z1j_7kMM', - 'id': 'ga4gh:CN.a3aEKSzI46jK7_HRSpGNDap6Z1j_7kMM', - 'location': {'digest': 'UOA3zJOPfQxxRord_7pBkoMBpt46xcQq', + 'digest': 'VK-0Kj1sZ0KNbkRVRW23N6FPjimIsUd9', + 'id': 'ga4gh:CN.VK-0Kj1sZ0KNbkRVRW23N6FPjimIsUd9', + 'location': {'digest': 'Da2mvtG6UDi5DTIslWRZ0dzlxKqfRuQ7', 'end': 32333388, - 'id': 'ga4gh:SL.UOA3zJOPfQxxRord_7pBkoMBpt46xcQq', + 'id': 'ga4gh:SL.Da2mvtG6UDi5DTIslWRZ0dzlxKqfRuQ7', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32332786, diff --git a/tests/test_vrs.py b/tests/test_vrs.py index d3a7a41f..b8e5fedf 100644 --- a/tests/test_vrs.py +++ b/tests/test_vrs.py @@ -1,5 +1,18 @@ -from ga4gh.core import sha512t24u, ga4gh_digest, ga4gh_serialize, ga4gh_identify, is_pydantic_instance -from ga4gh.vrs import models, vrs_deref, vrs_enref +from pydantic import ValidationError +import pytest + +from ga4gh.core import ( + sha512t24u, + ga4gh_digest, + ga4gh_serialize, + ga4gh_identify, + is_pydantic_instance, + is_curie_type, + pydantic_copy, + use_ga4gh_compute_identifier_when, + VrsObjectIdentifierIs +) +from ga4gh.vrs import models, vrs_enref, vrs_deref allele_dict = { 'location': { @@ -20,46 +33,324 @@ a = models.Allele(**allele_dict) +allele_383650_dict = { + "type": "Allele", + "location": { + "type": "SequenceLocation", + "sequenceReference": { + "type": "SequenceReference", + "refgetAccession": "SQ.KEO-4XBcm1cxeo_DIQ8_ofqGUkp4iZhI" + }, + "start": 128325834, + "end": 128325835 + }, + "state": { + "type": "LiteralSequenceExpression", + "sequence": "T" + } +} +allele_417816_dict = { + "type": "Allele", + "location": { + "type": "SequenceLocation", + "sequenceReference": { + "type": "SequenceReference", + "refgetAccession": "SQ.KEO-4XBcm1cxeo_DIQ8_ofqGUkp4iZhI" + }, + "start": 128325809, + "end": 128325810 + }, + "state": { + "type": "LiteralSequenceExpression", + "sequence": "T" + } +} +allele_280320_dict = { + "type": "Allele", + "location": { + "type": "SequenceLocation", + "sequenceReference": { + "type": "SequenceReference", + "refgetAccession": "SQ.KEO-4XBcm1cxeo_DIQ8_ofqGUkp4iZhI" + }, + "start": 128322879, + "end": 128322891 + }, + "state": { + "type": "LiteralSequenceExpression", + "sequence": "G" + } +} +allele_383650 = models.Allele(**allele_383650_dict) +allele_417816 = models.Allele(**allele_417816_dict) +allele_280320 = models.Allele(**allele_280320_dict) -def test_vr(): +cpb_431012_dict = { + "type": "CisPhasedBlock", + "members": [allele_383650_dict, allele_417816_dict] +} +cpb_431012 = models.CisPhasedBlock(**cpb_431012_dict) - # assert a.model_dump() == allele_dict # TODO with model_config['extra'] == allow this assertion will always fail +def test_vr(): + assert a.model_dump(exclude_none=True) == allele_dict + assert is_pydantic_instance(a) assert is_pydantic_instance(a.location) + assert is_pydantic_instance(a.location.sequenceReference) + + # Sequence Reference + seqref = a.location.sequenceReference + seqref_serialized = ga4gh_serialize(seqref) + assert seqref_serialized == b'{"refgetAccession":"SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul"}' + assert ga4gh_digest(seqref) is None + assert ga4gh_identify(seqref) is None + + # Location + loc = a.location + loc_serialized = ga4gh_serialize(loc) + assert loc_serialized == b'{"end":55181320,"sequenceReference":{"refgetAccession":"SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul"},"start":55181319,"type":"SequenceLocation"}' + assert sha512t24u(loc_serialized) == '2bggIw-5f9iwF4rvLi72l6r1yYfu8FqN' + assert ga4gh_digest(loc) == '2bggIw-5f9iwF4rvLi72l6r1yYfu8FqN' + assert ga4gh_identify(loc) == 'ga4gh:SL.2bggIw-5f9iwF4rvLi72l6r1yYfu8FqN' + + # Allele + allele_serialized = ga4gh_serialize(a) + assert allele_serialized == b'{"location":"2bggIw-5f9iwF4rvLi72l6r1yYfu8FqN","state":{"sequence":"T","type":"LiteralSequenceExpression"},"type":"Allele"}' + assert sha512t24u(allele_serialized) == '3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG' + assert ga4gh_digest(a) == '3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG' + assert ga4gh_identify(a) == 'ga4gh:VA.3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG' + + with pytest.raises(ValidationError): + models.Allele(**{ + "type": "Allele", + "location": { + "type": "SequenceLocation", + "sequenceReference": { + "type": "SequenceReference", + # refgetAccession can't include a namespace prefix + "refgetAccession": "ga4gh:SQ.KEO-4XBcm1cxeo_DIQ8_ofqGUkp4iZhI" + }, + "start": 128325834, + "end": 128325835 + }, + "state": { + "type": "LiteralSequenceExpression", + "sequence": "T" + } + }) + with pytest.raises(ValidationError): + models.Allele(**{ + "type": "Allele", + "location": { + "type": "SequenceLocation", + "sequenceReference": { + "type": "SequenceReference", + "refgetAccession": "SQ.KEO-4XBcm1cxeo_DIQ8_ofqGUkp4iZhI" + }, + "start": 128325834, + "end": 128325835 + }, + "state": { + "type": "LiteralSequenceExpression", + "sequence": "T" + }, + # digest can't include a namespace prefix + "digest": "ga4gh:734G5mtNwe40do8F6GKuqQP4QxyjBqVp" + }) + + +def test_cpb(): + assert cpb_431012.model_dump(exclude_none=True) == cpb_431012_dict + assert is_pydantic_instance(cpb_431012) + cpb_serialized = ga4gh_serialize(cpb_431012) + assert cpb_serialized == b'{"members":["NnK--c7SIbZvcnAgkPjlH2Iszl4IkbjT","qlCSPm6oakAob8jw9BoExi8In5AmsF-0"],"type":"CisPhasedBlock"}' + assert sha512t24u(cpb_serialized) == 'Qx631LTg7-7Jdfo0hLeuCW9ylprE2qPM' + assert ga4gh_digest(cpb_431012) == 'Qx631LTg7-7Jdfo0hLeuCW9ylprE2qPM' + assert ga4gh_identify(cpb_431012) == 'ga4gh:CPB.Qx631LTg7-7Jdfo0hLeuCW9ylprE2qPM' + + +def test_ga4gh_iri(): + iri = models.IRI.model_construct("ga4gh:VA.3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG") + assert is_curie_type(iri) + assert iri.root == pydantic_copy(iri).root + assert ga4gh_serialize(iri) == b'"3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG"' + + +def test_enref(): + object_store = {} + allele_383650.get_or_create_ga4gh_identifier() + allele_383650_enreffed = vrs_enref(allele_383650, object_store=object_store) + orig_no_loc = allele_383650.model_dump().copy() + orig_no_loc.pop("location") + actual_no_loc = allele_383650_enreffed.model_dump().copy() + actual_no_loc.pop("location") + assert actual_no_loc == orig_no_loc, "Original and enreffed match except for enreffed field" + assert allele_383650_enreffed.location == 'ga4gh:SL.-9ppL7WzaMWrHwFZv9edFWW_H523sPnX' + assert (allele_383650_enreffed.model_dump(exclude_none=True) == { + 'digest': 'qlCSPm6oakAob8jw9BoExi8In5AmsF-0', + 'id': 'ga4gh:VA.qlCSPm6oakAob8jw9BoExi8In5AmsF-0', + 'type': 'Allele', + 'location': 'ga4gh:SL.-9ppL7WzaMWrHwFZv9edFWW_H523sPnX', + 'state': { + 'type': 'LiteralSequenceExpression', + 'sequence': 'T'}}) + + + dereffed = vrs_deref(allele_383650_enreffed, object_store=object_store) + assert (dereffed.location.model_dump(exclude_none=True) == { + 'digest': '-9ppL7WzaMWrHwFZv9edFWW_H523sPnX', + 'id': 'ga4gh:SL.-9ppL7WzaMWrHwFZv9edFWW_H523sPnX', + 'type': 'SequenceLocation', + 'sequenceReference': { + 'type': 'SequenceReference', + 'refgetAccession': 'SQ.KEO-4XBcm1cxeo_DIQ8_ofqGUkp4iZhI' + }, + 'start': 128325834, + 'end': 128325835}) + dereffed.location.id = None + assert dereffed.location.model_dump(exclude_none=True) == allele_383650.location.model_dump(exclude_none=True) + assert dereffed.model_dump() == allele_383650.model_dump() + + +def test_enref2(): + object_store = {} + a = { + "type": "Allele", + "id": "ga4gh:VA.LDzK5JahEZG2Ua_5itDtVV8v3O1ptTgI", + "digest": "LDzK5JahEZG2Ua_5itDtVV8v3O1ptTgI", + "location": { + "id": "ga4gh:SL.wIlaGykfwHIpPY2Fcxtbx4TINbbODFVz", + "digest": "wIlaGykfwHIpPY2Fcxtbx4TINbbODFVz", + "type": "SequenceLocation", + "sequenceReference": { + "type": "SequenceReference", + "refgetAccession": "SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl" + }, + "start": 44908821, + "end": 44908822 + }, + "state": { + "type": "LiteralSequenceExpression", + "sequence": "T" + } + } + vo_a = models.Allele(**a) + a_enreffed = vrs_enref(vo_a, object_store=object_store) + orig_no_loc = vo_a.model_dump().copy() + orig_no_loc.pop("location") + actual_no_loc = a_enreffed.model_dump().copy() + actual_no_loc.pop("location") + assert orig_no_loc == actual_no_loc, "Original and enreffed match except for enreffed field" + assert a_enreffed.location == 'ga4gh:SL.wIlaGykfwHIpPY2Fcxtbx4TINbbODFVz' + assert a_enreffed.model_dump(exclude_none=True) == { + 'id': 'ga4gh:VA.LDzK5JahEZG2Ua_5itDtVV8v3O1ptTgI', + 'digest': 'LDzK5JahEZG2Ua_5itDtVV8v3O1ptTgI', + 'type': 'Allele', + 'location': 'ga4gh:SL.wIlaGykfwHIpPY2Fcxtbx4TINbbODFVz', + 'state': { + 'type': 'LiteralSequenceExpression', + 'sequence': 'T' + } + } + + +def test_class_refatt_map(): + class_refatt_map_expected = { + 'Allele': ['location'], + 'CisPhasedBlock': ['members'], + '_CopyNumber': ['location'], + 'CopyNumberCount': ['location'], + 'CopyNumberChange': ['location'], + 'Adjacency': ['adjoinedSequences'], + 'DerivativeSequence': ['components'], + 'SequenceTerminus': ['location'] + } + assert class_refatt_map_expected == models.class_refatt_map + + +def test_compute_identifiers_when(): + a = { + "type": "Allele", + "location": { + "type": "SequenceLocation", + "sequenceReference": { + "type": "SequenceReference", + "refgetAccession": "SQ.jdEWLvLvT8827O59m1Agh5H3n6kTzBsJ", + }, + "start": 44908821, + "end": 44908822, + }, + "state": {"type": "LiteralSequenceExpression", "sequence": "T"}, + } + correct_id = "ga4gh:VA.Yej0kQTGuatF6tXLAarhWzzHqC6VupfN" + syntax_valid_id = "ga4gh:VA.39eae078d9bb30da2a5c5d1969cb1472" + syntax_invalid_id = "ga4gh:12345" + + # when id property is missing + vo_a = models.Allele(**a) + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.ANY): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.GA4GH_INVALID): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.MISSING): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + + # when id property is none + a["id"] = None + vo_a = models.Allele(**a) + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.ANY): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.GA4GH_INVALID): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.MISSING): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + + # when id property is blank + a["id"] = "" + vo_a = models.Allele(**a) + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.ANY): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.GA4GH_INVALID): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.MISSING): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + + # when id property is syntactically invalid + a["id"] = syntax_invalid_id + vo_a = models.Allele(**a) + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.ANY): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.GA4GH_INVALID): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.MISSING): + assert ga4gh_identify(vo_a, in_place='never') == syntax_invalid_id + + # when id property is syntactically valid + a["id"] = syntax_valid_id + vo_a = models.Allele(**a) + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.ANY): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.GA4GH_INVALID): + assert ga4gh_identify(vo_a, in_place='never') == syntax_valid_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.MISSING): + assert ga4gh_identify(vo_a, in_place='never') == syntax_valid_id - assert ga4gh_serialize( - a.location - ) == b'{"end":55181320,"sequenceReference":{"refgetAccession":"SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul","type":"SequenceReference"},"start":55181319,"type":"SequenceLocation"}' - assert sha512t24u(ga4gh_serialize(a.location)) == '_G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd' - assert ga4gh_digest(a.location) == '_G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd' - assert ga4gh_identify(a.location) == 'ga4gh:SL._G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd' - - assert ga4gh_serialize( - a - ) == b'{"location":"_G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd","state":{"sequence":"T","type":"LiteralSequenceExpression"},"type":"Allele"}' - assert ga4gh_digest(a) == 'Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE' - assert ga4gh_identify(a) == 'ga4gh:VA.Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE' - - # assert a.model_dump(exclude_none=True) == { - # 'location': { - # 'end': 55181320, - # 'sequence': 'ga4gh:SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul', - # 'start': 55181319, - # 'type': 'SequenceLocation' - # }, - # 'state': { - # 'sequence': 'T', - # 'type': 'LiteralSequenceExpression' - # }, - # 'type': 'Allele' - # } - - # vros = {} - # a2 = vrs_enref(a, vros) - # assert ga4gh_identify(a) == ga4gh_identify(a2) - # assert a2.location == "ga4gh:SL.Npx4j5beiNN9GSFTm8Ml6YxrNj_Ghkac" - # assert a2.location in vros - # assert ga4gh_identify(a) in vros - # - # a3 = vrs_deref(a2, vros) - # assert a == a3 + # when id property is correct + a["id"] = correct_id + vo_a = models.Allele(**a) + assert ga4gh_identify(vo_a, in_place='never') == correct_id + assert ga4gh_identify(vo_a, in_place='never') is not correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.ANY): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + assert ga4gh_identify(vo_a, in_place='never') is not correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.GA4GH_INVALID): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + assert ga4gh_identify(vo_a, in_place='never') is correct_id + with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.MISSING): + assert ga4gh_identify(vo_a, in_place='never') == correct_id + assert ga4gh_identify(vo_a, in_place='never') is correct_id diff --git a/tests/test_vrs2.py b/tests/test_vrs2.py deleted file mode 100644 index 7af994d8..00000000 --- a/tests/test_vrs2.py +++ /dev/null @@ -1,397 +0,0 @@ -from pydantic import ValidationError -import pytest - -from ga4gh.core import ( - sha512t24u, - ga4gh_digest, - ga4gh_serialize, - ga4gh_identify, - is_pydantic_instance, - is_curie_type, - pydantic_copy, - use_ga4gh_compute_identifier_when, - VrsObjectIdentifierIs -) -from ga4gh.vrs import models, vrs_enref, vrs_deref - -allele_dict = { - 'location': { - 'end': 55181320, - 'start': 55181319, - 'sequenceReference': { - 'type': 'SequenceReference', - 'refgetAccession': 'SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul' - }, - 'type': 'SequenceLocation' - }, - 'state': { - 'sequence': 'T', - 'type': 'LiteralSequenceExpression' - }, - 'type': 'Allele' -} - -a = models.Allele(**allele_dict) - -allele_383650_dict = { - "type": "Allele", - "digest": "SZIS2ua7AL-0YgUTAqyBsFPYK3vE8h_d", - "id": "ga4gh:VA.SZIS2ua7AL-0YgUTAqyBsFPYK3vE8h_d", - "location": { - "id": "ga4gh:SL.TaoXEhpHvA6SdilBUO-AX00YDARv9Uoe", - "digest": "TaoXEhpHvA6SdilBUO-AX00YDARv9Uoe", - "type": "SequenceLocation", - "sequenceReference": { - "type": "SequenceReference", - "refgetAccession": "SQ.KEO-4XBcm1cxeo_DIQ8_ofqGUkp4iZhI" - }, - "start": 128325834, - "end": 128325835 - }, - "state": { - "type": "LiteralSequenceExpression", - "sequence": "T" - } -} -allele_417816_dict = { - "type": "Allele", - "location": { - "type": "SequenceLocation", - "sequenceReference": { - "type": "SequenceReference", - "refgetAccession": "SQ.KEO-4XBcm1cxeo_DIQ8_ofqGUkp4iZhI" - }, - "start": 128325809, - "end": 128325810 - }, - "state": { - "type": "LiteralSequenceExpression", - "sequence": "T" - } -} -allele_280320_dict = { - "type": "Allele", - "location": { - "type": "SequenceLocation", - "sequenceReference": { - "type": "SequenceReference", - "refgetAccession": "SQ.KEO-4XBcm1cxeo_DIQ8_ofqGUkp4iZhI" - }, - "start": 128322879, - "end": 128322891 - }, - "state": { - "type": "LiteralSequenceExpression", - "sequence": "G" - } -} -allele_383650 = models.Allele(**allele_383650_dict) -allele_417816 = models.Allele(**allele_417816_dict) -allele_280320 = models.Allele(**allele_280320_dict) - -haplotype_431012_dict = { - "type": "Haplotype", - "members": [allele_383650_dict, allele_417816_dict] -} -haplotype_431012 = models.Haplotype(**haplotype_431012_dict) - -# genotype_431013_dict = { -# "type": "Genotype", -# "count": 1, -# "members": [ -# { -# "type": "GenotypeMember", -# "variation": haplotype_431012_dict, -# "count": 1 -# }, -# { -# "type": "GenotypeMember", -# "variation": allele_280320_dict, -# "count": 1 -# } -# ] -# } -# genotype_431013 = models.Genotype(**genotype_431013_dict) - - -def test_vr(): - assert a.model_dump(exclude_none=True) == allele_dict - assert is_pydantic_instance(a) - assert is_pydantic_instance(a.location) - assert is_pydantic_instance(a.location.sequenceReference) - - # Sequence Reference - seqref = a.location.sequenceReference - seqref_serialized = ga4gh_serialize(seqref) - assert seqref_serialized == b'{"refgetAccession":"SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul","type":"SequenceReference"}' - assert ga4gh_digest(seqref) is None - assert ga4gh_identify(seqref) is None - - # Location - loc = a.location - loc_serialized = ga4gh_serialize(loc) - assert loc_serialized == b'{"end":55181320,"sequenceReference":{"refgetAccession":"SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul","type":"SequenceReference"},"start":55181319,"type":"SequenceLocation"}' - assert sha512t24u(loc_serialized) == '_G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd' - assert ga4gh_digest(loc) == '_G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd' - assert ga4gh_identify(loc) == 'ga4gh:SL._G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd' - - # Allele - allele_serialized = ga4gh_serialize(a) - assert allele_serialized == b'{"location":"_G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd","state":{"sequence":"T","type":"LiteralSequenceExpression"},"type":"Allele"}' - assert sha512t24u(allele_serialized) == 'Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE' - assert ga4gh_digest(a) == 'Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE' - assert ga4gh_identify(a) == 'ga4gh:VA.Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE' - - # Commenting out enref/deref tests. - # We are deciding whether this will continue to be included in this library. - # vros = {} - # a2 = vrs_enref(a, vros) - # assert ga4gh_identify(a) == ga4gh_identify(a2) - # assert a2.location == "ga4gh:SL.Npx4j5beiNN9GSFTm8Ml6YxrNj_Ghkac" - # assert a2.location in vros - # assert ga4gh_identify(a) in vros - # a3 = vrs_deref(a2, vros) - # assert a == a3 - - with pytest.raises(ValidationError): - models.Allele(**{ - "type": "Allele", - "location": { - "type": "SequenceLocation", - "sequenceReference": { - "type": "SequenceReference", - # refgetAccession can't include a namespace prefix - "refgetAccession": "ga4gh:SQ.KEO-4XBcm1cxeo_DIQ8_ofqGUkp4iZhI" - }, - "start": 128325834, - "end": 128325835 - }, - "state": { - "type": "LiteralSequenceExpression", - "sequence": "T" - } - }) - with pytest.raises(ValidationError): - models.Allele(**{ - "type": "Allele", - "location": { - "type": "SequenceLocation", - "sequenceReference": { - "type": "SequenceReference", - "refgetAccession": "SQ.KEO-4XBcm1cxeo_DIQ8_ofqGUkp4iZhI" - }, - "start": 128325834, - "end": 128325835 - }, - "state": { - "type": "LiteralSequenceExpression", - "sequence": "T" - }, - # digest can't include a namespace prefix - "digest": "ga4gh:734G5mtNwe40do8F6GKuqQP4QxyjBqVp" - }) - - -def test_haplotype(): - assert haplotype_431012.model_dump(exclude_none=True) == haplotype_431012_dict - assert is_pydantic_instance(haplotype_431012) - haplotype_serialized = ga4gh_serialize(haplotype_431012) - assert haplotype_serialized == b'{"members":["SZIS2ua7AL-0YgUTAqyBsFPYK3vE8h_d","TKhpDsfclpSXpn6BjTLViB_ceqRerOd2"],"type":"Haplotype"}' - assert sha512t24u(haplotype_serialized) == 'kAFlqAFWNj5xZIv5G_ePM7xepXe5p8TK' - assert ga4gh_digest(haplotype_431012) == 'kAFlqAFWNj5xZIv5G_ePM7xepXe5p8TK' - assert ga4gh_identify(haplotype_431012) == 'ga4gh:HT.kAFlqAFWNj5xZIv5G_ePM7xepXe5p8TK' - - -@pytest.mark.skip(reason="Genotypes are not yet supported in 2.x") -def test_genotype(): - assert genotype_431013.model_dump(exclude_none=True) == genotype_431013_dict - assert is_pydantic_instance(genotype_431013) - genotype_serialized = ga4gh_serialize(genotype_431013) - assert genotype_serialized == b'{"count":1,"members":[{"count":1,"type":"GenotypeMember","variation":"fFR5oRpeD8Cuq2hfs3bXd1rgJUQrQA26"},{"count":1,"type":"GenotypeMember","variation":"AUYSTKn2HElZ_Gg-Cv9Pm6Yx9Xpvx8Tm"}],"type":"Genotype"}' - assert sha512t24u(genotype_serialized) == '51J0mMryCGjdce3qBpqNt4n_hXUQmw83' - assert ga4gh_digest(genotype_431013) == '51J0mMryCGjdce3qBpqNt4n_hXUQmw83' - assert ga4gh_identify(genotype_431013) == 'ga4gh:GT.51J0mMryCGjdce3qBpqNt4n_hXUQmw83' - - -def test_ga4gh_iri(): - iri = models.IRI.model_construct("ga4gh:VA.Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE") - assert is_curie_type(iri) - assert iri.root == pydantic_copy(iri).root - assert ga4gh_serialize(iri) == b'"Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE"' - - -def test_enref(): - object_store = {} - allele_383650.get_or_create_ga4gh_identifier() - allele_383650_enreffed = vrs_enref(allele_383650, object_store=object_store) - orig_no_loc = allele_383650.model_dump().copy() - orig_no_loc.pop("location") - actual_no_loc = allele_383650_enreffed.model_dump().copy() - actual_no_loc.pop("location") - assert actual_no_loc == orig_no_loc, "Original and enreffed match except for enreffed field" - assert allele_383650_enreffed.location == 'ga4gh:SL.TaoXEhpHvA6SdilBUO-AX00YDARv9Uoe' - assert (allele_383650_enreffed.model_dump(exclude_none=True) == { - 'digest': 'SZIS2ua7AL-0YgUTAqyBsFPYK3vE8h_d', - 'id': 'ga4gh:VA.SZIS2ua7AL-0YgUTAqyBsFPYK3vE8h_d', - 'type': 'Allele', - 'location': 'ga4gh:SL.TaoXEhpHvA6SdilBUO-AX00YDARv9Uoe', - 'state': { - 'type': 'LiteralSequenceExpression', - 'sequence': 'T'}}) - - - dereffed = vrs_deref(allele_383650_enreffed, object_store=object_store) - assert (dereffed.location.model_dump(exclude_none=True) == { - 'digest': 'TaoXEhpHvA6SdilBUO-AX00YDARv9Uoe', - 'id': 'ga4gh:SL.TaoXEhpHvA6SdilBUO-AX00YDARv9Uoe', - 'type': 'SequenceLocation', - 'sequenceReference': { - 'type': 'SequenceReference', - 'refgetAccession': 'SQ.KEO-4XBcm1cxeo_DIQ8_ofqGUkp4iZhI' - }, - 'start': 128325834, - 'end': 128325835}) - assert dereffed.location.model_dump(exclude_none=True) == allele_383650.location.model_dump(exclude_none=True) - assert dereffed.model_dump() == allele_383650.model_dump() - - -def test_enref2(): - object_store = {} - a = { - "type": "Allele", - "id": "ga4gh:VA.LDzK5JahEZG2Ua_5itDtVV8v3O1ptTgI", - "digest": "LDzK5JahEZG2Ua_5itDtVV8v3O1ptTgI", - "location": { - "id": "ga4gh:SL.wIlaGykfwHIpPY2Fcxtbx4TINbbODFVz", - "digest": "wIlaGykfwHIpPY2Fcxtbx4TINbbODFVz", - "type": "SequenceLocation", - "sequenceReference": { - "type": "SequenceReference", - "refgetAccession": "SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl" - }, - "start": 44908821, - "end": 44908822 - }, - "state": { - "type": "LiteralSequenceExpression", - "sequence": "T" - } - } - vo_a = models.Allele(**a) - a_enreffed = vrs_enref(vo_a, object_store=object_store) - orig_no_loc = vo_a.model_dump().copy() - orig_no_loc.pop("location") - actual_no_loc = a_enreffed.model_dump().copy() - actual_no_loc.pop("location") - assert orig_no_loc == actual_no_loc, "Original and enreffed match except for enreffed field" - assert a_enreffed.location == 'ga4gh:SL.wIlaGykfwHIpPY2Fcxtbx4TINbbODFVz' - assert a_enreffed.model_dump(exclude_none=True) == { - 'id': 'ga4gh:VA.LDzK5JahEZG2Ua_5itDtVV8v3O1ptTgI', - 'digest': 'LDzK5JahEZG2Ua_5itDtVV8v3O1ptTgI', - 'type': 'Allele', - 'location': 'ga4gh:SL.wIlaGykfwHIpPY2Fcxtbx4TINbbODFVz', - 'state': { - 'type': 'LiteralSequenceExpression', - 'sequence': 'T' - } - } - - -def test_class_refatt_map(): - class_refatt_map_expected = { - 'Allele': ['location'], - 'Haplotype': ['members'], - '_CopyNumber': ['location'], - 'CopyNumberCount': ['location'], - 'CopyNumberChange': ['location'], - 'Adjacency': ['adjoinedSequences'], - } - assert class_refatt_map_expected == models.class_refatt_map - - -def test_compute_identifiers_when(): - a = { - "type": "Allele", - "location": { - "type": "SequenceLocation", - "sequenceReference": { - "type": "SequenceReference", - "refgetAccession": "SQ.jdEWLvLvT8827O59m1Agh5H3n6kTzBsJ", - }, - "start": 44908821, - "end": 44908822, - }, - "state": {"type": "LiteralSequenceExpression", "sequence": "T"}, - } - correct_id = "ga4gh:VA.NRUtY5Jcoevxr0tIgbNa-oIFm-Gv4qas" - syntax_valid_id = "ga4gh:VA.39eae078d9bb30da2a5c5d1969cb1472" - syntax_invalid_id = "ga4gh:12345" - - # when id property is missing - vo_a = models.Allele(**a) - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.ANY): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.GA4GH_INVALID): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.MISSING): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - - # when id property is none - a["id"] = None - vo_a = models.Allele(**a) - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.ANY): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.GA4GH_INVALID): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.MISSING): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - - # when id property is blank - a["id"] = "" - vo_a = models.Allele(**a) - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.ANY): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.GA4GH_INVALID): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.MISSING): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - - # when id property is syntactically invalid - a["id"] = syntax_invalid_id - vo_a = models.Allele(**a) - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.ANY): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.GA4GH_INVALID): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.MISSING): - assert ga4gh_identify(vo_a, in_place='never') == syntax_invalid_id - - # when id property is syntactically valid - a["id"] = syntax_valid_id - vo_a = models.Allele(**a) - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.ANY): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.GA4GH_INVALID): - assert ga4gh_identify(vo_a, in_place='never') == syntax_valid_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.MISSING): - assert ga4gh_identify(vo_a, in_place='never') == syntax_valid_id - - # when id property is correct - a["id"] = correct_id - vo_a = models.Allele(**a) - assert ga4gh_identify(vo_a, in_place='never') == correct_id - assert ga4gh_identify(vo_a, in_place='never') is not correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.ANY): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - assert ga4gh_identify(vo_a, in_place='never') is not correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.GA4GH_INVALID): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - assert ga4gh_identify(vo_a, in_place='never') is correct_id - with use_ga4gh_compute_identifier_when(VrsObjectIdentifierIs.MISSING): - assert ga4gh_identify(vo_a, in_place='never') == correct_id - assert ga4gh_identify(vo_a, in_place='never') is correct_id From 76a2e7c69d0951fab21793123c7d681280c878ef Mon Sep 17 00:00:00 2001 From: Kori Kuzma Date: Tue, 2 Jul 2024 14:03:21 -0400 Subject: [PATCH 03/12] chore: update submodule --- submodules/vrs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/vrs b/submodules/vrs index 4d466d06..2018884b 160000 --- a/submodules/vrs +++ b/submodules/vrs @@ -1 +1 @@ -Subproject commit 4d466d0628152622ec47b75a41c87e741cd50d38 +Subproject commit 2018884bb5181aed47cb2ae6ffa1aebba39619f6 From e0367d75d40e3cc55b3bdc20b010da1d40f08a58 Mon Sep 17 00:00:00 2001 From: Kori Kuzma Date: Wed, 3 Jul 2024 14:20:13 -0400 Subject: [PATCH 04/12] update submodules --- src/ga4gh/vrs/_internal/models.py | 3 +- submodules/vrs | 2 +- .../test_vcf_expected_altsonly_output.vcf.gz | Bin 4437 -> 4440 bytes .../data/test_vcf_expected_output.vcf.gz | Bin 4701 -> 4699 bytes ...st_vcf_expected_output_no_vrs_attrs.vcf.gz | Bin 4493 -> 4488 bytes tests/extras/test_allele_translator.py | 88 +++++++++--------- tests/extras/test_cnv_translator.py | 48 +++++----- tests/test_vrs.py | 49 +++++----- 8 files changed, 97 insertions(+), 93 deletions(-) diff --git a/src/ga4gh/vrs/_internal/models.py b/src/ga4gh/vrs/_internal/models.py index 2c59f6f7..b50cdd6d 100644 --- a/src/ga4gh/vrs/_internal/models.py +++ b/src/ga4gh/vrs/_internal/models.py @@ -395,7 +395,8 @@ class SequenceReference(_ValueObject): class ga4gh(_ValueObject.ga4gh): keys = [ - 'refgetAccession' + 'refgetAccession', + 'type' ] diff --git a/submodules/vrs b/submodules/vrs index 2018884b..d23c4afa 160000 --- a/submodules/vrs +++ b/submodules/vrs @@ -1 +1 @@ -Subproject commit 2018884bb5181aed47cb2ae6ffa1aebba39619f6 +Subproject commit d23c4afa720ed003173f156c59114940a1316475 diff --git a/tests/extras/data/test_vcf_expected_altsonly_output.vcf.gz b/tests/extras/data/test_vcf_expected_altsonly_output.vcf.gz index 2b5ac8bff1f30474e86436ebbe1586eb7ef04190..5f82490d998252991604e4c1f1f4a637ad0bf57b 100644 GIT binary patch literal 4440 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 b*{J|Qb!IyFwjV8f&8Yf+CW5HVX>R}ku2q#p diff --git a/tests/extras/data/test_vcf_expected_output.vcf.gz b/tests/extras/data/test_vcf_expected_output.vcf.gz index dce72d281bf615a7ab4c744e238143a13c7e3b96..8727d128249f0de0d52e385ac4d36d9ca7bc705f 100644 GIT binary patch delta 4646 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≶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 diff --git a/tests/extras/data/test_vcf_expected_output_no_vrs_attrs.vcf.gz b/tests/extras/data/test_vcf_expected_output_no_vrs_attrs.vcf.gz index 83859a00caa348e88d62917e65d16436580522e5..46a69d134c9dcc7358cb3177006aaad9907eb4df 100644 GIT binary patch delta 4484 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 W@IL;$Z0>$Pjs62}-Kxs}Yybc;#HQQ; delta 4489 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 b{`S*H_2pFeZ<~8RPNV+-Pp0<||7-vNr_{2V diff --git a/tests/extras/test_allele_translator.py b/tests/extras/test_allele_translator.py index d86bc483..233753f4 100644 --- a/tests/extras/test_allele_translator.py +++ b/tests/extras/test_allele_translator.py @@ -299,11 +299,11 @@ def test_to_spdi(tlr): hgvs_tests = ( ("NC_000013.11:g.32936732=", - {'digest': '-cLljG5TYWqCd93RA4N96-vOwqFEa4td', - 'id': 'ga4gh:VA.-cLljG5TYWqCd93RA4N96-vOwqFEa4td', - 'location': {'digest': 'TuHynM6zmcsDR8y0-fSw-YmzcjRCxeG3', + {'digest': 'GJ2JySBMXePcV2yItyvCfbGBUoawOBON', + 'id': 'ga4gh:VA.GJ2JySBMXePcV2yItyvCfbGBUoawOBON', + 'location': {'digest': '28YsnRvD40gKu1x3nev0gRzRz-5OTlpS', 'end': 32936732, - 'id': 'ga4gh:SL.TuHynM6zmcsDR8y0-fSw-YmzcjRCxeG3', + 'id': 'ga4gh:SL.28YsnRvD40gKu1x3nev0gRzRz-5OTlpS', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32936731, @@ -311,11 +311,11 @@ def test_to_spdi(tlr): 'state': {'sequence': 'C', 'type': 'LiteralSequenceExpression'}, 'type': 'Allele'}), ("NC_000007.14:g.55181320A>T", - {'digest': '3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG', - 'id': 'ga4gh:VA.3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG', - 'location': {'digest': '2bggIw-5f9iwF4rvLi72l6r1yYfu8FqN', + {'digest': 'Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE', + 'id': 'ga4gh:VA.Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE', + 'location': {'digest': '_G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd', 'end': 55181320, - 'id': 'ga4gh:SL.2bggIw-5f9iwF4rvLi72l6r1yYfu8FqN', + 'id': 'ga4gh:SL._G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd', 'sequenceReference': {'refgetAccession': 'SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul', 'type': 'SequenceReference'}, 'start': 55181319, @@ -323,11 +323,11 @@ def test_to_spdi(tlr): 'state': {'sequence': 'T', 'type': 'LiteralSequenceExpression'}, 'type': 'Allele'}), ("NC_000007.14:g.55181220del", - {'digest': 'XQ4RAKBmuJ7_9kZn8cVZuCfnRyf1XT5l', - 'id': 'ga4gh:VA.XQ4RAKBmuJ7_9kZn8cVZuCfnRyf1XT5l', - 'location': {'digest': 'xOutEZEqIqM5aiyxRosUbqU4k_T_TFMJ', + {'digest': 'klRMVChjvV73ZxS9Ajq1Rb8WU-p_HbLu', + 'id': 'ga4gh:VA.klRMVChjvV73ZxS9Ajq1Rb8WU-p_HbLu', + 'location': {'digest': 'ljan7F0ePe9uiD6f2u80ZG5gDtx9Mr0V', 'end': 55181220, - 'id': 'ga4gh:SL.xOutEZEqIqM5aiyxRosUbqU4k_T_TFMJ', + 'id': 'ga4gh:SL.ljan7F0ePe9uiD6f2u80ZG5gDtx9Mr0V', 'sequenceReference': {'refgetAccession': 'SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul', 'type': 'SequenceReference'}, 'start': 55181219, @@ -338,11 +338,11 @@ def test_to_spdi(tlr): 'type': 'ReferenceLengthExpression'}, 'type': 'Allele'}), ("NC_000007.14:g.55181230_55181231insGGCT", - {'digest': 'dRaBBdOyTIXocW8VI3Mit-2sd8i_8boB', - 'id': 'ga4gh:VA.dRaBBdOyTIXocW8VI3Mit-2sd8i_8boB', - 'location': {'digest': '4NuqFL9CfNJYaGDm8w1sRwgtA1xmRjtI', + {'digest': 'CLOvnFRJXGNRB9aTuNbvsLqc7syRYb55', + 'id': 'ga4gh:VA.CLOvnFRJXGNRB9aTuNbvsLqc7syRYb55', + 'location': {'digest': 'lh4dRt_xWPi3wrubcfomi5DkD7fu6wd2', 'end': 55181230, - 'id': 'ga4gh:SL.4NuqFL9CfNJYaGDm8w1sRwgtA1xmRjtI', + 'id': 'ga4gh:SL.lh4dRt_xWPi3wrubcfomi5DkD7fu6wd2', 'sequenceReference': {'refgetAccession': 'SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul', 'type': 'SequenceReference'}, 'start': 55181230, @@ -350,11 +350,11 @@ def test_to_spdi(tlr): 'state': {'sequence': 'GGCT', 'type': 'LiteralSequenceExpression'}, 'type': 'Allele'}), ("NC_000013.11:g.32331093_32331094dup", - {'digest': 'l1nH86rNZdttKnIXCLI07nwsKgQcx7fN', - 'id': 'ga4gh:VA.l1nH86rNZdttKnIXCLI07nwsKgQcx7fN', - 'location': {'digest': 'COO3ttNK0xDrcl4JffJM6627gBPqDYlS', + {'digest': 'swY2caCgv1kP6YqKyPlcEzJqTvou15vC', + 'id': 'ga4gh:VA.swY2caCgv1kP6YqKyPlcEzJqTvou15vC', + 'location': {'digest': 'ikECYncPpE1xh6f_LiComrFGevocjDHQ', 'end': 32331094, - 'id': 'ga4gh:SL.COO3ttNK0xDrcl4JffJM6627gBPqDYlS', + 'id': 'ga4gh:SL.ikECYncPpE1xh6f_LiComrFGevocjDHQ', 'sequenceReference': { 'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, @@ -366,11 +366,11 @@ def test_to_spdi(tlr): 'type': 'ReferenceLengthExpression'}, 'type': 'Allele'}), ("NC_000013.11:g.32316467dup", - {'digest': '36x6SppvDxqMlbhASszAb2GJLuH2Rs3V', - 'id': 'ga4gh:VA.36x6SppvDxqMlbhASszAb2GJLuH2Rs3V', - 'location': {'digest': 'lqPu27C6JHLezeGZf1uABOegBFZ_hdLm', + {'digest': '96ak7XdY3DNbp71aHEXw-NHSfeHGW-KT', + 'id': 'ga4gh:VA.96ak7XdY3DNbp71aHEXw-NHSfeHGW-KT', + 'location': {'digest': 'fwfHu8VaD2-6Qvay9MJSINXPS767RYSw', 'end': 32316467, - 'id': 'ga4gh:SL.lqPu27C6JHLezeGZf1uABOegBFZ_hdLm', + 'id': 'ga4gh:SL.fwfHu8VaD2-6Qvay9MJSINXPS767RYSw', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32316466, @@ -381,11 +381,11 @@ def test_to_spdi(tlr): 'type': 'ReferenceLengthExpression'}, 'type': 'Allele'}), ("NM_001331029.1:c.722A>G", - {'digest': 'Vp6x5mYArFwQ4r9HjJOdQglBKZTi4NlA', - 'id': 'ga4gh:VA.Vp6x5mYArFwQ4r9HjJOdQglBKZTi4NlA', - 'location': {'digest': 'vAHDB-dl40GjaAF4cqQCJv6ZZjTxe5x9', + {'digest': 'DPe4AO-S0Yu4wzSCmys7eGn4p4sO0zaC', + 'id': 'ga4gh:VA.DPe4AO-S0Yu4wzSCmys7eGn4p4sO0zaC', + 'location': {'digest': '7hcVmPnIspQNDfZKBzRJFc8K9GaJuAlY', 'end': 872, - 'id': 'ga4gh:SL.vAHDB-dl40GjaAF4cqQCJv6ZZjTxe5x9', + 'id': 'ga4gh:SL.7hcVmPnIspQNDfZKBzRJFc8K9GaJuAlY', 'sequenceReference': {'refgetAccession': 'SQ.MBIgVnoHFw34aFqNUVGM0zgjC3d-v8dK', 'type': 'SequenceReference'}, 'start': 871, @@ -393,11 +393,11 @@ def test_to_spdi(tlr): 'state': {'sequence': 'G', 'type': 'LiteralSequenceExpression'}, 'type': 'Allele'}), ("NM_181798.1:c.1007G>T", - {'digest': 'X-LYoHVJsGfZRJEu0lNTIWEnQj7wDHbY', - 'id': 'ga4gh:VA.X-LYoHVJsGfZRJEu0lNTIWEnQj7wDHbY', - 'location': {'digest': 'QQuQuigsRjstjso0pJxjHsmAWj7HH3Ri', + {'digest': 'vSL4aV7mPQKQLX7Jk-PmXN0APs0cBIr9', + 'id': 'ga4gh:VA.vSL4aV7mPQKQLX7Jk-PmXN0APs0cBIr9', + 'location': {'digest': 'EtvHvoj1Lsq-RruzIzWbKOIAW-bt193w', 'end': 1263, - 'id': 'ga4gh:SL.QQuQuigsRjstjso0pJxjHsmAWj7HH3Ri', + 'id': 'ga4gh:SL.EtvHvoj1Lsq-RruzIzWbKOIAW-bt193w', 'sequenceReference': {'refgetAccession': 'SQ.KN07u-RFqd1dTyOWOG98HnOq87Nq-ZIg', 'type': 'SequenceReference'}, 'start': 1262, @@ -405,12 +405,12 @@ def test_to_spdi(tlr): 'state': {'sequence': 'T', 'type': 'LiteralSequenceExpression'}, 'type': 'Allele'}), ("NC_000019.10:g.289464_289465insCACA", - {'digest': '6OwXJMpBIWbf74iPWCtVCOwo_enN6m4i', - 'id': 'ga4gh:VA.6OwXJMpBIWbf74iPWCtVCOwo_enN6m4i', + {'digest': 'YFUR4oR_84b-rRFf0UzOjfI4eE5FTKAP', + 'id': 'ga4gh:VA.YFUR4oR_84b-rRFf0UzOjfI4eE5FTKAP', 'type': 'Allele', - 'location': {'digest': '8JGabe4xE_MSkbvgDgt-fDDe1ZRUHwmW', + 'location': {'digest': 'L145KFLJeJ334YnOVm59pPlbdqfHhgXZ', 'end': 289466, - 'id': 'ga4gh:SL.8JGabe4xE_MSkbvgDgt-fDDe1ZRUHwmW', + 'id': 'ga4gh:SL.L145KFLJeJ334YnOVm59pPlbdqfHhgXZ', 'sequenceReference': {'refgetAccession': 'SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl', 'type': 'SequenceReference'}, 'start': 289464, @@ -420,12 +420,12 @@ def test_to_spdi(tlr): 'sequence': 'CACACA', 'type': 'ReferenceLengthExpression'}}), ("NC_000019.10:g.289485_289500del", - {'digest': 'ErFkwlS8QHh39d-11w5H4ZfpUYqsmYpP', - 'id': 'ga4gh:VA.ErFkwlS8QHh39d-11w5H4ZfpUYqsmYpP', + {'digest': 'Djc_SwVDFunsArqwUM00PciVaF70VTcU', + 'id': 'ga4gh:VA.Djc_SwVDFunsArqwUM00PciVaF70VTcU', 'type': 'Allele', - 'location': {'digest': 'ae5yW2CjpN9Kp87lSOJfCiKdqgLffQGC', + 'location': {'digest': 'WTE7jyihK4qvRRzEqM7u5nSD4iS2k3xp', 'end': 289501, - 'id': 'ga4gh:SL.ae5yW2CjpN9Kp87lSOJfCiKdqgLffQGC', + 'id': 'ga4gh:SL.WTE7jyihK4qvRRzEqM7u5nSD4iS2k3xp', 'sequenceReference': {'refgetAccession': 'SQ.IIB53T8CNeJJdUqzn9V_JnRtQadwWCbl', 'type': 'SequenceReference'}, 'start': 289480, @@ -459,11 +459,11 @@ def test_rle_seq_limit(tlr): tlr.identify = True a_dict = { - 'digest': 'fbampKGajBnl4Y4zDEdyxSNOv0YNxRwi', - 'id': 'ga4gh:VA.fbampKGajBnl4Y4zDEdyxSNOv0YNxRwi', - 'location': {'digest': 'TB4zf8bjiqL1kMTFiUjBu9hp-95XH9_S', + 'digest': 'j7qUzb1uvmdxLAbtdCPiay4kIRQmyZNv', + 'id': 'ga4gh:VA.j7qUzb1uvmdxLAbtdCPiay4kIRQmyZNv', + 'location': {'digest': '88oOqkUgALP7fnN8P8lbvCosFhG8YpY0', 'end': 32331094, - 'id': 'ga4gh:SL.TB4zf8bjiqL1kMTFiUjBu9hp-95XH9_S', + 'id': 'ga4gh:SL.88oOqkUgALP7fnN8P8lbvCosFhG8YpY0', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32331042, diff --git a/tests/extras/test_cnv_translator.py b/tests/extras/test_cnv_translator.py index 6f513680..edb553d7 100644 --- a/tests/extras/test_cnv_translator.py +++ b/tests/extras/test_cnv_translator.py @@ -17,11 +17,11 @@ def tlr(rest_dataproxy): from_hgvs_cx_tests = ( ("NC_000013.11:g.26440969_26443305del", models.CopyChange.EFO_0030069, {'copyChange': 'efo:0030069', - 'digest': '5Zm6EIFzBHpoRpeMTKAiDlxEGmF_Cq3I', - 'id': 'ga4gh:CX.5Zm6EIFzBHpoRpeMTKAiDlxEGmF_Cq3I', - 'location': {'digest': 'CO7rlO4O2Dlsxw0KnNw4kmrJwwFXgOcj', + 'digest': 'TvAhuGK6HYf53mXoUnon60cZ7DC_UgM3', + 'id': 'ga4gh:CX.TvAhuGK6HYf53mXoUnon60cZ7DC_UgM3', + 'location': {'digest': '4akcjXlbAu4xBKnxjOL_b4DM_20HOCA3', 'end': 26443305, - 'id': 'ga4gh:SL.CO7rlO4O2Dlsxw0KnNw4kmrJwwFXgOcj', + 'id': 'ga4gh:SL.4akcjXlbAu4xBKnxjOL_b4DM_20HOCA3', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 26440968, @@ -29,11 +29,11 @@ def tlr(rest_dataproxy): 'type': 'CopyNumberChange'}), ("NC_000013.11:g.32379315_32379819del", None, {'copyChange': 'efo:0030067', - 'digest': '2LU_BbNdXeQf8sMAWaYOXX2_wTtywgr1', - 'id': 'ga4gh:CX.2LU_BbNdXeQf8sMAWaYOXX2_wTtywgr1', - 'location': {'digest': 'FX6u3sfgZSBh3H21T__fINBpZ3N6itPD', + 'digest': 'K1J2muiVvrDWqKnd5cMpFbTP0eJUfeuE', + 'id': 'ga4gh:CX.K1J2muiVvrDWqKnd5cMpFbTP0eJUfeuE', + 'location': {'digest': '_TUGA9kX6JKdXzUklgN2zWkOvNu5pNmV', 'end': 32379819, - 'id': 'ga4gh:SL.FX6u3sfgZSBh3H21T__fINBpZ3N6itPD', + 'id': 'ga4gh:SL._TUGA9kX6JKdXzUklgN2zWkOvNu5pNmV', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32379314, @@ -42,11 +42,11 @@ def tlr(rest_dataproxy): ), ("NC_000013.11:g.32332787_32333388dup", models.CopyChange.EFO_0030071, {'copyChange': 'efo:0030071', - 'digest': '0bOGlWb3yHF4Pl0JdrehXrwxhlIeGWyb', - 'id': 'ga4gh:CX.0bOGlWb3yHF4Pl0JdrehXrwxhlIeGWyb', - 'location': {'digest': 'Da2mvtG6UDi5DTIslWRZ0dzlxKqfRuQ7', + 'digest': '5gODsVN83N1fe9Lc_Octy5rBlkYl8pGU', + 'id': 'ga4gh:CX.5gODsVN83N1fe9Lc_Octy5rBlkYl8pGU', + 'location': {'digest': 'UOA3zJOPfQxxRord_7pBkoMBpt46xcQq', 'end': 32333388, - 'id': 'ga4gh:SL.Da2mvtG6UDi5DTIslWRZ0dzlxKqfRuQ7', + 'id': 'ga4gh:SL.UOA3zJOPfQxxRord_7pBkoMBpt46xcQq', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32332786, @@ -55,11 +55,11 @@ def tlr(rest_dataproxy): ), ("NC_000013.11:g.32344743_32352093dup", None, {'copyChange': 'efo:0030070', - 'digest': '9ayJB8XFftenknAHA1yaPGB2v-J-bdNo', - 'id': 'ga4gh:CX.9ayJB8XFftenknAHA1yaPGB2v-J-bdNo', - 'location': {'digest': '8mY-AOOgME6kJxYgIKaMUPj6s1k55bMX', + 'digest': '-sUe85R9UC_RxX7e_B1YsmsdyLsGvvmq', + 'id': 'ga4gh:CX.-sUe85R9UC_RxX7e_B1YsmsdyLsGvvmq', + 'location': {'digest': '17-a6p7m6QznwxZyVz2QdA9oPf5jTCyT', 'end': 32352093, - 'id': 'ga4gh:SL.8mY-AOOgME6kJxYgIKaMUPj6s1k55bMX', + 'id': 'ga4gh:SL.17-a6p7m6QznwxZyVz2QdA9oPf5jTCyT', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32344742, @@ -80,11 +80,11 @@ def test_from_hgvs_cx(tlr, hgvsexpr ,copy_change, expected): from_hgvs_cn_tests = ( ("NC_000013.11:g.26440969_26443305del", 1, {'copies': 1, - 'digest': '3wzMLF_0TdEadCyazYu39NtXu8UyGUsr', - 'id': 'ga4gh:CN.3wzMLF_0TdEadCyazYu39NtXu8UyGUsr', - 'location': {'digest': 'CO7rlO4O2Dlsxw0KnNw4kmrJwwFXgOcj', + 'digest': 'QnU97C-cRW431O9qWia9UCVRBDvGDH7I', + 'id': 'ga4gh:CN.QnU97C-cRW431O9qWia9UCVRBDvGDH7I', + 'location': {'digest': '4akcjXlbAu4xBKnxjOL_b4DM_20HOCA3', 'end': 26443305, - 'id': 'ga4gh:SL.CO7rlO4O2Dlsxw0KnNw4kmrJwwFXgOcj', + 'id': 'ga4gh:SL.4akcjXlbAu4xBKnxjOL_b4DM_20HOCA3', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 26440968, @@ -93,11 +93,11 @@ def test_from_hgvs_cx(tlr, hgvsexpr ,copy_change, expected): ), ("NC_000013.11:g.32332787_32333388dup", 2, {'copies': 2, - 'digest': 'VK-0Kj1sZ0KNbkRVRW23N6FPjimIsUd9', - 'id': 'ga4gh:CN.VK-0Kj1sZ0KNbkRVRW23N6FPjimIsUd9', - 'location': {'digest': 'Da2mvtG6UDi5DTIslWRZ0dzlxKqfRuQ7', + 'digest': 'a3aEKSzI46jK7_HRSpGNDap6Z1j_7kMM', + 'id': 'ga4gh:CN.a3aEKSzI46jK7_HRSpGNDap6Z1j_7kMM', + 'location': {'digest': 'UOA3zJOPfQxxRord_7pBkoMBpt46xcQq', 'end': 32333388, - 'id': 'ga4gh:SL.Da2mvtG6UDi5DTIslWRZ0dzlxKqfRuQ7', + 'id': 'ga4gh:SL.UOA3zJOPfQxxRord_7pBkoMBpt46xcQq', 'sequenceReference': {'refgetAccession': 'SQ._0wi-qoDrvram155UmcSC-zA5ZK4fpLT', 'type': 'SequenceReference'}, 'start': 32332786, diff --git a/tests/test_vrs.py b/tests/test_vrs.py index b8e5fedf..dc8d40c0 100644 --- a/tests/test_vrs.py +++ b/tests/test_vrs.py @@ -35,7 +35,11 @@ allele_383650_dict = { "type": "Allele", + "digest": "SZIS2ua7AL-0YgUTAqyBsFPYK3vE8h_d", + "id": "ga4gh:VA.SZIS2ua7AL-0YgUTAqyBsFPYK3vE8h_d", "location": { + "id": "ga4gh:SL.TaoXEhpHvA6SdilBUO-AX00YDARv9Uoe", + "digest": "TaoXEhpHvA6SdilBUO-AX00YDARv9Uoe", "type": "SequenceLocation", "sequenceReference": { "type": "SequenceReference", @@ -101,24 +105,24 @@ def test_vr(): # Sequence Reference seqref = a.location.sequenceReference seqref_serialized = ga4gh_serialize(seqref) - assert seqref_serialized == b'{"refgetAccession":"SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul"}' + assert seqref_serialized == b'{"refgetAccession":"SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul","type":"SequenceReference"}' assert ga4gh_digest(seqref) is None assert ga4gh_identify(seqref) is None # Location loc = a.location loc_serialized = ga4gh_serialize(loc) - assert loc_serialized == b'{"end":55181320,"sequenceReference":{"refgetAccession":"SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul"},"start":55181319,"type":"SequenceLocation"}' - assert sha512t24u(loc_serialized) == '2bggIw-5f9iwF4rvLi72l6r1yYfu8FqN' - assert ga4gh_digest(loc) == '2bggIw-5f9iwF4rvLi72l6r1yYfu8FqN' - assert ga4gh_identify(loc) == 'ga4gh:SL.2bggIw-5f9iwF4rvLi72l6r1yYfu8FqN' + assert loc_serialized == b'{"end":55181320,"sequenceReference":{"refgetAccession":"SQ.F-LrLMe1SRpfUZHkQmvkVKFEGaoDeHul","type":"SequenceReference"},"start":55181319,"type":"SequenceLocation"}' + assert sha512t24u(loc_serialized) == '_G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd' + assert ga4gh_digest(loc) == '_G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd' + assert ga4gh_identify(loc) == 'ga4gh:SL._G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd' # Allele allele_serialized = ga4gh_serialize(a) - assert allele_serialized == b'{"location":"2bggIw-5f9iwF4rvLi72l6r1yYfu8FqN","state":{"sequence":"T","type":"LiteralSequenceExpression"},"type":"Allele"}' - assert sha512t24u(allele_serialized) == '3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG' - assert ga4gh_digest(a) == '3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG' - assert ga4gh_identify(a) == 'ga4gh:VA.3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG' + assert allele_serialized == b'{"location":"_G2K0qSioM74l_u3OaKR0mgLYdeTL7Xd","state":{"sequence":"T","type":"LiteralSequenceExpression"},"type":"Allele"}' + assert sha512t24u(allele_serialized) == 'Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE' + assert ga4gh_digest(a) == 'Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE' + assert ga4gh_identify(a) == 'ga4gh:VA.Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE' with pytest.raises(ValidationError): models.Allele(**{ @@ -163,17 +167,17 @@ def test_cpb(): assert cpb_431012.model_dump(exclude_none=True) == cpb_431012_dict assert is_pydantic_instance(cpb_431012) cpb_serialized = ga4gh_serialize(cpb_431012) - assert cpb_serialized == b'{"members":["NnK--c7SIbZvcnAgkPjlH2Iszl4IkbjT","qlCSPm6oakAob8jw9BoExi8In5AmsF-0"],"type":"CisPhasedBlock"}' - assert sha512t24u(cpb_serialized) == 'Qx631LTg7-7Jdfo0hLeuCW9ylprE2qPM' - assert ga4gh_digest(cpb_431012) == 'Qx631LTg7-7Jdfo0hLeuCW9ylprE2qPM' - assert ga4gh_identify(cpb_431012) == 'ga4gh:CPB.Qx631LTg7-7Jdfo0hLeuCW9ylprE2qPM' + assert cpb_serialized == b'{"members":["SZIS2ua7AL-0YgUTAqyBsFPYK3vE8h_d","TKhpDsfclpSXpn6BjTLViB_ceqRerOd2"],"type":"CisPhasedBlock"}' + assert sha512t24u(cpb_serialized) == 'x8GH5G73cPMs37jy1-9mJjWynu324rxI' + assert ga4gh_digest(cpb_431012) == 'x8GH5G73cPMs37jy1-9mJjWynu324rxI' + assert ga4gh_identify(cpb_431012) == 'ga4gh:CPB.x8GH5G73cPMs37jy1-9mJjWynu324rxI' def test_ga4gh_iri(): - iri = models.IRI.model_construct("ga4gh:VA.3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG") + iri = models.IRI.model_construct("ga4gh:VA.Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE") assert is_curie_type(iri) assert iri.root == pydantic_copy(iri).root - assert ga4gh_serialize(iri) == b'"3HB4RttHyDFgT8KTHurSlDSjUA8N8HKG"' + assert ga4gh_serialize(iri) == b'"Hy2XU_-rp4IMh6I_1NXNecBo8Qx8n0oE"' def test_enref(): @@ -185,12 +189,12 @@ def test_enref(): actual_no_loc = allele_383650_enreffed.model_dump().copy() actual_no_loc.pop("location") assert actual_no_loc == orig_no_loc, "Original and enreffed match except for enreffed field" - assert allele_383650_enreffed.location == 'ga4gh:SL.-9ppL7WzaMWrHwFZv9edFWW_H523sPnX' + assert allele_383650_enreffed.location == 'ga4gh:SL.TaoXEhpHvA6SdilBUO-AX00YDARv9Uoe' assert (allele_383650_enreffed.model_dump(exclude_none=True) == { - 'digest': 'qlCSPm6oakAob8jw9BoExi8In5AmsF-0', - 'id': 'ga4gh:VA.qlCSPm6oakAob8jw9BoExi8In5AmsF-0', + 'digest': 'SZIS2ua7AL-0YgUTAqyBsFPYK3vE8h_d', + 'id': 'ga4gh:VA.SZIS2ua7AL-0YgUTAqyBsFPYK3vE8h_d', 'type': 'Allele', - 'location': 'ga4gh:SL.-9ppL7WzaMWrHwFZv9edFWW_H523sPnX', + 'location': 'ga4gh:SL.TaoXEhpHvA6SdilBUO-AX00YDARv9Uoe', 'state': { 'type': 'LiteralSequenceExpression', 'sequence': 'T'}}) @@ -198,8 +202,8 @@ def test_enref(): dereffed = vrs_deref(allele_383650_enreffed, object_store=object_store) assert (dereffed.location.model_dump(exclude_none=True) == { - 'digest': '-9ppL7WzaMWrHwFZv9edFWW_H523sPnX', - 'id': 'ga4gh:SL.-9ppL7WzaMWrHwFZv9edFWW_H523sPnX', + 'digest': 'TaoXEhpHvA6SdilBUO-AX00YDARv9Uoe', + 'id': 'ga4gh:SL.TaoXEhpHvA6SdilBUO-AX00YDARv9Uoe', 'type': 'SequenceLocation', 'sequenceReference': { 'type': 'SequenceReference', @@ -207,7 +211,6 @@ def test_enref(): }, 'start': 128325834, 'end': 128325835}) - dereffed.location.id = None assert dereffed.location.model_dump(exclude_none=True) == allele_383650.location.model_dump(exclude_none=True) assert dereffed.model_dump() == allele_383650.model_dump() @@ -282,7 +285,7 @@ def test_compute_identifiers_when(): }, "state": {"type": "LiteralSequenceExpression", "sequence": "T"}, } - correct_id = "ga4gh:VA.Yej0kQTGuatF6tXLAarhWzzHqC6VupfN" + correct_id = "ga4gh:VA.NRUtY5Jcoevxr0tIgbNa-oIFm-Gv4qas" syntax_valid_id = "ga4gh:VA.39eae078d9bb30da2a5c5d1969cb1472" syntax_invalid_id = "ga4gh:12345" From e5fc9dc224e1a5966cf5e650c536ae89db95b5c9 Mon Sep 17 00:00:00 2001 From: Kori Kuzma Date: Wed, 3 Jul 2024 15:40:42 -0400 Subject: [PATCH 05/12] take order property into account --- src/ga4gh/vrs/_internal/models.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/ga4gh/vrs/_internal/models.py b/src/ga4gh/vrs/_internal/models.py index b50cdd6d..e6de3aa3 100644 --- a/src/ga4gh/vrs/_internal/models.py +++ b/src/ga4gh/vrs/_internal/models.py @@ -481,12 +481,6 @@ class CisPhasedBlock(_VariationBase): ) sequenceReference: Optional[SequenceReference] = Field(None, description="An optional Sequence Reference on which all of the in-cis Alleles are found. When defined, this may be used to implicitly define the `sequenceReference` attribute for each of the CisPhasedBlock member Alleles.") - @model_serializer(when_used='json') - def ga4gh_serialize(self) -> Dict: - out = _ValueObject.ga4gh_serialize(self) - out['members'] = sorted(out['members']) - return out - class ga4gh(_Ga4ghIdentifiableObject.ga4gh): prefix = 'CPB' keys = [ @@ -531,6 +525,12 @@ class ga4gh(_Ga4ghIdentifiableObject.ga4gh): 'type' ] + @model_serializer(when_used='json') + def ga4gh_serialize(self) -> Dict: + out = _ValueObject.ga4gh_serialize(self) + out['adjoinedSequences'] = sorted(out['adjoinedSequences']) + return out + class SequenceTerminus(_VariationBase): """The `SequenceTerminus` data class provides a structure for describing the end @@ -576,6 +576,12 @@ class ga4gh(_Ga4ghIdentifiableObject.ga4gh): "type" ] + @model_serializer(when_used='json') + def ga4gh_serialize(self) -> Dict: + out = _ValueObject.ga4gh_serialize(self) + out['components'] = sorted(out['components']) + return out + ######################################### # vrs systemic variation From 5d116027c55d9dbf6d48f9a362b4bb7e8b0f1d1c Mon Sep 17 00:00:00 2001 From: Kori Kuzma Date: Fri, 5 Jul 2024 09:24:53 -0400 Subject: [PATCH 06/12] update serialization for ordered property * ordered:false -> serializer should always sort the array before computing the digest so that regardless of the order, the digest always comes out the same * ordered: true -> do not sort the items before digesting, so digests can be different based on ordering of array --- src/ga4gh/vrs/_internal/models.py | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/ga4gh/vrs/_internal/models.py b/src/ga4gh/vrs/_internal/models.py index e6de3aa3..cdd8da02 100644 --- a/src/ga4gh/vrs/_internal/models.py +++ b/src/ga4gh/vrs/_internal/models.py @@ -481,6 +481,12 @@ class CisPhasedBlock(_VariationBase): ) sequenceReference: Optional[SequenceReference] = Field(None, description="An optional Sequence Reference on which all of the in-cis Alleles are found. When defined, this may be used to implicitly define the `sequenceReference` attribute for each of the CisPhasedBlock member Alleles.") + @model_serializer(when_used="json") + def ga4gh_serialize(self) -> Dict: + out = _ValueObject.ga4gh_serialize(self) + out["members"] = sorted(out["members"]) + return out + class ga4gh(_Ga4ghIdentifiableObject.ga4gh): prefix = 'CPB' keys = [ @@ -525,12 +531,6 @@ class ga4gh(_Ga4ghIdentifiableObject.ga4gh): 'type' ] - @model_serializer(when_used='json') - def ga4gh_serialize(self) -> Dict: - out = _ValueObject.ga4gh_serialize(self) - out['adjoinedSequences'] = sorted(out['adjoinedSequences']) - return out - class SequenceTerminus(_VariationBase): """The `SequenceTerminus` data class provides a structure for describing the end @@ -576,12 +576,6 @@ class ga4gh(_Ga4ghIdentifiableObject.ga4gh): "type" ] - @model_serializer(when_used='json') - def ga4gh_serialize(self) -> Dict: - out = _ValueObject.ga4gh_serialize(self) - out['components'] = sorted(out['components']) - return out - ######################################### # vrs systemic variation From 3c58567060ef12ed0fff9ab145c91bf6165bcca1 Mon Sep 17 00:00:00 2001 From: Kori Kuzma Date: Mon, 8 Jul 2024 19:15:25 -0400 Subject: [PATCH 07/12] update common/vrs submodules --- src/ga4gh/core/_internal/models.py | 37 +++++++++++++++++++----------- src/ga4gh/vrs/_internal/models.py | 2 +- submodules/vrs | 2 +- 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/src/ga4gh/core/_internal/models.py b/src/ga4gh/core/_internal/models.py index 6dd26160..a21c162e 100644 --- a/src/ga4gh/core/_internal/models.py +++ b/src/ga4gh/core/_internal/models.py @@ -25,7 +25,7 @@ Method = ForwardRef("Method") ######################################### -# GKS Common Core Information Model +# GKS Common Abstract Entity & Utility Class Definitions ######################################### class AgentSubtype(str, Enum): @@ -113,9 +113,9 @@ class RecordMetadata(BaseModel): real world entity this record or object represents). """ - recordIdentifier: Optional[str] = Field(None, description="The business identifier of the record described in the RecordMetadata object (required when the record described is not the one in the present system)") + recordIdentifier: Optional[str] = Field(None, description="The identifier of the data record or object described in this RecordMetadata object.") recordVersion: Optional[str] = Field(None, description="The version number of the record-level artifact the object describes.") - derivedFrom: Optional[str] = Field(None, description="Another data record from which the record described here was derived.") + derivedFrom: Optional[str] = Field(None, description="Another data record from which the record described here was derived, through a data ingest and/or transformation process. Value should be a string representing the identifier of the source record.") dateRecordCreated: Optional[str] = Field(None, description="The date the record was initially created.") contributions: Optional[List[Contribution]] = Field(None, description="Describes specific contributions made by an human or software agent to the creation, modification, or administrative management of a data record or object.") @@ -193,6 +193,7 @@ class _Entity(BaseModel): None, description="The 'logical' identifier of the entity in the system of record, e.g. a UUID. This 'id' is unique within a given system. The identified entity may have a different 'id' in a different system, or may refer to an 'id' for the shared concept in another system (e.g. a CURIE)." ) + type: str label: Optional[str] = Field( None, description='A primary label for the entity.' @@ -213,7 +214,6 @@ class _DomainEntity(_Entity): occasion. """ - type: str mappings: Optional[List[ConceptMapping]] = Field(None, description="A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation.") class Agent(_Entity): @@ -227,17 +227,15 @@ class Agent(_Entity): subtype: Optional[AgentSubtype] = Field(None, description="A more specific type of agent the agent represents.") -class Contribution(_Entity): - """An action taken by an agent in contributing to the creation, modification, - assessment, or deprecation of a particular entity (e.g. a Statement, EvidenceLine, - DataItem, Publication, etc.) +class Activity(_Entity): + """An action or set of actions performed by an agent, that occurs over a period of + time. Activities may use, generate, modify, move, or destroy one or more entities. """ - type: Literal["Contribution"] = "Contribution" - contributor: Optional[Agent] = Field(None, description="The agent that made the contribution.") - date: Optional[str] = Field(None, description="The date on which the contribution was made. The date SHOULD be formatted as a date string in ISO format 'YYYY-MM-DD'.") - contributionMadeTo: Optional[_InformationEntity] = Field(None, description="The artifact toward which the contribution was made.") # noqa: N815 - activity: Optional[Coding] = Field(None, description="SHOULD describe a concept descending from the Contributor Role Ontology.") + subtype: Optional[Coding] = Field(None, description="A more specific type of activity that an Activity object may represent.") + date: Optional[str] = Field(None, description="The date that the Activity was completed. The date SHOULD be formatted as a date string in ISO format 'YYYY-MM-DD'.") + performedBy: Optional[List[Agent]] = Field(None, description="An Agent who contributed to executing the Activity.") + specifiedBy: Optional[List[Method]] = Field(None, description="A method that was followed in performing an Activity, that describes how it was executed.") @field_validator("date") @classmethod @@ -255,13 +253,24 @@ def date_format(cls, v: Optional[str]) -> Optional[str]: raise ValueError(msg) from e return v +class Contribution(Activity): + """An action taken by an agent in contributing to the creation, modification, + assessment, or deprecation of a particular entity (e.g. a Statement, EvidenceLine, + DataItem, Publication, etc.) + """ + + type: Literal["Contribution"] = "Contribution" + contributor: Optional[Agent] = Field(None, description="The agent that made the contribution.") + contributionMadeTo: Optional[_InformationEntity] = Field(None, description="The artifact toward which the contribution was made.") # noqa: N815 + activityType: Optional[Coding] = Field(None, description="SHOULD describe a concept descending from the Contributor Role Ontology.") + + class _InformationEntity(_Entity): """Information Entities are abstract (non-physical) entities that are about something (i.e. they carry information about things in the real world). """ id: str - type: Literal['InformationEntity'] = Field("InformationEntity", description="MUST be 'InformationEntity'.") specifiedBy: Optional[Union[Method, IRI]] = Field(None, description="A `Method` that describes all or part of the process through which the information was generated.") contributions: Optional[List[Contribution]] = Field(description="A list of `Contribution` objects that describe the activities performed by agents upon this entity.") isReportedIn: Optional[List[Union[Document, IRI]]] = Field(description="A document in which the information content is expressed.") diff --git a/src/ga4gh/vrs/_internal/models.py b/src/ga4gh/vrs/_internal/models.py index cdd8da02..ab4991cd 100644 --- a/src/ga4gh/vrs/_internal/models.py +++ b/src/ga4gh/vrs/_internal/models.py @@ -563,7 +563,7 @@ class DerivativeSequence(_VariationBase): ) type: Literal["DerivativeSequence"] = Field("DerivativeSequence", description='MUST be "DerivativeSequence"') - components: Optional[List[Union[IRI, Adjacency, SequenceTerminus, CisPhasedBlock]]] = Field( + components: List[Union[IRI, Adjacency, Allele, SequenceTerminus, CisPhasedBlock]] = Field( ..., description="The sequence components that make up the derivative sequence.", min_length=2 diff --git a/submodules/vrs b/submodules/vrs index d23c4afa..ca301809 160000 --- a/submodules/vrs +++ b/submodules/vrs @@ -1 +1 @@ -Subproject commit d23c4afa720ed003173f156c59114940a1316475 +Subproject commit ca3018094397d62025a65b12c991c6189f4275af From fda5e006e755f2a69035f3698bbfbb56e9047c76 Mon Sep 17 00:00:00 2001 From: Kori Kuzma Date: Tue, 9 Jul 2024 08:48:18 -0400 Subject: [PATCH 08/12] fixes --- src/ga4gh/core/_internal/models.py | 29 ++++++++++++++++++++--------- src/ga4gh/vrs/_internal/models.py | 21 +-------------------- 2 files changed, 21 insertions(+), 29 deletions(-) diff --git a/src/ga4gh/core/_internal/models.py b/src/ga4gh/core/_internal/models.py index a21c162e..c547ec67 100644 --- a/src/ga4gh/core/_internal/models.py +++ b/src/ga4gh/core/_internal/models.py @@ -14,7 +14,7 @@ from typing import Any, Dict, ForwardRef, Literal, Annotated, Optional, Union, List from enum import Enum -from pydantic import BaseModel, ConfigDict, Field, RootModel, StringConstraints, constr, field_validator, model_serializer +from pydantic import BaseModel, Field, RootModel, StringConstraints, constr, field_validator, model_serializer, model_validator from ga4gh.core import GA4GH_IR_REGEXP @@ -63,7 +63,7 @@ class Syntax(str, Enum): SPDI = "spdi" ######################################### -# GKS Common Core Information Model - Utility Type Classes +# GKS Common Abstract Utility Classes # These do not inherit from Entity and are not typed explicitly ######################################### @@ -157,14 +157,12 @@ class Extension(BaseModel): understood, but may be used for pre-negotiated exchange of message attributes between systems. """ - model_config = ConfigDict( - extra='allow', - ) + name: str = Field(..., description='A name for the Extension. Should be indicative of its meaning and/or the type of information it value represents.') value: Optional[Union[float, str, bool, Dict[str, Any], List[Any]]] = Field( None, description='The value of the Extension - can be any primitive or structured object' ) - extensionDescription: Optional[str] = Field(None, description="A description of the meaning or utility of the Extension, to explain the type of information it is meant to hold.") + description: Optional[str] = Field(None, description="A description of the meaning or utility of the Extension, to explain the type of information it is meant to hold.") class Expression(BaseModel): @@ -179,7 +177,7 @@ class Expression(BaseModel): ######################################### -# GKS Common Core Information Model Classes +# GKS Common Abstract Entity Class Definitions ######################################### @@ -216,6 +214,7 @@ class _DomainEntity(_Entity): mappings: Optional[List[ConceptMapping]] = Field(None, description="A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation.") + class Agent(_Entity): """An autonomous actor (person, organization, or computational agent) that bears some form of responsibility for an activity taking place, for the existence of an @@ -253,6 +252,7 @@ def date_format(cls, v: Optional[str]) -> Optional[str]: raise ValueError(msg) from e return v + class Contribution(Activity): """An action taken by an agent in contributing to the creation, modification, assessment, or deprecation of a particular entity (e.g. a Statement, EvidenceLine, @@ -264,6 +264,17 @@ class Contribution(Activity): contributionMadeTo: Optional[_InformationEntity] = Field(None, description="The artifact toward which the contribution was made.") # noqa: N815 activityType: Optional[Coding] = Field(None, description="SHOULD describe a concept descending from the Contributor Role Ontology.") + @model_validator(mode="before") + def handle_extends_prop(cls, values: Dict[str, Any]) -> Dict[str, Any]: + """Handle extends properties by renaming fields + + :param values: Input values to process + :return: Processed values with extended properties renamed + """ + if "performedBy" in values: + values["contributor"] = values.pop("performedBy") + return values + class _InformationEntity(_Entity): """Information Entities are abstract (non-physical) entities that are about @@ -299,14 +310,13 @@ class Document(_InformationEntity): ) -class Method(_Entity): +class Method(_InformationEntity): """A set of instructions that specify how to achieve some objective (e.g. experimental protocols, curation guidelines, rule sets, etc.) """ type: Literal["Method"] = Field("Method", description="MUST be 'Method'.") isReportedIn: Optional[Union[Document, IRI]] = None # noqa: N815 - isReportedIn: Optional[Document] = None subtype: Optional[Coding] = Field( None, description="A more specific type of entity the method represents (e.g. Variant Interpretation Guideline, Experimental Protocol)", @@ -429,6 +439,7 @@ class Gene(_DomainEntity): description='MUST be "Gene".' ) + # Update forward references _InformationEntity.model_rebuild() Contribution.model_rebuild() diff --git a/src/ga4gh/vrs/_internal/models.py b/src/ga4gh/vrs/_internal/models.py index ab4991cd..31012d04 100644 --- a/src/ga4gh/vrs/_internal/models.py +++ b/src/ga4gh/vrs/_internal/models.py @@ -381,10 +381,6 @@ class ga4gh(_ValueObject.ga4gh): class SequenceReference(_ValueObject): """A sequence of nucleic or amino acid character codes.""" - model_config = ConfigDict( - use_enum_values=True - ) - type: Literal['SequenceReference'] = Field('SequenceReference', description='MUST be "SequenceReference"') refgetAccession: Annotated[str, StringConstraints(pattern=r'^SQ.[0-9A-Za-z_\-]{32}$')] = Field( ..., @@ -506,10 +502,6 @@ class Adjacency(_VariationBase): potentially with an intervening linker sequence. """ - model_config = ConfigDict( - use_enum_values=True - ) - type: Literal['Adjacency'] = Field('Adjacency', description='MUST be "Adjacency"') adjoinedSequences: List[Union[IRI, SequenceLocation]] = Field( ..., @@ -538,10 +530,6 @@ class SequenceTerminus(_VariationBase): is not allowed and it removes the unnecessary array structure. """ - model_config = ConfigDict( - use_enum_values=True - ) - type: Literal["SequenceTerminus"] = Field("SequenceTerminus", description='MUST be "SequenceTerminus"') location: Union[IRI, SequenceLocation] = Field(..., description="The location of the terminus.") @@ -558,10 +546,6 @@ class DerivativeSequence(_VariationBase): sequence composed from multiple sequence adjacencies. """ - model_config = ConfigDict( - use_enum_values=True - ) - type: Literal["DerivativeSequence"] = Field("DerivativeSequence", description='MUST be "DerivativeSequence"') components: List[Union[IRI, Adjacency, Allele, SequenceTerminus, CisPhasedBlock]] = Field( ..., @@ -614,9 +598,6 @@ class CopyNumberChange(_CopyNumber): """An assessment of the copy number of a `Location` or a `Gene` within a system (e.g. genome, cell, etc.) relative to a baseline ploidy. """ - model_config = ConfigDict( - use_enum_values=True - ) type: Literal['CopyNumberChange'] = Field('CopyNumberChange', description='MUST be "CopyNumberChange"') copyChange: CopyChange = Field( @@ -674,7 +655,7 @@ class Location(RootModel): class Variation(RootModel): """A representation of the state of one or more biomolecules.""" - root: Union[Allele, CisPhasedBlock, Adjacency, SequenceTerminus, CopyNumberChange, CopyNumberCount] = Field( + root: Union[Allele, CisPhasedBlock, Adjacency, SequenceTerminus, DerivativeSequence, CopyNumberChange, CopyNumberCount] = Field( ..., json_schema_extra={ 'description': 'A representation of the state of one or more biomolecules.' From 5b89f0bb2d6ab20c5280b017ada49bc6b027327f Mon Sep 17 00:00:00 2001 From: Kori Kuzma Date: Tue, 9 Jul 2024 09:06:38 -0400 Subject: [PATCH 09/12] more fixes --- src/ga4gh/core/_internal/models.py | 5 +++-- src/ga4gh/vrs/_internal/models.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ga4gh/core/_internal/models.py b/src/ga4gh/core/_internal/models.py index c547ec67..9297456a 100644 --- a/src/ga4gh/core/_internal/models.py +++ b/src/ga4gh/core/_internal/models.py @@ -283,8 +283,8 @@ class _InformationEntity(_Entity): id: str specifiedBy: Optional[Union[Method, IRI]] = Field(None, description="A `Method` that describes all or part of the process through which the information was generated.") - contributions: Optional[List[Contribution]] = Field(description="A list of `Contribution` objects that describe the activities performed by agents upon this entity.") - isReportedIn: Optional[List[Union[Document, IRI]]] = Field(description="A document in which the information content is expressed.") + contributions: Optional[List[Contribution]] = Field(None, description="A list of `Contribution` objects that describe the activities performed by agents upon this entity.") + isReportedIn: Optional[List[Union[Document, IRI]]] = Field(None, description="A document in which the information content is expressed.") dateAuthored: Optional[str] = Field(None, description="Indicates when the information content expressed in the Information Entity was generated.") derivedFrom: Optional[List[_InformationEntity]] = Field(None, description="Another Information Entity from which this Information Entity is derived, in whole or in part.") recordMetadata: Optional[RecordMetadata] = Field(None, description="Metadata that applies to a specific concrete record of information as encoded in a particular system.") @@ -445,3 +445,4 @@ class Gene(_DomainEntity): Contribution.model_rebuild() Document.model_rebuild() Method.model_rebuild() +Activity.model_rebuild() diff --git a/src/ga4gh/vrs/_internal/models.py b/src/ga4gh/vrs/_internal/models.py index 31012d04..66064e75 100644 --- a/src/ga4gh/vrs/_internal/models.py +++ b/src/ga4gh/vrs/_internal/models.py @@ -17,7 +17,7 @@ import sys from ga4gh.core import sha512t24u, GA4GH_PREFIX_SEP, CURIE_SEP, CURIE_NAMESPACE, GA4GH_IR_REGEXP -from pydantic import BaseModel, ConfigDict, Field, RootModel, StringConstraints, model_serializer +from pydantic import BaseModel, Field, RootModel, StringConstraints, model_serializer from ga4gh.core._internal.pydantic import ( is_ga4gh_identifiable, From 4fb88d960513f14c11168087c8a88ba1ecdee3a2 Mon Sep 17 00:00:00 2001 From: Kori Kuzma Date: Tue, 9 Jul 2024 09:26:16 -0400 Subject: [PATCH 10/12] clean up forward references --- src/ga4gh/core/_internal/models.py | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/ga4gh/core/_internal/models.py b/src/ga4gh/core/_internal/models.py index 9297456a..03d03b67 100644 --- a/src/ga4gh/core/_internal/models.py +++ b/src/ga4gh/core/_internal/models.py @@ -10,20 +10,15 @@ * `import ga4gh.core`, and refer to models using the fully-qualified module name, e.g., `ga4gh.core.common_models.Gene` """ +from __future__ import annotations import datetime -from typing import Any, Dict, ForwardRef, Literal, Annotated, Optional, Union, List +from typing import Any, Dict, Literal, Annotated, Optional, Union, List from enum import Enum from pydantic import BaseModel, Field, RootModel, StringConstraints, constr, field_validator, model_serializer, model_validator from ga4gh.core import GA4GH_IR_REGEXP -# Declare forward references -_InformationEntity = ForwardRef("_InformationEntity") -Contribution = ForwardRef("Contribution") -Document = ForwardRef("Document") -Method = ForwardRef("Method") - ######################################### # GKS Common Abstract Entity & Utility Class Definitions ######################################### @@ -438,11 +433,3 @@ class Gene(_DomainEntity): 'Gene', description='MUST be "Gene".' ) - - -# Update forward references -_InformationEntity.model_rebuild() -Contribution.model_rebuild() -Document.model_rebuild() -Method.model_rebuild() -Activity.model_rebuild() From d5bcaf5a9cb060e83adf582744a62e9e9edcb9dd Mon Sep 17 00:00:00 2001 From: Kori Kuzma Date: Wed, 10 Jul 2024 09:12:54 -0400 Subject: [PATCH 11/12] feat: create enum for gks-common + vrs types close #309 --- src/ga4gh/core/_internal/models.py | 78 +++++++++++++++++++----------- src/ga4gh/vrs/_internal/models.py | 47 ++++++++++++------ 2 files changed, 82 insertions(+), 43 deletions(-) diff --git a/src/ga4gh/core/_internal/models.py b/src/ga4gh/core/_internal/models.py index 03d03b67..4ab17edc 100644 --- a/src/ga4gh/core/_internal/models.py +++ b/src/ga4gh/core/_internal/models.py @@ -176,6 +176,15 @@ class Expression(BaseModel): ######################################### +class CommonEntityType(str, Enum): + """Define GKS Common Entity types""" + + AGENT = "Agent" + CONTRIBUTION = "Contribution" + DOCUMENT = "Document" + METHOD = "Method" + + class _Entity(BaseModel): """Entity is the root class of the 'gks-common' core information model classes - those that have identifiers and other general metadata like labels, xrefs, urls, @@ -216,7 +225,7 @@ class Agent(_Entity): entity, or for another agent's activity. """ - type: Literal["Agent"] = Field("Agent", description="MUST be 'Agent'.") + type: Literal[CommonEntityType.AGENT] = Field(CommonEntityType.AGENT, description=f"MUST be '{CommonEntityType.AGENT.value}'.") name: Optional[str] = Field(None, description="The descriptive name of the agent.") subtype: Optional[AgentSubtype] = Field(None, description="A more specific type of agent the agent represents.") @@ -254,7 +263,7 @@ class Contribution(Activity): DataItem, Publication, etc.) """ - type: Literal["Contribution"] = "Contribution" + type: Literal[CommonEntityType.CONTRIBUTION] = CommonEntityType.CONTRIBUTION contributor: Optional[Agent] = Field(None, description="The agent that made the contribution.") contributionMadeTo: Optional[_InformationEntity] = Field(None, description="The artifact toward which the contribution was made.") # noqa: N815 activityType: Optional[Coding] = Field(None, description="SHOULD describe a concept descending from the Contributor Role Ontology.") @@ -287,7 +296,7 @@ class _InformationEntity(_Entity): class Document(_InformationEntity): """a representation of a physical or digital document""" - type: Literal["Document"] = "Document" + type: Literal[CommonEntityType.DOCUMENT] = CommonEntityType.DOCUMENT subtype: Optional[Coding] = Field( None, description="A more specific type for the document (e.g. a publication, patent, pathology report)" ) @@ -310,7 +319,7 @@ class Method(_InformationEntity): experimental protocols, curation guidelines, rule sets, etc.) """ - type: Literal["Method"] = Field("Method", description="MUST be 'Method'.") + type: Literal[CommonEntityType.METHOD] = Field(CommonEntityType.METHOD, description=f"MUST be '{CommonEntityType.METHOD.value}'.") isReportedIn: Optional[Union[Document, IRI]] = None # noqa: N815 subtype: Optional[Coding] = Field( None, @@ -323,12 +332,25 @@ class Method(_InformationEntity): # GKS Common Domain Entities ######################################### + +class CommonDomainType(str, Enum): + """Define GKS Common Domain Entity types""" + + PHENOTYPE = "Phenotype" + DISEASE = "Disease" + TRAIT_SET = "TraitSet" + TR_ACTION = "TherapeuticAction" + TR_AGENT = "TherapeuticAgent" + TR_SUB = "TherapeuticSubstituteGroup" + TR_COMB = "CombinationTherapy" + GENE = "Gene" + class Phenotype(_DomainEntity): """An observable characteristic or trait of an organism.""" - type: Literal['Phenotype'] = Field( - 'Phenotype', - description='MUST be "Phenotype".' + type: Literal[CommonDomainType.PHENOTYPE] = Field( + CommonDomainType.PHENOTYPE, + description=f'MUST be "{CommonDomainType.PHENOTYPE.value}".' ) @@ -337,18 +359,18 @@ class Disease(_DomainEntity): of all or part of an organism and is not immediately due to any external injury. """ - type: Literal['Disease'] = Field( - 'Disease', - description='MUST be "Disease".' + type: Literal[CommonDomainType.DISEASE] = Field( + CommonDomainType.DISEASE, + description=f'MUST be "{CommonDomainType.DISEASE.value}".' ) class TraitSet(_DomainEntity): """A set of phenotype and/or disease concepts that together constitute a condition.""" - type: Literal['TraitSet'] = Field( - 'TraitSet', - description='MUST be "TraitSet".' + type: Literal[CommonDomainType.TRAIT_SET] = Field( + CommonDomainType.TRAIT_SET, + description=f'MUST be "{CommonDomainType.TRAIT_SET.value}".' ) traits: List[Union[Disease, Phenotype]] = Field( ..., @@ -369,27 +391,27 @@ class Condition(RootModel): class TherapeuticAction(_DomainEntity): """A therapeutic action taken that is intended to alter or stop a pathologic process.""" - type: Literal['TherapeuticAction'] = Field( - 'TherapeuticAction', - description='MUST be "TherapeuticAction".' + type: Literal[CommonDomainType.TR_ACTION] = Field( + CommonDomainType.TR_ACTION, + description=f'MUST be "{CommonDomainType.TR_ACTION.value}".' ) class TherapeuticAgent(_DomainEntity): """An administered therapeutic agent that is intended to alter or stop a pathologic process.""" - type: Literal['TherapeuticAgent'] = Field( - 'TherapeuticAgent', - description='MUST be "TherapeuticAgent".' + type: Literal[CommonDomainType.TR_AGENT] = Field( + CommonDomainType.TR_AGENT, + description=f'MUST be "{CommonDomainType.TR_AGENT.value}".' ) class TherapeuticSubstituteGroup(_DomainEntity): """A group of therapeutic procedures that may be treated as substitutes for one another.""" - type: Literal['TherapeuticSubstituteGroup'] = Field( - 'TherapeuticSubstituteGroup', - description='MUST be "TherapeuticSubstituteGroup".' + type: Literal[CommonDomainType.TR_SUB] = Field( + CommonDomainType.TR_SUB, + description=f'MUST be "{CommonDomainType.TR_SUB.value}".' ) substitutes: List[Union[TherapeuticAction, TherapeuticAgent]] = Field( ..., @@ -403,9 +425,9 @@ class CombinationTherapy(_DomainEntity): performed in combination. """ - type: Literal['CombinationTherapy'] = Field( - 'CombinationTherapy', - description='MUST be "CombinationTherapy".' + type: Literal[CommonDomainType.TR_COMB] = Field( + CommonDomainType.TR_COMB, + description=f'MUST be "{CommonDomainType.TR_COMB.value}".' ) components: List[Union[TherapeuticSubstituteGroup, TherapeuticAction, TherapeuticAgent]] = Field( ..., @@ -429,7 +451,7 @@ class TherapeuticProcedure(RootModel): class Gene(_DomainEntity): """A basic physical and functional unit of heredity.""" - type: Literal['Gene'] = Field( - 'Gene', - description='MUST be "Gene".' + type: Literal[CommonDomainType.GENE] = Field( + CommonDomainType.GENE, + description=f'MUST be "{CommonDomainType.GENE.value}".' ) diff --git a/src/ga4gh/vrs/_internal/models.py b/src/ga4gh/vrs/_internal/models.py index 66064e75..44ca885b 100644 --- a/src/ga4gh/vrs/_internal/models.py +++ b/src/ga4gh/vrs/_internal/models.py @@ -125,6 +125,23 @@ def pydantic_class_refatt_map(): class_keys) +class VrsTypes(str, Enum): + """Define VRS Types""" + + LEN_EXPR = "LengthExpression" + REF_LEN_EXPR = "ReferenceLengthExpression" + LIT_SEQ_EXPR = "LiteralSequenceExpression" + SEQ_REF = "SequenceReference" + SEQ_LOC = "SequenceLocation" + ALLELE = "Allele" + CIS_PHASED_BLOCK = "CisPhasedBlock" + ADJACENCY = "Adjacency" + SEQ_TERMINUS = "SequenceTerminus" + DERIVATIVE_SEQ = "DerivativeSequence" + CN_COUNT = "CopyNumberCount" + CN_CHANGE = "CopyNumberChange" + + class ResidueAlphabet(str, Enum): """The interpretation of the character codes referred to by the refget accession, where "aa" specifies an amino acid character set, and "na" specifies a nucleic acid @@ -322,8 +339,8 @@ class SequenceString(RootModel): class LengthExpression(_ValueObject): """A sequence expressed only by its length.""" - type: Literal['LengthExpression'] = Field( - 'LengthExpression', description='MUST be "LengthExpression"' + type: Literal[VrsTypes.LEN_EXPR] = Field( + VrsTypes.LEN_EXPR, description=f'MUST be "{VrsTypes.LEN_EXPR.value}"' ) length: Optional[Union[Range, int]] = None @@ -337,8 +354,8 @@ class ga4gh(_ValueObject.ga4gh): class ReferenceLengthExpression(_ValueObject): """An expression of a length of a sequence from a repeating reference.""" - type: Literal['ReferenceLengthExpression'] = Field( - 'ReferenceLengthExpression', description='MUST be "ReferenceLengthExpression"' + type: Literal[VrsTypes.REF_LEN_EXPR] = Field( + VrsTypes.REF_LEN_EXPR, description=f'MUST be "{VrsTypes.REF_LEN_EXPR.value}"' ) length: Union[Range, int] = Field( ..., description='The number of residues of the expressed sequence.' @@ -361,8 +378,8 @@ class ga4gh(_ValueObject.ga4gh): class LiteralSequenceExpression(_ValueObject): """An explicit expression of a Sequence.""" - type: Literal['LiteralSequenceExpression'] = Field( - 'LiteralSequenceExpression', description='MUST be "LiteralSequenceExpression"' + type: Literal[VrsTypes.LIT_SEQ_EXPR] = Field( + VrsTypes.LIT_SEQ_EXPR, description=f'MUST be "{VrsTypes.LIT_SEQ_EXPR.value}"' ) sequence: SequenceString = Field(..., description='the literal sequence') @@ -381,7 +398,7 @@ class ga4gh(_ValueObject.ga4gh): class SequenceReference(_ValueObject): """A sequence of nucleic or amino acid character codes.""" - type: Literal['SequenceReference'] = Field('SequenceReference', description='MUST be "SequenceReference"') + type: Literal[VrsTypes.SEQ_REF] = Field(VrsTypes.SEQ_REF, description=f'MUST be "{VrsTypes.SEQ_REF.value}"') refgetAccession: Annotated[str, StringConstraints(pattern=r'^SQ.[0-9A-Za-z_\-]{32}$')] = Field( ..., description='A `GA4GH RefGet ` identifier for the referenced sequence, using the sha512t24u digest.', @@ -399,7 +416,7 @@ class ga4gh(_ValueObject.ga4gh): class SequenceLocation(_Ga4ghIdentifiableObject): """A `Location` defined by an interval on a referenced `Sequence`.""" - type: Literal['SequenceLocation'] = Field('SequenceLocation', description='MUST be "SequenceLocation"') + type: Literal[VrsTypes.SEQ_LOC] = Field(VrsTypes.SEQ_LOC, description=f'MUST be "{VrsTypes.SEQ_LOC.value}"') sequenceReference: Optional[Union[IRI, SequenceReference]] = Field( None, description='A reference to a `Sequence` on which the location is defined.' ) @@ -449,7 +466,7 @@ class _VariationBase(_Ga4ghIdentifiableObject): class Allele(_VariationBase): """The state of a molecule at a `Location`.""" - type: Literal['Allele'] = Field('Allele', description='MUST be "Allele"') + type: Literal[VrsTypes.ALLELE] = Field(VrsTypes.ALLELE, description=f'MUST be "{VrsTypes.ALLELE.value}"') location: Union[IRI, SequenceLocation] = Field( ..., description='The location of the Allele' ) @@ -469,7 +486,7 @@ class ga4gh(_Ga4ghIdentifiableObject.ga4gh): class CisPhasedBlock(_VariationBase): """An ordered set of co-occurring `Variation` on the same molecule.""" - type: Literal['CisPhasedBlock'] = Field('CisPhasedBlock', description='MUST be "CisPhasedBlock"') + type: Literal[VrsTypes.CIS_PHASED_BLOCK] = Field(VrsTypes.CIS_PHASED_BLOCK, description=f'MUST be "{VrsTypes.CIS_PHASED_BLOCK.value}"') members: List[Union[Allele, IRI]] = Field( ..., description='A list of `Alleles` that are found in-cis on a shared molecule.', @@ -502,7 +519,7 @@ class Adjacency(_VariationBase): potentially with an intervening linker sequence. """ - type: Literal['Adjacency'] = Field('Adjacency', description='MUST be "Adjacency"') + type: Literal[VrsTypes.ADJACENCY] = Field(VrsTypes.ADJACENCY, description=f'MUST be "{VrsTypes.ADJACENCY.value}"') adjoinedSequences: List[Union[IRI, SequenceLocation]] = Field( ..., description="The terminal sequence or pair of adjoined sequences that defines in the adjacency.", @@ -530,7 +547,7 @@ class SequenceTerminus(_VariationBase): is not allowed and it removes the unnecessary array structure. """ - type: Literal["SequenceTerminus"] = Field("SequenceTerminus", description='MUST be "SequenceTerminus"') + type: Literal[VrsTypes.SEQ_TERMINUS] = Field(VrsTypes.SEQ_TERMINUS, description=f'MUST be "{VrsTypes.SEQ_TERMINUS.value}"') location: Union[IRI, SequenceLocation] = Field(..., description="The location of the terminus.") class ga4gh(_Ga4ghIdentifiableObject.ga4gh): @@ -546,7 +563,7 @@ class DerivativeSequence(_VariationBase): sequence composed from multiple sequence adjacencies. """ - type: Literal["DerivativeSequence"] = Field("DerivativeSequence", description='MUST be "DerivativeSequence"') + type: Literal[VrsTypes.DERIVATIVE_SEQ] = Field(VrsTypes.DERIVATIVE_SEQ, description=f'MUST be "{VrsTypes.DERIVATIVE_SEQ.value}"') components: List[Union[IRI, Adjacency, Allele, SequenceTerminus, CisPhasedBlock]] = Field( ..., description="The sequence components that make up the derivative sequence.", @@ -580,7 +597,7 @@ class CopyNumberCount(_CopyNumber): (e.g. genome, cell, etc.). """ - type: Literal['CopyNumberCount'] = Field('CopyNumberCount', description='MUST be "CopyNumberCount"') + type: Literal[VrsTypes.CN_COUNT] = Field(VrsTypes.CN_COUNT, description=f'MUST be "{VrsTypes.CN_COUNT.value}"') copies: Union[Range, int] = Field( ..., description='The integral number of copies of the subject in a system' ) @@ -599,7 +616,7 @@ class CopyNumberChange(_CopyNumber): (e.g. genome, cell, etc.) relative to a baseline ploidy. """ - type: Literal['CopyNumberChange'] = Field('CopyNumberChange', description='MUST be "CopyNumberChange"') + type: Literal[VrsTypes.CN_CHANGE] = Field(VrsTypes.CN_CHANGE, description=f'MUST be "{VrsTypes.CN_CHANGE.value}"') copyChange: CopyChange = Field( ..., description='MUST be one of "efo:0030069" (complete genomic loss), "efo:0020073" (high-level loss), "efo:0030068" (low-level loss), "efo:0030067" (loss), "efo:0030064" (regional base ploidy), "efo:0030070" (gain), "efo:0030071" (low-level gain), "efo:0030072" (high-level gain).', From 456b74405f74ea218d8ab4b5d90635bd7ca17485 Mon Sep 17 00:00:00 2001 From: Kori Kuzma Date: Wed, 10 Jul 2024 09:42:40 -0400 Subject: [PATCH 12/12] refactor: remove _internal directories close #407 * Remove _internal directories and move files up a directory --- src/ga4gh/core/__init__.py | 35 +++++++++++++++---- src/ga4gh/core/_internal/__init__.py | 0 src/ga4gh/core/{_internal => }/digests.py | 0 src/ga4gh/core/{_internal => }/enderef.py | 0 src/ga4gh/core/{_internal => }/identifiers.py | 0 src/ga4gh/core/{_internal => }/models.py | 0 src/ga4gh/core/{_internal => }/pydantic.py | 0 src/ga4gh/vrs/__init__.py | 11 ++++-- src/ga4gh/vrs/{_internal => }/enderef.py | 0 src/ga4gh/vrs/{_internal => }/models.py | 4 +-- src/ga4gh/vrs/normalize.py | 2 +- 11 files changed, 40 insertions(+), 12 deletions(-) delete mode 100644 src/ga4gh/core/_internal/__init__.py rename src/ga4gh/core/{_internal => }/digests.py (100%) rename src/ga4gh/core/{_internal => }/enderef.py (100%) rename src/ga4gh/core/{_internal => }/identifiers.py (100%) rename src/ga4gh/core/{_internal => }/models.py (100%) rename src/ga4gh/core/{_internal => }/pydantic.py (100%) rename src/ga4gh/vrs/{_internal => }/enderef.py (100%) rename src/ga4gh/vrs/{_internal => }/models.py (99%) diff --git a/src/ga4gh/core/__init__.py b/src/ga4gh/core/__init__.py index 77466e15..640b2411 100644 --- a/src/ga4gh/core/__init__.py +++ b/src/ga4gh/core/__init__.py @@ -2,20 +2,43 @@ """ -import warnings from importlib.metadata import version, PackageNotFoundError -from ._internal.digests import sha512t24u -from ._internal.enderef import ga4gh_enref, ga4gh_deref -from ._internal.identifiers import ( +from .digests import sha512t24u +from .enderef import ga4gh_enref, ga4gh_deref +from .identifiers import ( ga4gh_digest, ga4gh_identify, ga4gh_serialize, is_ga4gh_identifier, parse_ga4gh_identifier, VrsObjectIdentifierIs, use_ga4gh_compute_identifier_when, CURIE_NAMESPACE, CURIE_SEP, GA4GH_PREFIX_SEP, GA4GH_IR_REGEXP, GA4GH_DIGEST_REGEXP ) -from ._internal.pydantic import ( +from .pydantic import ( is_pydantic_instance, is_curie_type, is_ga4gh_identifiable, is_literal, pydantic_copy ) -from ._internal import models as common_models +from . import models as common_models + +__all__ = [ + "sha512t24u", + "ga4gh_enref", + "ga4gh_deref", + "ga4gh_digest", + "ga4gh_identify", + "ga4gh_serialize", + "is_ga4gh_identifier", + "parse_ga4gh_identifier", + "VrsObjectIdentifierIs", + "use_ga4gh_compute_identifier_when", + "CURIE_NAMESPACE", + "CURIE_SEP", + "GA4GH_PREFIX_SEP", + "GA4GH_IR_REGEXP", + "GA4GH_DIGEST_REGEXP", + "is_pydantic_instance", + "is_curie_type", + "is_ga4gh_identifiable", + "is_literal", + "pydantic_copy", + "common_models" +] try: __version__ = version(__name__) diff --git a/src/ga4gh/core/_internal/__init__.py b/src/ga4gh/core/_internal/__init__.py deleted file mode 100644 index e69de29b..00000000 diff --git a/src/ga4gh/core/_internal/digests.py b/src/ga4gh/core/digests.py similarity index 100% rename from src/ga4gh/core/_internal/digests.py rename to src/ga4gh/core/digests.py diff --git a/src/ga4gh/core/_internal/enderef.py b/src/ga4gh/core/enderef.py similarity index 100% rename from src/ga4gh/core/_internal/enderef.py rename to src/ga4gh/core/enderef.py diff --git a/src/ga4gh/core/_internal/identifiers.py b/src/ga4gh/core/identifiers.py similarity index 100% rename from src/ga4gh/core/_internal/identifiers.py rename to src/ga4gh/core/identifiers.py diff --git a/src/ga4gh/core/_internal/models.py b/src/ga4gh/core/models.py similarity index 100% rename from src/ga4gh/core/_internal/models.py rename to src/ga4gh/core/models.py diff --git a/src/ga4gh/core/_internal/pydantic.py b/src/ga4gh/core/pydantic.py similarity index 100% rename from src/ga4gh/core/_internal/pydantic.py rename to src/ga4gh/core/pydantic.py diff --git a/src/ga4gh/vrs/__init__.py b/src/ga4gh/vrs/__init__.py index fdd445d7..adbec052 100644 --- a/src/ga4gh/vrs/__init__.py +++ b/src/ga4gh/vrs/__init__.py @@ -5,10 +5,15 @@ from importlib.metadata import version, PackageNotFoundError from .normalize import normalize -from ._internal.enderef import vrs_deref, vrs_enref -from ._internal import models +from .enderef import vrs_deref, vrs_enref +from . import models -__all__ = """models normalize schema_path vrs_deref vrs_enref""".split() +__all__ = [ + "normalize", + "vrs_deref", + "vrs_enref", + "models" +] try: __version__ = version(__name__) diff --git a/src/ga4gh/vrs/_internal/enderef.py b/src/ga4gh/vrs/enderef.py similarity index 100% rename from src/ga4gh/vrs/_internal/enderef.py rename to src/ga4gh/vrs/enderef.py diff --git a/src/ga4gh/vrs/_internal/models.py b/src/ga4gh/vrs/models.py similarity index 99% rename from src/ga4gh/vrs/_internal/models.py rename to src/ga4gh/vrs/models.py index 44ca885b..e0f304da 100644 --- a/src/ga4gh/vrs/_internal/models.py +++ b/src/ga4gh/vrs/models.py @@ -19,11 +19,11 @@ from pydantic import BaseModel, Field, RootModel, StringConstraints, model_serializer -from ga4gh.core._internal.pydantic import ( +from ga4gh.core.pydantic import ( is_ga4gh_identifiable, getattr_in ) -from ga4gh.core._internal.models import IRI, Expression, _DomainEntity +from ga4gh.core.models import IRI, Expression, _DomainEntity def flatten(vals): diff --git a/src/ga4gh/vrs/normalize.py b/src/ga4gh/vrs/normalize.py index 33dc70a5..41389937 100644 --- a/src/ga4gh/vrs/normalize.py +++ b/src/ga4gh/vrs/normalize.py @@ -11,7 +11,7 @@ from bioutils.normalize import normalize as _normalize, NormalizationMode from ga4gh.core import is_pydantic_instance, ga4gh_digest, pydantic_copy -from ._internal import models +from . import models from .dataproxy import SequenceProxy