diff --git a/.devcontainer.json b/.devcontainer.json index fd37ba22..3467fd4d 100644 --- a/.devcontainer.json +++ b/.devcontainer.json @@ -5,10 +5,7 @@ // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile "image": "mcr.microsoft.com/devcontainers/base:jammy", "features": { - "ghcr.io/rocker-org/devcontainer-features/miniforge:1": { - "version": "latest", - "variant": "Mambaforge" - } + "ghcr.io/rocker-org/devcontainer-features/miniforge:2": {} }, // Features to add to the dev container. More info: https://containers.dev/features. @@ -23,7 +20,10 @@ // Configure tool-specific properties. "customizations": { "vscode": { - "extensions": ["ms-python.python"], + "extensions": [ + "ms-python.python", + "ms-vscode.live-server" + ], "settings": { "python.condaPath": "/opt/conda/condabin/conda", "python.defaultInterpreterPath": "/opt/conda/envs/trtools/bin/python", diff --git a/.github/workflows/conventional-prs.yml b/.github/workflows/conventional-prs.yml index ecdcf9b0..91e887c9 100644 --- a/.github/workflows/conventional-prs.yml +++ b/.github/workflows/conventional-prs.yml @@ -18,6 +18,6 @@ jobs: statuses: write # for amannn/action-semantic-pull-request to mark status of analyzed PR runs-on: ubuntu-latest steps: - - uses: amannn/action-semantic-pull-request@v5.4.0 + - uses: amannn/action-semantic-pull-request@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 63566890..8b9b6d63 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -22,6 +22,7 @@ jobs: - { python: "3.12", os: "ubuntu-latest", session: "tests" } # - { python: "3.11", os: "windows-latest", session: "tests" } - { python: "3.8", os: "macos-13", session: "tests" } + - { python: "3.9", os: "macos-latest", session: "tests" } - { python: "3.8", os: "ubuntu-latest", session: "size" } - { python: "3.8", os: "ubuntu-latest", session: "coverage" } @@ -34,11 +35,10 @@ jobs: - name: Check out the repository uses: actions/checkout@v4 - - name: Setup Mambaforge + - name: Setup Miniforge uses: conda-incubator/setup-miniconda@v3 with: activate-environment: trtools - miniforge-variant: Mambaforge auto-activate-base: false miniforge-version: latest use-mamba: true @@ -101,7 +101,7 @@ jobs: uses: actions/checkout@v4 - name: Check for large files - uses: actionsdesk/lfs-warning@v3.2 + uses: ppremk/lfs-warning@v3.3 with: token: ${{ secrets.GITHUB_TOKEN }} # Optional filesizelimit: 500000b diff --git a/README.rst b/README.rst index 5eadde7b..b0f921c9 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,3 @@ - -.. a location that the doc/index.rst uses for including this file -.. before_header - .. image:: https://github.com/codespaces/badge.svg :width: 160 :target: https://codespaces.new/gymrek-lab/TRTools @@ -13,183 +9,11 @@ :target: https://codecov.io/gh/gymrek-lab/TRTools -.. a location that the doc/index.rst uses for including this file -.. after_header - TRTools ======= -.. a location that the doc/index.rst uses for including this file -.. after_title - TRTools includes a variety of utilities for filtering, quality control and analysis of tandem repeats downstream of genotyping them from next-generation sequencing. It supports multiple recent genotyping tools (see below). -See full documentation and examples at https://trtools.readthedocs.io/en/stable/. +See full documentation and examples at https://trtools.readthedocs.io If you use TRTools in your work, please cite: Nima Mousavi, Jonathan Margoliash, Neha Pusarla, Shubham Saini, Richard Yanicky, Melissa Gymrek. (2020) TRTools: a toolkit for genome-wide analysis of tandem repeats. Bioinformatics. (https://doi.org/10.1093/bioinformatics/btaa736) - -Install -------- - -Note: TRTools supports Python versions 3.8 and up. We do not officially support python version 3.7 as it is `end of life `_, but we believe TRTools likely works with it from previous testing results. - -With conda -^^^^^^^^^^ - -:: - - conda install -c conda-forge -c bioconda trtools - -Optionally install :code:`bcftools` which is used to prepare input files for TRTools (and :code:`ART` which is used by simTR) by running: - -:: - - conda install -c conda-forge -c bioconda bcftools art - -With pip -^^^^^^^^ - -First install :code:`htslib` (which contains :code:`tabix` and :code:`bgzip`). Optionally install :code:`bcftools`. -These are used to prepare input files for TRTools and aren't installed by pip. - -Then run: - -:: - - pip install --upgrade pip - pip install trtools - -Note: TRTools installation may fail for pip version 10.0.1, hence the need to upgrade pip first - -Note: if you will run or test :code:`simTR`, you will also need to install `ART `_. The simTR tests will only run if the executable :code:`art_illumina` is found on your :code:`PATH`. If it has been installed, :code:`which art_illumina` should return a path. - -From source -^^^^^^^^^^^ - -To install from source (only recommended for development) clone the TRTools repository from `github `_ and checkout the branch you're interested in:: - - git clone -b master https://github.com/gymrek-lab/TRTools - cd TRTools/ - -Now, create 1) a conda environment with our development tools and 2) a virtual environment with our dependencies and an editable install of TRTools:: - - conda env create -n trtools -f dev-env.yml - conda run -n trtools poetry install - -Now, whenever you'd like to run/import pytest or TRTools, you will first need to activate both environments:: - - conda activate trtools - poetry shell - -With Docker -^^^^^^^^^^^ - -Please refer to `the biocontainers registry for TRTools `_ for all of our images. To use the most recent release, run the following command:: - - docker pull quay.io/biocontainers/trtools:latest - -Tools ------ -TRTools includes the following tools. - -* `mergeSTR `_: a tool to merge VCF files across multiple samples genotyped using the same tool -* `dumpSTR `_: a tool for filtering VCF files with TR genotypes -* `qcSTR `_: a tool for generating various quality control plots for a TR callset -* `statSTR `_: a tool for computing various statistics on VCF files -* `compareSTR `_: a tool for comparing TR callsets -* `associaTR `_: a tool for testing TR length-phenotype associations (e.g., running a TR GWAS) -* `prancSTR `_: a tool for identifying somatic mosacisim at TRs. Currently only compatible with HipSTR VCF files. (*beta mode*) -* `simTR `_: a tool for simulating next-generation sequencing reads from TR regions. (*beta mode*) -* `annotaTR `_: a tool for annotating TR VCF files with dosage or other metadata and optionally converting to PGEN output. - -Type :code:` --help` to see a full set of options. - -It additionally includes a python library, :code:`trtools`, which can be accessed from within Python scripts. e.g.:: - - import trtools.utils.utils as stls - allele_freqs = {5: 0.5, 6: 0.5} # 50% of alleles have 5 repeat copies, 50% have 6 - stls.GetHeterozygosity(allele_freqs) # should return 0.5 - -Usage ------ - -We recommend new users start with the example commands described in the `command-line interface for each tool `_. -We also suggest going through our `vignettes `_ that walk through some example workflows using TRTools. - -Supported TR Callers --------------------- -TRTools supports VCFs from the following TR genotyping tools: - -* AdVNTR_ -* ExpansionHunter_ -* GangSTR_ version 2.4 or higher -* HipSTR [`main repo `_] [`Gymrek Lab repo `_] -* PopSTR_ version 2 or higher - -See our description of the `features and example use-cases `_ of each of these tools. - -.. - please ensure this list of links remains the same as the one in the main README - -.. _AdVNTR: https://advntr.readthedocs.io/en/latest/ -.. _ExpansionHunter: https://github.com/Illumina/ExpansionHunter -.. _GangSTR: https://github.com/gymreklab/gangstr -.. _HipSTR: https://hipstr-tool.github.io/HipSTR/ -.. _PopSTR: https://github.com/DecodeGenetics/popSTR - -Testing -------- -After you've installed TRTools, we recommend running our tests to confirm that TRTools works properly on your system. Just execute the following:: - - test_trtools.sh - -Development Notes ------------------ - -* TRTools only currently supports diploid genotypes. Haploid calls, such as those on male chrX or chrY, are not yet supported but should be coming soon. - -Contact Us ----------- -Please submit an issue on the `trtools github `_ - -.. _Contributing: - -Contributing ------------- -We appreciate contributions to TRTools. If you would like to contribute a fix or new feature, follow these guidelines: - -1. Consider `discussing `_ your solution with us first so we can provide help or feedback if necessary. -#. Install TRTools from source `as above `_. -#. Fork the TRTools repository. -#. Create a branch off of :code:`master` titled with the name of your feature. -#. Make your changes. -#. If you need to add a dependency or update the version of a dependency, you can use the :code:`poetry add` command. - - * You should specify a `version constraint `_ when adding a dependency. Use the oldest version compatible with your code. Don't worry if you're not sure at first, since you can (and should!) always update it later. For example, to specify a version of :code:`numpy>=1.23.0`, you can run :code:`poetry add 'numpy>=1.23.0'`. - * Afterwards, double-check that the :code:`poetry.lock` file contains 1.23.0 in it. **All of our dependencies should be locked to their minimum versions at all times.** To downgrade to a specific version of :code:`numpy` in our lock file, you can explicitly add the version via :code:`poetry add 'numpy==1.23.0'`, manually edit the pyproject.toml file to use a :code:`>=` sign in front of the version number, and then run :code:`poetry lock --no-update`. - -#. Document your changes. - - * Ensure all functions, modules, classes etc. conform to `numpy docstring standards `_. - - If applicable, update the REAMDEs in the directories of the files you changed with new usage information. - - * New doc pages for `the website `_ can be created under :code:`/doc` and linked to as appropriate. - * If you have added significant amounts of documentation in any of these ways, build the documentation locally to ensure it looks good. - - :code:`cd` to the :code:`doc` directory and run :code:`make clean && make html`, then view :code:`doc/_build/html/index.html` and navigate from there - -#. Add tests to test any new functionality. Add them to the :code:`tests/` folder in the directory of the code you modified. - - * :code:`cd` to the root of the project and run :code:`poetry run pytest --cov=. --cov-report term-missing` to make sure that (1) all tests pass and (2) any code you have added is covered by tests. (Code coverage may **not** go down). - * :code:`cd` to the root of the project and run :code:`nox` to make sure that the tests pass on all versions of python that we support. - -#. Submit a pull request (PR) **to the master branch** of the central repository with a description of what changes you have made. Prefix the title of the PR according to the `conventional commits spec `_. - A member of the TRTools team will reply and continue the contribution process from there, possibly asking for additional information/effort on your part. - - * If you are reviewing a pull request, please double-check that the PR addresses each item in `our PR checklist `_ - -Publishing ----------- -If you are a TRTools maintainer and wish to publish changes and distribute them to PyPI and bioconda, please see PUBLISHING.rst in the root of the git repo. -If you are a community member and would like that to happen, contact us (see above). diff --git a/dev-env.yml b/dev-env.yml index 5821b711..e3fede1e 100644 --- a/dev-env.yml +++ b/dev-env.yml @@ -4,12 +4,12 @@ channels: - nodefaults dependencies: - conda-forge::python=3.8 # the lowest version of python that we formally support - - conda-forge::pip==23.3.2 - - bioconda::bcftools==1.19 + - conda-forge::pip==24.0 + - bioconda::bcftools==1.20 - bioconda::art==2016.06.05 - conda-forge::poetry==1.8.3 # keep in sync with release.yml - - conda-forge::nox==2023.04.22 - - conda-forge::poetry-plugin-export==1.6.0 + - conda-forge::nox==2024.4.15 + - conda-forge::poetry-plugin-export==1.8.0 - pip: - nox-poetry==1.0.3 - poetry-conda==0.1.1 diff --git a/doc/CALLERS.rst b/doc/CALLERS.rst index a4259ebc..116bad6b 100644 --- a/doc/CALLERS.rst +++ b/doc/CALLERS.rst @@ -1,7 +1,9 @@ +.. _CALLERS: + Supported TR Genotypers ======================= -TRTools currently supports 5 tandem repeat genotypers. It also supports the Beagle imputation software (see :ref:`below `). +TRTools currently supports 6 tandem repeat genotypers. It also supports the Beagle imputation software (see :ref:`below `). We summarize them in the first table and provide some basic parameters of their functionality in the second. For more information on a genotyper, please see its website linked below. @@ -37,6 +39,9 @@ For more information on a genotyper, please see its website linked below. | PopSTR_ (v2.0) | Designed for genome-wide genotyping | | | of short or expanded TRs. | +----------------------------+--------------------------------------+ +| LongTR_ (v1.0) | Designed for genome-wide genotyping | +| | of STRs and VNTRs from long reads. | ++----------------------------+--------------------------------------+ | @@ -56,6 +61,8 @@ For more information on a genotyper, please see its website linked below. +----------------------------+--------------------------+----------------------------+------------------------+--------------------------+-------------------------+------------------------+ | PopSTR_ (v2.0) | 1-6bp | Yes | Length | 540,1401 (hg38) | Illumina | Many | +----------------------------+--------------------------+----------------------------+------------------------+--------------------------+-------------------------+------------------------+ +| LongTR_ (v1.0) | 1+bp | No | Length, sequence | No ref provided | PacBio HiFi, ONT | Many | ++----------------------------+--------------------------+----------------------------+------------------------+--------------------------+-------------------------+------------------------+ Since each of these tools take as input a list of TRs to genotype, they could also be used on custom panels of TR loci. Tool information and reference panel numbers shown above are based on downloads from the github repository of each tool as of July 2, 2020. @@ -67,11 +74,12 @@ see :ref:`Contributing` for more information. .. please ensure this list of links remains the same as the one in the main README -.. _AdVNTR: https://advntr.readthedocs.io/en/latest/ +.. _AdVNTR: https://advntr.readthedocs.io .. _ExpansionHunter: https://github.com/Illumina/ExpansionHunter .. _GangSTR: https://github.com/gymreklab/gangstr .. _HipSTR: https://hipstr-tool.github.io/HipSTR/ .. _PopSTR: https://github.com/DecodeGenetics/popSTR +.. _LongTR: https://github.com/gymrek-lab/longtr .. _Beagle_section: diff --git a/doc/LIBRARY_SPEC.rst b/doc/LIBRARY_SPEC.rst index a5c0194b..e20a7734 100644 --- a/doc/LIBRARY_SPEC.rst +++ b/doc/LIBRARY_SPEC.rst @@ -1,3 +1,5 @@ +.. _LIBRARY_SPEC: + TRHarmonizer Library Details ============================ diff --git a/doc/UTILITIES.rst b/doc/UTILITIES.rst index ba4f61c0..eb21101a 100644 --- a/doc/UTILITIES.rst +++ b/doc/UTILITIES.rst @@ -1,3 +1,5 @@ +.. _UTILITIES: + Command-Line Tools =========================== @@ -6,6 +8,7 @@ TRTools offers a variety of command-line tools for performing manipulations to T .. toctree:: :maxdepth: 1 + :name: source :hidden: source/dumpSTR.rst diff --git a/doc/VIGNETTES.rst b/doc/VIGNETTES.rst index bdaae8f2..1cba886f 100644 --- a/doc/VIGNETTES.rst +++ b/doc/VIGNETTES.rst @@ -1,3 +1,5 @@ +.. _VIGNETTES: + TRTools Vignettes ================== diff --git a/doc/index.rst b/doc/index.rst index 87264af7..c926ac4b 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -6,12 +6,203 @@ TRTools: a toolkit for genome-wide tandem repeat analysis ========================================================= -.. include:: ../README.rst - :start-after: before_header - :end-before: after_header +.. image:: https://github.com/codespaces/badge.svg + :width: 160 + :target: https://codespaces.new/gymrek-lab/TRTools + +.. image:: https://github.com/gymrek-lab/trtools/workflows/Tests/badge.svg + :target: https://github.com/gymrek-lab/trtools/workflows/Tests/badge.svg + +.. image:: https://codecov.io/gh/gymrek-lab/TRTools/branch/master/graph/badge.svg + :target: https://codecov.io/gh/gymrek-lab/TRTools + + +TRTools +======= + +TRTools includes a variety of utilities for filtering, quality control and analysis of tandem repeats downstream of genotyping them from next-generation sequencing. It supports multiple recent genotyping tools (see below). + +If you use TRTools in your work, please cite: Nima Mousavi, Jonathan Margoliash, Neha Pusarla, Shubham Saini, Richard Yanicky, Melissa Gymrek. (2020) TRTools: a toolkit for genome-wide analysis of tandem repeats. Bioinformatics. (https://doi.org/10.1093/bioinformatics/btaa736) + +Install +------- + +Note: TRTools supports Python versions 3.8 and up. We do not officially support python version 3.7 as it is `end of life `_, but we believe TRTools likely works with it from previous testing results. + +With conda +^^^^^^^^^^ + +:: + + conda install -c conda-forge -c bioconda trtools + +Optionally install :code:`bcftools` which is used to prepare input files for TRTools (and :code:`ART` which is used by simTR) by running: + +:: + + conda install -c conda-forge -c bioconda bcftools art + +With pip +^^^^^^^^ + +First install :code:`htslib` (which contains :code:`tabix` and :code:`bgzip`). Optionally install :code:`bcftools`. +These are used to prepare input files for TRTools and aren't installed by pip. + +Then run: + +:: + + pip install --upgrade pip + pip install trtools + +Note: TRTools installation may fail for pip version 10.0.1, hence the need to upgrade pip first + +Note: if you will run or test :code:`simTR`, you will also need to install `ART `_. The simTR tests will only run if the executable :code:`art_illumina` is found on your :code:`PATH`. If it has been installed, :code:`which art_illumina` should return a path. + +From source +^^^^^^^^^^^ + +If you would like to develop or edit the TRTools source code, you will need to perform a "dev install" directly from the source. + +**Note:** Instead of performing the following steps, you can also just open `a GitHub codespace `_. Simply type a comma "," when viewing a branch on `our GitHub `_ to open an editor with our development setup pre-installed. You can then run :code:`conda activate trtools` and :code:`poetry shell` in the terminal there. + +You can clone the TRTools repository from `github `_ and checkout the branch you're interested in:: + + git clone -b master https://github.com/gymrek-lab/TRTools + cd TRTools/ + +Now, create 1) a conda environment with our development tools and 2) a virtual environment with our dependencies and an editable install of TRTools:: + + conda env create -n trtools -f dev-env.yml + conda run -n trtools poetry install + +Now, whenever you'd like to run/import pytest or TRTools, you will first need to activate both environments:: + + conda activate trtools + poetry shell + +.. note:: + There's no need to install TRTools this way if you aren't planning to develop or edit the source code! If you want the latest version from our master branch and just can't wait for us to release it, you only need to run:: + + pip install --upgrade --force-reinstall git+https://github.com/gymrek-lab/trtools.git@master + +With Docker +^^^^^^^^^^^ + +Please refer to `the biocontainers registry for TRTools `_ for all of our images. To use the most recent release, run the following command:: + + docker pull quay.io/biocontainers/trtools:latest + +Tools +----- +TRTools includes the following tools. + +* :doc:`mergeSTR `: a tool to merge VCF files across multiple samples genotyped using the same tool +* :doc:`dumpSTR `: a tool for filtering VCF files with TR genotypes +* :doc:`qcSTR `: a tool for generating various quality control plots for a TR callset +* :doc:`statSTR `: a tool for computing various statistics on VCF files +* :doc:`compareSTR `: a tool for comparing TR callsets +* :doc:`associaTR `: a tool for testing TR length-phenotype associations (e.g., running a TR GWAS) +* :doc:`prancSTR `: a tool for identifying somatic mosacisim at TRs. Currently only compatible with HipSTR VCF files. (*beta mode*) +* :doc:`simTR `: a tool for simulating next-generation sequencing reads from TR regions. (*beta mode*) +* :doc:`annotaTR `: a tool for annotating TR VCF files with dosage or other metadata and optionally converting to PGEN output. + +Type :code:` --help` to see a full set of options. + +It additionally includes a python library, :code:`trtools`, which can be accessed from within Python scripts. e.g.:: + + import trtools.utils.utils as stls + allele_freqs = {5: 0.5, 6: 0.5} # 50% of alleles have 5 repeat copies, 50% have 6 + stls.GetHeterozygosity(allele_freqs) # should return 0.5 + +Usage +----- + +We recommend new users start with the example commands described in the :doc:`command-line interface for each tool `. +We also suggest going through our :doc:`vignettes ` that walk through some example workflows using TRTools. + +Supported TR Callers +-------------------- +TRTools supports VCFs from the following TR genotyping tools: + +* AdVNTR_ +* ExpansionHunter_ +* GangSTR_ version 2.4 or higher +* HipSTR [`main repo `_] [`Gymrek Lab repo `_] +* PopSTR_ version 2 or higher +* LongTR_ + +See our description of the :doc:`features and example use-cases ` of each of these tools. + +.. + please ensure this list of links remains the same as the one in CALLERS.rst + +.. _AdVNTR: https://advntr.readthedocs.io +.. _ExpansionHunter: https://github.com/Illumina/ExpansionHunter +.. _GangSTR: https://github.com/gymreklab/gangstr +.. _HipSTR: https://hipstr-tool.github.io/HipSTR/ +.. _PopSTR: https://github.com/DecodeGenetics/popSTR +.. _LongTR: https://github.com/gymrek-lab/longtr + +Testing +------- +After you've installed TRTools, we recommend running our tests to confirm that TRTools works properly on your system. Just execute the following:: + + test_trtools.sh + +Development Notes +----------------- + +* TRTools only currently supports diploid genotypes. Haploid calls, such as those on male chrX or chrY, are not yet supported but should be coming soon. + +Contact Us +---------- +Please submit an issue on the `trtools github `_ + +.. _Contributing: + +Contributing +------------ +We appreciate contributions to TRTools. If you would like to contribute a fix or new feature, follow these guidelines: + +1. Consider `discussing `_ your solution with us first so we can provide help or feedback if necessary. +#. Install TRTools from source `as above `_. +#. Fork the TRTools repository. +#. Create a branch off of :code:`master` titled with the name of your feature. +#. Make your changes. +#. If you need to add a dependency or update the version of a dependency, you can use the :code:`poetry add` command. + + * You should specify a `version constraint `_ when adding a dependency. Use the oldest version compatible with your code. For example, to specify a version of :code:`numpy>=1.23.0`, you can run :code:`poetry add 'numpy>=1.23.0'`. Note: For most cases, a version constraint operator of :code:`>=` `is better than `_ poetry's default of :code:`^`. + * Afterward, double-check that the :code:`poetry.lock` file contains 1.23.0 in it. **All of our dependencies should be locked to their minimum versions at all times.** To downgrade to a specific version of :code:`numpy` in our lock file, you can explicitly add the version via :code:`poetry add 'numpy==1.23.0'`, manually edit the pyproject.toml file to use a :code:`>=` sign in front of the version number, and then run :code:`poetry lock --no-update`. The :code:`--no-update` is important because otherwise, poetry will try to update other dependencies in the lock file. + * Only PyPI packages can be added to our pyproject.toml file. So if a dependency is only available on conda, then you can add it to our :code:`dev-env.yml` file instead. Please note that anyone who installs TRTools from PyPI will not be guaranteed to have your dependency installed, so you should design your code accordingly. + * Any changes to our dependencies must also added to our bioconda recipe at the time of publication. See `PUBLISHING.rst `_ for more details. + +#. Document your changes. + + * Ensure all functions, modules, classes etc. conform to `numpy docstring standards `_. + + If applicable, update the REAMDEs in the directories of the files you changed with new usage information. + + * New doc pages for `the website `_ can be created under :code:`/doc` and linked to as appropriate. + * If you have added significant amounts of documentation in any of these ways, build the documentation locally to ensure it looks good. + + :code:`cd` to the :code:`doc` directory and run :code:`make clean && make html`, then view :code:`doc/_build/html/index.html` and navigate from there + +#. Add tests to test any new functionality. Add them to the :code:`tests/` folder in the directory of the code you modified. + + * :code:`cd` to the root of the project and run :code:`poetry run pytest --cov=. --cov-report term-missing` to make sure that (1) all tests pass and (2) any code you have added is covered by tests. (Code coverage may **not** go down). + * :code:`cd` to the root of the project and run :code:`nox` to make sure that the tests pass on all versions of python that we support. + +#. Submit a pull request (PR) **to the master branch** of the central repository with a description of what changes you have made. Prefix the title of the PR according to the `conventional commits spec `_. + A member of the TRTools team will reply and continue the contribution process from there, possibly asking for additional information/effort on your part. + + * If you are reviewing a pull request, please double-check that the PR addresses each item in `our PR checklist `_ + +Publishing +---------- +If you are a TRTools maintainer and wish to publish changes and distribute them to PyPI and bioconda, please see PUBLISHING.rst in the root of the git repo. +If you are a community member and would like that to happen, contact us (see above). -.. include:: ../README.rst - :start-after: after_title Table of Contents ================= diff --git a/doc/source/annotaTR.rst b/doc/source/annotaTR.rst index 036cc49c..9dd3c326 100644 --- a/doc/source/annotaTR.rst +++ b/doc/source/annotaTR.rst @@ -1 +1,3 @@ -.. include:: ../../trtools/annotaTR/README.rst \ No newline at end of file +.. _source-annotaTR: + +.. include:: ../../trtools/annotaTR/README.rst diff --git a/doc/source/associaTR.rst b/doc/source/associaTR.rst index e7e8e802..cc06b2cc 100644 --- a/doc/source/associaTR.rst +++ b/doc/source/associaTR.rst @@ -1 +1,3 @@ +.. _source-associaTR: + .. include:: ../../trtools/associaTR/README.rst diff --git a/doc/source/compareSTR.rst b/doc/source/compareSTR.rst index 6c56bbe2..f00cb58a 100644 --- a/doc/source/compareSTR.rst +++ b/doc/source/compareSTR.rst @@ -1 +1,3 @@ +.. _source-compareSTR: + .. include:: ../../trtools/compareSTR/README.rst diff --git a/doc/source/dumpSTR.rst b/doc/source/dumpSTR.rst index 977b280d..b8716029 100644 --- a/doc/source/dumpSTR.rst +++ b/doc/source/dumpSTR.rst @@ -1 +1,3 @@ +.. _source-dumpSTR: + .. include:: ../../trtools/dumpSTR/README.rst diff --git a/doc/source/mergeSTR.rst b/doc/source/mergeSTR.rst index 20bebfb5..ca935097 100644 --- a/doc/source/mergeSTR.rst +++ b/doc/source/mergeSTR.rst @@ -1 +1,3 @@ +.. _source-mergeSTR: + .. include:: ../../trtools/mergeSTR/README.rst diff --git a/doc/source/prancSTR.rst b/doc/source/prancSTR.rst index 6b6441ec..abe92f41 100644 --- a/doc/source/prancSTR.rst +++ b/doc/source/prancSTR.rst @@ -1 +1,3 @@ -.. include:: ../../trtools/prancSTR/README.rst \ No newline at end of file +.. _source-prancSTR: + +.. include:: ../../trtools/prancSTR/README.rst diff --git a/doc/source/qcSTR.rst b/doc/source/qcSTR.rst index 3591674f..411d28c1 100644 --- a/doc/source/qcSTR.rst +++ b/doc/source/qcSTR.rst @@ -1 +1,3 @@ +.. _source-qcSTR: + .. include:: ../../trtools/qcSTR/README.rst diff --git a/doc/source/simTR.rst b/doc/source/simTR.rst index 2d62a09e..33bb7864 100644 --- a/doc/source/simTR.rst +++ b/doc/source/simTR.rst @@ -1 +1,3 @@ -.. include:: ../../trtools/simTR/README.rst \ No newline at end of file +.. _source-simTR: + +.. include:: ../../trtools/simTR/README.rst diff --git a/doc/source/statSTR.rst b/doc/source/statSTR.rst index 0c0e5c3b..ac8da4af 100644 --- a/doc/source/statSTR.rst +++ b/doc/source/statSTR.rst @@ -1 +1,3 @@ +.. _source-statSTR: + .. include:: ../../trtools/statSTR/README.rst diff --git a/example-files/HG002_htt_test.vcf.gz b/example-files/HG002_htt_test.vcf.gz new file mode 100644 index 00000000..9841797c Binary files /dev/null and b/example-files/HG002_htt_test.vcf.gz differ diff --git a/example-files/HG002_htt_test.vcf.gz.tbi b/example-files/HG002_htt_test.vcf.gz.tbi new file mode 100644 index 00000000..38485916 Binary files /dev/null and b/example-files/HG002_htt_test.vcf.gz.tbi differ diff --git a/example-files/HG003_htt_test.vcf.gz b/example-files/HG003_htt_test.vcf.gz new file mode 100644 index 00000000..bfc5c11b Binary files /dev/null and b/example-files/HG003_htt_test.vcf.gz differ diff --git a/example-files/HG003_htt_test.vcf.gz.tbi b/example-files/HG003_htt_test.vcf.gz.tbi new file mode 100644 index 00000000..09415fa0 Binary files /dev/null and b/example-files/HG003_htt_test.vcf.gz.tbi differ diff --git a/example-files/longtr_testfile.vcf.gz b/example-files/longtr_testfile.vcf.gz new file mode 100644 index 00000000..be80c1e3 Binary files /dev/null and b/example-files/longtr_testfile.vcf.gz differ diff --git a/example-files/longtr_testfile.vcf.gz.tbi b/example-files/longtr_testfile.vcf.gz.tbi new file mode 100644 index 00000000..df5e903c Binary files /dev/null and b/example-files/longtr_testfile.vcf.gz.tbi differ diff --git a/noxfile.py b/noxfile.py index 70b4b212..ebf9664f 100644 --- a/noxfile.py +++ b/noxfile.py @@ -47,7 +47,7 @@ def tests(session: Session) -> None: """Run the test suite.""" session.conda_install( "art", - "bcftools==1.19", + "bcftools", channel="bioconda", ) session.conda_install( diff --git a/pyproject.toml b/pyproject.toml index 5fc20d63..4389a14d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -68,7 +68,7 @@ annotaTR = "trtools.annotaTR:run" [tool.pytest.ini_options] addopts = """ ---ignore noxfile.py +--ignore noxfile.py --ignore trtools/testsupport/ -p trtools.testsupport.dataloader --doctest-modules """ diff --git a/test/cmdline_tests.sh b/test/cmdline_tests.sh index 3679b9ab..858c4b05 100755 --- a/test/cmdline_tests.sh +++ b/test/cmdline_tests.sh @@ -57,6 +57,8 @@ runcmd_pass "annotaTR --vcf ${BEAGLEDIR}/beagle_imputed_withap.vcf.gz --vcftype runcmd_fail "annotaTR --vcf ${EXDATADIR}/trio_chr21_gangstr.sorted.vcf.gz --out ${TMPDIR}/test" runcmd_fail "annotaTR --vcf ${EXDATADIR}/trio_chr21_gangstr.sorted.vcf.gz --dosages beagleap --outtype pgen --out ${TMPDIR}/test" runcmd_fail "annotaTR --vcf ${EXDATADIR}/trio_chr21_gangstr.sorted.vcf.gz --dosages beagleap_norm --outtype pgen --out ${TMPDIR}/test" +runcmd_fail "annotaTR --vcf ${BEAGLEDIR}/beagle_badap.vcf.gz --vcftype hipstr --ref-panel ${BEAGLEDIR}/beagle_refpanel.vcf.gz --match-refpanel-on rawalleles --dosages beagleap_norm --outtype pgen --out ${TMPDIR}/test" +runcmd_pass "annotaTR --vcf ${BEAGLEDIR}/beagle_badap.vcf.gz --vcftype hipstr --ref-panel ${BEAGLEDIR}/beagle_refpanel.vcf.gz --match-refpanel-on rawalleles --dosages beagleap_norm --outtype pgen --out ${TMPDIR}/test --warn-on-AP-error" # If file has SNPs+TRs but no refpanel, annotatr should fail runcmd_fail "annotaTR --vcf ${BEAGLEDIR}/beagle_imputed_withap.vcf.gz --vcftype hipstr --dosages beagleap --out ${TMPDIR}/test" @@ -117,6 +119,7 @@ runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_gangstr.sorted.vcf.gz --ou runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_gangstr.sorted.vcf.gz --out stdout --mean --vcftype eh" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_gangstr.sorted.vcf.gz --out stdout --mean --vcftype advntr" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_gangstr.sorted.vcf.gz --out stdout --mean --vcftype popstr" +runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_gangstr.sorted.vcf.gz --out stdout --mean --vcftype longtr" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_hipstr.sorted.vcf.gz --out stdout --mean --vcftype gangstr" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_hipstr.sorted.vcf.gz --out stdout --mean --vcftype eh" @@ -127,16 +130,20 @@ runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_eh.sorted.vcf.gz --out std runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_eh.sorted.vcf.gz --out stdout --mean --vcftype hipstr" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_eh.sorted.vcf.gz --out stdout --mean --vcftype advntr" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_eh.sorted.vcf.gz --out stdout --mean --vcftype popstr" +runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_eh.sorted.vcf.gz --out stdout --mean --vcftype longtr" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_popstr.sorted.vcf.gz --out stdout --mean --vcftype gangstr" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_popstr.sorted.vcf.gz --out stdout --mean --vcftype hipstr" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_popstr.sorted.vcf.gz --out stdout --mean --vcftype advntr" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_popstr.sorted.vcf.gz --out stdout --mean --vcftype eh" +runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_popstr.sorted.vcf.gz --out stdout --mean --vcftype longtr" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_advntr.sorted.vcf.gz --out stdout --mean --vcftype gangstr" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_advntr.sorted.vcf.gz --out stdout --mean --vcftype hipstr" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_advntr.sorted.vcf.gz --out stdout --mean --vcftype popstr" runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_advntr.sorted.vcf.gz --out stdout --mean --vcftype eh" +runcmd_fail "statSTR --vcf ${EXDATADIR}/NA12878_chr21_advntr.sorted.vcf.gz --out stdout --mean --vcftype longtr" + # Test mergeSTR on all supported tools # AdVNTR @@ -189,6 +196,11 @@ FILE2=${EXDATADIR}/NA12891_chr21_popstr.sorted.vcf.gz FILE3=${EXDATADIR}/NA12892_chr21_popstr.sorted.vcf.gz runcmd_pass "mergeSTR --vcfs ${FILE1},${FILE2},${FILE3} --out ${TMPDIR}/test_merge_popstr --vcftype popstr" +# LongTR +FILE1=${EXDATADIR}/HG002_htt_test.vcf.gz +FILE2=${EXDATADIR}/HG003_htt_test.vcf.gz +runcmd_pass "mergeSTR --vcfs ${FILE1},${FILE2} --out ${TMPDIR}/test_merge_longtr --vcftype longtr" + # Test mergeSTR on a file with list of VCFs FILE1=${EXDATADIR}/NA12878_chr21_hipstr.sorted.vcf.gz FILE2=${EXDATADIR}/NA12891_chr21_hipstr.sorted.vcf.gz @@ -209,6 +221,7 @@ runcmd_pass "dumpSTR --vcf ${EXDATADIR}/NA12878_chr21_advntr.sorted.vcf.gz --adv runcmd_pass "dumpSTR --vcf ${EXDATADIR}/NA12878_chr21_eh.sorted.vcf.gz --out ${TMPDIR}/test_dumpstr_eh --eh-min-call-LC 50 --num-records 10 --drop-filtered" runcmd_pass "dumpSTR --vcf ${EXDATADIR}/trio_chr21_gangstr.sorted.vcf.gz --out ${TMPDIR}/test_dumpstr_gangstr --min-locus-callrate 0.9 --num-records 10" runcmd_pass "dumpSTR --vcf ${EXDATADIR}/trio_chr21_hipstr.sorted.vcf.gz --vcftype hipstr --out ${TMPDIR}/test_dumpstr_hipstr --filter-hrun --num-records 10" +runcmd_pass "dumpSTR --vcf ${EXDATADIR}/longtr_testfile.vcf.gz --vcftype longtr --out ${TMPDIR}/test_dumpstr_longtr --use-length --filter-hrun --num-records 10" runcmd_pass "dumpSTR --vcf ${EXDATADIR}/trio_chr21_popstr.sorted.vcf.gz --out ${TMPDIR}/test_dumpstr_popstr --min-locus-callrate 0.9 --popstr-min-call-DP 10 --num-records 100" FILE1=${TMPDIR}/NA12878_advntr_reheader.vcf.gz @@ -226,6 +239,7 @@ runcmd_pass "qcSTR --vcf ${EXDATADIR}/trio_chr21_hipstr.sorted.vcf.gz --out ${TM runcmd_pass "qcSTR --vcf ${EXDATADIR}/NA12878_chr21_eh.sorted.vcf.gz --out ${TMPDIR}/test_qc_eh" runcmd_pass "qcSTR --vcf ${EXDATADIR}/NA12878_chr21_advntr.sorted.vcf.gz --out ${TMPDIR}/test_qc_advntr" runcmd_pass "qcSTR --vcf ${EXDATADIR}/trio_chr21_popstr.sorted.vcf.gz --out ${TMPDIR}/test_qc_popstr" +runcmd_pass "qcSTR --vcf ${EXDATADIR}/longtr_testfile.vcf.gz --vcftype longtr --out ${TMPDIR}/test_qc_longtr" runcmd_pass "qcSTR --vcf ${TMPDIR}/test_merge_gangstr.vcf --out ${TMPDIR}/test_qc_gangstr --period 4 --quality per-locus" runcmd_pass "qcSTR --vcf ${TMPDIR}/test_merge_hipstr.vcf --out ${TMPDIR}/test_qc_hipstr --vcftype hipstr --samples ${EXDATADIR}/ex-samples.txt" diff --git a/trtools/annotaTR/README.rst b/trtools/annotaTR/README.rst index 716978bf..b839a6ff 100644 --- a/trtools/annotaTR/README.rst +++ b/trtools/annotaTR/README.rst @@ -31,9 +31,11 @@ Required parameters: Other general parameters: -* :code:`--vcftype `: Which genotyping tool generated the input VCF. Default = :code:`auto`. Necessary if it cannot be automatically inferred. One of: :code:`gangstr`, :code:`advntr`, :code:`hipstr`, :code:`eh`, :code:`popstr`. +* :code:`--vcftype `: Which genotyping tool generated the input VCF. Default = :code:`auto`. Necessary if it cannot be automatically inferred. One of: :code:`gangstr`, :code:`advntr`, :code:`hipstr`, :code:`longtr`, :code:`eh`, :code:`popstr`. * :code:`--outtype `: Which output format to generate. Supported output types are :code:`vcf` or :code:`pgen`. If multiple types are listed (e.g. :code:`--outtype vcf pgen`), all specified output formats are generated. By default, only VCF output is generated at :code:`$outprefix.vcf`. If PGEN output is specified, the files :code:`$outprefix.pgen`, :code:`$outprefix.pvar`, and :code:`$outprefix.psam` are generated. See more on the `pgen format here `_ -* :code:`--chunk-size `: If writing PGEN output, load dosages in chunks of this many variants at a type. This can avoid out of memory errors if you are processing very large VCF files. +* :code:`--vcf-outtype `: Type of VCF output to produce. This option is ignored unless using :code:`--outtype vcf`. Options: z=compressed VCF, v=uncompressed VCF, b=compressed BCF, u=uncompressed BCF, s=stdout +* :code:`--region `: Restrict to processing a specific genomic region. Syntax: chr:start-end. +* :code:`--chunk-size `: If writing PGEN output, load dosages in chunks of this many variants at a time. This can avoid out-of-memory errors if you are processing very large VCF files. In addition to specifying input and output options above, you must specify at least one annotation operation to perform. These are described below. @@ -64,6 +66,10 @@ where the argument to the :code:`--dosages` option specifies the method to compu * :code:`beagpleap`: dosages for imputed calls are computed in a way that takes into account imputation uncertainty. This option requires the Beagle VCF FORMAT fields :code:`AP1` and :code:`AP2` to be present, which give the probability of each alternate allele on each of the two haplotypes of an individual. AP-based dosages are generated by computing a weighted sum of allele lengths for each haplotype and added together to get the total dosage for the genotype (:math:`\sum_{hap=1,2} \sum_{allele a} P(a_{hap})len(a)`). In the case of imputation with no uncertainty (all AP fields are either 0 or 1), dosages computed in this way should match best guess dosages. * :code:`beagleap_norm`: same as above, but scaled to be between 0 and 2. +Additional dosage options: + +* :code:`--warn-on-AP-error`: Output a warning, rather than quit, if invalid AP fields are encountered (i.e. if AP values are not found, do not sum to 1 or are negative, or if invalid dosage values are encountered after normalizing). + If annotating dosages, the following fields are added to VCF output files: * FORMAT field :code:`TRDS`. This is a float value giving the estimated TR dosage for each call. @@ -81,7 +87,7 @@ Note this functionality replaces the script :code:`trtools_prep_beagle_vcf.sh`. When TRs cannot be directly genotyped from sequencing data, an alternative is to impute them using `Beagle `_ with a phased reference panel of SNPs+TRs (e.g. see our latest `reference panel from EnsembleTR `_). -Using Beagle to impute TRs will output a VCF with both SNPs+TRs, and strips the TR-specific fields required by TRTools (see the `callers page `_ for more details). annotaTR can be used to add back these fields:: +Using Beagle to impute TRs will output a VCF with both SNPs+TRs, and strips the TR-specific fields required by TRTools (see the :doc:`callers page ` for more details). annotaTR can be used to add back these fields:: annotaTR \ --vcf \ @@ -101,10 +107,11 @@ Additional relevant options: * **rawalleles** means loci are matched on :code:`chrom:pos:ref:alt` * **trimmedalleles** means loci are matched on :code:`chrom:pos:ref:alt` but ref and alt alleles are trimmed to remove common prefixes/suffixes. The trimmedalleles option must be used if you merged samples in your target VCF file using :code:`bcftools merge`, since that tool will modify alleles to remove common sequence (see `this issue `_) * :code:`--ignore-duplicates`: This flag outputs a warning if duplicate loci are detected in the reference. If this flag is not set and a duplicate locus is detected, the program quits. +* :code:`--update-ref-alt`: Update the REF/ALT allele sequences from the reference panel. Fixes issue with alleles being chopped after bcftools merge. Use with caution as this assumes allele order is exactly the same between the refpanel and target VCF. Only works when matching on locus id. If generating a VCF output file, this command will output a new file containing only STRs, with the following fields added back depending on the genotyper used to generate the reference panel: -* For HipSTR-based reference panels: INFO fields START, END, PERIOD are added +* For HipSTR-based or LongTR-based reference panels: INFO fields START, END, PERIOD are added * For adVNTR: INFO fields RU, VID are added * For GangSTR: INFO field RU is added * For ExpansionHunter: INFO fields RU, VARID, RL are added diff --git a/trtools/annotaTR/annotaTR.py b/trtools/annotaTR/annotaTR.py index a47eac76..2bf0eb01 100644 --- a/trtools/annotaTR/annotaTR.py +++ b/trtools/annotaTR/annotaTR.py @@ -25,6 +25,7 @@ # Info fields copied from reference panel for each tool INFOFIELDS = { trh.VcfTypes.hipstr: ["START","END","PERIOD"], + trh.VcfTypes.longtr: ["START","END","PERIOD"], trh.VcfTypes.advntr: ["RU", "VID"], trh.VcfTypes.gangstr: ["RU"], trh.VcfTypes.eh: ["RU","VARID","RL"] @@ -45,6 +46,50 @@ class RefMatchTypes(enum.Enum): def __repr__(self): return '<{}.{}>'.format(self.__class__.__name__, self.name) +def CheckAlleleCompatibility(record_ref, record_alt, panel_ref, panel_alt): + """ + Check if the REF and ALT alleles of the record and + reference panel are compatible. + + In the case of running imputation with Beagle followed by + bcftools merge, allele order is maintained but sequences + themselves may be trimmed by bcftools. This causes problems + when harmonizing HipSTR records, since the START/END coords + are not updated accordingly. Using annotaTR option --update-ref-alt + can restore the original allele sequences from the refpanel. + This function provides basic checks to make sure the ref/alts + of the panel and target VCF are compatible. In particular: + - is the number of ALT alleles the same + - are all alleles offset by the same number of bp + - are all the ALTs in the target VCF substrings of the refpanel ALTS. + If any of these fail then the alleles are deemed incompatible. + + Parameters + ---------- + record_ref : str + REF allele of the target VCF + record_alt : list of str + ALT alleles of the target VCF + panel_ref : str + REF allele of the ref panel + panel_alt : list of str + ALT alleles of the ref panel + + Returns + ------- + is_compatible : bool + True if all checks pass, otherwise False + """ + if len(record_alt) != len(panel_alt): + return False + len_offset = len(panel_ref)-len(record_ref) + for i in range(len(panel_alt)): + if (len(panel_alt[i])-len(record_alt[i])) != len_offset: + return False + if record_alt[i].upper() not in panel_alt[i].upper(): + return False + return True + def UpdateVCFHeader(reader, command, vcftype, dosage_type=None, refreader=None): """ Update the VCF header of the reader to include: @@ -246,6 +291,7 @@ def LoadMetadataFromRefPanel(refreader, vcftype, match_on=RefMatchTypes.locid, The key depends on the match_on parameter (see above) Values is a Dict[str, str] with key=infofield and value=value of that info field in the reference panel + Also includes REF/ALT to check against alleles in imputed VCF variant_ct : int Total number of variants @@ -277,6 +323,8 @@ def LoadMetadataFromRefPanel(refreader, vcftype, match_on=RefMatchTypes.locid, raise ValueError( "Error: duplicate locus detected in refpanel: {locus}".format(locus=locuskey) ) + locdata["REF"] = record.REF + locdata["ALT"] = record.ALT metadata[locuskey] = locdata variant_ct += 1 return metadata, variant_ct @@ -364,12 +412,21 @@ def getargs(): # pragma: no cover inout_group.add_argument("--out", help="Prefix for output files", type=str, required=True) inout_group.add_argument("--outtype", help="Options=%s"%[str(item) for item in OutputFileTypes.__members__], type=str, nargs="+", default=["vcf"]) + inout_group.add_argument("--vcf-outtype", help="Type of VCF output to produce. " + "z=compressed VCF, v=uncompressed VCF, " + "b=compressed BCF, u=uncompressed BCF, s=stdout", type=str, default="v") + inout_group.add_argument("--region", help="Restrict analysis to this region. Syntax: chr:start-end", type=str) annot_group = parser.add_argument_group("Annotations") annot_group.add_argument( "--dosages", help="Compute genotype dosages. " "Optionally specify how. Options=%s"%[str(item) for item in trh.TRDosageTypes.__members__], type=str) + annot_group.add_argument( + "--warn-on-AP-error", + help="Output a warning but don't crash on error computing on AP field", + action="store_true" + ) annot_group.add_argument( "--ref-panel", help="Annotate Beagle-imputed VCF with TR metadata from the reference panel. " @@ -387,6 +444,12 @@ def getargs(): # pragma: no cover help="Output a warning but do not crash if duplicate loci in refpanel", action="store_true" ) + annot_group.add_argument("--update-ref-alt", help="Update the REF/ALT allele sequences from the " + "reference panel. Fixes issue with alleles being " + "chopped after bcftools merge. Use with caution " + "as this assumes allele order is exactly the same " + "between the refpanel and target VCF. Only works when " + "matching on locus id", action="store_true") other_group = parser.add_argument_group("Other options") other_group.add_argument( "--chunk-size", @@ -416,6 +479,14 @@ def main(args): if args.ref_panel is not None and not os.path.exists(args.ref_panel): common.WARNING("Error: %s does not exist"%args.ref_panel) return 1 + if args.match_refpanel_on != "locid" and args.update_ref_alt: + common.WARNING("Error: you cannot use --update-ref-alt unless " + " --match-refpanel-on is set to locid") + return 1 + if args.update_ref_alt and args.ref_panel is None: + common.WARNING("Error: --update-ref-alt only works with " + " --ref-panel.") + return 1 outtypes = set() for outtype in args.outtype: @@ -425,6 +496,9 @@ def main(args): except KeyError: common.WARNING("Invalid output type") return 1 + if args.vcf_outtype not in ["z","v","u","b","s"]: + common.WARNING("Invalid VCF output type specified: {vcf_outtype}".format(vcf_outtype=args.vcf_outtype)) + return 1 if args.vcftype != 'auto': if args.vcftype not in trh.VcfTypes.__members__: common.WARNING("Invalid vcftype") @@ -466,6 +540,8 @@ def main(args): common.WARNING("Error: reference panel annotation not " "currently supported for popSTR") return 1 + if args.region is not None: + refreader = refreader(args.region) try: match_on = RefMatchTypes[args.match_refpanel_on] except KeyError: @@ -474,7 +550,9 @@ def main(args): refpanel_metadata, ref_variant_ct = LoadMetadataFromRefPanel(refreader, refpanel_vcftype, match_on=match_on, ignore_duplicates=args.ignore_duplicates) if len(refpanel_metadata.keys()) == 0: - common.WARNING("Error: No TRs detected in reference panel. Was the right vcftype specified? Quitting") + common.WARNING("Error: No TRs detected in reference panel. Check: " + "Was the right vcftype specified? " + "Was an invalid region specified? Quitting") return 1 common.MSG("Loaded " + str(ref_variant_ct) + " TR loci from ref panel", debug=True) @@ -502,13 +580,29 @@ def main(args): # Update reader header, even if not writing VCF output # This is because we might add VCF fields for parsing # with TRHarmonizer along the way + # Note need to set up new refreader in case we set the region + # above in which case refreader is an iterator + tmp_refreader = None + if args.ref_panel is not None: + tmp_refreader = utils.LoadSingleReader(args.ref_panel, lazy=True, samples=set()) if not UpdateVCFHeader(reader, " ".join(sys.argv), vcftype, - dosage_type=dosage_type, refreader=refreader): + dosage_type=dosage_type, + refreader=tmp_refreader): common.WARNING("Error: problem initializing vcf header.") return 1 if OutputFileTypes.vcf in outtypes: - vcf_writer = cyvcf2.Writer(args.out+".vcf", reader) - + if args.vcf_outtype == "v": + vcf_writer = cyvcf2.Writer(args.out+".vcf", reader) + elif args.vcf_outtype == "z": + vcf_writer = cyvcf2.Writer(args.out+".vcf.gz", reader, mode="wz") + elif args.vcf_outtype == "b": + vcf_writer = cyvcf2.Writer(args.out+".bcf", reader, mode="wb") + elif args.vcf_outtype == "u": + vcf_writer = cyvcf2.Writer(args.out+".bcf", reader, mode="wbu") + elif args.vcf_outtype == "s": + vcf_writer = cyvcf2.Writer("-", reader) + else: + raise ValueError("Encountered invalid VCF output type") # variant_ct needed for pgen # If using a ref panel, assume we have same number # of TRs as the panel @@ -523,7 +617,10 @@ def main(args): ###### Process each record ####### num_variants_processed_batch = 0 num_variants_processed = 0 - dosages_batch = np.empty((args.chunk_size, len(reader.samples)), dtype=np.float32) + num_samples = len(reader.samples) + dosages_batch = np.empty((args.chunk_size, num_samples), dtype=np.float32) + if args.region: + reader = reader(args.region) for record in reader: # If using refpanel, first add required fields # In that case, only process records in the refpanel @@ -545,6 +642,16 @@ def main(args): continue for infofield in INFOFIELDS[vcftype]: record.INFO[infofield] = refpanel_metadata[locuskey][infofield] + if args.update_ref_alt: + # Update allele sequences to be exactly as in the + # reference panel. + if not CheckAlleleCompatibility(record.REF, record.ALT, + refpanel_metadata[locuskey]["REF"], refpanel_metadata[locuskey]["ALT"]): + raise ValueError("--update-ref-alt set but the REF/ALT fields" + " at {chrom}:{pos} are incompatible between the" + " refpanel and target VCF".format(chrom=record.CHROM, pos=record.POS)) + record.REF = refpanel_metadata[locuskey]["REF"] + record.ALT = refpanel_metadata[locuskey]["ALT"] try: trrecord = trh.HarmonizeRecord(vcfrecord=record, vcftype=vcftype) except: @@ -554,8 +661,16 @@ def main(args): return 1 minlen = trrecord.min_allele_length maxlen = trrecord.max_allele_length + # Add this check to warn us when bad things happen when parsing alleles + if minlen == maxlen and len(trrecord.ref_allele) < 5: + common.WARNING("Warning: Suspicious allele lengths found at " + "{chrom}:{pos}. If you imputed then used bcftools merge " + "and alleles were trimmed, consider using option " + "--update-ref-alt. Otherwise dosage values may be invalid. " + "Parsed alleles: ref={ref}, alt={alt}".format(chrom=record.CHROM, pos=record.POS, \ + ref=trrecord.ref_allele, alt=",".join(trrecord.alt_alleles))) if dosage_type is not None: - dosages = trrecord.GetDosages(dosage_type) + dosages = trrecord.GetDosages(dosage_type, strict=(not args.warn_on_AP_error)) # Update record record.INFO["DSLEN"] = "{minlen},{maxlen}".format(minlen=minlen, maxlen=maxlen) record.set_format("TRDS", np.array(dosages)) @@ -581,7 +696,7 @@ def main(args): if OutputFileTypes.pgen in outtypes: pgen_writer.append_dosages_batch(dosages_batch[:num_variants_processed_batch]) # Reset - dosages_batch = np.empty((args.chunk_size, len(reader.samples)), dtype=np.float32) + dosages_batch = np.empty((args.chunk_size, num_samples), dtype=np.float32) num_variants_processed_batch = 0 ###### Cleanup ####### diff --git a/trtools/annotaTR/tests/test_annotaTR.py b/trtools/annotaTR/tests/test_annotaTR.py index eda81650..e93294d6 100644 --- a/trtools/annotaTR/tests/test_annotaTR.py +++ b/trtools/annotaTR/tests/test_annotaTR.py @@ -1,9 +1,9 @@ -import argparse -import cyvcf2 -import gzip import os +import argparse import pytest +import numpy as np +from pgenlib import PgenReader from ..annotaTR import * from trtools.testsupport.utils import assert_same_vcf @@ -17,7 +17,10 @@ def args(tmpdir): args = argparse.ArgumentParser() args.vcf = None args.vcftype = "auto" + args.vcf_outtype = "v" + args.region = None args.out = str(tmpdir / "test") + args.update_ref_alt = False args.outtype = ["vcf"] args.dosages = None args.ref_panel = None @@ -25,6 +28,7 @@ def args(tmpdir): args.ignore_duplicates = False args.debug = False args.chunk_size = 1000 + args.warn_on_AP_error = False return args @pytest.fixture @@ -85,6 +89,36 @@ def test_OutTypes(args, vcfdir): args.outtype = ["pgen"] retcode = main(args) assert retcode==0 + args.vcf_outtype = "z" + retcode = main(args) + assert retcode==0 + args.vcf_outtype = "s" + retcode = main(args) + assert retcode==0 + args.vcf_outtype = "b" + retcode = main(args) + assert retcode==0 + args.vcf_outtype = "u" + retcode = main(args) + assert retcode==0 + args.vcf_outtype = "l" + retcode = main(args) + assert retcode==1 + # set back + args.vcf_outtype = "v" + # Should get pgen error if input VCF has fewer + # TRs than ref panel + args.vcf = os.path.join(vcfdir, "beagle", "beagle_imputed_noTRs.vcf.gz") + args.ref_panel = os.path.join(vcfdir, "beagle", "beagle_tinyrefpanel.vcf.gz") + args.match_refpanel_on = "locid" + args.dosages = "bestguess_norm" + args.outtype = ["pgen"] + args.out = "test" + retcode = main(args) + assert retcode==1 + for fname_ext in ("pgen", "pvar", "psam"): + if os.path.exists("test."+fname_ext): + os.remove("test."+fname_ext) # Check the pvar file can be ready by cyvcf2? #pvarfile = args.out + ".pvar" #test_reader = cyvcf2.VCF(pvarfile) @@ -108,6 +142,39 @@ def test_VCFType(args, vcfdir): retcode = main(args) assert retcode==0 +def test_UpdateRefAlt(args, vcfdir): + fname = os.path.join(vcfdir, "beagle", "beagle_imputed_withap.vcf.gz") + args.vcf = fname + args.vcftype = "hipstr" + args.ref_panel = os.path.join(vcfdir, "beagle", "beagle_refpanel.vcf.gz") + args.dosages = "beagleap" + args.update_ref_alt = True + # Won't work if matching on anything besides locid + args.match_refpanel_on = "rawalleles" + retcode = main(args) + assert retcode==1 + # Won't work with no ref panel + args.match_refpanel_on = "locid" + args.ref_panel = None + retcode = main(args) + assert retcode==1 + + # Try on good file with alleles that do match refpanel + args.match_refpanel_on = "locid" + fname = os.path.join(vcfdir, "beagle", "beagle_imputed_goodalleles.vcf.gz") + args.ref_panel = os.path.join(vcfdir, "beagle", "beagle_tinyrefpanel.vcf.gz") + args.vcf = fname + retcode = main(args) + assert retcode==0 + + # Try on dummy file with bad alleles that don't match refpanel + fname = os.path.join(vcfdir, "beagle", "beagle_imputed_badalleles.vcf.gz") + args.ref_panel = os.path.join(vcfdir, "beagle", "beagle_tinyrefpanel.vcf.gz") + args.vcf = fname + with pytest.raises(ValueError): + main(args) + + def test_DosageType(args, vcfdir): # Non-beagle VCF fname = os.path.join(vcfdir, "dumpSTR_vcfs", "trio_chr21_gangstr.sorted.vcf.gz") @@ -125,6 +192,17 @@ def test_DosageType(args, vcfdir): args.dosages = "beagleap_norm" retcode = main(args) assert retcode==1 + fname = os.path.join(vcfdir, "beagle", "1kg_snpstr_21_first_100k_second_50_STRs_imputed.vcf.gz") + args.vcf = fname + args.vcftype = "hipstr" + args.ref_panel = os.path.join(vcfdir, "beagle", "1kg_snpstr_21_first_100k_first_50_annotated.vcf.gz") + args.warn_on_AP_error = True # should't fail with missing AP + args.outtype = ["pgen","vcf"] + retcode = main(args) + assert retcode==0 + args.warn_on_AP_error = False # set back + with pytest.raises(ValueError): + main(args) # Beagle VCF fname = os.path.join(vcfdir, "beagle", "beagle_imputed_withap.vcf.gz") args.vcf = fname @@ -146,13 +224,52 @@ def test_DosageType(args, vcfdir): args.dosages = "beagleap_norm" retcode = main(args) assert retcode==0 + +def test_LoadRegion(args, vcfdir): + # Test good region + fname = os.path.join(vcfdir, "dumpSTR_vcfs", "trio_chr21_gangstr.sorted.vcf.gz") + args.vcf = fname + args.vcftype = "gangstr" + args.dosages = "bestguess" + args.region = "chr21:9489666-9546720" + retcode = main(args) + assert retcode==0 -def test_LoadRefpanel(args, vcfdir): + # Test region with refpanel fname = os.path.join(vcfdir, "beagle", "beagle_imputed_withap.vcf.gz") args.vcf = fname args.vcftype = "gangstr" args.ref_panel = os.path.join(vcfdir, "beagle", "beagle_refpanel.vcf.gz") retcode = main(args) + args.region = "chr21:14282813-14303433" + retcode = main(args) + assert retcode==0 + + # Region not in ref panel + # Fails because we find no TRs + args.region = "chr19:14282813-14303433" + retcode = main(args) + assert retcode==1 + + # Malformatted region + # Fails because we find no TRs + args.region = "XXXXX" + retcode = main(args) + assert retcode==1 + + # Note, cyvcf2 doesn't complain about malformatted regions + # and just will not return any intervals + # TODO: We might want to check regions here and in other tools + # like statstr and prancstr where users can set a region + +def test_LoadRefpanel(args, vcfdir): + fname = os.path.join(vcfdir, "beagle", "beagle_imputed_withap.vcf.gz") + args.vcf = fname + args.vcftype = "hipstr" + args.ref_panel = os.path.join(vcfdir, "beagle", "beagle_refpanel.vcf.gz") + args.match_refpanel_on = "rawalleles" + args.debug = True + retcode = main(args) assert retcode == 0 args.vcftype = "auto" retcode = main(args) @@ -163,7 +280,29 @@ def test_LoadRefpanel(args, vcfdir): args.match_refpanel_on = "locid" with pytest.raises(ValueError): main(args) + # Test on example where locid should work + args.vcf = os.path.join(vcfdir, "beagle", "1kg_snpstr_21_first_100k_second_50_STRs_imputed.vcf.gz") + args.ref_panel = os.path.join(vcfdir, "beagle", "1kg_snpstr_21_first_100k_first_50_annotated.vcf.gz") + args.match_refpanel_on = "locid" + args.vcftype = "hipstr" + retcode = main(args) + assert retcode == 0 + # Invalid match option + args.match_refpanel_on = "badoption" + with pytest.raises(ValueError): + GetLocusKey(None, match_on="bad match") + retcode = main(args) + assert retcode == 1 args.match_refpanel_on = "rawalleles" # set back for future tests + # Load mix of SNPs/TRs but no ref panel + fname = os.path.join(vcfdir, "beagle", "beagle_imputed_withap.vcf.gz") + args.vcf = fname + args.vcftype = "hipstr" + args.dosages = "bestguess" + args.ref_panel = None + args.debug = False + retcode = main(args) + assert retcode == 1 # Bad refpanel args.ref_panel = os.path.join(vcfdir, "missing_samples.txt") retcode = main(args) @@ -225,6 +364,60 @@ def test_TrimAlleles(): assert(new_ref == "TAAA") assert(new_alt[0] == ".") +def test_CheckAlleleCompatibility(): + # Alleles identical + panel_ref = "AAT" + panel_alt = ["AATAAT","AATAATAAT"] + record_ref = "AAT" + record_alt = ["AATAAT","AATAATAAT"] + assert CheckAlleleCompatibility(record_ref, record_alt, panel_ref, panel_alt) + + # Alleles in target subset of those in panel + panel_ref = "AATAAT" + panel_alt = ["AATAATAAT","AATAATAATAAT"] + record_ref = "AAT" + record_alt = ["AATAAT","AATAATAAT"] + assert CheckAlleleCompatibility(record_ref, record_alt, panel_ref, panel_alt) + + panel_ref = "AATAAG" + panel_alt = ["AATAATAAG","AATAATAATAAG"] + record_ref = "AAG" + record_alt = ["AATAAG","AATAATAAG"] + assert CheckAlleleCompatibility(record_ref, record_alt, panel_ref, panel_alt) + + panel_ref = "AAGAAT" + panel_alt = ["AAGAATAAT","AATAATAATAAT"] + record_ref = "AAG" + record_alt = ["AAGAAT","AATAATAAT"] + assert CheckAlleleCompatibility(record_ref, record_alt, panel_ref, panel_alt) + + # Different numbers of alleles + panel_ref = "AAGAAT" + panel_alt = ["AAGAATAAT"] + record_ref = "AAG" + record_alt = ["AAGAAT","AATAATAAT"] + assert not CheckAlleleCompatibility(record_ref, record_alt, panel_ref, panel_alt) + + panel_ref = "AAGAAT" + panel_alt = ["AAGAATAAT","AATAATAATAAT"] + record_ref = "AAG" + record_alt = ["AAGAAT"] + assert not CheckAlleleCompatibility(record_ref, record_alt, panel_ref, panel_alt) + + # Alleles in target not a subset of refpanel + panel_ref = "AATAAT" + panel_alt = ["AATAAGAAT","AATAATAATAAT"] + record_ref = "AAT" + record_alt = ["AATAAT","AATAATAAT"] + assert not CheckAlleleCompatibility(record_ref, record_alt, panel_ref, panel_alt) + + # Offsets not the same + panel_ref = "AATAAT" + panel_alt = ["AATAATAAT","AATAATAATAATAAT"] + record_ref = "AAT" + record_alt = ["AATAAT","AATAATAAT"] + assert not CheckAlleleCompatibility(record_ref, record_alt, panel_ref, panel_alt) + """ These tests run annotaTR and compare its output to output that has been generated by a previous version of @@ -237,7 +430,7 @@ def test_TrimAlleles(): it should prevent any unexpected changes in output. If you've reviewed the change in output and find it acceptable, use trtools/testsupport/sample_vcfs/annotaTR_vcfs/create_test_files.sh -to regenerate the test files with the new version of mergeSTR. +to regenerate the test files with the new version of annotaTR. """ def test_OutputFilesSame(args, vcfdir, antrvcfdir): @@ -271,3 +464,45 @@ def test_OutputFilesSame(args, vcfdir, antrvcfdir): args.match_refpanel_on = "trimmedalleles" assert main(args) == 0 assert_same_vcf(args.out + ".vcf", antrvcfdir + "/beagleap_trimmed.vcf", max_lines_to_compare=200) + +def test_PGENOutputSame(args, vcfdir): + # what are the expected dosages? shape: num_variants x num_samples + exp_dosages = np.array([ + [-9, -9, -9], + [1.333313, 1.333313, 1], + [0, 0, 0], + [1.5, 1.5, 1.5], + [1.083313, 1, 0.916687], + [1.25, 1.5, 1], + [1.5, 1.5, 1.375], + [1, 1.333313, 1.333313], + [1.2000122, 1.2000122, 1.4000244], + [2, 2, 2], + [0.75, 1, 1.25], + [1, 1, 1], + [2, 2, 2], + [0.875, 1.15625, 1.2625122], + [0.833313, 1.166687, 0.666687], + [0.7999878, 0.5999756, 0.7999878], + [1, 1, 1], + [2, 1, 2], + ], dtype=np.float32) + + args.vcf = os.path.join(vcfdir, "beagle", "beagle_badap.vcf.gz") + args.ref_panel = os.path.join(vcfdir, "beagle", "beagle_refpanel.vcf.gz") + args.vcftype = "hipstr" + args.dosages = "beagleap_norm" + args.match_refpanel_on = "rawalleles" + args.outtype = ["pgen"] + args.warn_on_AP_error = True + assert main(args) == 0 + pgen = PgenReader(bytes(args.out + ".pgen", "utf8")) + num_vars = pgen.get_variant_ct() + dosages = np.empty((num_vars, pgen.get_raw_sample_ct()), dtype=np.float32) + pgen.read_dosages_list(np.arange(num_vars, dtype=np.uint32), dosages) + np.testing.assert_allclose(dosages, exp_dosages) + + for fname_ext in ("pgen", "pvar", "psam"): + if os.path.exists("test."+fname_ext): + os.remove("test."+fname_ext) + diff --git a/trtools/associaTR/README.rst b/trtools/associaTR/README.rst index 14df88e5..0f654efa 100644 --- a/trtools/associaTR/README.rst +++ b/trtools/associaTR/README.rst @@ -43,7 +43,7 @@ Required positional parameters: Optional input parameters: -* :code:`--vcftype` One of :code:`eh, hipstr, gangstr, popstr, advntr` +* :code:`--vcftype` One of :code:`eh, hipstr, longtr, gangstr, popstr, advntr` Specify which caller produced the TR VCF, useful when the VCF is ambiguous and the caller cannot be automatically inferred. * :code:`--same-samples` - see the description of traits above diff --git a/trtools/associaTR/associaTR.py b/trtools/associaTR/associaTR.py index 50f3be8f..4d63f10e 100755 --- a/trtools/associaTR/associaTR.py +++ b/trtools/associaTR/associaTR.py @@ -17,6 +17,7 @@ from . import load_and_filter_genotypes import trtools import trtools.utils.utils as utils +import trtools.utils.tr_harmonizer as trh pval_precision = 2 @@ -491,7 +492,7 @@ def run(): 'Traits and the phenotype will be standardized to mean 0 and std 1 prior to regression, but ' 'coefficients/standard errors are transformed back to the original scale before being written out.' ) - parser.add_argument('--vcftype', choices=['eh', 'hipstr', 'gangstr', 'popstr', 'advntr'], + parser.add_argument('--vcftype', choices=[str(item) for item in trh.VcfTypes.__members__], help="Specify which caller produced the TR VCF, useful when the VCF is ambiguous " "and the caller cannot be automatically inferred.") parser.add_argument('--same-samples', default=False, action='store_true', diff --git a/trtools/compareSTR/README.rst b/trtools/compareSTR/README.rst index 1ab09936..647a11b4 100644 --- a/trtools/compareSTR/README.rst +++ b/trtools/compareSTR/README.rst @@ -17,7 +17,7 @@ CompareSTR optionally will stratify results based on a user-specified FORMAT fie Note: CompareSTR is designed to be used as a QC tool. While it may be able to pick up certain biological differences in some applications (e.g. identifying de novo mutations by comparing parent and child callsets or somatic mutations by comparing callsets from different tissues), use-case specific analyses may be better performed by more specialized tools. -Note: CompareSTR has the ability to stratify comparisons based on quality scores. However, beware that quality scores output by different genotypers may not be directly comparable. You can use `qcSTR `_ to visualize the distribution of quality scores in each VCF file seprately. +Note: CompareSTR has the ability to stratify comparisons based on quality scores. However, beware that quality scores output by different genotypers may not be directly comparable. You can use :doc:`qcSTR ` to visualize the distribution of quality scores in each VCF file seprately. Usage ----- @@ -83,7 +83,7 @@ compareSTR outputs the following text files and plots: * :code:`-samplecompare.tab`: Has columns sample, metric-conc-seq, metric-conc-len, numcalls. One line per sample * :code:`-samplecompare.pdf`: Plots the length concordance metric for each sample considered. -See `Example Commands`_ below for example compareSTR commands for different supported TR genotypers based on example data files in this repository. More detailed use cases are also given in the vignettes https://trtools.readthedocs.io/en/stable/VIGNETTES.html +See `Example Commands`_ below for example compareSTR commands for different supported TR genotypers based on example data files in this repository. More detailed use cases are also given in :doc:`the vignettes ` Instructions on Compressing and Indexing VCF files -------------------------------------------------- diff --git a/trtools/dumpSTR/README.rst b/trtools/dumpSTR/README.rst index be4821cb..e6dce278 100644 --- a/trtools/dumpSTR/README.rst +++ b/trtools/dumpSTR/README.rst @@ -29,7 +29,7 @@ See a description of output files below. Other general parameters: * :code:`--vcftype `: Which genotyping tool generated the input VCF. Default = :code:`auto`. - Necessary if it cannot be automatically inferred. One of: :code:`gangstr`, :code:`advntr`, :code:`hipstr`, :code:`eh`, :code:`popstr`. + Necessary if it cannot be automatically inferred. One of: :code:`gangstr`, :code:`advntr`, :code:`hipstr`, :code:`longtr`, :code:`eh`, :code:`popstr`. * :code:`--zip` to output a bgzipped filtered VCF (:code:`$out.vcf.gz`) and tabix index (:code:`$out.vcf.gz.tbi`) instead of :code:`$out.vcf`. * :code:`--num-records `: only process this many records from the input VCF file @@ -60,10 +60,10 @@ These filters are not specific to any tool and can be applied to any VCF file: where p_i is the frequency of allele i * :code:`--max-locus-het `: Filters loci with high heterozygosity -* :code:`--use-length`: Use allele lengths, rather than sequences, to compute heterozygosity and HWE (only relevant for HipSTR, which reports sequence level differences in TR alleles) +* :code:`--use-length`: Use allele lengths, rather than sequences, to compute heterozygosity and HWE (only relevant for HipSTR and LongTR, which report sequence level differences in TR alleles) * :code:`--filter-regions `: Filter TRs overlapping the specified set of regions. Must be used with :code:`--filter-regions-names`. Can supply a comma-separated list to each to apply multiple region filters. Bed files must be sorted and tabix-indexed. Note that regions are 0-based and inclusive of the start position, but exclusive of the end position. * :code:`--filter-regions-names `: Filter names for each BED file specified in :code:`--filter-regions`. -* :code:`--filter-hrun`: Filter repeats with long homopolymer runs. Only used for HipSTR VCF files otherwise ignored. Filters pentanucleotides with homopolymer runs of 5bp or longer, or hexanucleotides with homopolymer runs of 6bp or longer. +* :code:`--filter-hrun`: Filter repeats with long homopolymer runs. Only used for HipSTR or LongTR VCF files otherwise ignored. Filters pentanucleotides with homopolymer runs of 5bp or longer, or hexanucleotides with homopolymer runs of 6bp or longer. * :code:`--drop-filtered`: Do not output loci that were filtered, or loci with no calls remaining after filtering. TRs passing all locus-level filters will be marked as "PASS" in the FILTER field. @@ -133,6 +133,14 @@ HipSTR call-level filters * :code:`--hipstr-max-call-DP `: Maximum call coverage. Based on DP field. * :code:`--hipstr-min-call-Q `: Minimum call quality score. Based on Q field. +LongTR call-level filters +************************** +* :code:`--longtr-max-call-flank-indel `: Maximum call flank indel rate. Computed as DFLANKINDEL/DP +* :code:`--longtr-min-supp-reads `: Minimum supporting reads for each allele. Based on ALLREADS and GB fields +* :code:`--longtr-min-call-DP `: Minimum call coverage. Based on DP field. +* :code:`--longtr-max-call-DP `: Maximum call coverage. Based on DP field. +* :code:`--longtr-min-call-Q `: Minimum call quality score. Based on Q field. + PopSTR call-level filters ************************** * :code:`--popstr-min-call-DP `: Minimum call coverage. Based on DP field. @@ -170,3 +178,6 @@ Below are :code:`dumpSTR` examples using VCFs from supported TR genotypers. Data # PopSTR dumpSTR --vcf trio_chr21_popstr.sorted.vcf.gz --out test_dumpstr_popstr --min-locus-callrate 0.9 --popstr-min-call-DP 10 --num-records 100 + # LongTR + dumpSTR --vcf longtr_testfile.vcf.gz --vcftype longtr --out test_dumpstr_longtr --min-locus-callrate 0.9 --longtr-min-call-Q 0.9 + diff --git a/trtools/dumpSTR/dumpSTR.py b/trtools/dumpSTR/dumpSTR.py index f1d709aa..15a86471 100644 --- a/trtools/dumpSTR/dumpSTR.py +++ b/trtools/dumpSTR/dumpSTR.py @@ -85,10 +85,10 @@ def CheckLocusFilters(args, vcftype, is_beagle: bool): if args.max_locus_het < args.min_locus_het: common.WARNING("Cannot have --max-locus-het less than --min-locus-het") return False - if args.use_length and vcftype not in [trh.VcfTypes["hipstr"]]: - common.WARNING("--use-length is only meaningful for HipSTR, which reports sequence level differences.") - if args.filter_hrun and vcftype not in [trh.VcfTypes["hipstr"]]: - common.WARNING("--filter-hrun only relevant to HipSTR files. This filter will have no effect.") + if args.use_length and vcftype not in [trh.VcfTypes["hipstr"], trh.VcfTypes["longtr"]]: + common.WARNING("--use-length is only meaningful for HipSTR or LongTR, which report sequence level differences.") + if args.filter_hrun and vcftype not in [trh.VcfTypes["hipstr"], trh.VcfTypes["longtr"]]: + common.WARNING("--filter-hrun only relevant to HipSTR or LongTR files. This filter will have no effect.") if args.filter_regions is not None: if args.filter_regions_names is not None: filter_region_files = args.filter_regions.split(",") @@ -150,6 +150,53 @@ def CheckHipSTRFilters(format_fields, args): assert "Q" in format_fields return True +def CheckLongTRFilters(format_fields, args): + r"""Check LongTR call-level filters + + Parameters + ---------- + format_fields : + The format fields used in this VCF + args : argparse namespace + Contains user arguments + + Returns + ------- + checks : bool + Set to True if all filters look ok. + Set to False if filters are invalid + """ + if args.longtr_max_call_flank_indel is not None: + if args.longtr_max_call_flank_indel < 0 or args.longtr_max_call_flank_indel > 1: + common.WARNING("--longtr-max-call-flank-indel must be between 0 and 1") + return False + assert "DP" in format_fields and "DFLANKINDEL" in format_fields # should always be true + if args.longtr_min_supp_reads is not None: + if args.longtr_min_supp_reads < 0: + common.WARNING("--longtr-min-supp-reads must be >= 0") + return False + assert "ALLREADS" in format_fields and "GB" in format_fields + if args.longtr_min_call_DP is not None: + if args.longtr_min_call_DP < 0: + common.WARNING("--longtr-min-call-DP must be >= 0") + return False + assert "DP" in format_fields + if args.longtr_max_call_DP is not None: + if args.longtr_max_call_DP < 0: + common.WARNING("--longtr-max-call-DP must be >= 0") + return False + assert "DP" in format_fields + if args.longtr_min_call_DP is not None and args.longtr_max_call_DP is not None: + if args.longtr_max_call_DP < args.longtr_min_call_DP: + common.WARNING("--longtr-max-call-DP must be >= --longtr-min-call-DP") + return False + if args.longtr_min_call_Q is not None: + if args.longtr_min_call_Q < 0 or args.longtr_min_call_Q > 1: + common.WARNING("--longtr-min-call-Q must be between 0 and 1") + return False + assert "Q" in format_fields + return True + def CheckGangSTRFilters(format_fields, args): r"""Check GangSTR call-level filters @@ -391,6 +438,22 @@ def CheckFilters(format_fields: Set[str], if not CheckHipSTRFilters(format_fields, args): return False + # Check LongTR specific filters + if args.longtr_max_call_flank_indel is not None or \ + args.longtr_min_supp_reads is not None or \ + args.longtr_min_call_DP is not None or \ + args.longtr_max_call_DP is not None or \ + args.longtr_min_call_Q is not None: + if vcftype != trh.VcfTypes["longtr"]: + common.WARNING("LongTR options can only be applied to LongTR VCFs") + return False + elif is_beagle: + common.WARNING("LongTR call level filters cannot be applied to Beagle VCFs") + return False + else: + if not CheckLongTRFilters(format_fields, args): + return False + # Check GangSTR specific filters if args.gangstr_min_call_DP is not None or \ args.gangstr_max_call_DP is not None or \ @@ -740,6 +803,18 @@ def BuildCallFilters(args): if args.hipstr_min_call_Q is not None: filter_list.append(filters.CallFilterMinValue("HipSTRCallMinQ", "Q", args.hipstr_min_call_Q)) + # LongTR call-level filters (reuse HipSTR functions when possible) + if args.longtr_max_call_flank_indel is not None: + filter_list.append(filters.HipSTRCallFlankIndels(args.longtr_max_call_flank_indel, rename="LongTRCallFlankIndels")) + if args.longtr_min_supp_reads is not None: + filter_list.append(filters.HipSTRCallMinSuppReads(args.longtr_min_supp_reads, rename="LongTRMinSuppReads")) + if args.longtr_min_call_DP is not None: + filter_list.append(filters.CallFilterMinValue("LongTRCallMinDepth", "DP", args.longtr_min_call_DP)) + if args.longtr_max_call_DP is not None: + filter_list.append(filters.CallFilterMaxValue("LongTRCallMaxDepth", "DP", args.longtr_max_call_DP)) + if args.longtr_min_call_Q is not None: + filter_list.append(filters.CallFilterMinValue("LongTRCallMinQ", "Q", args.longtr_min_call_Q)) + # GangSTR call-level filters if args.gangstr_min_call_DP is not None: filter_list.append(filters.CallFilterMinValue("GangSTRCallMinDepth", "DP", args.gangstr_min_call_DP)) @@ -931,6 +1006,13 @@ def getargs(): # pragma: no cover hipstr_call_group.add_argument("--hipstr-max-call-DP", help="Maximum call coverage", type=int) hipstr_call_group.add_argument("--hipstr-min-call-Q", help="Minimum call quality score", type=float) + longtr_call_group = parser.add_argument_group("Call-level filters specific to LongTR output") + longtr_call_group.add_argument("--longtr-max-call-flank-indel", help="Maximum call flank indel rate", type=float) + longtr_call_group.add_argument("--longtr-min-supp-reads", help="Minimum supporting reads for each allele", type=int) + longtr_call_group.add_argument("--longtr-min-call-DP", help="Minimum call coverage", type=int) + longtr_call_group.add_argument("--longtr-max-call-DP", help="Maximum call coverage", type=int) + longtr_call_group.add_argument("--longtr-min-call-Q", help="Minimum call quality score", type=float) + gangstr_call_group = parser.add_argument_group("Call-level filters specific to GangSTR output") gangstr_call_group.add_argument("--gangstr-min-call-DP", help="Minimum call coverage", type=int) gangstr_call_group.add_argument("--gangstr-max-call-DP", help="Maximum call coverage", type=int) diff --git a/trtools/dumpSTR/filters.py b/trtools/dumpSTR/filters.py index 390d04e9..14d1ff59 100644 --- a/trtools/dumpSTR/filters.py +++ b/trtools/dumpSTR/filters.py @@ -191,8 +191,8 @@ class Filter_LocusHrun(FilterBase): """ Class to filter VCF records for penta- or hexanucleotide STRs with long homopolymer runs - This only works on HipSTR VCFs. STRs with long homopolymer runs have been - shown to be difficult for HipSTR to call. + This only works on HipSTR or LongTR VCFs. STRs with long homopolymer runs have been + shown to be difficult for HipSTR to call and may be challenging with LongTR. This filter removes 5-mers with homopolymer runs >= len 5 and 6-mers with homopolymer runs >= len 6 """ @@ -414,6 +414,7 @@ def __call__(self, record: trh.TRRecord): class HipSTRCallFlankIndels(Reason): """Filter HipSTR calls with many indels in flanks + This filter may also be used on LongTR which has similar fields. Extends Reason class. Filters on the percentage of reads with indels in flanks. @@ -423,6 +424,8 @@ class HipSTRCallFlankIndels(Reason): ---------- threshold : float Minimum percent of reads that can have indels in their flanks + rename : str (optional) + Use a different name for this filter Attributes ---------- @@ -433,8 +436,10 @@ class HipSTRCallFlankIndels(Reason): name = "HipSTRCallFlankIndels" """The name of the filter""" - def __init__(self, threshold): + def __init__(self, threshold, rename=None): self.threshold = threshold + if rename is not None: + self.name = rename self.name += str(threshold) def __call__(self, record: trh.TRRecord): sample_filter = np.full((record.GetNumSamples()), np.nan) @@ -454,6 +459,8 @@ class HipSTRCallStutter(Reason): ---------- threshold : float Minimum percent of reads that can have stutter errors + rename : str (optional) + Use a different name for this filter Attributes ---------- @@ -464,8 +471,10 @@ class HipSTRCallStutter(Reason): name = "HipSTRCallStutter" """The name of the filter""" - def __init__(self, threshold): + def __init__(self, threshold, rename=None): self.threshold = threshold + if rename is not None: + self.name = rename self.name += str(threshold) def __call__(self, record: trh.TRRecord): sample_filter = np.full((record.GetNumSamples()), np.nan) @@ -476,6 +485,7 @@ def __call__(self, record: trh.TRRecord): class HipSTRCallMinSuppReads(Reason): """Filter HipSTR calls for which alleles are supported by too few reads + This filter may also be used on LongTR which has similar fields. Extends Reason class. Filters on the number of reads supporting each called allele. @@ -489,6 +499,8 @@ class HipSTRCallMinSuppReads(Reason): ---------- threshold : int Minimum number of reads supporting each allele + rename : str (optional) + Use a different name for this filter Attributes ---------- @@ -499,8 +511,10 @@ class HipSTRCallMinSuppReads(Reason): name = "HipSTRMinSuppReads" """The name of the filter""" - def __init__(self, threshold): + def __init__(self, threshold, rename=None): self.threshold = threshold + if rename is not None: + self.name = rename self.name += str(threshold) def __call__(self, record: trh.TRRecord): called_samples = record.GetCalledSamples() diff --git a/trtools/dumpSTR/tests/test_dumpSTR.py b/trtools/dumpSTR/tests/test_dumpSTR.py index 9051c4a3..2932f3ad 100644 --- a/trtools/dumpSTR/tests/test_dumpSTR.py +++ b/trtools/dumpSTR/tests/test_dumpSTR.py @@ -34,6 +34,11 @@ def args(tmpdir): args.hipstr_max_call_flank_indel = None args.hipstr_max_call_stutter = None args.hipstr_min_supp_reads = None + args.longtr_min_call_DP = None + args.longtr_max_call_DP = None + args.longtr_min_call_Q = None + args.longtr_max_call_flank_indel = None + args.longtr_min_supp_reads = None args.gangstr_expansion_prob_het = None args.gangstr_expansion_prob_hom = None args.gangstr_expansion_prob_total = None @@ -165,6 +170,19 @@ def test_HipSTRFile(args, testDumpSTRdir): retcode = main(args) assert retcode==0 +def test_LongTRFile(args, testDumpSTRdir): + fname = os.path.join(testDumpSTRdir, "longtr_testfile.vcf.gz") + args.vcf = fname + args.num_records = 10 + args.longtr_min_call_DP = 10 + args.longtr_max_call_DP = 100 + args.longtr_min_call_Q = 0.9 + args.longtr_min_supp_reads = 2 + args.longtr_max_call_flank_indel = 0.05 + args.vcftype = 'longtr' + retcode = main(args) + assert retcode==0 + def test_AdVNTRFile(args, testDumpSTRdir): fname = os.path.join(testDumpSTRdir, "test_advntr.vcf.gz") args.vcf = fname @@ -253,7 +271,8 @@ def test_LocusLevel(args, testDumpSTRdir): "NA12878_chr21_eh.sorted.vcf.gz", "NA12878_chr21_popstr.sorted.vcf.gz", "NA12878_chr21_popstr.sorted.vcf.gz", - "NA12878_chr21_advntr.sorted.vcf.gz" + "NA12878_chr21_advntr.sorted.vcf.gz", + "longtr_testfile.vcf.gz" ] for fname in tool_files: args.vcf = os.path.join(testDumpSTRdir, fname) @@ -267,6 +286,8 @@ def test_LocusLevel(args, testDumpSTRdir): args.filter_hrun = True if 'hipstr' in fname: args.vcftype = 'hipstr' + elif 'longtr' in fname: + args.vcftype = 'longtr' else: args.vcftype = 'auto' assert main(args)==0 @@ -314,7 +335,6 @@ def test_InvalidHipstrOptions(args, testDumpSTRdir): args.vcftype = 'hipstr' retcode = main(args) assert retcode==1 - args.hipstr_max_call_flank_indel = None args.hipstr_max_call_flank_indel = 2 retcode = main(args) assert retcode==1 @@ -345,6 +365,36 @@ def test_InvalidHipstrOptions(args, testDumpSTRdir): args.hipstr_min_call_Q = 2 assert main(args)==1 +def test_InvalidLongtrOptions(args, testDumpSTRdir): + fname = os.path.join(testDumpSTRdir, "longtr_testfile.vcf.gz") + args.vcf = fname + args.num_records = 10 + args.longtr_max_call_flank_indel = -1 + args.vcftype = 'longtr' + retcode = main(args) + assert retcode==1 + args.longtr_max_call_flank_indel = 2 + retcode = main(args) + assert retcode==1 + args.longtr_max_call_flank_indel = -1 + retcode = main(args) + assert retcode==1 + args.longtr_min_supp_reads = None + args.longtr_min_call_DP = -1 + assert main(args)==1 + args.longtr_min_call_DP = None + args.longtr_max_call_DP = -1 + assert main(args)==1 + args.longtr_min_call_DP = 5 + args.longtr_max_call_DP = 2 + assert main(args)==1 + args.longtr_min_call_DP = None + args.longtr_max_call_DP = None + args.longtr_min_call_Q = -1 + assert main(args)==1 + args.longtr_min_call_Q = 2 + assert main(args)==1 + def test_InvalidGangSTROptions(args, testDumpSTRdir): fname = os.path.join(testDumpSTRdir, "test_gangstr.vcf.gz") args.vcf = fname @@ -771,6 +821,36 @@ def test_output_hipstr_filters(args, testDumpSTRdir): testDumpSTRdir + '/hipstr_filters' + ext, ext) +# test longtr call and locus level filters +def test_output_longtr_filters(args, testDumpSTRdir): + args.vcf = testDumpSTRdir + '/longtr_testfile.vcf.gz' + args.filter_hrun = True + args.use_length = True + args.max_locus_het = 0.45 + args.min_locus_het = 0.05 + args.min_locus_hwep = 0.5 + args.longtr_max_call_flank_indel = 0.05 + args.longtr_min_supp_reads = 10 + args.longtr_min_call_DP = 30 + args.longtr_max_call_DP = 200 + args.longtr_min_call_Q = 0.9 + args.vcftype = 'longtr' + + assert main(args) == 0 + # expect changes in precision for HET and HWEP + # that will make them too much of a pain to compare + # there are also rounding errors with HipSTR field GLDIFF + # that aren't worth worrying about + print(args.out) + assert_same_vcf(args.out + '.vcf', + testDumpSTRdir + '/longtr_filters.vcf', + info_ignore = {'AC', 'REFAC', 'HET', 'HWEP'}, + format_ignore= {'GLDIFF'}) + for ext in '.samplog.tab', '.loclog.tab': + assert_same_file(args.out + ext, + testDumpSTRdir + '/longtr_filters' + ext, + ext) + # test gangstr call level filters that don't begin # with 'expansion' - those are tested on another file diff --git a/trtools/dumpSTR/tests/test_filters.py b/trtools/dumpSTR/tests/test_filters.py index 70cf7afe..55beb53e 100644 --- a/trtools/dumpSTR/tests/test_filters.py +++ b/trtools/dumpSTR/tests/test_filters.py @@ -25,6 +25,11 @@ def base_argparse(tmpdir): args.hipstr_max_call_flank_indel = None args.hipstr_max_call_stutter = None args.hipstr_min_supp_reads = None + args.longtr_min_call_DP = None + args.longtr_max_call_DP = None + args.longtr_min_call_Q = None + args.longtr_max_call_flank_indel = None + args.longtr_min_supp_reads = None args.gangstr_expansion_prob_het = None args.gangstr_expansion_prob_hom = None args.gangstr_expansion_prob_total = None @@ -283,11 +288,20 @@ def __init__(self): call_filters = BuildCallFilters(args) assert len(call_filters) == 1 out = call_filters[0](TestRec()) - print(out) assert out[0] == pytest.approx(0.5) assert np.isnan(out[1]) assert np.isnan(out[2]) # don't apply filter to nocalls + assert(call_filters[0].name == "HipSTRCallFlankIndels0.4") + # Make sure this also works for longtr + args = base_argparse(tmpdir) + args.vcftype = "longtr" + args.longtr_max_call_flank_indel = 0.4 + call_filters = BuildCallFilters(args) + assert len(call_filters) == 1 + out = call_filters[0](TestRec()) + assert out[0] == pytest.approx(0.5) + assert(call_filters[0].name == "LongTRCallFlankIndels0.4") def test_HipstrMaxCallStutter(tmpdir): class TestRec(DummyRecBase): @@ -336,6 +350,15 @@ def GetCalledSamples(self): assert out[6] == 0 # If ALLREADS is missing, filter assert np.isnan(out[7]) # don't apply filter to nocalls assert np.isnan(out[8]) # don't apply filter to nocalls + assert call_filters[0].name == "HipSTRMinSuppReads50" + + args = base_argparse(tmpdir) + args.longtr_min_supp_reads = 50 + call_filters = BuildCallFilters(args) + assert len(call_filters) == 1 + out = call_filters[0](TestRec()) + assert out[1] == 23 + assert call_filters[0].name == "LongTRMinSuppReads50" def test_HipstrMinSuppReads_no_called_samples_with_reads(tmpdir): class TestRec(DummyRecBase): @@ -362,7 +385,7 @@ def GetCalledSamples(self): assert np.all(out[[6,8]] == 0) assert np.all(np.isnan(out[[0,1,2,3,4,5,7]])) -def test_HipstrDP(tmpdir): +def test_HipstrLongtrDP(tmpdir): class TestRec(DummyRecBase): def __init__(self): super().__init__() @@ -386,8 +409,25 @@ def __init__(self): assert np.isnan(out[0]) assert np.isnan(out[2]) # don't apply filter to nocalls + args = base_argparse(tmpdir) + args.longtr_min_call_DP = 15 + call_filters = BuildCallFilters(args) + assert len(call_filters) == 1 + out = call_filters[0](TestRec()) + assert out[0] == 10 + assert np.isnan(out[1]) + assert np.isnan(out[2]) # don't apply filter to nocalls + + args = base_argparse(tmpdir) + args.longtr_max_call_DP = 15 + call_filters = BuildCallFilters(args) + assert len(call_filters) == 1 + out = call_filters[0](TestRec()) + assert out[1] == 20 + assert np.isnan(out[0]) + assert np.isnan(out[2]) # don't apply filter to nocalls -def test_HipstrMinCallQ(tmpdir): +def test_HipstrLongtrMinCallQ(tmpdir): class TestRec(DummyRecBase): def __init__(self): super().__init__() @@ -402,6 +442,15 @@ def __init__(self): assert np.isnan(out[1]) assert np.isnan(out[2]) # don't apply filter to nocalls + args = base_argparse(tmpdir) + args.longtr_min_call_Q = 0.6 + call_filters = BuildCallFilters(args) + assert len(call_filters) == 1 + out = call_filters[0](TestRec()) + assert out[0] == pytest.approx(0.5) + assert np.isnan(out[1]) + assert np.isnan(out[2]) # don't apply filter to nocalls + ''' Test needs to be updated from old pyvcf syntax to new cyvcf2 syntax diff --git a/trtools/mergeSTR/README.rst b/trtools/mergeSTR/README.rst index 8c00b677..c2cf496b 100644 --- a/trtools/mergeSTR/README.rst +++ b/trtools/mergeSTR/README.rst @@ -126,3 +126,8 @@ Below are :code:`mergeSTR` examples using VCFs from supported TR genotypers. Dat FILE2=NA12891_chr21_popstr.sorted.vcf.gz FILE3=NA12892_chr21_popstr.sorted.vcf.gz mergeSTR --vcfs ${FILE1},${FILE2},${FILE3} --out test_merge_popstr --vcftype popstr # outputs test_merge_popstr.vcf + + # LongTR + FILE1=HG002_htt_test.vcf.gz + FILE2=HG003_htt_test.vcf.gz + mergeSTR --vcfs ${FILE1},${FILE2} --out test_merge_longtr --vcftype longtr # outputs test_merge_longtr.vcf diff --git a/trtools/mergeSTR/mergeSTR.py b/trtools/mergeSTR/mergeSTR.py index 30335d63..9542af87 100644 --- a/trtools/mergeSTR/mergeSTR.py +++ b/trtools/mergeSTR/mergeSTR.py @@ -33,6 +33,10 @@ ("AN", False), ("REFAC", False), ("AC", False), ("NSKIP", False), \ ("NFILT", False), ("DP", False), ("DSNP", False), ("DSTUTTER", False), \ ("DFLANKINDEL", False)], + trh.VcfTypes.longtr: [("BPDIFFS", False), ("START", True), ("END", True), ("PERIOD", True), \ + ("AN", False), ("REFAC", False), ("AC", False), ("NSKIP", False), \ + ("NFILT", False), ("DP", False), ("DSNP", False), \ + ("DFLANKINDEL", False)], trh.VcfTypes.eh: [("END", True), ("REF", True), ("REPID", True), ("RL", True), \ ("RU", True), ("SVTYPE", False), ("VARID", True)], trh.VcfTypes.popstr: [("Motif", True)], # TODO ("RefLen", True) omitted. since it is marked as "A" incorrectly @@ -46,6 +50,8 @@ trh.VcfTypes.gangstr: ["DP", "Q", "REPCN", "REPCI", "RC", "ENCLREADS", "FLNKREADS", "ML", "INS", "STDERR", "QEXP"], trh.VcfTypes.hipstr: ["GB", "Q", "PQ", "DP", "DSNP", "PSNP", "PDP", "GLDIFF", "DSTUTTER", "DFLANKINDEL", "AB", "FS", "DAB", "ALLREADS", "MALLREADS"], + trh.VcfTypes.longtr: ["GB", "Q", "PQ", "DP", "DSNP", "PSNP", "PDP", "GLDIFF", "DFLANKINDEL", "AB", "FS", + "DAB", "ALLREADS", "MALLREADS"], trh.VcfTypes.eh: ["ADFL", "ADIR", "ADSP", "LC", "REPCI", "REPCN", "SO"], trh.VcfTypes.popstr: ["AD", "DP", "PL"], trh.VcfTypes.advntr: ["DP", "SR", "FR", "ML"] diff --git a/trtools/mergeSTR/tests/test_mergeSTR.py b/trtools/mergeSTR/tests/test_mergeSTR.py index 0662339b..1e8e1406 100644 --- a/trtools/mergeSTR/tests/test_mergeSTR.py +++ b/trtools/mergeSTR/tests/test_mergeSTR.py @@ -332,8 +332,6 @@ def test_eh_mixed_ploidy_no_alt(args, mrgvcfdir): assert main(args) == 0 assert_same_vcf(args.out + '.vcf', mrgvcfdir + "/eh_X_no_alt_merged_swap.vcf") - - def test_gangstr_output(args, mrgvcfdir): fname1 = os.path.join(mrgvcfdir, "test_file_gangstr1.vcf.gz") fname2 = os.path.join(mrgvcfdir, "test_file_gangstr2.vcf.gz") @@ -342,7 +340,6 @@ def test_gangstr_output(args, mrgvcfdir): assert main(args) == 0 assert_same_vcf(args.out + '.vcf', mrgvcfdir + "/gangstr_merged.vcf") - def test_hipstr_output(args, mrgvcfdir): fname1 = os.path.join(mrgvcfdir, "test_file_hipstr1.vcf.gz") fname2 = os.path.join(mrgvcfdir, "test_file_hipstr2.vcf.gz") @@ -351,6 +348,14 @@ def test_hipstr_output(args, mrgvcfdir): assert main(args) == 0 assert_same_vcf(args.out + '.vcf', mrgvcfdir + "/hipstr_merged.vcf") +def test_hipstr_output(args, mrgvcfdir): + fname1 = os.path.join(mrgvcfdir, "test_file_longtr1.vcf.gz") + fname2 = os.path.join(mrgvcfdir, "test_file_longtr2.vcf.gz") + args.vcftype = "longtr" + args.vcfs = fname1 + "," + fname2 + assert main(args) == 0 + assert_same_vcf(args.out + '.vcf', mrgvcfdir + "/longtr_merged.vcf") + def test_hipstr_output_flanking_pb_harmonization(args, mrgvcfdir): fname1 = os.path.join(mrgvcfdir, "hipstr-harmonized-merge-contains-flanking.vcf.gz") fname2 = os.path.join(mrgvcfdir, "hipstr-harmonized-merge-no-flanking.vcf.gz") diff --git a/trtools/prancSTR/README.rst b/trtools/prancSTR/README.rst index 6d00bba6..b96d818d 100644 --- a/trtools/prancSTR/README.rst +++ b/trtools/prancSTR/README.rst @@ -132,4 +132,6 @@ Below are :code:`prancSTR` examples using HipSTR VCFs. Data files can be found a Citations ---------------- -The latest manuscript for citation of the tool can be found at https://doi.org/10.1101/2023.11.22.568371 \ No newline at end of file +If you utilize prancSTR in your work, please cite: + +Aarushi Sehgal, Helyaneh Ziaei Jam, Andrew Shen, Melissa Gymrek, Genome-wide detection of somatic mosaicism at short tandem repeats, Bioinformatics, Volume 40, Issue 8, August 2024, btae485, https://doi.org/10.1093/bioinformatics/btae485 diff --git a/trtools/qcSTR/README.rst b/trtools/qcSTR/README.rst index eec5e1b7..bdc9cff4 100644 --- a/trtools/qcSTR/README.rst +++ b/trtools/qcSTR/README.rst @@ -24,7 +24,7 @@ Required Parameters: General Optional Parameters: -* :code:`--vcftype `: Type of the input VCF file. Causes qcSTR to fail out if the file is any other type of VCF. Default = :code:`auto`. Must be one of: :code:`gangstr`, :code:`advntr`, :code:`hipstr`, :code:`eh`, :code:`popstr`. +* :code:`--vcftype `: Type of the input VCF file. Causes qcSTR to fail out if the file is any other type of VCF. Default = :code:`auto`. Must be one of: :code:`gangstr`, :code:`advntr`, :code:`hipstr`, :code:`longtr`, :code:`eh`, :code:`popstr`. * :code:`--samples `: File containing list of samples to include. If not specified, all samples are used. Samples in the list that are not included in the input vcf or are misspelled are silently ignored. @@ -68,7 +68,7 @@ metrics. Alternatively, you may specify the type(s) of quality plot(s) you wish the :code:`--quality` option. In that case you will get a file named :code:`-quality-.pdf` for each type of plot you requested. Quality plot examples are shown below. To learn more about how qcSTR infers quality scores for VCFs from -different genotypers, see `here `_ +different genotypers, see :doc:`here ` Note: quality score plots are useful when considered in the context of a single genotyper run, and can also be used to compare different invocations of the same genotyper. However, diff --git a/trtools/statSTR/README.rst b/trtools/statSTR/README.rst index 3d239c08..63ea1dfb 100644 --- a/trtools/statSTR/README.rst +++ b/trtools/statSTR/README.rst @@ -25,7 +25,7 @@ Required parameters: Optional general parameters: -* :code:`--vcftype `: The type of VCF file being processed. Default = :code:`auto` Must be one of: :code:`gangstr`, :code:`advntr`, :code:`hipstr`, :code:`eh`, :code:`popstr`. +* :code:`--vcftype `: The type of VCF file being processed. Default = :code:`auto` Must be one of: :code:`gangstr`, :code:`advntr`, :code:`hipstr`, :code:`longtr`, :code:`eh`, :code:`popstr`. * :code:`--samples `: A file containing a list of samples to include in computing statistics. If not given, all samples are used. To compute statistics for multiple groups of samples, you can give a comma-separated list of samples files. Sample files should list one sample per line, no header line. Samples not found in the VCF are silently ignored. * :code:`--sample-prefixes `: The prefixes to name output for each samples group. By default uses 1, 2, 3 etc. Must be sample length as :code:`--samples`. * :code:`--region `: Restrict to specific regions (chrom:start-end). Requires the input VCF to be bgzipped and tabix indexed. @@ -110,3 +110,9 @@ Below are :code:`statSTR` examples using VCFs from supported TR genotypers. Data --out stats_popstr \ --mean \ --samples ex-samples.txt + + # LongTR + statSTR --vcf longtr_testfile.vcf.gz --vcftype longtr \ + --out stats_longtr \ + --mean \ + --acount diff --git a/trtools/testsupport/sample_vcfs/associaTR/many_samples_multiallelic_dosages.vcf.gz b/trtools/testsupport/sample_vcfs/associaTR/many_samples_multiallelic_dosages.vcf.gz index b17c33c2..b1e42130 100644 Binary files a/trtools/testsupport/sample_vcfs/associaTR/many_samples_multiallelic_dosages.vcf.gz and b/trtools/testsupport/sample_vcfs/associaTR/many_samples_multiallelic_dosages.vcf.gz differ diff --git a/trtools/testsupport/sample_vcfs/associaTR/many_samples_multiallelic_dosages.vcf.gz.tbi b/trtools/testsupport/sample_vcfs/associaTR/many_samples_multiallelic_dosages.vcf.gz.tbi index 28cd42c9..c59ddf63 100644 Binary files a/trtools/testsupport/sample_vcfs/associaTR/many_samples_multiallelic_dosages.vcf.gz.tbi and b/trtools/testsupport/sample_vcfs/associaTR/many_samples_multiallelic_dosages.vcf.gz.tbi differ diff --git a/trtools/testsupport/sample_vcfs/beagle/beagle_badap.vcf.gz b/trtools/testsupport/sample_vcfs/beagle/beagle_badap.vcf.gz new file mode 100644 index 00000000..f1778fea Binary files /dev/null and b/trtools/testsupport/sample_vcfs/beagle/beagle_badap.vcf.gz differ diff --git a/trtools/testsupport/sample_vcfs/beagle/beagle_badap.vcf.gz.tbi b/trtools/testsupport/sample_vcfs/beagle/beagle_badap.vcf.gz.tbi new file mode 100644 index 00000000..36580ff2 Binary files /dev/null and b/trtools/testsupport/sample_vcfs/beagle/beagle_badap.vcf.gz.tbi differ diff --git a/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_badalleles.vcf.gz b/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_badalleles.vcf.gz new file mode 100644 index 00000000..67e6c0f0 Binary files /dev/null and b/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_badalleles.vcf.gz differ diff --git a/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_badalleles.vcf.gz.tbi b/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_badalleles.vcf.gz.tbi new file mode 100644 index 00000000..8aa0b1af Binary files /dev/null and b/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_badalleles.vcf.gz.tbi differ diff --git a/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_goodalleles.vcf.gz b/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_goodalleles.vcf.gz new file mode 100644 index 00000000..6d1c66ab Binary files /dev/null and b/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_goodalleles.vcf.gz differ diff --git a/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_goodalleles.vcf.gz.tbi b/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_goodalleles.vcf.gz.tbi new file mode 100644 index 00000000..2677f521 Binary files /dev/null and b/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_goodalleles.vcf.gz.tbi differ diff --git a/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_noTRs.vcf.gz b/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_noTRs.vcf.gz new file mode 100644 index 00000000..725bad1f Binary files /dev/null and b/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_noTRs.vcf.gz differ diff --git a/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_noTRs.vcf.gz.tbi b/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_noTRs.vcf.gz.tbi new file mode 100644 index 00000000..f6ee16b0 Binary files /dev/null and b/trtools/testsupport/sample_vcfs/beagle/beagle_imputed_noTRs.vcf.gz.tbi differ diff --git a/trtools/testsupport/sample_vcfs/beagle/beagle_tinyrefpanel.vcf.gz b/trtools/testsupport/sample_vcfs/beagle/beagle_tinyrefpanel.vcf.gz new file mode 100644 index 00000000..d684ee6b Binary files /dev/null and b/trtools/testsupport/sample_vcfs/beagle/beagle_tinyrefpanel.vcf.gz differ diff --git a/trtools/testsupport/sample_vcfs/beagle/beagle_tinyrefpanel.vcf.gz.tbi b/trtools/testsupport/sample_vcfs/beagle/beagle_tinyrefpanel.vcf.gz.tbi new file mode 100644 index 00000000..a60fb23c Binary files /dev/null and b/trtools/testsupport/sample_vcfs/beagle/beagle_tinyrefpanel.vcf.gz.tbi differ diff --git a/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_filters.loclog.tab b/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_filters.loclog.tab new file mode 100644 index 00000000..065620a1 --- /dev/null +++ b/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_filters.loclog.tab @@ -0,0 +1,7 @@ +MeanSamplesPerPassingSTR 4.5 +FILTER:PASS 2 +FILTER:NO_CALLS_REMAINING 53 +FILTER:HWE0.5 3 +FILTER:HETLOW0.05 4 +FILTER:HETHIGH0.45 8 +FILTER:HRUN 1 diff --git a/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_filters.samplog.tab b/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_filters.samplog.tab new file mode 100644 index 00000000..944ca50e --- /dev/null +++ b/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_filters.samplog.tab @@ -0,0 +1,7 @@ +sample numcalls meanDP LongTRCallFlankIndels0.05 LongTRMinSuppReads10 LongTRCallMinDepth30 LongTRCallMaxDepth200 LongTRCallMinQ0.9 +00077E67B5 5 41.8 0 47 57 0 20 +00077E76C6 6 76.33333333333333 0 45 58 0 10 +00077E76FE 7 60.0 0 42 50 0 8 +00077E7A63 9 61.111111111111114 0 43 50 0 19 +00077E8336 11 58.0 0 42 50 0 11 +00077E9BAA 3 47.333333333333336 0 54 59 0 24 diff --git a/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_filters.vcf b/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_filters.vcf new file mode 100644 index 00000000..9be8f62a --- /dev/null +++ b/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_filters.vcf @@ -0,0 +1,111 @@ +##fileformat=VCFv4.1 +##FILTER= +##command=LongTR-638942f-dirty --bams /tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077E67B5.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077E76C6.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077E76FE.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077E7A63.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077E8336.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077E9BAA.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077EA7E6.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FF6E.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FF7D.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FF94.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FFAC.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FFD3.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FFF0.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FFF8.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FFF9.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A002C.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0041.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0058.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0085.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A00AC.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A00BF.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0127.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0138.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0139.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0166.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0189.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A01A6.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A01C0.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A01D8.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A01DB.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A01FE.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0215.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A021A.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0224.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A022D.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0244.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0246.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0255.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A02CB.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A02DF.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A07A2.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A087B.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A096C.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A09B1.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0A43.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0AEA.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A16D3.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A16DF.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1707.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1731.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1732.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1772.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A179C.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A17A7.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A17F7.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1807.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1816.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A181B.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1837.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1863.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A186C.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1875.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A189F.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A18CF.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A18F7.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1905.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A192C.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1937.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A193E.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1942.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A194B.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1979.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A19A7.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A19B5.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A19C0.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A19D6.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1A16.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1A2B.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1B05.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1F34.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A22DF.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A22EB.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A2315.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A2463.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A2496.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A2595.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A261F.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/ACI_Myrna.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/BN_Myrna.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/BUF_Myrna.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/F344_B2607.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/HSRA.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/M520_Myrna.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/MR_81833.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/WKY_Myrna.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/WN_Myrna.haplotag.bam --fasta /tscc/projects/ps-gymreklab/helia/HipSTR_LR/tests/rat/GCF_015227675.2_mRatBN7.2_genomic.fna --bam-samps 00077E67B5,00077E76C6,00077E76FE,00077E7A63,00077E8336,00077E9BAA,00077EA7E6,000789FF6E,000789FF7D,000789FF94,000789FFAC,000789FFD3,000789FFF0,000789FFF8,000789FFF9,00078A002C,00078A0041,00078A0058,00078A0085,00078A00AC,00078A00BF,00078A0127,00078A0138,00078A0139,00078A0166,00078A0189,00078A01A6,00078A01C0,00078A01D8,00078A01DB,00078A01FE,00078A0215,00078A021A,00078A0224,00078A022D,00078A0244,00078A0246,00078A0255,00078A02CB,00078A02DF,00078A07A2,00078A087B,00078A096C,00078A09B1,00078A0A43,00078A0AEA,00078A16D3,00078A16DF,00078A1707,00078A1731,00078A1732,00078A1772,00078A179C,00078A17A7,00078A17F7,00078A1807,00078A1816,00078A181B,00078A1837,00078A1863,00078A186C,00078A1875,00078A189F,00078A18CF,00078A18F7,00078A1905,00078A192C,00078A1937,00078A193E,00078A1942,00078A194B,00078A1979,00078A19A7,00078A19B5,00078A19C0,00078A19D6,00078A1A16,00078A1A2B,00078A1B05,00078A1F34,00078A22DF,00078A22EB,00078A2315,00078A2463,00078A2496,00078A2595,00078A261F,ACI_Myrna,BN_Myrna,BUF_Myrna,F344_B2607,HSRA,M520_Myrna,MR_81833,WKY_Myrna,WN_Myrna --bam-libs 00077E67B5,00077E76C6,00077E76FE,00077E7A63,00077E8336,00077E9BAA,00077EA7E6,000789FF6E,000789FF7D,000789FF94,000789FFAC,000789FFD3,000789FFF0,000789FFF8,000789FFF9,00078A002C,00078A0041,00078A0058,00078A0085,00078A00AC,00078A00BF,00078A0127,00078A0138,00078A0139,00078A0166,00078A0189,00078A01A6,00078A01C0,00078A01D8,00078A01DB,00078A01FE,00078A0215,00078A021A,00078A0224,00078A022D,00078A0244,00078A0246,00078A0255,00078A02CB,00078A02DF,00078A07A2,00078A087B,00078A096C,00078A09B1,00078A0A43,00078A0AEA,00078A16D3,00078A16DF,00078A1707,00078A1731,00078A1732,00078A1772,00078A179C,00078A17A7,00078A17F7,00078A1807,00078A1816,00078A181B,00078A1837,00078A1863,00078A186C,00078A1875,00078A189F,00078A18CF,00078A18F7,00078A1905,00078A192C,00078A1937,00078A193E,00078A1942,00078A194B,00078A1979,00078A19A7,00078A19B5,00078A19C0,00078A19D6,00078A1A16,00078A1A2B,00078A1B05,00078A1F34,00078A22DF,00078A22EB,00078A2315,00078A2463,00078A2496,00078A2595,00078A261F,ACI_Myrna,BN_Myrna,BUF_Myrna,F344_B2607,HSRA,M520_Myrna,MR_81833,WKY_Myrna,WN_Myrna --regions /tscc/projects/ps-gymreklab/helia/HipSTR_LR/tests/rat/ref_set/rn7.hipstr_reference_seg00.bed --tr-vcf /tscc/projects/ps-gymreklab/helia/HipSTR_LR/tests/rat/output/rat_00.vcf.gz --def-stutter-model --min-reads 5 --output-filters --max-tr-len 10000 --phased-bam --skip-assembly --log /tscc/projects/ps-gymreklab/helia/HipSTR_LR/tests/rat/log/log_00.txt +##reference=/tscc/projects/ps-gymreklab/helia/HipSTR_LR/tests/rat/GCF_015227675.2_mRatBN7.2_genomic.fna +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##contig= +##INFO= +##INFO= +##INFO= +##FILTER= +##FILTER= +##FILTER= +##FILTER= +##FILTER= +##command-DumpSTR=/Users/melissagymrek/miniconda3/envs/trtools/bin/dumpSTR --vcf trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_testfile.vcf.gz --vcftype longtr --filter-hrun --use-length --max-locus-het 0.45 --min-locus-het 0.05 --min-locus-hwep 0.5 --longtr-max-call-flank-indel 0.05 --longtr-min-supp-reads 10 --longtr-min-call-DP 30 --longtr-max-call-DP 200 --longtr-min-call-Q 0.9 --out trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_filters +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT 00077E67B5 00077E76C6 00077E76FE 00077E7A63 00077E8336 00077E9BAA +NC_051336.1 5357 RAT_STR_1 GGGGGGGGGGG GGGGGGGGG,GGGGGGGGGG,GGGGGGGGGGGG,GGGGGGGGGGGGG . NO_CALLS_REMAINING START=5357;END=5367;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-2,-1,1,2;DP=780;DSNP=7;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0;HRUN=11;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_6 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_10 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_11 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_5,LongTRCallMinQ0.9_0.89 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_11 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_2 +NC_051336.1 5590 RAT_STR_2 TCTCTCTCTTCCCTCTCTCT TCTCTCTCTTCCTCTCTCT,TCTCTCTCTTCCCCTCTCTCT . NO_CALLS_REMAINING START=5590;END=5609;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1;BPDIFFS=-1,1;DP=817;DSNP=9;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0;HRUN=3;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_6 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_11 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_12 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_13 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_3,LongTRCallMinQ0.9_0.8 +NC_051336.1 5930 RAT_STR_3 TTTTTTTTTTTTCTTTTTTT TTTTTTTTTTCTTTTTTT,TTTTTTTTTTTCTTTTTT,TTTTTTTTTTTCTTTTTTT,TTTTTTTTTTTTCTTTTTT,TTTTTTTTTTTCTTTTTTTT,TTTTTTTTTTTTCTTTTTTTT,TTTTTTTTTTTTTCTTTTTTT . NO_CALLS_REMAINING START=5930;END=5949;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,1,1,1;BPDIFFS=-2,-2,-1,-1,0,1,1;DP=858;DSNP=8;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0;HRUN=12;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_6 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_11 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_12 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_6,LongTRCallMinQ0.9_0.58 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_13 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_3,LongTRCallMinQ0.9_0.53 +NC_051336.1 7727 RAT_STR_4 AAGAAAAGCAAACAAAAGAAAAGAAAGGAG AAGAAAAGCAAACAAAAGAAAAGAAAGGAA,AAGAAAAGCAAAACAAAAGAAAAGAAAGGAG . NO_CALLS_REMAINING START=7727;END=7752;PERIOD=5;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1;BPDIFFS=0,1;DP=1080;DSNP=11;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0;HRUN=4;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_10 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_9,LongTRCallMinDepth30_10 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_8 +NC_051336.1 10092 RAT_STR_5 TATATATACATATATA . . NO_CALLS_REMAINING START=10092;END=10107;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=.;DP=1326;DSNP=1276;DFLANKINDEL=0;AN=192;REFAC=0;HRUN=1;HET=-1;HWEP=-1;AC=0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_12 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_20 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_23 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8,LongTRCallMinDepth30_8 +NC_051336.1 10633 RAT_STR_6 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA . NO_CALLS_REMAINING START=10633;END=10664;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0,0,0,0,0,0,0;BPDIFFS=-8,-7,-6,-5,-4,-3,-2,-1,2,3;DP=1357;DSNP=1323;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0,0,0,0;HRUN=32;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_13,LongTRCallMinQ0.9_0.56 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_18 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_14,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_16,LongTRCallMinQ0.9_0.48 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_23 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_11,LongTRCallMinQ0.9_0.16 +NC_051336.1 10827 RAT_STR_7 AGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAACAAAACAAAACAAAACAAA AGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAACAAAACAAAACAAAACAAA,AGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAACAAAACAAAACAAA,AGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAACAAAACAAAACAAAACAAA . NO_CALLS_REMAINING START=10827;END=10887;PERIOD=5;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0;BPDIFFS=-5,0,5;DP=1348;DSNP=1325;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0;HRUN=4;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_13 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_18 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_16 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_24 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_11,LongTRCallMinQ0.9_0.4 +NC_051336.1 12007 RAT_STR_8 CTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTAGGCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTATT CTTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTGTTCTTATTCTTATT,CTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTAGGCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTATT,CTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTAGGCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTATT,CTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATCTTATTCTTATTCTTATCTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTATT,CTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTATT . NO_CALLS_REMAINING START=12007;END=12154;PERIOD=6;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,0;BPDIFFS=-25,-18,-12,22,24;DP=1384;DSNP=1374;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0;HRUN=3;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_12 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_16 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_16 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_19 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_22 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8,LongTRCallMinDepth30_11,LongTRCallMinQ0.9_0.29 +NC_051336.1 13999 RAT_STR_9 TTTTTTTTTTTTA TTTTTTTTTTTA,TTTTTTTTTTTT,TTTTTTTTTTTTTA,TTTTTTTTTTTTTTA . NO_CALLS_REMAINING START=13999;END=14010;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-1,-1,1,2;DP=1426;DSNP=1419;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0;HRUN=12;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_0,LongTRCallMinDepth30_11,LongTRCallMinQ0.9_0.37 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_20 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_21 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_22 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_9,LongTRCallMinDepth30_11,LongTRCallMinQ0.9_0.33 +NC_051336.1 15334 RAT_STR_10 TTTTTTTTTTT TTTTTTTTTT,TTTTTTTTTTTT,TTTTTTTTTTTTT . NO_CALLS_REMAINING START=15334;END=15344;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0;BPDIFFS=-1,1,2;DP=1405;DSNP=1401;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0;HRUN=11;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_12 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_20 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_12 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_20,LongTRCallMinQ0.9_0.4 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_26 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_9,LongTRCallMinDepth30_12,LongTRCallMinQ0.9_0.4 +NC_051336.1 16134 RAT_STR_11 TTTTCTTTTCTTTTTTTCTTTTTTT TTTTCTTTTCTTTTTTCTTTTTTT,TTTTCTTTTCTTTTTTTCTTTTTT . NO_CALLS_REMAINING START=16134;END=16158;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1;BPDIFFS=-1,-1;DP=1369;DSNP=1365;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0;HRUN=7;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_12,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_18 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8,LongTRCallMinDepth30_10 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_18,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_23 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_12,LongTRCallMinQ0.9_0.5 +NC_051336.1 18939 RAT_STR_12 TTTTTTTTTTT TTTTTTTTT,TTTTTTTTTT . NO_CALLS_REMAINING START=18939;END=18949;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0;BPDIFFS=-2,-1;DP=1321;DSNP=1312;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0;HRUN=11;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_9,LongTRCallMinDepth30_15,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_9,LongTRCallMinDepth30_17,LongTRCallMinQ0.9_0.84 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_5,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_22,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_21 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_8,LongTRCallMinQ0.9_0.5 +NC_051336.1 19870 RAT_STR_13 TCTCTCTCTCTCT . . NO_CALLS_REMAINING START=19870;END=19882;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=.;DP=1310;DSNP=1303;DFLANKINDEL=0;AN=192;REFAC=0;HRUN=1;HET=-1;HWEP=-1;AC=0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_16 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_17 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_24 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_19 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_7 +NC_051336.1 29677 RAT_STR_14 AAAAAAAAAAAAGAAAAAAAA AAAAAAAAAAAAAGAAAAAAA,AAAAAAAAAAAAAGAAAAAAAA,AAAAAAAAAAAAAAGAAAAAAAA,AAAAAAAAAAAAAGAAAAAAAAA,AAAAAAAAAAAAAAGAAAAAAAAA . NO_CALLS_REMAINING START=29677;END=29697;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,1;BPDIFFS=0,1,2,2,3;DP=1449;DSNP=0;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0;HRUN=12;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_16 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_27 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_15,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_16,LongTRCallMinQ0.9_0.73 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_19 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_5 +NC_051336.1 30051 RAT_STR_15 AATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACACACA AATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACA,AATATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACA,AATATATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACA,AATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACACACACACA,AATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACA,AATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACACA,ATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATCTGTGTATCTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACA,ATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATCTGTGTATCTGTGTGTGTGTGTGTGTGTACACACACACACACACACACA . NO_CALLS_REMAINING START=30052;END=30134;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,1,1,1;BPDIFFS=-18,-18,-18,-16,-14,-14,-14,-10,-4,-4,-2,0,0,0,0,2,2,17,25;DP=1471;DSNP=0;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;HRUN=2;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_17 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_27 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_17 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_7 +NC_051336.1 30190 RAT_STR_16 AAATACATAAATACAAAAATAAATAAATA AAATACATAAAATACAAAAATAAATAAATA,AAATACATAAATACAAAAAATAAATAAAATA . NO_CALLS_REMAINING START=30190;END=30218;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1;BPDIFFS=1,2;DP=1493;DSNP=0;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0;HRUN=5;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_17 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_26 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_17 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_7 +NC_051336.1 30607 RAT_STR_17 TTTGTTTGTTTGTTTGTTTTATGTTGCTTTTGTTTTTTGTTTGTTTGTTCGTTTG . . NO_CALLS_REMAINING START=30607;END=30661;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=.;DP=1508;DSNP=0;DFLANKINDEL=0;AN=192;REFAC=0;HRUN=6;HET=-1;HWEP=-1;AC=0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_17 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_25 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_17 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_8 +NC_051336.1 31951 RAT_STR_18 AAAAAAAAGAAAAGAAAAAAGAAAAAAGTAAAGAAAAAAT AAAAAAAAGAAAAGAAAAAAGAAAAAAGTAAAGAAAAAA,AAAAAAAAGAAAAGAAAAAAGAAAAAAGTAAAGAAAAAT,AAAAAAAAGAAAAGAAAAAAGAAAAAGTAAAGAAAAAAT,AAAAAAAGAAAAGAAAAAAGAAAAAAGTAAAGAAAAAAT,AAAAAAAAAGAAAAGAAAAAAGAAAAAAGTAAAGAAAAAAT,AAAAAAAAGAAAAGAAAAAAGAAAAAAAGTAAAGAAAAAAT,AAAAAAAAGAAAAGAAAAAAGAAAAAAGTAAAGAAAAAATT . HRUN;NO_CALLS_REMAINING START=31951;END=31987;PERIOD=5;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,0,0,1,0,1;BPDIFFS=-1,-1,-1,-1,1,1,1;DP=1531;DSNP=0;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0;HRUN=8;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_17,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_24 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_16,LongTRCallMinQ0.9_0.55 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_0,LongTRCallMinDepth30_14,LongTRCallMinQ0.9_0.45 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8,LongTRCallMinDepth30_8 +NC_051336.1 42922 RAT_STR_19 ACACATACAGACACACAGACACACAGACATCCAGACATACACACACAGACAGACACACCCCTACACACAGACACACACACACACACACACACACACACACA ACACATACAGACACACAGACACACAGACATCCAGACATACACACACAGACAGACACACCCTACACACAGACACACACACACACACACA,ACACATACAGACACACAGACACACAGACATCCAGACATACACACACAGACAGACACACCCCTACACACAGACACACACACACACACACACA,ACACATACAGACACACAGACACACAGACATCCAGACATACACACACACACAGACACACCCCTACACACAGACACACACACACACACACACACACACACACA,ACACATACAGACACACAGACACACAGACATCCAGACATACACACACACACAGACACACCCCTACACACAGACACACACACACACACACACACACACACACACA,ACACATACAGACACACAGACACACAGACATCCAGACATACACACACACACAGACACACCCCTACACACAGACACACACACACACACACACACACACACACACACA,ACACATACAGACACACAGACACACAGACATCCAGACATACACACACACACAGACACACCCCTACACACAGACACACACACACACACACACACACACACACACACACA,ACACATACAGACACACAGACACACAGACATCCAGACATACACACACACACAGACACACCCCTACACACAGACACACACACACACACACACACACACACACACACACACA . NO_CALLS_REMAINING START=42922;END=43022;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,0,0,1,0,0,0;BPDIFFS=-13,-10,0,2,4,6,8;DP=1368;DSNP=1250;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0;HRUN=4;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8,LongTRCallMinDepth30_11,LongTRCallMinQ0.9_0.53 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_10 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_14,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_18 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_9,LongTRCallMinDepth30_11,LongTRCallMinQ0.9_0.22 +NC_051336.1 50097 RAT_STR_20 TATATATATACATATATATAT . . NO_CALLS_REMAINING START=50097;END=50117;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=.;DP=1404;DSNP=1394;DFLANKINDEL=0;AN=192;REFAC=0;HRUN=1;HET=-1;HWEP=-1;AC=0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8,LongTRCallMinDepth30_8 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_21 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8,LongTRCallMinDepth30_8 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_13 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_23 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_5 +NC_051336.1 51032 RAT_STR_21 AAAAAAAAAAAGAAAAAAAAA AAAAAAAAAAAGAAAAAAAA,AAAAAAAAAAGAAAAAAAAA,AAAAAAAAAAAAGAAAAAAAAA,AAAAAAAAAAAGAAAAAAAAAA . NO_CALLS_REMAINING START=51032;END=51052;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1;BPDIFFS=-1,-1,1,1;DP=1437;DSNP=1423;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0;HRUN=11;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_8 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_21 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_8,LongTRCallMinQ0.9_0.33 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_13 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_25 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_0,LongTRCallMinDepth30_6 +NC_051336.1 52601 RAT_STR_22 TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTTTGTGT TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTTTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTTTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTTTGTGT . NO_CALLS_REMAINING START=52601;END=52647;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0;BPDIFFS=-2,2,4;DP=1457;DSNP=1443;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0;HRUN=3;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_8,LongTRCallMinQ0.9_0.57 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_19 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_9,LongTRCallMinQ0.9_0.4 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_8,LongTRCallMinQ0.9_0.4 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_27 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_7,LongTRCallMinQ0.9_0.36 +NC_051336.1 66149 RAT_STR_23 AGACAGACAGACAGACAAATGT AGACAGACAGACAGACCAATGG,AGACAGACAGACAGACCAATGT . HETLOW0.05 START=66149;END=66165;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0;BPDIFFS=0,0;DP=2521;DSNP=2508;DFLANKINDEL=0;AN=192;REFAC=1;AC=0,1;HRUN=3;HET=0;HWEP=1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_29 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_26 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_23 0|2:0|0:1:1:33:32:0:22.00|11.00:22|10:35.18:0|33:0|33:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_7 +NC_051336.1 75871 RAT_STR_24 TAATTTTTTTTTTTTT TTATTTTTTT,TAATTTTTTTTT,TTATTTTTTTTT,TAATTTTTTTTTT,TAATTTTTTTTTTT,TAATTTTTTTTTTTT . HETHIGH0.45 START=75874;END=75886;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0,0,0;BPDIFFS=-6,-4,-4,-3,-2,-1;DP=2663;DSNP=2650;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,1,0,1,0;HRUN=13;HET=0.5;HWEP=1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_9,LongTRCallMinDepth30_18 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_15,LongTRCallMinQ0.9_0.5 5|3:-2|-4:1:1:31:31:0:26.00|5.00:26|5:16.38:-4|14;-3|4;-2|12;-1|1:-4|5;-2|26:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_22,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_19 +NC_051336.1 77564 RAT_STR_25 CGTGTGGTGGTGGTGGTGGAAT CATGTGTGGTGGTTGTGGTGGAAG . HETHIGH0.45 START=77567;END=77582;PERIOD=3;NSKIP=0;NFILT=0;INEXACT_ALLELE=0;BPDIFFS=2;DP=2987;DSNP=2977;DFLANKINDEL=0;AN=192;REFAC=1;AC=1;HRUN=2;HET=0.5;HWEP=1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_27 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_16 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2 0|1:0|2:1:1:43:43:0:32.00|11.00:32|11:116.2:0|30;1|2;2|10;3|1:0|32;2|11:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_29 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_22 +NC_051336.1 77657 RAT_STR_26 TGTACGTATATATTTATATATACATATATATATATATATATATGT TCATATAAATATATATGTACATATATATATGT,TGTACGTATATATTTATATATACATATATATATGT,TGTACGTATATATTTATATATACACATATATATATATGT,TGTATATATATATATATATACATATATATATATATATGT,TGTACGTATATATTTATATATACATATATATATATATATATGT,TATATGTATATATATACATATATATATATATGTATGTATGTATAC,TATATATATATGTATATATACATATATATATATATGTATGTATGTATAC . NO_CALLS_REMAINING START=77663;END=77699;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,0,0,0;BPDIFFS=-13,-10,-6,-6,-2,0,4;DP=2993;DSNP=2984;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0;HRUN=3;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_27 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_16,LongTRCallMinQ0.9_0.59 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_29 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_21 +NC_051336.1 80137 RAT_STR_27 ACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT ACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACCCACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACAGACACAGACACACACACACACACACACACACACACACACAGACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACACAGACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACAGACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACAGACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACACAGACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACACAGACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACACACAGACACACAGACACACACACACAGACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC . NO_CALLS_REMAINING START=80137;END=80239;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1;BPDIFFS=-44,-40,-28,-26,-24,-22,-18,-16,-8,-8,-8,-6,-6,-6,-6,-6,-4,-4,-4,-2,-2,-2,-2,-2,0,0,0,2,2,6,17,19,19,19,19,21,23,23,35;DP=5489;DSNP=5409;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;HRUN=4;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_0,LongTRCallMinQ0.9_0.68 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_0 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinQ0.9_0.74 +NC_051336.1 82630 RAT_STR_28 AAACACACACACACACACACACACACACATATATATGTACACATATATACATATATATATATTGTT ACACACACACACACACACACATATATATATATATATTGTA,ACACACACACACACACACACACACATATATATATATATTGTA,ACACACACACACACACACACACACATATATATATATATATTGTA,ACACACACACACACACACACACACACATATATATATATATATTGTA,ACACACACACACACACACACACACACACATATATATATATATATTGTA,ACACACACACACACACACACACACACATATATATATATATATATTGTA,AAACACACACACACACACATACATATGTACATATATATATATATATTGTA,AAACACATACACACACATACATATGTATATATATATACACATATATATTGTA,AAACACATACACACACACATACATATGTATATATATATACACATATATATTGTA,AAACACACACACACACACACATATATATGTACACATATATACATATATATATATTGTT . HWE0.5;HETHIGH0.45 START=82632;END=82691;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,0,1,1,1,1,0,0,0;BPDIFFS=-26,-24,-22,-20,-18,-18,-16,-14,-12,-8;DP=7466;DSNP=7395;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,1,0,0,0,0,0,3,4;HRUN=3;HET=0.59375;HWEP=0.151522 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 10|9:-8|-12:1:1:48:48:0:18.00|30.00:18|30:22.65:-27|1;-26|3;-24|1;-22|5;-20|2;-18|3;-12|18;-8|12;-7|1;-6|2:-12|30;-8|18:PASS 10|3:-8|-22:1:1:81:80:0:20.00|61.00:20|60:53.76:-29|1;-26|3;-25|1;-24|2;-22|14;-20|2;-19|2;-18|16;-16|7;-14|7;-12|7;-10|1;-8|14;0|4:-22|61;-8|20:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1 10|9:-8|-12:1:1:88:88:0:36.00|52.00:36|52:134.72:-26|3;-24|2;-22|8;-20|5;-18|4;-12|35;-11|1;-10|3;-9|3;-8|22;-7|1;-6|1:-12|52;-8|36:PASS 10|9:-8|-12:1:1:84:84:0:33.00|51.00:33|51:105.5:-24|7;-23|1;-22|7;-20|2;-18|3;-15|1;-14|5;-13|1;-12|27;-10|2;-8|21;-7|1;-6|1;0|4;2|1:-12|51;-8|33:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4 +NC_051336.1 83497 RAT_STR_29 TATATATATATATTATTTATATATAATTTATATTTATATGTGTGTGTGCCTGTGTGTCTGTGTGTCTGTGTGT TATATATATTATTTATATATAATTTATATGTGTGTGCCTATGTGTCTGTGTGTCTGTTGCTGTGTGT,TATATATATTATTTATATATAATTTATATTTATATGTGTGTGTGCCTGTGTGTCTGTGTGTCTGTGTGT,TATATATATTATTATATATAATTTATATTTATATGTGTGTGCGTGCCCGTGTGTCTGTGTGTCTGTGTGT,TATATATATTATTATATATAATTTATATTTATATGTGTGTGCGTGCCTGTGTGTCTGTGTGTCTGTGTGT,TATATATATATTATTTATATATAATTTATATTTATATGTGTGTGTGCCTGTGTGTCTGTGTGTCTGTGTGT,TATACATATATTATTATATATAATTTATATTGATATGTGTGTGCCTGCCTGTGTGTCTGTGTGTCTGTGTGT . HETHIGH0.45 START=83497;END=83569;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,0,0,0,0;BPDIFFS=-6,-4,-3,-3,-2,-1;DP=7819;DSNP=7768;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,2,0,2,2,2;HRUN=3;HET=0.75;HWEP=0.578125 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6 5|4:-2|-3:1:1:83:82:0:21.00|62.00:21|61:19.48:-5|2;-4|1;-3|42;-2|18;-1|18;0|2:-3|62;-2|21:PASS 2|4:-4|-3:1:1:80:79:0:37.00|43.00:36|43:12.99:-7|1;-6|6;-4|15;-3|22;-2|15;-1|21:-4|37;-3|43:PASS 2|6:-4|-1:1:1:89:89:0:35.00|54.00:35|54:41.37:-6|7;-5|2;-4|13;-3|23;-2|15;-1|28;0|1:-4|35;-1|54:PASS 5|6:-2|-1:1:1:87:87:0:32.00|55.00:32|55:25.5:-6|4;-4|6;-3|20;-2|16;-1|30;0|6;1|2;2|2;14|1:-2|32;-1|55:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3 +NC_051336.1 87472 RAT_STR_30 TTGGTTGGTTGGTTGGTTGGTTGGTT TTGGTTGGTTGGTTGGTTGGTT . HWE0.5;HETHIGH0.45 START=87472;END=87497;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0;BPDIFFS=-4;DP=7697;DSNP=7666;DFLANKINDEL=0;AN=192;REFAC=6;AC=6;HRUN=2;HET=0.5;HWEP=0.03125 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|1:0|-4:1:1:48:48:0:22.00|26.00:22|26:40.33:-8|3;-5|1;-4|12;-3|2;-2|1;-1|2;0|27:-4|26;0|22:PASS 0|1:0|-4:1:1:78:78:0:15.00|63.00:15|63:56.59:-5|1;-4|32;-3|2;-1|4;0|33;1|1;3|2;4|3:-4|63;0|15:PASS 0|1:0|-4:1:1:74:74:0:37.00|37.00:37|37:9.22:-8|7;-5|2;-4|17;-3|1;-1|1;0|45;1|1:-4|37;0|37:PASS 0|1:0|-4:1:1:83:83:0:27.00|56.00:27|56:14.4:-8|5;-5|1;-4|27;-3|2;-1|3;0|45:-4|56;0|27:PASS 0|1:0|-4:1:1:85:85:0:30.00|55.00:30|55:68.28:-8|4;-4|29;-3|2;-1|1;0|40;1|5;3|1;4|3:-4|55;0|30:PASS 0|1:0|-4:1:1:49:49:0:21.00|28.00:21|28:12.26:-8|9;-7|1;-6|2;-5|1;-4|12;-2|1;-1|1;0|22:-4|28;0|21:PASS +NC_051336.1 87516 RAT_STR_31 TGGTTTGTTTGTTTGTTGTGTTTTGTTT TGGTTTGTTTGTTGTGTTTTGTTT,TAGTTTGTTTGTTTGTTGTGTTTTGTTT,TGGTTTGTTAGTTTGTTGTGTTTTGTTT . PASS START=87518;END=87543;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0;BPDIFFS=-4,0,0;DP=7692;DSNP=7661;DFLANKINDEL=0;AN=192;REFAC=11;AC=1,0,0;HRUN=4;HET=0.152778;HWEP=1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:1:1:48:48:0:22.00|26.00:22|26:15.94:-5|1;-4|7;-3|1;-2|1;-1|3;0|34;1|1:0|48:PASS 0|0:0|0:1:1:78:78:0:16.00|62.00:16|62:8.12:-4|6;-1|4;0|65;1|3:0|78:PASS 0|1:0|-4:0.97:0.97:74:74:0:37.00|37.00:37|37:1.44:-5|2;-4|15;-3|2;-1|2;0|52;2|1:-4|37;0|37:PASS 0|0:0|0:1:1:83:83:0:27.00|56.00:27|56:23.75:-5|1;-4|22;-3|1;-2|1;-1|4;0|51;1|3:0|83:PASS 0|0:0|0:1:1:85:85:0:30.00|55.00:30|55:35.48:-4|20;-3|1;-1|1;0|60;1|1;2|1;4|1:0|85:PASS 0|0:0|0:1:1:48:48:0:21.00|27.00:21|27:18.54:-9|1;-5|1;-4|9;-1|5;0|30;1|2:0|48:PASS +NC_051336.1 88300 RAT_STR_32 CATTTTTTTTTTTT ,CATTTTTTTTTTT,CTTTTTTTTTTTTT,CATTTTTTTTTTTTT . PASS START=88302;END=88313;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-14,-1,0,1;DP=7212;DSNP=7187;DFLANKINDEL=0;AN=192;REFAC=1;AC=4,0,1,0;HRUN=12;HET=0.444444;HWEP=0.588477 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8 3|1:0|-14:1:1:72:72:0:35.00|37.00:35|37:3.44:-14|44;-1|3;0|12;1|12;2|1:-14|37;0|35:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4 0|1:0|-14:1:1:75:75:0:32.00|43.00:32|43:3.75:-14|47;-2|1;-1|7;0|10;1|9;2|1:-14|43;0|32:PASS 1|1:-14|-14:1:1:45:45:0:19.00|26.00:19|26:3.08:-14|36;-1|2;0|3;1|4:-14|45:PASS +NC_051336.1 91065 RAT_STR_33 TTAAAATTGATTGATTTGTTTATTGATTTATTGATTGATG TAAAAATTCATTGATTTGTTCATTGATTTATTGATTGATG,TTAAAATTGATTGATTTGTTTATTGATTTATTGATTGATT . HETLOW0.05 START=91070;END=91103;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0;BPDIFFS=0,0;DP=4941;DSNP=4915;DFLANKINDEL=0;AN=192;REFAC=5;AC=0,5;HRUN=4;HET=0;HWEP=1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|2:0|0:1:1:30:30:0:18.00|12.00:18|12:46.6:-3|1;0|29:0|30:PASS 0|2:0|0:1:1:64:64:0:15.00|49.00:15|49:58.33:0|63;1|1:0|64:PASS 0|2:0|0:1:1:42:41:0:25.00|17.00:25|16:65.84:0|41:0|42:PASS 0|2:0|0:1:1:54:53:0:21.00|33.00:20|33:81.48:-1|2;0|51;1|1:0|54:PASS 0|2:0|0:1:1:50:50:0:30.00|20.00:30|20:70.05:0|48;1|1;4|1:0|50:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_24 +NC_051336.1 92599 RAT_STR_34 TGTTTGTTTGTTTGTTTGTTTGTTTTTTCT TGTTTTTTTTTTTTTTTT,TGTTTTTTTTTTTTTTTTT,TGTTTTTTTTTTTGTTTTTG,TGTTTTTTTTTTTTTTTTTT,TGTTTTTTTTTTTTTGTTTTT,TGTTTTTTTTTTTTTTGTTTTT,TGTTTTTTTTTTTTTTTGTTTTT . HETHIGH0.45 START=92599;END=92623;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,0,1,0,0,0;BPDIFFS=-12,-11,-10,-10,-9,-8,-7;DP=4919;DSNP=4870;DFLANKINDEL=0;AN=192;REFAC=1;AC=0,0,0,0,0,1,0;HRUN=6;HET=0.5;HWEP=1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_0 0|6:0|-8:1:1:74:74:0:14.00|60.00:14|60:16.52:-16|5;-15|5;-14|1;-13|1;-12|7;-10|5;-9|10;-8|19;-7|5;-6|2;-1|1;0|13:-8|60;0|14:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinQ0.9_0.71 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_24 +NC_051336.1 93075 RAT_STR_35 TTTTTTCTTTTTCATTTTTTTTTTT . HWE0.5;HETHIGH0.45 START=93075;END=93099;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0;BPDIFFS=-25;DP=4688;DSNP=4640;DFLANKINDEL=0;AN=192;REFAC=4;AC=4;HRUN=11;HET=0.5;HWEP=0.125 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|1:0|-25:1:1:35:34:0:19.00|16.00:19|15:255.43:-25|16;-2|2;-1|2;0|15:-25|16;0|19:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7 0|1:0|-25:1:1:47:44:0:23.00|24.00:23|21:364.13:-25|26;-1|1;0|18;1|2:-25|24;0|23:PASS 0|1:0|-25:1:1:43:42:0:17.00|26.00:17|25:289.54:-25|26;-2|1;-1|5;0|11:-25|26;0|17:PASS 0|1:0|-25:1:1:43:42:0:25.00|18.00:25|17:273.32:-25|18;-2|3;-1|3;0|15;1|4:-25|18;0|25:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_23 +NC_051336.1 103763 RAT_STR_36 AAAAAAAAAAAAAAAGAACT AAAAAAAAGAACT,AAAAAAAAAGAACT,AAAAAAAAAAGAACT,AAAAAAAAAAAGAAAA,AAAAAAAAAAAGAACT,AAAAAAAAAAAAGAAAA,AAAAAAAAAAAAGAACT,AAAAAAAAAAAAAAAGAC,AAAAAAAAAAAAAGAACT,AAAAAAAAAAAAAAGAACT,AAAAAAAAAAAAAAAAGAACT . NO_CALLS_REMAINING START=103763;END=103777;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,0,1,1,1,0,0,0;BPDIFFS=-7,-6,-5,-4,-4,-3,-3,-2,-2,-1,1;DP=545;DSNP=0;DFLANKINDEL=0;AN=184;REFAC=0;AC=0,0,0,0,0,0,0,0,0,0,0;HRUN=15;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_3,LongTRCallMinQ0.9_0.49 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_3,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_4,LongTRCallMinQ0.9_0.28 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_10,LongTRCallMinQ0.9_0.88 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_2 +NC_051336.1 114599 RAT_STR_37 CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCCTCTCTTCCTCTCTT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCTCTCTCCTCTCTCTCTCTCTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCATCTCTCTCTCTCATCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTTCTACTCTCTTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCTCTCTCTCTCTTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC . NO_CALLS_REMAINING START=114599;END=114692;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,0,1,0,1,1,1,1,1,1,0,1,1,0,1,1,1;BPDIFFS=-16,-14,-10,-8,-8,-7,-6,-6,-5,-4,-4,-2,-2,1,2,3,4,8;DP=154;DSNP=0;DFLANKINDEL=0;AN=68;REFAC=0;AC=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;HRUN=2;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_1,LongTRCallMinQ0.9_0.1 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_0,LongTRCallMinDepth30_5,LongTRCallMinQ0.9_0.75 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_2 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_2 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_7 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_2,LongTRCallMinQ0.9_0.18 +NC_051336.1 115820 RAT_STR_38 ACACACACACACACACACACACACACACACACACACACACACACACACACA ACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACCACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC . NO_CALLS_REMAINING START=115820;END=115870;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,1,0,0,1,0,1,0;BPDIFFS=-3,-2,-2,-1,1,3,9,11,13;DP=126;DSNP=0;DFLANKINDEL=0;AN=50;REFAC=0;AC=0,0,0,0,0,0,0,0,0;HRUN=1;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_1,LongTRCallMinQ0.9_0.18 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_2 .:.:.:.:.:.:.:.:.:.:.:.:NOCALL ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_6 .:.:.:.:.:.:.:.:.:.:.:.:NOCALL +NC_051336.1 121135 RAT_STR_39 CCGGAAAAAAAAAAAAA CCGGAAAAAAAAAAAA,CCGGAAAAAAAAAAAAAA,CGGGGAAAAAAAAAAAAAAAA,CCGGGGAAAAAAAAAAAAAAAA,CCGGGGGAAAAAAAAAAAAAAA,CCGGGGAAAAAAAAAAAAAAAAA,CCGGGGGAAAAAAAAAAAAAAAA,CCGGGGAAAAAAAAAAAAAAAAAA,CCGGGGGAAAAAAAAAAAAAAAAA,CCGGGGGAAAAAAAAAAAAAAAAAA . NO_CALLS_REMAINING START=121139;END=121151;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,0,1,0,0,0,0,0,1,1;BPDIFFS=-1,1,4,5,5,6,6,7,7,8;DP=277;DSNP=0;DFLANKINDEL=0;AN=110;REFAC=0;AC=0,0,0,0,0,0,0,0,0,0;HRUN=13;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_4,LongTRCallMinQ0.9_0.21 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_10 .:.:.:.:.:.:.:.:.:.:.:.:NOCALL ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_1,LongTRCallMinQ0.9_0.17 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_3 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_1,LongTRCallMinQ0.9_0.17 +NC_051336.1 124561 RAT_STR_40 TAATTTAAAAAGAAAAAGAAAAGGAAAA TAATTTAAAAACAAAAACAAAAGAAAA,TAATTTAAAAACAAAACAAAAGAAAAA,TAATTTAAAAACAAAAGAAAAGGAAAA,TAATTTAAAACAAAAAGAAAAGGAAAA,TAATTTAAAAACAAAAACAAAAGAAAAA,TAATTTAAAAACAAAAAGAAAAGGAAAA,TTATTTTAAAACAAAAACAAAAGAAAAA,TAATTTAAAAAACAAAAACAAAAGAAAAA,TAATTTAAAAACAAAAAAGAAAAGGAAAA,TAATTTAAAAAGAAAAAGAAAAAGGAAAA,TAATTTAAAAAGAAAAAGAAAAGGAAAAA,TAATTTAAAAACAAAAAACAAAAGAAAAAA . NO_CALLS_REMAINING START=124567;END=124588;PERIOD=6;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,1,1,0,0,1,1,1,1,1,1;BPDIFFS=-1,-1,-1,-1,0,0,0,1,1,1,1,2;DP=287;DSNP=0;DFLANKINDEL=0;AN=140;REFAC=0;AC=0,0,0,0,0,0,0,0,0,0,0,0;HRUN=5;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_3,LongTRCallMinQ0.9_0.4 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8,LongTRCallMinDepth30_8 .:.:.:.:.:.:.:.:.:.:.:.:NOCALL ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_1,LongTRCallMinQ0.9_0.14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_7 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_5,LongTRCallMinQ0.9_0.5 +NC_051336.1 124770 RAT_STR_41 AATTCTGTGTGTGTGTGGTGTGGGGG AATTCTGTGTGTGTGTTGGGGGGGG,AATGATGTGTGTGTGTGTTGGGGGGGG,AATTCTGTGTGTGTGTGGTGTGGGGGG,ATTCTGTGTGTGTGTTGGGGGGCGGGG,AATGATGTGTGTGTGTGTTGGGGGGGGG,AATTCTGTGTGTGTGTTGGGGGGCGGGA,AATTCTGTGTGTGTGTTGGGGGGCGGGG,AATGATGTGTGTGTGTGTTGGGGGGGGGG,AATTCTGTGTGTGTGTTGGGGGGCTGGGG,AATGATGTGTGTGTGTGTTGGGGGGGGGGG,AATTCTGTGTGTGTGTGTTGGGGGGCGGGGG . NO_CALLS_REMAINING START=124775;END=124791;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,1,1,0,0,0,0,1,0,1;BPDIFFS=-1,1,1,1,2,2,2,3,3,4,5;DP=292;DSNP=0;DFLANKINDEL=0;AN=140;REFAC=0;AC=0,0,0,0,0,0,0,0,0,0,0;HRUN=5;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_3,LongTRCallMinQ0.9_0.42 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_8 .:.:.:.:.:.:.:.:.:.:.:.:NOCALL ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_2 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_7 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_4,LongTRCallMinQ0.9_0.5 +NC_051336.1 125296 RAT_STR_42 CAGCCTGGGGTGGGGTGGGGTGTTCAT CAGCCTGGAGTGGGGTCGGGTGTTCAT,CAGCCTGGGGGTGGGGTGGGGTGTTCAT,CAGCCTGGGGTGGGGGTGGGGTGTTCAT,CAGCCTGGGGTGGGGTGGGGGTGTTCAT,CAGCCTGGAGTGGGGTCGGGTTGTTCATG,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGGGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTTGTGTGTGTGTGTGTGGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGGTGTGTATGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTCGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGGTGTGTTGTGTTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CCAGGGTGTGTGTGTGTGGTGTGTGTGTGTGTGTGTGGTGTGTGTGTGTGTGTGTGTGTGTAGTGTGTGTGTGTGTGTGTGGTGTTCAT . NO_CALLS_REMAINING START=125301;END=125317;PERIOD=5;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,1,0,1,1,0,1,1,1,1;BPDIFFS=0,1,1,1,2,48,48,50,50,50,50,51,52,52,52,52,53,54,54,54,56,57,58,59,60,62,62;DP=314;DSNP=0;DFLANKINDEL=0;AN=154;REFAC=0;AC=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;HRUN=4;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_2,LongTRCallMinQ0.9_0.13 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_6 .:.:.:.:.:.:.:.:.:.:.:.:NOCALL ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_2 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_7 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_4 +NC_051336.1 126871 RAT_STR_43 TTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTT,TTTTTTTTTTTTTTTTTTTTTT,TTTTTTTTTTTTTTTTTTTTTTTT,TTTTTTTTTTTTTTTTTTTTTTTTTT,TTTTTTGTTTTTTTTGTTTTTTTTTTTTTTGTTTTTTTTTTTTT . NO_CALLS_REMAINING START=126871;END=126893;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,0,0,1,1;BPDIFFS=-2,-1,1,3,21;DP=112;DSNP=0;DFLANKINDEL=0;AN=36;REFAC=0;AC=0,0,0,0,0;HRUN=23;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER .:.:.:.:.:.:.:.:.:.:.:.:NOCALL ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_3,LongTRCallMinQ0.9_0.62 .:.:.:.:.:.:.:.:.:.:.:.:NOCALL ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_1,LongTRCallMinQ0.9_0.29 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_6 .:.:.:.:.:.:.:.:.:.:.:.:NOCALL +NC_051336.1 136998 RAT_STR_44 CATGTTTTTTTTTTT ,CATGTTTTTTTTTT,CATGTTTTTTTTTTTT,CTTGTTTTTTTTTTTT . NO_CALLS_REMAINING START=137002;END=137012;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1;BPDIFFS=-15,-1,1,1;DP=982;DSNP=0;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0;HRUN=11;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_11 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_7 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_9 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_10 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_5,LongTRCallMinQ0.9_0.89 +NC_051336.1 138358 RAT_STR_45 AAAAAAAAAAAAAAA AAAAAAAAA,AAAAAAAAAAAAA,AAAAAAAAAAAAAA,AAAAAAAAAAAAAAAA . NO_CALLS_REMAINING START=138358;END=138372;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-6,-2,-1,1;DP=1063;DSNP=0;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0;HRUN=15;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_13,LongTRCallMinQ0.9_0.47 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_7 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_16 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_9 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_10,LongTRCallMinQ0.9_0.69 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_5,LongTRCallMinQ0.9_0.5 +NC_051336.1 149197 RAT_STR_46 CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTAGCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCTCTCTCTCTCTCTCTCTTCCTCTCT . NO_CALLS_REMAINING START=149197;END=149284;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,0,0,1,1;BPDIFFS=-2,2,4,5,6,8,10,11;DP=1547;DSNP=0;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0,0;HRUN=2;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_11 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_13 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_20 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_17,LongTRCallMinQ0.9_0.53 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_12 +NC_051336.1 150413 RAT_STR_47 ACACACACACACACACACACACACACACACACACACACACACACACA ACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA . NO_CALLS_REMAINING START=150413;END=150459;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0,0,1,0,1,1;BPDIFFS=-8,-6,-4,4,6,14,16,18,22;DP=1611;DSNP=0;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0,0,0;HRUN=1;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_12 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_12 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_23 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_13 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_19,LongTRCallMinQ0.9_0.88 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_11 +NC_051336.1 155726 RAT_STR_48 GAAAAAAAAAAAAAA GAAAAAAAAAAAAA,GAAAAAAAAAAAAAAA,GGGAAAAAAAAAAAAAAAA,GGGGAAAAAAAAAAAAAAA,GGGAAAAAAAAAAAAAAAAA,GGGGAAAAAAAAAAAAAAAA,GGGAAAAAAAAAAAAAAAAAA . NO_CALLS_REMAINING START=155727;END=155740;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,1,0,0,0,0;BPDIFFS=-1,1,4,4,5,5,6;DP=2344;DSNP=2271;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0;HRUN=14;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_8 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_21 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_23 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_26 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_23,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_14 +NC_051336.1 159158 RAT_STR_49 AAAAAGAAAAAGAAAAGGAAAA AAAAAAAAGAAAAGAAAAA,AAAAACAAAAAGAAAAGGAAAA . HETLOW0.05 START=159158;END=159179;PERIOD=6;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0;BPDIFFS=-3,0;DP=2826;DSNP=2645;DFLANKINDEL=0;AN=192;REFAC=2;AC=0,2;HRUN=5;HET=0;HWEP=1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_17 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_26 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_23 0|2:0|0:1:1:33:32:0:20.00|13.00:20|12:11.12:-3|3;-2|1;-1|6;0|20;1|3:0|33:PASS 2|0:0|0:1:1:33:30:0:6.50|26.50:4|26:6.91:-3|3;-2|1;-1|1;0|28:0|33:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_19 +NC_051336.1 159363 RAT_STR_50 TTCTGTGTGTGTGTGGTGTG TTCTGTGTGTGTGTGGGGGG,TTCTGTGTGTGTGTGGTGGG,TGATGTGTGTGTGTGTTGGGGGG,TGATGTGTGTGTGTGTTGGGGGGG . NO_CALLS_REMAINING START=159366;END=159382;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,0,0,0;BPDIFFS=0,0,3,4;DP=2831;DSNP=2649;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0;HRUN=2;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_17 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_9,LongTRCallMinDepth30_26 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_22 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_20 +NC_051336.1 159892 RAT_STR_51 TGGGGTGGGGTGGGGTG TGGAGTGGGGTCGGGTG . HETLOW0.05 START=159892;END=159908;PERIOD=5;NSKIP=0;NFILT=0;INEXACT_ALLELE=0;BPDIFFS=0;DP=2830;DSNP=2646;DFLANKINDEL=0;AN=192;REFAC=2;AC=2;HRUN=4;HET=0;HWEP=1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_16 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_25 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_20 0|1:0|0:1:1:34:33:0:21.00|13.00:21|12:4.61:0|30;1|3;2|1:0|34:PASS 1|0:0|0:1:1:32:29:0:6.00|26.00:4|25:14.43:0|32:0|32:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_20 +NC_051336.1 161822 RAT_STR_52 TTTTTTTTTTCATTTTTTTCATTTTTTTTTTTTTTTT TTTTTTTTCATTTTTTTCTTTTTTT,TTTTTTTTTTCATTTTTTTTTTTTTTT,TTTTTTTTTTCATTTTTTTCATTTTTTTTTTTTTTT,TTTTTTTTTTCATTTTTTTCATTTTTTTTTTTTTTTTT . NO_CALLS_REMAINING START=161822;END=161858;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-12,-10,-1,1;DP=2541;DSNP=15;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0;HRUN=16;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_21 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_19 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_24 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_12 +NC_051336.1 165909 RAT_STR_53 TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGT TCTGTGTGTGTGTGTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGT . NO_CALLS_REMAINING START=165909;END=165947;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0,0,0;BPDIFFS=-20,2,4,6,8,16;DP=2302;DSNP=2269;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0;HRUN=1;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_18 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_20,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8,LongTRCallMinDepth30_27 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_27 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_18 +NC_051336.1 166141 RAT_STR_54 TTTTTTTTTTT TTTTTTTTT,TTTTTTTTTT,TTTTTTTTTTTT . HETHIGH0.45 START=166141;END=166151;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0;BPDIFFS=-2,-1,1;DP=2301;DSNP=2265;DFLANKINDEL=0;AN=192;REFAC=1;AC=0,1,0;HRUN=11;HET=0.5;HWEP=1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_18 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_21 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_27 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_9,LongTRCallMinDepth30_28 0|2:0|-1:1:1:31:30:0:5.00|26.00:4|26:4.6:-2|2;-1|14;0|10;1|5:-1|26;0|5:PASS ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_19,LongTRCallMinQ0.9_0.88 +NC_051336.1 167021 RAT_STR_55 CAAACAAACAAACAA CAAACAAACAA . NO_CALLS_REMAINING START=167021;END=167035;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0;BPDIFFS=-4;DP=2146;DSNP=2107;DFLANKINDEL=0;AN=192;REFAC=0;AC=0;HRUN=3;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_18 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_27 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_24 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_20 +NC_051336.1 167590 RAT_STR_56 AACAAACAAACAAACAAACAAACAAACAAA AACAAACAAACAAACAAACAAA,AACAAACAAACAAACAAACAAACAAA . NO_CALLS_REMAINING START=167590;END=167619;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0;BPDIFFS=-8,-4;DP=2039;DSNP=2005;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0;HRUN=3;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_14 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_15,LongTRCallMinQ0.9_0.67 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_27 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_25 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_28,LongTRCallMinQ0.9_0.8 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_20 +NC_051336.1 170775 RAT_STR_57 TAAAAAAAAAAAAA ,TAAAAAAAAAAAA,TTAAAAAAAAAAA,TAAAAAAAAAAAAAA,TAAAAAAAAAAAAAAA,TAAAAAAAAAAAAAAAA . NO_CALLS_REMAINING START=170776;END=170788;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0,0,0;BPDIFFS=-14,-1,-1,1,2,3;DP=1887;DSNP=1850;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0;HRUN=13;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_16 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_16,LongTRCallMinQ0.9_0.88 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_27 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_23 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_28,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_14 +NC_051336.1 170836 RAT_STR_58 TTTTGTTTTTTTACTTTTTTTTTT . NO_CALLS_REMAINING START=170836;END=170859;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0;BPDIFFS=-24;DP=1884;DSNP=1848;DFLANKINDEL=0;AN=192;REFAC=0;AC=0;HRUN=10;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_16 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_16 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_27 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_22 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_28 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_14 +NC_051336.1 171218 RAT_STR_59 TTTAAAAAAAAAAA ,TAAAAAAAAAA,TAAAAAAAAAAA,TTAAAAAAAAAAAA . NO_CALLS_REMAINING START=171221;END=171231;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-14,-3,-2,0;DP=1868;DSNP=1832;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0;HRUN=11;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_14,LongTRCallMinQ0.9_0.76 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_17 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8,LongTRCallMinDepth30_27 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_20,LongTRCallMinQ0.9_0.88 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_28,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_13 +NC_051336.1 171654 RAT_STR_60 TGTGTGTGTGTGTGTATATATATATATATATATATATATATGTATATATATATATATATATATATATATATATAT ,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATGTATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATGTATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATGTATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATGTATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATGTATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATGTATATATATATATATATATATATAT,TGTGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATGTATATATATATATATATATATATATAT . NO_CALLS_REMAINING START=171654;END=171728;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,0,0,1,0,1,0,1,1,0,0,1,0;BPDIFFS=-75,-12,-10,-8,-6,-6,-4,-4,-2,-2,-2,0,8,12;DP=1818;DSNP=1782;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0,0,0,0,0,0,0,0;HRUN=1;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_16,LongTRCallMinQ0.9_0.13 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_22 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_19 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_25 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_12 +NC_051336.1 171833 RAT_STR_61 AGATGCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA . NO_CALLS_REMAINING START=171839;END=171876;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,0,0,0,0,0,0,1,0,1;BPDIFFS=-38,-18,-17,-4,-3,-2,-2,-1,-1,-1,6;DP=1819;DSNP=1784;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0,0,0,0,0;HRUN=38;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_22 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_19 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_0,LongTRCallMinDepth30_25 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_11 +NC_051336.1 172018 RAT_STR_62 ACACACACACACACACACACACACACACAC ACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACCACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACACAC . NO_CALLS_REMAINING START=172018;END=172047;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,0,1,0,1,0;BPDIFFS=2,10,12,20,22,23,24;DP=1824;DSNP=1788;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0;HRUN=1;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_8,LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_22 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_19 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_26 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_12 +NC_051336.1 173541 RAT_STR_63 GGTTTTTTTGTTTGTTTTTTGTTTCT GGTTTTTTTGTTTGTTTTTTGTTTTT,GTTTTTTTTGTTTGTTTTTTGTTTTT,GTTTTTTTTTGTTTGTTTTTTGTTTTT,GGTTTTTTTTGTTTGTTTTTTGTTTTTT,GTTTTTTTTGTTTGTTTGGTTTTTTTTTGGGGGGGGGG,GTTTTTTTTGTTTGTTTGGTTTTTTTTTGGGGGGGGGGG,GTTTTTTTTGTTTGTTTGGTTTTTTTTTGGGGGGGGGGGG,GTTTTTTTTGTTTGTTTGGTTTTTTTTTTGGGGGGGGGGG,GTTTTTTTTGTTTGTTTGGTTTTTTTTTGGGGGGGGGGGGG,GTTTTTTTTTGTTTGTTTGGTTTTTTTTTTGGGGGGGGGGGGG . NO_CALLS_REMAINING START=173542;END=173564;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,1,0,0,1,1,1;BPDIFFS=0,0,1,2,12,13,14,14,15,17;DP=1839;DSNP=1808;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0,0,0,0;HRUN=7;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_9,LongTRCallMinDepth30_13 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_13 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_21 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_22,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_9,LongTRCallMinDepth30_11,LongTRCallMinQ0.9_0.33 +NC_051336.1 174051 RAT_STR_64 CCACACACACACACACACACACA CCACACACACACACACACACA,CCACACACACACACACACACACACACACACACACACACACA,CCACACACACACACACACACACACACACACACACACACACACA,CCACACACACACACACACACACACACACACACACACACACACACA,CACACACACACACACACACACACACACACACACACACACACACACA,CCACACACCACACACACACACACACACACACACACACACACACACA,CCACACACACACACACACACACACACACACACACACACACACACACA . NO_CALLS_REMAINING START=174052;END=174073;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,0,0,1,1,1;BPDIFFS=-2,18,20,22,23,23,24;DP=1833;DSNP=1801;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0;HRUN=2;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_11,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_15,LongTRCallMinQ0.9_0.49 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_21 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_16,LongTRCallMinQ0.9_0.52 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_24 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_12,LongTRCallMinQ0.9_0.5 +NC_051336.1 174324 RAT_STR_65 AATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATGG AATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATGG,AATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATGT,AATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATGT,AATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATGG . NO_CALLS_REMAINING START=174324;END=174378;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-8,-4,0,4;DP=1817;DSNP=1784;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0;HRUN=3;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_8,LongTRCallMinQ0.9_0.5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_15 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_21,LongTRCallMinQ0.9_0.49 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_5,LongTRCallMinDepth30_16 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_24 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_1,LongTRCallMinDepth30_12,LongTRCallMinQ0.9_0.5 +NC_051336.1 178014 RAT_STR_66 ACTCCCCCCCCCCCCCCCCCCCCC AGTTCCCCCCT,AGTCCCCCCCCCCCCCCCC,ACGCCCCCCCCCCCCCCCCC,AGTCCCCCCCCCCCCCCCCC,ACGCCCCCCCCCCCCCCCCCC,AGTCCCCCCCCCCCCCCCCCC,ACCCCCCCCCCCCCCCCCCCCC,ACGCCCCCCCCCCCCCCCCCCC,ACTTCCCCCCCCCCCCCCCCCC,AGTCCCCCCCCCCCCCCCCCCC,ACGCCCCCCCCCCCCCCCCCCCC,AGTCCCCCCCCCCCCCCCCCCCC,ACGCCCCCCCCCCCCCCCCCCCCC,AGTCCCCCCCCCCCCCCCCCCCCC,ACGCCCCCCCCCCCCCCCCCCCCCCCC,AGTCCCCCCCACCCCCCCCCACCCCCCCCC . NO_CALLS_REMAINING START=178017;END=178037;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,1;BPDIFFS=-13,-5,-4,-4,-3,-3,-2,-2,-2,-2,-1,-1,0,0,3,6;DP=1353;DSNP=1342;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;HRUN=21;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_5 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_22 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_3,LongTRCallMinDepth30_12 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_7,LongTRCallMinDepth30_13,LongTRCallMinQ0.9_0.88 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_9,LongTRCallMinDepth30_20 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_5,LongTRCallMinQ0.9_0.11 +NC_051336.1 178881 RAT_STR_67 GAAAAAAAAAAAAAAA GGAAAAAAAAA,GAAAAAAAAAAA,GAAAAAAAGAAA,GAAAAAAAAAAAA,GAAAAAAAAAAAAA,GAAAAAAAAAAAAAA . NO_CALLS_REMAINING START=178882;END=178896;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0,0,0;BPDIFFS=-5,-4,-4,-3,-2,-1;DP=1307;DSNP=1284;DFLANKINDEL=0;AN=192;REFAC=0;AC=0,0,0,0,0,0;HRUN=15;HET=-1;HWEP=-1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_0,LongTRCallMinDepth30_5,LongTRCallMinQ0.9_0.47 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_23 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRCallMinDepth30_14,LongTRCallMinQ0.9_0.89 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_6,LongTRCallMinDepth30_11,LongTRCallMinQ0.9_0.67 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_4,LongTRCallMinDepth30_20 ./.:.:.:.:.:.:.:.:.:.:.:.:LongTRMinSuppReads10_2,LongTRCallMinDepth30_5,LongTRCallMinQ0.9_0.18 diff --git a/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_testfile.vcf.gz b/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_testfile.vcf.gz new file mode 100644 index 00000000..be80c1e3 Binary files /dev/null and b/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_testfile.vcf.gz differ diff --git a/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_testfile.vcf.gz.tbi b/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_testfile.vcf.gz.tbi new file mode 100644 index 00000000..df5e903c Binary files /dev/null and b/trtools/testsupport/sample_vcfs/dumpSTR_vcfs/longtr_testfile.vcf.gz.tbi differ diff --git a/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/longtr_merged.vcf b/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/longtr_merged.vcf new file mode 100644 index 00000000..17f2154a --- /dev/null +++ b/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/longtr_merged.vcf @@ -0,0 +1,3439 @@ +##fileformat=VCFv4.1 +##command=LongTR-638942f-dirty --bams /data/HG002_test.bam --regions /data/htt_test.bed --fasta /data/hg38.fa --tr-vcf /data/HG002_htt_test.vcf.gz +##command=LongTR-638942f-dirty --bams /data/HG003_test.bam --regions /data/htt_test.bed --fasta /data/hg38.fa --tr-vcf /data/HG003_htt_test.vcf.gz +##command=/Users/melissagymrek/miniconda3/envs/trtools/bin/mergeSTR --vcfs test_file_longtr1.vcf.gz,test_file_longtr2.vcf.gz --out longtr_merged.vcf --vcftype longtr +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##contig= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT HG002 HG003 +chr4 3064875 4-3064874-3064877-AAT AAT . . . START=3064875;END=3064877;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS . 0|0:0|0:1.0:1.0:10:0:0|0:6|4:.:0:0.0:0.0:-2147483648:0|10:0|10 +chr4 3065246 4-3065245-3065257-T TTTTTTTTTTTT . . . START=3065246;END=3065257;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS . 0|0:0|0:1.0:1.0:10:0:0|0:6|4:.:0:0.0:0.0:-2147483648:0|10:0|10 +chr4 3066091 4-3066090-3066100-AG AGAGAGAGAG . . . START=3066091;END=3066100;PERIOD=2 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:10:0:0|0:3|5:.:0:0.0:0.0:-2147483648:0|10:0|10 0|0:0|0:1.0:1.0:13:0:0|0:6|7:.:0:0.0:0.0:-2147483648:0|13:0|13 +chr4 3066180 4-3066179-3066188-T TTTTTTTTT TTTTTTTT . . START=3066180;END=3066188;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|1:0|-1:1.0:0.5:10:0:0|0:3|5:6.46:0:-0.96:0.0:10:-1|2;0|8:-1|2;0|8 0|0:0|0:1.0:1.0:13:0:0|0:6|7:.:0:0.0:0.0:-2147483648:-1|1;0|11;1|1:0|13 +chr4 3066582 4-3066581-3066590-AAG AAGAAGAAG . . . START=3066582;END=3066590;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:10:0:0|0:3|5:.:0:0.0:0.0:-2147483648:0|10:0|10 0|0:0|0:1.0:1.0:14:0:0|0:6|8:.:0:0.0:0.0:-2147483648:0|14:0|14 +chr4 3067271 4-3067270-3067280-GA GAGAGAGAGA . . . START=3067271;END=3067280;PERIOD=2 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:14:0:0|0:3|9:.:0:0.0:0.0:-2147483648:-1|1;0|13:0|14 0|0:0|0:1.0:1.0:16:0:0|0:7|9:.:0:0.0:0.0:-2147483648:0|16:0|16 +chr4 3067278 4-3067277-3067289-AGA AGAAGGAGAAGA . . . START=3067278;END=3067289;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:14:0:0|0:3|9:.:0:0.0:0.0:-2147483648:0|14:0|14 0|0:0|0:1.0:1.0:16:0:0|0:7|9:.:0:0.0:0.0:-2147483648:0|16:0|16 +chr4 3067964 4-3067963-3067972-AGC AGCAGCAGC . . . START=3067964;END=3067972;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:18:0:0|0:3|13:.:0:0.0:0.0:-2147483648:0|18:0|18 0|0:0|0:1.0:1.0:18:0:0|0:9|9:.:0:0.0:0.0:-2147483648:0|18:0|18 +chr4 3068168 4-3068167-3068176-TGG TGGTGGTGG . . . START=3068168;END=3068176;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:18:0:0|0:3|13:.:0:0.0:0.0:-2147483648:-1|1;0|17:0|18 0|0:0|0:1.0:1.0:18:0:0|0:9|9:.:0:0.0:0.0:-2147483648:-1|1;0|17:0|18 +chr4 3068306 4-3068305-3068333-A AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAA . . START=3068306;END=3068333;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|1:0|-1:1.0:0.5:18:0:0|0:3|13:16.08:0:-0.09:0.0:18:-2|2;-1|8;0|4;1|3;2|1:-1|10;0|8 0|1:0|-1:1.0:0.5:18:0:0|0:9|9:19.95:0:-0.32:-0.48:18:-2|2;-1|5;0|7;1|4:-1|7;0|11 +chr4 3068642 4-3068641-3068650-TG TGTGTGTGTAGCT TGTGTGTGTAGC . . START=3068642;END=3068650;PERIOD=2 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|1:0|-1:1.0:0.5:18:0:0|0:3|13:3.93:0:-2.88:-0.32:18:-1|2;0|14;1|1;2|1:-1|2;0|16 0|1:0|-1:1.0:0.5:20:0:0|0:10|10:12.27:0:-1.93:-0.23:20:-1|4;0|15;1|1:-1|4;0|16 +chr4 3068654 4-3068653-3068669-T TTTTTTTTTTTTTTTT TTTTTTTTTTTTTTT . . START=3068654;END=3068669;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|1:0|-1:1.0:0.5:18:0:0|0:3|13:4.33:0:-2.88:-0.32:18:-1|2;0|14;1|1;2|1:-1|2;0|16 0|1:0|-1:1.0:0.5:20:0:0|0:10|10:13.06:0:-1.93:-0.23:20:-1|4;0|15;1|1:-1|4;0|16 +chr4 3068957 4-3068956-3068965-TG TGTGTGTGT . . . START=3068957;END=3068965;PERIOD=2 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:18:0:0|0:3|13:.:0:0.0:0.0:-2147483648:-1|2;0|16:0|18 0|0:0|0:1.0:1.0:20:0:0|0:10|10:.:0:0.0:0.0:-2147483648:0|20:0|20 +chr4 3069151 4-3069150-3069163-T TTTTTTTTTTTTT TTTTTTTTTTTTTT . . START=3069151;END=3069163;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|1:0|1:1.0:0.5:18:0:0|0:3|13:4.9:0:-2.12:0.0:18:-2|1;-1|1;0|13;1|2;2|1:0|15;1|3 0|0:0|0:1.0:1.0:21:0:0|0:10|11:.:0:0.0:0.0:-2147483648:-1|2;0|18;1|1:0|21 +chr4 3069227 4-3069226-3069236-CCT CCTCCTCCTC . . . START=3069227;END=3069236;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:18:0:0|0:3|13:.:0:0.0:0.0:-2147483648:-3|1;0|17:0|18 0|0:0|0:1.0:1.0:21:0:0|0:10|11:.:0:0.0:0.0:-2147483648:0|21:0|21 +chr4 3069313 4-3069312-3069327-T TTTTTTTTTTTTTTT TTTTTTTTTTTTTT . . START=3069313;END=3069327;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:18:0:0|0:3|13:.:0:0.0:0.0:-2147483648:-1|1;0|15;1|2:0|18 0|1:0|-1:1.0:0.5:21:0:0|0:10|11:23.38:0:-0.42:0.0:21:-2|2;-1|6;0|12;1|1:-1|8;0|13 +chr4 3070295 4-3070294-3070308-T TTTTTTTTTTTTTT TTTTTTTTTTTTT . . START=3070295;END=3070308;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|1:0|-1:1.0:0.5:20:0:0|0:4|14:13.77:0:-1.38:-0.52:20:-2|1;-1|4;0|13;1|2:-1|5;0|15 0|1:0|-1:1.0:0.5:23:0:0|0:11|12:8.13:0:-2.59:0.0:23:-2|1;-1|3;0|17;1|2:-1|4;0|19 +chr4 3071991 4-3071990-3071999-CTG CTGCTGCTG . . . START=3071991;END=3071999;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:22:0:0|0:4|16:.:0:0.0:0.0:-2147483648:-1|1;0|21:0|22 0|0:0|0:1.0:1.0:25:0:0|0:13|12:.:0:0.0:0.0:-2147483648:0|25:0|25 +chr4 3072627 4-3072626-3072645-TTTA TTTATTTATTTATTTATTT . . . START=3072627;END=3072645;PERIOD=4 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:22:0:0|0:4|16:.:0:0.0:0.0:-2147483648:-1|2;0|19;1|1:0|22 0|0:0|0:1.0:1.0:25:0:0|0:13|12:.:0:0.0:0.0:-2147483648:0|25:0|25 +chr4 3073440 4-3073439-3073449-GCT GCTGCTGCTG . . . START=3073440;END=3073449;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:24:0:0|0:4|18:.:0:0.0:0.0:-2147483648:0|24:0|24 0|0:0|0:1.0:1.0:27:0:0|0:13|14:.:0:0.0:0.0:-2147483648:0|27:0|27 +chr4 3074223 4-3074222-3074238-CGCCC CGCCCCGCCCCGCCCC . . . START=3074223;END=3074238;PERIOD=5 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:25:0:0|0:4|19:.:0:0.0:0.0:-2147483648:-2|1;-1|3;0|21:0|25 0|0:0|0:1.0:1.0:29:0:0|0:15|14:.:0:0.0:0.0:-2147483648:-1|1;0|27;1|1:0|29 +chr4 3074308 4-3074307-3074341-CCACGCCCCCCGCATCG CCACGCCCCCCGCATCGCCACGCCCCCCGCATCG . . . START=3074308;END=3074341;PERIOD=17 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:25:0:0|0:4|19:.:0:0.0:0.0:-2147483648:-1|2;0|22;1|1:0|25 0|0:0|0:1.0:1.0:29:0:0|0:15|14:.:0:0.0:0.0:-2147483648:-1|1;0|28:0|29 +chr4 3074613 4-3074612-3074652-GGCCCCGCCTCCGCCGGCGC GGCCCCGCCTCCGCCGGCGCGGCCCCGCCTCCGCCGGCGC GGCCCCGCCTCCGCCGGCGC . . START=3074613;END=3074652;PERIOD=20 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:26:0:0|0:4|20:.:0:0.0:0.0:-2147483648:-2|2;-1|1;0|20;1|3:0|26 0|1:0|-20:1.0:0.5:29:0:0|0:15|14:168.82:0:-0.0:0.0:29:-21|1;-20|13;0|15:-20|14;0|15 +chr4 3074877 HTT CAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAG CAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAG,CAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAG,CAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAGCAG . . START=3074877;END=3074933;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 2|3:-6|15:1.0:0.5:26:0:0|0:4|20:54.74:0:0.0:0.0:26:-6|9;0|2;7|2;15|12;18|1:-6|13;15|13 1|2:-9|-6:1.0:0.5:29:0:0|0:15|14:14.01:0:-3.98:0.0:29:-9|4;-7|2;-6|21;-4|1;-2|1:-9|4;-6|25 +chr4 3074928 4-3074927-3074936-CAA CAGCAGCAA . . . START=3074928;END=3074936;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:26:0:0|0:4|20:.:0:0.0:0.0:-2147483648:0|25;1|1:0|26 0|0:0|0:1.0:1.0:29:0:0|0:15|14:.:0:0.0:0.0:-2147483648:0|29:0|29 +chr4 3074940 HTT_CCG CCGCCACCGCCGCCGCCGCCGCCGCCG . . . START=3074940;END=3074966;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:26:0:0|0:4|20:.:0:0.0:0.0:-2147483648:0|24;5|1;11|1:0|26 0|0:0|0:1.0:1.0:29:0:0|0:15|14:.:0:0.0:0.0:-2147483648:-2|1;-1|1;0|27:0|29 +chr4 3074967 4-3074966-3074972-CCT CCTCCT . . . START=3074967;END=3074972;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:27:0:0|0:4|21:.:0:0.0:0.0:-2147483648:0|27:0|27 0|0:0|0:1.0:1.0:29:0:0|0:15|14:.:0:0.0:0.0:-2147483648:-2|1;-1|1;0|27:0|29 +chr4 3074984 4-3074983-3074994-GCC GCCGCCGCCGC . . . START=3074984;END=3074994;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:27:0:0|0:4|21:.:0:0.0:0.0:-2147483648:-1|2;0|25:0|27 0|0:0|0:1.0:1.0:29:0:0|0:15|14:.:0:0.0:0.0:-2147483648:-13|1;0|28:0|29 +chr4 3075030 4-3075029-3075040-CCG CCGCCGCCGCC CGCCGCCGCC . . START=3075030;END=3075040;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|1:0|-1:1.0:0.5:27:0:0|0:4|21:7.28:0:-2.82:0.0:27:-1|5;0|21;2|1:-1|5;0|22 0|0:0|0:1.0:1.0:29:0:0|0:15|14:.:0:0.0:0.0:-2147483648:-1|1;0|27;3|1:0|29 +chr4 3075649 4-3075648-3075657-G CAGGGGGGGGG CGGGGGGGG,CGGGGGGGGG . . START=3075649;END=3075657;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 1|2:-2|-1:1.0:0.5:25:0:0|0:3|21:11.69:0:-3.04:0.0:25:-2|4;-1|19;0|2:-2|4;-1|21 1|2:-2|-1:1.0:0.5:28:0:0|0:15|13:6.92:0:-3.04:-0.84:28:-3|2;-2|3;-1|22;0|1:-2|5;-1|23 +chr4 3077567 4-3077566-3077575-CCA CCACCACCA . . . START=3077567;END=3077575;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:24:0:0|0:2|21:.:0:0.0:0.0:-2147483648:0|24:0|24 0|0:0|0:1.0:1.0:22:0:0|0:11|11:.:0:0.0:0.0:-2147483648:0|22:0|22 +chr4 3078565 4-3078564-3078583-TTTTG TTTTGTTTTGTTTTGTTTT TTTTGTTTTGTTTTGTTT . . START=3078565;END=3078583;PERIOD=5 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|1:0|-1:1.0:0.5:22:0:0|0:2|19:8.61:0:-2.36:-0.23:22:-1|6;0|14;1|2:-1|4;0|18 0|0:0|0:1.0:1.0:18:0:0|0:10|8:.:0:0.0:0.0:-2147483648:-1|1;0|16;1|1:0|18 +chr4 3078736 4-3078735-3078747-T TTTTTTTTTTTT TTTTTTTTTTT . . START=3078736;END=3078747;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|1:0|-1:1.0:0.5:21:0:0|0:2|19:8.03:0:-2.83:0.0:21:-1|5;0|15;1|1:-1|3;0|18 0|1:0|-1:1.0:0.5:18:0:0|0:10|8:10.96:0:-0.62:0.0:18:-2|2;-1|4;0|11;1|1:-1|6;0|12 +chr4 3079248 4-3079247-3079266-T TTTTTTTTTTTTTTTTTTTG TTTTTTTTTTTTTTTTTTT,TTTTTTTTTTTTTTTTTTTT . . START=3079248;END=3079266;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 1|2:-1|0:1.0:0.5:21:0:0|0:2|19:19.67:0:-1.11:-0.48:21:-2|1;-1|5;0|12;1|3:-1|6;0|15 1|2:-1|0:1.0:0.5:17:0:0|0:10|7:24.19:0:-0.2:-0.31:17:-1|7;0|10:-1|7;0|10 +chr4 3080098 4-3080097-3080111-T TTTTTTTTTTTTTT TTTTTTTTTTTTT . . START=3080098;END=3080111;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:20:0:0|0:2|18:.:0:0.0:0.0:-2147483648:-2|1;-1|2;0|15;1|1;3|1:0|20 0|1:0|-1:1.0:0.5:16:0:0|0:10|6:4.66:0:-2.38:0.0:16:-1|2;0|14:-1|2;0|14 +chr4 3081551 4-3081550-3081575-T TTTTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTTT,TTTTTTTTTTTTTTTTTTTTTTTT . . START=3081551;END=3081575;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|1:0|-2:1.0:0.5:19:0:0|0:2|17:11.87:0:-0.78:0.0:19:-2|4;-1|2;0|10;1|3:-2|6;0|13 0|2:0|-1:1.0:0.5:12:0:0|0:7|5:15.91:0:-0.11:-0.33:12:-2|1;-1|4;0|7:-1|5;0|7 +chr4 3081887 4-3081886-3081896-T TTTTTTTTTT TTTTTTTTTTT . . START=3081887;END=3081896;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|1:0|1:1.0:0.5:18:0:0|0:2|16:9.95:0:-1.51:0.0:18:-1|2;0|12;1|4:0|14;1|4 0|1:0|1:1.0:0.5:12:0:0|0:7|5:15.47:0:-0.41:-0.29:12:-1|1;0|7;1|4:0|8;1|4 +chr4 3082686 4-3082685-3082694-TTG TTGTTGTTG . . . START=3082686;END=3082694;PERIOD=3 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:15:0:0|0:1|14:.:0:0.0:0.0:-2147483648:0|15:0|15 . +chr4 3083531 4-3083530-3083587-AC ACACACACACACACACACACACACACACACACACACACACACACACACACACACACA ACACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACACACA . . START=3083531;END=3083587;PERIOD=2 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 1|2:-12|-10:1.0:0.5:12:0:0|0:1|11:12.31:0:-0.41:0.0:12:-12|3;-10|7;-8|2:-12|4;-10|8 . +chr4 3083596 4-3083595-3083604-TA TATATATAT . . . START=3083596;END=3083604;PERIOD=2 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|0:0|0:1.0:1.0:12:0:0|0:1|11:.:0:0.0:0.0:-2147483648:0|12:0|12 . +chr4 3084199 4-3084198-3084221-T TTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTTT . . START=3084199;END=3084221;PERIOD=1 GT:GB:Q:PQ:DP:DSNP:PSNP:PDP:GLDIFF:DFLANKINDEL:AB:FS:DAB:ALLREADS:MALLREADS 0|1:0|-1:1.0:0.5:10:0:0|0:1|9:16.51:0:0.0:-0.0:10:-1|5;0|4;1|1:-1|5;0|5 . diff --git a/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/test_file_longtr1.vcf.gz b/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/test_file_longtr1.vcf.gz new file mode 100644 index 00000000..9841797c Binary files /dev/null and b/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/test_file_longtr1.vcf.gz differ diff --git a/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/test_file_longtr1.vcf.gz.tbi b/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/test_file_longtr1.vcf.gz.tbi new file mode 100644 index 00000000..38485916 Binary files /dev/null and b/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/test_file_longtr1.vcf.gz.tbi differ diff --git a/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/test_file_longtr2.vcf.gz b/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/test_file_longtr2.vcf.gz new file mode 100644 index 00000000..bfc5c11b Binary files /dev/null and b/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/test_file_longtr2.vcf.gz differ diff --git a/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/test_file_longtr2.vcf.gz.tbi b/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/test_file_longtr2.vcf.gz.tbi new file mode 100644 index 00000000..09415fa0 Binary files /dev/null and b/trtools/testsupport/sample_vcfs/mergeSTR_vcfs/test_file_longtr2.vcf.gz.tbi differ diff --git a/trtools/testsupport/sample_vcfs/test_longtr.vcf b/trtools/testsupport/sample_vcfs/test_longtr.vcf new file mode 100644 index 00000000..1adb01b6 --- /dev/null +++ b/trtools/testsupport/sample_vcfs/test_longtr.vcf @@ -0,0 +1,104 @@ +##fileformat=VCFv4.1 +##FILTER= +##command=LongTR-638942f-dirty --bams /tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077E67B5.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077E76C6.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077E76FE.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077E7A63.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077E8336.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077E9BAA.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00077EA7E6.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FF6E.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FF7D.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FF94.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FFAC.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FFD3.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FFF0.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FFF8.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/000789FFF9.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A002C.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0041.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0058.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0085.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A00AC.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A00BF.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0127.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0138.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0139.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0166.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0189.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A01A6.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A01C0.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A01D8.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A01DB.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A01FE.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0215.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A021A.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0224.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A022D.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0244.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0246.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0255.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A02CB.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A02DF.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A07A2.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A087B.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A096C.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A09B1.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0A43.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A0AEA.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A16D3.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A16DF.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1707.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1731.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1732.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1772.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A179C.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A17A7.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A17F7.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1807.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1816.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A181B.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1837.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1863.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A186C.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1875.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A189F.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A18CF.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A18F7.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1905.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A192C.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1937.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A193E.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1942.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A194B.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1979.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A19A7.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A19B5.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A19C0.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A19D6.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1A16.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1A2B.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1B05.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A1F34.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A22DF.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A22EB.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A2315.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A2463.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A2496.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A2595.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/00078A261F.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/ACI_Myrna.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/BN_Myrna.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/BUF_Myrna.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/F344_B2607.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/HSRA.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/M520_Myrna.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/MR_81833.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/WKY_Myrna.haplotag.bam,/tscc/projects/ps-palmer/DenghuiChen/1U01DA051234/HS/aligned/haplotaged_bams/WN_Myrna.haplotag.bam --fasta /tscc/projects/ps-gymreklab/helia/HipSTR_LR/tests/rat/GCF_015227675.2_mRatBN7.2_genomic.fna --bam-samps 00077E67B5,00077E76C6,00077E76FE,00077E7A63,00077E8336,00077E9BAA,00077EA7E6,000789FF6E,000789FF7D,000789FF94,000789FFAC,000789FFD3,000789FFF0,000789FFF8,000789FFF9,00078A002C,00078A0041,00078A0058,00078A0085,00078A00AC,00078A00BF,00078A0127,00078A0138,00078A0139,00078A0166,00078A0189,00078A01A6,00078A01C0,00078A01D8,00078A01DB,00078A01FE,00078A0215,00078A021A,00078A0224,00078A022D,00078A0244,00078A0246,00078A0255,00078A02CB,00078A02DF,00078A07A2,00078A087B,00078A096C,00078A09B1,00078A0A43,00078A0AEA,00078A16D3,00078A16DF,00078A1707,00078A1731,00078A1732,00078A1772,00078A179C,00078A17A7,00078A17F7,00078A1807,00078A1816,00078A181B,00078A1837,00078A1863,00078A186C,00078A1875,00078A189F,00078A18CF,00078A18F7,00078A1905,00078A192C,00078A1937,00078A193E,00078A1942,00078A194B,00078A1979,00078A19A7,00078A19B5,00078A19C0,00078A19D6,00078A1A16,00078A1A2B,00078A1B05,00078A1F34,00078A22DF,00078A22EB,00078A2315,00078A2463,00078A2496,00078A2595,00078A261F,ACI_Myrna,BN_Myrna,BUF_Myrna,F344_B2607,HSRA,M520_Myrna,MR_81833,WKY_Myrna,WN_Myrna --bam-libs 00077E67B5,00077E76C6,00077E76FE,00077E7A63,00077E8336,00077E9BAA,00077EA7E6,000789FF6E,000789FF7D,000789FF94,000789FFAC,000789FFD3,000789FFF0,000789FFF8,000789FFF9,00078A002C,00078A0041,00078A0058,00078A0085,00078A00AC,00078A00BF,00078A0127,00078A0138,00078A0139,00078A0166,00078A0189,00078A01A6,00078A01C0,00078A01D8,00078A01DB,00078A01FE,00078A0215,00078A021A,00078A0224,00078A022D,00078A0244,00078A0246,00078A0255,00078A02CB,00078A02DF,00078A07A2,00078A087B,00078A096C,00078A09B1,00078A0A43,00078A0AEA,00078A16D3,00078A16DF,00078A1707,00078A1731,00078A1732,00078A1772,00078A179C,00078A17A7,00078A17F7,00078A1807,00078A1816,00078A181B,00078A1837,00078A1863,00078A186C,00078A1875,00078A189F,00078A18CF,00078A18F7,00078A1905,00078A192C,00078A1937,00078A193E,00078A1942,00078A194B,00078A1979,00078A19A7,00078A19B5,00078A19C0,00078A19D6,00078A1A16,00078A1A2B,00078A1B05,00078A1F34,00078A22DF,00078A22EB,00078A2315,00078A2463,00078A2496,00078A2595,00078A261F,ACI_Myrna,BN_Myrna,BUF_Myrna,F344_B2607,HSRA,M520_Myrna,MR_81833,WKY_Myrna,WN_Myrna --regions /tscc/projects/ps-gymreklab/helia/HipSTR_LR/tests/rat/ref_set/rn7.hipstr_reference_seg00.bed --tr-vcf /tscc/projects/ps-gymreklab/helia/HipSTR_LR/tests/rat/output/rat_00.vcf.gz --def-stutter-model --min-reads 5 --output-filters --max-tr-len 10000 --phased-bam --skip-assembly --log /tscc/projects/ps-gymreklab/helia/HipSTR_LR/tests/rat/log/log_00.txt +##reference=/tscc/projects/ps-gymreklab/helia/HipSTR_LR/tests/rat/GCF_015227675.2_mRatBN7.2_genomic.fna +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##contig= +##bcftools_viewVersion=1.19+htslib-1.20 +##bcftools_viewCommand=view -s 00077E67B5 example-files/longtr_testfile.vcf.gz; Date=Thu Aug 29 18:33:48 2024 +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT 00077E67B5 +NC_051336.1 5357 RAT_STR_1 GGGGGGGGGGG GGGGGGGGG,GGGGGGGGGG,GGGGGGGGGGGG,GGGGGGGGGGGGG . . START=5357;END=5367;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-2,-1,1,2;DP=780;DSNP=7;DFLANKINDEL=0;AN=2;REFAC=28;AC=0,1,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|2:0|-1:1:0.5:6:0:0:3.27|2.73:0|0:8.24:-4|1;-1|2;0|3:-1|3;0|3:PASS +NC_051336.1 5590 RAT_STR_2 TCTCTCTCTTCCCTCTCTCT TCTCTCTCTTCCTCTCTCT,TCTCTCTCTTCCCCTCTCTCT . . START=5590;END=5609;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1;BPDIFFS=-1,1;DP=817;DSNP=9;DFLANKINDEL=0;AN=2;REFAC=187;AC=0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:0.97:0.97:6:0:0:3.00|3.00:0|0:1.81:0|6:0|6:PASS +NC_051336.1 5930 RAT_STR_3 TTTTTTTTTTTTCTTTTTTT TTTTTTTTTTCTTTTTTT,TTTTTTTTTTTCTTTTTT,TTTTTTTTTTTCTTTTTTT,TTTTTTTTTTTTCTTTTTT,TTTTTTTTTTTCTTTTTTTT,TTTTTTTTTTTTCTTTTTTTT,TTTTTTTTTTTTTCTTTTTTT . . START=5930;END=5949;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,1,1,1;BPDIFFS=-2,-2,-1,-1,0,1,1;DP=858;DSNP=8;DFLANKINDEL=0;AN=2;REFAC=23;AC=0,0,1,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|3:0|-1:1:0.5:6:0:0:1.00|5.00:0|0:2.93:-1|5;0|1:-1|5;0|1:PASS +NC_051336.1 7727 RAT_STR_4 AAGAAAAGCAAACAAAAGAAAAGAAAGGAG AAGAAAAGCAAACAAAAGAAAAGAAAGGAA,AAGAAAAGCAAAACAAAAGAAAAGAAAGGAG . . START=7727;END=7752;PERIOD=5;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1;BPDIFFS=0,1;DP=1080;DSNP=11;DFLANKINDEL=0;AN=2;REFAC=166;AC=1,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|1:0|0:1:0.5:10:0:0:8.00|2.00:0|0:4.81:0|10:0|10:PASS +NC_051336.1 10092 RAT_STR_5 TATATATACATATATA . . . START=10092;END=10107;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=.;DP=1326;DSNP=1276;DFLANKINDEL=0;AN=2;REFAC=192 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:1:1:12:12:0:3.00|9.00:3|9:.:0|11;2|1:0|12:PASS +NC_051336.1 10633 RAT_STR_6 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA . . START=10633;END=10664;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0,0,0,0,0,0,0;BPDIFFS=-8,-7,-6,-5,-4,-3,-2,-1,2,3;DP=1357;DSNP=1323;DFLANKINDEL=0;AN=2;REFAC=9;AC=0,0,0,0,1,0,0,1,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 8|5:-1|-4:0.56:0.56:13:13:0:3.00|10.00:3|10:0.43:-6|3;-5|1;-4|3;-3|3;-2|1;-1|1;0|1:-4|10;-1|3:PASS +NC_051336.1 10827 RAT_STR_7 AGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAACAAAACAAAACAAAACAAA AGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAACAAAACAAAACAAAACAAA,AGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAACAAAACAAAACAAA,AGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAGCAAAACAAAACAAAACAAAACAAA . . START=10827;END=10887;PERIOD=5;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0;BPDIFFS=-5,0,5;DP=1348;DSNP=1325;DFLANKINDEL=0;AN=2;REFAC=89;AC=1,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 1|0:-5|0:1:1:13:13:0:3.00|10.00:3|10:19.12:-5|3;-1|1;0|9:-5|3;0|10:PASS +NC_051336.1 12007 RAT_STR_8 CTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTAGGCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTATT CTTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTGTTCTTATTCTTATT,CTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTAGGCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTATT,CTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTAGGCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTATT,CTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATCTTATTCTTATTCTTATCTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTATT,CTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTTCTTATTCTTATTCTTATTCTTATTCTTATTCTTATTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTAGTCTTATT . . START=12007;END=12154;PERIOD=6;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,0;BPDIFFS=-25,-18,-12,22,24;DP=1384;DSNP=1374;DFLANKINDEL=0;AN=2;REFAC=9;AC=1,0,1,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 1|3:-25|-12:1:1:12:12:0:3.00|9.00:3|9:11.21:-26|1;-25|1;-24|1;-19|1;-18|3;-12|5:-25|3;-12|9:PASS +NC_051336.1 13999 RAT_STR_9 TTTTTTTTTTTTA TTTTTTTTTTTA,TTTTTTTTTTTT,TTTTTTTTTTTTTA,TTTTTTTTTTTTTTA . . START=13999;END=14010;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-1,-1,1,2;DP=1426;DSNP=1419;DFLANKINDEL=0;AN=2;REFAC=21;AC=0,1,1,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 2|3:-1|1:0.37:0.37:11:11:0:1.00|10.00:1|10:0:-2|1;0|2;1|8:-1|1;1|10:PASS +NC_051336.1 15334 RAT_STR_10 TTTTTTTTTTT TTTTTTTTTT,TTTTTTTTTTTT,TTTTTTTTTTTTT . . START=15334;END=15344;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0;BPDIFFS=-1,1,2;DP=1405;DSNP=1401;DFLANKINDEL=0;AN=2;REFAC=23;AC=0,1,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|2:0|1:1:1:12:12:0:1.00|11.00:1|11:4.44:0|3;1|9:0|1;1|11:PASS +NC_051336.1 16134 RAT_STR_11 TTTTCTTTTCTTTTTTTCTTTTTTT TTTTCTTTTCTTTTTTCTTTTTTT,TTTTCTTTTCTTTTTTTCTTTTTT . . START=16134;END=16158;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1;BPDIFFS=-1,-1;DP=1369;DSNP=1365;DFLANKINDEL=0;AN=2;REFAC=189;AC=0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:0.5:0.5:12:12:0:0.00|12.00:0|12:0.3:-3|1;-1|1;0|10:0|12:PASS +NC_051336.1 18939 RAT_STR_12 TTTTTTTTTTT TTTTTTTTT,TTTTTTTTTT . . START=18939;END=18949;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0;BPDIFFS=-2,-1;DP=1321;DSNP=1312;DFLANKINDEL=0;AN=2;REFAC=7;AC=0,2 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 2|2:-1|-1:0.5:0.5:15:15:0:0.00|15.00:0|15:0.3:-2|2;-1|9;0|4:-1|15:PASS +NC_051336.1 19870 RAT_STR_13 TCTCTCTCTCTCT . . . START=19870;END=19882;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=.;DP=1310;DSNP=1303;DFLANKINDEL=0;AN=2;REFAC=192 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:1:1:16:16:0:0.00|16.00:0|16:.:-1|1;0|15:0|16:PASS +NC_051336.1 29677 RAT_STR_14 AAAAAAAAAAAAGAAAAAAAA AAAAAAAAAAAAAGAAAAAAA,AAAAAAAAAAAAAGAAAAAAAA,AAAAAAAAAAAAAAGAAAAAAAA,AAAAAAAAAAAAAGAAAAAAAAA,AAAAAAAAAAAAAAGAAAAAAAAA . . START=29677;END=29697;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,1;BPDIFFS=0,1,2,2,3;DP=1449;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=61;AC=0,1,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|2:0|1:1:0.5:16:0:0:3.54|12.46:0|0:3.02:0|2;1|12;2|2:0|3;1|13:PASS +NC_051336.1 30051 RAT_STR_15 AATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACACACA AATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACA,AATATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACA,AATATATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACA,AATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACACACACACA,AATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACA,AATATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACACACACACA,AATATATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACACACACACACACACACACA,ATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATCTGTGTATCTGTGTGTGTGTGTGTGTGTGTACACACACACACACACACACA,ATATATATATGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATCTGTGTATCTGTGTGTGTGTGTGTGTGTACACACACACACACACACACA . . START=30052;END=30134;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,1,1,1;BPDIFFS=-18,-18,-18,-16,-14,-14,-14,-10,-4,-4,-2,0,0,0,0,2,2,17,25;DP=1471;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=0;AC=0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 4|11:-16|-2:1:0.5:17:0:0:10.00|7.00:0|0:19.81:-18|2;-16|8;-6|1;-4|1;-2|4;-1|1:-16|10;-2|7:PASS +NC_051336.1 30190 RAT_STR_16 AAATACATAAATACAAAAATAAATAAATA AAATACATAAAATACAAAAATAAATAAATA,AAATACATAAATACAAAAAATAAATAAAATA . . START=30190;END=30218;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1;BPDIFFS=1,2;DP=1493;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=190;AC=0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:1:1:17:0:0:8.50|8.50:0|0:5.06:-1|1;0|16:0|17:PASS +NC_051336.1 30607 RAT_STR_17 TTTGTTTGTTTGTTTGTTTTATGTTGCTTTTGTTTTTTGTTTGTTTGTTCGTTTG . . . START=30607;END=30661;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=.;DP=1508;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=192 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:1:1:17:0:0:8.50|8.50:0|0:.:-2|2;-1|1;0|14:0|17:PASS +NC_051336.1 31951 RAT_STR_18 AAAAAAAAGAAAAGAAAAAAGAAAAAAGTAAAGAAAAAAT AAAAAAAAGAAAAGAAAAAAGAAAAAAGTAAAGAAAAAA,AAAAAAAAGAAAAGAAAAAAGAAAAAAGTAAAGAAAAAT,AAAAAAAAGAAAAGAAAAAAGAAAAAGTAAAGAAAAAAT,AAAAAAAGAAAAGAAAAAAGAAAAAAGTAAAGAAAAAAT,AAAAAAAAAGAAAAGAAAAAAGAAAAAAGTAAAGAAAAAAT,AAAAAAAAGAAAAGAAAAAAGAAAAAAAGTAAAGAAAAAAT,AAAAAAAAGAAAAGAAAAAAGAAAAAAGTAAAGAAAAAATT . . START=31951;END=31987;PERIOD=5;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,0,0,1,0,1;BPDIFFS=-1,-1,-1,-1,1,1,1;DP=1531;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=120;AC=1,0,0,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|1:0|-1:0.5:0.25:17:0:0:13.26|3.74:0|0:1.78:-1|3;0|12;1|2:-1|4;0|13:PASS +NC_051336.1 42922 RAT_STR_19 ACACATACAGACACACAGACACACAGACATCCAGACATACACACACAGACAGACACACCCCTACACACAGACACACACACACACACACACACACACACACA ACACATACAGACACACAGACACACAGACATCCAGACATACACACACAGACAGACACACCCTACACACAGACACACACACACACACACA,ACACATACAGACACACAGACACACAGACATCCAGACATACACACACAGACAGACACACCCCTACACACAGACACACACACACACACACACA,ACACATACAGACACACAGACACACAGACATCCAGACATACACACACACACAGACACACCCCTACACACAGACACACACACACACACACACACACACACACA,ACACATACAGACACACAGACACACAGACATCCAGACATACACACACACACAGACACACCCCTACACACAGACACACACACACACACACACACACACACACACA,ACACATACAGACACACAGACACACAGACATCCAGACATACACACACACACAGACACACCCCTACACACAGACACACACACACACACACACACACACACACACACA,ACACATACAGACACACAGACACACAGACATCCAGACATACACACACACACAGACACACCCCTACACACAGACACACACACACACACACACACACACACACACACACA,ACACATACAGACACACAGACACACAGACATCCAGACATACACACACACACAGACACACCCCTACACACAGACACACACACACACACACACACACACACACACACACACA . . START=42922;END=43022;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,0,0,1,0,0,0;BPDIFFS=-13,-10,0,2,4,6,8;DP=1368;DSNP=1250;DFLANKINDEL=0;AN=2;REFAC=0;AC=0,0,0,0,0,2,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 6|6:6|6:0.53:0.53:11:9:0:1.00|10.00:0|9:0.85:4|2;6|8;7|1:6|11:PASS +NC_051336.1 50097 RAT_STR_20 TATATATATACATATATATAT . . . START=50097;END=50117;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=.;DP=1404;DSNP=1394;DFLANKINDEL=0;AN=2;REFAC=192 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:1:1:8:7:0:0.50|7.50:0|7:.:0|8:0|8:PASS +NC_051336.1 51032 RAT_STR_21 AAAAAAAAAAAGAAAAAAAAA AAAAAAAAAAAGAAAAAAAA,AAAAAAAAAAGAAAAAAAAA,AAAAAAAAAAAAGAAAAAAAAA,AAAAAAAAAAAGAAAAAAAAAA . . START=51032;END=51052;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1;BPDIFFS=-1,-1,1,1;DP=1437;DSNP=1423;DFLANKINDEL=0;AN=2;REFAC=186;AC=0,0,1,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 3|0:1|0:1:1:8:7:0:1.00|7.00:0|7:4.13:0|7;1|1:0|7;1|1:PASS +NC_051336.1 52601 RAT_STR_22 TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTTTGTGT TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTTTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTTTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTTTGTGT . . START=52601;END=52647;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0;BPDIFFS=-2,2,4;DP=1457;DSNP=1443;DFLANKINDEL=0;AN=2;REFAC=87;AC=0,0,2 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 3|3:4|4:0.57:0.57:8:7:0:0.50|7.50:0|7:0.6:-2|2;0|1;4|4;6|1:4|8:PASS +NC_051336.1 66149 RAT_STR_23 AGACAGACAGACAGACAAATGT AGACAGACAGACAGACCAATGG,AGACAGACAGACAGACCAATGT . . START=66149;END=66165;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0;BPDIFFS=0,0;DP=2521;DSNP=2508;DFLANKINDEL=0;AN=2;REFAC=97;AC=0,1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 2|0:0|0:1:1:15:15:0:10.00|5.00:10|5:19.24:0|15:0|15:PASS +NC_051336.1 75871 RAT_STR_24 TAATTTTTTTTTTTTT TTATTTTTTT,TAATTTTTTTTT,TTATTTTTTTTT,TAATTTTTTTTTT,TAATTTTTTTTTTT,TAATTTTTTTTTTTT . . START=75874;END=75886;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0,0,0;BPDIFFS=-6,-4,-4,-3,-2,-1;DP=2663;DSNP=2650;DFLANKINDEL=0;AN=2;REFAC=8;AC=0,1,1,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 2|3:-4|-4:1:1:18:18:0:14.00|4.00:14|4:7.74:-8|1;-4|9;-3|1;-2|4;-1|3:-4|18:PASS +NC_051336.1 77564 RAT_STR_25 CGTGTGGTGGTGGTGGTGGAAT CATGTGTGGTGGTTGTGGTGGAAG . . START=77567;END=77582;PERIOD=3;NSKIP=0;NFILT=0;INEXACT_ALLELE=0;BPDIFFS=2;DP=2987;DSNP=2977;DFLANKINDEL=0;AN=2;REFAC=103;AC=1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|1:0|2:1:1:27:27:0:20.00|7.00:20|7:90.62:-2|1;0|19;2|7:0|20;2|7:PASS +NC_051336.1 77657 RAT_STR_26 TGTACGTATATATTTATATATACATATATATATATATATATATGT TCATATAAATATATATGTACATATATATATGT,TGTACGTATATATTTATATATACATATATATATGT,TGTACGTATATATTTATATATACACATATATATATATGT,TGTATATATATATATATATACATATATATATATATATGT,TGTACGTATATATTTATATATACATATATATATATATATATGT,TATATGTATATATATACATATATATATATATGTATGTATGTATAC,TATATATATATGTATATATACATATATATATATATGTATGTATGTATAC . . START=77663;END=77699;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,0,0,0;BPDIFFS=-13,-10,-6,-6,-2,0,4;DP=2993;DSNP=2984;DFLANKINDEL=0;AN=2;REFAC=5;AC=0,0,0,0,1,1,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 5|6:-2|0:1:1:27:27:0:20.00|7.00:20|7:7.97:-18|3;-10|4;-4|2;-2|10;0|4;4|3;9|1:-2|20;0|7:PASS +NC_051336.1 80137 RAT_STR_27 ACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT ACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAT,ACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACCCACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAAAT,ACACACAGACACAGACACACACACACACACACACACACACACACACAGACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACACAGACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACAGACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACAGACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACACAGACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACACAGACACACACACACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC,ACACACAGACACAGACACACACACACACACACACACACACACACACACAGACACACAGACACACACACACAGACACACACACACACACACAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATAC . . START=80137;END=80239;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1;BPDIFFS=-44,-40,-28,-26,-24,-22,-18,-16,-8,-8,-8,-6,-6,-6,-6,-6,-4,-4,-4,-2,-2,-2,-2,-2,0,0,0,2,2,6,17,19,19,19,19,21,23,23,35;DP=5489;DSNP=5409;DFLANKINDEL=0;AN=2;REFAC=2;AC=0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|38:0|23:0.68:0.68:43:43:0:23.00|20.00:23|20:0.54:-44|1;-28|1;-26|1;-20|1;-12|1;-8|2;-6|4;-4|1;-2|1;0|9;1|1;2|1;3|2;6|1;10|1;13|1;15|2;16|1;17|1;18|1;21|1;22|1;35|2;36|1;39|1;41|2;42|1:0|23;23|20:PASS +NC_051336.1 82630 RAT_STR_28 AAACACACACACACACACACACACACACATATATATGTACACATATATACATATATATATATTGTT ACACACACACACACACACACATATATATATATATATTGTA,ACACACACACACACACACACACACATATATATATATATTGTA,ACACACACACACACACACACACACATATATATATATATATTGTA,ACACACACACACACACACACACACACATATATATATATATATTGTA,ACACACACACACACACACACACACACACATATATATATATATATTGTA,ACACACACACACACACACACACACACATATATATATATATATATTGTA,AAACACACACACACACACATACATATGTACATATATATATATATATTGTA,AAACACATACACACACATACATATGTATATATATATACACATATATATTGTA,AAACACATACACACACACATACATATGTATATATATATACACATATATATTGTA,AAACACACACACACACACACATATATATGTACACATATATACATATATATATATTGTT . . START=82632;END=82691;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,0,1,1,1,1,0,0,0;BPDIFFS=-26,-24,-22,-20,-18,-18,-16,-14,-12,-8;DP=7466;DSNP=7395;DFLANKINDEL=0;AN=2;REFAC=0;AC=0,0,0,0,0,0,0,0,1,1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 10|9:-8|-12:1:1:48:48:0:18.00|30.00:18|30:22.65:-27|1;-26|3;-24|1;-22|5;-20|2;-18|3;-12|18;-8|12;-7|1;-6|2:-12|30;-8|18:PASS +NC_051336.1 83497 RAT_STR_29 TATATATATATATTATTTATATATAATTTATATTTATATGTGTGTGTGCCTGTGTGTCTGTGTGTCTGTGTGT TATATATATTATTTATATATAATTTATATGTGTGTGCCTATGTGTCTGTGTGTCTGTTGCTGTGTGT,TATATATATTATTTATATATAATTTATATTTATATGTGTGTGTGCCTGTGTGTCTGTGTGTCTGTGTGT,TATATATATTATTATATATAATTTATATTTATATGTGTGTGCGTGCCCGTGTGTCTGTGTGTCTGTGTGT,TATATATATTATTATATATAATTTATATTTATATGTGTGTGCGTGCCTGTGTGTCTGTGTGTCTGTGTGT,TATATATATATTATTTATATATAATTTATATTTATATGTGTGTGTGCCTGTGTGTCTGTGTGTCTGTGTGT,TATACATATATTATTATATATAATTTATATTGATATGTGTGTGCCTGCCTGTGTGTCTGTGTGTCTGTGTGT . . START=83497;END=83569;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,0,0,0,0;BPDIFFS=-6,-4,-3,-3,-2,-1;DP=7819;DSNP=7768;DFLANKINDEL=0;AN=2;REFAC=0;AC=0,1,0,0,0,1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 2|6:-4|-1:1:1:51:51:0:18.00|33.00:18|33:20.69:-6|5;-4|6;-3|14;-2|8;-1|17;1|1:-4|18;-1|33:PASS +NC_051336.1 87472 RAT_STR_30 TTGGTTGGTTGGTTGGTTGGTTGGTT TTGGTTGGTTGGTTGGTTGGTT . . START=87472;END=87497;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0;BPDIFFS=-4;DP=7697;DSNP=7666;DFLANKINDEL=0;AN=2;REFAC=106;AC=1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|1:0|-4:1:1:48:48:0:22.00|26.00:22|26:40.33:-8|3;-5|1;-4|12;-3|2;-2|1;-1|2;0|27:-4|26;0|22:PASS +NC_051336.1 87516 RAT_STR_31 TGGTTTGTTTGTTTGTTGTGTTTTGTTT TGGTTTGTTTGTTGTGTTTTGTTT,TAGTTTGTTTGTTTGTTGTGTTTTGTTT,TGGTTTGTTAGTTTGTTGTGTTTTGTTT . . START=87518;END=87543;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0;BPDIFFS=-4,0,0;DP=7692;DSNP=7661;DFLANKINDEL=0;AN=2;REFAC=160;AC=0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:1:1:48:48:0:22.00|26.00:22|26:15.94:-5|1;-4|7;-3|1;-2|1;-1|3;0|34;1|1:0|48:PASS +NC_051336.1 88300 RAT_STR_32 CATTTTTTTTTTTT ,CATTTTTTTTTTT,CTTTTTTTTTTTTT,CATTTTTTTTTTTTT . . START=88302;END=88313;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-14,-1,0,1;DP=7212;DSNP=7187;DFLANKINDEL=0;AN=2;REFAC=18;AC=1,0,0,1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 4|1:1|-14:1:1:43:43:0:18.00|25.00:18|25:7.86:-14|27;-2|2;-1|2;0|7;1|5:-14|25;1|18:PASS +NC_051336.1 91065 RAT_STR_33 TTAAAATTGATTGATTTGTTTATTGATTTATTGATTGATG TAAAAATTCATTGATTTGTTCATTGATTTATTGATTGATG,TTAAAATTGATTGATTTGTTTATTGATTTATTGATTGATT . . START=91070;END=91103;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0;BPDIFFS=0,0;DP=4941;DSNP=4915;DFLANKINDEL=0;AN=2;REFAC=95;AC=0,1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|2:0|0:1:1:30:30:0:18.00|12.00:18|12:46.6:-3|1;0|29:0|30:PASS +NC_051336.1 92599 RAT_STR_34 TGTTTGTTTGTTTGTTTGTTTGTTTTTTCT TGTTTTTTTTTTTTTTTT,TGTTTTTTTTTTTTTTTTT,TGTTTTTTTTTTTGTTTTTG,TGTTTTTTTTTTTTTTTTTT,TGTTTTTTTTTTTTTGTTTTT,TGTTTTTTTTTTTTTTGTTTTT,TGTTTTTTTTTTTTTTTGTTTTT . . START=92599;END=92623;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,0,1,0,0,0;BPDIFFS=-12,-11,-10,-10,-9,-8,-7;DP=4919;DSNP=4870;DFLANKINDEL=0;AN=2;REFAC=96;AC=0,0,0,1,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|4:0|-10:0.99:0.99:36:35:0:19.00|17.00:19|16:1.98:-15|2;-14|1;-9|4;-7|6;-6|4;0|19:-10|17;0|19:PASS +NC_051336.1 93075 RAT_STR_35 TTTTTTCTTTTTCATTTTTTTTTTT . . START=93075;END=93099;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0;BPDIFFS=-25;DP=4688;DSNP=4640;DFLANKINDEL=0;AN=2;REFAC=96;AC=1 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|1:0|-25:1:1:35:34:0:19.00|16.00:19|15:255.43:-25|16;-2|2;-1|2;0|15:-25|16;0|19:PASS +NC_051336.1 103763 RAT_STR_36 AAAAAAAAAAAAAAAGAACT AAAAAAAAGAACT,AAAAAAAAAGAACT,AAAAAAAAAAGAACT,AAAAAAAAAAAGAAAA,AAAAAAAAAAAGAACT,AAAAAAAAAAAAGAAAA,AAAAAAAAAAAAGAACT,AAAAAAAAAAAAAAAGAC,AAAAAAAAAAAAAGAACT,AAAAAAAAAAAAAAGAACT,AAAAAAAAAAAAAAAAGAACT . . START=103763;END=103777;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,0,1,1,1,0,0,0;BPDIFFS=-7,-6,-5,-4,-4,-3,-3,-2,-2,-1,1;DP=545;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=66;AC=0,1,0,0,0,0,0,0,0,1,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 2|10:-6|-1:0.49:0.25:3:0:0:1.05|1.95:0|0:0.01:-6|1;-2|1;-1|1:-6|1;-1|2:PASS +NC_051336.1 114599 RAT_STR_37 CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCCTCTCTTCCTCTCTT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCTCTCTCCTCTCTCTCTCTCTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCATCTCTCTCTCTCATCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTTCTACTCTCTTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCTCTCTCTCTCTTTCCTCTCTTC,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC,CTCTTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTTC . . START=114599;END=114692;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,0,1,0,1,1,1,1,1,1,0,1,1,0,1,1,1;BPDIFFS=-16,-14,-10,-8,-8,-7,-6,-6,-5,-4,-4,-2,-2,1,2,3,4,8;DP=154;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=18;AC=0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 5|5:-8|-8:0.1:0.1:1:0:0:0.50|0.50:0|0:0.3:-8|1:-8|1:PASS +NC_051336.1 115820 RAT_STR_38 ACACACACACACACACACACACACACACACACACACACACACACACACACA ACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACCACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACAC . . START=115820;END=115870;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,1,0,0,1,0,1,0;BPDIFFS=-3,-2,-2,-1,1,3,9,11,13;DP=126;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=1;AC=0,0,0,0,0,0,2,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 7|7:9|9:0.18:0.18:1:0:0:0.50|0.50:0|0:0.3:9|1:9|1:PASS +NC_051336.1 121135 RAT_STR_39 CCGGAAAAAAAAAAAAA CCGGAAAAAAAAAAAA,CCGGAAAAAAAAAAAAAA,CGGGGAAAAAAAAAAAAAAAA,CCGGGGAAAAAAAAAAAAAAAA,CCGGGGGAAAAAAAAAAAAAAA,CCGGGGAAAAAAAAAAAAAAAAA,CCGGGGGAAAAAAAAAAAAAAAA,CCGGGGAAAAAAAAAAAAAAAAAA,CCGGGGGAAAAAAAAAAAAAAAAA,CCGGGGGAAAAAAAAAAAAAAAAAA . . START=121139;END=121151;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,0,1,0,0,0,0,0,1,1;BPDIFFS=-1,1,4,5,5,6,6,7,7,8;DP=277;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=21;AC=0,0,0,1,0,1,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 4|6:5|6:0.21:0.11:4:0:0:1.40|2.60:0|0:0:5|1;6|2;7|1:5|1;6|3:PASS +NC_051336.1 124561 RAT_STR_40 TAATTTAAAAAGAAAAAGAAAAGGAAAA TAATTTAAAAACAAAAACAAAAGAAAA,TAATTTAAAAACAAAACAAAAGAAAAA,TAATTTAAAAACAAAAGAAAAGGAAAA,TAATTTAAAACAAAAAGAAAAGGAAAA,TAATTTAAAAACAAAAACAAAAGAAAAA,TAATTTAAAAACAAAAAGAAAAGGAAAA,TTATTTTAAAACAAAAACAAAAGAAAAA,TAATTTAAAAAACAAAAACAAAAGAAAAA,TAATTTAAAAACAAAAAAGAAAAGGAAAA,TAATTTAAAAAGAAAAAGAAAAAGGAAAA,TAATTTAAAAAGAAAAAGAAAAGGAAAAA,TAATTTAAAAACAAAAAACAAAAGAAAAAA . . START=124567;END=124588;PERIOD=6;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,1,1,0,0,1,1,1,1,1,1;BPDIFFS=-1,-1,-1,-1,0,0,0,1,1,1,1,2;DP=287;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=40;AC=0,0,0,0,0,2,0,0,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 6|6:0|0:0.4:0.4:3:0:0:1.50|1.50:0|0:0.9:0|3:0|3:PASS +NC_051336.1 124770 RAT_STR_41 AATTCTGTGTGTGTGTGGTGTGGGGG AATTCTGTGTGTGTGTTGGGGGGGG,AATGATGTGTGTGTGTGTTGGGGGGGG,AATTCTGTGTGTGTGTGGTGTGGGGGG,ATTCTGTGTGTGTGTTGGGGGGCGGGG,AATGATGTGTGTGTGTGTTGGGGGGGGG,AATTCTGTGTGTGTGTTGGGGGGCGGGA,AATTCTGTGTGTGTGTTGGGGGGCGGGG,AATGATGTGTGTGTGTGTTGGGGGGGGGG,AATTCTGTGTGTGTGTTGGGGGGCTGGGG,AATGATGTGTGTGTGTGTTGGGGGGGGGGG,AATTCTGTGTGTGTGTGTTGGGGGGCGGGGG . . START=124775;END=124791;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,1,1,0,0,0,0,1,0,1;BPDIFFS=-1,1,1,1,2,2,2,3,3,4,5;DP=292;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=18;AC=0,0,0,0,0,0,0,2,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 8|8:3|3:0.42:0.42:3:0:0:1.50|1.50:0|0:0.9:3|3:3|3:PASS +NC_051336.1 125296 RAT_STR_42 CAGCCTGGGGTGGGGTGGGGTGTTCAT CAGCCTGGAGTGGGGTCGGGTGTTCAT,CAGCCTGGGGGTGGGGTGGGGTGTTCAT,CAGCCTGGGGTGGGGGTGGGGTGTTCAT,CAGCCTGGGGTGGGGTGGGGGTGTTCAT,CAGCCTGGAGTGGGGTCGGGTTGTTCATG,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGGGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTTGTGTGTGTGTGTGTGGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGGTGTGTATGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTCGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGGTGTGTTGTGTTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CAGGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTATGTGTGTGTGTGTGTGTGTGTGTGTGTTCAT,CCAGGGTGTGTGTGTGTGGTGTGTGTGTGTGTGTGTGGTGTGTGTGTGTGTGTGTGTGTGTAGTGTGTGTGTGTGTGTGTGGTGTTCAT . . START=125301;END=125317;PERIOD=5;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,1,1,1,0,1,1,1,1,0,1,1,0,1,1,1,1,1,0,1,1,0,1,1,1,1;BPDIFFS=0,1,1,1,2,48,48,50,50,50,50,51,52,52,52,52,53,54,54,54,56,57,58,59,60,62,62;DP=314;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=37;AC=2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 1|1:0|0:0.13:0.13:2:0:0:1.00|1.00:0|0:0.6:0|2:0|2:PASS +NC_051336.1 126871 RAT_STR_43 TTTTTTTTTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTTTTTTT,TTTTTTTTTTTTTTTTTTTTTT,TTTTTTTTTTTTTTTTTTTTTTTT,TTTTTTTTTTTTTTTTTTTTTTTTTT,TTTTTTGTTTTTTTTGTTTTTTTTTTTTTTGTTTTTTTTTTTTT . . START=126871;END=126893;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,0,0,1,1;BPDIFFS=-2,-1,1,3,21;DP=112;DSNP=0;DFLANKINDEL=0;AN=0;REFAC=17;AC=0,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER .:.:.:.:.:.:.:.:.:.:.:.:NO_READS +NC_051336.1 136998 RAT_STR_44 CATGTTTTTTTTTTT ,CATGTTTTTTTTTT,CATGTTTTTTTTTTTT,CTTGTTTTTTTTTTTT . . START=137002;END=137012;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1;BPDIFFS=-15,-1,1,1;DP=982;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=112;AC=0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:1:1:11:0:0:5.50|5.50:0|0:3.31:-1|1;0|10:0|11:PASS +NC_051336.1 138358 RAT_STR_45 AAAAAAAAAAAAAAA AAAAAAAAA,AAAAAAAAAAAAA,AAAAAAAAAAAAAA,AAAAAAAAAAAAAAAA . . START=138358;END=138372;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-6,-2,-1,1;DP=1063;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=104;AC=0,0,1,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|3:0|-1:0.47:0.24:13:0:0:11.73|1.27:0|0:0:-1|1;0|10;1|2:-1|1;0|12:PASS +NC_051336.1 149197 RAT_STR_46 CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCT,CTCTCTCTTCTGCTCTTCCACTCTTAGCTACTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCTCTCTCTCTCTCTCTCTTCCTCTCT . . START=149197;END=149284;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,0,0,1,1;BPDIFFS=-2,2,4,5,6,8,10,11;DP=1547;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=34;AC=0,0,1,0,1,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 3|5:4|6:1:0.5:11:0:0:5.88|5.12:0|0:14.4:-2|1;4|4;6|5;7|1:4|7;6|4:PASS +NC_051336.1 150413 RAT_STR_47 ACACACACACACACACACACACACACACACACACACACACACACACA ACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA,ACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACA . . START=150413;END=150459;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0,0,1,0,1,1;BPDIFFS=-8,-6,-4,4,6,14,16,18,22;DP=1611;DSNP=0;DFLANKINDEL=0;AN=2;REFAC=0;AC=1,1,0,0,0,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 1|2:-8|-6:1:0.5:12:0:0:5.24|6.76:0|0:12.11:-8|5;-6|5;-4|1;16|1:-8|5;-6|7:PASS +NC_051336.1 155726 RAT_STR_48 GAAAAAAAAAAAAAA GAAAAAAAAAAAAA,GAAAAAAAAAAAAAAA,GGGAAAAAAAAAAAAAAAA,GGGGAAAAAAAAAAAAAAA,GGGAAAAAAAAAAAAAAAAA,GGGGAAAAAAAAAAAAAAAA,GGGAAAAAAAAAAAAAAAAAA . . START=155727;END=155740;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,1,0,0,0,0;BPDIFFS=-1,1,4,4,5,5,6;DP=2344;DSNP=2271;DFLANKINDEL=0;AN=2;REFAC=35;AC=1,0,0,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 1|0:-1|0:1:1:8:8:0:5.00|3.00:5|3:4.74:-1|4;0|2;1|2:-1|5;0|3:PASS +NC_051336.1 159158 RAT_STR_49 AAAAAGAAAAAGAAAAGGAAAA AAAAAAAAGAAAAGAAAAA,AAAAACAAAAAGAAAAGGAAAA . . START=159158;END=159179;PERIOD=6;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0;BPDIFFS=-3,0;DP=2826;DSNP=2645;DFLANKINDEL=0;AN=2;REFAC=120;AC=0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:1:1:17:17:0:9.00|8.00:9|8:4.21:-3|1;0|16:0|17:PASS +NC_051336.1 159363 RAT_STR_50 TTCTGTGTGTGTGTGGTGTG TTCTGTGTGTGTGTGGGGGG,TTCTGTGTGTGTGTGGTGGG,TGATGTGTGTGTGTGTTGGGGGG,TGATGTGTGTGTGTGTTGGGGGGG . . START=159366;END=159382;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,0,0,0;BPDIFFS=0,0,3,4;DP=2831;DSNP=2649;DFLANKINDEL=0;AN=2;REFAC=92;AC=0,1,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|2:0|0:0.98:0.98:17:17:0:9.00|8.00:9|8:1.78:0|13;2|1;3|2;5|1:0|17:PASS +NC_051336.1 159892 RAT_STR_51 TGGGGTGGGGTGGGGTG TGGAGTGGGGTCGGGTG . . START=159892;END=159908;PERIOD=5;NSKIP=0;NFILT=0;INEXACT_ALLELE=0;BPDIFFS=0;DP=2830;DSNP=2646;DFLANKINDEL=0;AN=2;REFAC=125;AC=0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:1:1:16:16:0:8.00|8.00:8|8:15.94:0|13;1|3:0|16:PASS +NC_051336.1 161822 RAT_STR_52 TTTTTTTTTTCATTTTTTTCATTTTTTTTTTTTTTTT TTTTTTTTCATTTTTTTCTTTTTTT,TTTTTTTTTTCATTTTTTTTTTTTTTT,TTTTTTTTTTCATTTTTTTCATTTTTTTTTTTTTTT,TTTTTTTTTTCATTTTTTTCATTTTTTTTTTTTTTTTT . . START=161822;END=161858;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-12,-10,-1,1;DP=2541;DSNP=15;DFLANKINDEL=0;AN=2;REFAC=89;AC=1,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|1:0|-12:1:0.5:21:0:0:11.92|9.08:0|0:34.23:-13|2;-12|6;-10|4;-1|1;0|7;1|1:-12|8;0|13:PASS +NC_051336.1 165909 RAT_STR_53 TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGT TCTGTGTGTGTGTGTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGT,TGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGTGT . . START=165909;END=165947;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0,0,0;BPDIFFS=-20,2,4,6,8,16;DP=2302;DSNP=2269;DFLANKINDEL=0;AN=2;REFAC=9;AC=0,1,1,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 3|2:4|2:1:1:18:18:0:11.00|7.00:11|7:11.25:-20|4;2|4;3|1;4|5;6|1;8|3:2|7;4|11:PASS +NC_051336.1 166141 RAT_STR_54 TTTTTTTTTTT TTTTTTTTT,TTTTTTTTTT,TTTTTTTTTTTT . . START=166141;END=166151;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0;BPDIFFS=-2,-1,1;DP=2301;DSNP=2265;DFLANKINDEL=0;AN=2;REFAC=53;AC=0,1,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 2|0:-1|0:1:1:18:17:0:11.00|7.00:11|6:3.73:-3|1;-2|2;-1|11;0|4:-1|11;0|7:PASS +NC_051336.1 167021 RAT_STR_55 CAAACAAACAAACAA CAAACAAACAA . . START=167021;END=167035;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0;BPDIFFS=-4;DP=2146;DSNP=2107;DFLANKINDEL=0;AN=2;REFAC=154;AC=0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:1:1:15:14:0:11.50|3.50:11|3:6.64:-4|1;0|13;1|1:0|15:PASS +NC_051336.1 167590 RAT_STR_56 AACAAACAAACAAACAAACAAACAAACAAA AACAAACAAACAAACAAACAAA,AACAAACAAACAAACAAACAAACAAA . . START=167590;END=167619;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0;BPDIFFS=-8,-4;DP=2039;DSNP=2005;DFLANKINDEL=0;AN=2;REFAC=157;AC=0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:1:1:14:13:0:10.50|3.50:10|3:18.72:0|13;1|1:0|14:PASS +NC_051336.1 170775 RAT_STR_57 TAAAAAAAAAAAAA ,TAAAAAAAAAAAA,TTAAAAAAAAAAA,TAAAAAAAAAAAAAA,TAAAAAAAAAAAAAAA,TAAAAAAAAAAAAAAAA . . START=170776;END=170788;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0,0,0;BPDIFFS=-14,-1,-1,1,2,3;DP=1887;DSNP=1850;DFLANKINDEL=0;AN=2;REFAC=13;AC=0,0,1,0,1,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 5|3:2|-1:1:1:16:15:0:10.00|6.00:10|5:19.54:-1|6;0|2;2|8:-1|6;2|10:PASS +NC_051336.1 170836 RAT_STR_58 TTTTGTTTTTTTACTTTTTTTTTT . . START=170836;END=170859;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0;BPDIFFS=-24;DP=1884;DSNP=1848;DFLANKINDEL=0;AN=2;REFAC=146;AC=0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|0:0|0:1:1:16:15:0:10.50|5.50:10|5:91.63:-1|1;0|14;1|1:0|16:PASS +NC_051336.1 171218 RAT_STR_59 TTTAAAAAAAAAAA ,TAAAAAAAAAA,TAAAAAAAAAAA,TTAAAAAAAAAAAA . . START=171221;END=171231;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-14,-3,-2,0;DP=1868;DSNP=1832;DFLANKINDEL=0;AN=2;REFAC=102;AC=0,0,1,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|3:0|-2:0.76:0.76:14:13:0:9.12|4.88:9|4:0.49:-3|2;-2|3;-1|1;0|7;1|1:-2|5;0|9:PASS +NC_051336.1 171654 RAT_STR_60 TGTGTGTGTGTGTGTATATATATATATATATATATATATATGTATATATATATATATATATATATATATATATAT ,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATGTATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATGTATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATATATATATGTATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATGTATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTATATATATATATATATATATATATGTATATATATATATATATATATATATATATATATATAT,TGTGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATGTATATATATATATATATATATATAT,TGTGTGTGTGTGTGTATATATATATATATATATATATATATATATATATATATATATATGTATATATATATATATATATATATATAT . . START=171654;END=171728;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,0,0,1,0,1,0,1,1,0,0,1,0;BPDIFFS=-75,-12,-10,-8,-6,-6,-4,-4,-2,-2,-2,0,8,12;DP=1818;DSNP=1782;DFLANKINDEL=0;AN=2;REFAC=0;AC=0,1,0,0,0,0,0,0,0,0,1,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 11|2:-2|-12:1:1:15:14:0:10.01|4.99:10|4:2.77:-14|1;-12|2;-11|1;-7|1;-5|1;-4|4;-2|2;-1|1;0|2:-12|5;-2|10:PASS +NC_051336.1 171833 RAT_STR_61 AGATGCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAA,AGATGCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA . . START=171839;END=171876;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,0,0,0,0,0,0,1,0,1;BPDIFFS=-38,-18,-17,-4,-3,-2,-2,-1,-1,-1,6;DP=1819;DSNP=1784;DFLANKINDEL=0;AN=2;REFAC=1;AC=0,0,0,0,1,0,1,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 5|7:-3|-2:1:1:15:14:0:10.87|4.13:10|4:7.88:-4|1;-3|7;-2|6;-1|1:-3|11;-2|4:PASS +NC_051336.1 172018 RAT_STR_62 ACACACACACACACACACACACACACACAC ACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACAC,ACACACACACCACACACACACACACACACACACACACACACACACACACACAC,ACACACACACACACACACACACACACACACACACACACACACACACACACACAC . . START=172018;END=172047;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=1,1,0,1,0,1,0;BPDIFFS=2,10,12,20,22,23,24;DP=1824;DSNP=1788;DFLANKINDEL=0;AN=2;REFAC=100;AC=0,0,1,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|3:0|12:0.99:0.99:15:14:0:10.00|5.00:10|4:2.13:-1|1;0|7;2|1;10|1;11|1;12|2;13|2:0|10;12|5:PASS +NC_051336.1 173541 RAT_STR_63 GGTTTTTTTGTTTGTTTTTTGTTTCT GGTTTTTTTGTTTGTTTTTTGTTTTT,GTTTTTTTTGTTTGTTTTTTGTTTTT,GTTTTTTTTTGTTTGTTTTTTGTTTTT,GGTTTTTTTTGTTTGTTTTTTGTTTTTT,GTTTTTTTTGTTTGTTTGGTTTTTTTTTGGGGGGGGGG,GTTTTTTTTGTTTGTTTGGTTTTTTTTTGGGGGGGGGGG,GTTTTTTTTGTTTGTTTGGTTTTTTTTTGGGGGGGGGGGG,GTTTTTTTTGTTTGTTTGGTTTTTTTTTTGGGGGGGGGGG,GTTTTTTTTGTTTGTTTGGTTTTTTTTTGGGGGGGGGGGGG,GTTTTTTTTTGTTTGTTTGGTTTTTTTTTTGGGGGGGGGGGGG . . START=173542;END=173564;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,1,1,0,0,1,1,1;BPDIFFS=0,0,1,2,12,13,14,14,15,17;DP=1839;DSNP=1808;DFLANKINDEL=0;AN=2;REFAC=90;AC=0,1,0,0,0,0,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|2:0|0:1:1:13:12:0:9.00|4.00:9|3:9.47:-1|1;0|9;1|2;13|1:0|13:PASS +NC_051336.1 174051 RAT_STR_64 CCACACACACACACACACACACA CCACACACACACACACACACA,CCACACACACACACACACACACACACACACACACACACACA,CCACACACACACACACACACACACACACACACACACACACACA,CCACACACACACACACACACACACACACACACACACACACACACA,CACACACACACACACACACACACACACACACACACACACACACACA,CCACACACCACACACACACACACACACACACACACACACACACACA,CCACACACACACACACACACACACACACACACACACACACACACACA . . START=174052;END=174073;PERIOD=2;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,0,0,1,1,1;BPDIFFS=-2,18,20,22,23,23,24;DP=1833;DSNP=1801;DFLANKINDEL=0;AN=2;REFAC=93;AC=0,0,1,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|3:0|20:0.5:0.5:11:10:0:6.00|5.00:6|4:0:0|5;20|4;22|2:0|6;20|5:PASS +NC_051336.1 174324 RAT_STR_65 AATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATGG AATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATGG,AATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATGT,AATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATGT,AATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATAAATGG . . START=174324;END=174378;PERIOD=4;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0;BPDIFFS=-8,-4,0,4;DP=1817;DSNP=1784;DFLANKINDEL=0;AN=2;REFAC=89;AC=0,1,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 0|2:0|-4:0.5:0.5:8:7:0:6.00|2.00:5|2:0:-5|1;-4|1;0|3;4|3:-4|2;0|6:PASS +NC_051336.1 178014 RAT_STR_66 ACTCCCCCCCCCCCCCCCCCCCCC AGTTCCCCCCT,AGTCCCCCCCCCCCCCCCC,ACGCCCCCCCCCCCCCCCCC,AGTCCCCCCCCCCCCCCCCC,ACGCCCCCCCCCCCCCCCCCC,AGTCCCCCCCCCCCCCCCCCC,ACCCCCCCCCCCCCCCCCCCCC,ACGCCCCCCCCCCCCCCCCCCC,ACTTCCCCCCCCCCCCCCCCCC,AGTCCCCCCCCCCCCCCCCCCC,ACGCCCCCCCCCCCCCCCCCCCC,AGTCCCCCCCCCCCCCCCCCCCC,ACGCCCCCCCCCCCCCCCCCCCCC,AGTCCCCCCCCCCCCCCCCCCCCC,ACGCCCCCCCCCCCCCCCCCCCCCCCC,AGTCCCCCCCACCCCCCCCCACCCCCCCCC . . START=178017;END=178037;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,1;BPDIFFS=-13,-5,-4,-4,-3,-3,-2,-2,-2,-2,-1,-1,0,0,3,6;DP=1353;DSNP=1342;DFLANKINDEL=0;AN=2;REFAC=0;AC=1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 8|1:-2|-13:1:1:5:4:0:4.00|1.00:4|0:4.3:-13|2;-3|1;-2|2:-13|1;-2|4:PASS +NC_051336.1 178881 RAT_STR_67 GAAAAAAAAAAAAAAA GGAAAAAAAAA,GAAAAAAAAAAA,GAAAAAAAGAAA,GAAAAAAAAAAAA,GAAAAAAAAAAAAA,GAAAAAAAAAAAAAA . . START=178882;END=178896;PERIOD=1;NSKIP=0;NFILT=0;INEXACT_ALLELE=0,0,0,0,0,0;BPDIFFS=-5,-4,-4,-3,-2,-1;DP=1307;DSNP=1284;DFLANKINDEL=0;AN=2;REFAC=3;AC=1,1,0,0,0,0 GT:GB:Q:PQ:DP:DSNP:DFLANKINDEL:PDP:PSNP:GLDIFF:ALLREADS:MALLREADS:FILTER 2|1:-4|-5:0.47:0.47:5:4:0:4.00|1.00:4|0:0:-6|2;-4|1;-3|1;-2|1:-5|1;-4|4:PASS diff --git a/trtools/testsupport/utils.py b/trtools/testsupport/utils.py index c266b88f..df6ee37c 100644 --- a/trtools/testsupport/utils.py +++ b/trtools/testsupport/utils.py @@ -39,10 +39,10 @@ def _make_format_list(fmt): def assert_same_vcf(fname1, fname2, info_ignore = set(), format_ignore = set(), max_lines_to_compare = np.inf): + print(fname1, fname2) open_fn = open if fname1[-3:] == '.gz': open_fn = gzip.open - print(fname1, fname2) headers1 = set() headers2 = set() lines_processed = 0 diff --git a/trtools/utils/tests/test_trharmonizer.py b/trtools/utils/tests/test_trharmonizer.py index a23aa42e..018b0f38 100644 --- a/trtools/utils/tests/test_trharmonizer.py +++ b/trtools/utils/tests/test_trharmonizer.py @@ -97,6 +97,18 @@ def get_dummy_record_gts_allsamelen(): alt=["CAGCAACAG"] ) +dummy_record_gts_monomorphic = [ + [0, 0], + [0, 0], + [0, 0], + [0, 0]] +def get_dummy_record_gts_monomorphic(): + return DummyCyvcf2Record( + gts=dummy_record_gts_monomorphic, + ref="CAGCAGCAG", + alt=[] + ) + triploid_gts = np.array([ [0, 0, -2], [0, 0, -2], @@ -341,6 +353,17 @@ def test_TRRecord_GetGenotypes_Dosages(): assert np.all(rec.GetDosages(dosagetype=trh.TRDosageTypes.beagleap_norm) == true_beagle_norm_dosages) + monomorphic_record = get_dummy_record_gts_monomorphic() + monomorphic_record.FORMAT["AP1"] = np.array([[]]) + monomorphic_record.FORMAT["AP2"] = np.array([[]]) + rec = trh.TRRecord(monomorphic_record, monomorphic_record.REF, [], "CAG", "", None) + true_bestguess_norm_dosages = np.array([0, 0, 0, 0], dtype=np.float32) + assert np.all(rec.GetDosages(dosagetype=trh.TRDosageTypes.bestguess_norm) == + true_bestguess_norm_dosages) + true_beagleap_dosages = np.array([6, 6, 6, 6], dtype=np.float32) + assert np.all(rec.GetDosages(dosagetype=trh.TRDosageTypes.beagleap) == + true_beagleap_dosages) + # Test regular diploid record - Example with bestguess same as AP-based dosage diploid_record = get_dummy_record_diploid() diploid_record.FORMAT["AP1"] = np.array([[0, 0], [1, 0], [1, 0], [1, 0], [0, 1], [0, 0]]) @@ -366,9 +389,13 @@ def test_TRRecord_GetGenotypes_Dosages(): diploid_record.FORMAT["AP1"] = np.array([[10, 0.5], [1, 0], [1, 0], [1, 0], [0, 1], [0, 0]]) with pytest.raises(ValueError): rec.GetDosages(dosagetype=trh.TRDosageTypes.beagleap) + # If not in strict mode these should be nan + assert np.isnan(rec.GetDosages(dosagetype=trh.TRDosageTypes.beagleap, strict=False)).all() diploid_record.FORMAT["AP1"] = np.array([[-0.5, 0.5], [1, 0], [1, 0], [1, 0], [0, 1], [0, 0]]) with pytest.raises(ValueError): rec.GetDosages(dosagetype=trh.TRDosageTypes.beagleap) + # If not in strict mode these should be nan + assert np.isnan(rec.GetDosages(dosagetype=trh.TRDosageTypes.beagleap, strict=False)).all() # Test triploid example where alt=[] triploid_record = get_triploid_record() @@ -398,7 +425,10 @@ def test_TRRecord_GetGenotypes_Dosages(): rec.GetDosages(dosagetype=trh.TRDosageTypes.beagleap) with pytest.raises(ValueError): rec.GetDosages(dosagetype=trh.TRDosageTypes.beagleap_norm) - + # If not in strict mode, should instead return NA + assert np.isnan(rec.GetDosages(dosagetype=trh.TRDosageTypes.beagleap, strict=False)).all() + assert np.isnan(rec.GetDosages(dosagetype=trh.TRDosageTypes.beagleap_norm, strict=False)).all() + # Test example with fewer alt_alleles than the max genotype index with pytest.raises(ValueError): trh.TRRecord(dummy_record, ref_allele, [], "CAG", "", None) @@ -689,9 +719,10 @@ def test_GetCallRate(): def reset_vcfs(vcfdir): - global gangstr_vcf, hipstr_vcf, popstr_vcf, advntr_vcf, eh_vcf, snps_vcf + global gangstr_vcf, hipstr_vcf, longtr_vcf, popstr_vcf, advntr_vcf, eh_vcf, snps_vcf gangstr_vcf = cyvcf2.VCF(os.path.join(vcfdir, "test_gangstr.vcf")) hipstr_vcf = cyvcf2.VCF(os.path.join(vcfdir, "test_hipstr.vcf")) + longtr_vcf = cyvcf2.VCF(os.path.join(vcfdir, "test_longtr.vcf")) popstr_vcf = cyvcf2.VCF(os.path.join(vcfdir, "test_popstr.vcf")) advntr_vcf = cyvcf2.VCF(os.path.join(vcfdir, "test_advntr.vcf")) eh_vcf = cyvcf2.VCF(os.path.join(vcfdir, "test_ExpansionHunter.vcf")) @@ -753,6 +784,19 @@ def test_trh_init_and_type_infer(vcfdir): and not trh.HasLengthAltGenotypes(trh.VcfTypes.hipstr)) assert not hipstr_trh.IsBeagleVCF() + longtr_trh = trh.TRRecordHarmonizer(longtr_vcf, vcftype='longtr') + assert longtr_trh.vcftype == trh.VcfTypes.longtr + longtr_trh = trh.TRRecordHarmonizer(longtr_vcf, + vcftype=trh.VcfTypes.longtr) + assert longtr_trh.vcftype == trh.VcfTypes.longtr + assert (longtr_trh.MayHaveImpureRepeats() + and trh.MayHaveImpureRepeats(trh.VcfTypes.longtr)) + assert (not longtr_trh.HasLengthRefGenotype() + and not trh.HasLengthRefGenotype(trh.VcfTypes.longtr)) + assert (not longtr_trh.HasLengthAltGenotypes() + and not trh.HasLengthAltGenotypes(trh.VcfTypes.longtr)) + assert not longtr_trh.IsBeagleVCF() + popstr_trh = trh.TRRecordHarmonizer(popstr_vcf, vcftype='popstr') assert popstr_trh.vcftype == trh.VcfTypes.popstr popstr_trh = trh.TRRecordHarmonizer(popstr_vcf, @@ -865,6 +909,8 @@ def get_vcf(vcftype): return eh_vcf if vcftype == "snps": return snps_vcf + if vcftype == trh.VcfTypes.longtr: + return longtr_vcf raise ValueError("Unexpected vcftype") # TODO add Beagle @@ -878,6 +924,11 @@ def test_wrong_vcftype(vcfdir): if incorrect_type == correct_type: # make sure the incorrect_type is actually incorrect continue + # HipSTR and LongTR will not make each other fail + # so skip that case + if (incorrect_type == trh.VcfTypes.hipstr and correct_type == trh.VcfTypes.longtr) or \ + (incorrect_type == trh.VcfTypes.longtr and correct_type == trh.VcfTypes.hipstr): + continue invcf = get_vcf(incorrect_type) with pytest.raises(TypeError): @@ -888,7 +939,11 @@ def test_wrong_vcftype(vcfdir): if incorrect_type == correct_type: # make sure the incorrect_type is actually incorrect continue - + # HipSTR and LongTR will not make each other fail + # so skip that case + if (incorrect_type == trh.VcfTypes.hipstr and correct_type == trh.VcfTypes.longtr) or \ + (incorrect_type == trh.VcfTypes.longtr and correct_type == trh.VcfTypes.hipstr): + continue invcf = get_vcf(incorrect_type) record = next(invcf) with pytest.raises(TypeError): diff --git a/trtools/utils/tr_harmonizer.py b/trtools/utils/tr_harmonizer.py index d48c287c..56605e4d 100644 --- a/trtools/utils/tr_harmonizer.py +++ b/trtools/utils/tr_harmonizer.py @@ -12,7 +12,7 @@ import numpy as np import trtools.utils.utils as utils - +import trtools.utils.common as common # List of supported VCF types # TODO: add Beagle @@ -30,6 +30,7 @@ class VcfTypes(enum.Enum): hipstr = "hipstr" eh = "eh" popstr = "popstr" + longtr = "longtr" # Don't include the redundant values # in how enums are printed out @@ -88,6 +89,8 @@ def MayHaveImpureRepeats(vcftype: Union[str, VcfTypes]): return False if vcftype == VcfTypes.hipstr: return True + if vcftype == VcfTypes.longtr: + return True if vcftype == VcfTypes.advntr: return True if vcftype == VcfTypes.popstr: @@ -121,6 +124,8 @@ def HasLengthRefGenotype(vcftype: Union[str, VcfTypes]): return False if vcftype == VcfTypes.hipstr: return False + if vcftype == VcfTypes.longtr: + return False if vcftype == VcfTypes.advntr: return False if vcftype == VcfTypes.popstr: @@ -152,6 +157,8 @@ def HasLengthAltGenotypes(vcftype: Union[str, VcfTypes]): return False if vcftype == VcfTypes.hipstr: return False + if vcftype == VcfTypes.longtr: + return False if vcftype == VcfTypes.advntr: return False if vcftype == VcfTypes.popstr: @@ -206,6 +213,8 @@ def InferVCFType(vcffile: cyvcf2.VCF, vcftype: Union[str, VcfTypes] = "auto") -> possible_vcf_types.add(VcfTypes.gangstr) if 'command=' in header and 'hipstr' in header: possible_vcf_types.add(VcfTypes.hipstr) + if 'command=' in header and 'longtr' in header: + possible_vcf_types.add(VcfTypes.longtr) if 'source=advntr' in header: possible_vcf_types.add(VcfTypes.advntr) if 'source=popstr' in header: @@ -261,6 +270,8 @@ def HarmonizeRecord(vcftype: Union[str, VcfTypes], vcfrecord: cyvcf2.Variant): ---------- vcfrecord : A cyvcf2.Variant Object + vcftype : VcfTypes + Type of the VCF file Returns ------- @@ -272,6 +283,10 @@ def HarmonizeRecord(vcftype: Union[str, VcfTypes], vcfrecord: cyvcf2.Variant): return _HarmonizeGangSTRRecord(vcfrecord) if vcftype == VcfTypes.hipstr: return _HarmonizeHipSTRRecord(vcfrecord) + # Note: LongTR is the same format of HipSTR so + # we re-use that function here + if vcftype == VcfTypes.longtr: + return _HarmonizeHipSTRRecord(vcfrecord) if vcftype == VcfTypes.advntr: return _HarmonizeAdVNTRRecord(vcfrecord) if vcftype == VcfTypes.eh: @@ -335,14 +350,13 @@ def _HarmonizeHipSTRRecord(vcfrecord: cyvcf2.Variant): or vcfrecord.INFO.get('END') is None or vcfrecord.INFO.get('PERIOD') is None): raise TypeError( - "Record at {}:{} is missing one of the mandatory HipSTR info fields START, END, PERIOD. ".format(vcfrecord.CHROM, vcfrecord.POS) + _beagle_error + "Record at {}:{} is missing one of the mandatory HipSTR/LongTR info fields START, END, PERIOD. ".format(vcfrecord.CHROM, vcfrecord.POS) + _beagle_error ) # determine full alleles and trimmed alleles pos = int(vcfrecord.POS) start_offset = int(vcfrecord.INFO['START']) - pos pos_end_offset = int(vcfrecord.INFO['END']) - pos neg_end_offset = pos_end_offset + 1 - len(vcfrecord.REF) - if start_offset == 0 and neg_end_offset == 0: full_alleles = None else: @@ -353,7 +367,6 @@ def _HarmonizeHipSTRRecord(vcfrecord: cyvcf2.Variant): full_alleles = (vcfrecord.REF.upper(), full_alts) - # neg_end_offset is the number of flanking non repeat bp to remove # from the end of each allele # e.g. 'AAAT'[0:-1] == 'AAA' @@ -379,7 +392,6 @@ def _HarmonizeHipSTRRecord(vcfrecord: cyvcf2.Variant): ) else: alt_alleles = [] - # Get the motif. # Hipstr doesn't tell us this explicitly, so figure it out motif = utils.InferRepeatSequence(ref_allele[start_offset:], @@ -1084,7 +1096,7 @@ def UniqueStringGenotypes(self) -> Set[int]: return set(self.UniqueStringGenotypeMapping().values()) def GetDosages(self, - dosagetype: TRDosageTypes = TRDosageTypes.bestguess) -> Optional[np.ndarray]: + dosagetype: TRDosageTypes = TRDosageTypes.bestguess, strict: bool = True) -> Optional[np.ndarray]: """ Get an array of genotype dosages for each sample. @@ -1105,6 +1117,9 @@ def GetDosages(self, ---------- dosagetype : Enum Which TRDosageType to compute. Default bestguess + strict : bool + If False, output a warning but do not die on errors validating AP field + If errors are encountered, return nan dosage values Returns ------- @@ -1115,10 +1130,14 @@ def GetDosages(self, if self.GetNumSamples() == 0: return None if (dosagetype in [TRDosageTypes.beagleap, TRDosageTypes.beagleap_norm]) and \ - (self.vcfrecord.format("AP1") is None or self.vcfrecord.format("AP2") is None): - raise ValueError( - "Requested Beagle dosages for record at {}:{} but AP1/AP2 fields not found.".format(self.chrom, self.pos) - ) + (("AP1" not in self.vcfrecord.FORMAT or "AP2" not in self.vcfrecord.FORMAT) or \ + (self.vcfrecord.format("AP1") is None or self.vcfrecord.format("AP2") is None)): + error_msg = "Requested Beagle dosages for record at {}:{} but AP1/AP2 fields not found.".format(self.chrom, self.pos) + if strict: + raise ValueError(error_msg) + else: + common.WARNING(error_msg) + return np.array([np.nan]*self.GetNumSamples()) if dosagetype in [TRDosageTypes.bestguess, TRDosageTypes.bestguess_norm]: # Get length gts and replace -1 (missing) and -2 (low ploidy) with 0 # But if normalizing set those to np.nan since unclear @@ -1141,14 +1160,27 @@ def GetDosages(self, # Check AP field. allow wiggle room for rounding if np.any(np.sum(ap1, axis=1) > 1.1) or np.any(np.sum(ap2, axis=1) > 1.1): - raise ValueError("AP1 or AP2 field summing to more than 1 detected") + error_msg = "{}:{} AP1 or AP2 field summing to more than 1 detected".format(self.chrom, self.pos) + if strict: + raise ValueError(error_msg) + else: + common.WARNING(error_msg) + return np.array([np.nan]*self.GetNumSamples()) if np.any(ap1 < 0) or np.any(ap2 < 0): - raise ValueError("Negative AP1 or AP2 fields detected") - + error_msg = "{}:{} Negative AP1 or AP2 fields detected".format(self.chrom, self.pos) + if strict: + raise ValueError("Negative AP1 or AP2 fields detected") + else: + common.WARNING(error_msg) + return np.array([np.nan]*self.GetNumSamples()) # Get haplotype dosages - max_alt_len = max(self.alt_allele_lengths) - h1_dos = np.clip(np.dot(ap1, self.alt_allele_lengths), 0, max_alt_len) - h2_dos = np.clip(np.dot(ap2, self.alt_allele_lengths), 0, max_alt_len) + if len(self.alt_allele_lengths) > 0: + max_alt_len = max(self.alt_allele_lengths) + h1_dos = np.clip(np.dot(ap1, self.alt_allele_lengths), 0, max_alt_len) + h2_dos = np.clip(np.dot(ap2, self.alt_allele_lengths), 0, max_alt_len) + else: + h1_dos = 0 + h2_dos = 0 ref1_dos = ref1*self.ref_allele_length ref2_dos = ref2*self.ref_allele_length @@ -1163,12 +1195,18 @@ def GetDosages(self, else: # Normalize to be between 0 and 2 dosages = (unnorm_dosages-2*self.min_allele_length)/(self.max_allele_length-self.min_allele_length) - assert not (np.any(dosages>=2.1) or np.any(dosages<=-0.1)) + if (np.any(dosages>=2.1) or np.any(dosages<=-0.1)): + error_msg = "{}:{} Error normalizing dosages: value >=2.1 or <=-0.1 detected".format(self.chrom, self.pos) + if strict: + raise ValueError(error_msg) + else: + common.WARNING(error_msg) + return np.array([np.nan]*self.GetNumSamples()) dosages = np.clip(dosages, 0, 2) else: dosages = unnorm_dosages return dosages - + def GetLengthGenotypes(self) -> Optional[np.ndarray]: """ Get an array of length genotypes for each sample. @@ -1696,6 +1734,8 @@ def HasQualityScore(self) -> bool: return 'FORMAT=