pax_global_header 0000666 0000000 0000000 00000000064 14775257723 0014535 g ustar 00root root 0000000 0000000 52 comment=4fe9b255547e4dc47f8d7b4c9a3438f12738cd3d
open2c-bioframe-4fe9b25/ 0000775 0000000 0000000 00000000000 14775257723 0015127 5 ustar 00root root 0000000 0000000 open2c-bioframe-4fe9b25/.github/ 0000775 0000000 0000000 00000000000 14775257723 0016467 5 ustar 00root root 0000000 0000000 open2c-bioframe-4fe9b25/.github/dependabot.yml 0000664 0000000 0000000 00000000426 14775257723 0021321 0 ustar 00root root 0000000 0000000 version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
groups:
actions:
patterns:
- "*"
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "weekly"
open2c-bioframe-4fe9b25/.github/workflows/ 0000775 0000000 0000000 00000000000 14775257723 0020524 5 ustar 00root root 0000000 0000000 open2c-bioframe-4fe9b25/.github/workflows/ci.yml 0000664 0000000 0000000 00000001176 14775257723 0021647 0 ustar 00root root 0000000 0000000 name: CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
Test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [ "3.9", "3.10", "3.11", "3.12" ]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- run: |
python -m pip install --upgrade pip hatch
pip install -e .[dev]
hatch run test
open2c-bioframe-4fe9b25/.github/workflows/publish.yml 0000664 0000000 0000000 00000001340 14775257723 0022713 0 ustar 00root root 0000000 0000000 name: Publish Python Package to PyPI
on:
release:
types: [published]
workflow_dispatch:
jobs:
Publish:
# prevents this action from running on forks
if: github.repository == 'open2c/bioframe'
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
- name: Build
run: python -m build
- name: Publish distribution 📦 to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
open2c-bioframe-4fe9b25/.gitignore 0000664 0000000 0000000 00000000510 14775257723 0017113 0 ustar 00root root 0000000 0000000 *.swp
*.swo
*~
*.py[cod]
__pycache__
.cache
.pytest_cache
.ipynb_checkpoints/
.venv/*
# setup and build
docs/_*
*.egg-info/
dist/
build/
MANIFEST
# OS-generated files
.DS_Store
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
_scratch/
tmp/
docs/notebooks/.ipynb_checkpoints
.vscode
.spyproject
docs/notebooks/cgranges-test/*
open2c-bioframe-4fe9b25/.pre-commit-config.yaml 0000664 0000000 0000000 00000000666 14775257723 0021420 0 ustar 00root root 0000000 0000000 repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-ast
- id: end-of-file-fixer
- id: mixed-line-ending
- id: trailing-whitespace
- id: check-case-conflict
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.7.0
hooks:
- id: ruff
types_or: [python, pyi, jupyter]
args: [--fix, --show-fixes, --exit-non-zero-on-fix]
open2c-bioframe-4fe9b25/.readthedocs.yaml 0000664 0000000 0000000 00000006631 14775257723 0020364 0 ustar 00root root 0000000 0000000 # .readthedocs.yml # Read the Docs configuration file # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details # Required version: 2 # Build documentation in the docs/ directory with Sphinx sphinx: configuration: docs/conf.py # Build documentation with MkDocs #mkdocs: # configuration: mkdocs.yml # Optionally build your docs in additional formats such as PDF and ePub formats: all # Optionally set the version of Python and requirements required to build your docs python: version: 3.7 install: - requirements: docs/requirements.txt # .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
build:
os: ubuntu-22.04
tools:
python: "3.10"
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
# Build documentation with MkDocs
#mkdocs:
# configuration: mkdocs.yml
# Optionally build your docs in additional formats such as PDF and ePub
formats: all
# Optionally set the version of Python and requirements required to build your docs
# setup_py_install: true
python:
install:
- method: pip
path: .
extra_requirements:
- dev
- docs
open2c-bioframe-4fe9b25/CHANGES.md 0000664 0000000 0000000 00000024203 14775257723 0016522 0 ustar 00root root 0000000 0000000 # Release notes
## [Upcoming release](https://github.com/open2c/bioframe/compare/v0.8.0...HEAD)
## v0.8.0
Date: 2025-04-08
API changes:
* bigtools engine for bigwig and bigbed.
* run length functions `mark_runs` and `compress_runs`.
Maintenance:
* Numpy 2.x support.
## v0.7.2
Date: 2024-06-19
API changes:
* `read_alignment` function introduced in v0.7.0 has been pluralized to `read_alignments`
Maintenance:
* Skip `read_alignments` tests on big-endian architectures by @nvictus in https://github.com/open2c/bioframe/pull/216
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.7.1...v0.7.2
## v0.7.1
Date: 2024-06-17
Maintenance:
* Refactor join arrayops and intidx internals by @nvictus in https://github.com/open2c/bioframe/pull/204
* NumPy 2.0 was released. Pin `numpy < 2` until we migrate.
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.7.0...v0.7.1
## v0.7.0
Date: 2024-05-20
API changes:
* Add `to_bed` function to validate and write standard BED files @gamazeps in https://github.com/open2c/bioframe/pull/203
* `read_bam` deprecated in favor of `read_alignments` @gamazeps in https://github.com/open2c/bioframe/pull/206
Documentation:
* Add "bioframe for bedtools users" guide to docs by @gamazeps in https://github.com/open2c/bioframe/pull/198
Bug fixes:
* Fix contig name and JSON issues in read_bam implementation by @gamazeps in https://github.com/open2c/bioframe/pull/206
New Contributors:
* @gamazeps made their first contribution in https://github.com/open2c/bioframe/pull/203
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.6.4...v0.7.0
## v0.6.4
Date: 2024-04-06
Maintenance:
* Migrate from setuptools `pkg_resources` to `importlib.resources` by @nvictus in https://github.com/open2c/bioframe/pull/194
* Use `importlib.metadata` for versioning by @nvictus in https://github.com/open2c/bioframe/pull/195
Bug fixes:
* Overlap point segment patch #183 by @smitkadvani in https://github.com/open2c/bioframe/pull/184
* #167: Replaced np.int with int as the attribute is deprecated by numpy by @harshit148 in https://github.com/open2c/bioframe/pull/192
New Contributors:
* @harshit148 made a first contribution in https://github.com/open2c/bioframe/pull/192
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.6.3...v0.6.4
## v0.6.3
Date: 2024-03-11
Fixes:
* Prevent dropout from `closest` in some cases of left intervals with no neighbors by @agalitsyna in https://github.com/open2c/bioframe/pull/185
* Fix overlap returning float indexes causing failing tests (numpy v1.22.4, pandas v1.5.2) by @agalitsyna in https://github.com/open2c/bioframe/pull/185
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.6.2...v0.6.3
## v0.6.2
Date: 2024-02-08
Changes:
* cols and df_view_col passed to downstream functions by @smitkadvani in https://github.com/open2c/bioframe/pull/182
Fixes:
* Update to new UCSC hgdownload url by @golobor and @nvictus in https://github.com/open2c/bioframe/pull/187
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.6.1...v0.6.2
## v0.6.1
Date: 2024-01-08
API changes:
Default behavior of `ensure_nullable` option in `overlap` was modified to minimize the possibility of regressions in libraries that depend on legacy behavior.
* The new option was renamed `ensure_int` and is `True` by default. It ensures that output coordinate columns are always returned with an integer dtype, as was the case in prior versions. This is achieved by converting columns having non-nullable NumPy dtypes to Pandas nullable ones in the specific case where the result of an **outer join** generates missing values; otherwise, column dtypes are preserved unchanged in the output.
* Unlike previous minor versions of bioframe, the nullable dtype chosen will have the **same underlying type** as the corresponding column from the input (i.e, an input dataframe using `np.uint32` start coordinates may yield a `pd.UInt32` start column in the output).
* This behavior can be turned off by setting `ensure_int` to `False`, in which case outer joins on dataframes using NumPy dtypes may produce floating point output columns when missing values are introduced (stored as `NaN`), following the native casting behavior of such columns.
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.6.0...v0.6.1
## v0.6.0
Date: 2024-01-04
API changes:
* `overlap`: In previous versions, output coordinate columns were always converted to Pandas "nullable" `Int64` dtype before returning outer join results. In the interest of flexibility, memory efficiency, and least surprise, the coordinate columns returned in the output dataframe now preserve dtype from the input dataframes, following native type casting rules if missing data are introduced. We introduce the `ensure_nullable` argument to force Pandas nullable dtypes in the output coordinates. See the [docs](https://bioframe.readthedocs.io/en/latest/api-intervalops.html#bioframe.ops.overlap) for more details. (#178)
Bug fixes:
* Fixed `coverage` with custom `cols1` (#170)
Documentation:
* Added contributing guidelines and NumFOCUS affiliation.
* Updated README and added CITATION.cff file.
* Updated performance benchmarks.
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.5.1...v0.6.0
## v0.5.1
Date: 2023-11-08
Bug fixes:
* Series are treated like dict in `make_chromarms`
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.5.0...v0.5.1
## v0.5.0
Date: 2023-10-05
API changes:
* New builtin curated genome assembly database (metadata, chromsizes, cytobands):
* `bioframe.list_assemblies()`
* `bioframe.assembly_info()`
* New UCSC RGB color converter utility #158
* Options added to `pair_by_distance`
Bug fixes:
* Make expand throw an error if both pad and scale are passed (#148)
* Fixes to bioframe.select query interval semantics (#147)
Maintenance:
* Migrate to hatch build system and pyproject.toml
* Various refactorings
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.4.1...v0.5.0
## v0.4.1
Date: 2023-04-22
Bug fixes:
* Fix bug introduced in the last release in `select` and `select_*` query interval semantics. Results of select are now consistent with the query interval being interpreted as half-open, closed on the left.
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.4.0...v0.4.1
## v0.4.0
Date: 2023-03-23
API changes:
* New strand-aware directionality options for `closest()` via `direction_col` #129.
* New index-based range query selectors on single bioframes to complement `select()` #128:
* `select_mask()` returns boolean indices corresponding to intervals that overlap the query region
* `select_indices()` returns integer indices corresponding to intervals that overlap the query region
* `select_labels()` returns pandas label indices corresponding to intervals that overlap the query region
Bug fixes:
* Import fixes in sandbox
* Relax bioframe validator to permit using same column as start and end (e.g. point variants).
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.3.3...v0.4.0
## v0.3.3
Date: 2022-02-28
Bug fixes:
* fixed a couple functions returning an error instance instead of raising
* fetch_mrna link fixed
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.3.2...v0.3.3
## v0.3.2
Date: 2022-02-01
Bug fixes:
* fixed error in is_contained
* tutorial updates
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.3.1...v0.3.2
## v0.3.1
Date: 2021-11-15
API changes:
* `bioframe.sort_bedframe` does not append columns or modify their dtypes.
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.3.0...v0.3.1
## v0.3.0
Date: 2021-08-31
Conceptual changes:
* we formulated strict definitions for genomic intervals, dataframes, and
their various properties. All bioframe functions are expected to follow
to these definitions tightly.
API changes:
* reorganize modules:
* ops - operations on genomic interval dataframes
* extras - miscellaneous operations, most involving
genomic sequences and gene annotations
* vis - visualizations of genomic interval dataframes
* core.arrops - operations on genomic interval arrays
* core.checks - tests for definitions of genomic interval dataframes
* core.construction - construction and sanitation of genomic interval dataframes
* core.specs - specifications for the implementation of genomic intervals in pandas.dataframes
(i.e. column names, datatypes, etc)
* core.stringops - operations on genomic interval strings
* io.fileops - I/O on common file formats for genomic data
* io.schemas - schemas for standard tabular formats for genomic data storage
* io.resources - interfaces to popular online genomic data resources
* new functions: extras.pair_by_distance, ops.sort_bedframe, ops.assign_view,
dataframe constructors
* existing functions:
* expand: take negative values and fractional values
* overlap: change default suffixes, keep_order=True
* subtract: add return_index and keep_order
* enable pd.NA for missing values, typecasting
New data:
* add schemas for bedpe, gap, UCSCmRNA, pgsnp
* add tables with curated detailed genome assembly information
Bugfixes:
* None?..
Miscellaneous:
* speed up frac_gc is faster now
* drop support for Python 3.6, add support for 3.9
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.2.0...v0.3.0
## v0.2.0
Date: 2020-12-02
API changes:
* `read_chromsizes` and `fetch_chromsizes`: add new `as_bed` parameter.
* `read_chromsizes` and `fetch_chromsizes`: revert to filtering chromosome names by default, but clearly expose `filter_chroms` kwarg.
Bug fixes:
* Fixed `bioframe.split`
* Restored `frac_genome_coverage`
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.1.0...v0.2.0
## v0.1.0
Date: 2020-09-23
First beta release.
What's new:
* New extensive dataframe genomic interval arithmetic toolsuite.
* Improved region handling and region querying functions.
* [Documentation!](https://bioframe.readthedocs.io/)
Maintenance:
* Dropped Python 2 support
* Refactoring of various genome operations and resources.
* Improved testing and linting
**Full Changelog**: https://github.com/open2c/bioframe/compare/v0.0.12...v0.1.0
open2c-bioframe-4fe9b25/CITATION.cff 0000664 0000000 0000000 00000004717 14775257723 0017032 0 ustar 00root root 0000000 0000000 cff-version: 1.2.0
type: software
title: bioframe
license: MIT
repository-code: 'https://github.com/open2c/bioframe'
message: >-
If you use this software, please cite it using the
metadata from this file.
authors:
- given-names: Nezar
family-names: Abdennur
orcid: 'https://orcid.org/0000-0001-5814-0864'
- given-names: Geoffrey
family-names: Fudenberg
orcid: "https://orcid.org/0000-0001-5905-6517"
- given-names: Ilya
family-names: Flyamer
orcid: "https://orcid.org/0000-0002-4892-4208"
- given-names: Aleksandra
family-names: Galitsyna
orcid: "https://orcid.org/0000-0001-8969-5694"
- given-names: Anton
family-names: Goloborodko
orcid: "https://orcid.org/0000-0002-2210-8616"
- given-names: Maxim
family-names: Imakaev
orcid: "https://orcid.org/0000-0002-5320-2728"
- given-names: Sergey
family-names: Venev
orcid: "https://orcid.org/0000-0002-1507-7460"
abstract: >-
Bioframe is a library to enable flexible and performant
operations on genomic interval data frames in Python.
keywords:
- bioinformatics
- genomics
- ranges
- intervals
- dataframes
- pandas
- numpy
- Python
identifiers:
- type: doi
value: 10.5281/zenodo.3897573
description: Zenodo
- type: doi
value: 10.1101/2022.02.16.480748
description: bioRxiv preprint
- type: doi
value: 10.1093/bioinformatics/btae088
description: Publication
preferred-citation:
type: article
title: "Bioframe: Operations on Genomic Intervals in Pandas Dataframes"
authors:
- family-names: Open2C
- given-names: Nezar
family-names: Abdennur
orcid: 'https://orcid.org/0000-0001-5814-0864'
- given-names: Geoffrey
family-names: Fudenberg
orcid: "https://orcid.org/0000-0001-5905-6517"
- given-names: Ilya
family-names: Flyamer
name-suffix: M
orcid: "https://orcid.org/0000-0002-4892-4208"
- given-names: Aleksandra
family-names: Galitsyna
name-suffix: A
orcid: "https://orcid.org/0000-0001-8969-5694"
- given-names: Anton
family-names: Goloborodko
orcid: "https://orcid.org/0000-0002-2210-8616"
- given-names: Maxim
family-names: Imakaev
orcid: "https://orcid.org/0000-0002-5320-2728"
- given-names: Sergey
family-names: Venev
orcid: "https://orcid.org/0000-0002-1507-7460"
journal: Bioinformatics
year: 2024
url: "https://doi.org/10.1093/bioinformatics/btae088"
doi: "10.1093/bioinformatics/btae088"
open2c-bioframe-4fe9b25/CONTRIBUTING.md 0000664 0000000 0000000 00000012615 14775257723 0017365 0 ustar 00root root 0000000 0000000 # Contributing
## General guidelines
If you haven't contributed to open-source before, we recommend you read [this excellent guide by GitHub on how to contribute to open source](https://opensource.guide/how-to-contribute). The guide is long, so you can gloss over things you're familiar with.
If you're not already familiar with it, we follow the [fork and pull model](https://help.github.com/articles/about-collaborative-development-models) on GitHub. Also, check out this recommended [git workflow](https://www.asmeurer.com/git-workflow/).
## Contributing Code
This project has a number of requirements for all code contributed.
* We follow the [PEP-8 style](https://www.python.org/dev/peps/pep-0008/) convention.
* We use [NumPy-style docstrings](https://numpydoc.readthedocs.io/en/latest/format.html).
* It's ideal if user-facing API changes or new features have documentation added.
* It is best if all new functionality and/or bug fixes have unit tests added with each use-case.
## Setting up Your Development Environment
This project uses the [hatch](https://hatch.pypa.io/latest/) project manager and build system. We recommend you install `hatch` as a global isolated application using [pipx](https://pipx.pypa.io/stable/). See other installation options [here](https://hatch.pypa.io/latest/install/).
```sh
pipx install hatch
```
> [!NOTE]
> Many custom command shortcuts are accessible through hatch (and shown below). See `tool.hatch.envs.default.scripts` in our project's `pyproject.toml` configuration file.
After forking and cloning the repository, you can create an isolated Python development environment and install the package in "editable" (i.e. development) mode as follows:
```sh
git clone https://github.com/open2c/bioframe.git
cd bioframe
hatch shell
```
The first time you run `hatch shell` the environment will be created and activated, and the package will be installed. In future sessions, running `hatch shell` will reactivate your development environment.
> [!TIP]
> If you prefer to store your virtual environments in your working directory (like classic virtualenvs) rather than in a centralized location (similar to conda), configure hatch as follows:
>
> ```sh
> hatch config set dirs.env.virtual .venv
> ```
>
> This will make hatch set up its environments within the current working directory under `.venv`.
Alternatively, if you prefer to manage your virtual environments yourself, you can install the package for development using, for example:
```sh
python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev,test,docs]'
```
For all pull requests, linting and unit tests are automatically run using the [GitHub Actions](https://docs.github.com/en/actions) Continuous Integration service. However, you are still encouraged to run these checks locally before pushing code to a PR.
## Linting and Formatting
We use [ruff](https://docs.astral.sh/ruff/) for style checking. Run `ruff check .` or:
```sh
hatch run lint
```
Ruff can fix a lot of errors itself. Run `ruff check --fix .` or:
```sh
hatch run fix
```
Ruff includes a formatter that mimics [black](https://black.readthedocs.io/en/stable/). To automatically reformat your code, you can use `ruff format {source_file}`.
We use [pre-commit](https://github.com/pre-commit/pre-commit) to make sure the coding style is enforced. You first need to install pre-commit and the corresponding git commit hooks:
```sh
pip install pre-commit
pre-commit install
```
The last command installs the hooks listed in `.pre-commit-config.yaml` locally into your git repo. If you do this, the checks will run automatically before every commit. You can also manually make sure your code satisfies the coding style:
```sh
pre-commit run --all-files
```
## Testing
It is best if all new functionality and/or bug fixes have unit tests added with each use-case.
We use [pytest](https://docs.pytest.org/en/latest) as our unit testing framework. Once you've configured your environment, you can just `cd` to the root of your repository and run `pytest` or:
```sh
hatch run test
```
## Documentation
If a feature is stable and relatively finalized, it is time to add it to the documentation. If you are adding any private/public functions, it is best to add docstrings, to aid in reviewing code and also for the API reference.
We use [Numpy style docstrings](https://numpydoc.readthedocs.io/en/latest/format.html>) and [Sphinx](http://www.sphinx-doc.org/en/stable) to document this library. Sphinx, in turn, uses [reStructuredText](http://www.sphinx-doc.org/en/stable/rest.html) as its markup language for adding code.
We use the [Sphinx Autosummary extension](http://www.sphinx-doc.org/en/stable/ext/autosummary.html) to generate API references. You may want to look at `docs/api-*.rst` files to see how they look and where to add new functions, classes or modules. We also use the [myst_nb extension](https://myst-nb.readthedocs.io/en/latest/) to render Jupyter notebooks in the documentation.
To build the documentation, run `sphinx-autobuild` using:
```sh
hatch run docs
```
This will build the documentation and serve it on a local http server which listens for changes and automatically rebuilds.
Documentation from the `main` branch and tagged releases is automatically built and hosted on [readthedocs](https://readthedocs.org/).
## Acknowledgments
This document is based off of the [guidelines from the sparse project](https://github.com/pydata/sparse/blob/master/docs/contributing.rst).
open2c-bioframe-4fe9b25/LICENSE 0000664 0000000 0000000 00000002074 14775257723 0016137 0 ustar 00root root 0000000 0000000 The MIT License (MIT)
Copyright (c) 2016 Open2C Developers
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
open2c-bioframe-4fe9b25/README.md 0000664 0000000 0000000 00000012374 14775257723 0016415 0 ustar 00root root 0000000 0000000 # Bioframe: Operations on Genomic Interval Dataframes

[](https://results.pre-commit.ci/latest/github/open2c/bioframe/main)
[](https://bioframe.readthedocs.io/en/latest/)
[](https://doi.org/10.1093/bioinformatics/btae088)
[](https://zenodo.org/badge/latestdoi/69901992)
[](https://bit.ly/open2c-slack)
[](https://www.numfocus.org)
Bioframe enables flexible and scalable operations on genomic interval dataframes in Python.
Bioframe is built directly on top of [Pandas](https://pandas.pydata.org/). Bioframe provides:
* A variety of genomic interval operations that work directly on dataframes.
* Operations for special classes of genomic intervals, including chromosome arms and fixed-size bins.
* Conveniences for diverse tabular genomic data formats and loading genome assembly summary information.
Read the [documentation](https://bioframe.readthedocs.io/en/latest/), including the [guide](https://bioframe.readthedocs.io/en/latest/guide-intervalops.html), as well as the [publication](https://doi.org/10.1093/bioinformatics/btae088) for more information.
Bioframe is an Affiliated Project of [NumFOCUS](https://www.numfocus.org).
## Installation
Bioframe is available on [PyPI](https://pypi.org/project/bioframe/) and [bioconda](https://bioconda.github.io/recipes/bioframe/README.html):
```sh
pip install bioframe
```
## Contributing
Interested in contributing to bioframe? That's great! To get started, check out the [contributing guide](https://github.com/open2c/bioframe/blob/main/CONTRIBUTING.md). Discussions about the project roadmap take place on the [Open2C Slack](https://bit.ly/open2c-slack) and regular developer meetings scheduled there. Anyone can join and participate!
## Interval operations
Key genomic interval operations in bioframe include:
- `overlap`: Find pairs of overlapping genomic intervals between two dataframes.
- `closest`: For every interval in a dataframe, find the closest intervals in a second dataframe.
- `cluster`: Group overlapping intervals in a dataframe into clusters.
- `complement`: Find genomic intervals that are not covered by any interval from a dataframe.
Bioframe additionally has functions that are frequently used for genomic interval operations and can be expressed as combinations of these core operations and dataframe operations, including: `coverage`, `expand`, `merge`, `select`, and `subtract`.
To `overlap` two dataframes, call:
```python
import bioframe as bf
bf.overlap(df1, df2)
```
For these two input dataframes, with intervals all on the same chromosome:
`overlap` will return the following interval pairs as overlaps:
To `merge` all overlapping intervals in a dataframe, call:
```python
import bioframe as bf
bf.merge(df1)
```
For this input dataframe, with intervals all on the same chromosome:
`merge` will return a new dataframe with these merged intervals:
See the [guide](https://bioframe.readthedocs.io/en/latest/guide-intervalops.html) for visualizations of other interval operations in bioframe.
## File I/O
Bioframe includes utilities for reading genomic file formats into dataframes and vice versa. One handy function is `read_table` which mirrors pandas’s read_csv/read_table but provides a [`schema`](https://github.com/open2c/bioframe/blob/main/bioframe/io/schemas.py) argument to populate column names for common tabular file formats.
```python
jaspar_url = 'http://expdata.cmmt.ubc.ca/JASPAR/downloads/UCSC_tracks/2022/hg38/MA0139.1.tsv.gz'
ctcf_motif_calls = bioframe.read_table(jaspar_url, schema='jaspar', skiprows=1)
```
## Tutorials
See this [jupyter notebook](https://github.com/open2c/bioframe/tree/master/docs/tutorials/tutorial_assign_motifs_to_peaks.ipynb) for an example of how to assign TF motifs to ChIP-seq peaks using bioframe.
## Citing
If you use ***bioframe*** in your work, please cite:
```bibtex
@article{bioframe_2024,
author = {Open2C and Abdennur, Nezar and Fudenberg, Geoffrey and Flyamer, Ilya M and Galitsyna, Aleksandra A and Goloborodko, Anton and Imakaev, Maxim and Venev, Sergey},
doi = {10.1093/bioinformatics/btae088},
journal = {Bioinformatics},
title = {{Bioframe: Operations on Genomic Intervals in Pandas Dataframes}},
year = {2024}
}
```
open2c-bioframe-4fe9b25/bioframe/ 0000775 0000000 0000000 00000000000 14775257723 0016713 5 ustar 00root root 0000000 0000000 open2c-bioframe-4fe9b25/bioframe/__init__.py 0000664 0000000 0000000 00000005504 14775257723 0021030 0 ustar 00root root 0000000 0000000 try:
from importlib.metadata import PackageNotFoundError, version
except ImportError:
from importlib_metadata import PackageNotFoundError, version
try:
__version__ = version("bioframe")
except PackageNotFoundError:
__version__ = "unknown"
__all__ = [
"arrops",
"from_any",
"from_dict",
"from_list",
"from_series",
"is_bedframe",
"is_cataloged",
"is_chrom_dtype",
"is_complete_ucsc_string",
"is_contained",
"is_covering",
"is_overlapping",
"is_sorted",
"is_tiling",
"is_viewframe",
"make_viewframe",
"parse_region",
"parse_region_string",
"sanitize_bedframe",
"to_ucsc_string",
"update_default_colnames",
"binnify",
"digest",
"frac_gc",
"frac_gene_coverage",
"frac_mapped",
"make_chromarms",
"pair_by_distance",
"seq_gc",
"SCHEMAS",
"UCSCClient",
"assemblies_available",
"assembly_info",
"fetch_centromeres",
"fetch_chromsizes",
"load_fasta",
"read_alignments",
"read_bam",
"read_bigbed",
"read_bigwig",
"read_chromsizes",
"read_pairix",
"read_tabix",
"read_table",
"to_bed",
"to_bigbed",
"to_bigwig",
"assign_view",
"closest",
"cluster",
"complement",
"count_overlaps",
"coverage",
"expand",
"merge",
"overlap",
"mark_runs",
"merge_runs",
"select",
"select_indices",
"select_labels",
"select_mask",
"setdiff",
"sort_bedframe",
"subtract",
"trim",
"plot_intervals",
"to_ucsc_colorstring",
]
from .core import (
arrops,
from_any,
from_dict,
from_list,
from_series,
is_bedframe,
is_cataloged,
is_chrom_dtype,
is_complete_ucsc_string,
is_contained,
is_covering,
is_overlapping,
is_sorted,
is_tiling,
is_viewframe,
make_viewframe,
parse_region,
parse_region_string,
sanitize_bedframe,
to_ucsc_string,
update_default_colnames,
)
from .extras import (
binnify,
digest,
frac_gc,
frac_gene_coverage,
frac_mapped,
make_chromarms,
mark_runs,
merge_runs,
pair_by_distance,
seq_gc,
)
from .io import (
SCHEMAS,
UCSCClient,
assemblies_available,
assembly_info,
fetch_centromeres,
fetch_chromsizes,
load_fasta,
read_alignments,
read_bam,
read_bigbed,
read_bigwig,
read_chromsizes,
read_pairix,
read_tabix,
read_table,
to_bed,
to_bigbed,
to_bigwig,
)
from .ops import (
assign_view,
closest,
cluster,
complement,
count_overlaps,
coverage,
expand,
merge,
overlap,
select,
select_indices,
select_labels,
select_mask,
setdiff,
sort_bedframe,
subtract,
trim,
)
from .vis import plot_intervals, to_ucsc_colorstring
del version, PackageNotFoundError
open2c-bioframe-4fe9b25/bioframe/core/ 0000775 0000000 0000000 00000000000 14775257723 0017643 5 ustar 00root root 0000000 0000000 open2c-bioframe-4fe9b25/bioframe/core/__init__.py 0000664 0000000 0000000 00000001663 14775257723 0021762 0 ustar 00root root 0000000 0000000 from . import arrops
from .checks import (
is_bedframe,
is_cataloged,
is_contained,
is_covering,
is_overlapping,
is_sorted,
is_tiling,
is_viewframe,
)
from .construction import (
from_any,
from_dict,
from_list,
from_series,
make_viewframe,
sanitize_bedframe,
)
from .specs import is_chrom_dtype, update_default_colnames
from .stringops import (
is_complete_ucsc_string,
parse_region,
parse_region_string,
to_ucsc_string,
)
__all__ = [
"arrops",
"is_bedframe",
"is_cataloged",
"is_contained",
"is_covering",
"is_overlapping",
"is_sorted",
"is_tiling",
"is_viewframe",
"from_any",
"from_dict",
"from_list",
"from_series",
"make_viewframe",
"sanitize_bedframe",
"is_chrom_dtype",
"update_default_colnames",
"is_complete_ucsc_string",
"parse_region",
"parse_region_string",
"to_ucsc_string",
]
open2c-bioframe-4fe9b25/bioframe/core/arrops.py 0000664 0000000 0000000 00000061126 14775257723 0021531 0 ustar 00root root 0000000 0000000 import re
import warnings
import numpy as np
import pandas as pd
INT64_MAX = np.iinfo(np.int64).max
def natsort_key(s, _NS_REGEX=re.compile(r"(\d+)", re.U)):
return tuple([int(x) if x.isdigit() else x for x in _NS_REGEX.split(s) if x])
def natsorted(iterable):
return sorted(iterable, key=natsort_key)
def argnatsort(array):
array = np.asarray(array)
if not len(array):
return np.array([], dtype=int)
cols = tuple(zip(*(natsort_key(x) for x in array)))
return np.lexsort(cols[::-1]) # numpy's lexsort is ass-backwards
def _find_block_span(arr, val):
"""Find the first and the last occurence + 1 of the value in the array."""
# it can be done via bisection, but for now BRUTE FORCE
block_idxs = np.where(arr == val)[0]
lo, hi = block_idxs[0], block_idxs[-1] + 1
return lo, hi
def interweave(a, b):
"""
Interweave two arrays.
Parameters
----------
a, b : numpy.ndarray
Arrays to interweave, must have the same length/
Returns
-------
out : numpy.ndarray
Array of interweaved values from a and b.
Notes
-----
From https://stackoverflow.com/questions/5347065/interweaving-two-numpy-arrays
"""
out = np.empty((a.size + b.size,), dtype=a.dtype)
out[0::2] = a
out[1::2] = b
return out
def sum_slices(arr, starts, ends):
"""
Calculate sums of slices of an array.
Parameters
----------
arr : numpy.ndarray
starts : numpy.ndarray
Starts for each slice
ends : numpy.ndarray
Stops for each slice
Returns
-------
sums : numpy.ndarray
Sums of the slices.
"""
sums = np.add.reduceat(arr, interweave(starts, ends))[::2]
sums[starts == ends] = 0
return sums
def arange_multi(starts, stops=None, lengths=None):
"""
Create concatenated ranges of integers for multiple start/length.
Parameters
----------
starts : numpy.ndarray
Starts for each range
stops : numpy.ndarray
Stops for each range
lengths : numpy.ndarray
Lengths for each range. Either stops or lengths must be provided.
Returns
-------
concat_ranges : numpy.ndarray
Concatenated ranges.
Notes
-----
See the following illustrative example:
starts = np.array([1, 3, 4, 6])
stops = np.array([1, 5, 7, 6])
print arange_multi(starts, lengths)
>>> [3 4 4 5 6]
From: https://codereview.stackexchange.com/questions/83018/vectorized-numpy-version-of-arange-with-multiple-start-stop
"""
if (stops is None) == (lengths is None):
raise ValueError("Either stops or lengths must be provided!")
if lengths is None:
lengths = stops - starts
if np.isscalar(starts):
starts = np.full(len(stops), starts)
# Repeat start position index length times and concatenate
cat_start = np.repeat(starts, lengths)
# Create group counter that resets for each start/length
cat_counter = np.arange(lengths.sum()) - np.repeat(
lengths.cumsum() - lengths, lengths
)
# Add group counter to group specific starts
cat_range = cat_start + cat_counter
return cat_range
def _check_overlap(starts1, ends1, starts2, ends2, closed=False):
"""
Take pairs of intervals and test if each pair has an overlap.
Parameters
----------
starts1, ends1, starts2, ends2 : numpy.ndarray
Interval coordinates. All four arrays must have the same size.
Warning: if provided as pandas.Series, indices will be ignored.
closed : bool
If True then treat intervals as closed and accept single-point overlaps.
Returns
-------
have_overlap : numpy.ndarray
A boolean array where the i-th element says if the i-th interval in set 1
overlaps the i-th interval in set 2.
"""
if not (starts1.size == ends1.size == starts2.size == ends2.size):
raise ValueError("All four input arrays must have the same size.")
if closed:
return (starts1 <= ends2) & (starts2 <= ends1)
else:
return (starts1 < ends2) & (starts2 < ends1)
def _size_overlap(starts1, ends1, starts2, ends2):
"""
Take pairs of intervals and return the length of an overlap in each pair.
Parameters
----------
starts1, ends1, starts2, ends2 : numpy.ndarray
Interval coordinates. All four arrays must have the same size.
Warning: if provided as pandas.Series, indices will be ignored.
Returns
-------
overlap_size : numpy.ndarray
An array where the i-th element contains the length of an overlap between
the i-th interval in set 1 and the i-th interval in set 2.
0 if the intervals overlap by a single point, -1 if they do not overlap.
"""
overlap_size = np.minimum(ends1, ends2) - np.maximum(starts1, starts2)
overlap_size[overlap_size < 0] = -1
return overlap_size
def _overlap_intervals_legacy(starts1, ends1, starts2, ends2, closed=False, sort=False):
"""
Take two sets of intervals and return the indices of pairs of overlapping intervals.
Parameters
----------
starts1, ends1, starts2, ends2 : numpy.ndarray
Interval coordinates. Warning: if provided as pandas.Series, indices
will be ignored.
closed : bool
If True, then treat intervals as closed and report single-point overlaps.
Returns
-------
overlap_ids : numpy.ndarray
An Nx2 array containing the indices of pairs of overlapping intervals.
The 1st column contains ids from the 1st set, the 2nd column has ids
from the 2nd set.
"""
for vec in [starts1, ends1, starts2, ends2]:
if isinstance(vec, pd.Series):
warnings.warn(
"One of the inputs is provided as pandas.Series and its index "
"will be ignored.",
SyntaxWarning,
stacklevel=2,
)
starts1 = np.asarray(starts1)
ends1 = np.asarray(ends1)
starts2 = np.asarray(starts2)
ends2 = np.asarray(ends2)
# Concatenate intervals lists
n1 = len(starts1)
n2 = len(starts2)
starts = np.concatenate([starts1, starts2])
ends = np.concatenate([ends1, ends2])
# Encode interval ids as 1-based,
# negative ids for the 1st set, positive ids for 2nd set
ids = np.concatenate([-np.arange(1, n1 + 1), np.arange(1, n2 + 1)])
# Sort all intervals together
order = np.lexsort([ends, starts])
starts, ends, ids = starts[order], ends[order], ids[order]
# Find interval overlaps
match_starts = np.arange(0, n1 + n2)
match_ends = np.searchsorted(starts, ends, "right" if closed else "left")
# Ignore self-overlaps
match_mask = match_ends > match_starts + 1
match_starts, match_ends = match_starts[match_mask], match_ends[match_mask]
# Restore
overlap_ids = np.vstack(
[
np.repeat(ids[match_starts], match_ends - match_starts - 1),
ids[arange_multi(match_starts + 1, match_ends)],
]
).T
# Drop same-set overlaps
overlap_ids = overlap_ids[overlap_ids[:, 0] * overlap_ids[:, 1] <= 0]
# Flip overlaps, such that the 1st column contains ids from the 1st set,
# the 2nd column contains ids from the 2nd set.
overlap_ids.sort(axis=-1)
# Restore original indexes,
overlap_ids[:, 0] = overlap_ids[:, 0] * (-1) - 1
overlap_ids[:, 1] = overlap_ids[:, 1] - 1
# Sort overlaps according to the 1st
if sort:
overlap_ids = overlap_ids[np.lexsort([overlap_ids[:, 1], overlap_ids[:, 0]])]
return overlap_ids
def _convert_points_to_len1_segments(starts, ends):
"""
Convert points to len1 segments for internal use in overlap().
This enables desired overlap behavior for points and preserves
behavior for semi-open intervals of len>=1.
Parameters
----------
starts, ends : numpy.ndarray
Returns
-------
pseudo_ends : numpy.ndarray
An array of pseudo-ends for overlapping intervals.
"""
pseudo_ends = ends.copy()
pseudo_ends[ends == starts] += 1
return [starts, pseudo_ends]
def overlap_intervals(starts1, ends1, starts2, ends2, closed=False, sort=False):
"""
Take two sets of intervals and return the indices of pairs of overlapping intervals.
Parameters
----------
starts1, ends1, starts2, ends2 : numpy.ndarray
Interval coordinates. Warning: if provided as pandas.Series, indices
will be ignored.
closed : bool
If True, then treat intervals as closed and report single-point overlaps.
Returns
-------
ovids1, ovids2 : numpy.ndarray
Two 1D arrays containing the indices of pairs of overlapping intervals.
The 1st contains ids from the 1st set, the 2nd has ids from the 2nd set.
"""
for vec in [starts1, ends1, starts2, ends2]:
if isinstance(vec, pd.Series):
warnings.warn(
"One of the inputs is provided as pandas.Series and its index "
"will be ignored.",
SyntaxWarning,
stacklevel=2,
)
starts1 = np.asarray(starts1)
ends1 = np.asarray(ends1)
starts1, ends1 = _convert_points_to_len1_segments(starts1, ends1)
starts2 = np.asarray(starts2)
ends2 = np.asarray(ends2)
starts2, ends2 = _convert_points_to_len1_segments(starts2, ends2)
# Concatenate intervals lists
n1 = len(starts1)
n2 = len(starts2)
ids1 = np.arange(0, n1)
ids2 = np.arange(0, n2)
# Sort all intervals together
order1 = np.lexsort([ends1, starts1])
order2 = np.lexsort([ends2, starts2])
starts1, ends1, ids1 = starts1[order1], ends1[order1], ids1[order1]
starts2, ends2, ids2 = starts2[order2], ends2[order2], ids2[order2]
# Find interval overlaps
match_2in1_starts = np.searchsorted(starts2, starts1, "left")
match_2in1_ends = np.searchsorted(starts2, ends1, "right" if closed else "left")
# "right" is intentional here to avoid duplication
match_1in2_starts = np.searchsorted(starts1, starts2, "right")
match_1in2_ends = np.searchsorted(starts1, ends2, "right" if closed else "left")
# Ignore self-overlaps
match_2in1_mask = match_2in1_ends > match_2in1_starts
match_1in2_mask = match_1in2_ends > match_1in2_starts
match_2in1_starts, match_2in1_ends = (
match_2in1_starts[match_2in1_mask],
match_2in1_ends[match_2in1_mask],
)
match_1in2_starts, match_1in2_ends = (
match_1in2_starts[match_1in2_mask],
match_1in2_ends[match_1in2_mask],
)
# Generate IDs of pairs of overlapping intervals
ovids1 = np.concatenate([
np.repeat(ids1[match_2in1_mask], match_2in1_ends - match_2in1_starts),
ids1[arange_multi(match_1in2_starts, match_1in2_ends)],
])
ovids2 = np.concatenate([
ids2[arange_multi(match_2in1_starts, match_2in1_ends)],
np.repeat(ids2[match_1in2_mask], match_1in2_ends - match_1in2_starts),
])
if sort:
idx = np.lexsort([ovids2, ovids1])
ovids1 = ovids1[idx]
ovids2 = ovids2[idx]
return ovids1, ovids2
def overlap_intervals_outer(starts1, ends1, starts2, ends2, closed=False):
"""
Take two sets of intervals and return the indices of pairs of overlapping intervals,
as well as the indices of the intervals that do not overlap any other interval.
Parameters
----------
starts1, ends1, starts2, ends2 : numpy.ndarray
Interval coordinates. Warning: if provided as pandas.Series, indices
will be ignored.
closed : bool
If True, then treat intervals as closed and report single-point overlaps.
Returns
-------
ovids1, ovids2 : numpy.ndarray
Two 1D arrays containing the indices of pairs of overlapping intervals.
The 1st contains ids from the 1st set, the 2nd has ids from the 2nd set.
no_overlap_ids1, no_overlap_ids2 : numpy.ndarray
Two 1D arrays containing the indices of intervals in sets 1 and 2
respectively that do not overlap with any interval in the other set.
"""
n1, n2 = len(starts1), len(starts2)
ovids1, ovids2 = overlap_intervals(starts1, ends1, starts2, ends2, closed=closed)
if n1 > 0:
no_overlap_ids1 = np.setdiff1d(np.arange(len(starts1)), ovids1)
else:
no_overlap_ids1 = np.array([], dtype=int)
if n2 > 0:
no_overlap_ids2 = np.setdiff1d(np.arange(len(starts2)), ovids2)
else:
no_overlap_ids2 = np.array([], dtype=int)
return ovids1, ovids2, no_overlap_ids1, no_overlap_ids2
def merge_intervals(starts, ends, min_dist=0):
"""
Merge overlapping intervals.
Parameters
----------
starts, ends : numpy.ndarray
Interval coordinates. Warning: if provided as pandas.Series, indices
will be ignored.
min_dist : float or None
If provided, merge intervals separated by this distance or less.
If None, do not merge non-overlapping intervals. Using
min_dist=0 and min_dist=None will bring different results.
bioframe uses semi-open intervals, so interval pairs [0,1) and [1,2)
do not overlap, but are separated by a distance of 0. Such intervals
are not merged when min_dist=None, but are merged when min_dist=0.
Returns
-------
cluster_ids : numpy.ndarray
The indices of interval clusters that each interval belongs to.
cluster_starts : numpy.ndarray
cluster_ends : numpy.ndarray
The spans of the merged intervals.
Notes
-----
From
https://stackoverflow.com/questions/43600878/merging-overlapping-intervals/58976449#58976449
"""
for vec in [starts, ends]:
if isinstance(vec, pd.Series):
warnings.warn(
"One of the inputs is provided as pandas.Series and its index "
"will be ignored.",
SyntaxWarning,
stacklevel=2,
)
starts = np.asarray(starts)
ends = np.asarray(ends)
order = np.lexsort([ends, starts])
starts, ends = starts[order], ends[order]
ends = np.maximum.accumulate(ends)
cluster_borders = np.zeros(len(starts) + 1, dtype=bool)
cluster_borders[0] = True
cluster_borders[-1] = True
if min_dist is not None:
cluster_borders[1:-1] = starts[1:] > ends[:-1] + min_dist
else:
cluster_borders[1:-1] = starts[1:] >= ends[:-1]
cluster_ids_sorted = np.cumsum(cluster_borders)[:-1] - 1
cluster_ids = np.full(starts.shape[0], -1)
cluster_ids[order] = cluster_ids_sorted
cluster_starts = starts[:][cluster_borders[:-1]]
cluster_ends = ends[:][cluster_borders[1:]]
return cluster_ids, cluster_starts, cluster_ends
def complement_intervals(
starts,
ends,
bounds=(0, INT64_MAX),
):
_, merged_starts, merged_ends = merge_intervals(starts, ends, min_dist=0)
lo = np.searchsorted(merged_ends, bounds[0], "right")
hi = np.searchsorted(merged_starts, bounds[1], "left")
merged_starts = merged_starts[lo:hi]
merged_ends = merged_ends[lo:hi]
# Trim the complement to the bounds.
complement_starts = np.r_[bounds[0], merged_ends]
complement_ends = np.r_[merged_starts, bounds[1]]
lo = 1 if (complement_starts[0] >= complement_ends[0]) else 0
hi = -1 if (complement_starts[-1] >= complement_ends[-1]) else None
complement_starts = complement_starts[lo:hi]
complement_ends = complement_ends[lo:hi]
return complement_starts, complement_ends
def _closest_intervals_nooverlap(
starts1, ends1, starts2, ends2, direction, tie_arr=None, k=1
):
"""
For every interval in set 1, return the indices of k closest intervals
from set 2 to the left from the interval (with smaller coordinate).
Overlapping intervals from set 2 are not reported, unless they overlap by
a single point.
Parameters
----------
starts1, ends1, starts2, ends2 : numpy.ndarray
Interval coordinates. Warning: if provided as pandas.Series, indices
will be ignored.
direction : str ("left" or "right")
Orientation of closest interval search
tie_arr : numpy.ndarray or None
Extra data describing intervals in set 2 to break ties when multiple
intervals are located at the same distance. An interval with the
*lowest* value is selected.
k : int
The number of neighbors to report.
Returns
-------
ids1, ids2: numpy.ndarray
Two arrays containing the indices of pairs of closest intervals,
reported for the neighbors in specified direction (by genomic
coordinate). The two arrays are the inteval ids from set 1, ids of
the closest intevals from set 2.
"""
for vec in [starts1, ends1, starts2, ends2]:
if isinstance(vec, pd.Series):
warnings.warn(
"One of the inputs is provided as pandas.Series "
"and its index will be ignored.",
SyntaxWarning,
stacklevel=2,
)
starts1 = np.asarray(starts1)
ends1 = np.asarray(ends1)
starts2 = np.asarray(starts2)
ends2 = np.asarray(ends2)
n1 = starts1.shape[0]
n2 = starts2.shape[0]
ids1 = np.array([], dtype=int)
ids2 = np.array([], dtype=int)
if k > 0 and direction == "left":
if tie_arr is None:
ends2_sort_order = np.argsort(ends2)
else:
ends2_sort_order = np.lexsort([-tie_arr, ends2])
ids2_endsorted = np.arange(0, n2)[ends2_sort_order]
ends2_sorted = ends2[ends2_sort_order]
left_closest_endidx = np.searchsorted(ends2_sorted, starts1, "right")
left_closest_startidx = np.maximum(left_closest_endidx - k, 0)
int1_ids = np.repeat(np.arange(n1), left_closest_endidx - left_closest_startidx)
int2_sorted_ids = arange_multi(left_closest_startidx, left_closest_endidx)
ids1 = int1_ids
ids2 = ids2_endsorted[int2_sorted_ids]
elif k > 0 and direction == "right":
if tie_arr is None:
starts2_sort_order = np.argsort(starts2)
else:
starts2_sort_order = np.lexsort([tie_arr, starts2])
ids2_startsorted = np.arange(0, n2)[starts2_sort_order]
starts2_sorted = starts2[starts2_sort_order]
right_closest_startidx = np.searchsorted(starts2_sorted, ends1, "left")
right_closest_endidx = np.minimum(right_closest_startidx + k, n2)
int1_ids = np.repeat(
np.arange(n1), right_closest_endidx - right_closest_startidx
)
int2_sorted_ids = arange_multi(right_closest_startidx, right_closest_endidx)
ids1 = int1_ids
ids2 = ids2_startsorted[int2_sorted_ids]
return ids1, ids2
def closest_intervals(
starts1,
ends1,
starts2=None,
ends2=None,
k=1,
tie_arr=None,
ignore_overlaps=False,
ignore_upstream=False,
ignore_downstream=False,
along=None,
):
"""
For every interval in set 1, return the indices of k closest intervals
from set 2.
Parameters
----------
starts1, ends1, starts2, ends2 : numpy.ndarray
Interval coordinates. Warning: if provided as pandas.Series, indices
will be ignored. If start2 and ends2 are None, find closest intervals
within the same set.
k : int
The number of neighbors to report.
tie_arr : numpy.ndarray or None
Extra data describing intervals in set 2 to break ties when multiple
intervals are located at the same distance. Intervals with *lower*
tie_arr values will be given priority.
ignore_overlaps : bool
If True, ignore set 2 intervals that overlap with set 1 intervals.
ignore_upstream, ignore_downstream : bool
If True, ignore set 2 intervals upstream/downstream of set 1 intervals.
along : numpy.ndarray with dtype bool or None
Strand vector to define the upstream/downstream orientation of the
intervals.
Returns
-------
closest_ids1, closest_ids2 : numpy.ndarray
Two arrays containing the indices of pairs of closest intervals.
The 1st array contains ids from the 1st set, the 2nd array has ids
from the 2nd set.
"""
# Get overlaps
if ignore_overlaps:
ovids1, ovids2 = np.array([], dtype=int), np.array([], dtype=int)
elif (starts2 is None) and (ends2 is None):
starts2, ends2 = starts1, ends1
ovids1, ovids2 = overlap_intervals(starts1, ends1, starts2, ends2)
mask = ovids1 != ovids2
ovids1 = ovids1[mask]
ovids2 = ovids2[mask]
else:
ovids1, ovids2 = overlap_intervals(starts1, ends1, starts2, ends2)
# Get non-overlapping nearest neighbors
n = len(starts1)
if along is None:
along = np.ones(n, dtype=bool)
# + stranded intervals
pos_starts1, pos_ends1 = starts1[along], ends1[along]
pos_up1, pos_up2 = _closest_intervals_nooverlap(
pos_starts1,
pos_ends1,
starts2,
ends2,
direction="left",
tie_arr=tie_arr,
k=0 if ignore_upstream else k,
)
pos_dn1, pos_dn2 = _closest_intervals_nooverlap(
pos_starts1,
pos_ends1,
starts2,
ends2,
direction="right",
tie_arr=tie_arr,
k=0 if ignore_downstream else k,
)
# - stranded intervals
neg_starts1, neg_ends1 = starts1[~along], ends1[~along]
neg_up1, neg_up2 = _closest_intervals_nooverlap(
neg_starts1,
neg_ends1,
starts2,
ends2,
direction="right",
tie_arr=tie_arr,
k=0 if ignore_upstream else k,
)
neg_dn1, neg_dn2 = _closest_intervals_nooverlap(
neg_starts1,
neg_ends1,
starts2,
ends2,
direction="left",
tie_arr=tie_arr,
k=0 if ignore_downstream else k,
)
# Reconstruct original indices (b/c we split ranges by strand above)
pos_ids = np.where(along)[0]
neg_ids = np.where(~along)[0]
pos_up1 = pos_ids[pos_up1]
pos_dn1 = pos_ids[pos_dn1]
neg_dn1 = neg_ids[neg_dn1]
neg_up1 = neg_ids[neg_up1]
# Combine by absolute search direction
left_ids1 = np.concatenate([pos_up1, neg_dn1])
left_ids2 = np.concatenate([pos_up2, neg_dn2])
right_ids1 = np.concatenate([neg_up1, pos_dn1])
right_ids2 = np.concatenate([neg_up2, pos_dn2])
# Increase the distance by 1 to distinguish between overlapping
# and non-overlapping set 2 intervals.
left_dists = starts1[left_ids1] - ends2[left_ids2] + 1
right_dists = starts2[right_ids2] - ends1[right_ids1] + 1
# Combine the results
events1 = np.concatenate([left_ids1, right_ids1, ovids1])
events2 = np.concatenate([left_ids2, right_ids2, ovids2])
dists = np.concatenate(
[left_dists, right_dists, np.zeros(ovids1.shape[0])]
)
if len(events1) == 0:
return np.array([], dtype=int), np.array([], dtype=int)
# Sort by distance to set 1 intervals and, if present, by the tie-breaking
# data array.
if tie_arr is None:
order = np.lexsort([events2, dists, events1])
else:
order = np.lexsort([events2, tie_arr, dists, events1])
events1 = events1[order]
events2 = events2[order]
# Prune the results to the k nearest neighbors
# For each sorted run of set 1 intervals, select up to k entries
run_borders = np.where(np.r_[True, events1[:-1] != events1[1:], True])[0]
run_starts = run_borders[:-1]
run_ends = run_borders[1:]
idx = arange_multi(
run_starts,
lengths=np.minimum(k, run_ends - run_starts),
)
return events1[idx], events2[idx]
def coverage_intervals_rle(starts, ends, weights=None):
n = starts.shape[0]
if weights is None:
weights = np.ones(n, dtype=np.int64)
borders = np.r_[starts, ends]
coverage_change = np.r_[weights, -1 * weights]
borders_order = np.argsort(borders)
borders = borders[borders_order]
coverage = np.cumsum(coverage_change[borders_order])
return borders, coverage
def stack_intervals(starts, ends):
n = starts.shape[0]
borders = np.r_[starts, ends]
lens = np.r_[ends - starts, ends - starts]
border_types = np.r_[np.ones_like(starts), -1 * np.ones_like(ends)]
border_ids = np.r_[np.arange(1, n + 1), -1 * np.arange(1, n + 1)]
border_order = np.lexsort([-lens, border_types, borders])
borders, border_ids = borders[border_order], border_ids[border_order]
occupancy = np.zeros(2, dtype=bool)
levels = -1 * np.ones(n, dtype=np.int64)
for border_id in border_ids:
interval_id = np.abs(border_id) - 1
if border_id > 0:
if occupancy.sum() == occupancy.shape[0]:
occupancy = np.r_[occupancy, np.zeros_like(occupancy)]
new_level = np.where(~occupancy)[0][0]
levels[interval_id] = new_level
occupancy[new_level] = True
if border_id < 0:
occupancy[levels[interval_id]] = False
return levels
open2c-bioframe-4fe9b25/bioframe/core/checks.py 0000664 0000000 0000000 00000035357 14775257723 0021472 0 ustar 00root root 0000000 0000000 import numpy as np
import pandas as pd
from .. import ops
from . import construction
from .specs import _get_default_colnames, _verify_column_dtypes, _verify_columns
__all__ = [
"is_bedframe",
"is_cataloged",
"is_overlapping",
"is_viewframe",
"is_contained",
"is_covering",
"is_tiling",
"is_sorted",
]
def is_bedframe(
df,
raise_errors=False,
cols=None,
):
"""
Checks that required bedframe properties are satisfied for dataframe `df`.
This includes:
- chrom, start, end columns
- columns have valid dtypes
- for each interval, if any of chrom, start, end are null, then all are
null
- all starts < ends.
Parameters
----------
df : pandas.DataFrame
raise_errors : bool, optional [default: False]
If True, raises errors instead of returning a boolean False for invalid
properties.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
Returns
-------
is_bedframe:bool
Notes
-----
Valid dtypes for chrom are object, string, or categorical.
Valid dtypes for start and end are int/Int64Dtype.
"""
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
if not _verify_columns(df, [ck1, sk1, ek1], return_as_bool=True):
if raise_errors:
raise TypeError("Invalid bedFrame: Invalid column names")
return False
if not _verify_column_dtypes(df, cols=[ck1, sk1, ek1], return_as_bool=True):
if raise_errors:
raise TypeError("Invalid bedFrame: Invalid column dtypes")
return False
nan_intervals = pd.isnull(df[[ck1, sk1, ek1]])
if (~(~nan_intervals.any(axis=1) | nan_intervals.all(axis=1))).any():
if raise_errors:
raise ValueError(
"Invalid bedFrame: Invalid null values "
"(if any of chrom, start, end are null, then all must be null)"
)
return False
if ((df[ek1] - df[sk1]) < 0).any():
if raise_errors:
raise ValueError(
f"Invalid bedframe: starts exceed ends for "
f"{sum((df[ek1] - df[sk1]) < 0)} intervals"
)
return False
return True
def is_cataloged(
df, view_df, raise_errors=False, df_view_col="view_region", view_name_col="name"
):
"""
Tests if all region names in `df[df_view_col]` are present in
`view_df[view_name_col]`.
Parameters
----------
df : pandas.DataFrame
view_df : pandas.DataFrame
raise_errors : bool
If True, raises errors instead of returning a boolean False for invalid
properties. Default False.
df_view_col: str
Name of column from df that indicates region in view.
view_name_col: str
Name of column from view that specifies region name.
Returns
-------
is_cataloged:bool
Notes
-----
Does not check if names in `view_df[view_name_col]` are unique.
"""
if not _verify_columns(df, [df_view_col], return_as_bool=True):
if raise_errors:
raise ValueError(f"Could not find `{df_view_col}` column in df")
return False
if not _verify_columns(view_df, [view_name_col], return_as_bool=True):
if raise_errors:
raise ValueError(f"Could not find \
`{view_name_col}` \
column in view_df")
return False
if not set(df[df_view_col].copy().dropna().values).issubset(
set(view_df[view_name_col].values)
):
if raise_errors:
missing_regions = set(df[df_view_col].values).difference(
set(view_df[view_name_col].values)
)
raise ValueError(
f"The following regions in df[df_view_col] not in "
f"view_df[view_name_col]: \n{missing_regions}"
)
return False
return True
def is_overlapping(df, cols=None):
"""
Tests if any genomic intervals in a bioframe `df` overlap.
Also see :func:`bioframe.ops.merge()`.
Parameters
----------
df : pandas.DataFrame
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
Returns
-------
is_overlapping:bool
"""
from ..ops import merge
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
df_merged = merge(df, cols=cols)
total_interval_len = np.sum((df[ek1] - df[sk1]).values)
total_interval_len_merged = np.sum((df_merged[ek1] - df_merged[sk1]).values)
if total_interval_len > total_interval_len_merged:
return True
else:
return False
def is_viewframe(region_df, raise_errors=False, view_name_col="name", cols=None):
"""
Checks that `region_df` is a valid viewFrame.
This includes:
- it satisfies requirements for a bedframe, including columns for
('chrom', 'start', 'end')
- it has an additional column, view_name_col, with default 'name'
- it does not contain null values
- entries in the view_name_col are unique.
- intervals are non-overlapping
Parameters
----------
region_df : pandas.DataFrame
Dataframe of genomic intervals to be tested.
raise_errors : bool
If True, raises errors instead of returning a boolean False for invalid
properties. Default False.
view_name_col : str
Specifies column name of the view regions. Default 'name'.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
Returns
-------
is_viewframe:bool
"""
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
if not _verify_columns(
region_df, [ck1, sk1, ek1, view_name_col], return_as_bool=True
):
if raise_errors:
raise TypeError("Invalid view: invalid column names")
return False
if not is_bedframe(region_df, cols=cols):
if raise_errors:
raise ValueError("Invalid view: not a bedframe")
return False
if pd.isna(region_df).values.any():
if raise_errors:
raise ValueError("Invalid view: cannot contain NAs")
return False
if len(set(region_df[view_name_col])) < len(region_df[view_name_col].values):
if raise_errors:
raise ValueError(
"Invalid view: entries in \
region_df[view_name_col] must be unique"
)
return False
if is_overlapping(region_df, cols=cols):
if raise_errors:
raise ValueError("Invalid view: entries must be non-overlapping")
return False
return True
def is_contained(
df,
view_df,
raise_errors=False,
df_view_col=None,
view_name_col="name",
cols=None,
cols_view=None,
):
"""
Tests if all genomic intervals in a bioframe `df` are cataloged and do not
extend beyond their associated region in the view `view_df`.
Parameters
----------
df : pandas.DataFrame
view_df : pandas.DataFrame
Valid viewframe.
raise_errors : bool
If True, raises errors instead of returning a boolean False for invalid
properties. Default False.
df_view_col:
Column from df used to associate interviews with view regions.
Default `view_region`.
view_name_col:
Column from view_df with view region names. Default `name`.
cols: (str, str, str)
Column names for chrom, start, end in df.
cols_view: (str, str, str)
Column names for chrom, start, end in view_df.
Returns
-------
is_contained:bool
"""
from ..ops import trim
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
ck2, sk2, ek2 = _get_default_colnames() if cols_view is None else cols_view
if df_view_col is None:
try:
df_view_assigned = ops.overlap(df, view_df, cols1=cols, cols2=cols_view)
# ek2 = end_ is the default value
assert (df_view_assigned[ek2 + "_"].isna()).sum() == 0
# sk2 = start_ is the default value
assert (df_view_assigned[sk2 + "_"].isna()).sum() == 0
assert (df_view_assigned[ek1] <= df_view_assigned[ek2 + "_"]).all()
# ek1 = end is the default value
# sk1 = start is the default value
assert (df_view_assigned[sk1] >= df_view_assigned[sk2 + "_"]).all()
except AssertionError as e:
if raise_errors:
raise AssertionError("df not contained in view_df") from e
else:
return False
return True
if not is_cataloged(
df, view_df, df_view_col=df_view_col, view_name_col=view_name_col
):
if raise_errors:
raise ValueError("df not cataloged in view_df")
return False
df_trim = trim(
df,
view_df=view_df,
df_view_col=df_view_col,
view_name_col=view_name_col,
cols=cols,
cols_view=cols_view,
)
is_start_trimmed = np.any(df[sk1].values != df_trim[sk1].values)
is_end_trimmed = np.any(df[ek1].values != df_trim[ek1].values)
if is_start_trimmed or is_end_trimmed:
if raise_errors:
raise ValueError("df not contained in view_df")
return False
else:
return True
def is_covering(df, view_df, view_name_col="name", cols=None, cols_view=None):
"""
Tests if a view `view_df` is covered by the set of genomic intervals in
the bedframe `df`.
This test is true if ``complement(df,view_df)`` is empty. Also note this
test ignores regions assigned to intervals in `df` since regions are
re-assigned in :func:`bioframe.ops.complement`.
Parameters
----------
df : pandas.DataFrame
view_df : pandas.DataFrame
Valid viewFrame.
view_name_col:
Column from view_df with view region names. Default `name`.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
cols_view: (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals in view_df, provided separately for
each set. The default
values are 'chrom', 'start', 'end'.
Returns
-------
is_covering:bool
"""
from ..ops import complement
if complement(
df,
view_df=view_df,
view_name_col=view_name_col,
cols=cols,
cols_view=cols_view,
).empty:
return True
else:
return False
def is_tiling(
df,
view_df,
raise_errors=False,
df_view_col="view_region",
view_name_col="name",
cols=None,
cols_view=None,
):
"""
Tests if a view `view_df` is tiled by the set of genomic intervals in the
bedframe `df`.
This is true if:
- df is not overlapping
- df is covering view_df
- df is contained in view_df
Parameters
----------
df : pandas.DataFrame
view_df : pandas.DataFrame
valid viewFrame
raise_errors : bool
If True, raises errors instead of returning a boolean False for invalid
properties. Default False.
df_view_col: str
Name of column from df that indicates region in view.
view_name_col: str
Name of column from view that specifies unique region name.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
cols_view: (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals in view_df, provided
separately for each set. The default
values are 'chrom', 'start', 'end'.
Returns
-------
is_tiling:bool
"""
view_df = construction.make_viewframe(
view_df, view_name_col=view_name_col, cols=cols_view
)
if is_overlapping(df, cols=cols):
if raise_errors:
raise ValueError("overlaps")
return False
if not is_covering(
df, view_df, view_name_col=view_name_col, cols=cols, cols_view=cols_view
):
if raise_errors:
raise ValueError("not covered")
return False
if not is_contained(
df,
view_df,
df_view_col=df_view_col,
view_name_col=view_name_col,
cols=cols,
cols_view=cols_view,
):
if raise_errors:
raise ValueError("not contained")
return False
return True
def is_sorted(
df,
view_df=None,
reset_index=True,
df_view_col=None,
view_name_col="name",
cols=None,
cols_view=None,
):
"""
Tests if a bedframe is changed by sorting.
Also see :func:`bioframe.ops.sort_bedframe`.
Parameters
----------
df : pandas.DataFrame
view_df : pandas.DataFrame | dict-like
Optional view to pass to ``sort_bedframe``.
When it is dict-like :func:'bioframe.make_viewframe' will
be used to convert to viewframe. If view_df is not provided
df is assumed to be sorted by chrom and start.
reset_index : bool
Optional argument to pass to ``sort_bedframe``.
df_view_col: None | str
Name of column from df that indicates region in view.
If None, :func:'bioframe.assign_view' will be used to assign view
regions. Default None.
view_name_col: str
Name of column from view that specifies unique region name.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
cols_view: (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals in view_df, provided separately for each set.
The default
values are 'chrom', 'start', 'end'.
Returns
-------
is_sorted : bool
"""
from ..ops import sort_bedframe
df_sorted = sort_bedframe(
df.copy(),
view_df=view_df,
reset_index=reset_index,
df_view_col=df_view_col,
view_name_col=view_name_col,
cols=cols,
cols_view=cols_view,
)
if df.equals(df_sorted):
return True
else:
return False
open2c-bioframe-4fe9b25/bioframe/core/construction.py 0000664 0000000 0000000 00000026433 14775257723 0022757 0 ustar 00root root 0000000 0000000 import numpy as np
import pandas as pd
from . import checks
from .specs import _get_default_colnames, _verify_columns, is_chrom_dtype
from .stringops import is_complete_ucsc_string, parse_region_string, to_ucsc_string
__all__ = [
"from_dict",
"from_series",
"from_list",
"from_any",
"make_viewframe",
"sanitize_bedframe",
]
### conversions from various input formats into dataframes ###
def from_dict(regions, cols=None):
"""
Makes a dataframe from a dictionary of {str,int} pairs, interpreted as
chromosome names.
Note that {str,(int,int)} dictionaries of tuples are no longer supported!
Parameters
----------
regions : dict
name_col : str
Default 'name'.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
Returns
-------
df : pandas.DataFrame
"""
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
data = []
for k, v in dict(regions).items():
chrom = k
if np.isscalar(v):
start = 0
end = v
else:
raise ValueError("Unsupported dict format: {type(v)}")
data.append([chrom, start, end])
return pd.DataFrame(data, columns=[ck1, sk1, ek1])
def from_series(regions, cols=None):
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
chroms = regions.index.values
data = {ck1: chroms, sk1: 0, ek1: regions.values}
return pd.DataFrame(data)
def from_list(regions, name_col="name", cols=None):
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
df = pd.DataFrame(regions)
if df.shape[1] == 3:
df.columns = [ck1, sk1, ek1]
elif df.shape[1] == 4:
df.columns = [ck1, sk1, ek1, name_col]
else:
raise ValueError("wrong number of columns for list input format")
return df
def from_ucsc_string_list(region_list, cols=None):
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
parsed = [parse_region_string(i) for i in region_list]
df = pd.DataFrame(parsed, columns=[ck1, sk1, ek1])
return df
def from_any(regions, fill_null=False, name_col="name", cols=None):
"""
Attempts to make a genomic interval dataframe with columns
[chr, start, end, name_col] from a variety of input types.
Parameters
----------
regions : supported input
Currently supported inputs:
- dataframe
- series of UCSC strings
- dictionary of {str:int} key value pairs
- pandas series where the index is interpreted as chromosomes and
values are interpreted as end
- list of tuples or lists, either [(chrom,start,end)] or
[(chrom,start,end,name)]
- tuple of tuples or lists, either [(chrom,start,end)] or
[(chrom,start,end,name)]
fill_null : False or dictionary
Accepts a dictionary of {str:int} pairs, interpreted as chromosome sizes.
Kept or backwards compatibility. Default False.
name_col : str
Column name. Only used if 4 column list is provided. Default "name".
cols : (str,str,str)
Names for dataframe columns.
Default None sets them with get_default_colnames().
Returns
-------
out_df:dataframe
"""
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
if isinstance(regions, pd.DataFrame):
if {ck1, sk1, ek1}.issubset(regions.columns):
out_df = regions.copy()
elif (len(regions[name_col].values.shape) == 1) and is_complete_ucsc_string(
regions[name_col].values[0]
):
out_df = from_ucsc_string_list(
regions[name_col].values, cols=[ck1, sk1, ek1]
)
else:
raise ValueError("Unknown dataFrame format: check column names")
elif isinstance(regions, dict):
out_df = from_dict(regions, cols=[ck1, sk1, ek1])
elif isinstance(regions, pd.Series):
out_df = from_series(regions, cols=[ck1, sk1, ek1])
elif isinstance(regions, tuple):
if np.shape(regions) == (3,):
out_df = from_list([regions], name_col=name_col, cols=[ck1, sk1, ek1])
elif len(np.shape(regions)) == 1 and isinstance(regions[0], str):
out_df = from_ucsc_string_list(regions, cols=[ck1, sk1, ek1])
else:
out_df = from_list(list(regions), name_col=name_col, cols=[ck1, sk1, ek1])
elif isinstance(regions, list):
if np.shape(regions) == (3,):
out_df = from_list([regions], name_col=name_col, cols=[ck1, sk1, ek1])
elif len(np.shape(regions)) == 1 and isinstance(regions[0], str):
out_df = from_ucsc_string_list(regions, cols=[ck1, sk1, ek1])
else:
out_df = from_list(regions, name_col=name_col, cols=[ck1, sk1, ek1])
else:
raise ValueError(f"Unknown input format: {type(regions)}")
if fill_null:
out_df[sk1] = pd.to_numeric(out_df[sk1]).fillna(0)
try:
ends = []
for i in range(len(out_df)):
if out_df[ek1].values[i] is None:
ends.append(fill_null[out_df[ck1].values[i]])
else:
ends.append(out_df[ek1].values[i])
out_df[ek1] = ends
except Exception as e:
raise ValueError("could not fill ends with provided chromsizes") from e
return out_df
def add_ucsc_name_column(reg_df, name_col="name", cols=None):
"""
Auto-creates a UCSC name 'chrom:start-end' for each region
(chrom,start,end) in reg_df.
Replaces name_col if it exists.
"""
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
df = reg_df.copy()
_verify_columns(df, [ck1, sk1, ek1])
data = zip(df[ck1], df[sk1], df[ek1])
df[name_col] = [to_ucsc_string(i) for i in data]
return df
def make_viewframe(
regions,
check_bounds=None,
name_style=None,
view_name_col="name",
cols=None,
):
"""
Makes and validates a dataframe `view_df` out of regions.
Parameters
----------
regions : supported input type
Currently supported input types:
- a dictionary where keys are strings and values are integers
{str:int}, specifying regions (chrom, 0, end, chrom)
- a pandas series of chromosomes lengths with index specifying region names
- a list of tuples [(chrom,start,end), ...] or [(chrom,start,end,name), ...]
- a pandas DataFrame, skips to validation step
name_style : None or "ucsc"
If None and no column view_name_col, propagate values from cols[0]
If "ucsc" and no column view_name_col, create UCSC style names
check_bounds : None, or chromosome sizes provided as any of valid formats above
Optional, if provided checks if regions in the view are contained by
regions supplied in check_bounds, typically provided as a series of
chromosome sizes. Default None.
view_name_col : str
Specifies column name of the view regions. Default 'name'.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
Returns
-------
view_df:dataframe satisfying properties of a view
"""
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
view_df = from_any(regions, name_col=view_name_col, cols=cols)
if check_bounds is not None:
bounds_df = from_any(check_bounds, name_col="bounds", cols=cols)
if not checks.is_contained(
view_df,
bounds_df,
df_view_col=None,
view_name_col="bounds",
cols=cols,
):
raise ValueError(
"Invalid input to make a viewFrame, regions not contained by bounds"
)
if view_name_col not in view_df.columns:
if name_style is None:
view_df[view_name_col] = view_df[ck1].values
elif name_style.lower() == "ucsc":
view_df = add_ucsc_name_column(view_df, name_col=view_name_col, cols=cols)
else:
raise ValueError("unknown value for name_style")
if checks.is_viewframe(
view_df, view_name_col=view_name_col, cols=cols, raise_errors=True
):
return view_df
else:
raise ValueError("could not make valid viewFrame, retry with new input")
def sanitize_bedframe(
df1,
recast_dtypes=True,
drop_null=False,
start_exceed_end_action=None,
cols=None,
):
"""
Attempts to clean a genomic interval dataframe to be a valid bedframe.
Parameters
----------
df1 : pandas.DataFrame
recast_dtypes : bool
Whether to attempt to recast column dtypes to pandas nullable dtypes.
drop_null : bool
Drops rows with pd.NA. Default False.
start_exceed_end_action : str or None
Options: 'flip' or 'drop' or None. Default None.
- If 'flip', attempts to sanitize by flipping intervals with start>end.
- If 'drop' attempts to sanitize dropping intervals with start>end.
- If None, does not alter these intervals if present.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
Returns
-------
out_df : pandas.DataFrame
Sanitized dataframe satisfying the properties of a bedframe.
Notes
------
The option ``start_exceed_end_action='flip'`` may be useful for gff files
with strand information but starts > ends.
"""
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
out_df = df1.copy()
_verify_columns(out_df, [ck1, sk1, ek1])
if recast_dtypes:
chrom_dtype, start_dtype, end_dtype = out_df.dtypes[[ck1, sk1, ek1]]
if not is_chrom_dtype(chrom_dtype):
out_df[ck1] = out_df[ck1].astype(str)
if not ((start_dtype is pd.Int64Dtype()) and (end_dtype is pd.Int64Dtype())):
out_df[sk1] = out_df[sk1].astype(pd.Int64Dtype())
out_df[ek1] = out_df[ek1].astype(pd.Int64Dtype())
nan_intervals = pd.isnull(out_df[[ck1, sk1, ek1]]).any(axis=1)
out_df.loc[nan_intervals, [ck1, sk1, ek1]] = pd.NA
if drop_null:
out_df.dropna(axis=0, inplace=True)
out_df.reset_index(drop=True, inplace=True)
if start_exceed_end_action is not None:
start_exceed_end_action = start_exceed_end_action.lower()
if ((out_df[ek1] - out_df[sk1]) < 0).any():
inds = ((out_df[ek1] - out_df[sk1]) < 0).values
if start_exceed_end_action == "drop":
out_df = out_df.loc[inds == 0]
elif start_exceed_end_action == "flip":
out_df.loc[inds, [sk1, ek1]] = out_df.loc[inds, [ek1, sk1]].values
else:
raise ValueError("unknown action for intervals with start>end")
out_df.reset_index(drop=True, inplace=True)
if checks.is_bedframe(out_df, cols=cols):
return out_df
else:
raise ValueError("could not sanitize")
open2c-bioframe-4fe9b25/bioframe/core/specs.py 0000664 0000000 0000000 00000010507 14775257723 0021335 0 ustar 00root root 0000000 0000000 import collections
import numpy as np
import pandas as pd
__all__ = [
"update_default_colnames",
"is_chrom_dtype",
]
_rc = {"colnames": {"chrom": "chrom", "start": "start", "end": "end"}}
def _get_default_colnames():
"""
Returns default column names.
These defaults be updated with :func:`update_default_colnames`.
Returns
-------
colnames : triplet (str, str, str)
"""
return _rc["colnames"]["chrom"], _rc["colnames"]["start"], _rc["colnames"]["end"]
class update_default_colnames:
def __init__(self, new_colnames):
self._old_colnames = dict(_rc["colnames"])
if isinstance(new_colnames, collections.abc.Iterable):
if len(new_colnames) != 3:
raise ValueError(
"Please, specify new columns using a list of "
"3 strings or a dict!"
)
(
_rc["colnames"]["chrom"],
_rc["colnames"]["start"],
_rc["colnames"]["end"],
) = new_colnames
elif isinstance(new_colnames, collections.abc.Mapping):
_rc["colnames"].update(
{
k: v
for k, v in new_colnames.items()
if k in ["chrom", "start", "end"]
}
)
else:
raise ValueError(
"Please, specify new columns using a list of " "3 strings or a dict!"
)
def __enter__(self):
return self
def __exit__(self, *args):
_rc["colnames"] = self._old_colnames
def _verify_columns(df, colnames, unique_cols=False, return_as_bool=False):
"""
Raises ValueError if columns with colnames are not present in dataframe df.
Parameters
----------
df: pandas.DataFrame
colnames: list of column names
return_as_bool : bool
If True, returns as a boolean instead of raising errors. Default False.
"""
if not isinstance(df, pd.DataFrame):
if return_as_bool:
return False
raise ValueError("df is not a dataframe")
if unique_cols:
if len(set(colnames)) < len(colnames):
raise ValueError("column names must be unique")
if not set(colnames).issubset(df.columns):
if return_as_bool:
return False
raise ValueError(
", ".join(set(colnames).difference(set(df.columns)))
+ " not in keys of df.columns"
)
if return_as_bool:
return True
def _verify_column_dtypes(df, cols=None, return_as_bool=False):
"""
Checks that dataframe `df` has chrom, start, end columns with valid dtypes.
Raises TypeErrors if cols have invalid dtypes.
Parameters
----------
df : pandas.DataFrame
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
return_as_bool : bool
If true, returns as a boolean instead of raising errors. Default False.
"""
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
if not _verify_columns(df, [ck1, sk1, ek1], return_as_bool=True):
if return_as_bool:
return False
raise ValueError("could not verify columns")
chrom_dtype, start_dtype, end_dtype = df.dtypes[[ck1, sk1, ek1]]
if not is_chrom_dtype(chrom_dtype):
if return_as_bool:
return False
raise TypeError(
"invalid df['chrom'] dtype, must be object, string, or categorical"
)
if not pd.api.types.is_integer_dtype(start_dtype):
if return_as_bool:
return False
raise TypeError("invalid df['start'] dtype, must be integer")
if not pd.api.types.is_integer_dtype(end_dtype):
if return_as_bool:
return False
raise TypeError("invalid df['end'] dtype, must be integer")
if return_as_bool:
return True
def is_chrom_dtype(chrom_dtype):
"""
Returns True if dtype is any of the allowed bioframe chrom dtypes, False otherwise.
"""
return np.any(
[
pd.api.types.is_string_dtype(chrom_dtype),
pd.api.types.is_object_dtype(chrom_dtype),
isinstance(chrom_dtype, pd.api.types.CategoricalDtype),
]
)
open2c-bioframe-4fe9b25/bioframe/core/stringops.py 0000664 0000000 0000000 00000015406 14775257723 0022253 0 ustar 00root root 0000000 0000000 import re
from typing import Optional, Tuple, Union
import pandas as pd
__all__ = [
"parse_region",
"parse_region_string",
"is_complete_ucsc_string",
"to_ucsc_string",
]
NUMERIC_REGEX = re.compile("([0-9,.]+)")
RANGE_TOKEN_SPEC = [
("HYPHEN", r"-"),
("COORD", r"[0-9,]+(\.[0-9]*)?(?:[a-z]+)?"),
("OTHER", r".+"),
]
RANGE_REGEX = re.compile(
r"\s*" + r"|\s*".join(rf"(?P<{name}>{token})" for name, token in RANGE_TOKEN_SPEC),
re.IGNORECASE,
)
def to_ucsc_string(grange: Tuple[str, int, int]) -> str:
"""
Convert a grange to a UCSC string.
Parameters
----------
grange : tuple or other iterable
chrom, start, end
Returns
-------
str
UCSC-style genomic range string, '{chrom}:{start}-{end}'
"""
return "{}:{}-{}".format(*grange)
def is_complete_ucsc_string(s: str) -> bool:
"""
Returns True if a string can be parsed into a completely informative
(chrom, start, end) format.
Parameters
----------
s : str
Returns
-------
bool
True if able to be parsed and ``end`` is known.
"""
if not isinstance(s, str):
return False
_, _, end = parse_region_string(s)
if end is None:
return False
return True
def _parse_humanized_int(s: str) -> int:
_, value, unit = NUMERIC_REGEX.split(s.replace(",", ""))
# No multiplier unit, just return the integer value
if not len(unit):
return int(value)
# Parse and apply the multiplier. Remaining decimal places are dropped.
value = float(value)
unit = unit.upper().strip()
if unit in ("K", "KB"):
value *= 1_000
elif unit in ("M", "MB"):
value *= 1_000_000
elif unit in ("G", "GB"):
value *= 1_000_000_000
else:
raise ValueError(f"Unknown unit '{unit}'")
return int(value)
def parse_region_string(s: str) -> Tuple[str, int, int]:
"""
Parse a UCSC-style genomic range string into a triple.
Parameters
----------
s : str
UCSC-style genomic range string, e.g. "chr5:10,100,000-30,000,000".
Returns
-------
tuple
(str, int or None, int or None)
See also
--------
parse_region
"""
def _tokenize(s):
for match in RANGE_REGEX.finditer(s):
name = match.lastgroup
yield name, match.group(name)
def _parse_range(token_stream):
name, token = next(token_stream, (None, None))
if name != "COORD":
raise ValueError(f"Expected COORD; got unexpected token: {name}: {token}")
start = _parse_humanized_int(token)
name, token = next(token_stream, (None, None))
if name != "HYPHEN":
raise ValueError(f"Expected HYPHEN; got unexpected token: {name}: {token}")
name, token = next(token_stream, (None, None))
if name is None: # No end coordinate
end = None
elif name == "COORD":
end = _parse_humanized_int(token)
else:
raise ValueError(f"Expected COORD; got unexpected token: {name}: {token}")
return start, end
parts = s.split(":")
chrom = parts[0].strip()
if not len(chrom):
raise ValueError("Chromosome name cannot be empty")
if len(parts) < 2:
return (chrom, None, None)
start, end = _parse_range(_tokenize(parts[1]))
return chrom, start, end
def _parse_region_record(grange: tuple) -> Tuple[str, int, int]:
"""
Coerce a genomic range record into a triple.
Parameters
----------
grange : str or tuple
* A triple (chrom, start, end), where ``start`` or ``end`` may be
``None``.
* A quadruple or higher-order tuple, e.g. (chrom, start, end, name).
``name`` and other fields will be ignored.
Returns
-------
tuple
A well-formed genomic range triple (str, int, int).
"""
if len(grange) < 3:
raise ValueError("Length of a range record should be at least 3")
chrom, start, end = grange[:3]
chrom = str(chrom)
start = int(start) if start is not None else start
end = int(end) if end is not None else end
return chrom, start, end
def parse_region(
grange: Union[str, tuple],
chromsizes: Optional[Union[dict, pd.Series]] = None,
*,
check_bounds: bool = True,
) -> Tuple[str, int, int]:
"""
Coerce a genomic range string or sequence type into a triple.
Parameters
----------
grange : str or tuple
* A UCSC-style genomic range string, e.g. "chr5:10,100,000-30,000,000".
* A triple (chrom, start, end), where ``start`` or ``end`` may be
``None``.
* A quadruple or higher-order tuple, e.g. (chrom, start, end, name).
``name`` and other fields will be ignored.
chromsizes : dict or Series, optional
Lookup table of sequence lengths for bounds checking and for
filling in a missing end coordinate.
check_bounds : bool, optional [default: True]
If True, check that the genomic range is within the bounds of the
sequence.
Returns
-------
tuple
A well-formed genomic range triple (str, int, int).
Notes
-----
Genomic ranges are interpreted as half-open intervals (0-based starts,
1-based ends) along the length coordinate of a sequence.
Sequence names may contain any character except for whitespace and colon.
The start coordinate should be 0 or greater and the end coordinate should
be less than or equal to the length of the sequence, if the latter is
known. These are enforced when ``check_bounds`` is ``True``.
If the start coordinate is missing, it is assumed to be 0. If the end
coordinate is missing and chromsizes are provided, it is replaced with the
length of the sequence.
The end coordinate **must** be greater than or equal to the start.
The start and end coordinates may be suffixed with k(b), M(b), or G(b)
multipliers, case-insentive. e.g. "chr1:1K-2M" is equivalent to
"chr1:1000-2000000".
"""
if isinstance(grange, str):
chrom, start, end = parse_region_string(grange)
else:
chrom, start, end = _parse_region_record(grange)
# Fill in missing end coordinate if possible
clen = None
if chromsizes is not None:
try:
clen = chromsizes[chrom]
except KeyError as e:
raise ValueError(f"Unknown sequence label: {chrom}") from e
if end is None:
end = clen
# Fill in missing start coordinate
if start is None:
start = 0
if end is not None and (end < start):
raise ValueError("End cannot be less than start")
if check_bounds and (start < 0 or (clen is not None and end > clen)):
raise ValueError(f"Genomic range out of bounds: [{start}, {end})")
return chrom, start, end
open2c-bioframe-4fe9b25/bioframe/extras.py 0000664 0000000 0000000 00000053121 14775257723 0020575 0 ustar 00root root 0000000 0000000 from __future__ import annotations
import numpy as np
import pandas as pd
from . import ops
from .core.specs import _get_default_colnames, _verify_columns
__all__ = [
"make_chromarms",
"binnify",
"digest",
"frac_mapped",
"frac_gc",
"seq_gc",
"frac_gene_coverage",
"pair_by_distance",
"mark_runs",
"merge_runs"
]
def make_chromarms(
chromsizes,
midpoints,
cols_chroms=("chrom", "length"),
cols_mids=("chrom", "mid"),
suffixes=("_p", "_q"),
):
"""
Split chromosomes into chromosome arms.
Parameters
----------
chromsizes : pandas.Dataframe or dict-like
If dict or pandas.Series, a map from chromosomes to lengths in bp.
If pandas.Dataframe, a dataframe with columns defined by cols_chroms.
If cols_chroms is a triplet (e.g. 'chrom','start','end'), then
values in chromsizes[cols_chroms[1]].values must all be zero.
midpoints : pandas.Dataframe or dict-like
Mapping of chromosomes to midpoint (aka centromere) locations.
If dict or pandas.Series, a map from chromosomes to midpoints in bp.
If pandas.Dataframe, a dataframe with columns defined by cols_mids.
cols_chroms : (str, str) or (str, str, str)
Two columns
suffixes : tuple, optional
Suffixes to name chromosome arms. Defaults to p and q.
Returns
-------
df_chromarms
4-column BED-like DataFrame (chrom, start, end, name).
Arm names are chromosome names + suffix.
Any chromosome not included in ``mids`` will be not be split.
"""
columns_to_drop = ["index", "sub_index_"]
if len(cols_chroms) == 2:
ck1, sk1 = cols_chroms
elif len(cols_chroms) == 3:
ck1, sk1, ek1 = cols_chroms
if isinstance(chromsizes, (pd.Series, dict)):
chromsizes = dict(chromsizes)
df_chroms = pd.DataFrame(
{
ck1: list(chromsizes.keys()),
"length": list(chromsizes.values()),
}
)
elif isinstance(chromsizes, pd.DataFrame):
df_chroms = chromsizes.copy()
else:
raise ValueError("unknown input type for chromsizes")
if len(cols_chroms) == 2:
_verify_columns(df_chroms, [ck1, sk1])
columns_to_drop += [sk1]
df_chroms["end"] = df_chroms[sk1].values
df_chroms["start"] = 0
sk1, ek1 = "start", "end"
elif len(cols_chroms) == 3:
ck1, sk1, ek1 = cols_chroms
_verify_columns(df_chroms, [ck1, sk1, ek1], unique_cols=True)
if any(df_chroms[sk1].values != 0):
raise ValueError("all values in starts column must be zero")
else:
raise ValueError("invalid number of cols_chroms")
ck2, sk2 = cols_mids
if isinstance(midpoints, (pd.Series, dict)):
midpoints = dict(midpoints)
df_mids = pd.DataFrame.from_dict(midpoints, orient="index", columns=[sk2])
df_mids.reset_index(inplace=True)
df_mids.rename(columns={"index": ck2}, inplace=True)
elif isinstance(midpoints, pd.DataFrame):
df_mids = midpoints.copy()
else:
raise ValueError("unknown input type for midpoints")
_verify_columns(df_mids, [ck2, sk2])
df_mids["start"] = df_mids[sk2]
df_mids["end"] = df_mids[sk2]
df_chromarms = ops.subtract(
df_chroms,
df_mids,
cols1=(ck1, sk1, ek1),
cols2=(ck2, "start", "end"),
return_index=True,
)
if df_chromarms["sub_index_"].max() > 1:
raise ValueError(
"chromosome split into more than two arms, double-check midpoints"
)
df_chromarms["name"] = df_chromarms[ck1] + [
suffixes[i] for i in df_chromarms["sub_index_"].values
]
# df_chromarms.drop(columns=columns_to_drop, inplace=True)
return df_chromarms[[ck1, sk1, ek1, "name"]]
def binnify(chromsizes, binsize, rel_ids=False):
"""
Divide a genome into evenly sized bins.
Parameters
----------
chromsizes : Series
pandas Series indexed by chromosome name with chromosome lengths in bp.
binsize : int
size of bins in bp
Returns
-------
bintable : pandas.DataFrame with columns: 'chrom', 'start', 'end'.
"""
if not isinstance(binsize, int):
raise ValueError("binsize must be int")
def _each(chrom):
clen = chromsizes[chrom]
n_bins = int(np.ceil(clen / binsize))
binedges = np.arange(0, (n_bins + 1)) * binsize
binedges[-1] = clen
return pd.DataFrame(
{"chrom": [chrom] * n_bins, "start": binedges[:-1], "end": binedges[1:]},
columns=["chrom", "start", "end"],
)
bintable = pd.concat(map(_each, chromsizes.keys()), axis=0, ignore_index=True)
if rel_ids:
bintable["rel_id"] = bintable.groupby("chrom").cumcount()
# if as_cat:
# bintable['chrom'] = pd.Categorical(
# bintable['chrom'],
# categories=list(chromsizes.keys()),
# ordered=True)
return bintable
def digest(fasta_records, enzyme):
"""
Divide a genome into restriction fragments.
Parameters
----------
fasta_records : OrderedDict
Dictionary of chromosome names to sequence records.
Created by: bioframe.load_fasta('/path/to/fasta.fa')
enzyme: str
Name of restriction enzyme.
Returns
-------
Dataframe with columns: 'chrom', 'start', 'end'.
"""
try:
import Bio.Restriction as biorst
import Bio.Seq as bioseq
except ImportError:
raise ImportError("Biopython is required to use digest") from None
# http://biopython.org/DIST/docs/cookbook/Restriction.html#mozTocId447698
if not isinstance(fasta_records, dict):
raise ValueError(
"fasta records must be provided as an OrderedDict, can be created "
"by bioframe.load_fasta"
)
chroms = fasta_records.keys()
try:
cut_finder = getattr(biorst, enzyme).search
except AttributeError as e:
raise ValueError(f"Unknown enzyme name: {enzyme}") from e
def _each(chrom):
seq = bioseq.Seq(str(fasta_records[chrom][:]))
cuts = np.r_[0, np.array(cut_finder(seq)) + 1, len(seq)].astype(np.int64)
n_frags = len(cuts) - 1
frags = pd.DataFrame(
{"chrom": [chrom] * n_frags, "start": cuts[:-1], "end": cuts[1:]},
columns=["chrom", "start", "end"],
)
return frags
return pd.concat(map(_each, chroms), axis=0, ignore_index=True)
def frac_mapped(df, fasta_records, return_input=True):
"""
Calculate the fraction of mapped base-pairs for each interval in a dataframe.
Parameters
----------
df : pandas.DataFrame
A sets of genomic intervals stored as a DataFrame.
fasta_records : OrderedDict
Dictionary of chromosome names to sequence records.
Created by: bioframe.load_fasta('/path/to/fasta.fa')
return_input: bool
if False, only return Series named frac_mapped.
Returns
-------
df_mapped : pd.DataFrame
Original dataframe with new column 'frac_mapped' appended.
"""
if not set(df["chrom"].values).issubset(set(fasta_records.keys())):
raise ValueError(
"chrom from intervals not in fasta_records: "
"double-check genome agreement"
)
if not isinstance(fasta_records, dict):
raise ValueError(
"fasta records must be provided as an OrderedDict, can be created "
"by bioframe.load_fasta"
)
def _each(bin):
s = str(fasta_records[bin.chrom][bin.start : bin.end])
nbases = len(s)
n = s.count("N")
n += s.count("n")
return (nbases - n) / nbases if nbases > 0 else 0
if return_input:
return pd.concat(
[df, df.apply(_each, axis=1).rename("frac_mapped", inplace=True)],
axis="columns",
)
else:
return df.apply(_each, axis=1).rename("frac_mapped", inplace=True)
def frac_gc(df, fasta_records, mapped_only=True, return_input=True):
"""
Calculate the fraction of GC basepairs for each interval in a dataframe.
Parameters
----------
df : pandas.DataFrame
A sets of genomic intervals stored as a DataFrame.
fasta_records : OrderedDict
Dictionary of chromosome names to sequence records.
Created by: bioframe.load_fasta('/path/to/fasta.fa')
mapped_only: bool
if True, ignore 'N' in the fasta_records for calculation.
if True and there are no mapped base-pairs in an interval, return np.nan.
return_input: bool
if False, only return Series named frac_mapped.
Returns
-------
df_mapped : pd.DataFrame
Original dataframe with new column 'GC' appended.
"""
if not set(df["chrom"].values).issubset(set(fasta_records.keys())):
raise ValueError(
"chrom from intervals not in fasta_records: double-check genome agreement"
)
if not isinstance(fasta_records, dict):
raise ValueError(
"fasta records must be provided as an OrderedDict, can be created "
"by bioframe.load_fasta"
)
def _each(chrom_group):
chrom = chrom_group.name
seq = fasta_records[chrom]
seq = str(seq[:])
gc = []
for _, bin in chrom_group.iterrows():
s = seq[bin["start"] : bin["end"]]
gc.append(seq_gc(s, mapped_only=mapped_only))
return gc
agg = df.groupby("chrom", sort=False)[["start", "end"]].apply(_each)
out_col = pd.Series(data=np.concatenate(agg.values), index=df.index).rename("GC")
if return_input:
return pd.concat([df, out_col], axis="columns")
else:
return out_col
def seq_gc(seq, mapped_only=True):
"""
Calculate the fraction of GC basepairs for a string of nucleotides.
Parameters
----------
seq : str
Basepair input
mapped_only: bool
if True, ignore 'N' in the sequence for calculation.
if True and there are no mapped base-pairs, return np.nan.
Returns
-------
gc : float
calculated gc content.
"""
if not isinstance(seq, str):
raise ValueError("reformat input sequence as a str")
g = seq.count("G")
g += seq.count("g")
c = seq.count("C")
c += seq.count("c")
nbases = len(seq)
if mapped_only:
n = seq.count("N")
n += seq.count("n")
nbases -= n
return (g + c) / nbases if nbases > 0 else np.nan
def frac_gene_coverage(df, ucsc_mrna):
"""
Calculate number and fraction of overlaps by predicted and verified
RNA isoforms for a set of intervals stored in a dataframe.
Parameters
----------
df : pd.DataFrame
Set of genomic intervals stored as a dataframe.
ucsc_mrna: str or DataFrame
Name of UCSC genome or all_mrna.txt dataframe from UCSC or similar.
Returns
-------
df_gene_coverage : pd.DataFrame
"""
if isinstance(ucsc_mrna, str):
from .io.resources import UCSCClient
mrna = UCSCClient(ucsc_mrna).fetch_mrna()
else:
mrna = ucsc_mrna
mrna = mrna.rename(columns={"tName": "chrom", "tStart": "start", "tEnd": "end"})
df_gene_coverage = ops.coverage(df, mrna)
df_gene_coverage = ops.count_overlaps(df_gene_coverage, mrna)
return df_gene_coverage
def pair_by_distance(
df,
min_sep,
max_sep,
min_intervening=None,
max_intervening=None,
relative_to="midpoints",
cols=None,
return_index=False,
keep_order=False,
suffixes=("_1", "_2"),
):
"""
From a dataframe of genomic intervals, find all unique pairs of intervals
that are between ``min_sep`` and ``max_sep`` bp separated from each other.
Parameters
----------
df : pandas.DataFrame
A BED-like dataframe.
min_sep, max_sep : int
Minimum and maximum separation between intervals in bp.
Min > 0 and Max >= Min.
min_intervening, max_intervening : int
Minimum and maximum number of intervening intervals separating pairs.
Min > 0 and Max >= Min.
relative_to : str,
Whether to calculate distances between interval "midpoints" or "endpoints".
Default "midpoints".
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
return_index : bool
If True, return indicies of pairs as two new columns
('index'+suffixes[0] and 'index'+suffixes[1]). Default False.
keep_order : bool, optional
If True, sort the output dataframe to preserve the order
of the intervals in df1. Default False.
Note that it relies on sorting of index in the original dataframes,
and will reorder the output by index.
suffixes : (str, str), optional
The column name suffixes for the two interval sets in the output.
The first interval of each output pair is always upstream of the
second.
Returns
-------
pandas.DataFrame
A BEDPE-like dataframe of paired intervals from ``df``.
"""
# Create the copy of original dataset:
df = df.copy()
# Index column name
index_col = return_index if isinstance(return_index, str) else "index"
index_col_1 = index_col + suffixes[0]
index_col_2 = index_col + suffixes[1]
if return_index or keep_order:
df.index.name = index_col
# Get columns for pairing
ck, sk, ek = _get_default_colnames() if cols is None else cols
# Sort intervals by genomic coordinates
df = df.sort_values([ck, sk, ek]).reset_index(drop=False)
if min_sep >= max_sep:
raise ValueError("min_sep must be less than max_sep")
if min_sep < 0:
raise ValueError("min_sep must be >=0")
if min_intervening is None:
min_intervening = 0
if max_intervening is None:
max_intervening = df.index.max()
if min_intervening > max_intervening:
raise ValueError("min_intervening must be less or equal to max_intervening")
if min_intervening < 0:
raise ValueError("min_intervening must be >=0")
mids = (df[sk] + df[ek]) // 2
# For each interval, generate a probe interval on its right
if relative_to == "endpoints":
print("endpoint")
ref = df[ek]
elif relative_to == "midpoints":
ref = mids
else:
raise ValueError("relative_to must either specify 'midpoints' or 'endpoints' ")
right_probe = (
df[[ck, index_col]].copy() if (return_index or keep_order) else df[[ck]].copy()
)
right_probe[sk] = ref + min_sep // 2
right_probe[ek] = ref + (max_sep + 1) // 2
# For each interval, also generate a probe interval on its left
if relative_to == "endpoints":
ref = df[sk]
elif relative_to == "midpoints":
ref = mids
else:
raise ValueError("relative_to must either specify 'midpoints' or 'endpoints' ")
left_probe = (
df[[ck, index_col]].copy() if (return_index or keep_order) else df[[ck]].copy()
)
left_probe[sk] = ref - max_sep // 2
left_probe[ek] = ref - (min_sep + 1) // 2
# Intersect right-handed probes (from intervals on the left)
# with left-handed probes (from intervals on the right)
idxs = ops.overlap(
right_probe,
left_probe,
suffixes=suffixes,
how="inner",
return_index=True,
return_input=False,
)
# Select only the pairs that are separated by
# at least min_intervening intervals and no more than max_intervening intervals
idxs["intervening"] = (
np.abs(idxs[f"index{suffixes[0]}"] - idxs[f"index{suffixes[1]}"]) - 1
)
idxs = idxs[
(idxs["intervening"] <= max_intervening)
& (idxs["intervening"] >= min_intervening)
]
left_ivals = (
df.iloc[idxs[f"index{suffixes[0]}"].values]
.rename(columns=lambda x: x + suffixes[0])
.reset_index(drop=True)
)
right_ivals = (
df.iloc[idxs[f"index{suffixes[1]}"].values]
.rename(columns=lambda x: x + suffixes[1])
.reset_index(drop=True)
)
out_df = pd.concat([left_ivals, right_ivals], axis=1)
if keep_order:
out_df = out_df.sort_values([index_col_1, index_col_2])
if not return_index:
out_df = out_df.drop([index_col_1, index_col_2], axis=1)
out_df.reset_index(drop=True, inplace=True)
return out_df
def mark_runs(
df: pd.DataFrame,
col: str,
*,
allow_overlaps: bool = False,
reset_counter: bool = True,
run_col: str = 'run',
cols: tuple[str, str, str] | None = None,
) -> pd.DataFrame:
"""
Mark runs of spatially consecutive intervals sharing the same value of
``col``.
Parameters
----------
df : DataFrame
A bioframe dataframe.
col : str
The column to mark runs of values for.
allow_overlaps : bool, optional [default: False]
If True, allow intervals in ``df`` to overlap. This may cause
unexpected results.
reset_counter : bool, optional [default: True]
If True, reset the run counter for each chromosome.
run_col : str, optional [default: 'run']
The name of the column to store the run numbers in.
Returns
-------
pandas.DataFrame
A reordered copy the input dataframe with an additional column 'run'
marking runs of values in the input column.
Notes
-----
This is similar to :func:`cluster`, but only clusters intervals sharing
the same value of ``col``.
Examples
--------
>>> df = pd.DataFrame({
... 'chrom': ['chr1', 'chr1', 'chr1', 'chr1', 'chr1', 'chr1'],
... 'start': [0, 100, 200, 300, 400, 500],
... 'end': [100, 200, 300, 400, 500, 600],
... 'value': [1, 1, 1, 2, 2, 2],
... })
>>> mark_runs(df, 'value')
chrom start end value run
0 chr1 0 100 1 0
1 chr1 100 200 1 0
2 chr1 200 300 1 0
3 chr1 300 400 2 1
4 chr1 400 500 2 1
5 chr1 500 600 2 1
See Also
--------
merge_runs
cluster
merge
"""
ck, sk, ek = _get_default_colnames() if cols is None else cols
if not allow_overlaps and len(ops.overlap(df, df)) > len(df):
raise ValueError("Not a proper bedGraph: found overlapping intervals.")
result = []
n_runs = 0
for _, group in df.groupby(ck, sort=False):
group = group.sort_values([sk, ek])
starts = group[sk].to_numpy()
ends = group[ek].to_numpy()
# Extend ends by running max
ends = np.maximum.accumulate(ends)
# Find borders of interval clusters and assign cluster ids
is_cluster_border = np.r_[True, starts[1:] > ends[:-1], False]
# Find borders of consecutive equal values
values = group[col].to_numpy()
if values.dtype.kind == 'f':
is_value_border = np.r_[
True,
~np.isclose(values[1:], values[:-1], equal_nan=True),
False
]
else:
is_value_border = np.r_[True, values[1:] != values[:-1], False]
# Find index extents of runs
is_border = is_cluster_border | is_value_border
sum_borders = np.cumsum(is_border)
run_ids = sum_borders[:-1] - 1
# Assign run numbers to intervals
if reset_counter:
n_runs = 0
group[run_col] = n_runs + run_ids
n_runs += sum_borders[-1]
result.append(group)
return pd.concat(result)
def merge_runs(
df: pd.DataFrame,
col: str,
*,
allow_overlaps: bool = False,
agg: dict | None = None,
cols: tuple[str, str, str] | None = None,
) -> pd.DataFrame:
"""
Merge runs of spatially consecutive intervals sharing the same value of
``col``.
Parameters
----------
df : DataFrame
A bioframe dataframe.
col : str
The column to compress runs of values for.
allow_overlaps : bool, optional [default: False]
If True, allow intervals in ``df`` to overlap. This may cause
unexpected results.
agg : dict, optional [default: None]
A dictionary of additional column names and aggregation functions to
apply to each run. Takes the format:
{'agg_name': ('column_name', 'agg_func')}
Returns
-------
pandas.DataFrame
Dataframe with consecutive intervals in the same run merged.
Notes
-----
This is similar to :func:`merge`, but only merges intervals sharing
the same value of ``col``.
Examples
--------
>>> df = pd.DataFrame({
... 'chrom': ['chr1', 'chr1', 'chr1', 'chr1', 'chr1', 'chr1'],
... 'start': [0, 100, 200, 300, 400, 500],
... 'end': [100, 200, 300, 400, 500, 600],
... 'value': [1, 1, 1, 2, 2, 2],
... })
>>> merge_runs(df, 'value')
chrom start end value
0 chr1 0 300 1
1 chr1 300 600 2
>>> merge_runs(df, 'value', agg={'sum': ('value', 'sum')})
chrom start end value sum
0 chr1 0 300 1 3
1 chr1 300 600 2 6
See Also
--------
mark_runs
cluster
merge
"""
ck, sk, ek = _get_default_colnames() if cols is None else cols
if agg is None:
agg = {}
df_runs = mark_runs(
df,
col,
allow_overlaps=allow_overlaps,
reset_counter=False,
run_col='_run',
)
df_merged = (
df_runs
.groupby('_run')
.agg(**{
ck: (ck, 'first'),
sk: (sk, 'min'),
ek: (ek, 'max'),
col: (col, 'first'),
**agg
})
)
return df_merged.reset_index(drop=True)
open2c-bioframe-4fe9b25/bioframe/io/ 0000775 0000000 0000000 00000000000 14775257723 0017322 5 ustar 00root root 0000000 0000000 open2c-bioframe-4fe9b25/bioframe/io/__init__.py 0000664 0000000 0000000 00000001367 14775257723 0021442 0 ustar 00root root 0000000 0000000 from .assembly import assemblies_available, assembly_info
from .bed import to_bed
from .fileops import (
load_fasta,
read_alignments,
read_bam,
read_bigbed,
read_bigwig,
read_chromsizes,
read_pairix,
read_tabix,
read_table,
to_bigbed,
to_bigwig,
)
from .resources import UCSCClient, fetch_centromeres, fetch_chromsizes
from .schemas import SCHEMAS
__all__ = [
"assemblies_available",
"assembly_info",
"read_table",
"read_chromsizes",
"read_tabix",
"read_pairix",
"read_bam",
"read_alignments",
"load_fasta",
"read_bigwig",
"to_bed",
"to_bigwig",
"read_bigbed",
"to_bigbed",
"UCSCClient",
"fetch_centromeres",
"fetch_chromsizes",
"SCHEMAS",
]
open2c-bioframe-4fe9b25/bioframe/io/assembly.py 0000664 0000000 0000000 00000013043 14775257723 0021514 0 ustar 00root root 0000000 0000000 from dataclasses import dataclass
try:
from importlib.resources import files as resource_path
except ImportError:
from importlib_resources import files as resource_path
from typing import Dict, List, Optional, Tuple, Union
try:
from typing import Literal
except ImportError:
from typing_extensions import Literal
import numpy as np
import pandas as pd
import yaml
from bioframe import make_viewframe
__all__ = ["assemblies_available", "assembly_info"]
ASSEMBLY_METADATA_ROOT = resource_path("bioframe.io") / "data"
@dataclass
class GenomeAssembly:
"""
A dataclass containing information about sequences in a genome assembly.
"""
organism: str
provider: str
provider_build: str
release_year: str
seqinfo: pd.DataFrame
cytobands: pd.DataFrame = None
url: str = None
alias_dict: Dict[str, str] = None
def __post_init__(self):
self.alias_dict = {}
alias_lists = self.seqinfo["aliases"].str.split(",")
names = self.seqinfo["name"]
for aliases, name in zip(alias_lists, names):
for alias in aliases:
self.alias_dict[alias] = name
@property
def chromsizes(self) -> pd.Series:
return self.seqinfo.set_index("name")["length"]
@property
def chromnames(self) -> List[str]:
return self.seqinfo["name"].tolist()
@property
def viewframe(self) -> pd.DataFrame:
return make_viewframe(self.chromsizes.to_dict())
def __repr__(self) -> str:
return (
f"GenomeAssembly(organism='{self.organism}', provider='{self.provider}', "
f"provider_build='{self.provider_build}', "
f"release_year='{self.release_year}', ...)"
)
def assemblies_available() -> pd.DataFrame:
"""
Get a list of available genome assembly metadata in local storage.
Returns
-------
pandas.DataFrame
A dataframe with metadata fields for available assemblies, including
'provider', 'provider_build', 'default_roles', 'default_units',
and names of seqinfo and cytoband files.
"""
with open(ASSEMBLY_METADATA_ROOT / "_assemblies.yml") as f:
assemblies = yaml.safe_load(f)
return pd.DataFrame.from_records(assemblies)
def assembly_info(
name: str,
roles: Optional[Union[List, Tuple, Literal["all"]]] = None,
units: Optional[Union[List, Tuple, Literal["all"]]] = None,
) -> GenomeAssembly:
"""
Get information about a genome assembly.
Parameters
----------
name : str
Name of the assembly. If the name contains a dot, it is interpreted as
a provider name and a build, e.g. "hg38". Otherwise, the provider
is inferred if the build name is unique.
roles : list or tuple or "all", optional
Sequence roles to include in the assembly info. If not specified, only
sequences with the default sequence roles for the assembly are shown.
e.g. "assembled", "unlocalized", "unplaced"
units : list or tuple or "all", optional
Assembly units to include in the assembly info. If not specified, only
sequences from the default units for the assembly are shown.
e.g. "primary", "non-nuclear", "decoy"
Returns
-------
GenomeAssembly
A dataclass containing information about the assembly.
Raises
------
ValueError
If the assembly name is not found or is not unique.
Examples
--------
>>> hg38 = assembly_info("hg38")
>>> hg38.chromsizes
name
chr1 248956422
chr2 242193529
chr3 198295559
... ...
>>> assembly_info("hg38", roles=("assembled", "non-nuclear"))
>>> assembly_info("ucsc.hg38", units=("unplaced",))
"""
assemblies = assemblies_available()
provider = None
if "." in name:
provider, name = name.split(".", 1)
provider = provider.lower()
if provider is None:
q = f"provider_build == '{name}'"
else:
q = f"provider == '{provider}' and provider_build == '{name}'"
result = assemblies.query(q)
if len(result) == 0:
raise ValueError(f"Assembly not found: {name}")
elif len(result) > 1:
raise ValueError(f"Assembly identifer not unique: {result}")
assembly = result.iloc[0].replace([np.nan], [None]).to_dict()
default_roles = assembly["default_roles"]
default_units = assembly["default_units"]
seqinfo_path = assembly["seqinfo"]
seqinfo = pd.read_table(ASSEMBLY_METADATA_ROOT / seqinfo_path)
mask = np.ones(len(seqinfo), dtype=bool)
if roles is None:
mask &= seqinfo["role"].isin(default_roles)
elif isinstance(roles, (tuple, list)):
mask &= seqinfo["role"].isin(roles)
elif isinstance(roles, str) and roles != "all":
raise ValueError(f"roles must be a tuple or 'all', not {roles}")
if units is None:
mask &= seqinfo["unit"].isin(default_units)
elif isinstance(units, (tuple, list)):
mask &= seqinfo["unit"].isin(units)
elif isinstance(units, str) and units != "all":
raise ValueError(f"units must be a tuple or 'all', not {units}")
seqinfo = seqinfo.loc[mask]
cytobands = None
cytobands_path = assembly["cytobands"]
if cytobands_path is not None:
cytobands = pd.read_table(ASSEMBLY_METADATA_ROOT / cytobands_path)
return GenomeAssembly(
organism=assembly["organism"],
provider=assembly["provider"],
provider_build=assembly["provider_build"],
release_year=assembly["release_year"],
seqinfo=seqinfo,
cytobands=cytobands,
url=assembly["url"],
)
open2c-bioframe-4fe9b25/bioframe/io/bed.py 0000664 0000000 0000000 00000056630 14775257723 0020440 0 ustar 00root root 0000000 0000000 """Validate a BED dataframe against the BED specification.
The BED specification is defined here: https://github.com/samtools/hts-specs/blob/master/BEDv1.pdf
Some facts
----------
* Intervals are 0-based, half-open
* Fields use 7-bit printable ASCII, including spaces but excluding tabs,
newlines and other control characters
* Flavors: BED{3,4,5,6,7,8,9,12}+m: m corresponds to custom fields, you
can also do BEDn+ for an unspecified number of custom fields
* First 3 fields are mandatory, last 9 are optional
* BED10 and BED11 are illegal
* Order is "binding": if an optional field is filled then all previous ones
must also be filled
* Standard BED fields can never be empty - must use a special null or
"uninformative" placeholder value
* Custom BED fields can be empty when a single tab is used as delimiter
Delimiters
----------
While the BED spec allows for the use of either spaces or tabs as delimiters,
even permitting a mixture in the same file, we do not validate any of the
whitespace constraints imposed on fields in the spec to deal with the
possibility of either space or mixed whitespace delimiters in the file. We
assume that the dataframe will be written using a single tab as the sole
delimiter, as recommended.
Information we are agnostic to:
- The delimiter used in the file before it was parsed: we work with files that
have already been parsed into a dataframe.
- Comment lines and blank lines: we assume that the dataframe contains only
data lines.
- Custom field names, dtypes, and values.
Information supplied out-of-band:
- Assembly/chromsizes: a dictionary or pandas Series mapping chromosome names
to lengths [optional].
- Custom fields in positions 4-12: which of the first 4 to 12 fields are
provided as standard BED fields and which are custom fields.
Note that the spec is overly strict. For example, many BED files in the wild
will use "." as the uninformative score value for all features, but the spec
requires that the score be an integer between 0-1000. We provide some lenience
by allowing floats as well, which many tools use in practice. The spec defines
the uninformative score value as 0.
We also don't enforce limiting name fields to 7-bit printable ascii.
"""
from __future__ import annotations
import pathlib
import re
import warnings
from typing import Callable
import numpy as np
import pandas as pd
__all__ = ["to_bed"]
UINT64_MAX = np.iinfo(np.uint64).max
# Custom BED fields should contain either one of these data types or a
# comma-separated list of Integer, Unsigned, or Float.
BED_DTYPE_MAP = {
"Integer": np.int64,
"Unsigned": np.uint64,
"Float": np.float64,
"Character": object,
"String": object,
}
BED_FIELD_NAMES = [
"chrom",
"start",
"end",
"name",
"score",
"strand",
"thickStart",
"thickEnd",
"itemRgb",
"blockCount",
"blockSizes",
"blockStarts",
]
BED_FIELD_KINDS = {
"chrom": "OU",
"start": "iu",
"end": "iu",
"name": "OU",
"score": "iuf",
"strand": "OU",
"thickStart": "iu",
"thickEnd": "iu",
"itemRgb": "iOU", # can believe 0 is i
"blockCount": "iu",
"blockSizes": "OU",
"blockStarts": "OU",
}
BED_FIELD_FILLVALUES = {
"chrom": "_",
"start": 0,
"end": 0,
"name": ".",
"score": 0,
"strand": ".",
"itemRgb": "0",
}
BED_FIELD_VALIDATORS = {}
def validator(col: str) -> Callable:
def decorator(func: Callable) -> Callable:
BED_FIELD_VALIDATORS[col] = func
return func
return decorator
@validator("chrom")
def check_chrom(df: pd.DataFrame) -> dict[bool]:
"""
Validate the chromosome names of a BED dataframe.
The chrom column is limited to non-whitespace word characters only
(alphanumeric characters and underscores). Each name must be between 1 and
255 characters in length, inclusive.
"""
# Check that the chrom column contains only alphanumeric characters
is_alnum = df["chrom"].str.match(r"^[A-Za-z0-9_]+$").all()
# Check that the name column is no longer than 255 characters
lengths = df["chrom"].str.len()
is_len_ok = ((lengths >= 1) & (lengths <= 255)).all()
return {
"chrom.is_alnum": is_alnum,
"chrom.is_len_ok": is_len_ok,
}
@validator("start")
def check_start(
df: pd.DataFrame, chromsizes: dict | pd.Series | None = None
) -> dict[bool]:
"""
Validate the start coordinates of a BED dataframe.
Start must be an integer greater than or equal to 0 and less than or equal
to the total number of bases of the chromosome to which it belongs.
If the size of the chromosome is unknown, then start must be less than or
equal to 2**64 - 1, which is the maximum size of an unsigned 64-bit integer.
"""
# Check that the start column contains only non-negative integers
is_nonneg = (df["start"] >= 0).all()
# Check that the start column contains only integers less than 2**64 - 1
is_le_64 = (df["start"] <= UINT64_MAX).all()
out = {
"start.is_nonneg": is_nonneg,
"start.is_le_64": is_le_64,
}
# Check that the start column contains only integers < the chromosome size
if chromsizes is not None:
chromsizes = pd.Series(chromsizes)
is_lt_chrom = (df["end"] < chromsizes[df["chrom"]]).all()
out["start.is_lt_chrom"] = is_lt_chrom
return out
@validator("end")
def check_end(
df: pd.DataFrame, chromsizes: dict | pd.Series | None = None
) -> dict[bool]:
"""
Validate the end coordinates of a BED dataframe.
End must be an integer greater than or equal to the value of start and
less than or equal to the total number of bases in the chromosome to
which it belongs.
If the size of the chromosome is unknown, then end must be less than or
equal to 2**64 - 1, the maximum size of an unsigned 64-bit integer.
"""
# Check that the end column contains only non-negative integers
is_nonneg = (df["end"] >= 0).all()
# Check that the end column contains only integers less than 2**64 - 1
is_le_64 = (df["end"] <= UINT64_MAX).all()
is_end_ge_start = (df["end"] >= df["start"]).all()
out = {
"end.is_nonneg": is_nonneg,
"end.is_le_64": is_le_64,
"end.is_end_ge_start": is_end_ge_start,
}
# Check that the end column contains only integers <= the chromosome size
if chromsizes is not None:
chromsizes = pd.Series(chromsizes)
is_le_chrom = (df["end"] <= chromsizes[df["chrom"]]).all()
out["end.is_le_chrom"] = is_le_chrom
return out
@validator("name")
def check_name(df: pd.DataFrame) -> dict[bool]:
"""
Validate the name column of a BED dataframe.
Name must be 1 to 255 non-tab characters. Multiple data lines may share
the same name. If all features have uninformative names, dot (.) may be
used as a name on every data line.
"""
# Check that the name column is no longer than 255 characters
lengths = df["name"].str.len()
is_len_ok = ((lengths >= 1) & (lengths <= 255)).all()
return {
"name.is_len_ok": is_len_ok,
}
@validator("score")
def check_score(df: pd.DataFrame) -> dict[bool]:
"""
Validate the score column of a BED dataframe.
Integer between 0 and 1000, inclusive. When all features have uninformative
scores, 0 should be used as the score on every data line.
Note: Using "." is illegal in the spec, but is used in practice. 0 is the
the uninformative score used in the spec.
"""
# Check that the score column contains only integers between 0 and 1000, inclusive
is_in_range = ((df["score"] >= 0) & (df["score"] <= 1000)).all()
return {
"score.is_in_range": is_in_range,
}
@validator("strand")
def check_strand(df: pd.DataFrame) -> dict[bool]:
"""
Validate the strand column of a BED dataframe.
Strand must be one of +, -, . (no strand), or ? (unknown strand).
When parsing files that are not BED6+, strand should be treated as ".".
"""
# Check that the strand column contains only valid strand characters
is_pattern_ok = df["strand"].str.match(r"^[+\-.?]$").all()
return {
"strand.is_pattern_ok": is_pattern_ok,
}
@validator("thickStart")
def check_thickStart(df: pd.DataFrame) -> dict[bool]:
"""
Validate the thickStart column of a BED dataframe.
Must be an integer between start and end, inclusive. When all features
have uninformative thickStarts, the value of start should be used.
"""
# Check that the thickStart column contains only integers between start and end,
# inclusive
is_ge_start = (df["thickStart"] >= df["start"]).all()
is_le_end = (df["thickStart"] <= df["end"]).all()
return {
"thickStart.is_ge_start": is_ge_start,
"thickStart.is_le_end": is_le_end,
}
@validator("thickEnd")
def check_thickEnd(df: pd.DataFrame) -> dict[bool]:
"""
Validate the thickEnd column of a BED dataframe.
Must be an integer greater than or equal to start and less than or equal
to end, inclusive. When all features have uninformative thickEnds, the
value of end should be used.
"""
# Check that the thickEnd column contains only integers between start and end,
# inclusive
is_ge_start = (df["thickEnd"] >= df["start"]).all()
is_le_end = (df["thickEnd"] <= df["end"]).all()
return {
"thickEnd.is_ge_start": is_ge_start,
"thickEnd.is_le_end": is_le_end,
}
@validator("itemRgb")
def check_itemRgb(df: pd.DataFrame) -> dict[bool]:
"""
Validate the itemRgb column of a BED dataframe.
A triple of 3 integers separated by commas. Each integer is between 0 and
255, inclusive. To make a feature black, itemRgb may be a single 0, as a
shorthand for 0,0,0. When all features have uninformative itemRgb values,
0 should be used.
"""
# Check that the itemRgb is a triple of integers separated by commas
# or a single 0
is_pattern_ok = (
df["itemRgb"].astype(str).str.match(r"^(\d{1,3},){2}\d{1,3}$")
| (df["itemRgb"].astype(str) == "0")
).all()
# Check that the itemRgb column contains only integers between 0 and 255, inclusive
is_in_range = (
df["itemRgb"].astype(str)
.str.split(",")
.apply(lambda x: all([int(i) >= 0 and int(i) <= 255 for i in x]))
).all()
return {
"itemRgb.is_pattern_ok": is_pattern_ok,
"itemRgb.is_in_range": is_in_range,
}
@validator("blockCount")
def check_blockCount(df: pd.DataFrame) -> dict[bool]:
"""
Validate the blockCount column of a BED dataframe.
Must be an integer greater than 0.
Note: mandatory in BED12+ files.
"""
# Check that the blockCount column contains only integers greater than 0
is_gt_0 = (df["blockCount"] > 0).all()
return {
"blockCount.is_gt_0": is_gt_0,
}
@validator("blockSizes")
def check_blockSizes(df: pd.DataFrame) -> dict[bool]:
"""
Validate the blockSizes column of a BED dataframe.
Comma-separated list of length blockCount containing the size of each
block. There must be no spaces before or after commas.
There may be a trailing comma after the last element of the list.
Note: mandatory in BED12+ files.
"""
# Check that the blockSizes column contains only comma-separated lists of integers
is_pattern_ok = df["blockSizes"].str.match(r"^(\d+,)*\d+(,)?$").all()
# Check that the number of block sizes matches the blockCount
n_blocks = df["blockSizes"].str.rstrip(",").str.count(",") + 1
is_n_blocks_ok = (n_blocks == df["blockCount"]).all()
return {
"blockSizes.is_pattern_ok": is_pattern_ok,
"blockSizes.is_n_blocks_ok": is_n_blocks_ok,
}
@validator("blockStarts")
def check_blockStarts(df: pd.DataFrame) -> dict[bool]:
"""
Validate the blockStarts column of a BED dataframe.
Comma-separated list of length blockCount containing each block's start
position, relative to start. There must not be spaces before or after the
commas. There may be a trailing comma after the last element of the list.
Each element in blockStarts is paired with the corresponding element in
blockSizes.
Each blockStarts element must be an integer between 0 and end - start,
inclusive.
Each block must be contained within the feature. That means that for each
couple i of (blockStart, blockSize), the quantity start +
blockStart + blockSize must be less or equal to end.
The first block must start at start and the last block must end at end.
The blockStarts must be sorted in ascending order.
The blocks must not overlap.
Note: mandatory in BED12+ files.
"""
# Check that the blockStarts column contains only comma-separated lists of integers
is_pattern_ok = df["blockStarts"].str.match(r"^(\d+,)*\d+(,)?$").all()
block_starts = (
df["blockStarts"]
.str.rstrip(",")
.str.split(",")
.apply(lambda x: [int(i) for i in x])
)
block_sizes = (
df["blockSizes"]
.str.rstrip(",")
.str.split(",")
.apply(lambda x: [int(i) for i in x])
)
bs_start_end = pd.concat(
[block_starts, block_sizes, df["start"], df["end"]], axis=1
)
# Check that the number of block starts matches the blockCount
is_n_blocks_ok = (block_starts.apply(len) == df["blockCount"]).all()
# Check that the blockStarts are in range
is_in_range = bs_start_end.apply(
lambda x: all(
[
x["blockStarts"][i] >= 0 and x["blockStarts"][i] <= x["end"]
for i in range(len(x["blockStarts"]))
]
),
axis=1,
).all()
# Check that the first block begins at start
is_first_block_start = bs_start_end.apply(
(lambda x: x["blockStarts"][0] == 0), axis=1
).all()
# Check that the last block stops at end
is_last_block_end = bs_start_end.apply(
(lambda x: x["blockStarts"][-1] + x["blockSizes"][-1] == x["end"] - x["start"]),
axis=1,
).all()
# Check that the blockStarts are in ascending order
is_sorted = block_starts.apply(lambda x: x == sorted(x)).all()
# Check that the blocks do not overlap
is_no_overlap = True
for row_block_starts, row_block_sizes in zip(
block_starts.values, block_sizes.values
):
for i in range(len(row_block_starts) - 1):
if row_block_starts[i] + row_block_sizes[i] > row_block_starts[i + 1]:
is_no_overlap = False
break
return {
"blockStarts.is_pattern_ok": is_pattern_ok,
"blockStarts.is_n_blocks_ok": is_n_blocks_ok,
"blockStarts.is_in_range": is_in_range,
"blockStarts.is_first_block_start": is_first_block_start,
"blockStarts.is_last_block_end": is_last_block_end,
"blockStarts.is_sorted": is_sorted,
"blockStarts.is_no_overlap": is_no_overlap,
}
def validate_bed_fields(
df: pd.DataFrame,
fields: list[str],
chromsizes: dict | pd.Series | None = None,
strict_score: bool = False,
) -> tuple[set[str], set[str], set[str]]:
"""
Validate the fields of a BED dataframe.
Parameters
----------
df : pd.DataFrame
BED dataframe to validate.
fields : list of str
List of fields to validate.
chromsizes : dict or Series, optional [default: None]
Assembly/chromsizes to validate against.
strict_score : bool, optional [default: False]
Whether to strictly enforce the score field.
Returns
-------
Sets containing: (1) names of fields having an invalid dtype, (2) names of
fields containing at least one null value, (3) properties that failed
validation.
Notes
-----
The BED spec is overly strict. For example, many BED files in the wild will
use "." as the uninformative score value for all features, but the spec
requires that the score be an integer between 0-1000. We provide some
lenience by allowing floats as well, which many tools use in practice. The
spec defines the uninformative score value as 0.
"""
dtype_failed = set()
for col in fields:
kind = df[col].dtype.kind
if strict_score and col == "score":
allowed_kinds = "iu"
else:
allowed_kinds = BED_FIELD_KINDS[col]
if kind not in allowed_kinds:
dtype_failed.add(col)
notnull = {}
for col in fields:
if col not in dtype_failed:
if col == "score" and not strict_score:
continue
notnull[col] = df[col].notnull().all()
notnull = pd.Series(notnull)
notnull_failed = set(notnull.loc[~notnull].index)
props = {}
for col in fields:
if col not in dtype_failed:
if col == "score" and not strict_score:
continue
if col in ("start", "end"):
props.update(BED_FIELD_VALIDATORS[col](df, chromsizes))
else:
props.update(BED_FIELD_VALIDATORS[col](df))
props = pd.Series(props)
prop_failed = set(props.loc[~props].index)
return dtype_failed, notnull_failed, prop_failed
def check_is_sorted(df: pd.DataFrame) -> dict[bool]:
"""
Validate that a BED dataframe is sorted.
BED dataframes should be sorted by chrom, then by start, then by end.
The scheme for sorting the chrom column doesn't matter. The only thing
that matters is that all rows with the same chrom value occur consecutively.
"""
# Check that all rows with the same chrom value are grouped together
run_starts = np.r_[
0, np.flatnonzero(df["chrom"].values[1:] != df["chrom"].values[:-1]) + 1
]
run_values = df["chrom"].to_numpy()[run_starts]
is_chrom_consecutive = len(run_values) == len(np.unique(run_values))
# Check that that within chromosomes the rows are sorted by start, then by end
is_sorted_start_end = True
for _, group in df.groupby("chrom", sort=False):
starts = group["start"].to_numpy()
ends = group["end"].to_numpy()
indices = np.lexsort((ends, starts))
if not (
np.array_equal(starts[indices], starts)
and np.array_equal(ends[indices], ends)
):
is_sorted_start_end = False
break
return {
"sorted.is_chrom_consecutive": is_chrom_consecutive,
"sorted.is_sorted_start_end": is_sorted_start_end,
}
def infer_bed_schema(df: pd.DataFrame) -> tuple[int, bool]:
for i in [12, 9, 8, 7, 6, 5, 4, 3]:
if BED_FIELD_NAMES[i - 1] in df.columns:
n = i
break
else:
raise ValueError("Could not infer a BED schema.")
extended = len(df.columns) > n
return n, extended
def parse_bed_schema(schema: str) -> tuple[int, bool]:
pattern = r"^bed(3|4|5|6|7|8|9|12)?(\+(\d+)?)?$"
match = re.match(pattern, schema.lower())
if not match:
raise ValueError(f"Invalid BED schema name: {schema}")
n = int(match.group(1)) if match.group(1) else 6
extended = match.group(2) is not None
return n, extended
def to_bed_dataframe(
df: pd.DataFrame,
schema: str = "infer",
validate_fields: bool = True,
require_sorted: bool = False,
chromsizes: dict | pd.Series | None = None,
strict_score: bool = False,
replace_na: bool = True,
) -> pd.DataFrame:
if schema == "infer":
n, extended = infer_bed_schema(df)
else:
n, extended = parse_bed_schema(schema)
if (
"chrom" not in df.columns
or "start" not in df.columns
or "end" not in df.columns
):
raise ValueError(
"BED dataframe must have at least 3 fields: chrom, start, end."
)
if n == 12 and (
"blockCount" not in df.columns
or "blockSizes" not in df.columns
or "blockStarts" not in df.columns
):
raise ValueError(
"Informative blockCount, blockSizes, and blockStarts fields are "
"mandatory in BED12+ files."
)
standard_cols = BED_FIELD_NAMES[:n]
fill_cols = list(set(standard_cols) - set(df.columns))
data_cols = list(set(standard_cols) - set(fill_cols))
custom_cols = list(set(df.columns) - set(standard_cols)) if extended else []
fields_with_nulls = set()
if validate_fields:
dtypes_failed, fields_with_nulls, props_failed = validate_bed_fields(
df, data_cols, chromsizes=chromsizes, strict_score=strict_score
)
if dtypes_failed:
raise TypeError(f"Fields contain invalid dtypes: {dtypes_failed}.")
if fields_with_nulls and not replace_na:
raise ValueError(f"Fields contain null values: {fields_with_nulls}.")
if props_failed:
raise ValueError(f"Properties that failed validation: {props_failed}.")
if require_sorted:
props = pd.Series(check_is_sorted(df))
props_failed = props.index[~props].tolist()
if props_failed:
raise ValueError(f"DataFrame isn't properly sorted: {props_failed}.")
bed = pd.DataFrame(index=df.index)
for col in standard_cols:
if col in fill_cols:
if col == "thickStart":
bed[col] = df["start"]
elif col == "thickEnd":
bed[col] = df["end"]
else:
bed[col] = BED_FIELD_FILLVALUES[col]
elif col in fields_with_nulls:
warnings.warn(
f"Standard column {col} contains null values. "
"These will be replaced with the uninformative value "
f"{BED_FIELD_FILLVALUES[col]}.",
stacklevel=2,
)
bed[col] = df[col].fillna(BED_FIELD_FILLVALUES[col])
else:
bed[col] = df[col]
for col in df.columns:
if col in custom_cols:
bed[col] = df[col]
return bed
def to_bed(
df: pd.DataFrame,
path: str | pathlib.Path | None = None,
*,
schema: str = "infer",
validate_fields: bool = True,
require_sorted: bool = False,
chromsizes: dict | pd.Series | None = None,
strict_score: bool = False,
replace_na: bool = True,
na_rep: str = "nan",
) -> str | None:
"""Write a DataFrame to a BED file.
Parameters
----------
df : pd.DataFrame
DataFrame to write.
path : str or Path, optional
Path to write the BED file to. If ``None``, the serialized BED file is
returned as a string.
schema : str, optional [default: "infer"]
BED schema to use. If ``"infer"``, the schema is inferred from the
DataFrame's columns.
validate_fields : bool, optional [default: True]
Whether to validate the fields of the BED file.
require_sorted : bool, optional [default: False]
Whether to require the BED file to be sorted.
chromsizes : dict or pd.Series, optional
Chromosome sizes to validate against.
strict_score : bool, optional [default: False]
Whether to strictly enforce validation of the score field (0-1000).
replace_na : bool, optional [default: True]
Whether to replace null values of standard BED fields with
compliant uninformative values.
na_rep : str, optional [default: "nan"]
String representation of null values if written.
Returns
-------
str or None:
The serialized BED file as a string if ``path`` is ``None``, otherwise
``None``.
"""
bed = to_bed_dataframe(
df,
schema=schema,
validate_fields=validate_fields,
require_sorted=require_sorted,
chromsizes=chromsizes,
strict_score=strict_score,
replace_na=replace_na,
)
return bed.to_csv(path, sep="\t", na_rep=na_rep, index=False, header=False)
open2c-bioframe-4fe9b25/bioframe/io/data/ 0000775 0000000 0000000 00000000000 14775257723 0020233 5 ustar 00root root 0000000 0000000 open2c-bioframe-4fe9b25/bioframe/io/data/_assemblies.yml 0000664 0000000 0000000 00000012177 14775257723 0023254 0 ustar 00root root 0000000 0000000 - organism: homo sapiens
provider: ncbi
provider_build: GRCh37
release_year: 2009
seqinfo: hg19.seqinfo.tsv
cytobands: hg19.cytoband.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear-revised]
url: https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/405/GCF_000001405.25_GRCh37.p13/GRCh37_seqs_for_alignment_pipelines/
- organism: homo sapiens
provider: ucsc
provider_build: hg19
release_year: 2009
seqinfo: hg19.seqinfo.tsv
cytobands: hg19.cytoband.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://hgdownload.soe.ucsc.edu/goldenPath/hg19/bigZips/analysisSet/
- organism: homo sapiens
provider: ncbi
provider_build: GRCh38
release_year: 2013
seqinfo: hg38.seqinfo.tsv
cytobands: hg38.cytoband.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/405/GCF_000001405.26_GRCh38/GRCh38_major_release_seqs_for_alignment_pipelines/
- organism: homo sapiens
provider: ucsc
provider_build: hg38
release_year: 2013
seqinfo: hg38.seqinfo.tsv
cytobands: hg38.cytoband.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/analysisSet/
- organism: homo sapiens
provider: ncbi
provider_build: T2T-CHM13v2.0
release_year: 2022
seqinfo: hs1.seqinfo.tsv
cytobands: hs1.cytoband.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://ftp.ncbi.nlm.nih.gov/genomes/all/GCA/009/914/755/GCA_009914755.4_T2T-CHM13v2.0/
- organism: homo sapiens
provider: ucsc
provider_build: hs1
release_year: 2022
seqinfo: hs1.seqinfo.tsv
cytobands: hs1.cytoband.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://hgdownload.soe.ucsc.edu/goldenPath/hs1/bigZips/
- organism: mus musculus
provider: ncbi
provider_build: MGSCv37
release_year: 2010
seqinfo: mm9.seqinfo.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/635/GCF_000001635.18_MGSCv37/
- organism: mus musculus
provider: ucsc
provider_build: mm9
release_year: 2007
seqinfo: mm9.seqinfo.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://hgdownload.soe.ucsc.edu/goldenPath/mm9/bigZips/
- organism: mus musculus
provider: ncbi
provider_build: GRCm38
release_year: 2011
seqinfo: mm10.seqinfo.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/635/GCF_000001635.20_GRCm38/
- organism: mus musculus
provider: ucsc
provider_build: mm10
release_year: 2011
seqinfo: mm10.seqinfo.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://hgdownload.soe.ucsc.edu/goldenPath/mm10/bigZips/
- organism: mus musculus
provider: ncbi
provider_build: GRCm39
release_year: 2020
seqinfo: mm39.seqinfo.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/001/635/GCF_000001635.27_GRCm39/
- organism: mus musculus
provider: ucsc
provider_build: mm39
release_year: 2020
seqinfo: mm39.seqinfo.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://hgdownload.soe.ucsc.edu/goldenPath/mm39/bigZips/
- organism: drosophila melanogaster
provider: ucsc
provider_build: dm3
release_year: 2006
seqinfo: dm3.seqinfo.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://hgdownload.soe.ucsc.edu/goldenPath/dm3/bigZips/
- organism: drosophila melanogaster
provider: ucsc
provider_build: dm6
release_year: 2014
seqinfo: dm6.seqinfo.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://hgdownload.soe.ucsc.edu/goldenPath/dm6/bigZips/
- organism: caenorhabditis elegans
provider: ucsc
provider_build: ce10
release_year: 2010
seqinfo: ce10.seqinfo.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://hgdownload.soe.ucsc.edu/goldenPath/ce10/bigZips/
- organism: caenorhabditis elegans
provider: ucsc
provider_build: ce11
release_year: 2013
seqinfo: ce11.seqinfo.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://hgdownload.soe.ucsc.edu/goldenPath/ce11/bigZips/
- organism: danio rerio
provider: ucsc
provider_build: danRer10
release_year: 2014
seqinfo: danRer10.seqinfo.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://hgdownload.soe.ucsc.edu/goldenPath/danRer10/bigZips/
- organism: danio rerio
provider: ucsc
provider_build: danRer11
release_year: 2017
seqinfo: danRer10.seqinfo.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://hgdownload.soe.ucsc.edu/goldenPath/danRer11/bigZips/
- organism: saccharomyces cerevisiae
provider: ucsc
provider_build: sacCer3
release_year: 2011
seqinfo: sacCer3.seqinfo.tsv
default_roles: [assembled]
default_units: [primary, non-nuclear]
url: https://hgdownload.soe.ucsc.edu/goldenPath/sacCer3/bigZips/
open2c-bioframe-4fe9b25/bioframe/io/data/ce10.seqinfo.tsv 0000664 0000000 0000000 00000000641 14775257723 0023165 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
chrI 15072423 assembled chrI primary NC_003279.7,I
chrII 15279345 assembled chrII primary NC_003280.9,II
chrIII 13783700 assembled chrIII primary NC_003281.9,III
chrIV 17493793 assembled chrIV primary NC_003282.7,IV
chrV 20924149 assembled chrV primary NC_003283.10,V
chrX 17718866 assembled chrX primary NC_003284.8,X
chrM 13794 assembled chrM non-nuclear NC_001328.1,MT,MtDNA
open2c-bioframe-4fe9b25/bioframe/io/data/ce11.seqinfo.tsv 0000664 0000000 0000000 00000000643 14775257723 0023170 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
chrI 15072434 assembled chrI primary NC_003279.8,I
chrII 15279421 assembled chrII primary NC_003280.10,II
chrIII 13783801 assembled chrIII primary NC_003281.10,III
chrIV 17493829 assembled chrIV primary NC_003282.8,IV
chrV 20924180 assembled chrV primary NC_003283.11,V
chrX 17718942 assembled chrX primary NC_003284.9,X
chrM 13794 assembled chrM non-nuclear NC_001328.1,MT,MtDNA
open2c-bioframe-4fe9b25/bioframe/io/data/danRer10.seqinfo.tsv 0000664 0000000 0000000 00000212336 14775257723 0024017 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
chr1 58871917 assembled chr1 primary 1,NC_007112.6,CM002885.1
chr2 59543403 assembled chr2 primary 2,NC_007113.6,CM002886.1
chr3 62385949 assembled chr3 primary 3,NC_007114.6,CM002887.1
chr4 76625712 assembled chr4 primary 4,NC_007115.6,CM002888.1
chr5 71715914 assembled chr5 primary 5,NC_007116.6,CM002889.1
chr6 60272633 assembled chr6 primary 6,NC_007117.6,CM002890.1
chr7 74082188 assembled chr7 primary 7,NC_007118.6,CM002891.1
chr8 54191831 assembled chr8 primary 8,NC_007119.6,CM002892.1
chr9 56892771 assembled chr9 primary 9,NC_007120.6,CM002893.1
chr10 45574255 assembled chr10 primary 10,NC_007121.6,CM002894.1
chr11 45107271 assembled chr11 primary 11,NC_007122.6,CM002895.1
chr12 49229541 assembled chr12 primary 12,NC_007123.6,CM002896.1
chr13 51780250 assembled chr13 primary 13,NC_007124.6,CM002897.1
chr14 51944548 assembled chr14 primary 14,NC_007125.6,CM002898.1
chr15 47771147 assembled chr15 primary 15,NC_007126.6,CM002899.1
chr16 55381981 assembled chr16 primary 16,NC_007127.6,CM002900.1
chr17 53345113 assembled chr17 primary 17,NC_007128.6,CM002901.1
chr18 51008593 assembled chr18 primary 18,NC_007129.6,CM002902.1
chr19 48790377 assembled chr19 primary 19,NC_007130.6,CM002903.1
chr20 55370968 assembled chr20 primary 20,NC_007131.6,CM002904.1
chr21 45895719 assembled chr21 primary 21,NC_007132.6,CM002905.1
chr22 39226288 assembled chr22 primary 22,NC_007133.6,CM002906.1
chr23 46272358 assembled chr23 primary 23,NC_007134.6,CM002907.1
chr24 42251103 assembled chr24 primary 24,NC_007135.6,CM002908.1
chr25 36898761 assembled chr25 primary 25,NC_007136.6,CM002909.1
chrM 16596 assembled chrM non-nuclear MT,NC_002333.2
chrUn_KN149679v1 35552 unplaced primary NW_003043344.3,KN149679.1
chrUn_KN149680v1 38724 unplaced primary NW_003336264.2,KN149680.1
chrUn_KN149681v1 107758 unplaced primary NW_003051371.3,KN149681.1
chrUn_KN149682v1 137468 unplaced primary NW_001878251.4,KN149682.1
chrUn_KN149683v1 152860 unplaced primary NW_001884381.4,KN149683.1
chrUn_KN149684v1 159057 unplaced primary NW_001878128.4,KN149684.1
chrUn_KN149685v1 164780 unplaced primary NW_001884386.4,KN149685.1
chrUn_KN149686v1 260365 unplaced primary NW_003044888.3,KN149686.1
chrUn_KN149687v1 165668 unplaced primary NW_001884400.4,KN149687.1
chrUn_KN149688v1 252705 unplaced primary NW_001878118.4,KN149688.1
chrUn_KN149689v1 196689 unplaced primary NW_001879289.4,KN149689.1
chrUn_KN149690v1 343018 unplaced primary NW_001884413.3,KN149690.1
chrUn_KN149691v1 233193 unplaced primary NW_001884427.4,KN149691.1
chrUn_KN149692v1 36911 unplaced primary NW_001884442.4,KN149692.1
chrUn_KN149693v1 49295 unplaced primary NW_001884441.4,KN149693.1
chrUn_KN149694v1 162759 unplaced primary NW_001884444.4,KN149694.1
chrUn_KN149695v1 190731 unplaced primary NW_003039389.3,KN149695.1
chrUn_KN149696v1 368637 unplaced primary NW_003039384.3,KN149696.1
chrUn_KN149697v1 40969 unplaced primary NW_008805346.1,KN149697.1
chrUn_KN149698v1 108577 unplaced primary NW_008805347.1,KN149698.1
chrUn_KN149699v1 33146 unplaced primary NW_003336805.1,KN149699.1
chrUn_KN149700v1 40050 unplaced primary NW_003337144.1,KN149700.1
chrUn_KN149701v1 3760 unplaced primary NW_008805348.1,KN149701.1
chrUn_KN149702v1 100325 unplaced primary NW_008805349.1,KN149702.1
chrUn_KN149703v1 13902 unplaced primary NW_003336866.1,KN149703.1
chrUn_KN149704v1 48089 unplaced primary NW_008805350.1,KN149704.1
chrUn_KN149705v1 27926 unplaced primary NW_003336598.1,KN149705.1
chrUn_KN149706v1 33279 unplaced primary NW_003336851.1,KN149706.1
chrUn_KN149707v1 6001 unplaced primary NW_008805351.1,KN149707.1
chrUn_KN149708v1 20567 unplaced primary NW_003337018.1,KN149708.1
chrUn_KN149709v1 27814 unplaced primary NW_003336433.1,KN149709.1
chrUn_KN149710v1 50974 unplaced primary NW_003335779.1,KN149710.1
chrUn_KN149711v1 11473 unplaced primary NW_003336950.1,KN149711.1
chrUn_KN149712v1 1115 unplaced primary NW_008805352.1,KN149712.1
chrUn_KN149713v1 10094 unplaced primary NW_008805353.1,KN149713.1
chrUn_KN149714v1 74622 unplaced primary NW_003337205.1,KN149714.1
chrUn_KN149715v1 19020 unplaced primary NW_003336714.2,KN149715.1
chrUn_KN149716v1 42229 unplaced primary NW_003334619.1,KN149716.1
chrUn_KN149717v1 47589 unplaced primary NW_003337229.1,KN149717.1
chrUn_KN149718v1 65247 unplaced primary NW_003336716.1,KN149718.1
chrUn_KN149719v1 47531 unplaced primary NW_003337263.1,KN149719.1
chrUn_KN149720v1 10211 unplaced primary NW_008805354.1,KN149720.1
chrUn_KN149721v1 25462 unplaced primary NW_003336827.1,KN149721.1
chrUn_KN149722v1 13397 unplaced primary NW_003336457.1,KN149722.1
chrUn_KN149723v1 55784 unplaced primary NW_003337194.1,KN149723.1
chrUn_KN149724v1 11849 unplaced primary NW_003336519.1,KN149724.1
chrUn_KN149725v1 69829 unplaced primary NW_003336869.1,KN149725.1
chrUn_KN149726v1 2146 unplaced primary NW_008805355.1,KN149726.1
chrUn_KN149727v1 24871 unplaced primary NW_003336152.2,KN149727.1
chrUn_KN149728v1 9442 unplaced primary NW_003336547.1,KN149728.1
chrUn_KN149729v1 5608 unplaced primary NW_008805356.1,KN149729.1
chrUn_KN149730v1 14804 unplaced primary NW_003336623.1,KN149730.1
chrUn_KN149731v1 19431 unplaced primary NW_008805357.1,KN149731.1
chrUn_KN149732v1 16041 unplaced primary NW_003336490.1,KN149732.1
chrUn_KN149733v1 21637 unplaced primary NW_003336868.1,KN149733.1
chrUn_KN149734v1 6288 unplaced primary NW_003337155.1,KN149734.1
chrUn_KN149735v1 5747 unplaced primary NW_008805358.1,KN149735.1
chrUn_KN149736v1 1649 unplaced primary NW_008805359.1,KN149736.1
chrUn_KN149737v1 27700 unplaced primary NW_003336345.1,KN149737.1
chrUn_KN149738v1 10603 unplaced primary NW_003337254.2,KN149738.1
chrUn_KN149739v1 51610 unplaced primary NW_003336823.1,KN149739.1
chrUn_KN149740v1 1265 unplaced primary NW_003334432.1,KN149740.1
chrUn_KN149741v1 21941 unplaced primary NW_003337078.1,KN149741.1
chrUn_KN149742v1 2671 unplaced primary NW_003336474.1,KN149742.1
chrUn_KN149743v1 21023 unplaced primary NW_003336724.1,KN149743.1
chrUn_KN149744v1 19164 unplaced primary NW_008805360.1,KN149744.1
chrUn_KN149745v1 8150 unplaced primary NW_003337249.1,KN149745.1
chrUn_KN149746v1 10900 unplaced primary NW_008805361.1,KN149746.1
chrUn_KN149747v1 16275 unplaced primary NW_003336980.1,KN149747.1
chrUn_KN149748v1 96570 unplaced primary NW_003336540.1,KN149748.1
chrUn_KN149749v1 40089 unplaced primary NW_003336941.1,KN149749.1
chrUn_KN149750v1 13928 unplaced primary NW_003336571.1,KN149750.1
chrUn_KN149751v1 15848 unplaced primary NW_003336649.1,KN149751.1
chrUn_KN149752v1 16628 unplaced primary NW_003335206.1,KN149752.1
chrUn_KN149753v1 30249 unplaced primary NW_003336977.1,KN149753.1
chrUn_KN149754v1 40214 unplaced primary NW_003336969.1,KN149754.1
chrUn_KN149755v1 11941 unplaced primary NW_003337240.1,KN149755.1
chrUn_KN149756v1 11785 unplaced primary NW_003337114.1,KN149756.1
chrUn_KN149757v1 16145 unplaced primary NW_003334832.2,KN149757.1
chrUn_KN149758v1 9515 unplaced primary NW_003336859.1,KN149758.1
chrUn_KN149759v1 38290 unplaced primary NW_008805362.1,KN149759.1
chrUn_KN149760v1 46605 unplaced primary NW_003336744.1,KN149760.1
chrUn_KN149761v1 14795 unplaced primary NW_003336095.2,KN149761.1
chrUn_KN149762v1 17936 unplaced primary NW_008805363.1,KN149762.1
chrUn_KN149763v1 19644 unplaced primary NW_003336711.1,KN149763.1
chrUn_KN149764v1 19831 unplaced primary NW_003337091.2,KN149764.1
chrUn_KN149765v1 29197 unplaced primary NW_003336801.1,KN149765.1
chrUn_KN149766v1 14664 unplaced primary NW_003336970.1,KN149766.1
chrUn_KN149767v1 30874 unplaced primary NW_003337044.1,KN149767.1
chrUn_KN149768v1 17671 unplaced primary NW_003336765.1,KN149768.1
chrUn_KN149769v1 53048 unplaced primary NW_003337010.1,KN149769.1
chrUn_KN149770v1 12046 unplaced primary NW_003337047.1,KN149770.1
chrUn_KN149771v1 14151 unplaced primary NW_003336986.1,KN149771.1
chrUn_KN149772v1 13273 unplaced primary NW_003337052.1,KN149772.1
chrUn_KN149773v1 1302 unplaced primary NW_003335749.1,KN149773.1
chrUn_KN149774v1 12337 unplaced primary NW_003336170.1,KN149774.1
chrUn_KN149775v1 18776 unplaced primary NW_003334589.1,KN149775.1
chrUn_KN149776v1 2919 unplaced primary NW_003335549.1,KN149776.1
chrUn_KN149777v1 1553 unplaced primary NW_008805364.1,KN149777.1
chrUn_KN149778v1 111598 unplaced primary NW_003337175.1,KN149778.1
chrUn_KN149779v1 21664 unplaced primary NW_003334443.1,KN149779.1
chrUn_KN149780v1 19718 unplaced primary NW_003334404.1,KN149780.1
chrUn_KN149781v1 9962 unplaced primary NW_003334099.1,KN149781.1
chrUn_KN149782v1 36097 unplaced primary NW_003337232.1,KN149782.1
chrUn_KN149783v1 11892 unplaced primary NW_003336802.1,KN149783.1
chrUn_KN149784v1 73829 unplaced primary NW_003337109.1,KN149784.1
chrUn_KN149785v1 1577 unplaced primary NW_003336582.1,KN149785.1
chrUn_KN149786v1 1745 unplaced primary NW_008805365.1,KN149786.1
chrUn_KN149787v1 39794 unplaced primary NW_003335933.1,KN149787.1
chrUn_KN149788v1 8794 unplaced primary NW_008805366.1,KN149788.1
chrUn_KN149789v1 12990 unplaced primary NW_003337184.1,KN149789.1
chrUn_KN149790v1 115850 unplaced primary NW_003336877.1,KN149790.1
chrUn_KN149791v1 17273 unplaced primary NW_003336635.1,KN149791.1
chrUn_KN149792v1 11232 unplaced primary NW_003337069.1,KN149792.1
chrUn_KN149793v1 13298 unplaced primary NW_008805367.1,KN149793.1
chrUn_KN149794v1 25440 unplaced primary NW_008805368.1,KN149794.1
chrUn_KN149795v1 34615 unplaced primary NW_003336860.1,KN149795.1
chrUn_KN149796v1 25635 unplaced primary NW_003336550.1,KN149796.1
chrUn_KN149797v1 102101 unplaced primary NW_003334026.1,KN149797.1
chrUn_KN149798v1 1990 unplaced primary NW_003336837.1,KN149798.1
chrUn_KN149799v1 27060 unplaced primary NW_003335558.1,KN149799.1
chrUn_KN149800v1 42049 unplaced primary NW_008805369.1,KN149800.1
chrUn_KN149801v1 4454 unplaced primary NW_003336889.1,KN149801.1
chrUn_KN149802v1 3818 unplaced primary NW_003334854.1,KN149802.1
chrUn_KN149803v1 16018 unplaced primary NW_003337090.1,KN149803.1
chrUn_KN149804v1 10148 unplaced primary NW_003337095.1,KN149804.1
chrUn_KN149805v1 12432 unplaced primary NW_003336290.1,KN149805.1
chrUn_KN149806v1 15157 unplaced primary NW_008805370.1,KN149806.1
chrUn_KN149807v1 12512 unplaced primary NW_003334875.1,KN149807.1
chrUn_KN149808v1 15454 unplaced primary NW_003336495.1,KN149808.1
chrUn_KN149809v1 2001 unplaced primary NW_003336915.1,KN149809.1
chrUn_KN149810v1 15043 unplaced primary NW_003336919.1,KN149810.1
chrUn_KN149811v1 8720 unplaced primary NW_003336886.1,KN149811.1
chrUn_KN149812v1 51419 unplaced primary NW_003336288.1,KN149812.1
chrUn_KN149813v1 59009 unplaced primary NW_003336509.1,KN149813.1
chrUn_KN149814v1 25878 unplaced primary NW_003334686.1,KN149814.1
chrUn_KN149815v1 33337 unplaced primary NW_003334684.1,KN149815.1
chrUn_KN149816v1 10128 unplaced primary NW_003335521.2,KN149816.1
chrUn_KN149817v1 11116 unplaced primary NW_003337049.1,KN149817.1
chrUn_KN149818v1 25942 unplaced primary NW_003335384.1,KN149818.1
chrUn_KN149819v1 10210 unplaced primary NW_008805371.1,KN149819.1
chrUn_KN149820v1 1281 unplaced primary NW_008805372.1,KN149820.1
chrUn_KN149821v1 31785 unplaced primary NW_003336346.1,KN149821.1
chrUn_KN149822v1 2460 unplaced primary NW_003336643.1,KN149822.1
chrUn_KN149823v1 14034 unplaced primary NW_003335161.1,KN149823.1
chrUn_KN149824v1 2357 unplaced primary NW_003336698.1,KN149824.1
chrUn_KN149825v1 22128 unplaced primary NW_003336761.1,KN149825.1
chrUn_KN149826v1 90482 unplaced primary NW_003336654.1,KN149826.1
chrUn_KN149827v1 13555 unplaced primary NW_008805373.1,KN149827.1
chrUn_KN149828v1 11414 unplaced primary NW_003336660.1,KN149828.1
chrUn_KN149829v1 27323 unplaced primary NW_003335757.1,KN149829.1
chrUn_KN149830v1 32768 unplaced primary NW_008805374.1,KN149830.1
chrUn_KN149831v1 50343 unplaced primary NW_008805375.1,KN149831.1
chrUn_KN149832v1 12483 unplaced primary NW_003336959.1,KN149832.1
chrUn_KN149833v1 2778 unplaced primary NW_008805376.1,KN149833.1
chrUn_KN149834v1 17343 unplaced primary NW_003337098.1,KN149834.1
chrUn_KN149835v1 25861 unplaced primary NW_003334814.2,KN149835.1
chrUn_KN149836v1 34954 unplaced primary NW_003335691.1,KN149836.1
chrUn_KN149837v1 8007 unplaced primary NW_003336667.1,KN149837.1
chrUn_KN149838v1 29025 unplaced primary NW_003337138.1,KN149838.1
chrUn_KN149839v1 12998 unplaced primary NW_003336838.1,KN149839.1
chrUn_KN149840v1 46864 unplaced primary NW_003336831.1,KN149840.1
chrUn_KN149841v1 10085 unplaced primary NW_003336073.1,KN149841.1
chrUn_KN149842v1 17614 unplaced primary NW_003335960.1,KN149842.1
chrUn_KN149843v1 33258 unplaced primary NW_003336867.1,KN149843.1
chrUn_KN149844v1 10201 unplaced primary NW_003336430.1,KN149844.1
chrUn_KN149845v1 3367 unplaced primary NW_008805377.1,KN149845.1
chrUn_KN149846v1 28664 unplaced primary NW_003336483.1,KN149846.1
chrUn_KN149847v1 130903 unplaced primary NW_003337258.1,KN149847.1
chrUn_KN149848v1 10341 unplaced primary NW_003336432.1,KN149848.1
chrUn_KN149849v1 20421 unplaced primary NW_008805378.1,KN149849.1
chrUn_KN149850v1 33401 unplaced primary NW_003337014.1,KN149850.1
chrUn_KN149851v1 12094 unplaced primary NW_003336419.1,KN149851.1
chrUn_KN149852v1 30223 unplaced primary NW_008805379.1,KN149852.1
chrUn_KN149853v1 12817 unplaced primary NW_003336917.1,KN149853.1
chrUn_KN149854v1 6367 unplaced primary NW_008805380.1,KN149854.1
chrUn_KN149855v1 23165 unplaced primary NW_003334236.1,KN149855.1
chrUn_KN149856v1 35330 unplaced primary NW_003334447.1,KN149856.1
chrUn_KN149857v1 10132 unplaced primary NW_008805381.1,KN149857.1
chrUn_KN149858v1 44054 unplaced primary NW_003334458.2,KN149858.1
chrUn_KN149859v1 53306 unplaced primary NW_003336720.1,KN149859.1
chrUn_KN149860v1 17408 unplaced primary NW_003336315.1,KN149860.1
chrUn_KN149861v1 14336 unplaced primary NW_003336809.1,KN149861.1
chrUn_KN149862v1 11987 unplaced primary NW_003336301.1,KN149862.1
chrUn_KN149863v1 11955 unplaced primary NW_008805382.1,KN149863.1
chrUn_KN149864v1 12929 unplaced primary NW_008805383.1,KN149864.1
chrUn_KN149865v1 49167 unplaced primary NW_008805384.1,KN149865.1
chrUn_KN149866v1 14752 unplaced primary NW_003337099.1,KN149866.1
chrUn_KN149867v1 1514 unplaced primary NW_008805385.1,KN149867.1
chrUn_KN149868v1 50629 unplaced primary NW_003336470.1,KN149868.1
chrUn_KN149869v1 21474 unplaced primary NW_008805386.1,KN149869.1
chrUn_KN149870v1 44680 unplaced primary NW_003336738.1,KN149870.1
chrUn_KN149871v1 22553 unplaced primary NW_003336239.1,KN149871.1
chrUn_KN149872v1 12222 unplaced primary NW_008805387.1,KN149872.1
chrUn_KN149873v1 1146 unplaced primary NW_008805388.1,KN149873.1
chrUn_KN149874v1 5295 unplaced primary NW_003335638.2,KN149874.1
chrUn_KN149875v1 13354 unplaced primary NW_008805389.1,KN149875.1
chrUn_KN149876v1 11298 unplaced primary NW_003336849.1,KN149876.1
chrUn_KN149877v1 30410 unplaced primary NW_003336883.1,KN149877.1
chrUn_KN149878v1 7547 unplaced primary NW_008805390.1,KN149878.1
chrUn_KN149879v1 11893 unplaced primary NW_003335459.1,KN149879.1
chrUn_KN149880v1 64889 unplaced primary NW_008805391.1,KN149880.1
chrUn_KN149881v1 10736 unplaced primary NW_008805392.1,KN149881.1
chrUn_KN149882v1 7649 unplaced primary NW_008805393.1,KN149882.1
chrUn_KN149883v1 12434 unplaced primary NW_003334215.1,KN149883.1
chrUn_KN149884v1 51715 unplaced primary NW_008805394.1,KN149884.1
chrUn_KN149885v1 1347 unplaced primary NW_003337168.1,KN149885.1
chrUn_KN149886v1 1633 unplaced primary NW_003336535.1,KN149886.1
chrUn_KN149887v1 11971 unplaced primary NW_003336454.2,KN149887.1
chrUn_KN149888v1 17117 unplaced primary NW_003336349.1,KN149888.1
chrUn_KN149889v1 10166 unplaced primary NW_003336465.1,KN149889.1
chrUn_KN149890v1 12029 unplaced primary NW_003336424.1,KN149890.1
chrUn_KN149891v1 10762 unplaced primary NW_003336702.1,KN149891.1
chrUn_KN149892v1 24638 unplaced primary NW_003336629.1,KN149892.1
chrUn_KN149893v1 27995 unplaced primary NW_003337247.1,KN149893.1
chrUn_KN149894v1 15058 unplaced primary NW_008805395.1,KN149894.1
chrUn_KN149895v1 92930 unplaced primary NW_003334263.2,KN149895.1
chrUn_KN149896v1 13102 unplaced primary NW_003336289.1,KN149896.1
chrUn_KN149897v1 14044 unplaced primary NW_003336689.1,KN149897.1
chrUn_KN149898v1 4537 unplaced primary NW_008805396.1,KN149898.1
chrUn_KN149899v1 13632 unplaced primary NW_003336497.1,KN149899.1
chrUn_KN149900v1 11016 unplaced primary NW_008805397.1,KN149900.1
chrUn_KN149901v1 10512 unplaced primary NW_003337164.1,KN149901.1
chrUn_KN149902v1 16044 unplaced primary NW_003336449.1,KN149902.1
chrUn_KN149903v1 11318 unplaced primary NW_008805398.1,KN149903.1
chrUn_KN149904v1 89156 unplaced primary NW_003336333.2,KN149904.1
chrUn_KN149905v1 14056 unplaced primary NW_003336852.1,KN149905.1
chrUn_KN149906v1 38987 unplaced primary NW_003336751.1,KN149906.1
chrUn_KN149907v1 9870 unplaced primary NW_003337174.1,KN149907.1
chrUn_KN149908v1 12800 unplaced primary NW_003336848.1,KN149908.1
chrUn_KN149909v1 40056 unplaced primary NW_003336633.1,KN149909.1
chrUn_KN149910v1 142061 unplaced primary NW_003335139.1,KN149910.1
chrUn_KN149911v1 11128 unplaced primary NW_003336186.1,KN149911.1
chrUn_KN149912v1 77979 unplaced primary NW_003334245.1,KN149912.1
chrUn_KN149913v1 16487 unplaced primary NW_003337199.1,KN149913.1
chrUn_KN149914v1 18241 unplaced primary NW_003336354.1,KN149914.1
chrUn_KN149915v1 10395 unplaced primary NW_003336864.1,KN149915.1
chrUn_KN149916v1 4293 unplaced primary NW_003334505.1,KN149916.1
chrUn_KN149917v1 3831 unplaced primary NW_003335158.1,KN149917.1
chrUn_KN149918v1 6170 unplaced primary NW_008805399.1,KN149918.1
chrUn_KN149919v1 21073 unplaced primary NW_003336948.1,KN149919.1
chrUn_KN149920v1 18168 unplaced primary NW_003334756.2,KN149920.1
chrUn_KN149921v1 28254 unplaced primary NW_003336310.1,KN149921.1
chrUn_KN149922v1 12529 unplaced primary NW_008805400.1,KN149922.1
chrUn_KN149923v1 36729 unplaced primary NW_008805401.1,KN149923.1
chrUn_KN149924v1 23395 unplaced primary NW_003336874.1,KN149924.1
chrUn_KN149925v1 29860 unplaced primary NW_003336561.2,KN149925.1
chrUn_KN149926v1 3688 unplaced primary NW_003335249.1,KN149926.1
chrUn_KN149927v1 11950 unplaced primary NW_003335051.1,KN149927.1
chrUn_KN149928v1 14297 unplaced primary NW_003336610.1,KN149928.1
chrUn_KN149929v1 38097 unplaced primary NW_008805402.1,KN149929.1
chrUn_KN149930v1 98773 unplaced primary NW_003335313.1,KN149930.1
chrUn_KN149931v1 6703 unplaced primary NW_003335250.1,KN149931.1
chrUn_KN149932v1 89521 unplaced primary NW_003334672.2,KN149932.1
chrUn_KN149933v1 13433 unplaced primary NW_003336909.1,KN149933.1
chrUn_KN149934v1 12451 unplaced primary NW_003337169.1,KN149934.1
chrUn_KN149935v1 9230 unplaced primary NW_003336782.1,KN149935.1
chrUn_KN149936v1 16058 unplaced primary NW_003337066.1,KN149936.1
chrUn_KN149937v1 14110 unplaced primary NW_003335043.1,KN149937.1
chrUn_KN149938v1 12455 unplaced primary NW_003335831.2,KN149938.1
chrUn_KN149939v1 76611 unplaced primary NW_003336586.1,KN149939.1
chrUn_KN149940v1 11887 unplaced primary NW_003336458.1,KN149940.1
chrUn_KN149941v1 13607 unplaced primary NW_003336575.1,KN149941.1
chrUn_KN149942v1 9522 unplaced primary NW_008805403.1,KN149942.1
chrUn_KN149943v1 29608 unplaced primary NW_003334256.1,KN149943.1
chrUn_KN149944v1 24909 unplaced primary NW_003336415.1,KN149944.1
chrUn_KN149945v1 9994 unplaced primary NW_008805404.1,KN149945.1
chrUn_KN149946v1 33071 unplaced primary NW_003336936.1,KN149946.1
chrUn_KN149947v1 23293 unplaced primary NW_008805405.1,KN149947.1
chrUn_KN149948v1 117499 unplaced primary NW_003336703.1,KN149948.1
chrUn_KN149949v1 64126 unplaced primary NW_003336421.1,KN149949.1
chrUn_KN149950v1 5952 unplaced primary NW_003336979.1,KN149950.1
chrUn_KN149951v1 5000 unplaced primary NW_008805406.1,KN149951.1
chrUn_KN149952v1 66365 unplaced primary NW_003336406.1,KN149952.1
chrUn_KN149953v1 46218 unplaced primary NW_003337062.1,KN149953.1
chrUn_KN149954v1 1953 unplaced primary NW_008805407.1,KN149954.1
chrUn_KN149955v1 19758 unplaced primary NW_003336646.1,KN149955.1
chrUn_KN149956v1 1889 unplaced primary NW_008805408.1,KN149956.1
chrUn_KN149957v1 1094 unplaced primary NW_008805409.1,KN149957.1
chrUn_KN149958v1 43073 unplaced primary NW_003336942.1,KN149958.1
chrUn_KN149959v1 59274 unplaced primary NW_003336480.1,KN149959.1
chrUn_KN149960v1 9235 unplaced primary NW_003336389.1,KN149960.1
chrUn_KN149961v1 20600 unplaced primary NW_003337190.1,KN149961.1
chrUn_KN149962v1 136181 unplaced primary NW_003335337.2,KN149962.1
chrUn_KN149963v1 83881 unplaced primary NW_003336881.1,KN149963.1
chrUn_KN149964v1 11592 unplaced primary NW_008805410.1,KN149964.1
chrUn_KN149965v1 14790 unplaced primary NW_003336066.1,KN149965.1
chrUn_KN149966v1 131566 unplaced primary NW_008805411.1,KN149966.1
chrUn_KN149967v1 8612 unplaced primary NW_003335242.1,KN149967.1
chrUn_KN149968v1 82990 unplaced primary NW_003336650.1,KN149968.1
chrUn_KN149969v1 13714 unplaced primary NW_003336580.1,KN149969.1
chrUn_KN149970v1 17511 unplaced primary NW_003336817.2,KN149970.1
chrUn_KN149971v1 11275 unplaced primary NW_008805412.1,KN149971.1
chrUn_KN149972v1 1358 unplaced primary NW_008805413.1,KN149972.1
chrUn_KN149973v1 35555 unplaced primary NW_003336937.1,KN149973.1
chrUn_KN149974v1 19596 unplaced primary NW_003336967.1,KN149974.1
chrUn_KN149975v1 2035 unplaced primary NW_008805414.1,KN149975.1
chrUn_KN149976v1 11858 unplaced primary NW_003336371.1,KN149976.1
chrUn_KN149977v1 20138 unplaced primary NW_003337153.2,KN149977.1
chrUn_KN149978v1 16801 unplaced primary NW_003337086.1,KN149978.1
chrUn_KN149979v1 22834 unplaced primary NW_003336097.2,KN149979.1
chrUn_KN149980v1 7980 unplaced primary NW_008805415.1,KN149980.1
chrUn_KN149981v1 12811 unplaced primary NW_003337160.1,KN149981.1
chrUn_KN149982v1 31814 unplaced primary NW_003337139.1,KN149982.1
chrUn_KN149983v1 17884 unplaced primary NW_003336330.2,KN149983.1
chrUn_KN149984v1 96477 unplaced primary NW_003337241.1,KN149984.1
chrUn_KN149985v1 1354 unplaced primary NW_008805416.1,KN149985.1
chrUn_KN149986v1 8801 unplaced primary NW_003334166.1,KN149986.1
chrUn_KN149987v1 38433 unplaced primary NW_003336196.1,KN149987.1
chrUn_KN149988v1 9944 unplaced primary NW_003336685.1,KN149988.1
chrUn_KN149989v1 34480 unplaced primary NW_003336748.2,KN149989.1
chrUn_KN149990v1 57651 unplaced primary NW_003337093.1,KN149990.1
chrUn_KN149991v1 9871 unplaced primary NW_003337156.1,KN149991.1
chrUn_KN149992v1 57912 unplaced primary NW_003336600.1,KN149992.1
chrUn_KN149993v1 16921 unplaced primary NW_003336466.1,KN149993.1
chrUn_KN149994v1 1137 unplaced primary NW_003336317.1,KN149994.1
chrUn_KN149995v1 12015 unplaced primary NW_008805417.1,KN149995.1
chrUn_KN149996v1 33528 unplaced primary NW_003337137.1,KN149996.1
chrUn_KN149997v1 6296 unplaced primary NW_003336787.1,KN149997.1
chrUn_KN149998v1 74724 unplaced primary NW_003336316.1,KN149998.1
chrUn_KN149999v1 14071 unplaced primary NW_003336567.1,KN149999.1
chrUn_KN150000v1 69737 unplaced primary NW_003334656.2,KN150000.1
chrUn_KN150001v1 28767 unplaced primary NW_003334035.2,KN150001.1
chrUn_KN150002v1 17430 unplaced primary NW_003336323.1,KN150002.1
chrUn_KN150003v1 19572 unplaced primary NW_008805418.1,KN150003.1
chrUn_KN150004v1 11444 unplaced primary NW_003334666.2,KN150004.1
chrUn_KN150005v1 34409 unplaced primary NW_003336945.1,KN150005.1
chrUn_KN150006v1 10518 unplaced primary NW_003336825.1,KN150006.1
chrUn_KN150007v1 13072 unplaced primary NW_003336659.1,KN150007.1
chrUn_KN150008v1 15572 unplaced primary NW_003337256.1,KN150008.1
chrUn_KN150009v1 17727 unplaced primary NW_003336489.1,KN150009.1
chrUn_KN150010v1 14703 unplaced primary NW_003337119.1,KN150010.1
chrUn_KN150011v1 12995 unplaced primary NW_003336777.1,KN150011.1
chrUn_KN150012v1 11998 unplaced primary NW_008805419.1,KN150012.1
chrUn_KN150013v1 8488 unplaced primary NW_003334233.2,KN150013.1
chrUn_KN150014v1 13588 unplaced primary NW_003337111.1,KN150014.1
chrUn_KN150015v1 33441 unplaced primary NW_003337220.1,KN150015.1
chrUn_KN150016v1 21592 unplaced primary NW_003335387.1,KN150016.1
chrUn_KN150017v1 25636 unplaced primary NW_003337217.1,KN150017.1
chrUn_KN150018v1 1063 unplaced primary NW_008805420.1,KN150018.1
chrUn_KN150019v1 28998 unplaced primary NW_003337129.1,KN150019.1
chrUn_KN150020v1 11925 unplaced primary NW_003336607.1,KN150020.1
chrUn_KN150021v1 103967 unplaced primary NW_003337037.1,KN150021.1
chrUn_KN150022v1 76538 unplaced primary NW_003336365.1,KN150022.1
chrUn_KN150023v1 22153 unplaced primary NW_003336353.1,KN150023.1
chrUn_KN150024v1 1714 unplaced primary NW_003336344.1,KN150024.1
chrUn_KN150025v1 26343 unplaced primary NW_003337067.1,KN150025.1
chrUn_KN150026v1 1755 unplaced primary NW_003337185.1,KN150026.1
chrUn_KN150027v1 2148 unplaced primary NW_008805421.1,KN150027.1
chrUn_KN150028v1 19517 unplaced primary NW_008805422.1,KN150028.1
chrUn_KN150029v1 12415 unplaced primary NW_008805423.1,KN150029.1
chrUn_KN150030v1 57074 unplaced primary NW_003336951.2,KN150030.1
chrUn_KN150031v1 60899 unplaced primary NW_003337200.1,KN150031.1
chrUn_KN150032v1 29546 unplaced primary NW_003336336.1,KN150032.1
chrUn_KN150033v1 56448 unplaced primary NW_003336670.1,KN150033.1
chrUn_KN150034v1 1919 unplaced primary NW_008805424.1,KN150034.1
chrUn_KN150035v1 38086 unplaced primary NW_003334265.1,KN150035.1
chrUn_KN150036v1 4412 unplaced primary NW_008805425.1,KN150036.1
chrUn_KN150037v1 2866 unplaced primary NW_003336693.1,KN150037.1
chrUn_KN150038v1 71326 unplaced primary NW_003336974.1,KN150038.1
chrUn_KN150039v1 3463 unplaced primary NW_003335647.1,KN150039.1
chrUn_KN150040v1 19896 unplaced primary NW_008805426.1,KN150040.1
chrUn_KN150041v1 58003 unplaced primary NW_003334673.2,KN150041.1
chrUn_KN150042v1 30789 unplaced primary NW_003335185.2,KN150042.1
chrUn_KN150043v1 31984 unplaced primary NW_008805427.1,KN150043.1
chrUn_KN150044v1 9097 unplaced primary NW_003334669.1,KN150044.1
chrUn_KN150045v1 23207 unplaced primary NW_008805428.1,KN150045.1
chrUn_KN150046v1 148772 unplaced primary NW_003336786.1,KN150046.1
chrUn_KN150047v1 20749 unplaced primary NW_003337234.1,KN150047.1
chrUn_KN150048v1 128109 unplaced primary NW_003336792.1,KN150048.1
chrUn_KN150049v1 45008 unplaced primary NW_003336830.1,KN150049.1
chrUn_KN150050v1 8203 unplaced primary NW_008805429.1,KN150050.1
chrUn_KN150051v1 1995 unplaced primary NW_008805430.1,KN150051.1
chrUn_KN150052v1 15943 unplaced primary NW_003335153.1,KN150052.1
chrUn_KN150053v1 32328 unplaced primary NW_003335494.1,KN150053.1
chrUn_KN150054v1 16143 unplaced primary NW_003336990.1,KN150054.1
chrUn_KN150055v1 32561 unplaced primary NW_003335922.2,KN150055.1
chrUn_KN150056v1 29449 unplaced primary NW_008805431.1,KN150056.1
chrUn_KN150057v1 10736 unplaced primary NW_003336282.1,KN150057.1
chrUn_KN150058v1 21348 unplaced primary NW_003336625.1,KN150058.1
chrUn_KN150059v1 16588 unplaced primary NW_003334628.1,KN150059.1
chrUn_KN150060v1 80234 unplaced primary NW_003336912.2,KN150060.1
chrUn_KN150061v1 24048 unplaced primary NW_003336820.1,KN150061.1
chrUn_KN150062v1 35038 unplaced primary NW_003336370.1,KN150062.1
chrUn_KN150063v1 20846 unplaced primary NW_003335276.1,KN150063.1
chrUn_KN150064v1 14598 unplaced primary NW_003337176.1,KN150064.1
chrUn_KN150065v1 9859 unplaced primary NW_008805432.1,KN150065.1
chrUn_KN150066v1 29537 unplaced primary NW_003336574.1,KN150066.1
chrUn_KN150067v1 27325 unplaced primary NW_003336420.1,KN150067.1
chrUn_KN150068v1 62725 unplaced primary NW_003336525.1,KN150068.1
chrUn_KN150069v1 12799 unplaced primary NW_003336668.1,KN150069.1
chrUn_KN150070v1 14070 unplaced primary NW_008805433.1,KN150070.1
chrUn_KN150071v1 14960 unplaced primary NW_003336739.1,KN150071.1
chrUn_KN150072v1 13309 unplaced primary NW_003335332.2,KN150072.1
chrUn_KN150073v1 14052 unplaced primary NW_008805434.1,KN150073.1
chrUn_KN150074v1 28653 unplaced primary NW_003335891.1,KN150074.1
chrUn_KN150075v1 13883 unplaced primary NW_003335005.1,KN150075.1
chrUn_KN150076v1 14425 unplaced primary NW_003336326.1,KN150076.1
chrUn_KN150077v1 51360 unplaced primary NW_003336780.1,KN150077.1
chrUn_KN150078v1 12098 unplaced primary NW_003334214.1,KN150078.1
chrUn_KN150079v1 46800 unplaced primary NW_003336064.1,KN150079.1
chrUn_KN150080v1 37662 unplaced primary NW_003336501.1,KN150080.1
chrUn_KN150081v1 12836 unplaced primary NW_003336620.1,KN150081.1
chrUn_KN150082v1 8788 unplaced primary NW_003336755.1,KN150082.1
chrUn_KN150083v1 49514 unplaced primary NW_003337125.1,KN150083.1
chrUn_KN150084v1 24192 unplaced primary NW_003336468.1,KN150084.1
chrUn_KN150085v1 29177 unplaced primary NW_003334395.2,KN150085.1
chrUn_KN150086v1 1639 unplaced primary NW_003337228.1,KN150086.1
chrUn_KN150087v1 11020 unplaced primary NW_003337163.1,KN150087.1
chrUn_KN150088v1 24203 unplaced primary NW_003336639.1,KN150088.1
chrUn_KN150089v1 13104 unplaced primary NW_008805435.1,KN150089.1
chrUn_KN150090v1 12028 unplaced primary NW_003336362.1,KN150090.1
chrUn_KN150091v1 36410 unplaced primary NW_003334767.1,KN150091.1
chrUn_KN150092v1 14544 unplaced primary NW_003337253.1,KN150092.1
chrUn_KN150093v1 14738 unplaced primary NW_008805436.1,KN150093.1
chrUn_KN150094v1 7824 unplaced primary NW_008805437.1,KN150094.1
chrUn_KN150095v1 9204 unplaced primary NW_008805438.1,KN150095.1
chrUn_KN150096v1 11550 unplaced primary NW_008805439.1,KN150096.1
chrUn_KN150097v1 11690 unplaced primary NW_003336961.1,KN150097.1
chrUn_KN150098v1 68279 unplaced primary NW_003335654.1,KN150098.1
chrUn_KN150099v1 79937 unplaced primary NW_003337130.1,KN150099.1
chrUn_KN150100v1 9237 unplaced primary NW_003334852.2,KN150100.1
chrUn_KN150101v1 25174 unplaced primary NW_003335231.1,KN150101.1
chrUn_KN150102v1 34431 unplaced primary NW_003337197.1,KN150102.1
chrUn_KN150103v1 4090 unplaced primary NW_008805440.1,KN150103.1
chrUn_KN150104v1 53188 unplaced primary NW_003335567.1,KN150104.1
chrUn_KN150105v1 58062 unplaced primary NW_003337145.1,KN150105.1
chrUn_KN150106v1 56524 unplaced primary NW_003334032.1,KN150106.1
chrUn_KN150107v1 78223 unplaced primary NW_003336664.1,KN150107.1
chrUn_KN150108v1 19459 unplaced primary NW_003336241.2,KN150108.1
chrUn_KN150109v1 5564 unplaced primary NW_003335000.1,KN150109.1
chrUn_KN150110v1 9804 unplaced primary NW_003336548.1,KN150110.1
chrUn_KN150111v1 29931 unplaced primary NW_003335663.1,KN150111.1
chrUn_KN150112v1 3423 unplaced primary NW_003334114.1,KN150112.1
chrUn_KN150113v1 19310 unplaced primary NW_003336808.1,KN150113.1
chrUn_KN150114v1 24178 unplaced primary NW_003336645.1,KN150114.1
chrUn_KN150115v1 18676 unplaced primary NW_008805441.1,KN150115.1
chrUn_KN150116v1 15497 unplaced primary NW_003336506.1,KN150116.1
chrUn_KN150117v1 48543 unplaced primary NW_003336299.1,KN150117.1
chrUn_KN150118v1 54494 unplaced primary NW_003337121.1,KN150118.1
chrUn_KN150119v1 1143 unplaced primary NW_008805442.1,KN150119.1
chrUn_KN150120v1 27511 unplaced primary NW_008805443.1,KN150120.1
chrUn_KN150121v1 8447 unplaced primary NW_003337032.1,KN150121.1
chrUn_KN150122v1 67534 unplaced primary NW_003337033.1,KN150122.1
chrUn_KN150123v1 51978 unplaced primary NW_003334680.2,KN150123.1
chrUn_KN150124v1 27208 unplaced primary NW_003335791.1,KN150124.1
chrUn_KN150125v1 83315 unplaced primary NW_003337013.1,KN150125.1
chrUn_KN150126v1 24847 unplaced primary NW_003336385.1,KN150126.1
chrUn_KN150127v1 33302 unplaced primary NW_003336678.1,KN150127.1
chrUn_KN150128v1 12262 unplaced primary NW_003336812.1,KN150128.1
chrUn_KN150129v1 107891 unplaced primary NW_003337085.1,KN150129.1
chrUn_KN150130v1 9925 unplaced primary NW_008805444.1,KN150130.1
chrUn_KN150131v1 70868 unplaced primary NW_008805445.1,KN150131.1
chrUn_KN150132v1 13999 unplaced primary NW_003336900.1,KN150132.1
chrUn_KN150133v1 82225 unplaced primary NW_003334034.1,KN150133.1
chrUn_KN150134v1 29067 unplaced primary NW_003336226.1,KN150134.1
chrUn_KN150135v1 6944 unplaced primary NW_003334912.1,KN150135.1
chrUn_KN150136v1 49373 unplaced primary NW_003336484.1,KN150136.1
chrUn_KN150137v1 36779 unplaced primary NW_003336679.1,KN150137.1
chrUn_KN150138v1 14383 unplaced primary NW_003336688.1,KN150138.1
chrUn_KN150139v1 16647 unplaced primary NW_008805446.1,KN150139.1
chrUn_KN150140v1 32180 unplaced primary NW_003336878.2,KN150140.1
chrUn_KN150141v1 17117 unplaced primary NW_003335166.2,KN150141.1
chrUn_KN150142v1 16050 unplaced primary NW_003336182.2,KN150142.1
chrUn_KN150143v1 4977 unplaced primary NW_008805447.1,KN150143.1
chrUn_KN150144v1 14974 unplaced primary NW_003336479.1,KN150144.1
chrUn_KN150145v1 9970 unplaced primary NW_008805448.1,KN150145.1
chrUn_KN150146v1 9714 unplaced primary NW_003337126.1,KN150146.1
chrUn_KN150147v1 7977 unplaced primary NW_003335184.2,KN150147.1
chrUn_KN150148v1 44589 unplaced primary NW_003337040.2,KN150148.1
chrUn_KN150149v1 3784 unplaced primary NW_003336789.1,KN150149.1
chrUn_KN150150v1 9780 unplaced primary NW_008805449.1,KN150150.1
chrUn_KN150151v1 27317 unplaced primary NW_003336908.1,KN150151.1
chrUn_KN150152v1 9348 unplaced primary NW_008805450.1,KN150152.1
chrUn_KN150153v1 1545 unplaced primary NW_003334841.1,KN150153.1
chrUn_KN150154v1 21695 unplaced primary NW_003335322.1,KN150154.1
chrUn_KN150155v1 10282 unplaced primary NW_008805451.1,KN150155.1
chrUn_KN150156v1 33247 unplaced primary NW_003337259.1,KN150156.1
chrUn_KN150157v1 18756 unplaced primary NW_003337224.1,KN150157.1
chrUn_KN150158v1 106536 unplaced primary NW_003335383.2,KN150158.1
chrUn_KN150159v1 35229 unplaced primary NW_003337196.1,KN150159.1
chrUn_KN150160v1 17824 unplaced primary NW_003336286.1,KN150160.1
chrUn_KN150161v1 12647 unplaced primary NW_008805452.1,KN150161.1
chrUn_KN150162v1 10930 unplaced primary NW_003336381.1,KN150162.1
chrUn_KN150163v1 1082 unplaced primary NW_008805453.1,KN150163.1
chrUn_KN150164v1 11300 unplaced primary NW_003335796.1,KN150164.1
chrUn_KN150165v1 32739 unplaced primary NW_003336925.1,KN150165.1
chrUn_KN150166v1 49457 unplaced primary NW_003336541.1,KN150166.1
chrUn_KN150167v1 13466 unplaced primary NW_003336392.1,KN150167.1
chrUn_KN150168v1 28382 unplaced primary NW_003336254.1,KN150168.1
chrUn_KN150169v1 7260 unplaced primary NW_003334119.1,KN150169.1
chrUn_KN150170v1 55716 unplaced primary NW_003336404.2,KN150170.1
chrUn_KN150171v1 140649 unplaced primary NW_003336964.1,KN150171.1
chrUn_KN150172v1 40634 unplaced primary NW_008805454.1,KN150172.1
chrUn_KN150173v1 50946 unplaced primary NW_003336455.2,KN150173.1
chrUn_KN150174v1 13450 unplaced primary NW_008805455.1,KN150174.1
chrUn_KN150175v1 24612 unplaced primary NW_003337250.1,KN150175.1
chrUn_KN150176v1 69061 unplaced primary NW_003334499.2,KN150176.1
chrUn_KN150177v1 21670 unplaced primary NW_003336928.1,KN150177.1
chrUn_KN150178v1 28040 unplaced primary NW_003336606.2,KN150178.1
chrUn_KN150179v1 47473 unplaced primary NW_003336461.1,KN150179.1
chrUn_KN150180v1 1872 unplaced primary NW_003337031.1,KN150180.1
chrUn_KN150181v1 32761 unplaced primary NW_003335920.1,KN150181.1
chrUn_KN150182v1 11735 unplaced primary NW_003337162.1,KN150182.1
chrUn_KN150183v1 22266 unplaced primary NW_003334281.1,KN150183.1
chrUn_KN150184v1 16312 unplaced primary NW_003336327.1,KN150184.1
chrUn_KN150185v1 8651 unplaced primary NW_003336293.1,KN150185.1
chrUn_KN150186v1 23923 unplaced primary NW_003334071.2,KN150186.1
chrUn_KN150187v1 19179 unplaced primary NW_003336328.1,KN150187.1
chrUn_KN150188v1 9856 unplaced primary NW_008805456.1,KN150188.1
chrUn_KN150189v1 38868 unplaced primary NW_003336699.1,KN150189.1
chrUn_KN150190v1 11399 unplaced primary NW_003336858.1,KN150190.1
chrUn_KN150191v1 42303 unplaced primary NW_003334899.1,KN150191.1
chrUn_KN150192v1 1918 unplaced primary NW_008805457.1,KN150192.1
chrUn_KN150193v1 12580 unplaced primary NW_003336332.1,KN150193.1
chrUn_KN150194v1 13629 unplaced primary NW_003336375.1,KN150194.1
chrUn_KN150195v1 18921 unplaced primary NW_003336913.1,KN150195.1
chrUn_KN150196v1 89077 unplaced primary NW_008805458.1,KN150196.1
chrUn_KN150197v1 14532 unplaced primary NW_003337171.1,KN150197.1
chrUn_KN150198v1 18196 unplaced primary NW_003336446.1,KN150198.1
chrUn_KN150199v1 16564 unplaced primary NW_003336871.1,KN150199.1
chrUn_KN150200v1 31861 unplaced primary NW_008805459.1,KN150200.1
chrUn_KN150201v1 9480 unplaced primary NW_003336661.1,KN150201.1
chrUn_KN150202v1 15451 unplaced primary NW_003337002.1,KN150202.1
chrUn_KN150203v1 24004 unplaced primary NW_003337189.1,KN150203.1
chrUn_KN150204v1 95149 unplaced primary NW_003337204.1,KN150204.1
chrUn_KN150205v1 2620 unplaced primary NW_003337172.1,KN150205.1
chrUn_KN150206v1 2052 unplaced primary NW_003336388.1,KN150206.1
chrUn_KN150207v1 117821 unplaced primary NW_003335281.1,KN150207.1
chrUn_KN150208v1 33163 unplaced primary NW_003336930.1,KN150208.1
chrUn_KN150209v1 4398 unplaced primary NW_008805460.1,KN150209.1
chrUn_KN150210v1 12550 unplaced primary NW_003337136.1,KN150210.1
chrUn_KN150211v1 16386 unplaced primary NW_003336376.1,KN150211.1
chrUn_KN150212v1 18932 unplaced primary NW_003335408.1,KN150212.1
chrUn_KN150213v1 16101 unplaced primary NW_008805461.1,KN150213.1
chrUn_KN150214v1 162877 unplaced primary NW_003336732.1,KN150214.1
chrUn_KN150215v1 1237 unplaced primary NW_003334517.2,KN150215.1
chrUn_KN150216v1 1020 unplaced primary NW_008805462.1,KN150216.1
chrUn_KN150217v1 13840 unplaced primary NW_008805463.1,KN150217.1
chrUn_KN150218v1 15354 unplaced primary NW_003336601.1,KN150218.1
chrUn_KN150219v1 16672 unplaced primary NW_003336553.1,KN150219.1
chrUn_KN150220v1 29625 unplaced primary NW_003335052.1,KN150220.1
chrUn_KN150221v1 28122 unplaced primary NW_003336895.1,KN150221.1
chrUn_KN150222v1 110669 unplaced primary NW_003336730.1,KN150222.1
chrUn_KN150223v1 1141 unplaced primary NW_008805464.1,KN150223.1
chrUn_KN150224v1 24154 unplaced primary NW_003335355.2,KN150224.1
chrUn_KN150225v1 20429 unplaced primary NW_008805465.1,KN150225.1
chrUn_KN150226v1 25293 unplaced primary NW_003334453.1,KN150226.1
chrUn_KN150227v1 31979 unplaced primary NW_003336903.1,KN150227.1
chrUn_KN150228v1 17061 unplaced primary NW_003337202.1,KN150228.1
chrUn_KN150229v1 1251 unplaced primary NW_003336632.1,KN150229.1
chrUn_KN150230v1 149710 unplaced primary NW_003335764.1,KN150230.1
chrUn_KN150231v1 2322 unplaced primary NW_008805466.1,KN150231.1
chrUn_KN150232v1 53540 unplaced primary NW_003336350.1,KN150232.1
chrUn_KN150233v1 2246 unplaced primary NW_003336429.1,KN150233.1
chrUn_KN150234v1 18511 unplaced primary NW_003336769.1,KN150234.1
chrUn_KN150235v1 13664 unplaced primary NW_008805467.1,KN150235.1
chrUn_KN150236v1 19315 unplaced primary NW_008805468.1,KN150236.1
chrUn_KN150237v1 1732 unplaced primary NW_003336914.1,KN150237.1
chrUn_KN150238v1 9450 unplaced primary NW_003336515.1,KN150238.1
chrUn_KN150239v1 33607 unplaced primary NW_003337230.1,KN150239.1
chrUn_KN150240v1 31723 unplaced primary NW_003335884.2,KN150240.1
chrUn_KN150241v1 60821 unplaced primary NW_003336647.1,KN150241.1
chrUn_KN150242v1 20063 unplaced primary NW_003334219.2,KN150242.1
chrUn_KN150243v1 44953 unplaced primary NW_003336949.2,KN150243.1
chrUn_KN150244v1 42860 unplaced primary NW_003336894.1,KN150244.1
chrUn_KN150245v1 8814 unplaced primary NW_008805469.1,KN150245.1
chrUn_KN150246v1 15365 unplaced primary NW_008805470.1,KN150246.1
chrUn_KN150247v1 728 unplaced primary NW_008805471.1,KN150247.1
chrUn_KN150248v1 18273 unplaced primary NW_003337198.1,KN150248.1
chrUn_KN150249v1 12261 unplaced primary NW_003336377.1,KN150249.1
chrUn_KN150250v1 13560 unplaced primary NW_008805472.1,KN150250.1
chrUn_KN150251v1 26988 unplaced primary NW_008805473.1,KN150251.1
chrUn_KN150252v1 43133 unplaced primary NW_003334150.2,KN150252.1
chrUn_KN150253v1 3149 unplaced primary NW_003336972.2,KN150253.1
chrUn_KN150254v1 12144 unplaced primary NW_003336921.1,KN150254.1
chrUn_KN150255v1 36661 unplaced primary NW_003336517.1,KN150255.1
chrUn_KN150256v1 17390 unplaced primary NW_003336356.1,KN150256.1
chrUn_KN150257v1 12735 unplaced primary NW_003336819.1,KN150257.1
chrUn_KN150258v1 95885 unplaced primary NW_003337070.1,KN150258.1
chrUn_KN150259v1 50098 unplaced primary NW_003336396.1,KN150259.1
chrUn_KN150260v1 12318 unplaced primary NW_003337096.1,KN150260.1
chrUn_KN150261v1 5601 unplaced primary NW_008805474.1,KN150261.1
chrUn_KN150262v1 81659 unplaced primary NW_008805475.1,KN150262.1
chrUn_KN150263v1 31336 unplaced primary NW_003336283.1,KN150263.1
chrUn_KN150264v1 16955 unplaced primary NW_003334519.2,KN150264.1
chrUn_KN150265v1 51555 unplaced primary NW_003335278.1,KN150265.1
chrUn_KN150266v1 78263 unplaced primary NW_003336232.1,KN150266.1
chrUn_KN150267v1 77778 unplaced primary NW_003337203.1,KN150267.1
chrUn_KN150268v1 15280 unplaced primary NW_008805476.1,KN150268.1
chrUn_KN150269v1 48062 unplaced primary NW_003336662.1,KN150269.1
chrUn_KN150270v1 22285 unplaced primary NW_003337159.1,KN150270.1
chrUn_KN150271v1 12637 unplaced primary NW_003336846.1,KN150271.1
chrUn_KN150272v1 34295 unplaced primary NW_003336573.1,KN150272.1
chrUn_KN150273v1 81940 unplaced primary NW_003335280.1,KN150273.1
chrUn_KN150274v1 12247 unplaced primary NW_003336884.1,KN150274.1
chrUn_KN150275v1 13800 unplaced primary NW_003336488.1,KN150275.1
chrUn_KN150276v1 12942 unplaced primary NW_003336666.1,KN150276.1
chrUn_KN150277v1 1954 unplaced primary NW_008805477.1,KN150277.1
chrUn_KN150278v1 30978 unplaced primary NW_003337101.1,KN150278.1
chrUn_KN150279v1 11402 unplaced primary NW_003337080.1,KN150279.1
chrUn_KN150280v1 10487 unplaced primary NW_008805478.1,KN150280.1
chrUn_KN150281v1 3763 unplaced primary NW_008805479.1,KN150281.1
chrUn_KN150282v1 23758 unplaced primary NW_003336036.1,KN150282.1
chrUn_KN150283v1 13933 unplaced primary NW_008805480.1,KN150283.1
chrUn_KN150284v1 18131 unplaced primary NW_003336443.1,KN150284.1
chrUn_KN150285v1 25361 unplaced primary NW_003334203.1,KN150285.1
chrUn_KN150286v1 9068 unplaced primary NW_008805481.1,KN150286.1
chrUn_KN150287v1 11856 unplaced primary NW_003337239.1,KN150287.1
chrUn_KN150288v1 12496 unplaced primary NW_008805482.1,KN150288.1
chrUn_KN150289v1 22206 unplaced primary NW_003336437.1,KN150289.1
chrUn_KN150290v1 18248 unplaced primary NW_003337065.1,KN150290.1
chrUn_KN150291v1 25796 unplaced primary NW_003336764.1,KN150291.1
chrUn_KN150292v1 9984 unplaced primary NW_003337025.1,KN150292.1
chrUn_KN150293v1 40764 unplaced primary NW_008805483.1,KN150293.1
chrUn_KN150294v1 1627 unplaced primary NW_008805484.1,KN150294.1
chrUn_KN150295v1 5486 unplaced primary NW_008805485.1,KN150295.1
chrUn_KN150296v1 10238 unplaced primary NW_003336834.1,KN150296.1
chrUn_KN150297v1 23472 unplaced primary NW_003337028.1,KN150297.1
chrUn_KN150298v1 1322 unplaced primary NW_008805486.1,KN150298.1
chrUn_KN150299v1 23511 unplaced primary NW_003337154.1,KN150299.1
chrUn_KN150300v1 9489 unplaced primary NW_003336674.1,KN150300.1
chrUn_KN150301v1 18664 unplaced primary NW_003336572.2,KN150301.1
chrUn_KN150302v1 13538 unplaced primary NW_008805487.1,KN150302.1
chrUn_KN150303v1 39288 unplaced primary NW_008805488.1,KN150303.1
chrUn_KN150304v1 10004 unplaced primary NW_008805489.1,KN150304.1
chrUn_KN150305v1 23261 unplaced primary NW_003336298.1,KN150305.1
chrUn_KN150306v1 36728 unplaced primary NW_003336603.1,KN150306.1
chrUn_KN150307v1 9167 unplaced primary NW_003336554.1,KN150307.1
chrUn_KN150308v1 18907 unplaced primary NW_003337131.2,KN150308.1
chrUn_KN150309v1 20999 unplaced primary NW_003336529.1,KN150309.1
chrUn_KN150310v1 20509 unplaced primary NW_008805490.1,KN150310.1
chrUn_KN150311v1 15747 unplaced primary NW_003337042.1,KN150311.1
chrUn_KN150312v1 17282 unplaced primary NW_008805491.1,KN150312.1
chrUn_KN150313v1 20655 unplaced primary NW_003336176.2,KN150313.1
chrUn_KN150314v1 12455 unplaced primary NW_003337059.1,KN150314.1
chrUn_KN150315v1 20424 unplaced primary NW_003337219.1,KN150315.1
chrUn_KN150316v1 11489 unplaced primary NW_008805492.1,KN150316.1
chrUn_KN150317v1 14866 unplaced primary NW_008805493.1,KN150317.1
chrUn_KN150318v1 2580 unplaced primary NW_008805494.1,KN150318.1
chrUn_KN150319v1 15807 unplaced primary NW_003336810.1,KN150319.1
chrUn_KN150320v1 1241 unplaced primary NW_008805495.1,KN150320.1
chrUn_KN150321v1 3079 unplaced primary NW_008805496.1,KN150321.1
chrUn_KN150322v1 19644 unplaced primary NW_008805497.1,KN150322.1
chrUn_KN150323v1 18137 unplaced primary NW_003336675.1,KN150323.1
chrUn_KN150324v1 24032 unplaced primary NW_003334033.1,KN150324.1
chrUn_KN150325v1 19525 unplaced primary NW_003336599.1,KN150325.1
chrUn_KN150326v1 109565 unplaced primary NW_003336663.1,KN150326.1
chrUn_KN150327v1 19949 unplaced primary NW_008805498.1,KN150327.1
chrUn_KN150328v1 17410 unplaced primary NW_003336978.1,KN150328.1
chrUn_KN150329v1 13297 unplaced primary NW_003337127.1,KN150329.1
chrUn_KN150330v1 28440 unplaced primary NW_003334988.2,KN150330.1
chrUn_KN150331v1 44968 unplaced primary NW_003336940.1,KN150331.1
chrUn_KN150332v1 22862 unplaced primary NW_003336784.1,KN150332.1
chrUn_KN150333v1 12275 unplaced primary NW_003335050.1,KN150333.1
chrUn_KN150334v1 22542 unplaced primary NW_003336876.1,KN150334.1
chrUn_KN150335v1 44504 unplaced primary NW_003337117.1,KN150335.1
chrUn_KN150336v1 48672 unplaced primary NW_003334683.1,KN150336.1
chrUn_KN150337v1 20260 unplaced primary NW_003336442.1,KN150337.1
chrUn_KN150338v1 1142 unplaced primary NW_003336815.1,KN150338.1
chrUn_KN150339v1 75108 unplaced primary NW_003334369.1,KN150339.1
chrUn_KN150340v1 28741 unplaced primary NW_003334670.1,KN150340.1
chrUn_KN150341v1 31147 unplaced primary NW_003337182.1,KN150341.1
chrUn_KN150342v1 82590 unplaced primary NW_003335650.1,KN150342.1
chrUn_KN150343v1 26928 unplaced primary NW_003336806.1,KN150343.1
chrUn_KN150344v1 19681 unplaced primary NW_008805499.1,KN150344.1
chrUn_KN150345v1 17012 unplaced primary NW_003337008.2,KN150345.1
chrUn_KN150346v1 70538 unplaced primary NW_003336813.1,KN150346.1
chrUn_KN150347v1 51528 unplaced primary NW_003336513.1,KN150347.1
chrUn_KN150348v1 42704 unplaced primary NW_003336418.1,KN150348.1
chrUn_KN150349v1 29114 unplaced primary NW_003336956.1,KN150349.1
chrUn_KN150350v1 9245 unplaced primary NW_003336410.1,KN150350.1
chrUn_KN150351v1 49608 unplaced primary NW_003336758.1,KN150351.1
chrUn_KN150352v1 15907 unplaced primary NW_003336681.1,KN150352.1
chrUn_KN150353v1 19631 unplaced primary NW_003336715.1,KN150353.1
chrUn_KN150354v1 1452 unplaced primary NW_003336475.1,KN150354.1
chrUn_KN150355v1 6731 unplaced primary NW_003337006.1,KN150355.1
chrUn_KN150356v1 1177 unplaced primary NW_008805500.1,KN150356.1
chrUn_KN150357v1 27326 unplaced primary NW_003337192.1,KN150357.1
chrUn_KN150358v1 9951 unplaced primary NW_008805501.1,KN150358.1
chrUn_KN150359v1 71383 unplaced primary NW_003337027.1,KN150359.1
chrUn_KN150360v1 15639 unplaced primary NW_003336934.1,KN150360.1
chrUn_KN150361v1 53624 unplaced primary NW_008805502.1,KN150361.1
chrUn_KN150362v1 17145 unplaced primary NW_003336636.1,KN150362.1
chrUn_KN150363v1 22766 unplaced primary NW_003336387.2,KN150363.1
chrUn_KN150364v1 15084 unplaced primary NW_003336746.1,KN150364.1
chrUn_KN150365v1 10769 unplaced primary NW_008805503.1,KN150365.1
chrUn_KN150366v1 10057 unplaced primary NW_003336766.1,KN150366.1
chrUn_KN150367v1 1114 unplaced primary NW_008805504.1,KN150367.1
chrUn_KN150368v1 18491 unplaced primary NW_003336088.1,KN150368.1
chrUn_KN150369v1 11460 unplaced primary NW_003336929.1,KN150369.1
chrUn_KN150370v1 1323 unplaced primary NW_008805505.1,KN150370.1
chrUn_KN150371v1 13836 unplaced primary NW_003336374.1,KN150371.1
chrUn_KN150372v1 29560 unplaced primary NW_003337097.1,KN150372.1
chrUn_KN150373v1 13130 unplaced primary NW_003336391.1,KN150373.1
chrUn_KN150374v1 9775 unplaced primary NW_003336772.2,KN150374.1
chrUn_KN150375v1 111208 unplaced primary NW_008805506.1,KN150375.1
chrUn_KN150376v1 39971 unplaced primary NW_008805507.1,KN150376.1
chrUn_KN150377v1 5727 unplaced primary NW_003334718.1,KN150377.1
chrUn_KN150378v1 4206 unplaced primary NW_003337102.1,KN150378.1
chrUn_KN150379v1 29907 unplaced primary NW_003336918.1,KN150379.1
chrUn_KN150380v1 12144 unplaced primary NW_003337115.1,KN150380.1
chrUn_KN150381v1 8595 unplaced primary NW_003336129.1,KN150381.1
chrUn_KN150382v1 14074 unplaced primary NW_003336287.1,KN150382.1
chrUn_KN150383v1 7777 unplaced primary NW_003335266.1,KN150383.1
chrUn_KN150384v1 22969 unplaced primary NW_003337193.1,KN150384.1
chrUn_KN150385v1 37055 unplaced primary NW_003335289.1,KN150385.1
chrUn_KN150386v1 35900 unplaced primary NW_003337183.1,KN150386.1
chrUn_KN150387v1 15215 unplaced primary NW_003336845.1,KN150387.1
chrUn_KN150388v1 22284 unplaced primary NW_008805508.1,KN150388.1
chrUn_KN150389v1 10334 unplaced primary NW_008805509.1,KN150389.1
chrUn_KN150390v1 19066 unplaced primary NW_003336331.2,KN150390.1
chrUn_KN150391v1 26543 unplaced primary NW_003335573.1,KN150391.1
chrUn_KN150392v1 12069 unplaced primary NW_003336185.1,KN150392.1
chrUn_KN150393v1 12073 unplaced primary NW_008805510.1,KN150393.1
chrUn_KN150394v1 17139 unplaced primary NW_003337222.1,KN150394.1
chrUn_KN150395v1 9792 unplaced primary NW_003336361.1,KN150395.1
chrUn_KN150396v1 8176 unplaced primary NW_003337207.1,KN150396.1
chrUn_KN150397v1 17295 unplaced primary NW_003336593.1,KN150397.1
chrUn_KN150398v1 39557 unplaced primary NW_003336425.1,KN150398.1
chrUn_KN150399v1 19362 unplaced primary NW_003337242.1,KN150399.1
chrUn_KN150400v1 34930 unplaced primary NW_003337146.1,KN150400.1
chrUn_KN150401v1 10081 unplaced primary NW_003336665.1,KN150401.1
chrUn_KN150402v1 47971 unplaced primary NW_003336537.1,KN150402.1
chrUn_KN150403v1 34697 unplaced primary NW_003336855.1,KN150403.1
chrUn_KN150404v1 18160 unplaced primary NW_008805511.1,KN150404.1
chrUn_KN150405v1 76919 unplaced primary NW_003335907.1,KN150405.1
chrUn_KN150406v1 17215 unplaced primary NW_003334182.1,KN150406.1
chrUn_KN150407v1 31814 unplaced primary NW_003336727.1,KN150407.1
chrUn_KN150408v1 37191 unplaced primary NW_003337083.1,KN150408.1
chrUn_KN150409v1 1729 unplaced primary NW_008805512.1,KN150409.1
chrUn_KN150410v1 14841 unplaced primary NW_008805513.1,KN150410.1
chrUn_KN150411v1 20886 unplaced primary NW_003336533.1,KN150411.1
chrUn_KN150412v1 9605 unplaced primary NW_008805514.1,KN150412.1
chrUn_KN150413v1 15078 unplaced primary NW_003337251.1,KN150413.1
chrUn_KN150414v1 35871 unplaced primary NW_003337046.1,KN150414.1
chrUn_KN150415v1 70574 unplaced primary NW_003336416.1,KN150415.1
chrUn_KN150416v1 33835 unplaced primary NW_003337161.1,KN150416.1
chrUn_KN150417v1 2254 unplaced primary NW_008805515.1,KN150417.1
chrUn_KN150418v1 14930 unplaced primary NW_008805516.1,KN150418.1
chrUn_KN150419v1 14114 unplaced primary NW_003337233.1,KN150419.1
chrUn_KN150420v1 14290 unplaced primary NW_008805517.1,KN150420.1
chrUn_KN150421v1 14951 unplaced primary NW_003336994.1,KN150421.1
chrUn_KN150422v1 15053 unplaced primary NW_003336621.1,KN150422.1
chrUn_KN150423v1 15221 unplaced primary NW_003336672.2,KN150423.1
chrUn_KN150424v1 11928 unplaced primary NW_008805518.1,KN150424.1
chrUn_KN150425v1 110593 unplaced primary NW_003336436.1,KN150425.1
chrUn_KN150426v1 21499 unplaced primary NW_003334448.1,KN150426.1
chrUn_KN150427v1 45580 unplaced primary NW_008805519.1,KN150427.1
chrUn_KN150428v1 29216 unplaced primary NW_003336422.1,KN150428.1
chrUn_KN150429v1 17683 unplaced primary NW_003337045.1,KN150429.1
chrUn_KN150430v1 16452 unplaced primary NW_003336966.1,KN150430.1
chrUn_KN150431v1 89659 unplaced primary NW_003336510.1,KN150431.1
chrUn_KN150432v1 91010 unplaced primary NW_003336612.1,KN150432.1
chrUn_KN150433v1 8322 unplaced primary NW_008805520.1,KN150433.1
chrUn_KN150434v1 12053 unplaced primary NW_003336824.1,KN150434.1
chrUn_KN150435v1 123991 unplaced primary NW_003334548.2,KN150435.1
chrUn_KN150436v1 17739 unplaced primary NW_003336998.2,KN150436.1
chrUn_KN150437v1 1262 unplaced primary NW_003335163.1,KN150437.1
chrUn_KN150438v1 7619 unplaced primary NW_008805521.1,KN150438.1
chrUn_KN150439v1 10343 unplaced primary NW_003337068.1,KN150439.1
chrUn_KN150440v1 1193 unplaced primary NW_003334844.1,KN150440.1
chrUn_KN150441v1 12439 unplaced primary NW_003336324.1,KN150441.1
chrUn_KN150442v1 67738 unplaced primary NW_003336589.1,KN150442.1
chrUn_KN150443v1 11834 unplaced primary NW_003337088.1,KN150443.1
chrUn_KN150444v1 11830 unplaced primary NW_003336989.1,KN150444.1
chrUn_KN150445v1 12072 unplaced primary NW_008805522.1,KN150445.1
chrUn_KN150446v1 12446 unplaced primary NW_008805523.1,KN150446.1
chrUn_KN150447v1 6779 unplaced primary NW_008805524.1,KN150447.1
chrUn_KN150448v1 3709 unplaced primary NW_008805525.1,KN150448.1
chrUn_KN150449v1 62607 unplaced primary NW_008805526.1,KN150449.1
chrUn_KN150450v1 25362 unplaced primary NW_008805527.1,KN150450.1
chrUn_KN150451v1 14920 unplaced primary NW_008805528.1,KN150451.1
chrUn_KN150452v1 8345 unplaced primary NW_003336441.1,KN150452.1
chrUn_KN150453v1 13591 unplaced primary NW_008805529.1,KN150453.1
chrUn_KN150454v1 18479 unplaced primary NW_003337265.1,KN150454.1
chrUn_KN150455v1 73536 unplaced primary NW_003337116.1,KN150455.1
chrUn_KN150456v1 76246 unplaced primary NW_003336453.1,KN150456.1
chrUn_KN150457v1 1076 unplaced primary NW_008805530.1,KN150457.1
chrUn_KN150458v1 17481 unplaced primary NW_003337124.1,KN150458.1
chrUn_KN150459v1 45603 unplaced primary NW_003337132.1,KN150459.1
chrUn_KN150460v1 266772 unplaced primary NW_003335395.1,KN150460.1
chrUn_KN150461v1 1000 unplaced primary NW_008805531.1,KN150461.1
chrUn_KN150462v1 24623 unplaced primary NW_003334810.2,KN150462.1
chrUn_KN150463v1 29963 unplaced primary NW_003336512.1,KN150463.1
chrUn_KN150464v1 24865 unplaced primary NW_003337179.1,KN150464.1
chrUn_KN150465v1 1765 unplaced primary NW_008805532.1,KN150465.1
chrUn_KN150466v1 41319 unplaced primary NW_003336897.1,KN150466.1
chrUn_KN150467v1 11202 unplaced primary NW_008805533.1,KN150467.1
chrUn_KN150468v1 25381 unplaced primary NW_003336414.1,KN150468.1
chrUn_KN150469v1 14614 unplaced primary NW_003336514.1,KN150469.1
chrUn_KN150470v1 2027 unplaced primary NW_003335559.1,KN150470.1
chrUn_KN150471v1 76663 unplaced primary NW_003335375.1,KN150471.1
chrUn_KN150472v1 14586 unplaced primary NW_003337034.1,KN150472.1
chrUn_KN150473v1 1285 unplaced primary NW_008805534.1,KN150473.1
chrUn_KN150474v1 312116 unplaced primary NW_003337016.1,KN150474.1
chrUn_KN150475v1 17517 unplaced primary NW_003335148.1,KN150475.1
chrUn_KN150476v1 59211 unplaced primary NW_003336445.1,KN150476.1
chrUn_KN150477v1 61693 unplaced primary NW_003337143.1,KN150477.1
chrUn_KN150478v1 25813 unplaced primary NW_003336671.1,KN150478.1
chrUn_KN150479v1 48186 unplaced primary NW_008805535.1,KN150479.1
chrUn_KN150480v1 1422 unplaced primary NW_008805536.1,KN150480.1
chrUn_KN150481v1 1008 unplaced primary NW_003334506.1,KN150481.1
chrUn_KN150482v1 14895 unplaced primary NW_008805537.1,KN150482.1
chrUn_KN150483v1 17332 unplaced primary NW_003337177.1,KN150483.1
chrUn_KN150484v1 14965 unplaced primary NW_003334956.2,KN150484.1
chrUn_KN150485v1 7348 unplaced primary NW_003337187.1,KN150485.1
chrUn_KN150486v1 8572 unplaced primary NW_008805538.1,KN150486.1
chrUn_KN150487v1 123701 unplaced primary NW_003336534.1,KN150487.1
chrUn_KN150488v1 17582 unplaced primary NW_003336507.1,KN150488.1
chrUn_KN150489v1 26739 unplaced primary NW_003336591.1,KN150489.1
chrUn_KN150490v1 23057 unplaced primary NW_008805539.1,KN150490.1
chrUn_KN150491v1 13001 unplaced primary NW_008805540.1,KN150491.1
chrUn_KN150492v1 31617 unplaced primary NW_003337261.1,KN150492.1
chrUn_KN150493v1 35575 unplaced primary NW_003336563.1,KN150493.1
chrUn_KN150494v1 10108 unplaced primary NW_003336347.1,KN150494.1
chrUn_KN150495v1 28160 unplaced primary NW_003336321.1,KN150495.1
chrUn_KN150496v1 21062 unplaced primary NW_003337150.1,KN150496.1
chrUn_KN150497v1 46188 unplaced primary NW_003336641.1,KN150497.1
chrUn_KN150498v1 34205 unplaced primary NW_003335577.1,KN150498.1
chrUn_KN150499v1 11840 unplaced primary NW_003336729.1,KN150499.1
chrUn_KN150500v1 19866 unplaced primary NW_003336968.1,KN150500.1
chrUn_KN150501v1 22392 unplaced primary NW_003334575.1,KN150501.1
chrUn_KN150502v1 13027 unplaced primary NW_008805541.1,KN150502.1
chrUn_KN150503v1 1834 unplaced primary NW_003336687.2,KN150503.1
chrUn_KN150504v1 12094 unplaced primary NW_003337122.1,KN150504.1
chrUn_KN150505v1 39265 unplaced primary NW_008805542.1,KN150505.1
chrUn_KN150506v1 14319 unplaced primary NW_008805543.1,KN150506.1
chrUn_KN150507v1 12629 unplaced primary NW_003336962.2,KN150507.1
chrUn_KN150508v1 26814 unplaced primary NW_003337071.1,KN150508.1
chrUn_KN150509v1 11846 unplaced primary NW_008805544.1,KN150509.1
chrUn_KN150510v1 13237 unplaced primary NW_003336872.1,KN150510.1
chrUn_KN150511v1 38183 unplaced primary NW_003337218.1,KN150511.1
chrUn_KN150512v1 14003 unplaced primary NW_003336733.1,KN150512.1
chrUn_KN150513v1 10220 unplaced primary NW_003336451.1,KN150513.1
chrUn_KN150514v1 19391 unplaced primary NW_003336893.1,KN150514.1
chrUn_KN150515v1 1813 unplaced primary NW_003336686.1,KN150515.1
chrUn_KN150516v1 49339 unplaced primary NW_003335321.1,KN150516.1
chrUn_KN150517v1 16171 unplaced primary NW_003336995.1,KN150517.1
chrUn_KN150518v1 40394 unplaced primary NW_008805545.1,KN150518.1
chrUn_KN150519v1 11974 unplaced primary NW_003336494.1,KN150519.1
chrUn_KN150520v1 103159 unplaced primary NW_003334254.1,KN150520.1
chrUn_KN150521v1 20896 unplaced primary NW_003337266.1,KN150521.1
chrUn_KN150522v1 12046 unplaced primary NW_003336169.1,KN150522.1
chrUn_KN150523v1 19004 unplaced primary NW_003336403.1,KN150523.1
chrUn_KN150524v1 9948 unplaced primary NW_008805546.1,KN150524.1
chrUn_KN150525v1 650 unplaced primary NW_003336558.1,KN150525.1
chrUn_KN150526v1 15513 unplaced primary NW_003336311.1,KN150526.1
chrUn_KN150527v1 20880 unplaced primary NW_003336627.1,KN150527.1
chrUn_KN150528v1 13138 unplaced primary NW_003336655.1,KN150528.1
chrUn_KN150529v1 81946 unplaced primary NW_003335906.1,KN150529.1
chrUn_KN150530v1 7299 unplaced primary NW_003336511.1,KN150530.1
chrUn_KN150531v1 15090 unplaced primary NW_008805547.1,KN150531.1
chrUn_KN150532v1 21602 unplaced primary NW_003336781.2,KN150532.1
chrUn_KN150533v1 1222 unplaced primary NW_008805548.1,KN150533.1
chrUn_KN150534v1 17661 unplaced primary NW_003337106.1,KN150534.1
chrUn_KN150535v1 2315 unplaced primary NW_008805549.1,KN150535.1
chrUn_KN150536v1 17908 unplaced primary NW_003336520.1,KN150536.1
chrUn_KN150537v1 27568 unplaced primary NW_003336426.1,KN150537.1
chrUn_KN150538v1 12119 unplaced primary NW_003337019.1,KN150538.1
chrUn_KN150539v1 23246 unplaced primary NW_003336783.1,KN150539.1
chrUn_KN150540v1 15288 unplaced primary NW_003336701.2,KN150540.1
chrUn_KN150541v1 12323 unplaced primary NW_003336946.1,KN150541.1
chrUn_KN150542v1 12167 unplaced primary NW_003336583.1,KN150542.1
chrUn_KN150543v1 2343 unplaced primary NW_003335154.1,KN150543.1
chrUn_KN150544v1 1198 unplaced primary NW_003337120.1,KN150544.1
chrUn_KN150545v1 17546 unplaced primary NW_003336473.1,KN150545.1
chrUn_KN150546v1 10851 unplaced primary NW_008805550.1,KN150546.1
chrUn_KN150547v1 37420 unplaced primary NW_003337043.1,KN150547.1
chrUn_KN150548v1 46061 unplaced primary NW_003336435.2,KN150548.1
chrUn_KN150549v1 17599 unplaced primary NW_008805551.1,KN150549.1
chrUn_KN150550v1 14915 unplaced primary NW_008805552.1,KN150550.1
chrUn_KN150551v1 9435 unplaced primary NW_003336399.1,KN150551.1
chrUn_KN150552v1 74050 unplaced primary NW_003334318.1,KN150552.1
chrUn_KN150553v1 14032 unplaced primary NW_003336237.1,KN150553.1
chrUn_KN150554v1 9251 unplaced primary NW_003336448.1,KN150554.1
chrUn_KN150555v1 9941 unplaced primary NW_008805553.1,KN150555.1
chrUn_KN150556v1 9286 unplaced primary NW_003336975.1,KN150556.1
chrUn_KN150557v1 41459 unplaced primary NW_003336471.1,KN150557.1
chrUn_KN150558v1 12115 unplaced primary NW_003336684.1,KN150558.1
chrUn_KN150559v1 26580 unplaced primary NW_003336341.1,KN150559.1
chrUn_KN150560v1 2301 unplaced primary NW_003336300.2,KN150560.1
chrUn_KN150561v1 22238 unplaced primary NW_003335113.1,KN150561.1
chrUn_KN150562v1 22875 unplaced primary NW_003336996.1,KN150562.1
chrUn_KN150563v1 11540 unplaced primary NW_008805554.1,KN150563.1
chrUn_KN150564v1 17709 unplaced primary NW_003336398.1,KN150564.1
chrUn_KN150565v1 20464 unplaced primary NW_003336308.1,KN150565.1
chrUn_KN150566v1 39318 unplaced primary NW_003334077.1,KN150566.1
chrUn_KN150567v1 49566 unplaced primary NW_003336976.1,KN150567.1
chrUn_KN150568v1 108195 unplaced primary NW_003336276.1,KN150568.1
chrUn_KN150569v1 24359 unplaced primary NW_003336754.1,KN150569.1
chrUn_KN150570v1 42279 unplaced primary NW_003335350.1,KN150570.1
chrUn_KN150571v1 16505 unplaced primary NW_003336924.1,KN150571.1
chrUn_KN150572v1 28871 unplaced primary NW_003336559.1,KN150572.1
chrUn_KN150573v1 26604 unplaced primary NW_003336747.1,KN150573.1
chrUn_KN150574v1 18499 unplaced primary NW_003337151.1,KN150574.1
chrUn_KN150575v1 11084 unplaced primary NW_003336892.1,KN150575.1
chrUn_KN150576v1 36129 unplaced primary NW_003337260.1,KN150576.1
chrUn_KN150577v1 13719 unplaced primary NW_003336742.1,KN150577.1
chrUn_KN150578v1 103698 unplaced primary NW_003336492.1,KN150578.1
chrUn_KN150579v1 23586 unplaced primary NW_003336493.1,KN150579.1
chrUn_KN150580v1 32349 unplaced primary NW_003336274.1,KN150580.1
chrUn_KN150581v1 12355 unplaced primary NW_003337107.1,KN150581.1
chrUn_KN150582v1 12396 unplaced primary NW_003336907.1,KN150582.1
chrUn_KN150583v1 1918 unplaced primary NW_008805555.1,KN150583.1
chrUn_KN150584v1 51535 unplaced primary NW_008805556.1,KN150584.1
chrUn_KN150585v1 12430 unplaced primary NW_003336630.1,KN150585.1
chrUn_KN150586v1 17388 unplaced primary NW_008805557.1,KN150586.1
chrUn_KN150587v1 8461 unplaced primary NW_008805558.1,KN150587.1
chrUn_KN150588v1 14103 unplaced primary NW_003336773.1,KN150588.1
chrUn_KN150589v1 18957 unplaced primary NW_003334902.1,KN150589.1
chrUn_KN150590v1 5798 unplaced primary NW_003336166.1,KN150590.1
chrUn_KN150591v1 8817 unplaced primary NW_003336888.1,KN150591.1
chrUn_KN150592v1 50000 unplaced primary NW_003335319.1,KN150592.1
chrUn_KN150593v1 14353 unplaced primary NW_003334536.1,KN150593.1
chrUn_KN150594v1 19382 unplaced primary NW_003336521.1,KN150594.1
chrUn_KN150595v1 12507 unplaced primary NW_008805559.1,KN150595.1
chrUn_KN150596v1 60847 unplaced primary NW_003336991.1,KN150596.1
chrUn_KN150597v1 2137 unplaced primary NW_008805560.1,KN150597.1
chrUn_KN150598v1 12499 unplaced primary NW_003336762.1,KN150598.1
chrUn_KN150599v1 19019 unplaced primary NW_003336836.1,KN150599.1
chrUn_KN150600v1 32636 unplaced primary NW_003335880.2,KN150600.1
chrUn_KN150601v1 11167 unplaced primary NW_008805561.1,KN150601.1
chrUn_KN150602v1 22730 unplaced primary NW_003336682.1,KN150602.1
chrUn_KN150603v1 98280 unplaced primary NW_003336757.1,KN150603.1
chrUn_KN150604v1 25236 unplaced primary NW_003335007.1,KN150604.1
chrUn_KN150605v1 102574 unplaced primary NW_003336579.1,KN150605.1
chrUn_KN150606v1 51696 unplaced primary NW_003336826.1,KN150606.1
chrUn_KN150607v1 9531 unplaced primary NW_003336325.1,KN150607.1
chrUn_KN150608v1 149650 unplaced primary NW_003335359.2,KN150608.1
chrUn_KN150609v1 37413 unplaced primary NW_003336840.1,KN150609.1
chrUn_KN150610v1 10565 unplaced primary NW_003336302.1,KN150610.1
chrUn_KN150611v1 1697 unplaced primary NW_008805562.1,KN150611.1
chrUn_KN150612v1 2865 unplaced primary NW_003336939.1,KN150612.1
chrUn_KN150613v1 15739 unplaced primary NW_003336721.1,KN150613.1
chrUn_KN150614v1 9019 unplaced primary NW_008805563.1,KN150614.1
chrUn_KN150615v1 9878 unplaced primary NW_008805564.1,KN150615.1
chrUn_KN150616v1 88699 unplaced primary NW_003336543.1,KN150616.1
chrUn_KN150617v1 90208 unplaced primary NW_003335385.1,KN150617.1
chrUn_KN150618v1 64127 unplaced primary NW_003334455.1,KN150618.1
chrUn_KN150619v1 41925 unplaced primary NW_003336277.2,KN150619.1
chrUn_KN150620v1 30729 unplaced primary NW_003336997.1,KN150620.1
chrUn_KN150621v1 1204 unplaced primary NW_003335146.1,KN150621.1
chrUn_KN150622v1 15811 unplaced primary NW_003336614.1,KN150622.1
chrUn_KN150623v1 1126 unplaced primary NW_003337225.1,KN150623.1
chrUn_KN150624v1 18713 unplaced primary NW_003335889.1,KN150624.1
chrUn_KN150625v1 22486 unplaced primary NW_003336372.1,KN150625.1
chrUn_KN150626v1 32850 unplaced primary NW_003336568.1,KN150626.1
chrUn_KN150627v1 26060 unplaced primary NW_008805565.1,KN150627.1
chrUn_KN150628v1 33906 unplaced primary NW_008805566.1,KN150628.1
chrUn_KN150629v1 19604 unplaced primary NW_003334261.1,KN150629.1
chrUn_KN150630v1 86421 unplaced primary NW_003336337.1,KN150630.1
chrUn_KN150631v1 36324 unplaced primary NW_003335149.2,KN150631.1
chrUn_KN150632v1 11627 unplaced primary NW_003336725.1,KN150632.1
chrUn_KN150633v1 19558 unplaced primary NW_003335143.1,KN150633.1
chrUn_KN150634v1 16020 unplaced primary NW_003334668.1,KN150634.1
chrUn_KN150635v1 27947 unplaced primary NW_008805567.1,KN150635.1
chrUn_KN150636v1 20513 unplaced primary NW_008805568.1,KN150636.1
chrUn_KN150637v1 39689 unplaced primary NW_008805569.1,KN150637.1
chrUn_KN150638v1 39727 unplaced primary NW_003336706.1,KN150638.1
chrUn_KN150639v1 27620 unplaced primary NW_003336281.1,KN150639.1
chrUn_KN150640v1 20890 unplaced primary NW_003337057.1,KN150640.1
chrUn_KN150641v1 14778 unplaced primary NW_003335935.1,KN150641.1
chrUn_KN150642v1 55536 unplaced primary NW_003335314.1,KN150642.1
chrUn_KN150643v1 28088 unplaced primary NW_003336958.1,KN150643.1
chrUn_KN150644v1 20534 unplaced primary NW_008805570.1,KN150644.1
chrUn_KN150645v1 22839 unplaced primary NW_003336613.1,KN150645.1
chrUn_KN150646v1 78076 unplaced primary NW_003336358.1,KN150646.1
chrUn_KN150647v1 14938 unplaced primary NW_008805571.1,KN150647.1
chrUn_KN150648v1 2077 unplaced primary NW_008805572.1,KN150648.1
chrUn_KN150649v1 81249 unplaced primary NW_003336843.1,KN150649.1
chrUn_KN150650v1 3012 unplaced primary NW_003336973.1,KN150650.1
chrUn_KN150651v1 28018 unplaced primary NW_003337123.1,KN150651.1
chrUn_KN150652v1 18075 unplaced primary NW_003336743.1,KN150652.1
chrUn_KN150653v1 55997 unplaced primary NW_008805573.1,KN150653.1
chrUn_KN150654v1 18414 unplaced primary NW_008805574.1,KN150654.1
chrUn_KN150655v1 8089 unplaced primary NW_008805575.1,KN150655.1
chrUn_KN150656v1 28006 unplaced primary NW_003336774.2,KN150656.1
chrUn_KN150657v1 1007 unplaced primary NW_008805576.1,KN150657.1
chrUn_KN150658v1 90387 unplaced primary NW_003336386.1,KN150658.1
chrUn_KN150659v1 11827 unplaced primary NW_003334429.1,KN150659.1
chrUn_KN150660v1 13470 unplaced primary NW_008805577.1,KN150660.1
chrUn_KN150661v1 26250 unplaced primary NW_003334452.1,KN150661.1
chrUn_KN150662v1 17820 unplaced primary NW_003336355.1,KN150662.1
chrUn_KN150663v1 88608 unplaced primary NW_003337060.1,KN150663.1
chrUn_KN150664v1 9590 unplaced primary NW_003336740.1,KN150664.1
chrUn_KN150665v1 11944 unplaced primary NW_003337186.1,KN150665.1
chrUn_KN150666v1 63484 unplaced primary NW_003336407.1,KN150666.1
chrUn_KN150667v1 54201 unplaced primary NW_003336566.1,KN150667.1
chrUn_KN150668v1 21856 unplaced primary NW_003336756.1,KN150668.1
chrUn_KN150669v1 15325 unplaced primary NW_003336850.1,KN150669.1
chrUn_KN150670v1 77993 unplaced primary NW_003335386.2,KN150670.1
chrUn_KN150671v1 13526 unplaced primary NW_003337038.1,KN150671.1
chrUn_KN150672v1 107610 unplaced primary NW_003334334.2,KN150672.1
chrUn_KN150673v1 3357 unplaced primary NW_008805578.1,KN150673.1
chrUn_KN150674v1 13959 unplaced primary NW_003337135.1,KN150674.1
chrUn_KN150675v1 41858 unplaced primary NW_003337029.1,KN150675.1
chrUn_KN150676v1 51674 unplaced primary NW_003336294.1,KN150676.1
chrUn_KN150677v1 66956 unplaced primary NW_008805579.1,KN150677.1
chrUn_KN150678v1 7552 unplaced primary NW_003337026.1,KN150678.1
chrUn_KN150679v1 14065 unplaced primary NW_003336847.1,KN150679.1
chrUn_KN150680v1 13379 unplaced primary NW_003334441.1,KN150680.1
chrUn_KN150681v1 279222 unplaced primary NW_003335315.1,KN150681.1
chrUn_KN150682v1 15190 unplaced primary NW_003337188.1,KN150682.1
chrUn_KN150683v1 16822 unplaced primary NW_003334692.2,KN150683.1
chrUn_KN150684v1 24053 unplaced primary NW_003337255.1,KN150684.1
chrUn_KN150685v1 13309 unplaced primary NW_003336523.1,KN150685.1
chrUn_KN150686v1 11947 unplaced primary NW_003336791.1,KN150686.1
chrUn_KN150687v1 13294 unplaced primary NW_008805580.1,KN150687.1
chrUn_KN150688v1 1917 unplaced primary NW_003334086.1,KN150688.1
chrUn_KN150689v1 19550 unplaced primary NW_003336343.1,KN150689.1
chrUn_KN150690v1 26145 unplaced primary NW_003337041.1,KN150690.1
chrUn_KN150691v1 184625 unplaced primary NW_003336957.1,KN150691.1
chrUn_KN150692v1 12590 unplaced primary NW_003336157.1,KN150692.1
chrUn_KN150693v1 2190 unplaced primary NW_008805581.1,KN150693.1
chrUn_KN150694v1 13510 unplaced primary NW_003336798.1,KN150694.1
chrUn_KN150695v1 14840 unplaced primary NW_003335605.1,KN150695.1
chrUn_KN150696v1 29565 unplaced primary NW_003334029.1,KN150696.1
chrUn_KN150697v1 12709 unplaced primary NW_003336278.1,KN150697.1
chrUn_KN150698v1 31983 unplaced primary NW_003335800.1,KN150698.1
chrUn_KN150699v1 26100 unplaced primary NW_003334027.1,KN150699.1
chrUn_KN150700v1 79542 unplaced primary NW_008805582.1,KN150700.1
chrUn_KN150701v1 1133 unplaced primary NW_003335530.1,KN150701.1
chrUn_KN150702v1 212296 unplaced primary NW_003334319.1,KN150702.1
chrUn_KN150703v1 48009 unplaced primary NW_003336712.1,KN150703.1
chrUn_KN150704v1 1233 unplaced primary NW_008805583.1,KN150704.1
chrUn_KN150705v1 16373 unplaced primary NW_003336478.1,KN150705.1
chrUn_KN150706v1 8278 unplaced primary NW_008805584.1,KN150706.1
chrUn_KN150707v1 16938 unplaced primary NW_003336556.1,KN150707.1
chrUn_KN150708v1 42677 unplaced primary NW_008805585.1,KN150708.1
chrUn_KN150709v1 65370 unplaced primary NW_003337165.1,KN150709.1
chrUn_KN150710v1 19629 unplaced primary NW_003337075.1,KN150710.1
chrUn_KN150711v1 11940 unplaced primary NW_003336651.1,KN150711.1
chrUn_KN150712v1 79012 unplaced primary NW_003336549.2,KN150712.1
chrUn_KN150713v1 14579 unplaced primary NW_003336760.1,KN150713.1
open2c-bioframe-4fe9b25/bioframe/io/data/danRer11.seqinfo.tsv 0000664 0000000 0000000 00000201443 14775257723 0024015 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
chr1 59578282 assembled chr1 primary 1,CM002885.2,NC_007112.7
chr2 59640629 assembled chr2 primary 2,CM002886.2,NC_007113.7
chr3 62628489 assembled chr3 primary 3,CM002887.2,NC_007114.7
chr4 78093715 assembled chr4 primary 4,CM002888.2,NC_007115.7
chr5 72500376 assembled chr5 primary 5,CM002889.2,NC_007116.7
chr6 60270059 assembled chr6 primary 6,CM002890.2,NC_007117.7
chr7 74282399 assembled chr7 primary 7,CM002891.2,NC_007118.7
chr8 54304671 assembled chr8 primary 8,CM002892.2,NC_007119.7
chr9 56459846 assembled chr9 primary 9,CM002893.2,NC_007120.7
chr10 45420867 assembled chr10 primary 10,CM002894.2,NC_007121.7
chr11 45484837 assembled chr11 primary 11,CM002895.2,NC_007122.7
chr12 49182954 assembled chr12 primary 12,CM002896.2,NC_007123.7
chr13 52186027 assembled chr13 primary 13,CM002897.2,NC_007124.7
chr14 52660232 assembled chr14 primary 14,CM002898.2,NC_007125.7
chr15 48040578 assembled chr15 primary 15,CM002899.2,NC_007126.7
chr16 55266484 assembled chr16 primary 16,CM002900.2,NC_007127.7
chr17 53461100 assembled chr17 primary 17,CM002901.2,NC_007128.7
chr18 51023478 assembled chr18 primary 18,CM002902.2,NC_007129.7
chr19 48449771 assembled chr19 primary 19,CM002903.2,NC_007130.7
chr20 55201332 assembled chr20 primary 20,CM002904.2,NC_007131.7
chr21 45934066 assembled chr21 primary 21,CM002905.2,NC_007132.7
chr22 39133080 assembled chr22 primary 22,CM002906.2,NC_007133.7
chr23 46223584 assembled chr23 primary 23,CM002907.2,NC_007134.7
chr24 42172926 assembled chr24 primary 24,CM002908.2,NC_007135.7
chr25 37502051 assembled chr25 primary 25,CM002909.2,NC_007136.7
chrM 16596 assembled chrM non-nuclear MT,AC024175.3,NC_002333.2
chrUn_KN147552v2 24373 unplaced primary KN147552.2,NW_003334243.2
chrUn_KN147632v2 184438 unplaced primary KN147632.2,NW_003336270.3
chrUn_KN147636v1 203829 unplaced primary KN147636.1,NW_001884452.4
chrUn_KN147637v2 171924 unplaced primary KN147637.2,NW_001884473.4
chrUn_KN147642v2 204646 unplaced primary KN147642.2,NW_001878780.5
chrUn_KN147651v2 351968 unplaced primary KN147651.2,NW_003040715.4
chrUn_KN147652v2 252640 unplaced primary KN147652.2,NW_001884533.5
chrUn_KN148038v2 17585 unplaced primary KN148038.2,NW_003334681.2
chrUn_KN148828v2 13322 unplaced primary KN148828.2,NW_003335484.2
chrUn_KN148869v2 18523 unplaced primary KN148869.2,NW_003335528.3
chrUn_KN149680v1 38724 unplaced primary KN149680.1,NW_003336264.2
chrUn_KN149682v1 137468 unplaced primary KN149682.1,NW_001878251.4
chrUn_KN149683v1 152860 unplaced primary KN149683.1,NW_001884381.4
chrUn_KN149684v1 159057 unplaced primary KN149684.1,NW_001878128.4
chrUn_KN149685v1 164780 unplaced primary KN149685.1,NW_001884386.4
chrUn_KN149686v1 260365 unplaced primary KN149686.1,NW_003044888.3
chrUn_KN149687v1 165668 unplaced primary KN149687.1,NW_001884400.4
chrUn_KN149688v2 252035 unplaced primary KN149688.2,NW_001878118.5
chrUn_KN149689v2 201817 unplaced primary KN149689.2,NW_001879289.5
chrUn_KN149690v1 343018 unplaced primary KN149690.1,NW_001884413.3
chrUn_KN149691v1 233193 unplaced primary KN149691.1,NW_001884427.4
chrUn_KN149692v1 36911 unplaced primary KN149692.1,NW_001884442.4
chrUn_KN149693v1 49295 unplaced primary KN149693.1,NW_001884441.4
chrUn_KN149694v1 162759 unplaced primary KN149694.1,NW_001884444.4
chrUn_KN149695v1 190731 unplaced primary KN149695.1,NW_003039389.3
chrUn_KN149696v2 368252 unplaced primary KN149696.2,NW_003039384.4
chrUn_KN149697v1 40969 unplaced primary KN149697.1,NW_008805346.1
chrUn_KN149698v1 108577 unplaced primary KN149698.1,NW_008805347.1
chrUn_KN149700v1 40050 unplaced primary KN149700.1,NW_003337144.1
chrUn_KN149701v1 3760 unplaced primary KN149701.1,NW_008805348.1
chrUn_KN149702v1 100325 unplaced primary KN149702.1,NW_008805349.1
chrUn_KN149703v1 13902 unplaced primary KN149703.1,NW_003336866.1
chrUn_KN149705v1 27926 unplaced primary KN149705.1,NW_003336598.1
chrUn_KN149706v1 33279 unplaced primary KN149706.1,NW_003336851.1
chrUn_KN149707v2 7455 unplaced primary KN149707.2,NW_008805351.2
chrUn_KN149708v1 20567 unplaced primary KN149708.1,NW_003337018.1
chrUn_KN149709v1 27814 unplaced primary KN149709.1,NW_003336433.1
chrUn_KN149710v1 50974 unplaced primary KN149710.1,NW_003335779.1
chrUn_KN149711v1 11473 unplaced primary KN149711.1,NW_003336950.1
chrUn_KN149713v1 10094 unplaced primary KN149713.1,NW_008805353.1
chrUn_KN149714v1 74622 unplaced primary KN149714.1,NW_003337205.1
chrUn_KN149715v1 19020 unplaced primary KN149715.1,NW_003336714.2
chrUn_KN149716v1 42229 unplaced primary KN149716.1,NW_003334619.1
chrUn_KN149717v1 47589 unplaced primary KN149717.1,NW_003337229.1
chrUn_KN149718v1 65247 unplaced primary KN149718.1,NW_003336716.1
chrUn_KN149719v1 47531 unplaced primary KN149719.1,NW_003337263.1
chrUn_KN149720v1 10211 unplaced primary KN149720.1,NW_008805354.1
chrUn_KN149721v1 25462 unplaced primary KN149721.1,NW_003336827.1
chrUn_KN149722v1 13397 unplaced primary KN149722.1,NW_003336457.1
chrUn_KN149723v1 55784 unplaced primary KN149723.1,NW_003337194.1
chrUn_KN149724v1 11849 unplaced primary KN149724.1,NW_003336519.1
chrUn_KN149725v1 69829 unplaced primary KN149725.1,NW_003336869.1
chrUn_KN149727v1 24871 unplaced primary KN149727.1,NW_003336152.2
chrUn_KN149728v1 9442 unplaced primary KN149728.1,NW_003336547.1
chrUn_KN149729v1 5608 unplaced primary KN149729.1,NW_008805356.1
chrUn_KN149730v1 14804 unplaced primary KN149730.1,NW_003336623.1
chrUn_KN149732v1 16041 unplaced primary KN149732.1,NW_003336490.1
chrUn_KN149733v1 21637 unplaced primary KN149733.1,NW_003336868.1
chrUn_KN149735v1 5747 unplaced primary KN149735.1,NW_008805358.1
chrUn_KN149737v1 27700 unplaced primary KN149737.1,NW_003336345.1
chrUn_KN149738v1 10603 unplaced primary KN149738.1,NW_003337254.2
chrUn_KN149739v1 51610 unplaced primary KN149739.1,NW_003336823.1
chrUn_KN149740v1 1265 unplaced primary KN149740.1,NW_003334432.1
chrUn_KN149741v1 21941 unplaced primary KN149741.1,NW_003337078.1
chrUn_KN149742v1 2671 unplaced primary KN149742.1,NW_003336474.1
chrUn_KN149743v1 21023 unplaced primary KN149743.1,NW_003336724.1
chrUn_KN149745v1 8150 unplaced primary KN149745.1,NW_003337249.1
chrUn_KN149746v1 10900 unplaced primary KN149746.1,NW_008805361.1
chrUn_KN149747v1 16275 unplaced primary KN149747.1,NW_003336980.1
chrUn_KN149748v1 96570 unplaced primary KN149748.1,NW_003336540.1
chrUn_KN149749v1 40089 unplaced primary KN149749.1,NW_003336941.1
chrUn_KN149750v1 13928 unplaced primary KN149750.1,NW_003336571.1
chrUn_KN149751v1 15848 unplaced primary KN149751.1,NW_003336649.1
chrUn_KN149753v1 30249 unplaced primary KN149753.1,NW_003336977.1
chrUn_KN149754v1 40214 unplaced primary KN149754.1,NW_003336969.1
chrUn_KN149755v1 11941 unplaced primary KN149755.1,NW_003337240.1
chrUn_KN149756v1 11785 unplaced primary KN149756.1,NW_003337114.1
chrUn_KN149757v1 16145 unplaced primary KN149757.1,NW_003334832.2
chrUn_KN149758v1 9515 unplaced primary KN149758.1,NW_003336859.1
chrUn_KN149760v1 46605 unplaced primary KN149760.1,NW_003336744.1
chrUn_KN149761v1 14795 unplaced primary KN149761.1,NW_003336095.2
chrUn_KN149762v1 17936 unplaced primary KN149762.1,NW_008805363.1
chrUn_KN149763v1 19644 unplaced primary KN149763.1,NW_003336711.1
chrUn_KN149764v1 19831 unplaced primary KN149764.1,NW_003337091.2
chrUn_KN149765v1 29197 unplaced primary KN149765.1,NW_003336801.1
chrUn_KN149766v1 14664 unplaced primary KN149766.1,NW_003336970.1
chrUn_KN149767v1 30874 unplaced primary KN149767.1,NW_003337044.1
chrUn_KN149768v1 17671 unplaced primary KN149768.1,NW_003336765.1
chrUn_KN149769v1 53048 unplaced primary KN149769.1,NW_003337010.1
chrUn_KN149770v1 12046 unplaced primary KN149770.1,NW_003337047.1
chrUn_KN149771v1 14151 unplaced primary KN149771.1,NW_003336986.1
chrUn_KN149772v1 13273 unplaced primary KN149772.1,NW_003337052.1
chrUn_KN149774v1 12337 unplaced primary KN149774.1,NW_003336170.1
chrUn_KN149775v2 26074 unplaced primary KN149775.2,NW_003334589.2
chrUn_KN149777v1 1553 unplaced primary KN149777.1,NW_008805364.1
chrUn_KN149778v1 111598 unplaced primary KN149778.1,NW_003337175.1
chrUn_KN149779v1 21664 unplaced primary KN149779.1,NW_003334443.1
chrUn_KN149780v1 19718 unplaced primary KN149780.1,NW_003334404.1
chrUn_KN149782v1 36097 unplaced primary KN149782.1,NW_003337232.1
chrUn_KN149783v1 11892 unplaced primary KN149783.1,NW_003336802.1
chrUn_KN149784v1 73829 unplaced primary KN149784.1,NW_003337109.1
chrUn_KN149785v1 1577 unplaced primary KN149785.1,NW_003336582.1
chrUn_KN149786v1 1745 unplaced primary KN149786.1,NW_008805365.1
chrUn_KN149787v1 39794 unplaced primary KN149787.1,NW_003335933.1
chrUn_KN149788v1 8794 unplaced primary KN149788.1,NW_008805366.1
chrUn_KN149789v1 12990 unplaced primary KN149789.1,NW_003337184.1
chrUn_KN149790v1 115850 unplaced primary KN149790.1,NW_003336877.1
chrUn_KN149791v1 17273 unplaced primary KN149791.1,NW_003336635.1
chrUn_KN149792v1 11232 unplaced primary KN149792.1,NW_003337069.1
chrUn_KN149793v1 13298 unplaced primary KN149793.1,NW_008805367.1
chrUn_KN149794v1 25440 unplaced primary KN149794.1,NW_008805368.1
chrUn_KN149795v1 34615 unplaced primary KN149795.1,NW_003336860.1
chrUn_KN149796v1 25635 unplaced primary KN149796.1,NW_003336550.1
chrUn_KN149797v1 102101 unplaced primary KN149797.1,NW_003334026.1
chrUn_KN149798v1 1990 unplaced primary KN149798.1,NW_003336837.1
chrUn_KN149800v1 42049 unplaced primary KN149800.1,NW_008805369.1
chrUn_KN149801v1 4454 unplaced primary KN149801.1,NW_003336889.1
chrUn_KN149803v1 16018 unplaced primary KN149803.1,NW_003337090.1
chrUn_KN149804v1 10148 unplaced primary KN149804.1,NW_003337095.1
chrUn_KN149805v1 12432 unplaced primary KN149805.1,NW_003336290.1
chrUn_KN149806v1 15157 unplaced primary KN149806.1,NW_008805370.1
chrUn_KN149807v1 12512 unplaced primary KN149807.1,NW_003334875.1
chrUn_KN149809v1 2001 unplaced primary KN149809.1,NW_003336915.1
chrUn_KN149810v1 15043 unplaced primary KN149810.1,NW_003336919.1
chrUn_KN149811v1 8720 unplaced primary KN149811.1,NW_003336886.1
chrUn_KN149812v1 51419 unplaced primary KN149812.1,NW_003336288.1
chrUn_KN149813v1 59009 unplaced primary KN149813.1,NW_003336509.1
chrUn_KN149814v1 25878 unplaced primary KN149814.1,NW_003334686.1
chrUn_KN149815v1 33337 unplaced primary KN149815.1,NW_003334684.1
chrUn_KN149816v1 10128 unplaced primary KN149816.1,NW_003335521.2
chrUn_KN149817v1 11116 unplaced primary KN149817.1,NW_003337049.1
chrUn_KN149818v1 25942 unplaced primary KN149818.1,NW_003335384.1
chrUn_KN149819v1 10210 unplaced primary KN149819.1,NW_008805371.1
chrUn_KN149822v1 2460 unplaced primary KN149822.1,NW_003336643.1
chrUn_KN149823v1 14034 unplaced primary KN149823.1,NW_003335161.1
chrUn_KN149824v1 2357 unplaced primary KN149824.1,NW_003336698.1
chrUn_KN149825v1 22128 unplaced primary KN149825.1,NW_003336761.1
chrUn_KN149826v1 90482 unplaced primary KN149826.1,NW_003336654.1
chrUn_KN149827v1 13555 unplaced primary KN149827.1,NW_008805373.1
chrUn_KN149828v1 11414 unplaced primary KN149828.1,NW_003336660.1
chrUn_KN149829v1 27323 unplaced primary KN149829.1,NW_003335757.1
chrUn_KN149832v1 12483 unplaced primary KN149832.1,NW_003336959.1
chrUn_KN149834v1 17343 unplaced primary KN149834.1,NW_003337098.1
chrUn_KN149835v1 25861 unplaced primary KN149835.1,NW_003334814.2
chrUn_KN149836v1 34954 unplaced primary KN149836.1,NW_003335691.1
chrUn_KN149837v1 8007 unplaced primary KN149837.1,NW_003336667.1
chrUn_KN149838v1 29025 unplaced primary KN149838.1,NW_003337138.1
chrUn_KN149839v1 12998 unplaced primary KN149839.1,NW_003336838.1
chrUn_KN149840v1 46864 unplaced primary KN149840.1,NW_003336831.1
chrUn_KN149841v1 10085 unplaced primary KN149841.1,NW_003336073.1
chrUn_KN149843v1 33258 unplaced primary KN149843.1,NW_003336867.1
chrUn_KN149844v1 10201 unplaced primary KN149844.1,NW_003336430.1
chrUn_KN149846v1 28664 unplaced primary KN149846.1,NW_003336483.1
chrUn_KN149847v1 130903 unplaced primary KN149847.1,NW_003337258.1
chrUn_KN149848v1 10341 unplaced primary KN149848.1,NW_003336432.1
chrUn_KN149849v1 20421 unplaced primary KN149849.1,NW_008805378.1
chrUn_KN149850v1 33401 unplaced primary KN149850.1,NW_003337014.1
chrUn_KN149851v1 12094 unplaced primary KN149851.1,NW_003336419.1
chrUn_KN149852v1 30223 unplaced primary KN149852.1,NW_008805379.1
chrUn_KN149853v1 12817 unplaced primary KN149853.1,NW_003336917.1
chrUn_KN149854v1 6367 unplaced primary KN149854.1,NW_008805380.1
chrUn_KN149855v1 23165 unplaced primary KN149855.1,NW_003334236.1
chrUn_KN149856v1 35330 unplaced primary KN149856.1,NW_003334447.1
chrUn_KN149857v1 10132 unplaced primary KN149857.1,NW_008805381.1
chrUn_KN149859v1 53306 unplaced primary KN149859.1,NW_003336720.1
chrUn_KN149860v1 17408 unplaced primary KN149860.1,NW_003336315.1
chrUn_KN149861v1 14336 unplaced primary KN149861.1,NW_003336809.1
chrUn_KN149862v1 11987 unplaced primary KN149862.1,NW_003336301.1
chrUn_KN149863v1 11955 unplaced primary KN149863.1,NW_008805382.1
chrUn_KN149864v1 12929 unplaced primary KN149864.1,NW_008805383.1
chrUn_KN149865v1 49167 unplaced primary KN149865.1,NW_008805384.1
chrUn_KN149866v1 14752 unplaced primary KN149866.1,NW_003337099.1
chrUn_KN149867v1 1514 unplaced primary KN149867.1,NW_008805385.1
chrUn_KN149871v1 22553 unplaced primary KN149871.1,NW_003336239.1
chrUn_KN149872v1 12222 unplaced primary KN149872.1,NW_008805387.1
chrUn_KN149873v1 1146 unplaced primary KN149873.1,NW_008805388.1
chrUn_KN149874v1 5295 unplaced primary KN149874.1,NW_003335638.2
chrUn_KN149876v1 11298 unplaced primary KN149876.1,NW_003336849.1
chrUn_KN149878v1 7547 unplaced primary KN149878.1,NW_008805390.1
chrUn_KN149879v1 11893 unplaced primary KN149879.1,NW_003335459.1
chrUn_KN149880v1 64889 unplaced primary KN149880.1,NW_008805391.1
chrUn_KN149881v1 10736 unplaced primary KN149881.1,NW_008805392.1
chrUn_KN149882v1 7649 unplaced primary KN149882.1,NW_008805393.1
chrUn_KN149883v1 12434 unplaced primary KN149883.1,NW_003334215.1
chrUn_KN149884v1 51715 unplaced primary KN149884.1,NW_008805394.1
chrUn_KN149885v1 1347 unplaced primary KN149885.1,NW_003337168.1
chrUn_KN149887v1 11971 unplaced primary KN149887.1,NW_003336454.2
chrUn_KN149888v1 17117 unplaced primary KN149888.1,NW_003336349.1
chrUn_KN149889v1 10166 unplaced primary KN149889.1,NW_003336465.1
chrUn_KN149890v1 12029 unplaced primary KN149890.1,NW_003336424.1
chrUn_KN149892v1 24638 unplaced primary KN149892.1,NW_003336629.1
chrUn_KN149893v1 27995 unplaced primary KN149893.1,NW_003337247.1
chrUn_KN149895v1 92930 unplaced primary KN149895.1,NW_003334263.2
chrUn_KN149896v1 13102 unplaced primary KN149896.1,NW_003336289.1
chrUn_KN149897v1 14044 unplaced primary KN149897.1,NW_003336689.1
chrUn_KN149899v1 13632 unplaced primary KN149899.1,NW_003336497.1
chrUn_KN149900v1 11016 unplaced primary KN149900.1,NW_008805397.1
chrUn_KN149901v1 10512 unplaced primary KN149901.1,NW_003337164.1
chrUn_KN149903v1 11318 unplaced primary KN149903.1,NW_008805398.1
chrUn_KN149904v1 89156 unplaced primary KN149904.1,NW_003336333.2
chrUn_KN149905v1 14056 unplaced primary KN149905.1,NW_003336852.1
chrUn_KN149906v1 38987 unplaced primary KN149906.1,NW_003336751.1
chrUn_KN149907v1 9870 unplaced primary KN149907.1,NW_003337174.1
chrUn_KN149908v1 12800 unplaced primary KN149908.1,NW_003336848.1
chrUn_KN149909v1 40056 unplaced primary KN149909.1,NW_003336633.1
chrUn_KN149912v1 77979 unplaced primary KN149912.1,NW_003334245.1
chrUn_KN149913v1 16487 unplaced primary KN149913.1,NW_003337199.1
chrUn_KN149914v1 18241 unplaced primary KN149914.1,NW_003336354.1
chrUn_KN149915v1 10395 unplaced primary KN149915.1,NW_003336864.1
chrUn_KN149916v1 4293 unplaced primary KN149916.1,NW_003334505.1
chrUn_KN149917v1 3831 unplaced primary KN149917.1,NW_003335158.1
chrUn_KN149919v1 21073 unplaced primary KN149919.1,NW_003336948.1
chrUn_KN149921v1 28254 unplaced primary KN149921.1,NW_003336310.1
chrUn_KN149922v1 12529 unplaced primary KN149922.1,NW_008805400.1
chrUn_KN149923v1 36729 unplaced primary KN149923.1,NW_008805401.1
chrUn_KN149924v1 23395 unplaced primary KN149924.1,NW_003336874.1
chrUn_KN149925v1 29860 unplaced primary KN149925.1,NW_003336561.2
chrUn_KN149926v1 3688 unplaced primary KN149926.1,NW_003335249.1
chrUn_KN149927v1 11950 unplaced primary KN149927.1,NW_003335051.1
chrUn_KN149928v1 14297 unplaced primary KN149928.1,NW_003336610.1
chrUn_KN149931v1 6703 unplaced primary KN149931.1,NW_003335250.1
chrUn_KN149932v1 89521 unplaced primary KN149932.1,NW_003334672.2
chrUn_KN149933v1 13433 unplaced primary KN149933.1,NW_003336909.1
chrUn_KN149935v1 9230 unplaced primary KN149935.1,NW_003336782.1
chrUn_KN149936v1 16058 unplaced primary KN149936.1,NW_003337066.1
chrUn_KN149937v1 14110 unplaced primary KN149937.1,NW_003335043.1
chrUn_KN149938v1 12455 unplaced primary KN149938.1,NW_003335831.2
chrUn_KN149939v1 76611 unplaced primary KN149939.1,NW_003336586.1
chrUn_KN149940v1 11887 unplaced primary KN149940.1,NW_003336458.1
chrUn_KN149941v1 13607 unplaced primary KN149941.1,NW_003336575.1
chrUn_KN149943v1 29608 unplaced primary KN149943.1,NW_003334256.1
chrUn_KN149944v1 24909 unplaced primary KN149944.1,NW_003336415.1
chrUn_KN149946v1 33071 unplaced primary KN149946.1,NW_003336936.1
chrUn_KN149948v1 117499 unplaced primary KN149948.1,NW_003336703.1
chrUn_KN149949v1 64126 unplaced primary KN149949.1,NW_003336421.1
chrUn_KN149950v1 5952 unplaced primary KN149950.1,NW_003336979.1
chrUn_KN149951v1 5000 unplaced primary KN149951.1,NW_008805406.1
chrUn_KN149953v1 46218 unplaced primary KN149953.1,NW_003337062.1
chrUn_KN149955v1 19758 unplaced primary KN149955.1,NW_003336646.1
chrUn_KN149956v1 1889 unplaced primary KN149956.1,NW_008805408.1
chrUn_KN149957v1 1094 unplaced primary KN149957.1,NW_008805409.1
chrUn_KN149958v1 43073 unplaced primary KN149958.1,NW_003336942.1
chrUn_KN149959v1 59274 unplaced primary KN149959.1,NW_003336480.1
chrUn_KN149960v1 9235 unplaced primary KN149960.1,NW_003336389.1
chrUn_KN149961v1 20600 unplaced primary KN149961.1,NW_003337190.1
chrUn_KN149965v1 14790 unplaced primary KN149965.1,NW_003336066.1
chrUn_KN149967v1 8612 unplaced primary KN149967.1,NW_003335242.1
chrUn_KN149968v1 82990 unplaced primary KN149968.1,NW_003336650.1
chrUn_KN149969v1 13714 unplaced primary KN149969.1,NW_003336580.1
chrUn_KN149970v1 17511 unplaced primary KN149970.1,NW_003336817.2
chrUn_KN149971v1 11275 unplaced primary KN149971.1,NW_008805412.1
chrUn_KN149973v1 35555 unplaced primary KN149973.1,NW_003336937.1
chrUn_KN149974v1 19596 unplaced primary KN149974.1,NW_003336967.1
chrUn_KN149976v1 11858 unplaced primary KN149976.1,NW_003336371.1
chrUn_KN149977v2 11023 unplaced primary KN149977.2,NW_003337153.3
chrUn_KN149978v1 16801 unplaced primary KN149978.1,NW_003337086.1
chrUn_KN149979v1 22834 unplaced primary KN149979.1,NW_003336097.2
chrUn_KN149980v1 7980 unplaced primary KN149980.1,NW_008805415.1
chrUn_KN149981v1 12811 unplaced primary KN149981.1,NW_003337160.1
chrUn_KN149982v1 31814 unplaced primary KN149982.1,NW_003337139.1
chrUn_KN149983v1 17884 unplaced primary KN149983.1,NW_003336330.2
chrUn_KN149984v1 96477 unplaced primary KN149984.1,NW_003337241.1
chrUn_KN149988v1 9944 unplaced primary KN149988.1,NW_003336685.1
chrUn_KN149989v1 34480 unplaced primary KN149989.1,NW_003336748.2
chrUn_KN149990v1 57651 unplaced primary KN149990.1,NW_003337093.1
chrUn_KN149991v1 9871 unplaced primary KN149991.1,NW_003337156.1
chrUn_KN149992v1 57912 unplaced primary KN149992.1,NW_003336600.1
chrUn_KN149993v1 16921 unplaced primary KN149993.1,NW_003336466.1
chrUn_KN149995v1 12015 unplaced primary KN149995.1,NW_008805417.1
chrUn_KN149996v1 33528 unplaced primary KN149996.1,NW_003337137.1
chrUn_KN149997v1 6296 unplaced primary KN149997.1,NW_003336787.1
chrUn_KN149998v1 74724 unplaced primary KN149998.1,NW_003336316.1
chrUn_KN149999v1 14071 unplaced primary KN149999.1,NW_003336567.1
chrUn_KN150000v1 69737 unplaced primary KN150000.1,NW_003334656.2
chrUn_KN150002v1 17430 unplaced primary KN150002.1,NW_003336323.1
chrUn_KN150004v2 13059 unplaced primary KN150004.2,NW_003334666.3
chrUn_KN150005v1 34409 unplaced primary KN150005.1,NW_003336945.1
chrUn_KN150006v1 10518 unplaced primary KN150006.1,NW_003336825.1
chrUn_KN150007v1 13072 unplaced primary KN150007.1,NW_003336659.1
chrUn_KN150008v1 15572 unplaced primary KN150008.1,NW_003337256.1
chrUn_KN150009v1 17727 unplaced primary KN150009.1,NW_003336489.1
chrUn_KN150011v1 12995 unplaced primary KN150011.1,NW_003336777.1
chrUn_KN150012v1 11998 unplaced primary KN150012.1,NW_008805419.1
chrUn_KN150013v1 8488 unplaced primary KN150013.1,NW_003334233.2
chrUn_KN150014v1 13588 unplaced primary KN150014.1,NW_003337111.1
chrUn_KN150015v1 33441 unplaced primary KN150015.1,NW_003337220.1
chrUn_KN150016v1 21592 unplaced primary KN150016.1,NW_003335387.1
chrUn_KN150017v1 25636 unplaced primary KN150017.1,NW_003337217.1
chrUn_KN150018v1 1063 unplaced primary KN150018.1,NW_008805420.1
chrUn_KN150019v2 19834 unplaced primary KN150019.2,NW_003337129.2
chrUn_KN150020v1 11925 unplaced primary KN150020.1,NW_003336607.1
chrUn_KN150021v1 103967 unplaced primary KN150021.1,NW_003337037.1
chrUn_KN150022v1 76538 unplaced primary KN150022.1,NW_003336365.1
chrUn_KN150023v1 22153 unplaced primary KN150023.1,NW_003336353.1
chrUn_KN150024v1 1714 unplaced primary KN150024.1,NW_003336344.1
chrUn_KN150025v1 26343 unplaced primary KN150025.1,NW_003337067.1
chrUn_KN150028v1 19517 unplaced primary KN150028.1,NW_008805422.1
chrUn_KN150029v1 12415 unplaced primary KN150029.1,NW_008805423.1
chrUn_KN150030v1 57074 unplaced primary KN150030.1,NW_003336951.2
chrUn_KN150031v1 60899 unplaced primary KN150031.1,NW_003337200.1
chrUn_KN150032v1 29546 unplaced primary KN150032.1,NW_003336336.1
chrUn_KN150033v1 56448 unplaced primary KN150033.1,NW_003336670.1
chrUn_KN150034v1 1919 unplaced primary KN150034.1,NW_008805424.1
chrUn_KN150035v1 38086 unplaced primary KN150035.1,NW_003334265.1
chrUn_KN150037v1 2866 unplaced primary KN150037.1,NW_003336693.1
chrUn_KN150038v1 71326 unplaced primary KN150038.1,NW_003336974.1
chrUn_KN150039v1 3463 unplaced primary KN150039.1,NW_003335647.1
chrUn_KN150040v1 19896 unplaced primary KN150040.1,NW_008805426.1
chrUn_KN150041v2 66431 unplaced primary KN150041.2,NW_003334673.3
chrUn_KN150042v1 30789 unplaced primary KN150042.1,NW_003335185.2
chrUn_KN150043v1 31984 unplaced primary KN150043.1,NW_008805427.1
chrUn_KN150044v1 9097 unplaced primary KN150044.1,NW_003334669.1
chrUn_KN150045v2 10364 unplaced primary KN150045.2,NW_008805428.2
chrUn_KN150047v1 20749 unplaced primary KN150047.1,NW_003337234.1
chrUn_KN150048v1 128109 unplaced primary KN150048.1,NW_003336792.1
chrUn_KN150049v1 45008 unplaced primary KN150049.1,NW_003336830.1
chrUn_KN150051v1 1995 unplaced primary KN150051.1,NW_008805430.1
chrUn_KN150052v1 15943 unplaced primary KN150052.1,NW_003335153.1
chrUn_KN150054v1 16143 unplaced primary KN150054.1,NW_003336990.1
chrUn_KN150055v1 32561 unplaced primary KN150055.1,NW_003335922.2
chrUn_KN150056v1 29449 unplaced primary KN150056.1,NW_008805431.1
chrUn_KN150057v1 10736 unplaced primary KN150057.1,NW_003336282.1
chrUn_KN150058v1 21348 unplaced primary KN150058.1,NW_003336625.1
chrUn_KN150059v1 16588 unplaced primary KN150059.1,NW_003334628.1
chrUn_KN150060v1 80234 unplaced primary KN150060.1,NW_003336912.2
chrUn_KN150061v1 24048 unplaced primary KN150061.1,NW_003336820.1
chrUn_KN150062v1 35038 unplaced primary KN150062.1,NW_003336370.1
chrUn_KN150063v1 20846 unplaced primary KN150063.1,NW_003335276.1
chrUn_KN150064v1 14598 unplaced primary KN150064.1,NW_003337176.1
chrUn_KN150065v1 9859 unplaced primary KN150065.1,NW_008805432.1
chrUn_KN150066v1 29537 unplaced primary KN150066.1,NW_003336574.1
chrUn_KN150067v1 27325 unplaced primary KN150067.1,NW_003336420.1
chrUn_KN150068v1 62725 unplaced primary KN150068.1,NW_003336525.1
chrUn_KN150070v1 14070 unplaced primary KN150070.1,NW_008805433.1
chrUn_KN150071v1 14960 unplaced primary KN150071.1,NW_003336739.1
chrUn_KN150072v1 13309 unplaced primary KN150072.1,NW_003335332.2
chrUn_KN150073v1 14052 unplaced primary KN150073.1,NW_008805434.1
chrUn_KN150074v1 28653 unplaced primary KN150074.1,NW_003335891.1
chrUn_KN150076v1 14425 unplaced primary KN150076.1,NW_003336326.1
chrUn_KN150077v1 51360 unplaced primary KN150077.1,NW_003336780.1
chrUn_KN150078v1 12098 unplaced primary KN150078.1,NW_003334214.1
chrUn_KN150079v1 46800 unplaced primary KN150079.1,NW_003336064.1
chrUn_KN150080v1 37662 unplaced primary KN150080.1,NW_003336501.1
chrUn_KN150081v1 12836 unplaced primary KN150081.1,NW_003336620.1
chrUn_KN150082v1 8788 unplaced primary KN150082.1,NW_003336755.1
chrUn_KN150083v1 49514 unplaced primary KN150083.1,NW_003337125.1
chrUn_KN150084v1 24192 unplaced primary KN150084.1,NW_003336468.1
chrUn_KN150085v1 29177 unplaced primary KN150085.1,NW_003334395.2
chrUn_KN150086v1 1639 unplaced primary KN150086.1,NW_003337228.1
chrUn_KN150089v1 13104 unplaced primary KN150089.1,NW_008805435.1
chrUn_KN150090v1 12028 unplaced primary KN150090.1,NW_003336362.1
chrUn_KN150092v1 14544 unplaced primary KN150092.1,NW_003337253.1
chrUn_KN150093v1 14738 unplaced primary KN150093.1,NW_008805436.1
chrUn_KN150094v1 7824 unplaced primary KN150094.1,NW_008805437.1
chrUn_KN150095v1 9204 unplaced primary KN150095.1,NW_008805438.1
chrUn_KN150097v1 11690 unplaced primary KN150097.1,NW_003336961.1
chrUn_KN150098v1 68279 unplaced primary KN150098.1,NW_003335654.1
chrUn_KN150100v1 9237 unplaced primary KN150100.1,NW_003334852.2
chrUn_KN150102v1 34431 unplaced primary KN150102.1,NW_003337197.1
chrUn_KN150103v1 4090 unplaced primary KN150103.1,NW_008805440.1
chrUn_KN150104v1 53188 unplaced primary KN150104.1,NW_003335567.1
chrUn_KN150105v1 58062 unplaced primary KN150105.1,NW_003337145.1
chrUn_KN150106v1 56524 unplaced primary KN150106.1,NW_003334032.1
chrUn_KN150110v1 9804 unplaced primary KN150110.1,NW_003336548.1
chrUn_KN150111v1 29931 unplaced primary KN150111.1,NW_003335663.1
chrUn_KN150112v1 3423 unplaced primary KN150112.1,NW_003334114.1
chrUn_KN150113v1 19310 unplaced primary KN150113.1,NW_003336808.1
chrUn_KN150114v1 24178 unplaced primary KN150114.1,NW_003336645.1
chrUn_KN150115v1 18676 unplaced primary KN150115.1,NW_008805441.1
chrUn_KN150117v1 48543 unplaced primary KN150117.1,NW_003336299.1
chrUn_KN150118v1 54494 unplaced primary KN150118.1,NW_003337121.1
chrUn_KN150119v1 1143 unplaced primary KN150119.1,NW_008805442.1
chrUn_KN150120v1 27511 unplaced primary KN150120.1,NW_008805443.1
chrUn_KN150121v1 8447 unplaced primary KN150121.1,NW_003337032.1
chrUn_KN150122v1 67534 unplaced primary KN150122.1,NW_003337033.1
chrUn_KN150123v1 51978 unplaced primary KN150123.1,NW_003334680.2
chrUn_KN150125v1 83315 unplaced primary KN150125.1,NW_003337013.1
chrUn_KN150126v1 24847 unplaced primary KN150126.1,NW_003336385.1
chrUn_KN150127v1 33302 unplaced primary KN150127.1,NW_003336678.1
chrUn_KN150128v1 12262 unplaced primary KN150128.1,NW_003336812.1
chrUn_KN150130v1 9925 unplaced primary KN150130.1,NW_008805444.1
chrUn_KN150131v1 70868 unplaced primary KN150131.1,NW_008805445.1
chrUn_KN150132v1 13999 unplaced primary KN150132.1,NW_003336900.1
chrUn_KN150133v2 53456 unplaced primary KN150133.2,NW_003334034.2
chrUn_KN150134v1 29067 unplaced primary KN150134.1,NW_003336226.1
chrUn_KN150136v1 49373 unplaced primary KN150136.1,NW_003336484.1
chrUn_KN150137v1 36779 unplaced primary KN150137.1,NW_003336679.1
chrUn_KN150140v2 19733 unplaced primary KN150140.2,NW_003336878.3
chrUn_KN150141v1 17117 unplaced primary KN150141.1,NW_003335166.2
chrUn_KN150144v1 14974 unplaced primary KN150144.1,NW_003336479.1
chrUn_KN150145v1 9970 unplaced primary KN150145.1,NW_008805448.1
chrUn_KN150146v1 9714 unplaced primary KN150146.1,NW_003337126.1
chrUn_KN150147v1 7977 unplaced primary KN150147.1,NW_003335184.2
chrUn_KN150148v1 44589 unplaced primary KN150148.1,NW_003337040.2
chrUn_KN150150v1 9780 unplaced primary KN150150.1,NW_008805449.1
chrUn_KN150152v1 9348 unplaced primary KN150152.1,NW_008805450.1
chrUn_KN150154v1 21695 unplaced primary KN150154.1,NW_003335322.1
chrUn_KN150155v1 10282 unplaced primary KN150155.1,NW_008805451.1
chrUn_KN150156v1 33247 unplaced primary KN150156.1,NW_003337259.1
chrUn_KN150157v1 18756 unplaced primary KN150157.1,NW_003337224.1
chrUn_KN150158v1 106536 unplaced primary KN150158.1,NW_003335383.2
chrUn_KN150159v1 35229 unplaced primary KN150159.1,NW_003337196.1
chrUn_KN150160v1 17824 unplaced primary KN150160.1,NW_003336286.1
chrUn_KN150161v1 12647 unplaced primary KN150161.1,NW_008805452.1
chrUn_KN150162v1 10930 unplaced primary KN150162.1,NW_003336381.1
chrUn_KN150164v1 11300 unplaced primary KN150164.1,NW_003335796.1
chrUn_KN150165v1 32739 unplaced primary KN150165.1,NW_003336925.1
chrUn_KN150166v1 49457 unplaced primary KN150166.1,NW_003336541.1
chrUn_KN150167v1 13466 unplaced primary KN150167.1,NW_003336392.1
chrUn_KN150168v1 28382 unplaced primary KN150168.1,NW_003336254.1
chrUn_KN150170v1 55716 unplaced primary KN150170.1,NW_003336404.2
chrUn_KN150171v1 140649 unplaced primary KN150171.1,NW_003336964.1
chrUn_KN150172v1 40634 unplaced primary KN150172.1,NW_008805454.1
chrUn_KN150173v1 50946 unplaced primary KN150173.1,NW_003336455.2
chrUn_KN150174v1 13450 unplaced primary KN150174.1,NW_008805455.1
chrUn_KN150175v1 24612 unplaced primary KN150175.1,NW_003337250.1
chrUn_KN150176v1 69061 unplaced primary KN150176.1,NW_003334499.2
chrUn_KN150177v1 21670 unplaced primary KN150177.1,NW_003336928.1
chrUn_KN150179v1 47473 unplaced primary KN150179.1,NW_003336461.1
chrUn_KN150180v1 1872 unplaced primary KN150180.1,NW_003337031.1
chrUn_KN150181v1 32761 unplaced primary KN150181.1,NW_003335920.1
chrUn_KN150182v1 11735 unplaced primary KN150182.1,NW_003337162.1
chrUn_KN150183v1 22266 unplaced primary KN150183.1,NW_003334281.1
chrUn_KN150184v1 16312 unplaced primary KN150184.1,NW_003336327.1
chrUn_KN150185v1 8651 unplaced primary KN150185.1,NW_003336293.1
chrUn_KN150186v1 23923 unplaced primary KN150186.1,NW_003334071.2
chrUn_KN150187v1 19179 unplaced primary KN150187.1,NW_003336328.1
chrUn_KN150189v1 38868 unplaced primary KN150189.1,NW_003336699.1
chrUn_KN150190v1 11399 unplaced primary KN150190.1,NW_003336858.1
chrUn_KN150191v1 42303 unplaced primary KN150191.1,NW_003334899.1
chrUn_KN150193v1 12580 unplaced primary KN150193.1,NW_003336332.1
chrUn_KN150194v1 13629 unplaced primary KN150194.1,NW_003336375.1
chrUn_KN150195v1 18921 unplaced primary KN150195.1,NW_003336913.1
chrUn_KN150196v1 89077 unplaced primary KN150196.1,NW_008805458.1
chrUn_KN150197v1 14532 unplaced primary KN150197.1,NW_003337171.1
chrUn_KN150199v1 16564 unplaced primary KN150199.1,NW_003336871.1
chrUn_KN150200v1 31861 unplaced primary KN150200.1,NW_008805459.1
chrUn_KN150201v1 9480 unplaced primary KN150201.1,NW_003336661.1
chrUn_KN150202v1 15451 unplaced primary KN150202.1,NW_003337002.1
chrUn_KN150203v1 24004 unplaced primary KN150203.1,NW_003337189.1
chrUn_KN150204v1 95149 unplaced primary KN150204.1,NW_003337204.1
chrUn_KN150205v1 2620 unplaced primary KN150205.1,NW_003337172.1
chrUn_KN150206v1 2052 unplaced primary KN150206.1,NW_003336388.1
chrUn_KN150210v1 12550 unplaced primary KN150210.1,NW_003337136.1
chrUn_KN150211v1 16386 unplaced primary KN150211.1,NW_003336376.1
chrUn_KN150212v1 18932 unplaced primary KN150212.1,NW_003335408.1
chrUn_KN150213v1 16101 unplaced primary KN150213.1,NW_008805461.1
chrUn_KN150214v1 162877 unplaced primary KN150214.1,NW_003336732.1
chrUn_KN150215v1 1237 unplaced primary KN150215.1,NW_003334517.2
chrUn_KN150216v1 1020 unplaced primary KN150216.1,NW_008805462.1
chrUn_KN150217v1 13840 unplaced primary KN150217.1,NW_008805463.1
chrUn_KN150218v1 15354 unplaced primary KN150218.1,NW_003336601.1
chrUn_KN150219v1 16672 unplaced primary KN150219.1,NW_003336553.1
chrUn_KN150220v1 29625 unplaced primary KN150220.1,NW_003335052.1
chrUn_KN150221v1 28122 unplaced primary KN150221.1,NW_003336895.1
chrUn_KN150222v1 110669 unplaced primary KN150222.1,NW_003336730.1
chrUn_KN150224v1 24154 unplaced primary KN150224.1,NW_003335355.2
chrUn_KN150225v1 20429 unplaced primary KN150225.1,NW_008805465.1
chrUn_KN150226v1 25293 unplaced primary KN150226.1,NW_003334453.1
chrUn_KN150227v1 31979 unplaced primary KN150227.1,NW_003336903.1
chrUn_KN150228v1 17061 unplaced primary KN150228.1,NW_003337202.1
chrUn_KN150229v1 1251 unplaced primary KN150229.1,NW_003336632.1
chrUn_KN150230v1 149710 unplaced primary KN150230.1,NW_003335764.1
chrUn_KN150231v1 2322 unplaced primary KN150231.1,NW_008805466.1
chrUn_KN150232v1 53540 unplaced primary KN150232.1,NW_003336350.1
chrUn_KN150233v1 2246 unplaced primary KN150233.1,NW_003336429.1
chrUn_KN150234v1 18511 unplaced primary KN150234.1,NW_003336769.1
chrUn_KN150236v1 19315 unplaced primary KN150236.1,NW_008805468.1
chrUn_KN150237v1 1732 unplaced primary KN150237.1,NW_003336914.1
chrUn_KN150238v1 9450 unplaced primary KN150238.1,NW_003336515.1
chrUn_KN150240v1 31723 unplaced primary KN150240.1,NW_003335884.2
chrUn_KN150241v1 60821 unplaced primary KN150241.1,NW_003336647.1
chrUn_KN150242v1 20063 unplaced primary KN150242.1,NW_003334219.2
chrUn_KN150243v2 45964 unplaced primary KN150243.2,NW_003336949.3
chrUn_KN150244v1 42860 unplaced primary KN150244.1,NW_003336894.1
chrUn_KN150246v1 15365 unplaced primary KN150246.1,NW_008805470.1
chrUn_KN150248v1 18273 unplaced primary KN150248.1,NW_003337198.1
chrUn_KN150249v1 12261 unplaced primary KN150249.1,NW_003336377.1
chrUn_KN150250v1 13560 unplaced primary KN150250.1,NW_008805472.1
chrUn_KN150251v1 26988 unplaced primary KN150251.1,NW_008805473.1
chrUn_KN150252v1 43133 unplaced primary KN150252.1,NW_003334150.2
chrUn_KN150253v1 3149 unplaced primary KN150253.1,NW_003336972.2
chrUn_KN150254v1 12144 unplaced primary KN150254.1,NW_003336921.1
chrUn_KN150255v2 29368 unplaced primary KN150255.2,NW_003336517.2
chrUn_KN150257v1 12735 unplaced primary KN150257.1,NW_003336819.1
chrUn_KN150258v1 95885 unplaced primary KN150258.1,NW_003337070.1
chrUn_KN150259v1 50098 unplaced primary KN150259.1,NW_003336396.1
chrUn_KN150260v1 12318 unplaced primary KN150260.1,NW_003337096.1
chrUn_KN150263v1 31336 unplaced primary KN150263.1,NW_003336283.1
chrUn_KN150264v1 16955 unplaced primary KN150264.1,NW_003334519.2
chrUn_KN150265v1 51555 unplaced primary KN150265.1,NW_003335278.1
chrUn_KN150267v1 77778 unplaced primary KN150267.1,NW_003337203.1
chrUn_KN150268v1 15280 unplaced primary KN150268.1,NW_008805476.1
chrUn_KN150269v1 48062 unplaced primary KN150269.1,NW_003336662.1
chrUn_KN150270v1 22285 unplaced primary KN150270.1,NW_003337159.1
chrUn_KN150271v1 12637 unplaced primary KN150271.1,NW_003336846.1
chrUn_KN150272v1 34295 unplaced primary KN150272.1,NW_003336573.1
chrUn_KN150274v1 12247 unplaced primary KN150274.1,NW_003336884.1
chrUn_KN150275v1 13800 unplaced primary KN150275.1,NW_003336488.1
chrUn_KN150276v1 12942 unplaced primary KN150276.1,NW_003336666.1
chrUn_KN150278v1 30978 unplaced primary KN150278.1,NW_003337101.1
chrUn_KN150279v1 11402 unplaced primary KN150279.1,NW_003337080.1
chrUn_KN150280v1 10487 unplaced primary KN150280.1,NW_008805478.1
chrUn_KN150282v1 23758 unplaced primary KN150282.1,NW_003336036.1
chrUn_KN150283v1 13933 unplaced primary KN150283.1,NW_008805480.1
chrUn_KN150284v1 18131 unplaced primary KN150284.1,NW_003336443.1
chrUn_KN150285v1 25361 unplaced primary KN150285.1,NW_003334203.1
chrUn_KN150286v1 9068 unplaced primary KN150286.1,NW_008805481.1
chrUn_KN150287v1 11856 unplaced primary KN150287.1,NW_003337239.1
chrUn_KN150289v1 22206 unplaced primary KN150289.1,NW_003336437.1
chrUn_KN150290v1 18248 unplaced primary KN150290.1,NW_003337065.1
chrUn_KN150291v1 25796 unplaced primary KN150291.1,NW_003336764.1
chrUn_KN150292v1 9984 unplaced primary KN150292.1,NW_003337025.1
chrUn_KN150293v1 40764 unplaced primary KN150293.1,NW_008805483.1
chrUn_KN150296v1 10238 unplaced primary KN150296.1,NW_003336834.1
chrUn_KN150297v1 23472 unplaced primary KN150297.1,NW_003337028.1
chrUn_KN150299v1 23511 unplaced primary KN150299.1,NW_003337154.1
chrUn_KN150300v1 9489 unplaced primary KN150300.1,NW_003336674.1
chrUn_KN150301v1 18664 unplaced primary KN150301.1,NW_003336572.2
chrUn_KN150302v1 13538 unplaced primary KN150302.1,NW_008805487.1
chrUn_KN150303v1 39288 unplaced primary KN150303.1,NW_008805488.1
chrUn_KN150306v1 36728 unplaced primary KN150306.1,NW_003336603.1
chrUn_KN150307v1 9167 unplaced primary KN150307.1,NW_003336554.1
chrUn_KN150308v1 18907 unplaced primary KN150308.1,NW_003337131.2
chrUn_KN150309v1 20999 unplaced primary KN150309.1,NW_003336529.1
chrUn_KN150310v1 20509 unplaced primary KN150310.1,NW_008805490.1
chrUn_KN150311v1 15747 unplaced primary KN150311.1,NW_003337042.1
chrUn_KN150312v1 17282 unplaced primary KN150312.1,NW_008805491.1
chrUn_KN150313v1 20655 unplaced primary KN150313.1,NW_003336176.2
chrUn_KN150314v1 12455 unplaced primary KN150314.1,NW_003337059.1
chrUn_KN150315v1 20424 unplaced primary KN150315.1,NW_003337219.1
chrUn_KN150317v1 14866 unplaced primary KN150317.1,NW_008805493.1
chrUn_KN150318v1 2580 unplaced primary KN150318.1,NW_008805494.1
chrUn_KN150319v1 15807 unplaced primary KN150319.1,NW_003336810.1
chrUn_KN150320v1 1241 unplaced primary KN150320.1,NW_008805495.1
chrUn_KN150322v1 19644 unplaced primary KN150322.1,NW_008805497.1
chrUn_KN150323v1 18137 unplaced primary KN150323.1,NW_003336675.1
chrUn_KN150324v1 24032 unplaced primary KN150324.1,NW_003334033.1
chrUn_KN150325v1 19525 unplaced primary KN150325.1,NW_003336599.1
chrUn_KN150326v1 109565 unplaced primary KN150326.1,NW_003336663.1
chrUn_KN150327v1 19949 unplaced primary KN150327.1,NW_008805498.1
chrUn_KN150328v1 17410 unplaced primary KN150328.1,NW_003336978.1
chrUn_KN150329v1 13297 unplaced primary KN150329.1,NW_003337127.1
chrUn_KN150330v1 28440 unplaced primary KN150330.1,NW_003334988.2
chrUn_KN150331v1 44968 unplaced primary KN150331.1,NW_003336940.1
chrUn_KN150332v1 22862 unplaced primary KN150332.1,NW_003336784.1
chrUn_KN150333v1 12275 unplaced primary KN150333.1,NW_003335050.1
chrUn_KN150334v1 22542 unplaced primary KN150334.1,NW_003336876.1
chrUn_KN150335v1 44504 unplaced primary KN150335.1,NW_003337117.1
chrUn_KN150336v1 48672 unplaced primary KN150336.1,NW_003334683.1
chrUn_KN150337v1 20260 unplaced primary KN150337.1,NW_003336442.1
chrUn_KN150338v1 1142 unplaced primary KN150338.1,NW_003336815.1
chrUn_KN150340v1 28741 unplaced primary KN150340.1,NW_003334670.1
chrUn_KN150341v1 31147 unplaced primary KN150341.1,NW_003337182.1
chrUn_KN150342v1 82590 unplaced primary KN150342.1,NW_003335650.1
chrUn_KN150343v1 26928 unplaced primary KN150343.1,NW_003336806.1
chrUn_KN150344v1 19681 unplaced primary KN150344.1,NW_008805499.1
chrUn_KN150345v1 17012 unplaced primary KN150345.1,NW_003337008.2
chrUn_KN150347v1 51528 unplaced primary KN150347.1,NW_003336513.1
chrUn_KN150349v1 29114 unplaced primary KN150349.1,NW_003336956.1
chrUn_KN150350v1 9245 unplaced primary KN150350.1,NW_003336410.1
chrUn_KN150351v1 49608 unplaced primary KN150351.1,NW_003336758.1
chrUn_KN150352v2 25352 unplaced primary KN150352.2,NW_003336681.2
chrUn_KN150353v1 19631 unplaced primary KN150353.1,NW_003336715.1
chrUn_KN150354v1 1452 unplaced primary KN150354.1,NW_003336475.1
chrUn_KN150355v1 6731 unplaced primary KN150355.1,NW_003337006.1
chrUn_KN150357v1 27326 unplaced primary KN150357.1,NW_003337192.1
chrUn_KN150358v1 9951 unplaced primary KN150358.1,NW_008805501.1
chrUn_KN150360v1 15639 unplaced primary KN150360.1,NW_003336934.1
chrUn_KN150361v1 53624 unplaced primary KN150361.1,NW_008805502.1
chrUn_KN150362v1 17145 unplaced primary KN150362.1,NW_003336636.1
chrUn_KN150363v1 22766 unplaced primary KN150363.1,NW_003336387.2
chrUn_KN150364v1 15084 unplaced primary KN150364.1,NW_003336746.1
chrUn_KN150365v1 10769 unplaced primary KN150365.1,NW_008805503.1
chrUn_KN150366v1 10057 unplaced primary KN150366.1,NW_003336766.1
chrUn_KN150368v1 18491 unplaced primary KN150368.1,NW_003336088.1
chrUn_KN150369v1 11460 unplaced primary KN150369.1,NW_003336929.1
chrUn_KN150371v1 13836 unplaced primary KN150371.1,NW_003336374.1
chrUn_KN150372v1 29560 unplaced primary KN150372.1,NW_003337097.1
chrUn_KN150374v1 9775 unplaced primary KN150374.1,NW_003336772.2
chrUn_KN150375v1 111208 unplaced primary KN150375.1,NW_008805506.1
chrUn_KN150379v1 29907 unplaced primary KN150379.1,NW_003336918.1
chrUn_KN150380v1 12144 unplaced primary KN150380.1,NW_003337115.1
chrUn_KN150382v1 14074 unplaced primary KN150382.1,NW_003336287.1
chrUn_KN150383v1 7777 unplaced primary KN150383.1,NW_003335266.1
chrUn_KN150384v1 22969 unplaced primary KN150384.1,NW_003337193.1
chrUn_KN150385v1 37055 unplaced primary KN150385.1,NW_003335289.1
chrUn_KN150386v1 35900 unplaced primary KN150386.1,NW_003337183.1
chrUn_KN150387v1 15215 unplaced primary KN150387.1,NW_003336845.1
chrUn_KN150388v1 22284 unplaced primary KN150388.1,NW_008805508.1
chrUn_KN150389v1 10334 unplaced primary KN150389.1,NW_008805509.1
chrUn_KN150390v1 19066 unplaced primary KN150390.1,NW_003336331.2
chrUn_KN150392v1 12069 unplaced primary KN150392.1,NW_003336185.1
chrUn_KN150393v1 12073 unplaced primary KN150393.1,NW_008805510.1
chrUn_KN150394v1 17139 unplaced primary KN150394.1,NW_003337222.1
chrUn_KN150395v1 9792 unplaced primary KN150395.1,NW_003336361.1
chrUn_KN150396v1 8176 unplaced primary KN150396.1,NW_003337207.1
chrUn_KN150397v1 17295 unplaced primary KN150397.1,NW_003336593.1
chrUn_KN150398v1 39557 unplaced primary KN150398.1,NW_003336425.1
chrUn_KN150399v1 19362 unplaced primary KN150399.1,NW_003337242.1
chrUn_KN150400v1 34930 unplaced primary KN150400.1,NW_003337146.1
chrUn_KN150401v1 10081 unplaced primary KN150401.1,NW_003336665.1
chrUn_KN150403v1 34697 unplaced primary KN150403.1,NW_003336855.1
chrUn_KN150404v1 18160 unplaced primary KN150404.1,NW_008805511.1
chrUn_KN150405v1 76919 unplaced primary KN150405.1,NW_003335907.1
chrUn_KN150406v1 17215 unplaced primary KN150406.1,NW_003334182.1
chrUn_KN150407v1 31814 unplaced primary KN150407.1,NW_003336727.1
chrUn_KN150408v1 37191 unplaced primary KN150408.1,NW_003337083.1
chrUn_KN150411v1 20886 unplaced primary KN150411.1,NW_003336533.1
chrUn_KN150412v1 9605 unplaced primary KN150412.1,NW_008805514.1
chrUn_KN150413v1 15078 unplaced primary KN150413.1,NW_003337251.1
chrUn_KN150414v1 35871 unplaced primary KN150414.1,NW_003337046.1
chrUn_KN150416v1 33835 unplaced primary KN150416.1,NW_003337161.1
chrUn_KN150418v1 14930 unplaced primary KN150418.1,NW_008805516.1
chrUn_KN150419v1 14114 unplaced primary KN150419.1,NW_003337233.1
chrUn_KN150420v1 14290 unplaced primary KN150420.1,NW_008805517.1
chrUn_KN150421v1 14951 unplaced primary KN150421.1,NW_003336994.1
chrUn_KN150422v1 15053 unplaced primary KN150422.1,NW_003336621.1
chrUn_KN150425v1 110593 unplaced primary KN150425.1,NW_003336436.1
chrUn_KN150426v1 21499 unplaced primary KN150426.1,NW_003334448.1
chrUn_KN150428v1 29216 unplaced primary KN150428.1,NW_003336422.1
chrUn_KN150429v1 17683 unplaced primary KN150429.1,NW_003337045.1
chrUn_KN150430v1 16452 unplaced primary KN150430.1,NW_003336966.1
chrUn_KN150431v1 89659 unplaced primary KN150431.1,NW_003336510.1
chrUn_KN150432v1 91010 unplaced primary KN150432.1,NW_003336612.1
chrUn_KN150434v1 12053 unplaced primary KN150434.1,NW_003336824.1
chrUn_KN150436v1 17739 unplaced primary KN150436.1,NW_003336998.2
chrUn_KN150437v1 1262 unplaced primary KN150437.1,NW_003335163.1
chrUn_KN150439v1 10343 unplaced primary KN150439.1,NW_003337068.1
chrUn_KN150440v1 1193 unplaced primary KN150440.1,NW_003334844.1
chrUn_KN150441v1 12439 unplaced primary KN150441.1,NW_003336324.1
chrUn_KN150443v1 11834 unplaced primary KN150443.1,NW_003337088.1
chrUn_KN150444v1 11830 unplaced primary KN150444.1,NW_003336989.1
chrUn_KN150445v1 12072 unplaced primary KN150445.1,NW_008805522.1
chrUn_KN150446v1 12446 unplaced primary KN150446.1,NW_008805523.1
chrUn_KN150449v1 62607 unplaced primary KN150449.1,NW_008805526.1
chrUn_KN150450v1 25362 unplaced primary KN150450.1,NW_008805527.1
chrUn_KN150451v1 14920 unplaced primary KN150451.1,NW_008805528.1
chrUn_KN150452v1 8345 unplaced primary KN150452.1,NW_003336441.1
chrUn_KN150453v1 13591 unplaced primary KN150453.1,NW_008805529.1
chrUn_KN150454v1 18479 unplaced primary KN150454.1,NW_003337265.1
chrUn_KN150455v1 73536 unplaced primary KN150455.1,NW_003337116.1
chrUn_KN150458v1 17481 unplaced primary KN150458.1,NW_003337124.1
chrUn_KN150459v1 45603 unplaced primary KN150459.1,NW_003337132.1
chrUn_KN150462v1 24623 unplaced primary KN150462.1,NW_003334810.2
chrUn_KN150464v1 24865 unplaced primary KN150464.1,NW_003337179.1
chrUn_KN150465v1 1765 unplaced primary KN150465.1,NW_008805532.1
chrUn_KN150466v1 41319 unplaced primary KN150466.1,NW_003336897.1
chrUn_KN150467v1 11202 unplaced primary KN150467.1,NW_008805533.1
chrUn_KN150468v1 25381 unplaced primary KN150468.1,NW_003336414.1
chrUn_KN150469v1 14614 unplaced primary KN150469.1,NW_003336514.1
chrUn_KN150470v1 2027 unplaced primary KN150470.1,NW_003335559.1
chrUn_KN150471v1 76663 unplaced primary KN150471.1,NW_003335375.1
chrUn_KN150472v1 14586 unplaced primary KN150472.1,NW_003337034.1
chrUn_KN150473v1 1285 unplaced primary KN150473.1,NW_008805534.1
chrUn_KN150475v1 17517 unplaced primary KN150475.1,NW_003335148.1
chrUn_KN150476v1 59211 unplaced primary KN150476.1,NW_003336445.1
chrUn_KN150477v1 61693 unplaced primary KN150477.1,NW_003337143.1
chrUn_KN150478v1 25813 unplaced primary KN150478.1,NW_003336671.1
chrUn_KN150479v1 48186 unplaced primary KN150479.1,NW_008805535.1
chrUn_KN150481v1 1008 unplaced primary KN150481.1,NW_003334506.1
chrUn_KN150483v1 17332 unplaced primary KN150483.1,NW_003337177.1
chrUn_KN150484v1 14965 unplaced primary KN150484.1,NW_003334956.2
chrUn_KN150485v1 7348 unplaced primary KN150485.1,NW_003337187.1
chrUn_KN150486v1 8572 unplaced primary KN150486.1,NW_008805538.1
chrUn_KN150487v1 123701 unplaced primary KN150487.1,NW_003336534.1
chrUn_KN150488v1 17582 unplaced primary KN150488.1,NW_003336507.1
chrUn_KN150489v1 26739 unplaced primary KN150489.1,NW_003336591.1
chrUn_KN150490v1 23057 unplaced primary KN150490.1,NW_008805539.1
chrUn_KN150491v1 13001 unplaced primary KN150491.1,NW_008805540.1
chrUn_KN150492v2 30275 unplaced primary KN150492.2,NW_003337261.2
chrUn_KN150493v1 35575 unplaced primary KN150493.1,NW_003336563.1
chrUn_KN150494v1 10108 unplaced primary KN150494.1,NW_003336347.1
chrUn_KN150495v1 28160 unplaced primary KN150495.1,NW_003336321.1
chrUn_KN150499v1 11840 unplaced primary KN150499.1,NW_003336729.1
chrUn_KN150500v1 19866 unplaced primary KN150500.1,NW_003336968.1
chrUn_KN150501v1 22392 unplaced primary KN150501.1,NW_003334575.1
chrUn_KN150502v1 13027 unplaced primary KN150502.1,NW_008805541.1
chrUn_KN150503v1 1834 unplaced primary KN150503.1,NW_003336687.2
chrUn_KN150504v1 12094 unplaced primary KN150504.1,NW_003337122.1
chrUn_KN150505v1 39265 unplaced primary KN150505.1,NW_008805542.1
chrUn_KN150506v1 14319 unplaced primary KN150506.1,NW_008805543.1
chrUn_KN150508v1 26814 unplaced primary KN150508.1,NW_003337071.1
chrUn_KN150509v1 11846 unplaced primary KN150509.1,NW_008805544.1
chrUn_KN150510v1 13237 unplaced primary KN150510.1,NW_003336872.1
chrUn_KN150511v1 38183 unplaced primary KN150511.1,NW_003337218.1
chrUn_KN150513v1 10220 unplaced primary KN150513.1,NW_003336451.1
chrUn_KN150514v1 19391 unplaced primary KN150514.1,NW_003336893.1
chrUn_KN150515v1 1813 unplaced primary KN150515.1,NW_003336686.1
chrUn_KN150516v1 49339 unplaced primary KN150516.1,NW_003335321.1
chrUn_KN150517v1 16171 unplaced primary KN150517.1,NW_003336995.1
chrUn_KN150518v1 40394 unplaced primary KN150518.1,NW_008805545.1
chrUn_KN150519v1 11974 unplaced primary KN150519.1,NW_003336494.1
chrUn_KN150520v1 103159 unplaced primary KN150520.1,NW_003334254.1
chrUn_KN150521v1 20896 unplaced primary KN150521.1,NW_003337266.1
chrUn_KN150522v1 12046 unplaced primary KN150522.1,NW_003336169.1
chrUn_KN150523v1 19004 unplaced primary KN150523.1,NW_003336403.1
chrUn_KN150525v1 650 unplaced primary KN150525.1,NW_003336558.1
chrUn_KN150526v1 15513 unplaced primary KN150526.1,NW_003336311.1
chrUn_KN150527v1 20880 unplaced primary KN150527.1,NW_003336627.1
chrUn_KN150528v1 13138 unplaced primary KN150528.1,NW_003336655.1
chrUn_KN150529v1 81946 unplaced primary KN150529.1,NW_003335906.1
chrUn_KN150530v1 7299 unplaced primary KN150530.1,NW_003336511.1
chrUn_KN150532v1 21602 unplaced primary KN150532.1,NW_003336781.2
chrUn_KN150534v1 17661 unplaced primary KN150534.1,NW_003337106.1
chrUn_KN150535v1 2315 unplaced primary KN150535.1,NW_008805549.1
chrUn_KN150536v1 17908 unplaced primary KN150536.1,NW_003336520.1
chrUn_KN150537v1 27568 unplaced primary KN150537.1,NW_003336426.1
chrUn_KN150538v1 12119 unplaced primary KN150538.1,NW_003337019.1
chrUn_KN150540v1 15288 unplaced primary KN150540.1,NW_003336701.2
chrUn_KN150541v1 12323 unplaced primary KN150541.1,NW_003336946.1
chrUn_KN150542v1 12167 unplaced primary KN150542.1,NW_003336583.1
chrUn_KN150543v1 2343 unplaced primary KN150543.1,NW_003335154.1
chrUn_KN150544v1 1198 unplaced primary KN150544.1,NW_003337120.1
chrUn_KN150545v1 17546 unplaced primary KN150545.1,NW_003336473.1
chrUn_KN150546v1 10851 unplaced primary KN150546.1,NW_008805550.1
chrUn_KN150547v1 37420 unplaced primary KN150547.1,NW_003337043.1
chrUn_KN150548v1 46061 unplaced primary KN150548.1,NW_003336435.2
chrUn_KN150549v1 17599 unplaced primary KN150549.1,NW_008805551.1
chrUn_KN150550v1 14915 unplaced primary KN150550.1,NW_008805552.1
chrUn_KN150551v1 9435 unplaced primary KN150551.1,NW_003336399.1
chrUn_KN150552v1 74050 unplaced primary KN150552.1,NW_003334318.1
chrUn_KN150553v1 14032 unplaced primary KN150553.1,NW_003336237.1
chrUn_KN150554v1 9251 unplaced primary KN150554.1,NW_003336448.1
chrUn_KN150555v1 9941 unplaced primary KN150555.1,NW_008805553.1
chrUn_KN150556v1 9286 unplaced primary KN150556.1,NW_003336975.1
chrUn_KN150557v1 41459 unplaced primary KN150557.1,NW_003336471.1
chrUn_KN150558v1 12115 unplaced primary KN150558.1,NW_003336684.1
chrUn_KN150559v1 26580 unplaced primary KN150559.1,NW_003336341.1
chrUn_KN150560v1 2301 unplaced primary KN150560.1,NW_003336300.2
chrUn_KN150561v1 22238 unplaced primary KN150561.1,NW_003335113.1
chrUn_KN150562v1 22875 unplaced primary KN150562.1,NW_003336996.1
chrUn_KN150564v1 17709 unplaced primary KN150564.1,NW_003336398.1
chrUn_KN150565v1 20464 unplaced primary KN150565.1,NW_003336308.1
chrUn_KN150567v1 49566 unplaced primary KN150567.1,NW_003336976.1
chrUn_KN150568v1 108195 unplaced primary KN150568.1,NW_003336276.1
chrUn_KN150570v1 42279 unplaced primary KN150570.1,NW_003335350.1
chrUn_KN150571v1 16505 unplaced primary KN150571.1,NW_003336924.1
chrUn_KN150572v1 28871 unplaced primary KN150572.1,NW_003336559.1
chrUn_KN150573v1 26604 unplaced primary KN150573.1,NW_003336747.1
chrUn_KN150574v1 18499 unplaced primary KN150574.1,NW_003337151.1
chrUn_KN150575v1 11084 unplaced primary KN150575.1,NW_003336892.1
chrUn_KN150576v1 36129 unplaced primary KN150576.1,NW_003337260.1
chrUn_KN150577v1 13719 unplaced primary KN150577.1,NW_003336742.1
chrUn_KN150578v1 103698 unplaced primary KN150578.1,NW_003336492.1
chrUn_KN150579v1 23586 unplaced primary KN150579.1,NW_003336493.1
chrUn_KN150580v1 32349 unplaced primary KN150580.1,NW_003336274.1
chrUn_KN150581v1 12355 unplaced primary KN150581.1,NW_003337107.1
chrUn_KN150582v1 12396 unplaced primary KN150582.1,NW_003336907.1
chrUn_KN150583v1 1918 unplaced primary KN150583.1,NW_008805555.1
chrUn_KN150585v1 12430 unplaced primary KN150585.1,NW_003336630.1
chrUn_KN150586v1 17388 unplaced primary KN150586.1,NW_008805557.1
chrUn_KN150587v1 8461 unplaced primary KN150587.1,NW_008805558.1
chrUn_KN150588v1 14103 unplaced primary KN150588.1,NW_003336773.1
chrUn_KN150589v1 18957 unplaced primary KN150589.1,NW_003334902.1
chrUn_KN150591v1 8817 unplaced primary KN150591.1,NW_003336888.1
chrUn_KN150592v1 50000 unplaced primary KN150592.1,NW_003335319.1
chrUn_KN150593v1 14353 unplaced primary KN150593.1,NW_003334536.1
chrUn_KN150594v1 19382 unplaced primary KN150594.1,NW_003336521.1
chrUn_KN150595v1 12507 unplaced primary KN150595.1,NW_008805559.1
chrUn_KN150596v1 60847 unplaced primary KN150596.1,NW_003336991.1
chrUn_KN150598v1 12499 unplaced primary KN150598.1,NW_003336762.1
chrUn_KN150599v1 19019 unplaced primary KN150599.1,NW_003336836.1
chrUn_KN150601v1 11167 unplaced primary KN150601.1,NW_008805561.1
chrUn_KN150602v1 22730 unplaced primary KN150602.1,NW_003336682.1
chrUn_KN150603v1 98280 unplaced primary KN150603.1,NW_003336757.1
chrUn_KN150605v1 102574 unplaced primary KN150605.1,NW_003336579.1
chrUn_KN150606v1 51696 unplaced primary KN150606.1,NW_003336826.1
chrUn_KN150607v1 9531 unplaced primary KN150607.1,NW_003336325.1
chrUn_KN150608v1 149650 unplaced primary KN150608.1,NW_003335359.2
chrUn_KN150609v1 37413 unplaced primary KN150609.1,NW_003336840.1
chrUn_KN150610v1 10565 unplaced primary KN150610.1,NW_003336302.1
chrUn_KN150613v1 15739 unplaced primary KN150613.1,NW_003336721.1
chrUn_KN150614v1 9019 unplaced primary KN150614.1,NW_008805563.1
chrUn_KN150615v1 9878 unplaced primary KN150615.1,NW_008805564.1
chrUn_KN150616v1 88699 unplaced primary KN150616.1,NW_003336543.1
chrUn_KN150617v1 90208 unplaced primary KN150617.1,NW_003335385.1
chrUn_KN150619v1 41925 unplaced primary KN150619.1,NW_003336277.2
chrUn_KN150620v1 30729 unplaced primary KN150620.1,NW_003336997.1
chrUn_KN150621v1 1204 unplaced primary KN150621.1,NW_003335146.1
chrUn_KN150622v1 15811 unplaced primary KN150622.1,NW_003336614.1
chrUn_KN150623v1 1126 unplaced primary KN150623.1,NW_003337225.1
chrUn_KN150625v1 22486 unplaced primary KN150625.1,NW_003336372.1
chrUn_KN150626v1 32850 unplaced primary KN150626.1,NW_003336568.1
chrUn_KN150628v1 33906 unplaced primary KN150628.1,NW_008805566.1
chrUn_KN150629v1 19604 unplaced primary KN150629.1,NW_003334261.1
chrUn_KN150630v1 86421 unplaced primary KN150630.1,NW_003336337.1
chrUn_KN150631v1 36324 unplaced primary KN150631.1,NW_003335149.2
chrUn_KN150632v1 11627 unplaced primary KN150632.1,NW_003336725.1
chrUn_KN150633v1 19558 unplaced primary KN150633.1,NW_003335143.1
chrUn_KN150634v1 16020 unplaced primary KN150634.1,NW_003334668.1
chrUn_KN150635v1 27947 unplaced primary KN150635.1,NW_008805567.1
chrUn_KN150636v1 20513 unplaced primary KN150636.1,NW_008805568.1
chrUn_KN150639v1 27620 unplaced primary KN150639.1,NW_003336281.1
chrUn_KN150640v1 20890 unplaced primary KN150640.1,NW_003337057.1
chrUn_KN150641v1 14778 unplaced primary KN150641.1,NW_003335935.1
chrUn_KN150642v1 55536 unplaced primary KN150642.1,NW_003335314.1
chrUn_KN150643v1 28088 unplaced primary KN150643.1,NW_003336958.1
chrUn_KN150644v1 20534 unplaced primary KN150644.1,NW_008805570.1
chrUn_KN150645v1 22839 unplaced primary KN150645.1,NW_003336613.1
chrUn_KN150646v1 78076 unplaced primary KN150646.1,NW_003336358.1
chrUn_KN150647v1 14938 unplaced primary KN150647.1,NW_008805571.1
chrUn_KN150649v1 81249 unplaced primary KN150649.1,NW_003336843.1
chrUn_KN150650v1 3012 unplaced primary KN150650.1,NW_003336973.1
chrUn_KN150651v1 28018 unplaced primary KN150651.1,NW_003337123.1
chrUn_KN150652v1 18075 unplaced primary KN150652.1,NW_003336743.1
chrUn_KN150653v1 55997 unplaced primary KN150653.1,NW_008805573.1
chrUn_KN150654v1 18414 unplaced primary KN150654.1,NW_008805574.1
chrUn_KN150655v1 8089 unplaced primary KN150655.1,NW_008805575.1
chrUn_KN150656v2 29322 unplaced primary KN150656.2,NW_003336774.3
chrUn_KN150659v1 11827 unplaced primary KN150659.1,NW_003334429.1
chrUn_KN150661v1 26250 unplaced primary KN150661.1,NW_003334452.1
chrUn_KN150662v1 17820 unplaced primary KN150662.1,NW_003336355.1
chrUn_KN150663v1 88608 unplaced primary KN150663.1,NW_003337060.1
chrUn_KN150664v1 9590 unplaced primary KN150664.1,NW_003336740.1
chrUn_KN150665v1 11944 unplaced primary KN150665.1,NW_003337186.1
chrUn_KN150666v1 63484 unplaced primary KN150666.1,NW_003336407.1
chrUn_KN150667v1 54201 unplaced primary KN150667.1,NW_003336566.1
chrUn_KN150668v1 21856 unplaced primary KN150668.1,NW_003336756.1
chrUn_KN150669v1 15325 unplaced primary KN150669.1,NW_003336850.1
chrUn_KN150670v1 77993 unplaced primary KN150670.1,NW_003335386.2
chrUn_KN150671v1 13526 unplaced primary KN150671.1,NW_003337038.1
chrUn_KN150675v1 41858 unplaced primary KN150675.1,NW_003337029.1
chrUn_KN150676v1 51674 unplaced primary KN150676.1,NW_003336294.1
chrUn_KN150677v1 66956 unplaced primary KN150677.1,NW_008805579.1
chrUn_KN150678v1 7552 unplaced primary KN150678.1,NW_003337026.1
chrUn_KN150679v1 14065 unplaced primary KN150679.1,NW_003336847.1
chrUn_KN150680v1 13379 unplaced primary KN150680.1,NW_003334441.1
chrUn_KN150682v1 15190 unplaced primary KN150682.1,NW_003337188.1
chrUn_KN150683v1 16822 unplaced primary KN150683.1,NW_003334692.2
chrUn_KN150684v1 24053 unplaced primary KN150684.1,NW_003337255.1
chrUn_KN150685v1 13309 unplaced primary KN150685.1,NW_003336523.1
chrUn_KN150687v1 13294 unplaced primary KN150687.1,NW_008805580.1
chrUn_KN150689v1 19550 unplaced primary KN150689.1,NW_003336343.1
chrUn_KN150690v1 26145 unplaced primary KN150690.1,NW_003337041.1
chrUn_KN150691v1 184625 unplaced primary KN150691.1,NW_003336957.1
chrUn_KN150697v1 12709 unplaced primary KN150697.1,NW_003336278.1
chrUn_KN150698v1 31983 unplaced primary KN150698.1,NW_003335800.1
chrUn_KN150699v1 26100 unplaced primary KN150699.1,NW_003334027.1
chrUn_KN150700v2 71715 unplaced primary KN150700.2,NW_008805582.2
chrUn_KN150701v1 1133 unplaced primary KN150701.1,NW_003335530.1
chrUn_KN150703v1 48009 unplaced primary KN150703.1,NW_003336712.1
chrUn_KN150708v1 42677 unplaced primary KN150708.1,NW_008805585.1
chrUn_KN150709v1 65370 unplaced primary KN150709.1,NW_003337165.1
chrUn_KN150710v1 19629 unplaced primary KN150710.1,NW_003337075.1
chrUn_KN150711v1 11940 unplaced primary KN150711.1,NW_003336651.1
chrUn_KN150713v1 14579 unplaced primary KN150713.1,NW_003336760.1
chrUn_KZ115948v1 7895 unplaced primary KZ115948.1,NW_018394340.1
chrUn_KZ115949v1 19487 unplaced primary KZ115949.1,NW_018394341.1
chrUn_KZ115950v1 11151 unplaced primary KZ115950.1,NW_018394342.1
chrUn_KZ115951v1 1460 unplaced primary KZ115951.1,NW_018394343.1
chrUn_KZ115952v1 6745 unplaced primary KZ115952.1,NW_018394344.1
chrUn_KZ115953v1 1282 unplaced primary KZ115953.1,NW_018394345.1
chrUn_KZ115954v1 7681 unplaced primary KZ115954.1,NW_018394346.1
chrUn_KZ115955v1 2649 unplaced primary KZ115955.1,NW_018394347.1
chrUn_KZ115956v1 11017 unplaced primary KZ115956.1,NW_018394348.1
chrUn_KZ115957v1 3033 unplaced primary KZ115957.1,NW_018394349.1
chrUn_KZ115958v1 16150 unplaced primary KZ115958.1,NW_018394350.1
chrUn_KZ115959v1 2076 unplaced primary KZ115959.1,NW_018394351.1
chrUn_KZ115960v1 10408 unplaced primary KZ115960.1,NW_018394352.1
chrUn_KZ115961v1 1814 unplaced primary KZ115961.1,NW_018394353.1
chrUn_KZ115962v1 9328 unplaced primary KZ115962.1,NW_018394354.1
chrUn_KZ115963v1 5511 unplaced primary KZ115963.1,NW_018394355.1
chrUn_KZ115964v1 21985 unplaced primary KZ115964.1,NW_018394356.1
chrUn_KZ115965v1 8631 unplaced primary KZ115965.1,NW_018394357.1
chrUn_KZ115966v1 10700 unplaced primary KZ115966.1,NW_018394358.1
chrUn_KZ115967v1 2223 unplaced primary KZ115967.1,NW_018394359.1
chrUn_KZ115968v1 7463 unplaced primary KZ115968.1,NW_018394360.1
chrUn_KZ115969v1 11096 unplaced primary KZ115969.1,NW_018394361.1
chrUn_KZ115970v1 4964 unplaced primary KZ115970.1,NW_018394362.1
chrUn_KZ115971v1 10999 unplaced primary KZ115971.1,NW_018394363.1
chrUn_KZ115972v1 18193 unplaced primary KZ115972.1,NW_018394364.1
chrUn_KZ115973v1 7329 unplaced primary KZ115973.1,NW_018394365.1
chrUn_KZ115974v1 33679 unplaced primary KZ115974.1,NW_018394366.1
chrUn_KZ115975v1 1668 unplaced primary KZ115975.1,NW_018394367.1
chrUn_KZ115976v1 3381 unplaced primary KZ115976.1,NW_018394368.1
chrUn_KZ115977v1 1917 unplaced primary KZ115977.1,NW_018394369.1
chrUn_KZ115978v1 4867 unplaced primary KZ115978.1,NW_018394370.1
chrUn_KZ115979v1 12653 unplaced primary KZ115979.1,NW_018394371.1
chrUn_KZ115980v1 11444 unplaced primary KZ115980.1,NW_018394372.1
chrUn_KZ115981v1 12102 unplaced primary KZ115981.1,NW_018394373.1
chrUn_KZ115982v1 21678 unplaced primary KZ115982.1,NW_018394374.1
chrUn_KZ115983v1 10690 unplaced primary KZ115983.1,NW_018394375.1
chrUn_KZ115984v1 2298 unplaced primary KZ115984.1,NW_018394376.1
chrUn_KZ115985v1 14091 unplaced primary KZ115985.1,NW_018394377.1
chrUn_KZ115986v1 14146 unplaced primary KZ115986.1,NW_018394378.1
chrUn_KZ115987v1 34728 unplaced primary KZ115987.1,NW_018394379.1
chrUn_KZ115988v1 2311 unplaced primary KZ115988.1,NW_018394380.1
chrUn_KZ115989v1 11382 unplaced primary KZ115989.1,NW_018394381.1
chrUn_KZ115990v1 8014 unplaced primary KZ115990.1,NW_018394382.1
chrUn_KZ115991v1 3745 unplaced primary KZ115991.1,NW_018394383.1
chrUn_KZ115992v1 1250 unplaced primary KZ115992.1,NW_018394384.1
chrUn_KZ115993v1 17707 unplaced primary KZ115993.1,NW_018394385.1
chrUn_KZ115994v1 17825 unplaced primary KZ115994.1,NW_018394386.1
chrUn_KZ115995v1 5114 unplaced primary KZ115995.1,NW_018394387.1
chrUn_KZ115996v1 5023 unplaced primary KZ115996.1,NW_018394388.1
chrUn_KZ115997v1 3918 unplaced primary KZ115997.1,NW_018394389.1
chrUn_KZ115998v1 9069 unplaced primary KZ115998.1,NW_018394390.1
chrUn_KZ115999v1 8942 unplaced primary KZ115999.1,NW_018394391.1
chrUn_KZ116000v1 15093 unplaced primary KZ116000.1,NW_018394392.1
chrUn_KZ116001v1 13723 unplaced primary KZ116001.1,NW_018394393.1
chrUn_KZ116002v1 9522 unplaced primary KZ116002.1,NW_018394394.1
chrUn_KZ116003v1 15105 unplaced primary KZ116003.1,NW_018394395.1
chrUn_KZ116004v1 19050 unplaced primary KZ116004.1,NW_018394396.1
chrUn_KZ116005v1 1920 unplaced primary KZ116005.1,NW_018394397.1
chrUn_KZ116006v1 13138 unplaced primary KZ116006.1,NW_018394398.1
chrUn_KZ116007v1 11049 unplaced primary KZ116007.1,NW_018394399.1
chrUn_KZ116008v1 17226 unplaced primary KZ116008.1,NW_018394400.1
chrUn_KZ116009v1 1395 unplaced primary KZ116009.1,NW_018394401.1
chrUn_KZ116010v1 6942 unplaced primary KZ116010.1,NW_018394402.1
chrUn_KZ116011v1 51615 unplaced primary KZ116011.1,NW_018394403.1
chrUn_KZ116012v1 9499 unplaced primary KZ116012.1,NW_018394404.1
chrUn_KZ116013v1 7022 unplaced primary KZ116013.1,NW_018394405.1
chrUn_KZ116014v1 1536 unplaced primary KZ116014.1,NW_018394406.1
chrUn_KZ116015v1 9998 unplaced primary KZ116015.1,NW_018394407.1
chrUn_KZ116016v1 5168 unplaced primary KZ116016.1,NW_018394408.1
chrUn_KZ116017v1 2865 unplaced primary KZ116017.1,NW_018394409.1
chrUn_KZ116018v1 11006 unplaced primary KZ116018.1,NW_018394410.1
chrUn_KZ116019v1 34606 unplaced primary KZ116019.1,NW_018394411.1
chrUn_KZ116020v1 14934 unplaced primary KZ116020.1,NW_018394412.1
chrUn_KZ116021v1 17216 unplaced primary KZ116021.1,NW_018394413.1
chrUn_KZ116022v1 1919 unplaced primary KZ116022.1,NW_018394414.1
chrUn_KZ116023v1 7875 unplaced primary KZ116023.1,NW_018394415.1
chrUn_KZ116024v1 31767 unplaced primary KZ116024.1,NW_018394416.1
chrUn_KZ116025v1 3864 unplaced primary KZ116025.1,NW_018394417.1
chrUn_KZ116026v1 14318 unplaced primary KZ116026.1,NW_018394418.1
chrUn_KZ116027v1 4074 unplaced primary KZ116027.1,NW_018394419.1
chrUn_KZ116028v1 3289 unplaced primary KZ116028.1,NW_018394420.1
chrUn_KZ116029v1 32560 unplaced primary KZ116029.1,NW_018394421.1
chrUn_KZ116030v1 3552 unplaced primary KZ116030.1,NW_018394422.1
chrUn_KZ116031v1 19707 unplaced primary KZ116031.1,NW_018394423.1
chrUn_KZ116032v1 5873 unplaced primary KZ116032.1,NW_018394424.1
chrUn_KZ116033v1 27103 unplaced primary KZ116033.1,NW_018394425.1
chrUn_KZ116034v1 33615 unplaced primary KZ116034.1,NW_018394426.1
chrUn_KZ116035v1 1766 unplaced primary KZ116035.1,NW_018394427.1
chrUn_KZ116036v1 1919 unplaced primary KZ116036.1,NW_018394428.1
chrUn_KZ116037v1 13248 unplaced primary KZ116037.1,NW_018394429.1
chrUn_KZ116038v1 1428 unplaced primary KZ116038.1,NW_018394430.1
chrUn_KZ116039v1 12461 unplaced primary KZ116039.1,NW_018394431.1
chrUn_KZ116040v1 3054 unplaced primary KZ116040.1,NW_018394432.1
chrUn_KZ116041v1 12997 unplaced primary KZ116041.1,NW_018394433.1
chrUn_KZ116042v1 13126 unplaced primary KZ116042.1,NW_018394434.1
chrUn_KZ116043v1 19339 unplaced primary KZ116043.1,NW_018394435.1
chrUn_KZ116044v1 37221 unplaced primary KZ116044.1,NW_018394436.1
chrUn_KZ116045v1 2029 unplaced primary KZ116045.1,NW_018394437.1
chrUn_KZ116046v1 5807 unplaced primary KZ116046.1,NW_018394438.1
chrUn_KZ116047v1 14251 unplaced primary KZ116047.1,NW_018394439.1
chrUn_KZ116048v1 1356 unplaced primary KZ116048.1,NW_018394440.1
chrUn_KZ116049v1 8498 unplaced primary KZ116049.1,NW_018394441.1
chrUn_KZ116050v1 6653 unplaced primary KZ116050.1,NW_018394442.1
chrUn_KZ116051v1 2418 unplaced primary KZ116051.1,NW_018394443.1
chrUn_KZ116052v1 2026 unplaced primary KZ116052.1,NW_018394444.1
chrUn_KZ116053v1 16466 unplaced primary KZ116053.1,NW_018394445.1
chrUn_KZ116054v1 14656 unplaced primary KZ116054.1,NW_018394446.1
chrUn_KZ116055v1 7229 unplaced primary KZ116055.1,NW_018394447.1
chrUn_KZ116056v1 10581 unplaced primary KZ116056.1,NW_018394448.1
chrUn_KZ116057v1 4882 unplaced primary KZ116057.1,NW_018394449.1
chrUn_KZ116058v1 4138 unplaced primary KZ116058.1,NW_018394450.1
chrUn_KZ116059v1 34033 unplaced primary KZ116059.1,NW_018394451.1
chrUn_KZ116060v1 7854 unplaced primary KZ116060.1,NW_018394452.1
chrUn_KZ116061v1 1669 unplaced primary KZ116061.1,NW_018394453.1
chrUn_KZ116062v1 6923 unplaced primary KZ116062.1,NW_018394454.1
chrUn_KZ116063v1 2601 unplaced primary KZ116063.1,NW_018394455.1
chrUn_KZ116064v1 153879 unplaced primary KZ116064.1,NW_018394456.1
chrUn_KZ116065v1 37354 unplaced primary KZ116065.1,NW_018394457.1
chrUn_KZ116066v1 161442 unplaced primary KZ116066.1,NW_018394458.1
chrUn_KZ116067v1 159186 unplaced primary KZ116067.1,NW_018394459.1
open2c-bioframe-4fe9b25/bioframe/io/data/dm3.seqinfo.tsv 0000664 0000000 0000000 00000001753 14775257723 0023125 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
chr2L 23011544 assembled chr2 primary 2L,NT_033779.4,AE014134.5
chr2R 21146708 assembled chr2 primary 2R,NT_033778.3,AE013599.4
chr3L 24543557 assembled chr3 primary 3L,NT_037436.3,AE014296.4
chr3R 27905053 assembled chr3 primary 3R,NT_033777.2,AE014297.2
chr4 1351857 assembled chr4 primary 4,NC_004353.3,AE014135.3
chrX 22422827 assembled chrX primary X,NC_004354.3,AE014298.4
chrM 19517 assembled chrM non-nuclear MT,NS_000188.1,FA000001.1
chr2LHet 368872 unlocalized chr2 primary 2LHet,NW_001848855.1,CM000456.1
chr2RHet 3288761 unlocalized chr2 primary 2RHet,NW_001848856.1,CM000457.1
chr3LHet 2555491 unlocalized chr3 primary 3LHet,NW_001848857.1,CM000458.1
chr3RHet 2517507 unlocalized chr3 primary 3RHet,NW_001848858.1,CM000459.1
chrXHet 204112 unlocalized chrX primary XHet,NW_001848859.1,CM000460.1
chrYHet 347038 unlocalized chrY primary YHet,NW_001848860.1,CM000461.1
chrU 10049037 unplaced primary Un,NC_001709.1
chrUextra 29004656 unplaced primary
open2c-bioframe-4fe9b25/bioframe/io/data/dm6.seqinfo.tsv 0000664 0000000 0000000 00000474265 14775257723 0023144 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
chr2L 23513712 assembled chr2 primary 2L,NT_033779.5,AE014134.6
chr2R 25286936 assembled chr2 primary 2R,NT_033778.4,AE013599.5
chr3L 28110227 assembled chr3 primary 3L,NT_037436.4,AE014296.5
chr3R 32079331 assembled chr3 primary 3R,NT_033777.3,AE014297.3
chr4 1348131 assembled chr4 primary 4,NC_004353.4,AE014135.4
chrX 23542271 assembled chrX primary X,NC_004354.4,AE014298.5
chrY 3667352 assembled chrY primary Y,NC_024512.1,CP007106.1
chrM 19524 assembled chrM non-nuclear MT,NC_024511.2,KJ947872.2
chrX_CP007103v1_random 33320 unlocalized chrX primary NW_007931105.1,CP007103.1,X3X4_mapped_Scaffold_6
chrX_CP007104v1_random 27447 unlocalized chrX primary NW_007931106.1,CP007104.1,X3X4_mapped_Scaffold_14
chrX_DS483648v1_random 13940 unlocalized chrX primary NW_001844937.1,DS483648.1,211000022278498
chrX_DS483655v1_random 13549 unlocalized chrX primary NW_001844944.1,DS483655.1,211000022279009
chrX_DS483660v1_random 13394 unlocalized chrX primary NW_001844949.1,DS483660.1,211000022280042
chrX_DS483665v1_random 13234 unlocalized chrX primary NW_001844954.1,DS483665.1,211000022279446
chrX_DS483666v1_random 13108 unlocalized chrX primary NW_001844955.1,DS483666.1,211000022280270
chrX_DS483669v1_random 12848 unlocalized chrX primary NW_001844958.1,DS483669.1,211000022279008
chrX_DS483685v1_random 12187 unlocalized chrX primary NW_001844974.1,DS483685.1,211000022279676
chrX_DS483698v1_random 11522 unlocalized chrX primary NW_001844987.1,DS483698.1,211000022279836
chrX_DS483745v1_random 9368 unlocalized chrX primary NW_001845034.1,DS483745.1,211000022280526
chrX_DS483784v1_random 5832 unlocalized chrX primary NW_001845073.1,DS483784.1,211000022279563
chrX_DS483789v1_random 5555 unlocalized chrX primary NW_001845078.1,DS483789.1,211000022279955
chrX_DS483795v1_random 5387 unlocalized chrX primary NW_001845084.1,DS483795.1,211000022280241
chrX_DS483803v1_random 5232 unlocalized chrX primary NW_001845092.1,DS483803.1,211000022280466
chrX_DS483809v1_random 5057 unlocalized chrX primary NW_001845098.1,DS483809.1,211000022279883
chrX_DS483818v1_random 4917 unlocalized chrX primary NW_001845107.1,DS483818.1,211000022280649
chrX_DS483821v1_random 4879 unlocalized chrX primary NW_001845110.1,DS483821.1,211000022280645
chrX_DS483843v1_random 4515 unlocalized chrX primary NW_001845132.1,DS483843.1,211000022279705
chrX_DS483851v1_random 4395 unlocalized chrX primary NW_001845140.1,DS483851.1,211000022280624
chrX_DS483885v1_random 4085 unlocalized chrX primary NW_001845174.1,DS483885.1,211000022280479
chrX_DS483888v1_random 4072 unlocalized chrX primary NW_001845177.1,DS483888.1,211000022280016
chrX_DS483892v1_random 4013 unlocalized chrX primary NW_001845181.1,DS483892.1,211000022280529
chrX_DS483893v1_random 4012 unlocalized chrX primary NW_001845182.1,DS483893.1,211000022280539
chrX_DS483897v1_random 3984 unlocalized chrX primary NW_001845186.1,DS483897.1,211000022279731
chrX_DS483903v1_random 3941 unlocalized chrX primary NW_001845192.1,DS483903.1,211000022280603
chrX_DS483905v1_random 3926 unlocalized chrX primary NW_001845194.1,DS483905.1,211000022279673
chrX_DS483907v1_random 3921 unlocalized chrX primary NW_001845196.1,DS483907.1,211000022280439
chrX_DS483909v1_random 3913 unlocalized chrX primary NW_001845198.1,DS483909.1,211000022280593
chrX_DS483923v1_random 3775 unlocalized chrX primary NW_001845212.1,DS483923.1,211000022280629
chrX_DS483926v1_random 3745 unlocalized chrX primary NW_001845215.1,DS483926.1,211000022280625
chrX_DS483928v1_random 3730 unlocalized chrX primary NW_001845217.1,DS483928.1,211000022280495
chrX_DS483946v1_random 3603 unlocalized chrX primary NW_001845235.1,DS483946.1,211000022280620
chrX_DS483948v1_random 3602 unlocalized chrX primary NW_001845237.1,DS483948.1,211000022280578
chrX_DS483950v1_random 3582 unlocalized chrX primary NW_001845239.1,DS483950.1,211000022280470
chrX_DS483955v1_random 3553 unlocalized chrX primary NW_001845244.1,DS483955.1,211000022279730
chrX_DS483963v1_random 3523 unlocalized chrX primary NW_001845252.1,DS483963.1,211000022278896
chrX_DS483969v1_random 3498 unlocalized chrX primary NW_001845258.1,DS483969.1,211000022280668
chrX_DS483971v1_random 3478 unlocalized chrX primary NW_001845260.1,DS483971.1,211000022279499
chrX_DS483974v1_random 3473 unlocalized chrX primary NW_001845263.1,DS483974.1,211000022280597
chrX_DS483995v1_random 3347 unlocalized chrX primary NW_001845284.1,DS483995.1,211000022279188
chrX_DS484002v1_random 3290 unlocalized chrX primary NW_001845291.1,DS484002.1,211000022279772
chrX_DS484005v1_random 3275 unlocalized chrX primary NW_001845294.1,DS484005.1,211000022279497
chrX_DS484012v1_random 3254 unlocalized chrX primary NW_001845301.1,DS484012.1,211000022278361
chrX_DS484023v1_random 3206 unlocalized chrX primary NW_001845312.1,DS484023.1,211000022278544
chrX_DS484026v1_random 3201 unlocalized chrX primary NW_001845315.1,DS484026.1,211000022280669
chrX_DS484046v1_random 3123 unlocalized chrX primary NW_001845335.1,DS484046.1,211000022280587
chrX_DS484051v1_random 3100 unlocalized chrX primary NW_001845340.1,DS484051.1,211000022280538
chrX_DS484057v1_random 3076 unlocalized chrX primary NW_001845346.1,DS484057.1,211000022279109
chrX_DS484060v1_random 3065 unlocalized chrX primary NW_001845349.1,DS484060.1,211000022280641
chrX_DS484061v1_random 3059 unlocalized chrX primary NW_001845350.1,DS484061.1,211000022280532
chrX_DS484067v1_random 3024 unlocalized chrX primary NW_001845356.1,DS484067.1,211000022279460
chrX_DS484072v1_random 3002 unlocalized chrX primary NW_001845361.1,DS484072.1,211000022279081
chrX_DS484074v1_random 2999 unlocalized chrX primary NW_001845363.1,DS484074.1,211000022278235
chrX_DS484075v1_random 2996 unlocalized chrX primary NW_001845364.1,DS484075.1,211000022280542
chrX_DS484081v1_random 2964 unlocalized chrX primary NW_001845370.1,DS484081.1,211000022280584
chrX_DS484084v1_random 2956 unlocalized chrX primary NW_001845373.1,DS484084.1,211000022278208
chrX_DS484085v1_random 2945 unlocalized chrX primary NW_001845374.1,DS484085.1,211000022279277
chrX_DS484088v1_random 2937 unlocalized chrX primary NW_001845377.1,DS484088.1,211000022279608
chrX_DS484099v1_random 2910 unlocalized chrX primary NW_001845388.1,DS484099.1,211000022280639
chrX_DS484101v1_random 2904 unlocalized chrX primary NW_001845390.1,DS484101.1,211000022278724
chrX_DS484112v1_random 2877 unlocalized chrX primary NW_001845401.1,DS484112.1,211000022278846
chrX_DS484114v1_random 2871 unlocalized chrX primary NW_001845403.1,DS484114.1,211000022278868
chrX_DS484124v1_random 2846 unlocalized chrX primary NW_001845413.1,DS484124.1,211000022279968
chrX_DS484125v1_random 2844 unlocalized chrX primary NW_001845414.1,DS484125.1,211000022279698
chrX_DS484126v1_random 2841 unlocalized chrX primary NW_001845415.1,DS484126.1,211000022278463
chrX_DS484130v1_random 2834 unlocalized chrX primary NW_001845419.1,DS484130.1,211000022279552
chrX_DS484131v1_random 2833 unlocalized chrX primary NW_001845420.1,DS484131.1,211000022279703
chrX_DS484132v1_random 2830 unlocalized chrX primary NW_001845421.1,DS484132.1,211000022280642
chrX_DS484133v1_random 2829 unlocalized chrX primary NW_001845422.1,DS484133.1,211000022280592
chrX_DS484135v1_random 2825 unlocalized chrX primary NW_001845424.1,DS484135.1,211000022279408
chrX_DS484136v1_random 2823 unlocalized chrX primary NW_001845425.1,DS484136.1,211000022278821
chrX_DS484137v1_random 2822 unlocalized chrX primary NW_001845426.1,DS484137.1,211000022279082
chrX_DS484140v1_random 2819 unlocalized chrX primary NW_001845429.1,DS484140.1,211000022280537
chrX_DS484143v1_random 2814 unlocalized chrX primary NW_001845432.1,DS484143.1,211000022279502
chrX_DS484161v1_random 2781 unlocalized chrX primary NW_001845450.1,DS484161.1,211000022278209
chrX_DS484162v1_random 2765 unlocalized chrX primary NW_001845451.1,DS484162.1,211000022279298
chrX_DS484165v1_random 2751 unlocalized chrX primary NW_001845454.1,DS484165.1,211000022279287
chrX_DS484166v1_random 2750 unlocalized chrX primary NW_001845455.1,DS484166.1,211000022280632
chrX_DS484178v1_random 2698 unlocalized chrX primary NW_001845467.1,DS484178.1,211000022278921
chrX_DS484182v1_random 2689 unlocalized chrX primary NW_001845471.1,DS484182.1,211000022278645
chrX_DS484185v1_random 2686 unlocalized chrX primary NW_001845474.1,DS484185.1,211000022280148
chrX_DS484187v1_random 2671 unlocalized chrX primary NW_001845476.1,DS484187.1,211000022280095
chrX_DS484198v1_random 2641 unlocalized chrX primary NW_001845487.1,DS484198.1,211000022278630
chrX_DS484200v1_random 2639 unlocalized chrX primary NW_001845489.1,DS484200.1,211000022278316
chrX_DS484201v1_random 2637 unlocalized chrX primary NW_001845490.1,DS484201.1,211000022278615
chrX_DS484203v1_random 2635 unlocalized chrX primary NW_001845492.1,DS484203.1,211000022279917
chrX_DS484215v1_random 2605 unlocalized chrX primary NW_001845504.1,DS484215.1,211000022278648
chrX_DS484216v1_random 2603 unlocalized chrX primary NW_001845505.1,DS484216.1,211000022280062
chrX_DS484219v1_random 2591 unlocalized chrX primary NW_001845508.1,DS484219.1,211000022278299
chrX_DS484235v1_random 2557 unlocalized chrX primary NW_001845524.1,DS484235.1,211000022278489
chrX_DS484252v1_random 2520 unlocalized chrX primary NW_001845541.1,DS484252.1,211000022278831
chrX_DS484260v1_random 2505 unlocalized chrX primary NW_001845549.1,DS484260.1,211000022279062
chrX_DS484261v1_random 2500 unlocalized chrX primary NW_001845550.1,DS484261.1,211000022278622
chrX_DS484268v1_random 2475 unlocalized chrX primary NW_001845557.1,DS484268.1,211000022279902
chrX_DS484272v1_random 2464 unlocalized chrX primary NW_001845561.1,DS484272.1,211000022278172
chrX_DS484273v1_random 2463 unlocalized chrX primary NW_001845562.1,DS484273.1,211000022279994
chrX_DS484278v1_random 2439 unlocalized chrX primary NW_001845567.1,DS484278.1,211000022280586
chrX_DS484284v1_random 2432 unlocalized chrX primary NW_001845573.1,DS484284.1,211000022278225
chrX_DS484288v1_random 2425 unlocalized chrX primary NW_001845577.1,DS484288.1,211000022278828
chrX_DS484293v1_random 2420 unlocalized chrX primary NW_001845582.1,DS484293.1,211000022279537
chrX_DS484297v1_random 2413 unlocalized chrX primary NW_001845586.1,DS484297.1,211000022279967
chrX_DS484298v1_random 2412 unlocalized chrX primary NW_001845587.1,DS484298.1,211000022278578
chrX_DS484305v1_random 2389 unlocalized chrX primary NW_001845594.1,DS484305.1,211000022278908
chrX_DS484316v1_random 2379 unlocalized chrX primary NW_001845605.1,DS484316.1,211000022280453
chrX_DS484319v1_random 2372 unlocalized chrX primary NW_001845608.1,DS484319.1,211000022279530
chrX_DS484322v1_random 2366 unlocalized chrX primary NW_001845611.1,DS484322.1,211000022279340
chrX_DS484323v1_random 2363 unlocalized chrX primary NW_001845612.1,DS484323.1,211000022278844
chrX_DS484326v1_random 2357 unlocalized chrX primary NW_001845615.1,DS484326.1,211000022280507
chrX_DS484328v1_random 2355 unlocalized chrX primary NW_001845617.1,DS484328.1,211000022279704
chrX_DS484330v1_random 2353 unlocalized chrX primary NW_001845619.1,DS484330.1,211000022280534
chrX_DS484337v1_random 2335 unlocalized chrX primary NW_001845626.1,DS484337.1,211000022278649
chrX_DS484341v1_random 2328 unlocalized chrX primary NW_001845630.1,DS484341.1,211000022280633
chrX_DS484344v1_random 2322 unlocalized chrX primary NW_001845633.1,DS484344.1,211000022279092
chrX_DS484345v1_random 2318 unlocalized chrX primary NW_001845634.1,DS484345.1,211000022279774
chrX_DS484346v1_random 2317 unlocalized chrX primary NW_001845635.1,DS484346.1,211000022279504
chrX_DS484349v1_random 2307 unlocalized chrX primary NW_001845638.1,DS484349.1,211000022278810
chrX_DS484354v1_random 2293 unlocalized chrX primary NW_001845643.1,DS484354.1,211000022278557
chrX_DS484356v1_random 2289 unlocalized chrX primary NW_001845645.1,DS484356.1,211000022279689
chrX_DS484357v1_random 2287 unlocalized chrX primary NW_001845646.1,DS484357.1,211000022279085
chrX_DS484358v1_random 2286 unlocalized chrX primary NW_001845647.1,DS484358.1,211000022278341
chrX_DS484359v1_random 2284 unlocalized chrX primary NW_001845648.1,DS484359.1,211000022279553
chrX_DS484360v1_random 2283 unlocalized chrX primary NW_001845649.1,DS484360.1,211000022278823
chrX_DS484361v1_random 2282 unlocalized chrX primary NW_001845650.1,DS484361.1,211000022279732
chrX_DS484362v1_random 2273 unlocalized chrX primary NW_001845651.1,DS484362.1,211000022278612
chrX_DS484364v1_random 2269 unlocalized chrX primary NW_001845653.1,DS484364.1,211000022278639
chrX_DS484367v1_random 2259 unlocalized chrX primary NW_001845656.1,DS484367.1,211000022278249
chrX_DS484368v1_random 2259 unlocalized chrX primary NW_001845657.1,DS484368.1,211000022278629
chrX_DS484371v1_random 2247 unlocalized chrX primary NW_001845660.1,DS484371.1,211000022280330
chrX_DS484374v1_random 2237 unlocalized chrX primary NW_001845663.1,DS484374.1,211000022279299
chrX_DS484379v1_random 2228 unlocalized chrX primary NW_001845668.1,DS484379.1,211000022278513
chrX_DS484382v1_random 2223 unlocalized chrX primary NW_001845671.1,DS484382.1,211000022280088
chrX_DS484384v1_random 2220 unlocalized chrX primary NW_001845673.1,DS484384.1,211000022279514
chrX_DS484387v1_random 2210 unlocalized chrX primary NW_001845676.1,DS484387.1,211000022280442
chrX_DS484388v1_random 2209 unlocalized chrX primary NW_001845677.1,DS484388.1,211000022278461
chrX_DS484393v1_random 2201 unlocalized chrX primary NW_001845682.1,DS484393.1,211000022278608
chrX_DS484397v1_random 2196 unlocalized chrX primary NW_001845686.1,DS484397.1,211000022278628
chrX_DS484399v1_random 2192 unlocalized chrX primary NW_001845688.1,DS484399.1,211000022278359
chrX_DS484401v1_random 2189 unlocalized chrX primary NW_001845690.1,DS484401.1,211000022278555
chrX_DS484402v1_random 2189 unlocalized chrX primary NW_001845691.1,DS484402.1,211000022278467
chrX_DS484406v1_random 2177 unlocalized chrX primary NW_001845695.1,DS484406.1,211000022278775
chrX_DS484409v1_random 2166 unlocalized chrX primary NW_001845698.1,DS484409.1,211000022278853
chrX_DS484411v1_random 2161 unlocalized chrX primary NW_001845700.1,DS484411.1,211000022278616
chrX_DS484415v1_random 2147 unlocalized chrX primary NW_001845704.1,DS484415.1,211000022278825
chrX_DS484417v1_random 2139 unlocalized chrX primary NW_001845706.1,DS484417.1,211000022279834
chrX_DS484419v1_random 2132 unlocalized chrX primary NW_001845708.1,DS484419.1,211000022279084
chrX_DS484423v1_random 2126 unlocalized chrX primary NW_001845712.1,DS484423.1,211000022279307
chrX_DS484428v1_random 2114 unlocalized chrX primary NW_001845717.1,DS484428.1,211000022278353
chrX_DS484429v1_random 2113 unlocalized chrX primary NW_001845718.1,DS484429.1,211000022278320
chrX_DS484430v1_random 2113 unlocalized chrX primary NW_001845719.1,DS484430.1,211000022278343
chrX_DS484431v1_random 2113 unlocalized chrX primary NW_001845720.1,DS484431.1,211000022278490
chrX_DS484433v1_random 2109 unlocalized chrX primary NW_001845722.1,DS484433.1,211000022279305
chrX_DS484442v1_random 2096 unlocalized chrX primary NW_001845731.1,DS484442.1,211000022278840
chrX_DS484444v1_random 2094 unlocalized chrX primary NW_001845733.1,DS484444.1,211000022279063
chrX_DS484447v1_random 2089 unlocalized chrX primary NW_001845736.1,DS484447.1,211000022278431
chrX_DS484450v1_random 2087 unlocalized chrX primary NW_001845739.1,DS484450.1,211000022278464
chrX_DS484457v1_random 2079 unlocalized chrX primary NW_001845746.1,DS484457.1,211000022278845
chrX_DS484459v1_random 2078 unlocalized chrX primary NW_001845748.1,DS484459.1,211000022278226
chrX_DS484462v1_random 2068 unlocalized chrX primary NW_001845751.1,DS484462.1,211000022279601
chrX_DS484468v1_random 2060 unlocalized chrX primary NW_001845757.1,DS484468.1,211000022279715
chrX_DS484474v1_random 2044 unlocalized chrX primary NW_001845763.1,DS484474.1,211000022279332
chrX_DS484477v1_random 2035 unlocalized chrX primary NW_001845766.1,DS484477.1,211000022278695
chrX_DS484483v1_random 2021 unlocalized chrX primary NW_001845772.1,DS484483.1,211000022278817
chrX_DS484488v1_random 2009 unlocalized chrX primary NW_001845777.1,DS484488.1,211000022280594
chrX_DS484497v1_random 1998 unlocalized chrX primary NW_001845786.1,DS484497.1,211000022278482
chrX_DS484500v1_random 1993 unlocalized chrX primary NW_001845789.1,DS484500.1,211000022278820
chrX_DS484504v1_random 1986 unlocalized chrX primary NW_001845793.1,DS484504.1,211000022278619
chrX_DS484506v1_random 1980 unlocalized chrX primary NW_001845795.1,DS484506.1,211000022278976
chrX_DS484507v1_random 1978 unlocalized chrX primary NW_001845796.1,DS484507.1,211000022278233
chrX_DS484512v1_random 1970 unlocalized chrX primary NW_001845801.1,DS484512.1,211000022278317
chrX_DS484518v1_random 1964 unlocalized chrX primary NW_001845807.1,DS484518.1,211000022278321
chrX_DS484519v1_random 1963 unlocalized chrX primary NW_001845808.1,DS484519.1,211000022278879
chrX_DS484526v1_random 1956 unlocalized chrX primary NW_001845815.1,DS484526.1,211000022278229
chrX_DS484529v1_random 1947 unlocalized chrX primary NW_001845818.1,DS484529.1,211000022278319
chrX_DS484533v1_random 1944 unlocalized chrX primary NW_001845822.1,DS484533.1,211000022278460
chrX_DS484535v1_random 1939 unlocalized chrX primary NW_001845824.1,DS484535.1,211000022279075
chrX_DS484538v1_random 1936 unlocalized chrX primary NW_001845827.1,DS484538.1,211000022280612
chrX_DS484540v1_random 1935 unlocalized chrX primary NW_001845829.1,DS484540.1,211000022278643
chrX_DS484541v1_random 1933 unlocalized chrX primary NW_001845830.1,DS484541.1,211000022279245
chrX_DS484545v1_random 1928 unlocalized chrX primary NW_001845834.1,DS484545.1,211000022278627
chrX_DS484547v1_random 1927 unlocalized chrX primary NW_001845836.1,DS484547.1,211000022278480
chrX_DS484552v1_random 1920 unlocalized chrX primary NW_001845841.1,DS484552.1,211000022278365
chrX_DS484555v1_random 1916 unlocalized chrX primary NW_001845844.1,DS484555.1,211000022278812
chrX_DS484556v1_random 1916 unlocalized chrX primary NW_001845845.1,DS484556.1,211000022280622
chrX_DS484558v1_random 1906 unlocalized chrX primary NW_001845847.1,DS484558.1,211000022278468
chrX_DS484560v1_random 1904 unlocalized chrX primary NW_001845849.1,DS484560.1,211000022279072
chrX_DS484562v1_random 1903 unlocalized chrX primary NW_001845851.1,DS484562.1,211000022280657
chrX_DS484563v1_random 1903 unlocalized chrX primary NW_001845852.1,DS484563.1,211000022280628
chrX_DS484564v1_random 1902 unlocalized chrX primary NW_001845853.1,DS484564.1,211000022278462
chrX_DS484568v1_random 1899 unlocalized chrX primary NW_001845857.1,DS484568.1,211000022278346
chrX_DS484569v1_random 1895 unlocalized chrX primary NW_001845858.1,DS484569.1,211000022278815
chrX_DS484570v1_random 1895 unlocalized chrX primary NW_001845859.1,DS484570.1,211000022278826
chrX_DS484572v1_random 1891 unlocalized chrX primary NW_001845861.1,DS484572.1,211000022278694
chrX_DS484576v1_random 1888 unlocalized chrX primary NW_001845865.1,DS484576.1,211000022278411
chrX_DS484580v1_random 1871 unlocalized chrX primary NW_001845869.1,DS484580.1,211000022279303
chrX_DS484582v1_random 1870 unlocalized chrX primary NW_001845871.1,DS484582.1,211000022278318
chrX_DS484583v1_random 1869 unlocalized chrX primary NW_001845872.1,DS484583.1,211000022278352
chrX_DS484585v1_random 1869 unlocalized chrX primary NW_001845874.1,DS484585.1,211000022278277
chrX_DS484586v1_random 1868 unlocalized chrX primary NW_001845875.1,DS484586.1,211000022280585
chrX_DS484587v1_random 1865 unlocalized chrX primary NW_001845876.1,DS484587.1,211000022278636
chrX_DS484590v1_random 1856 unlocalized chrX primary NW_001845879.1,DS484590.1,211000022278854
chrX_DS484594v1_random 1843 unlocalized chrX primary NW_001845883.1,DS484594.1,211000022278325
chrX_DS484596v1_random 1843 unlocalized chrX primary NW_001845885.1,DS484596.1,211000022278481
chrX_DS484597v1_random 1843 unlocalized chrX primary NW_001845886.1,DS484597.1,211000022278911
chrX_DS484598v1_random 1842 unlocalized chrX primary NW_001845887.1,DS484598.1,211000022278774
chrX_DS484599v1_random 1841 unlocalized chrX primary NW_001845888.1,DS484599.1,211000022279080
chrX_DS484600v1_random 1841 unlocalized chrX primary NW_001845889.1,DS484600.1,211000022278502
chrX_DS484603v1_random 1830 unlocalized chrX primary NW_001845892.1,DS484603.1,211000022279301
chrX_DS484604v1_random 1829 unlocalized chrX primary NW_001845893.1,DS484604.1,211000022278614
chrX_DS484605v1_random 1829 unlocalized chrX primary NW_001845894.1,DS484605.1,211000022278905
chrX_DS484608v1_random 1818 unlocalized chrX primary NW_001845897.1,DS484608.1,211000022278475
chrX_DS484609v1_random 1818 unlocalized chrX primary NW_001845898.1,DS484609.1,211000022278625
chrX_DS484610v1_random 1813 unlocalized chrX primary NW_001845899.1,DS484610.1,211000022278465
chrX_DS484611v1_random 1813 unlocalized chrX primary NW_001845900.1,DS484611.1,211000022278876
chrX_DS484615v1_random 1803 unlocalized chrX primary NW_001845904.1,DS484615.1,211000022280060
chrX_DS484618v1_random 1800 unlocalized chrX primary NW_001845907.1,DS484618.1,211000022279078
chrX_DS484620v1_random 1798 unlocalized chrX primary NW_001845909.1,DS484620.1,211000022279846
chrX_DS484622v1_random 1793 unlocalized chrX primary NW_001845911.1,DS484622.1,211000022278228
chrX_DS484623v1_random 1792 unlocalized chrX primary NW_001845912.1,DS484623.1,211000022279093
chrX_DS484625v1_random 1787 unlocalized chrX primary NW_001845914.1,DS484625.1,211000022278633
chrX_DS484626v1_random 1786 unlocalized chrX primary NW_001845915.1,DS484626.1,211000022278634
chrX_DS484628v1_random 1785 unlocalized chrX primary NW_001845917.1,DS484628.1,211000022278613
chrX_DS484633v1_random 1775 unlocalized chrX primary NW_001845922.1,DS484633.1,211000022278819
chrX_DS484636v1_random 1769 unlocalized chrX primary NW_001845925.1,DS484636.1,211000022279322
chrX_DS484644v1_random 1747 unlocalized chrX primary NW_001845933.1,DS484644.1,211000022278842
chrX_DS484645v1_random 1747 unlocalized chrX primary NW_001845934.1,DS484645.1,211000022279296
chrX_DS484647v1_random 1743 unlocalized chrX primary NW_001845936.1,DS484647.1,211000022278473
chrX_DS484648v1_random 1741 unlocalized chrX primary NW_001845937.1,DS484648.1,211000022278816
chrX_DS484650v1_random 1737 unlocalized chrX primary NW_001845939.1,DS484650.1,211000022278314
chrX_DS484657v1_random 1724 unlocalized chrX primary NW_001845946.1,DS484657.1,211000022278907
chrX_DS484660v1_random 1716 unlocalized chrX primary NW_001845949.1,DS484660.1,211000022278677
chrX_DS484664v1_random 1713 unlocalized chrX primary NW_001845953.1,DS484664.1,211000022278165
chrX_DS484666v1_random 1710 unlocalized chrX primary NW_001845955.1,DS484666.1,211000022280243
chrX_DS484668v1_random 1709 unlocalized chrX primary NW_001845957.1,DS484668.1,211000022278125
chrX_DS484669v1_random 1708 unlocalized chrX primary NW_001845958.1,DS484669.1,211000022279297
chrX_DS484670v1_random 1704 unlocalized chrX primary NW_001845959.1,DS484670.1,211000022278621
chrX_DS484672v1_random 1703 unlocalized chrX primary NW_001845961.1,DS484672.1,211000022278491
chrX_DS484677v1_random 1687 unlocalized chrX primary NW_001845966.1,DS484677.1,211000022279065
chrX_DS484679v1_random 1683 unlocalized chrX primary NW_001845968.1,DS484679.1,211000022278471
chrX_DS484682v1_random 1680 unlocalized chrX primary NW_001845971.1,DS484682.1,211000022279077
chrX_DS484683v1_random 1679 unlocalized chrX primary NW_001845972.1,DS484683.1,211000022278938
chrX_DS484684v1_random 1678 unlocalized chrX primary NW_001845973.1,DS484684.1,211000022278469
chrX_DS484688v1_random 1657 unlocalized chrX primary NW_001845977.1,DS484688.1,211000022278484
chrX_DS484690v1_random 1645 unlocalized chrX primary NW_001845979.1,DS484690.1,211000022278726
chrX_DS484691v1_random 1643 unlocalized chrX primary NW_001845980.1,DS484691.1,211000022278472
chrX_DS484694v1_random 1637 unlocalized chrX primary NW_001845983.1,DS484694.1,211000022279064
chrX_DS484695v1_random 1637 unlocalized chrX primary NW_001845984.1,DS484695.1,211000022278620
chrX_DS484697v1_random 1636 unlocalized chrX primary NW_001845986.1,DS484697.1,211000022280061
chrX_DS484698v1_random 1630 unlocalized chrX primary NW_001845987.1,DS484698.1,211000022278839
chrX_DS484701v1_random 1625 unlocalized chrX primary NW_001845990.1,DS484701.1,211000022278099
chrX_DS484702v1_random 1623 unlocalized chrX primary NW_001845991.1,DS484702.1,211000022279316
chrX_DS484703v1_random 1622 unlocalized chrX primary NW_001845992.1,DS484703.1,211000022278670
chrX_DS484715v1_random 1595 unlocalized chrX primary NW_001846004.1,DS484715.1,211000022279542
chrX_DS484719v1_random 1586 unlocalized chrX primary NW_001846008.1,DS484719.1,211000022279957
chrX_DS484723v1_random 1577 unlocalized chrX primary NW_001846012.1,DS484723.1,211000022278584
chrX_DS484724v1_random 1575 unlocalized chrX primary NW_001846013.1,DS484724.1,211000022278323
chrX_DS484725v1_random 1573 unlocalized chrX primary NW_001846014.1,DS484725.1,211000022279076
chrX_DS484730v1_random 1560 unlocalized chrX primary NW_001846019.1,DS484730.1,211000022278315
chrX_DS484731v1_random 1558 unlocalized chrX primary NW_001846020.1,DS484731.1,211000022278857
chrX_DS484732v1_random 1556 unlocalized chrX primary NW_001846021.1,DS484732.1,211000022280029
chrX_DS484733v1_random 1556 unlocalized chrX primary NW_001846022.1,DS484733.1,211000022279244
chrX_DS484737v1_random 1550 unlocalized chrX primary NW_001846026.1,DS484737.1,211000022278655
chrX_DS484740v1_random 1546 unlocalized chrX primary NW_001846029.1,DS484740.1,211000022278671
chrX_DS484741v1_random 1544 unlocalized chrX primary NW_001846030.1,DS484741.1,211000022278850
chrX_DS484745v1_random 1541 unlocalized chrX primary NW_001846034.1,DS484745.1,211000022278232
chrX_DS484749v1_random 1534 unlocalized chrX primary NW_001846038.1,DS484749.1,211000022279686
chrX_DS484753v1_random 1529 unlocalized chrX primary NW_001846042.1,DS484753.1,211000022279295
chrX_DS484758v1_random 1525 unlocalized chrX primary NW_001846047.1,DS484758.1,211000022278692
chrX_DS484763v1_random 1519 unlocalized chrX primary NW_001846052.1,DS484763.1,211000022278693
chrX_DS484765v1_random 1516 unlocalized chrX primary NW_001846054.1,DS484765.1,211000022278227
chrX_DS484767v1_random 1510 unlocalized chrX primary NW_001846056.1,DS484767.1,211000022279515
chrX_DS484768v1_random 1509 unlocalized chrX primary NW_001846057.1,DS484768.1,211000022278861
chrX_DS484775v1_random 1492 unlocalized chrX primary NW_001846064.1,DS484775.1,211000022279074
chrX_DS484777v1_random 1489 unlocalized chrX primary NW_001846066.1,DS484777.1,211000022279066
chrX_DS484778v1_random 1488 unlocalized chrX primary NW_001846067.1,DS484778.1,211000022278829
chrX_DS484783v1_random 1482 unlocalized chrX primary NW_001846072.1,DS484783.1,211000022278827
chrX_DS484785v1_random 1478 unlocalized chrX primary NW_001846074.1,DS484785.1,211000022278512
chrX_DS484786v1_random 1476 unlocalized chrX primary NW_001846075.1,DS484786.1,211000022278851
chrX_DS484803v1_random 1461 unlocalized chrX primary NW_001846092.1,DS484803.1,211000022278414
chrX_DS484809v1_random 1453 unlocalized chrX primary NW_001846098.1,DS484809.1,211000022278252
chrX_DS484810v1_random 1452 unlocalized chrX primary NW_001846099.1,DS484810.1,211000022278690
chrX_DS484811v1_random 1452 unlocalized chrX primary NW_001846100.1,DS484811.1,211000022278618
chrX_DS484819v1_random 1441 unlocalized chrX primary NW_001846108.1,DS484819.1,211000022278340
chrX_DS484826v1_random 1432 unlocalized chrX primary NW_001846115.1,DS484826.1,211000022279437
chrX_DS484832v1_random 1425 unlocalized chrX primary NW_001846121.1,DS484832.1,211000022279112
chrX_DS484833v1_random 1424 unlocalized chrX primary NW_001846122.1,DS484833.1,211000022278322
chrX_DS484837v1_random 1423 unlocalized chrX primary NW_001846126.1,DS484837.1,211000022278838
chrX_DS484839v1_random 1421 unlocalized chrX primary NW_001846128.1,DS484839.1,211000022279068
chrX_DS484840v1_random 1419 unlocalized chrX primary NW_001846129.1,DS484840.1,211000022278837
chrX_DS484845v1_random 1412 unlocalized chrX primary NW_001846134.1,DS484845.1,211000022278342
chrX_DS484850v1_random 1408 unlocalized chrX primary NW_001846139.1,DS484850.1,211000022278646
chrX_DS484857v1_random 1402 unlocalized chrX primary NW_001846146.1,DS484857.1,211000022279888
chrX_DS484871v1_random 1386 unlocalized chrX primary NW_001846160.1,DS484871.1,211000022278822
chrX_DS484879v1_random 1381 unlocalized chrX primary NW_001846168.1,DS484879.1,211000022278644
chrX_DS484880v1_random 1380 unlocalized chrX primary NW_001846169.1,DS484880.1,211000022278836
chrX_DS484890v1_random 1376 unlocalized chrX primary NW_001846179.1,DS484890.1,211000022278855
chrX_DS484907v1_random 1361 unlocalized chrX primary NW_001846196.1,DS484907.1,211000022280022
chrX_DS484911v1_random 1355 unlocalized chrX primary NW_001846200.1,DS484911.1,211000022278609
chrX_DS484913v1_random 1355 unlocalized chrX primary NW_001846202.1,DS484913.1,211000022278476
chrX_DS484928v1_random 1340 unlocalized chrX primary NW_001846217.1,DS484928.1,211000022279073
chrX_DS484935v1_random 1336 unlocalized chrX primary NW_001846224.1,DS484935.1,211000022278832
chrX_DS484951v1_random 1327 unlocalized chrX primary NW_001846240.1,DS484951.1,211000022278470
chrX_DS484952v1_random 1326 unlocalized chrX primary NW_001846241.1,DS484952.1,211000022279079
chrX_DS484953v1_random 1326 unlocalized chrX primary NW_001846242.1,DS484953.1,211000022280034
chrX_DS484955v1_random 1323 unlocalized chrX primary NW_001846244.1,DS484955.1,211000022278830
chrX_DS484961v1_random 1315 unlocalized chrX primary NW_001846250.1,DS484961.1,211000022278492
chrX_DS484963v1_random 1315 unlocalized chrX primary NW_001846252.1,DS484963.1,211000022279674
chrX_DS484965v1_random 1312 unlocalized chrX primary NW_001846254.1,DS484965.1,211000022278268
chrX_DS484968v1_random 1311 unlocalized chrX primary NW_001846257.1,DS484968.1,211000022278122
chrX_DS484970v1_random 1310 unlocalized chrX primary NW_001846259.1,DS484970.1,211000022279944
chrX_DS484974v1_random 1309 unlocalized chrX primary NW_001846263.1,DS484974.1,211000022279388
chrX_DS484978v1_random 1306 unlocalized chrX primary NW_001846267.1,DS484978.1,211000022279767
chrX_DS484990v1_random 1301 unlocalized chrX primary NW_001846279.1,DS484990.1,211000022279984
chrX_DS484995v1_random 1296 unlocalized chrX primary NW_001846284.1,DS484995.1,211000022278607
chrX_DS484996v1_random 1295 unlocalized chrX primary NW_001846285.1,DS484996.1,211000022278487
chrX_DS484997v1_random 1294 unlocalized chrX primary NW_001846286.1,DS484997.1,211000022280007
chrX_DS485012v1_random 1284 unlocalized chrX primary NW_001846301.1,DS485012.1,211000022279328
chrX_DS485015v1_random 1283 unlocalized chrX primary NW_001846304.1,DS485015.1,211000022278324
chrX_DS485017v1_random 1281 unlocalized chrX primary NW_001846306.1,DS485017.1,211000022279998
chrX_DS485043v1_random 1271 unlocalized chrX primary NW_001846332.1,DS485043.1,211000022278856
chrX_DS485044v1_random 1271 unlocalized chrX primary NW_001846333.1,DS485044.1,211000022279978
chrX_DS485049v1_random 1269 unlocalized chrX primary NW_001846338.1,DS485049.1,211000022279764
chrX_DS485050v1_random 1268 unlocalized chrX primary NW_001846339.1,DS485050.1,211000022279045
chrX_DS485054v1_random 1265 unlocalized chrX primary NW_001846343.1,DS485054.1,211000022279721
chrX_DS485072v1_random 1260 unlocalized chrX primary NW_001846361.1,DS485072.1,211000022279528
chrX_DS485074v1_random 1258 unlocalized chrX primary NW_001846363.1,DS485074.1,211000022278382
chrX_DS485077v1_random 1258 unlocalized chrX primary NW_001846366.1,DS485077.1,211000022278187
chrX_DS485078v1_random 1257 unlocalized chrX primary NW_001846367.1,DS485078.1,211000022279610
chrX_DS485080v1_random 1253 unlocalized chrX primary NW_001846369.1,DS485080.1,211000022279071
chrX_DS485081v1_random 1252 unlocalized chrX primary NW_001846370.1,DS485081.1,211000022278691
chrX_DS485084v1_random 1251 unlocalized chrX primary NW_001846373.1,DS485084.1,211000022278843
chrX_DS485096v1_random 1244 unlocalized chrX primary NW_001846385.1,DS485096.1,211000022278478
chrX_DS485101v1_random 1241 unlocalized chrX primary NW_001846390.1,DS485101.1,211000022278631
chrX_DS485104v1_random 1240 unlocalized chrX primary NW_001846393.1,DS485104.1,211000022278505
chrX_DS485109v1_random 1238 unlocalized chrX primary NW_001846398.1,DS485109.1,211000022278814
chrX_DS485110v1_random 1238 unlocalized chrX primary NW_001846399.1,DS485110.1,211000022278640
chrX_DS485111v1_random 1238 unlocalized chrX primary NW_001846400.1,DS485111.1,211000022278882
chrX_DS485112v1_random 1238 unlocalized chrX primary NW_001846401.1,DS485112.1,211000022278971
chrX_DS485119v1_random 1235 unlocalized chrX primary NW_001846408.1,DS485119.1,211000022279570
chrX_DS485126v1_random 1233 unlocalized chrX primary NW_001846415.1,DS485126.1,211000022278654
chrX_DS485141v1_random 1228 unlocalized chrX primary NW_001846430.1,DS485141.1,211000022278632
chrX_DS485164v1_random 1223 unlocalized chrX primary NW_001846453.1,DS485164.1,211000022278624
chrX_DS485167v1_random 1221 unlocalized chrX primary NW_001846456.1,DS485167.1,211000022278637
chrX_DS485172v1_random 1220 unlocalized chrX primary NW_001846461.1,DS485172.1,211000022278297
chrX_DS485186v1_random 1212 unlocalized chrX primary NW_001846475.1,DS485186.1,211000022279860
chrX_DS485189v1_random 1211 unlocalized chrX primary NW_001846478.1,DS485189.1,211000022279300
chrX_DS485195v1_random 1209 unlocalized chrX primary NW_001846484.1,DS485195.1,211000022279302
chrX_DS485201v1_random 1208 unlocalized chrX primary NW_001846490.1,DS485201.1,211000022279862
chrX_DS485225v1_random 1200 unlocalized chrX primary NW_001846514.1,DS485225.1,211000022279531
chrX_DS485235v1_random 1195 unlocalized chrX primary NW_001846524.1,DS485235.1,211000022278231
chrX_DS485238v1_random 1195 unlocalized chrX primary NW_001846527.1,DS485238.1,211000022278466
chrX_DS485257v1_random 1189 unlocalized chrX primary NW_001846546.1,DS485257.1,211000022278479
chrX_DS485262v1_random 1189 unlocalized chrX primary NW_001846551.1,DS485262.1,211000022278925
chrX_DS485266v1_random 1186 unlocalized chrX primary NW_001846555.1,DS485266.1,211000022278355
chrX_DS485268v1_random 1186 unlocalized chrX primary NW_001846557.1,DS485268.1,211000022279536
chrX_DS485271v1_random 1185 unlocalized chrX primary NW_001846560.1,DS485271.1,211000022279290
chrX_DS485277v1_random 1184 unlocalized chrX primary NW_001846566.1,DS485277.1,211000022278910
chrX_DS485278v1_random 1184 unlocalized chrX primary NW_001846567.1,DS485278.1,211000022279339
chrX_DS485281v1_random 1184 unlocalized chrX primary NW_001846570.1,DS485281.1,211000022279830
chrX_DS485287v1_random 1181 unlocalized chrX primary NW_001846576.1,DS485287.1,211000022280077
chrX_DS485299v1_random 1178 unlocalized chrX primary NW_001846588.1,DS485299.1,211000022279505
chrX_DS485300v1_random 1178 unlocalized chrX primary NW_001846589.1,DS485300.1,211000022279012
chrX_DS485303v1_random 1175 unlocalized chrX primary NW_001846592.1,DS485303.1,211000022279501
chrX_DS485305v1_random 1174 unlocalized chrX primary NW_001846594.1,DS485305.1,211000022278610
chrX_DS485310v1_random 1173 unlocalized chrX primary NW_001846599.1,DS485310.1,211000022279803
chrX_DS485334v1_random 1164 unlocalized chrX primary NW_001846623.1,DS485334.1,211000022278950
chrX_DS485336v1_random 1163 unlocalized chrX primary NW_001846625.1,DS485336.1,211000022279006
chrX_DS485345v1_random 1161 unlocalized chrX primary NW_001846634.1,DS485345.1,211000022279833
chrX_DS485351v1_random 1161 unlocalized chrX primary NW_001846640.1,DS485351.1,211000022279304
chrX_DS485358v1_random 1159 unlocalized chrX primary NW_001846647.1,DS485358.1,211000022278477
chrX_DS485360v1_random 1159 unlocalized chrX primary NW_001846649.1,DS485360.1,211000022279857
chrX_DS485364v1_random 1158 unlocalized chrX primary NW_001846653.1,DS485364.1,211000022279773
chrX_DS485378v1_random 1155 unlocalized chrX primary NW_001846667.1,DS485378.1,211000022278892
chrX_DS485384v1_random 1153 unlocalized chrX primary NW_001846673.1,DS485384.1,211000022279881
chrX_DS485418v1_random 1145 unlocalized chrX primary NW_001846707.1,DS485418.1,211000022279690
chrX_DS485454v1_random 1135 unlocalized chrX primary NW_001846743.1,DS485454.1,211000022279543
chrX_DS485459v1_random 1134 unlocalized chrX primary NW_001846748.1,DS485459.1,211000022280017
chrX_DS485465v1_random 1133 unlocalized chrX primary NW_001846754.1,DS485465.1,211000022278516
chrX_DS485471v1_random 1131 unlocalized chrX primary NW_001846760.1,DS485471.1,211000022278906
chrX_DS485476v1_random 1130 unlocalized chrX primary NW_001846765.1,DS485476.1,211000022278485
chrX_DS485478v1_random 1129 unlocalized chrX primary NW_001846767.1,DS485478.1,211000022278933
chrX_DS485514v1_random 1121 unlocalized chrX primary NW_001846803.1,DS485514.1,211000022278360
chrX_DS485537v1_random 1115 unlocalized chrX primary NW_001846826.1,DS485537.1,211000022279108
chrX_DS485549v1_random 1112 unlocalized chrX primary NW_001846838.1,DS485549.1,211000022280023
chrX_DS485550v1_random 1112 unlocalized chrX primary NW_001846839.1,DS485550.1,211000022280173
chrX_DS485562v1_random 1109 unlocalized chrX primary NW_001846851.1,DS485562.1,211000022279859
chrX_DS485573v1_random 1107 unlocalized chrX primary NW_001846862.1,DS485573.1,211000022278725
chrX_DS485592v1_random 1102 unlocalized chrX primary NW_001846881.1,DS485592.1,211000022279604
chrX_DS485597v1_random 1100 unlocalized chrX primary NW_001846886.1,DS485597.1,211000022279832
chrX_DS485599v1_random 1100 unlocalized chrX primary NW_001846888.1,DS485599.1,211000022278880
chrX_DS485603v1_random 1098 unlocalized chrX primary NW_001846892.1,DS485603.1,211000022279227
chrX_DS485606v1_random 1097 unlocalized chrX primary NW_001846895.1,DS485606.1,211000022278326
chrX_DS485617v1_random 1093 unlocalized chrX primary NW_001846906.1,DS485617.1,211000022279067
chrX_DS485618v1_random 1092 unlocalized chrX primary NW_001846907.1,DS485618.1,211000022278236
chrX_DS485620v1_random 1091 unlocalized chrX primary NW_001846909.1,DS485620.1,211000022278833
chrX_DS485635v1_random 1088 unlocalized chrX primary NW_001846924.1,DS485635.1,211000022278909
chrX_DS485647v1_random 1086 unlocalized chrX primary NW_001846936.1,DS485647.1,211000022279605
chrX_DS485649v1_random 1084 unlocalized chrX primary NW_001846938.1,DS485649.1,211000022278486
chrX_DS485651v1_random 1084 unlocalized chrX primary NW_001846940.1,DS485651.1,211000022280019
chrX_DS485660v1_random 1082 unlocalized chrX primary NW_001846949.1,DS485660.1,211000022278623
chrX_DS485672v1_random 1078 unlocalized chrX primary NW_001846961.1,DS485672.1,211000022279467
chrX_DS485676v1_random 1078 unlocalized chrX primary NW_001846965.1,DS485676.1,211000022278524
chrX_DS485687v1_random 1075 unlocalized chrX primary NW_001846976.1,DS485687.1,211000022278813
chrX_DS485691v1_random 1074 unlocalized chrX primary NW_001846980.1,DS485691.1,211000022278704
chrX_DS485707v1_random 1071 unlocalized chrX primary NW_001846996.1,DS485707.1,211000022279882
chrX_DS485723v1_random 1067 unlocalized chrX primary NW_001847012.1,DS485723.1,211000022278635
chrX_DS485735v1_random 1063 unlocalized chrX primary NW_001847024.1,DS485735.1,211000022278534
chrX_DS485738v1_random 1063 unlocalized chrX primary NW_001847027.1,DS485738.1,211000022279306
chrX_DS485745v1_random 1062 unlocalized chrX primary NW_001847034.1,DS485745.1,211000022278852
chrX_DS485756v1_random 1058 unlocalized chrX primary NW_001847045.1,DS485756.1,211000022280125
chrX_DS485762v1_random 1057 unlocalized chrX primary NW_001847051.1,DS485762.1,211000022279327
chrX_DS485765v1_random 1056 unlocalized chrX primary NW_001847054.1,DS485765.1,211000022278417
chrX_DS485769v1_random 1055 unlocalized chrX primary NW_001847058.1,DS485769.1,211000022278459
chrX_DS485771v1_random 1055 unlocalized chrX primary NW_001847060.1,DS485771.1,211000022278841
chrX_DS485778v1_random 1053 unlocalized chrX primary NW_001847067.1,DS485778.1,211000022279861
chrX_DS485782v1_random 1052 unlocalized chrX primary NW_001847071.1,DS485782.1,211000022278835
chrX_DS485785v1_random 1051 unlocalized chrX primary NW_001847074.1,DS485785.1,211000022278647
chrX_DS485790v1_random 1051 unlocalized chrX primary NW_001847079.1,DS485790.1,211000022279291
chrX_DS485797v1_random 1049 unlocalized chrX primary NW_001847086.1,DS485797.1,211000022278237
chrX_DS485798v1_random 1049 unlocalized chrX primary NW_001847087.1,DS485798.1,211000022279086
chrX_DS485801v1_random 1048 unlocalized chrX primary NW_001847090.1,DS485801.1,211000022278705
chrX_DS485813v1_random 1047 unlocalized chrX primary NW_001847102.1,DS485813.1,211000022278504
chrX_DS485816v1_random 1046 unlocalized chrX primary NW_001847105.1,DS485816.1,211000022279438
chrX_DS485836v1_random 1042 unlocalized chrX primary NW_001847125.1,DS485836.1,211000022279083
chrX_DS485845v1_random 1040 unlocalized chrX primary NW_001847134.1,DS485845.1,211000022278715
chrX_DS485852v1_random 1038 unlocalized chrX primary NW_001847141.1,DS485852.1,211000022278824
chrX_DS485855v1_random 1037 unlocalized chrX primary NW_001847144.1,DS485855.1,211000022278617
chrX_DS485856v1_random 1037 unlocalized chrX primary NW_001847145.1,DS485856.1,211000022278818
chrX_DS485857v1_random 1037 unlocalized chrX primary NW_001847146.1,DS485857.1,211000022279518
chrX_DS485860v1_random 1036 unlocalized chrX primary NW_001847149.1,DS485860.1,211000022278596
chrX_DS485879v1_random 1031 unlocalized chrX primary NW_001847168.1,DS485879.1,211000022279315
chrX_DS485898v1_random 1028 unlocalized chrX primary NW_001847187.1,DS485898.1,211000022278834
chrX_DS485899v1_random 1027 unlocalized chrX primary NW_001847188.1,DS485899.1,211000022279111
chrX_DS485909v1_random 1023 unlocalized chrX primary NW_001847198.1,DS485909.1,211000022278669
chrX_DS485913v1_random 1022 unlocalized chrX primary NW_001847202.1,DS485913.1,211000022278474
chrX_DS485934v1_random 1019 unlocalized chrX primary NW_001847223.1,DS485934.1,211000022278638
chrX_DS485941v1_random 1018 unlocalized chrX primary NW_001847230.1,DS485941.1,211000022278626
chrX_DS485942v1_random 1018 unlocalized chrX primary NW_001847231.1,DS485942.1,211000022278350
chrX_DS485950v1_random 1015 unlocalized chrX primary NW_001847239.1,DS485950.1,211000022279113
chrX_DS485959v1_random 1013 unlocalized chrX primary NW_001847248.1,DS485959.1,211000022279010
chrX_DS485962v1_random 1012 unlocalized chrX primary NW_001847251.1,DS485962.1,211000022278458
chrX_DS485967v1_random 1011 unlocalized chrX primary NW_001847256.1,DS485967.1,211000022278483
chrX_DS485978v1_random 1008 unlocalized chrX primary NW_001847267.1,DS485978.1,211000022279720
chrX_DS485981v1_random 1007 unlocalized chrX primary NW_001847270.1,DS485981.1,211000022278488
chrX_DS485987v1_random 1005 unlocalized chrX primary NW_001847276.1,DS485987.1,211000022278811
chrX_DS485994v1_random 1004 unlocalized chrX primary NW_001847283.1,DS485994.1,211000022278230
chrY_CP007107v1_random 73091 unlocalized chrY primary NW_007931108.1,CP007107.1,Y_mapped_Scaffold_5
chrY_CP007108v1_random 66731 unlocalized chrY primary NW_007931109.1,CP007108.1,Y_mapped_Scaffold_9
chrY_CP007109v1_random 66439 unlocalized chrY primary NW_007931110.1,CP007109.1,Y_mapped_Scaffold_12
chrY_CP007110v1_random 33316 unlocalized chrY primary NW_007931111.1,CP007110.1,Y_mapped_Scaffold_15
chrY_CP007111v1_random 34521 unlocalized chrY primary NW_007931112.1,CP007111.1,Y_mapped_Scaffold_18
chrY_CP007112v1_random 39041 unlocalized chrY primary NW_007931113.1,CP007112.1,Y_mapped_Scaffold_20
chrY_CP007113v1_random 34359 unlocalized chrY primary NW_007931114.1,CP007113.1,Y_mapped_Scaffold_21
chrY_CP007114v1_random 31460 unlocalized chrY primary NW_007931115.1,CP007114.1,Y_mapped_Scaffold_23
chrY_CP007115v1_random 21921 unlocalized chrY primary NW_007931116.1,CP007115.1,Y_mapped_Scaffold_26
chrY_CP007116v1_random 25805 unlocalized chrY primary NW_007931117.1,CP007116.1,Y_mapped_Scaffold_30
chrY_CP007117v1_random 24380 unlocalized chrY primary NW_007931118.1,CP007117.1,Y_mapped_Scaffold_34
chrY_CP007118v1_random 44104 unlocalized chrY primary NW_007931119.1,CP007118.1,Y_mapped_Scaffold_53
chrY_CP007119v1_random 11498 unlocalized chrY primary NW_007931120.1,CP007119.1,211000022279762
chrY_DS483677v1_random 12513 unlocalized chrY primary NW_001844966.1,DS483677.1,211000022280742
chrY_DS483690v1_random 12001 unlocalized chrY primary NW_001844979.1,DS483690.1,211000022280763
chrY_DS483725v1_random 13079 unlocalized chrY primary NW_001845014.1,DS483725.1,211000022280187
chrY_DS483742v1_random 11763 unlocalized chrY primary NW_001845031.1,DS483742.1,211000022279681
chrY_DS483778v1_random 5984 unlocalized chrY primary NW_001845067.1,DS483778.1,211000022278684
chrY_DS483788v1_random 5564 unlocalized chrY primary NW_001845077.1,DS483788.1,211000022280748
chrY_DS483790v1_random 5520 unlocalized chrY primary NW_001845079.1,DS483790.1,211000022279688
chrY_DS483875v1_random 4197 unlocalized chrY primary NW_001845164.1,DS483875.1,211000022280494
chrY_DS483889v1_random 4059 unlocalized chrY primary NW_001845178.1,DS483889.1,211000022280504
chrY_DS483931v1_random 3713 unlocalized chrY primary NW_001845220.1,DS483931.1,211000022280481
chrY_DS483959v1_random 3537 unlocalized chrY primary NW_001845248.1,DS483959.1,211000022278601
chrY_DS483966v1_random 3502 unlocalized chrY primary NW_001845255.1,DS483966.1,211000022279030
chrY_DS483967v1_random 3499 unlocalized chrY primary NW_001845256.1,DS483967.1,211000022279468
chrY_DS483987v1_random 3375 unlocalized chrY primary NW_001845276.1,DS483987.1,211000022278795
chrY_DS483988v1_random 3374 unlocalized chrY primary NW_001845277.1,DS483988.1,211000022279951
chrY_DS483996v1_random 3341 unlocalized chrY primary NW_001845285.1,DS483996.1,211000022280483
chrY_DS484021v1_random 3213 unlocalized chrY primary NW_001845310.1,DS484021.1,211000022278218
chrY_DS484029v1_random 3195 unlocalized chrY primary NW_001845318.1,DS484029.1,211000022280619
chrY_DS484037v1_random 3173 unlocalized chrY primary NW_001845326.1,DS484037.1,211000022279224
chrY_DS484043v1_random 3154 unlocalized chrY primary NW_001845332.1,DS484043.1,211000022279649
chrY_DS484049v1_random 3102 unlocalized chrY primary NW_001845338.1,DS484049.1,211000022279186
chrY_DS484056v1_random 3077 unlocalized chrY primary NW_001845345.1,DS484056.1,211000022278895
chrY_DS484063v1_random 3046 unlocalized chrY primary NW_001845352.1,DS484063.1,211000022279642
chrY_DS484094v1_random 2922 unlocalized chrY primary NW_001845383.1,DS484094.1,211000022280686
chrY_DS484103v1_random 2899 unlocalized chrY primary NW_001845392.1,DS484103.1,211000022279532
chrY_DS484128v1_random 2836 unlocalized chrY primary NW_001845417.1,DS484128.1,211000022279382
chrY_DS484142v1_random 2815 unlocalized chrY primary NW_001845431.1,DS484142.1,211000022278436
chrY_DS484146v1_random 2799 unlocalized chrY primary NW_001845435.1,DS484146.1,211000022278586
chrY_DS484164v1_random 2762 unlocalized chrY primary NW_001845453.1,DS484164.1,211000022278734
chrY_DS484171v1_random 2728 unlocalized chrY primary NW_001845460.1,DS484171.1,211000022279709
chrY_DS484175v1_random 2709 unlocalized chrY primary NW_001845464.1,DS484175.1,211000022280138
chrY_DS484181v1_random 2694 unlocalized chrY primary NW_001845470.1,DS484181.1,211000022279755
chrY_DS484184v1_random 2688 unlocalized chrY primary NW_001845473.1,DS484184.1,211000022278278
chrY_DS484197v1_random 2642 unlocalized chrY primary NW_001845486.1,DS484197.1,211000022279046
chrY_DS484233v1_random 2565 unlocalized chrY primary NW_001845522.1,DS484233.1,211000022278509
chrY_DS484249v1_random 2522 unlocalized chrY primary NW_001845538.1,DS484249.1,211000022279261
chrY_DS484250v1_random 2521 unlocalized chrY primary NW_001845539.1,DS484250.1,211000022278743
chrY_DS484259v1_random 2508 unlocalized chrY primary NW_001845548.1,DS484259.1,211000022278683
chrY_DS484266v1_random 2477 unlocalized chrY primary NW_001845555.1,DS484266.1,211000022278802
chrY_DS484270v1_random 2473 unlocalized chrY primary NW_001845559.1,DS484270.1,211000022278510
chrY_DS484336v1_random 2342 unlocalized chrY primary NW_001845625.1,DS484336.1,211000022279334
chrY_DS484351v1_random 2303 unlocalized chrY primary NW_001845640.1,DS484351.1,211000022278577
chrY_DS484377v1_random 2232 unlocalized chrY primary NW_001845666.1,DS484377.1,211000022280024
chrY_DS484390v1_random 2206 unlocalized chrY primary NW_001845679.1,DS484390.1,211000022279932
chrY_DS484441v1_random 2096 unlocalized chrY primary NW_001845730.1,DS484441.1,211000022279583
chrY_DS484465v1_random 2063 unlocalized chrY primary NW_001845754.1,DS484465.1,211000022279937
chrY_DS484492v1_random 2005 unlocalized chrY primary NW_001845781.1,DS484492.1,211000022278984
chrY_DS484523v1_random 1961 unlocalized chrY primary NW_001845812.1,DS484523.1,211000022279268
chrY_DS484530v1_random 1947 unlocalized chrY primary NW_001845819.1,DS484530.1,211000022278449
chrY_DS484531v1_random 1946 unlocalized chrY primary NW_001845820.1,DS484531.1,211000022279795
chrY_DS484574v1_random 1890 unlocalized chrY primary NW_001845863.1,DS484574.1,211000022279104
chrY_DS484589v1_random 1863 unlocalized chrY primary NW_001845878.1,DS484589.1,211000022279494
chrY_DS484631v1_random 1775 unlocalized chrY primary NW_001845920.1,DS484631.1,211000022278941
chrY_DS484637v1_random 1766 unlocalized chrY primary NW_001845926.1,DS484637.1,211000022279123
chrY_DS484641v1_random 1756 unlocalized chrY primary NW_001845930.1,DS484641.1,211000022279989
chrY_DS484643v1_random 1751 unlocalized chrY primary NW_001845932.1,DS484643.1,211000022278565
chrY_DS484665v1_random 1712 unlocalized chrY primary NW_001845954.1,DS484665.1,211000022279026
chrY_DS484674v1_random 1690 unlocalized chrY primary NW_001845963.1,DS484674.1,211000022279936
chrY_DS484675v1_random 1690 unlocalized chrY primary NW_001845964.1,DS484675.1,211000022279025
chrY_DS484680v1_random 1683 unlocalized chrY primary NW_001845969.1,DS484680.1,211000022279582
chrY_DS484681v1_random 1683 unlocalized chrY primary NW_001845970.1,DS484681.1,211000022278709
chrY_DS484696v1_random 1637 unlocalized chrY primary NW_001845985.1,DS484696.1,211000022279680
chrY_DS484706v1_random 1619 unlocalized chrY primary NW_001845995.1,DS484706.1,211000022279090
chrY_DS484757v1_random 1525 unlocalized chrY primary NW_001846046.1,DS484757.1,211000022279870
chrY_DS484781v1_random 1485 unlocalized chrY primary NW_001846070.1,DS484781.1,211000022278872
chrY_DS484805v1_random 1459 unlocalized chrY primary NW_001846094.1,DS484805.1,211000022278214
chrY_DS484807v1_random 1456 unlocalized chrY primary NW_001846096.1,DS484807.1,211000022279963
chrY_DS484818v1_random 1443 unlocalized chrY primary NW_001846107.1,DS484818.1,211000022278997
chrY_DS484820v1_random 1440 unlocalized chrY primary NW_001846109.1,DS484820.1,211000022279876
chrY_DS484830v1_random 1429 unlocalized chrY primary NW_001846119.1,DS484830.1,211000022279950
chrY_DS484863v1_random 1393 unlocalized chrY primary NW_001846152.1,DS484863.1,211000022279279
chrY_DS484875v1_random 1383 unlocalized chrY primary NW_001846164.1,DS484875.1,211000022280116
chrY_DS484876v1_random 1382 unlocalized chrY primary NW_001846165.1,DS484876.1,211000022279907
chrY_DS484908v1_random 1360 unlocalized chrY primary NW_001846197.1,DS484908.1,211000022279484
chrY_DS484909v1_random 1356 unlocalized chrY primary NW_001846198.1,DS484909.1,211000022279392
chrY_DS484924v1_random 1341 unlocalized chrY primary NW_001846213.1,DS484924.1,211000022280044
chrY_DS484942v1_random 1333 unlocalized chrY primary NW_001846231.1,DS484942.1,211000022279550
chrY_DS484945v1_random 1330 unlocalized chrY primary NW_001846234.1,DS484945.1,211000022279485
chrY_DS484956v1_random 1322 unlocalized chrY primary NW_001846245.1,DS484956.1,211000022279404
chrY_DS484983v1_random 1304 unlocalized chrY primary NW_001846272.1,DS484983.1,211000022279560
chrY_DS484986v1_random 1303 unlocalized chrY primary NW_001846275.1,DS484986.1,211000022278722
chrY_DS484992v1_random 1297 unlocalized chrY primary NW_001846281.1,DS484992.1,211000022278153
chrY_DS484994v1_random 1297 unlocalized chrY primary NW_001846283.1,DS484994.1,211000022279319
chrY_DS485013v1_random 1284 unlocalized chrY primary NW_001846302.1,DS485013.1,211000022278405
chrY_DS485014v1_random 1283 unlocalized chrY primary NW_001846303.1,DS485014.1,211000022279835
chrY_DS485016v1_random 1282 unlocalized chrY primary NW_001846305.1,DS485016.1,211000022278418
chrY_DS485028v1_random 1277 unlocalized chrY primary NW_001846317.1,DS485028.1,211000022280157
chrY_DS485042v1_random 1271 unlocalized chrY primary NW_001846331.1,DS485042.1,211000022279269
chrY_DS485048v1_random 1270 unlocalized chrY primary NW_001846337.1,DS485048.1,211000022279496
chrY_DS485051v1_random 1268 unlocalized chrY primary NW_001846340.1,DS485051.1,211000022278791
chrY_DS485070v1_random 1260 unlocalized chrY primary NW_001846359.1,DS485070.1,211000022278756
chrY_DS485097v1_random 1243 unlocalized chrY primary NW_001846386.1,DS485097.1,211000022279725
chrY_DS485099v1_random 1241 unlocalized chrY primary NW_001846388.1,DS485099.1,211000022279491
chrY_DS485113v1_random 1237 unlocalized chrY primary NW_001846402.1,DS485113.1,211000022278135
chrY_DS485137v1_random 1230 unlocalized chrY primary NW_001846426.1,DS485137.1,211000022279678
chrY_DS485143v1_random 1227 unlocalized chrY primary NW_001846432.1,DS485143.1,211000022279918
chrY_DS485158v1_random 1224 unlocalized chrY primary NW_001846447.1,DS485158.1,211000022279047
chrY_DS485159v1_random 1224 unlocalized chrY primary NW_001846448.1,DS485159.1,211000022278798
chrY_DS485166v1_random 1222 unlocalized chrY primary NW_001846455.1,DS485166.1,211000022278935
chrY_DS485178v1_random 1218 unlocalized chrY primary NW_001846467.1,DS485178.1,211000022279335
chrY_DS485219v1_random 1202 unlocalized chrY primary NW_001846508.1,DS485219.1,211000022280090
chrY_DS485236v1_random 1195 unlocalized chrY primary NW_001846525.1,DS485236.1,211000022279174
chrY_DS485250v1_random 1192 unlocalized chrY primary NW_001846539.1,DS485250.1,211000022278990
chrY_DS485267v1_random 1186 unlocalized chrY primary NW_001846556.1,DS485267.1,211000022278142
chrY_DS485283v1_random 1182 unlocalized chrY primary NW_001846572.1,DS485283.1,211000022279974
chrY_DS485288v1_random 1181 unlocalized chrY primary NW_001846577.1,DS485288.1,211000022279831
chrY_DS485302v1_random 1176 unlocalized chrY primary NW_001846591.1,DS485302.1,211000022279452
chrY_DS485315v1_random 1171 unlocalized chrY primary NW_001846604.1,DS485315.1,211000022279679
chrY_DS485316v1_random 1171 unlocalized chrY primary NW_001846605.1,DS485316.1,211000022279999
chrY_DS485318v1_random 1170 unlocalized chrY primary NW_001846607.1,DS485318.1,211000022279669
chrY_DS485320v1_random 1169 unlocalized chrY primary NW_001846609.1,DS485320.1,211000022279410
chrY_DS485328v1_random 1166 unlocalized chrY primary NW_001846617.1,DS485328.1,211000022279333
chrY_DS485329v1_random 1166 unlocalized chrY primary NW_001846618.1,DS485329.1,211000022279266
chrY_DS485335v1_random 1163 unlocalized chrY primary NW_001846624.1,DS485335.1,211000022279986
chrY_DS485343v1_random 1162 unlocalized chrY primary NW_001846632.1,DS485343.1,211000022279280
chrY_DS485359v1_random 1159 unlocalized chrY primary NW_001846648.1,DS485359.1,211000022279164
chrY_DS485363v1_random 1158 unlocalized chrY primary NW_001846652.1,DS485363.1,211000022279511
chrY_DS485374v1_random 1155 unlocalized chrY primary NW_001846663.1,DS485374.1,211000022279153
chrY_DS485375v1_random 1155 unlocalized chrY primary NW_001846664.1,DS485375.1,211000022278499
chrY_DS485388v1_random 1152 unlocalized chrY primary NW_001846677.1,DS485388.1,211000022278995
chrY_DS485399v1_random 1148 unlocalized chrY primary NW_001846688.1,DS485399.1,211000022279181
chrY_DS485409v1_random 1147 unlocalized chrY primary NW_001846698.1,DS485409.1,211000022279352
chrY_DS485416v1_random 1146 unlocalized chrY primary NW_001846705.1,DS485416.1,211000022279935
chrY_DS485422v1_random 1144 unlocalized chrY primary NW_001846711.1,DS485422.1,211000022279901
chrY_DS485423v1_random 1144 unlocalized chrY primary NW_001846712.1,DS485423.1,211000022278760
chrY_DS485427v1_random 1142 unlocalized chrY primary NW_001846716.1,DS485427.1,211000022278936
chrY_DS485430v1_random 1141 unlocalized chrY primary NW_001846719.1,DS485430.1,211000022279995
chrY_DS485436v1_random 1140 unlocalized chrY primary NW_001846725.1,DS485436.1,211000022279938
chrY_DS485440v1_random 1139 unlocalized chrY primary NW_001846729.1,DS485440.1,211000022279458
chrY_DS485450v1_random 1136 unlocalized chrY primary NW_001846739.1,DS485450.1,211000022279941
chrY_DS485452v1_random 1136 unlocalized chrY primary NW_001846741.1,DS485452.1,211000022279391
chrY_DS485460v1_random 1134 unlocalized chrY primary NW_001846749.1,DS485460.1,211000022278450
chrY_DS485470v1_random 1132 unlocalized chrY primary NW_001846759.1,DS485470.1,211000022279799
chrY_DS485473v1_random 1131 unlocalized chrY primary NW_001846762.1,DS485473.1,211000022279800
chrY_DS485483v1_random 1129 unlocalized chrY primary NW_001846772.1,DS485483.1,211000022278987
chrY_DS485492v1_random 1126 unlocalized chrY primary NW_001846781.1,DS485492.1,211000022278959
chrY_DS485512v1_random 1122 unlocalized chrY primary NW_001846801.1,DS485512.1,211000022279910
chrY_DS485523v1_random 1118 unlocalized chrY primary NW_001846812.1,DS485523.1,211000022279165
chrY_DS485532v1_random 1116 unlocalized chrY primary NW_001846821.1,DS485532.1,211000022279546
chrY_DS485534v1_random 1116 unlocalized chrY primary NW_001846823.1,DS485534.1,211000022278736
chrY_DS485552v1_random 1111 unlocalized chrY primary NW_001846841.1,DS485552.1,211000022279813
chrY_DS485560v1_random 1110 unlocalized chrY primary NW_001846849.1,DS485560.1,211000022279236
chrY_DS485561v1_random 1109 unlocalized chrY primary NW_001846850.1,DS485561.1,211000022278873
chrY_DS485575v1_random 1106 unlocalized chrY primary NW_001846864.1,DS485575.1,211000022279005
chrY_DS485594v1_random 1101 unlocalized chrY primary NW_001846883.1,DS485594.1,211000022278201
chrY_DS485604v1_random 1098 unlocalized chrY primary NW_001846893.1,DS485604.1,211000022279586
chrY_DS485625v1_random 1090 unlocalized chrY primary NW_001846914.1,DS485625.1,211000022279661
chrY_DS485641v1_random 1087 unlocalized chrY primary NW_001846930.1,DS485641.1,211000022279403
chrY_DS485646v1_random 1086 unlocalized chrY primary NW_001846935.1,DS485646.1,211000022278803
chrY_DS485685v1_random 1075 unlocalized chrY primary NW_001846974.1,DS485685.1,211000022279459
chrY_DS485696v1_random 1073 unlocalized chrY primary NW_001846985.1,DS485696.1,211000022279007
chrY_DS485698v1_random 1072 unlocalized chrY primary NW_001846987.1,DS485698.1,211000022279988
chrY_DS485718v1_random 1068 unlocalized chrY primary NW_001847007.1,DS485718.1,211000022279486
chrY_DS485732v1_random 1064 unlocalized chrY primary NW_001847021.1,DS485732.1,211000022279137
chrY_DS485736v1_random 1063 unlocalized chrY primary NW_001847025.1,DS485736.1,211000022278787
chrY_DS485739v1_random 1063 unlocalized chrY primary NW_001847028.1,DS485739.1,211000022279385
chrY_DS485749v1_random 1060 unlocalized chrY primary NW_001847038.1,DS485749.1,211000022279031
chrY_DS485752v1_random 1059 unlocalized chrY primary NW_001847041.1,DS485752.1,211000022279034
chrY_DS485755v1_random 1058 unlocalized chrY primary NW_001847044.1,DS485755.1,211000022279801
chrY_DS485764v1_random 1056 unlocalized chrY primary NW_001847053.1,DS485764.1,211000022279377
chrY_DS485767v1_random 1056 unlocalized chrY primary NW_001847056.1,DS485767.1,211000022279211
chrY_DS485772v1_random 1054 unlocalized chrY primary NW_001847061.1,DS485772.1,211000022279314
chrY_DS485776v1_random 1053 unlocalized chrY primary NW_001847065.1,DS485776.1,211000022279677
chrY_DS485786v1_random 1051 unlocalized chrY primary NW_001847075.1,DS485786.1,211000022280040
chrY_DS485795v1_random 1049 unlocalized chrY primary NW_001847084.1,DS485795.1,211000022278682
chrY_DS485839v1_random 1042 unlocalized chrY primary NW_001847128.1,DS485839.1,211000022279492
chrY_DS485840v1_random 1041 unlocalized chrY primary NW_001847129.1,DS485840.1,211000022278956
chrY_DS485849v1_random 1039 unlocalized chrY primary NW_001847138.1,DS485849.1,211000022280072
chrY_DS485858v1_random 1037 unlocalized chrY primary NW_001847147.1,DS485858.1,211000022279908
chrY_DS485865v1_random 1035 unlocalized chrY primary NW_001847154.1,DS485865.1,211000022278538
chrY_DS485873v1_random 1033 unlocalized chrY primary NW_001847162.1,DS485873.1,211000022278772
chrY_DS485875v1_random 1032 unlocalized chrY primary NW_001847164.1,DS485875.1,211000022278965
chrY_DS485885v1_random 1030 unlocalized chrY primary NW_001847174.1,DS485885.1,211000022280057
chrY_DS485888v1_random 1029 unlocalized chrY primary NW_001847177.1,DS485888.1,211000022279791
chrY_DS485892v1_random 1029 unlocalized chrY primary NW_001847181.1,DS485892.1,211000022279802
chrY_DS485894v1_random 1029 unlocalized chrY primary NW_001847183.1,DS485894.1,211000022278939
chrY_DS485901v1_random 1027 unlocalized chrY primary NW_001847190.1,DS485901.1,211000022279272
chrY_DS485927v1_random 1020 unlocalized chrY primary NW_001847216.1,DS485927.1,211000022278710
chrY_DS485938v1_random 1019 unlocalized chrY primary NW_001847227.1,DS485938.1,211000022279264
chrY_DS485956v1_random 1014 unlocalized chrY primary NW_001847245.1,DS485956.1,211000022279972
chrY_DS485960v1_random 1012 unlocalized chrY primary NW_001847249.1,DS485960.1,211000022279589
chrY_DS485963v1_random 1012 unlocalized chrY primary NW_001847252.1,DS485963.1,211000022279670
chrY_DS485972v1_random 1010 unlocalized chrY primary NW_001847261.1,DS485972.1,211000022279646
chrY_DS485974v1_random 1010 unlocalized chrY primary NW_001847263.1,DS485974.1,211000022279639
chrY_DS485975v1_random 1010 unlocalized chrY primary NW_001847264.1,DS485975.1,211000022279235
chrY_DS486003v1_random 1001 unlocalized chrY primary NW_001847292.1,DS486003.1,211000022278495
chrUn_CP007071v1 19956 unplaced primary NW_007931073.1,CP007071.1,2Cen_mapped_Scaffold_10
chrUn_CP007072v1 44411 unplaced primary NW_007931074.1,CP007072.1,2Cen_mapped_Scaffold_43
chrUn_CP007073v1 13157 unplaced primary NW_007931075.1,CP007073.1,2R2_mapped_Scaffold_56
chrUn_CP007074v1 76224 unplaced primary NW_007931076.1,CP007074.1,3Cen_mapped_Scaffold_1
chrUn_CP007075v1 11983 unplaced primary NW_007931077.1,CP007075.1,3Cen_mapped_Scaffold_27
chrUn_CP007076v1 87365 unplaced primary NW_007931078.1,CP007076.1,3Cen_mapped_Scaffold_31
chrUn_CP007077v1 36913 unplaced primary NW_007931079.1,CP007077.1,3Cen_mapped_Scaffold_36
chrUn_CP007078v1 22604 unplaced primary NW_007931080.1,CP007078.1,3Cen_mapped_Scaffold_41
chrUn_CP007079v1 23238 unplaced primary NW_007931081.1,CP007079.1,3Cen_mapped_Scaffold_50
chrUn_CP007080v1 86267 unplaced primary NW_007931082.1,CP007080.1,Unmapped_Scaffold_4
chrUn_CP007081v1 88768 unplaced primary NW_007931083.1,CP007081.1,Unmapped_Scaffold_8
chrUn_CP007082v1 36482 unplaced primary NW_007931084.1,CP007082.1,Unmapped_Scaffold_11
chrUn_CP007083v1 25537 unplaced primary NW_007931085.1,CP007083.1,Unmapped_Scaffold_13
chrUn_CP007084v1 62570 unplaced primary NW_007931086.1,CP007084.1,Unmapped_Scaffold_17
chrUn_CP007085v1 45120 unplaced primary NW_007931087.1,CP007085.1,Unmapped_Scaffold_22
chrUn_CP007086v1 22882 unplaced primary NW_007931088.1,CP007086.1,Unmapped_Scaffold_24
chrUn_CP007087v1 46986 unplaced primary NW_007931089.1,CP007087.1,Unmapped_Scaffold_28
chrUn_CP007088v1 37106 unplaced primary NW_007931090.1,CP007088.1,Unmapped_Scaffold_29
chrUn_CP007089v1 16157 unplaced primary NW_007931091.1,CP007089.1,Unmapped_Scaffold_32
chrUn_CP007090v1 57785 unplaced primary NW_007931092.1,CP007090.1,Unmapped_Scaffold_35
chrUn_CP007091v1 20763 unplaced primary NW_007931093.1,CP007091.1,Unmapped_Scaffold_37
chrUn_CP007092v1 28305 unplaced primary NW_007931094.1,CP007092.1,Unmapped_Scaffold_38
chrUn_CP007093v1 25698 unplaced primary NW_007931095.1,CP007093.1,Unmapped_Scaffold_44
chrUn_CP007094v1 29583 unplaced primary NW_007931096.1,CP007094.1,Unmapped_Scaffold_45
chrUn_CP007095v1 25560 unplaced primary NW_007931097.1,CP007095.1,Unmapped_Scaffold_46
chrUn_CP007096v1 26115 unplaced primary NW_007931098.1,CP007096.1,Unmapped_Scaffold_48
chrUn_CP007097v1 13455 unplaced primary NW_007931099.1,CP007097.1,Unmapped_Scaffold_51
chrUn_CP007098v1 43383 unplaced primary NW_007931100.1,CP007098.1,Unmapped_Scaffold_52
chrUn_CP007099v1 12632 unplaced primary NW_007931101.1,CP007099.1,Unmapped_Scaffold_54
chrUn_CP007100v1 10091 unplaced primary NW_007931102.1,CP007100.1,Unmapped_Scaffold_58
chrUn_CP007101v1 24503 unplaced primary NW_007931103.1,CP007101.1,Unmapped_Scaffold_60
chrUn_CP007102v1 12714 unplaced primary NW_007931104.1,CP007102.1,211000022278279
chrUn_CP007105v1 47411 unplaced primary NW_007931107.1,CP007105.1,XY_mapped_Scaffold_42
chrUn_CP007120v1 76973 unplaced primary NW_007931121.1,CP007120.1,rDNA
chrUn_DS483562v1 50625 unplaced primary NW_001844851.1,DS483562.1,XY_mapped_Scaffold_7
chrUn_DS483629v1 15417 unplaced primary NW_001844918.1,DS483629.1,211000022280772
chrUn_DS483641v1 14503 unplaced primary NW_001844930.1,DS483641.1,211000022280659
chrUn_DS483646v1 14098 unplaced primary NW_001844935.1,DS483646.1,211000022280328
chrUn_DS483647v1 14028 unplaced primary NW_001844936.1,DS483647.1,211000022280541
chrUn_DS483649v1 13935 unplaced primary NW_001844938.1,DS483649.1,211000022280259
chrUn_DS483650v1 13906 unplaced primary NW_001844939.1,DS483650.1,211000022278875
chrUn_DS483658v1 13455 unplaced primary NW_001844947.1,DS483658.1,211000022279719
chrUn_DS483659v1 13416 unplaced primary NW_001844948.1,DS483659.1,211000022279579
chrUn_DS483662v1 13317 unplaced primary NW_001844951.1,DS483662.1,211000022279094
chrUn_DS483663v1 13256 unplaced primary NW_001844952.1,DS483663.1,211000022279556
chrUn_DS483670v1 12827 unplaced primary NW_001844959.1,DS483670.1,211000022279754
chrUn_DS483673v1 12654 unplaced primary NW_001844962.1,DS483673.1,211000022279420
chrUn_DS483674v1 12632 unplaced primary NW_001844963.1,DS483674.1,211000022279022
chrUn_DS483675v1 12536 unplaced primary NW_001844964.1,DS483675.1,211000022279503
chrUn_DS483678v1 12424 unplaced primary NW_001844967.1,DS483678.1,211000022278978
chrUn_DS483679v1 12424 unplaced primary NW_001844968.1,DS483679.1,211000022279829
chrUn_DS483680v1 12399 unplaced primary NW_001844969.1,DS483680.1,211000022278916
chrUn_DS483681v1 12368 unplaced primary NW_001844970.1,DS483681.1,211000022279098
chrUn_DS483682v1 12354 unplaced primary NW_001844971.1,DS483682.1,211000022278777
chrUn_DS483686v1 12148 unplaced primary NW_001844975.1,DS483686.1,211000022279594
chrUn_DS483687v1 12142 unplaced primary NW_001844976.1,DS483687.1,211000022279637
chrUn_DS483688v1 12095 unplaced primary NW_001844977.1,DS483688.1,211000022279456
chrUn_DS483689v1 12034 unplaced primary NW_001844978.1,DS483689.1,211000022279893
chrUn_DS483692v1 11985 unplaced primary NW_001844981.1,DS483692.1,211000022278390
chrUn_DS483693v1 11958 unplaced primary NW_001844982.1,DS483693.1,211000022279189
chrUn_DS483694v1 11951 unplaced primary NW_001844983.1,DS483694.1,211000022278399
chrUn_DS483695v1 11743 unplaced primary NW_001844984.1,DS483695.1,211000022278549
chrUn_DS483700v1 11430 unplaced primary NW_001844989.1,DS483700.1,211000022278269
chrUn_DS483701v1 11220 unplaced primary NW_001844990.1,DS483701.1,211000022279423
chrUn_DS483702v1 11148 unplaced primary NW_001844991.1,DS483702.1,211000022280064
chrUn_DS483703v1 11126 unplaced primary NW_001844992.1,DS483703.1,211000022278686
chrUn_DS483705v1 27456 unplaced primary NW_001844994.1,DS483705.1,211000022278049
chrUn_DS483707v1 25840 unplaced primary NW_001844996.1,DS483707.1,211000022278415
chrUn_DS483709v1 18299 unplaced primary NW_001844998.1,DS483709.1,211000022280761
chrUn_DS483711v1 14687 unplaced primary NW_001845000.1,DS483711.1,211000022278217
chrUn_DS483712v1 14199 unplaced primary NW_001845001.1,DS483712.1,211000022278974
chrUn_DS483719v1 12027 unplaced primary NW_001845008.1,DS483719.1,211000022278273
chrUn_DS483723v1 21074 unplaced primary NW_001845012.1,DS483723.1,211000022278354
chrUn_DS483724v1 13501 unplaced primary NW_001845013.1,DS483724.1,211000022280596
chrUn_DS483726v1 14983 unplaced primary NW_001845015.1,DS483726.1,211000022279114
chrUn_DS483728v1 12681 unplaced primary NW_001845017.1,DS483728.1,211000022278185
chrUn_DS483734v1 15522 unplaced primary NW_001845023.1,DS483734.1,211000022279276
chrUn_DS483735v1 15068 unplaced primary NW_001845024.1,DS483735.1,211000022280237
chrUn_DS483736v1 14006 unplaced primary NW_001845025.1,DS483736.1,211000022278653
chrUn_DS483737v1 13553 unplaced primary NW_001845026.1,DS483737.1,211000022279892
chrUn_DS483738v1 12856 unplaced primary NW_001845027.1,DS483738.1,211000022279146
chrUn_DS483739v1 12459 unplaced primary NW_001845028.1,DS483739.1,211000022279345
chrUn_DS483740v1 12002 unplaced primary NW_001845029.1,DS483740.1,211000022279001
chrUn_DS483741v1 11807 unplaced primary NW_001845030.1,DS483741.1,211000022279523
chrUn_DS483743v1 11569 unplaced primary NW_001845032.1,DS483743.1,211000022278849
chrUn_DS483744v1 9865 unplaced primary NW_001845033.1,DS483744.1,211000022280750
chrUn_DS483746v1 9341 unplaced primary NW_001845035.1,DS483746.1,211000022279869
chrUn_DS483748v1 8346 unplaced primary NW_001845037.1,DS483748.1,211000022278215
chrUn_DS483749v1 8007 unplaced primary NW_001845038.1,DS483749.1,211000022279695
chrUn_DS483750v1 7722 unplaced primary NW_001845039.1,DS483750.1,211000022279735
chrUn_DS483751v1 7314 unplaced primary NW_001845040.1,DS483751.1,211000022280490
chrUn_DS483753v1 7123 unplaced primary NW_001845042.1,DS483753.1,211000022280465
chrUn_DS483754v1 7003 unplaced primary NW_001845043.1,DS483754.1,211000022280734
chrUn_DS483755v1 6936 unplaced primary NW_001845044.1,DS483755.1,211000022278032
chrUn_DS483757v1 6900 unplaced primary NW_001845046.1,DS483757.1,211000022280476
chrUn_DS483758v1 6860 unplaced primary NW_001845047.1,DS483758.1,211000022280735
chrUn_DS483759v1 6860 unplaced primary NW_001845048.1,DS483759.1,211000022279018
chrUn_DS483760v1 6825 unplaced primary NW_001845049.1,DS483760.1,211000022280699
chrUn_DS483762v1 6698 unplaced primary NW_001845051.1,DS483762.1,211000022280447
chrUn_DS483763v1 6546 unplaced primary NW_001845052.1,DS483763.1,211000022280640
chrUn_DS483767v1 6396 unplaced primary NW_001845056.1,DS483767.1,211000022279879
chrUn_DS483768v1 6294 unplaced primary NW_001845057.1,DS483768.1,211000022280236
chrUn_DS483769v1 6237 unplaced primary NW_001845058.1,DS483769.1,211000022279539
chrUn_DS483770v1 6193 unplaced primary NW_001845059.1,DS483770.1,211000022280519
chrUn_DS483772v1 6076 unplaced primary NW_001845061.1,DS483772.1,211000022279177
chrUn_DS483773v1 6062 unplaced primary NW_001845062.1,DS483773.1,211000022280046
chrUn_DS483774v1 6041 unplaced primary NW_001845063.1,DS483774.1,211000022280518
chrUn_DS483776v1 6000 unplaced primary NW_001845065.1,DS483776.1,211000022280545
chrUn_DS483780v1 5968 unplaced primary NW_001845069.1,DS483780.1,211000022280437
chrUn_DS483781v1 5952 unplaced primary NW_001845070.1,DS483781.1,211000022280655
chrUn_DS483782v1 5915 unplaced primary NW_001845071.1,DS483782.1,211000022279884
chrUn_DS483783v1 5891 unplaced primary NW_001845072.1,DS483783.1,211000022279147
chrUn_DS483785v1 5772 unplaced primary NW_001845074.1,DS483785.1,211000022280462
chrUn_DS483787v1 5698 unplaced primary NW_001845076.1,DS483787.1,211000022280472
chrUn_DS483792v1 5465 unplaced primary NW_001845081.1,DS483792.1,211000022279380
chrUn_DS483793v1 5463 unplaced primary NW_001845082.1,DS483793.1,211000022280517
chrUn_DS483796v1 5383 unplaced primary NW_001845085.1,DS483796.1,211000022280727
chrUn_DS483797v1 5360 unplaced primary NW_001845086.1,DS483797.1,211000022279257
chrUn_DS483798v1 5324 unplaced primary NW_001845087.1,DS483798.1,211000022280656
chrUn_DS483799v1 5323 unplaced primary NW_001845088.1,DS483799.1,211000022278556
chrUn_DS483800v1 5316 unplaced primary NW_001845089.1,DS483800.1,211000022280637
chrUn_DS483801v1 5281 unplaced primary NW_001845090.1,DS483801.1,211000022279634
chrUn_DS483804v1 5189 unplaced primary NW_001845093.1,DS483804.1,211000022279559
chrUn_DS483805v1 5182 unplaced primary NW_001845094.1,DS483805.1,211000022278960
chrUn_DS483806v1 5098 unplaced primary NW_001845095.1,DS483806.1,211000022280459
chrUn_DS483807v1 5061 unplaced primary NW_001845096.1,DS483807.1,211000022280720
chrUn_DS483808v1 5060 unplaced primary NW_001845097.1,DS483808.1,211000022278712
chrUn_DS483810v1 5026 unplaced primary NW_001845099.1,DS483810.1,211000022280583
chrUn_DS483811v1 5000 unplaced primary NW_001845100.1,DS483811.1,211000022280615
chrUn_DS483812v1 4996 unplaced primary NW_001845101.1,DS483812.1,211000022280461
chrUn_DS483813v1 4994 unplaced primary NW_001845102.1,DS483813.1,211000022280558
chrUn_DS483814v1 4986 unplaced primary NW_001845103.1,DS483814.1,211000022280087
chrUn_DS483815v1 4967 unplaced primary NW_001845104.1,DS483815.1,211000022279928
chrUn_DS483816v1 4939 unplaced primary NW_001845105.1,DS483816.1,211000022279913
chrUn_DS483817v1 4933 unplaced primary NW_001845106.1,DS483817.1,211000022280589
chrUn_DS483819v1 4903 unplaced primary NW_001845108.1,DS483819.1,211000022280445
chrUn_DS483820v1 4888 unplaced primary NW_001845109.1,DS483820.1,211000022279453
chrUn_DS483822v1 4865 unplaced primary NW_001845111.1,DS483822.1,211000022280233
chrUn_DS483824v1 4820 unplaced primary NW_001845113.1,DS483824.1,211000022280015
chrUn_DS483825v1 4815 unplaced primary NW_001845114.1,DS483825.1,211000022279449
chrUn_DS483828v1 4785 unplaced primary NW_001845117.1,DS483828.1,211000022280607
chrUn_DS483832v1 4705 unplaced primary NW_001845121.1,DS483832.1,211000022280618
chrUn_DS483833v1 4701 unplaced primary NW_001845122.1,DS483833.1,211000022280503
chrUn_DS483837v1 4608 unplaced primary NW_001845126.1,DS483837.1,211000022280050
chrUn_DS483839v1 4581 unplaced primary NW_001845128.1,DS483839.1,211000022280652
chrUn_DS483840v1 4573 unplaced primary NW_001845129.1,DS483840.1,211000022279344
chrUn_DS483841v1 4553 unplaced primary NW_001845130.1,DS483841.1,211000022279701
chrUn_DS483844v1 4471 unplaced primary NW_001845133.1,DS483844.1,211000022280457
chrUn_DS483845v1 4465 unplaced primary NW_001845134.1,DS483845.1,211000022278926
chrUn_DS483846v1 4452 unplaced primary NW_001845135.1,DS483846.1,211000022280743
chrUn_DS483848v1 4436 unplaced primary NW_001845137.1,DS483848.1,211000022279389
chrUn_DS483849v1 4400 unplaced primary NW_001845138.1,DS483849.1,211000022278765
chrUn_DS483853v1 4381 unplaced primary NW_001845142.1,DS483853.1,211000022279463
chrUn_DS483854v1 4378 unplaced primary NW_001845143.1,DS483854.1,211000022280128
chrUn_DS483855v1 4377 unplaced primary NW_001845144.1,DS483855.1,211000022279091
chrUn_DS483856v1 4370 unplaced primary NW_001845145.1,DS483856.1,211000022279396
chrUn_DS483858v1 4361 unplaced primary NW_001845147.1,DS483858.1,211000022279940
chrUn_DS483859v1 4336 unplaced primary NW_001845148.1,DS483859.1,211000022280516
chrUn_DS483861v1 4310 unplaced primary NW_001845150.1,DS483861.1,211000022280671
chrUn_DS483862v1 4310 unplaced primary NW_001845151.1,DS483862.1,211000022279887
chrUn_DS483863v1 4305 unplaced primary NW_001845152.1,DS483863.1,211000022280283
chrUn_DS483864v1 4295 unplaced primary NW_001845153.1,DS483864.1,211000022278723
chrUn_DS483865v1 4289 unplaced primary NW_001845154.1,DS483865.1,211000022280473
chrUn_DS483866v1 4273 unplaced primary NW_001845155.1,DS483866.1,211000022280202
chrUn_DS483867v1 4272 unplaced primary NW_001845156.1,DS483867.1,211000022279855
chrUn_DS483868v1 4256 unplaced primary NW_001845157.1,DS483868.1,211000022280068
chrUn_DS483870v1 4231 unplaced primary NW_001845159.1,DS483870.1,211000022280002
chrUn_DS483871v1 4225 unplaced primary NW_001845160.1,DS483871.1,211000022278966
chrUn_DS483872v1 4222 unplaced primary NW_001845161.1,DS483872.1,211000022279667
chrUn_DS483873v1 4222 unplaced primary NW_001845162.1,DS483873.1,211000022278089
chrUn_DS483874v1 4202 unplaced primary NW_001845163.1,DS483874.1,211000022280762
chrUn_DS483876v1 4188 unplaced primary NW_001845165.1,DS483876.1,211000022279052
chrUn_DS483877v1 4183 unplaced primary NW_001845166.1,DS483877.1,211000022278351
chrUn_DS483878v1 4182 unplaced primary NW_001845167.1,DS483878.1,211000022280508
chrUn_DS483879v1 4163 unplaced primary NW_001845168.1,DS483879.1,211000022278372
chrUn_DS483880v1 4150 unplaced primary NW_001845169.1,DS483880.1,211000022280653
chrUn_DS483881v1 4135 unplaced primary NW_001845170.1,DS483881.1,211000022280560
chrUn_DS483886v1 4081 unplaced primary NW_001845175.1,DS483886.1,211000022280098
chrUn_DS483891v1 4030 unplaced primary NW_001845180.1,DS483891.1,211000022280110
chrUn_DS483895v1 4006 unplaced primary NW_001845184.1,DS483895.1,211000022280448
chrUn_DS483896v1 3991 unplaced primary NW_001845185.1,DS483896.1,211000022280623
chrUn_DS483898v1 3970 unplaced primary NW_001845187.1,DS483898.1,211000022280446
chrUn_DS483899v1 3964 unplaced primary NW_001845188.1,DS483899.1,211000022280305
chrUn_DS483900v1 3960 unplaced primary NW_001845189.1,DS483900.1,211000022280684
chrUn_DS483901v1 3950 unplaced primary NW_001845190.1,DS483901.1,211000022278675
chrUn_DS483904v1 3932 unplaced primary NW_001845193.1,DS483904.1,211000022280032
chrUn_DS483906v1 3924 unplaced primary NW_001845195.1,DS483906.1,211000022278100
chrUn_DS483908v1 3913 unplaced primary NW_001845197.1,DS483908.1,211000022279372
chrUn_DS483910v1 3906 unplaced primary NW_001845199.1,DS483910.1,211000022280703
chrUn_DS483913v1 3871 unplaced primary NW_001845202.1,DS483913.1,211000022279750
chrUn_DS483914v1 3864 unplaced primary NW_001845203.1,DS483914.1,211000022278945
chrUn_DS483915v1 3858 unplaced primary NW_001845204.1,DS483915.1,211000022279675
chrUn_DS483918v1 3818 unplaced primary NW_001845207.1,DS483918.1,211000022280498
chrUn_DS483919v1 3807 unplaced primary NW_001845208.1,DS483919.1,211000022279243
chrUn_DS483920v1 3806 unplaced primary NW_001845209.1,DS483920.1,211000022279743
chrUn_DS483921v1 3806 unplaced primary NW_001845210.1,DS483921.1,211000022278195
chrUn_DS483925v1 3755 unplaced primary NW_001845214.1,DS483925.1,211000022280471
chrUn_DS483927v1 3737 unplaced primary NW_001845216.1,DS483927.1,211000022280551
chrUn_DS483929v1 3717 unplaced primary NW_001845218.1,DS483929.1,211000022280455
chrUn_DS483930v1 3716 unplaced primary NW_001845219.1,DS483930.1,211000022279477
chrUn_DS483933v1 3708 unplaced primary NW_001845222.1,DS483933.1,211000022278697
chrUn_DS483936v1 3681 unplaced primary NW_001845225.1,DS483936.1,211000022278602
chrUn_DS483937v1 3660 unplaced primary NW_001845226.1,DS483937.1,211000022280606
chrUn_DS483938v1 3650 unplaced primary NW_001845227.1,DS483938.1,211000022278392
chrUn_DS483939v1 3649 unplaced primary NW_001845228.1,DS483939.1,211000022279844
chrUn_DS483940v1 3648 unplaced primary NW_001845229.1,DS483940.1,211000022278611
chrUn_DS483941v1 3646 unplaced primary NW_001845230.1,DS483941.1,211000022280565
chrUn_DS483943v1 3638 unplaced primary NW_001845232.1,DS483943.1,211000022280463
chrUn_DS483944v1 3622 unplaced primary NW_001845233.1,DS483944.1,211000022279370
chrUn_DS483945v1 3622 unplaced primary NW_001845234.1,DS483945.1,211000022280026
chrUn_DS483947v1 3603 unplaced primary NW_001845236.1,DS483947.1,211000022280522
chrUn_DS483949v1 3593 unplaced primary NW_001845238.1,DS483949.1,211000022280562
chrUn_DS483951v1 3574 unplaced primary NW_001845240.1,DS483951.1,211000022280654
chrUn_DS483953v1 3557 unplaced primary NW_001845242.1,DS483953.1,211000022279961
chrUn_DS483954v1 3554 unplaced primary NW_001845243.1,DS483954.1,211000022280525
chrUn_DS483956v1 3553 unplaced primary NW_001845245.1,DS483956.1,211000022280127
chrUn_DS483957v1 3553 unplaced primary NW_001845246.1,DS483957.1,211000022278396
chrUn_DS483960v1 3527 unplaced primary NW_001845249.1,DS483960.1,211000022280692
chrUn_DS483961v1 3527 unplaced primary NW_001845250.1,DS483961.1,211000022279945
chrUn_DS483964v1 3519 unplaced primary NW_001845253.1,DS483964.1,211000022280156
chrUn_DS483965v1 3503 unplaced primary NW_001845254.1,DS483965.1,211000022279613
chrUn_DS483970v1 3490 unplaced primary NW_001845259.1,DS483970.1,211000022279229
chrUn_DS483972v1 3477 unplaced primary NW_001845261.1,DS483972.1,211000022278768
chrUn_DS483975v1 3466 unplaced primary NW_001845264.1,DS483975.1,211000022279812
chrUn_DS483976v1 3463 unplaced primary NW_001845265.1,DS483976.1,211000022278203
chrUn_DS483977v1 3458 unplaced primary NW_001845266.1,DS483977.1,211000022278312
chrUn_DS483979v1 3434 unplaced primary NW_001845268.1,DS483979.1,211000022279431
chrUn_DS483982v1 3402 unplaced primary NW_001845271.1,DS483982.1,211000022280533
chrUn_DS483983v1 3396 unplaced primary NW_001845272.1,DS483983.1,211000022280335
chrUn_DS483985v1 3389 unplaced primary NW_001845274.1,DS483985.1,211000022280566
chrUn_DS483986v1 3386 unplaced primary NW_001845275.1,DS483986.1,211000022280556
chrUn_DS483989v1 3373 unplaced primary NW_001845278.1,DS483989.1,211000022279877
chrUn_DS483992v1 3365 unplaced primary NW_001845281.1,DS483992.1,211000022280554
chrUn_DS483994v1 3348 unplaced primary NW_001845283.1,DS483994.1,211000022280295
chrUn_DS483998v1 3313 unplaced primary NW_001845287.1,DS483998.1,211000022280570
chrUn_DS483999v1 3308 unplaced primary NW_001845288.1,DS483999.1,211000022280595
chrUn_DS484000v1 3302 unplaced primary NW_001845289.1,DS484000.1,211000022280564
chrUn_DS484001v1 3299 unplaced primary NW_001845290.1,DS484001.1,211000022280255
chrUn_DS484003v1 3284 unplaced primary NW_001845292.1,DS484003.1,211000022279606
chrUn_DS484004v1 3277 unplaced primary NW_001845293.1,DS484004.1,211000022280105
chrUn_DS484006v1 3268 unplaced primary NW_001845295.1,DS484006.1,211000022280524
chrUn_DS484007v1 3262 unplaced primary NW_001845296.1,DS484007.1,211000022280440
chrUn_DS484009v1 3259 unplaced primary NW_001845298.1,DS484009.1,211000022280687
chrUn_DS484010v1 3259 unplaced primary NW_001845299.1,DS484010.1,211000022280480
chrUn_DS484013v1 3252 unplaced primary NW_001845302.1,DS484013.1,211000022280296
chrUn_DS484015v1 3234 unplaced primary NW_001845304.1,DS484015.1,211000022280115
chrUn_DS484017v1 3227 unplaced primary NW_001845306.1,DS484017.1,211000022279953
chrUn_DS484018v1 3223 unplaced primary NW_001845307.1,DS484018.1,211000022280588
chrUn_DS484020v1 3218 unplaced primary NW_001845309.1,DS484020.1,211000022279982
chrUn_DS484022v1 3209 unplaced primary NW_001845311.1,DS484022.1,211000022280008
chrUn_DS484025v1 3201 unplaced primary NW_001845314.1,DS484025.1,211000022279394
chrUn_DS484027v1 3197 unplaced primary NW_001845316.1,DS484027.1,211000022279265
chrUn_DS484028v1 3196 unplaced primary NW_001845317.1,DS484028.1,211000022279284
chrUn_DS484031v1 3190 unplaced primary NW_001845320.1,DS484031.1,211000022280557
chrUn_DS484036v1 3174 unplaced primary NW_001845325.1,DS484036.1,211000022280555
chrUn_DS484038v1 3171 unplaced primary NW_001845327.1,DS484038.1,211000022280456
chrUn_DS484039v1 3162 unplaced primary NW_001845328.1,DS484039.1,211000022278219
chrUn_DS484040v1 3159 unplaced primary NW_001845329.1,DS484040.1,211000022278438
chrUn_DS484041v1 3157 unplaced primary NW_001845330.1,DS484041.1,211000022279700
chrUn_DS484042v1 3156 unplaced primary NW_001845331.1,DS484042.1,211000022279868
chrUn_DS484044v1 3144 unplaced primary NW_001845333.1,DS484044.1,211000022280211
chrUn_DS484045v1 3129 unplaced primary NW_001845334.1,DS484045.1,211000022280467
chrUn_DS484047v1 3123 unplaced primary NW_001845336.1,DS484047.1,211000022279777
chrUn_DS484048v1 3120 unplaced primary NW_001845337.1,DS484048.1,211000022279169
chrUn_DS484050v1 3100 unplaced primary NW_001845339.1,DS484050.1,211000022278398
chrUn_DS484052v1 3089 unplaced primary NW_001845341.1,DS484052.1,211000022278280
chrUn_DS484053v1 3085 unplaced primary NW_001845342.1,DS484053.1,211000022280511
chrUn_DS484054v1 3080 unplaced primary NW_001845343.1,DS484054.1,211000022278785
chrUn_DS484055v1 3080 unplaced primary NW_001845344.1,DS484055.1,211000022280114
chrUn_DS484058v1 3073 unplaced primary NW_001845347.1,DS484058.1,211000022278164
chrUn_DS484059v1 3073 unplaced primary NW_001845348.1,DS484059.1,211000022279179
chrUn_DS484062v1 3058 unplaced primary NW_001845351.1,DS484062.1,211000022279784
chrUn_DS484064v1 3044 unplaced primary NW_001845353.1,DS484064.1,211000022280080
chrUn_DS484065v1 3043 unplaced primary NW_001845354.1,DS484065.1,211000022280261
chrUn_DS484066v1 3025 unplaced primary NW_001845355.1,DS484066.1,211000022280212
chrUn_DS484068v1 3013 unplaced primary NW_001845357.1,DS484068.1,211000022280577
chrUn_DS484069v1 3010 unplaced primary NW_001845358.1,DS484069.1,211000022278581
chrUn_DS484070v1 3009 unplaced primary NW_001845359.1,DS484070.1,211000022280093
chrUn_DS484073v1 2999 unplaced primary NW_001845362.1,DS484073.1,211000022278395
chrUn_DS484076v1 2991 unplaced primary NW_001845365.1,DS484076.1,211000022278744
chrUn_DS484077v1 2984 unplaced primary NW_001845366.1,DS484077.1,211000022278883
chrUn_DS484078v1 2982 unplaced primary NW_001845367.1,DS484078.1,211000022280086
chrUn_DS484079v1 2982 unplaced primary NW_001845368.1,DS484079.1,211000022280260
chrUn_DS484080v1 2971 unplaced primary NW_001845369.1,DS484080.1,211000022279837
chrUn_DS484083v1 2957 unplaced primary NW_001845372.1,DS484083.1,211000022279761
chrUn_DS484086v1 2943 unplaced primary NW_001845375.1,DS484086.1,211000022280035
chrUn_DS484087v1 2937 unplaced primary NW_001845376.1,DS484087.1,211000022279239
chrUn_DS484089v1 2928 unplaced primary NW_001845378.1,DS484089.1,211000022280037
chrUn_DS484090v1 2927 unplaced primary NW_001845379.1,DS484090.1,211000022280474
chrUn_DS484091v1 2926 unplaced primary NW_001845380.1,DS484091.1,211000022280316
chrUn_DS484092v1 2924 unplaced primary NW_001845381.1,DS484092.1,211000022280536
chrUn_DS484093v1 2922 unplaced primary NW_001845382.1,DS484093.1,211000022279442
chrUn_DS484095v1 2919 unplaced primary NW_001845384.1,DS484095.1,211000022280544
chrUn_DS484096v1 2916 unplaced primary NW_001845385.1,DS484096.1,211000022278554
chrUn_DS484097v1 2914 unplaced primary NW_001845386.1,DS484097.1,211000022280251
chrUn_DS484098v1 2911 unplaced primary NW_001845387.1,DS484098.1,211000022279488
chrUn_DS484100v1 2905 unplaced primary NW_001845389.1,DS484100.1,211000022278378
chrUn_DS484102v1 2903 unplaced primary NW_001845391.1,DS484102.1,211000022278952
chrUn_DS484104v1 2893 unplaced primary NW_001845393.1,DS484104.1,211000022280272
chrUn_DS484105v1 2889 unplaced primary NW_001845394.1,DS484105.1,211000022280010
chrUn_DS484106v1 2884 unplaced primary NW_001845395.1,DS484106.1,211000022279061
chrUn_DS484107v1 2882 unplaced primary NW_001845396.1,DS484107.1,211000022280205
chrUn_DS484108v1 2882 unplaced primary NW_001845397.1,DS484108.1,211000022280311
chrUn_DS484109v1 2882 unplaced primary NW_001845398.1,DS484109.1,211000022280012
chrUn_DS484111v1 2881 unplaced primary NW_001845400.1,DS484111.1,211000022279021
chrUn_DS484113v1 2876 unplaced primary NW_001845402.1,DS484113.1,211000022280610
chrUn_DS484116v1 2860 unplaced primary NW_001845405.1,DS484116.1,211000022280227
chrUn_DS484117v1 2860 unplaced primary NW_001845406.1,DS484117.1,211000022279867
chrUn_DS484118v1 2858 unplaced primary NW_001845407.1,DS484118.1,211000022279288
chrUn_DS484120v1 2855 unplaced primary NW_001845409.1,DS484120.1,211000022280333
chrUn_DS484122v1 2849 unplaced primary NW_001845411.1,DS484122.1,211000022278404
chrUn_DS484123v1 2848 unplaced primary NW_001845412.1,DS484123.1,211000022280436
chrUn_DS484134v1 2828 unplaced primary NW_001845423.1,DS484134.1,211000022280501
chrUn_DS484138v1 2822 unplaced primary NW_001845427.1,DS484138.1,211000022279964
chrUn_DS484139v1 2820 unplaced primary NW_001845428.1,DS484139.1,211000022278098
chrUn_DS484144v1 2811 unplaced primary NW_001845433.1,DS484144.1,211000022280469
chrUn_DS484145v1 2804 unplaced primary NW_001845434.1,DS484145.1,211000022280340
chrUn_DS484147v1 2796 unplaced primary NW_001845436.1,DS484147.1,211000022279948
chrUn_DS484148v1 2795 unplaced primary NW_001845437.1,DS484148.1,211000022279521
chrUn_DS484149v1 2795 unplaced primary NW_001845438.1,DS484149.1,211000022279416
chrUn_DS484151v1 2794 unplaced primary NW_001845440.1,DS484151.1,211000022280214
chrUn_DS484152v1 2793 unplaced primary NW_001845441.1,DS484152.1,211000022278975
chrUn_DS484153v1 2793 unplaced primary NW_001845442.1,DS484153.1,211000022279746
chrUn_DS484154v1 2791 unplaced primary NW_001845443.1,DS484154.1,211000022278923
chrUn_DS484155v1 2790 unplaced primary NW_001845444.1,DS484155.1,211000022279311
chrUn_DS484156v1 2788 unplaced primary NW_001845445.1,DS484156.1,211000022279623
chrUn_DS484157v1 2787 unplaced primary NW_001845446.1,DS484157.1,211000022279527
chrUn_DS484159v1 2784 unplaced primary NW_001845448.1,DS484159.1,211000022280171
chrUn_DS484160v1 2783 unplaced primary NW_001845449.1,DS484160.1,211000022278794
chrUn_DS484167v1 2745 unplaced primary NW_001845456.1,DS484167.1,211000022280497
chrUn_DS484168v1 2744 unplaced primary NW_001845457.1,DS484168.1,211000022278440
chrUn_DS484169v1 2736 unplaced primary NW_001845458.1,DS484169.1,211000022279562
chrUn_DS484170v1 2733 unplaced primary NW_001845459.1,DS484170.1,211000022278790
chrUn_DS484176v1 2708 unplaced primary NW_001845465.1,DS484176.1,211000022280707
chrUn_DS484177v1 2703 unplaced primary NW_001845466.1,DS484177.1,211000022279911
chrUn_DS484180v1 2697 unplaced primary NW_001845469.1,DS484180.1,211000022278421
chrUn_DS484183v1 2688 unplaced primary NW_001845472.1,DS484183.1,211000022279653
chrUn_DS484188v1 2670 unplaced primary NW_001845477.1,DS484188.1,211000022279157
chrUn_DS484189v1 2669 unplaced primary NW_001845478.1,DS484189.1,211000022279973
chrUn_DS484190v1 2668 unplaced primary NW_001845479.1,DS484190.1,211000022278546
chrUn_DS484191v1 2665 unplaced primary NW_001845480.1,DS484191.1,211000022278114
chrUn_DS484192v1 2664 unplaced primary NW_001845481.1,DS484192.1,211000022280108
chrUn_DS484193v1 2647 unplaced primary NW_001845482.1,DS484193.1,211000022279233
chrUn_DS484196v1 2644 unplaced primary NW_001845485.1,DS484196.1,211000022280284
chrUn_DS484202v1 2636 unplaced primary NW_001845491.1,DS484202.1,211000022278426
chrUn_DS484205v1 2629 unplaced primary NW_001845494.1,DS484205.1,211000022279602
chrUn_DS484206v1 2628 unplaced primary NW_001845495.1,DS484206.1,211000022280089
chrUn_DS484207v1 2626 unplaced primary NW_001845496.1,DS484207.1,211000022278937
chrUn_DS484209v1 2618 unplaced primary NW_001845498.1,DS484209.1,211000022280548
chrUn_DS484210v1 2617 unplaced primary NW_001845499.1,DS484210.1,211000022278732
chrUn_DS484212v1 2612 unplaced primary NW_001845501.1,DS484212.1,211000022280198
chrUn_DS484213v1 2611 unplaced primary NW_001845502.1,DS484213.1,211000022280137
chrUn_DS484217v1 2603 unplaced primary NW_001845506.1,DS484217.1,211000022280112
chrUn_DS484220v1 2588 unplaced primary NW_001845509.1,DS484220.1,211000022279003
chrUn_DS484221v1 2584 unplaced primary NW_001845510.1,DS484221.1,211000022280141
chrUn_DS484222v1 2583 unplaced primary NW_001845511.1,DS484222.1,211000022280535
chrUn_DS484224v1 2577 unplaced primary NW_001845513.1,DS484224.1,211000022280696
chrUn_DS484225v1 2577 unplaced primary NW_001845514.1,DS484225.1,211000022280520
chrUn_DS484226v1 2576 unplaced primary NW_001845515.1,DS484226.1,211000022278327
chrUn_DS484228v1 2575 unplaced primary NW_001845517.1,DS484228.1,211000022279190
chrUn_DS484229v1 2575 unplaced primary NW_001845518.1,DS484229.1,211000022278452
chrUn_DS484230v1 2575 unplaced primary NW_001845519.1,DS484230.1,211000022280443
chrUn_DS484231v1 2574 unplaced primary NW_001845520.1,DS484231.1,211000022279483
chrUn_DS484232v1 2570 unplaced primary NW_001845521.1,DS484232.1,211000022278738
chrUn_DS484234v1 2561 unplaced primary NW_001845523.1,DS484234.1,211000022280553
chrUn_DS484236v1 2556 unplaced primary NW_001845525.1,DS484236.1,211000022279513
chrUn_DS484238v1 2555 unplaced primary NW_001845527.1,DS484238.1,211000022279214
chrUn_DS484239v1 2549 unplaced primary NW_001845528.1,DS484239.1,211000022279191
chrUn_DS484241v1 2547 unplaced primary NW_001845530.1,DS484241.1,211000022279056
chrUn_DS484242v1 2541 unplaced primary NW_001845531.1,DS484242.1,211000022280218
chrUn_DS484243v1 2541 unplaced primary NW_001845532.1,DS484243.1,211000022278963
chrUn_DS484244v1 2536 unplaced primary NW_001845533.1,DS484244.1,211000022279373
chrUn_DS484246v1 2529 unplaced primary NW_001845535.1,DS484246.1,211000022279116
chrUn_DS484247v1 2529 unplaced primary NW_001845536.1,DS484247.1,211000022280485
chrUn_DS484251v1 2521 unplaced primary NW_001845540.1,DS484251.1,211000022278927
chrUn_DS484253v1 2520 unplaced primary NW_001845542.1,DS484253.1,211000022279573
chrUn_DS484254v1 2517 unplaced primary NW_001845543.1,DS484254.1,211000022279710
chrUn_DS484255v1 2516 unplaced primary NW_001845544.1,DS484255.1,211000022279898
chrUn_DS484256v1 2511 unplaced primary NW_001845545.1,DS484256.1,211000022280598
chrUn_DS484257v1 2511 unplaced primary NW_001845546.1,DS484257.1,211000022278282
chrUn_DS484258v1 2510 unplaced primary NW_001845547.1,DS484258.1,211000022279849
chrUn_DS484262v1 2491 unplaced primary NW_001845551.1,DS484262.1,211000022278740
chrUn_DS484263v1 2487 unplaced primary NW_001845552.1,DS484263.1,211000022279126
chrUn_DS484264v1 2479 unplaced primary NW_001845553.1,DS484264.1,211000022280033
chrUn_DS484267v1 2476 unplaced primary NW_001845556.1,DS484267.1,211000022279980
chrUn_DS484271v1 2470 unplaced primary NW_001845560.1,DS484271.1,211000022279866
chrUn_DS484274v1 2462 unplaced primary NW_001845563.1,DS484274.1,211000022279193
chrUn_DS484275v1 2451 unplaced primary NW_001845564.1,DS484275.1,211000022278664
chrUn_DS484276v1 2447 unplaced primary NW_001845565.1,DS484276.1,211000022279070
chrUn_DS484277v1 2442 unplaced primary NW_001845566.1,DS484277.1,211000022278493
chrUn_DS484279v1 2438 unplaced primary NW_001845568.1,DS484279.1,211000022279711
chrUn_DS484280v1 2438 unplaced primary NW_001845569.1,DS484280.1,211000022280492
chrUn_DS484281v1 2438 unplaced primary NW_001845570.1,DS484281.1,211000022279178
chrUn_DS484282v1 2435 unplaced primary NW_001845571.1,DS484282.1,211000022278858
chrUn_DS484283v1 2434 unplaced primary NW_001845572.1,DS484283.1,211000022279651
chrUn_DS484285v1 2431 unplaced primary NW_001845574.1,DS484285.1,211000022279850
chrUn_DS484286v1 2429 unplaced primary NW_001845575.1,DS484286.1,211000022279909
chrUn_DS484287v1 2428 unplaced primary NW_001845576.1,DS484287.1,211000022279780
chrUn_DS484289v1 2425 unplaced primary NW_001845578.1,DS484289.1,211000022280643
chrUn_DS484291v1 2421 unplaced primary NW_001845580.1,DS484291.1,211000022279436
chrUn_DS484292v1 2421 unplaced primary NW_001845581.1,DS484292.1,211000022280679
chrUn_DS484294v1 2419 unplaced primary NW_001845583.1,DS484294.1,211000022280626
chrUn_DS484296v1 2417 unplaced primary NW_001845585.1,DS484296.1,211000022280561
chrUn_DS484300v1 2400 unplaced primary NW_001845589.1,DS484300.1,211000022279960
chrUn_DS484301v1 2394 unplaced primary NW_001845590.1,DS484301.1,211000022279000
chrUn_DS484303v1 2390 unplaced primary NW_001845592.1,DS484303.1,211000022278507
chrUn_DS484304v1 2390 unplaced primary NW_001845593.1,DS484304.1,211000022278335
chrUn_DS484306v1 2385 unplaced primary NW_001845595.1,DS484306.1,211000022280144
chrUn_DS484307v1 2385 unplaced primary NW_001845596.1,DS484307.1,211000022279635
chrUn_DS484308v1 2385 unplaced primary NW_001845597.1,DS484308.1,211000022280302
chrUn_DS484309v1 2384 unplaced primary NW_001845598.1,DS484309.1,211000022278942
chrUn_DS484310v1 2383 unplaced primary NW_001845599.1,DS484310.1,211000022279122
chrUn_DS484311v1 2383 unplaced primary NW_001845600.1,DS484311.1,211000022278716
chrUn_DS484312v1 2382 unplaced primary NW_001845601.1,DS484312.1,211000022279247
chrUn_DS484313v1 2381 unplaced primary NW_001845602.1,DS484313.1,211000022278869
chrUn_DS484314v1 2381 unplaced primary NW_001845603.1,DS484314.1,211000022279810
chrUn_DS484315v1 2379 unplaced primary NW_001845604.1,DS484315.1,211000022279259
chrUn_DS484317v1 2378 unplaced primary NW_001845606.1,DS484317.1,211000022280747
chrUn_DS484318v1 2375 unplaced primary NW_001845607.1,DS484318.1,211000022280289
chrUn_DS484320v1 2369 unplaced primary NW_001845609.1,DS484320.1,211000022279197
chrUn_DS484321v1 2368 unplaced primary NW_001845610.1,DS484321.1,211000022280208
chrUn_DS484329v1 2354 unplaced primary NW_001845618.1,DS484329.1,211000022278387
chrUn_DS484331v1 2352 unplaced primary NW_001845620.1,DS484331.1,211000022279058
chrUn_DS484333v1 2344 unplaced primary NW_001845622.1,DS484333.1,211000022278934
chrUn_DS484335v1 2342 unplaced primary NW_001845624.1,DS484335.1,211000022280228
chrUn_DS484339v1 2330 unplaced primary NW_001845628.1,DS484339.1,211000022278220
chrUn_DS484340v1 2328 unplaced primary NW_001845629.1,DS484340.1,211000022279612
chrUn_DS484342v1 2326 unplaced primary NW_001845631.1,DS484342.1,211000022279966
chrUn_DS484343v1 2325 unplaced primary NW_001845632.1,DS484343.1,211000022280058
chrUn_DS484348v1 2308 unplaced primary NW_001845637.1,DS484348.1,211000022279787
chrUn_DS484350v1 2304 unplaced primary NW_001845639.1,DS484350.1,211000022278536
chrUn_DS484353v1 2295 unplaced primary NW_001845642.1,DS484353.1,211000022280580
chrUn_DS484355v1 2291 unplaced primary NW_001845644.1,DS484355.1,211000022279011
chrUn_DS484363v1 2270 unplaced primary NW_001845652.1,DS484363.1,211000022280698
chrUn_DS484366v1 2266 unplaced primary NW_001845655.1,DS484366.1,211000022278178
chrUn_DS484369v1 2253 unplaced primary NW_001845658.1,DS484369.1,211000022278860
chrUn_DS484370v1 2248 unplaced primary NW_001845659.1,DS484370.1,211000022279479
chrUn_DS484375v1 2234 unplaced primary NW_001845664.1,DS484375.1,211000022280568
chrUn_DS484378v1 2232 unplaced primary NW_001845667.1,DS484378.1,211000022279949
chrUn_DS484380v1 2227 unplaced primary NW_001845669.1,DS484380.1,211000022278953
chrUn_DS484383v1 2221 unplaced primary NW_001845672.1,DS484383.1,211000022278672
chrUn_DS484385v1 2217 unplaced primary NW_001845674.1,DS484385.1,211000022279101
chrUn_DS484386v1 2216 unplaced primary NW_001845675.1,DS484386.1,211000022280621
chrUn_DS484389v1 2207 unplaced primary NW_001845678.1,DS484389.1,211000022279929
chrUn_DS484391v1 2205 unplaced primary NW_001845680.1,DS484391.1,211000022280599
chrUn_DS484394v1 2200 unplaced primary NW_001845683.1,DS484394.1,211000022278888
chrUn_DS484395v1 2198 unplaced primary NW_001845684.1,DS484395.1,211000022280153
chrUn_DS484396v1 2198 unplaced primary NW_001845685.1,DS484396.1,211000022279118
chrUn_DS484400v1 2190 unplaced primary NW_001845689.1,DS484400.1,211000022279039
chrUn_DS484403v1 2187 unplaced primary NW_001845692.1,DS484403.1,211000022279476
chrUn_DS484404v1 2185 unplaced primary NW_001845693.1,DS484404.1,211000022278652
chrUn_DS484407v1 2176 unplaced primary NW_001845696.1,DS484407.1,211000022278205
chrUn_DS484408v1 2173 unplaced primary NW_001845697.1,DS484408.1,211000022280223
chrUn_DS484412v1 2161 unplaced primary NW_001845701.1,DS484412.1,211000022280133
chrUn_DS484414v1 2157 unplaced primary NW_001845703.1,DS484414.1,211000022280500
chrUn_DS484421v1 2129 unplaced primary NW_001845710.1,DS484421.1,211000022280176
chrUn_DS484424v1 2124 unplaced primary NW_001845713.1,DS484424.1,211000022280135
chrUn_DS484425v1 2124 unplaced primary NW_001845714.1,DS484425.1,211000022279663
chrUn_DS484426v1 2119 unplaced primary NW_001845715.1,DS484426.1,211000022280631
chrUn_DS484427v1 2117 unplaced primary NW_001845716.1,DS484427.1,211000022279756
chrUn_DS484432v1 2112 unplaced primary NW_001845721.1,DS484432.1,211000022280617
chrUn_DS484434v1 2108 unplaced primary NW_001845723.1,DS484434.1,211000022280070
chrUn_DS484435v1 2105 unplaced primary NW_001845724.1,DS484435.1,211000022279470
chrUn_DS484436v1 2105 unplaced primary NW_001845725.1,DS484436.1,211000022278968
chrUn_DS484437v1 2103 unplaced primary NW_001845726.1,DS484437.1,211000022279310
chrUn_DS484438v1 2102 unplaced primary NW_001845727.1,DS484438.1,211000022279807
chrUn_DS484443v1 2094 unplaced primary NW_001845732.1,DS484443.1,211000022278874
chrUn_DS484445v1 2092 unplaced primary NW_001845734.1,DS484445.1,211000022279044
chrUn_DS484446v1 2090 unplaced primary NW_001845735.1,DS484446.1,211000022278206
chrUn_DS484448v1 2088 unplaced primary NW_001845737.1,DS484448.1,211000022278138
chrUn_DS484449v1 2087 unplaced primary NW_001845738.1,DS484449.1,211000022279804
chrUn_DS484452v1 2086 unplaced primary NW_001845741.1,DS484452.1,211000022278522
chrUn_DS484454v1 2084 unplaced primary NW_001845743.1,DS484454.1,211000022278711
chrUn_DS484456v1 2081 unplaced primary NW_001845745.1,DS484456.1,211000022278919
chrUn_DS484458v1 2079 unplaced primary NW_001845747.1,DS484458.1,211000022279942
chrUn_DS484460v1 2076 unplaced primary NW_001845749.1,DS484460.1,211000022278216
chrUn_DS484463v1 2064 unplaced primary NW_001845752.1,DS484463.1,211000022279641
chrUn_DS484464v1 2063 unplaced primary NW_001845753.1,DS484464.1,211000022280294
chrUn_DS484466v1 2062 unplaced primary NW_001845755.1,DS484466.1,211000022280143
chrUn_DS484467v1 2060 unplaced primary NW_001845756.1,DS484467.1,211000022279517
chrUn_DS484469v1 2060 unplaced primary NW_001845758.1,DS484469.1,211000022279096
chrUn_DS484470v1 2059 unplaced primary NW_001845759.1,DS484470.1,211000022278506
chrUn_DS484471v1 2050 unplaced primary NW_001845760.1,DS484471.1,211000022279733
chrUn_DS484472v1 2046 unplaced primary NW_001845761.1,DS484472.1,211000022279376
chrUn_DS484475v1 2043 unplaced primary NW_001845764.1,DS484475.1,211000022278439
chrUn_DS484478v1 2033 unplaced primary NW_001845767.1,DS484478.1,211000022278780
chrUn_DS484479v1 2033 unplaced primary NW_001845768.1,DS484479.1,211000022278922
chrUn_DS484480v1 2030 unplaced primary NW_001845769.1,DS484480.1,211000022279198
chrUn_DS484481v1 2027 unplaced primary NW_001845770.1,DS484481.1,211000022278707
chrUn_DS484484v1 2020 unplaced primary NW_001845773.1,DS484484.1,211000022278047
chrUn_DS484485v1 2017 unplaced primary NW_001845774.1,DS484485.1,211000022278284
chrUn_DS484486v1 2014 unplaced primary NW_001845775.1,DS484486.1,211000022280151
chrUn_DS484487v1 2010 unplaced primary NW_001845776.1,DS484487.1,211000022279237
chrUn_DS484489v1 2008 unplaced primary NW_001845778.1,DS484489.1,211000022278120
chrUn_DS484490v1 2006 unplaced primary NW_001845779.1,DS484490.1,211000022278254
chrUn_DS484491v1 2006 unplaced primary NW_001845780.1,DS484491.1,211000022280192
chrUn_DS484493v1 2005 unplaced primary NW_001845782.1,DS484493.1,211000022278589
chrUn_DS484496v1 1998 unplaced primary NW_001845785.1,DS484496.1,211000022278362
chrUn_DS484498v1 1998 unplaced primary NW_001845787.1,DS484498.1,211000022279162
chrUn_DS484499v1 1995 unplaced primary NW_001845788.1,DS484499.1,211000022279654
chrUn_DS484501v1 1990 unplaced primary NW_001845790.1,DS484501.1,211000022279130
chrUn_DS484502v1 1990 unplaced primary NW_001845791.1,DS484502.1,211000022279820
chrUn_DS484503v1 1988 unplaced primary NW_001845792.1,DS484503.1,211000022279712
chrUn_DS484505v1 1986 unplaced primary NW_001845794.1,DS484505.1,211000022278515
chrUn_DS484508v1 1976 unplaced primary NW_001845797.1,DS484508.1,211000022278982
chrUn_DS484509v1 1976 unplaced primary NW_001845798.1,DS484509.1,211000022279851
chrUn_DS484510v1 1975 unplaced primary NW_001845799.1,DS484510.1,211000022279282
chrUn_DS484511v1 1974 unplaced primary NW_001845800.1,DS484511.1,211000022278271
chrUn_DS484513v1 1966 unplaced primary NW_001845802.1,DS484513.1,211000022279889
chrUn_DS484514v1 1966 unplaced primary NW_001845803.1,DS484514.1,211000022279217
chrUn_DS484515v1 1966 unplaced primary NW_001845804.1,DS484515.1,211000022278678
chrUn_DS484520v1 1962 unplaced primary NW_001845809.1,DS484520.1,211000022279571
chrUn_DS484521v1 1962 unplaced primary NW_001845810.1,DS484521.1,211000022280269
chrUn_DS484522v1 1962 unplaced primary NW_001845811.1,DS484522.1,211000022278528
chrUn_DS484524v1 1961 unplaced primary NW_001845813.1,DS484524.1,211000022279628
chrUn_DS484525v1 1961 unplaced primary NW_001845814.1,DS484525.1,211000022280195
chrUn_DS484527v1 1956 unplaced primary NW_001845816.1,DS484527.1,211000022278211
chrUn_DS484528v1 1947 unplaced primary NW_001845817.1,DS484528.1,211000022279900
chrUn_DS484532v1 1945 unplaced primary NW_001845821.1,DS484532.1,211000022278446
chrUn_DS484534v1 1943 unplaced primary NW_001845823.1,DS484534.1,211000022280028
chrUn_DS484539v1 1936 unplaced primary NW_001845828.1,DS484539.1,211000022280605
chrUn_DS484542v1 1933 unplaced primary NW_001845831.1,DS484542.1,211000022279228
chrUn_DS484543v1 1931 unplaced primary NW_001845832.1,DS484543.1,211000022280301
chrUn_DS484544v1 1929 unplaced primary NW_001845833.1,DS484544.1,211000022279627
chrUn_DS484546v1 1928 unplaced primary NW_001845835.1,DS484546.1,211000022278304
chrUn_DS484548v1 1926 unplaced primary NW_001845837.1,DS484548.1,211000022278406
chrUn_DS484549v1 1926 unplaced primary NW_001845838.1,DS484549.1,211000022278890
chrUn_DS484550v1 1924 unplaced primary NW_001845839.1,DS484550.1,211000022279366
chrUn_DS484553v1 1917 unplaced primary NW_001845842.1,DS484553.1,211000022279657
chrUn_DS484557v1 1907 unplaced primary NW_001845846.1,DS484557.1,211000022279969
chrUn_DS484559v1 1905 unplaced primary NW_001845848.1,DS484559.1,211000022278929
chrUn_DS484561v1 1903 unplaced primary NW_001845850.1,DS484561.1,211000022279285
chrUn_DS484565v1 1901 unplaced primary NW_001845854.1,DS484565.1,211000022279473
chrUn_DS484566v1 1900 unplaced primary NW_001845855.1,DS484566.1,211000022279158
chrUn_DS484567v1 1900 unplaced primary NW_001845856.1,DS484567.1,211000022278435
chrUn_DS484571v1 1893 unplaced primary NW_001845860.1,DS484571.1,211000022278274
chrUn_DS484573v1 1890 unplaced primary NW_001845862.1,DS484573.1,211000022280293
chrUn_DS484577v1 1882 unplaced primary NW_001845866.1,DS484577.1,211000022279029
chrUn_DS484578v1 1872 unplaced primary NW_001845867.1,DS484578.1,211000022278988
chrUn_DS484579v1 1872 unplaced primary NW_001845868.1,DS484579.1,211000022279199
chrUn_DS484581v1 1870 unplaced primary NW_001845870.1,DS484581.1,211000022280347
chrUn_DS484584v1 1869 unplaced primary NW_001845873.1,DS484584.1,211000022279921
chrUn_DS484588v1 1863 unplaced primary NW_001845877.1,DS484588.1,211000022279538
chrUn_DS484591v1 1854 unplaced primary NW_001845880.1,DS484591.1,211000022279574
chrUn_DS484592v1 1851 unplaced primary NW_001845881.1,DS484592.1,211000022280344
chrUn_DS484593v1 1849 unplaced primary NW_001845882.1,DS484593.1,211000022279139
chrUn_DS484595v1 1843 unplaced primary NW_001845884.1,DS484595.1,211000022279192
chrUn_DS484601v1 1832 unplaced primary NW_001845890.1,DS484601.1,211000022279097
chrUn_DS484602v1 1832 unplaced primary NW_001845891.1,DS484602.1,211000022280220
chrUn_DS484606v1 1826 unplaced primary NW_001845895.1,DS484606.1,211000022279002
chrUn_DS484607v1 1819 unplaced primary NW_001845896.1,DS484607.1,211000022279971
chrUn_DS484614v1 1806 unplaced primary NW_001845903.1,DS484614.1,211000022279745
chrUn_DS484616v1 1802 unplaced primary NW_001845905.1,DS484616.1,211000022280320
chrUn_DS484617v1 1801 unplaced primary NW_001845906.1,DS484617.1,211000022280326
chrUn_DS484619v1 1800 unplaced primary NW_001845908.1,DS484619.1,211000022279633
chrUn_DS484621v1 1797 unplaced primary NW_001845910.1,DS484621.1,211000022280161
chrUn_DS484629v1 1785 unplaced primary NW_001845918.1,DS484629.1,211000022279121
chrUn_DS484630v1 1776 unplaced primary NW_001845919.1,DS484630.1,211000022279858
chrUn_DS484632v1 1775 unplaced primary NW_001845921.1,DS484632.1,211000022279230
chrUn_DS484635v1 1770 unplaced primary NW_001845924.1,DS484635.1,211000022279481
chrUn_DS484639v1 1761 unplaced primary NW_001845928.1,DS484639.1,211000022279208
chrUn_DS484642v1 1754 unplaced primary NW_001845931.1,DS484642.1,211000022279049
chrUn_DS484646v1 1747 unplaced primary NW_001845935.1,DS484646.1,211000022279159
chrUn_DS484649v1 1738 unplaced primary NW_001845938.1,DS484649.1,211000022280298
chrUn_DS484651v1 1734 unplaced primary NW_001845940.1,DS484651.1,211000022279337
chrUn_DS484652v1 1733 unplaced primary NW_001845941.1,DS484652.1,211000022280700
chrUn_DS484653v1 1732 unplaced primary NW_001845942.1,DS484653.1,211000022278388
chrUn_DS484654v1 1728 unplaced primary NW_001845943.1,DS484654.1,211000022278992
chrUn_DS484656v1 1724 unplaced primary NW_001845945.1,DS484656.1,211000022279931
chrUn_DS484658v1 1719 unplaced primary NW_001845947.1,DS484658.1,211000022279450
chrUn_DS484659v1 1719 unplaced primary NW_001845948.1,DS484659.1,211000022278559
chrUn_DS484661v1 1716 unplaced primary NW_001845950.1,DS484661.1,211000022280160
chrUn_DS484662v1 1715 unplaced primary NW_001845951.1,DS484662.1,211000022280247
chrUn_DS484663v1 1714 unplaced primary NW_001845952.1,DS484663.1,211000022278132
chrUn_DS484667v1 1710 unplaced primary NW_001845956.1,DS484667.1,211000022278306
chrUn_DS484671v1 1703 unplaced primary NW_001845960.1,DS484671.1,211000022279896
chrUn_DS484673v1 1696 unplaced primary NW_001845962.1,DS484673.1,211000022279575
chrUn_DS484678v1 1685 unplaced primary NW_001845967.1,DS484678.1,211000022279490
chrUn_DS484685v1 1675 unplaced primary NW_001845974.1,DS484685.1,211000022279970
chrUn_DS484686v1 1667 unplaced primary NW_001845975.1,DS484686.1,211000022279788
chrUn_DS484689v1 1650 unplaced primary NW_001845978.1,DS484689.1,211000022278224
chrUn_DS484692v1 1643 unplaced primary NW_001845981.1,DS484692.1,211000022279934
chrUn_DS484693v1 1641 unplaced primary NW_001845982.1,DS484693.1,211000022280074
chrUn_DS484699v1 1629 unplaced primary NW_001845988.1,DS484699.1,211000022280315
chrUn_DS484700v1 1625 unplaced primary NW_001845989.1,DS484700.1,211000022280226
chrUn_DS484707v1 1614 unplaced primary NW_001845996.1,DS484707.1,211000022278298
chrUn_DS484709v1 1611 unplaced primary NW_001845998.1,DS484709.1,211000022278979
chrUn_DS484710v1 1610 unplaced primary NW_001845999.1,DS484710.1,211000022278754
chrUn_DS484712v1 1610 unplaced primary NW_001846001.1,DS484712.1,211000022279839
chrUn_DS484713v1 1608 unplaced primary NW_001846002.1,DS484713.1,211000022278969
chrUn_DS484714v1 1597 unplaced primary NW_001846003.1,DS484714.1,211000022280297
chrUn_DS484716v1 1594 unplaced primary NW_001846005.1,DS484716.1,211000022278376
chrUn_DS484718v1 1586 unplaced primary NW_001846007.1,DS484718.1,211000022280131
chrUn_DS484720v1 1586 unplaced primary NW_001846009.1,DS484720.1,211000022278525
chrUn_DS484721v1 1581 unplaced primary NW_001846010.1,DS484721.1,211000022279040
chrUn_DS484722v1 1577 unplaced primary NW_001846011.1,DS484722.1,211000022279691
chrUn_DS484726v1 1571 unplaced primary NW_001846015.1,DS484726.1,211000022278176
chrUn_DS484727v1 1567 unplaced primary NW_001846016.1,DS484727.1,211000022278597
chrUn_DS484728v1 1566 unplaced primary NW_001846017.1,DS484728.1,211000022278866
chrUn_DS484729v1 1560 unplaced primary NW_001846018.1,DS484729.1,211000022280292
chrUn_DS484734v1 1555 unplaced primary NW_001846023.1,DS484734.1,211000022280196
chrUn_DS484735v1 1553 unplaced primary NW_001846024.1,DS484735.1,211000022280694
chrUn_DS484736v1 1552 unplaced primary NW_001846025.1,DS484736.1,211000022278334
chrUn_DS484738v1 1550 unplaced primary NW_001846027.1,DS484738.1,211000022278891
chrUn_DS484739v1 1549 unplaced primary NW_001846028.1,DS484739.1,211000022278521
chrUn_DS484742v1 1543 unplaced primary NW_001846031.1,DS484742.1,211000022279842
chrUn_DS484746v1 1540 unplaced primary NW_001846035.1,DS484746.1,211000022278244
chrUn_DS484748v1 1538 unplaced primary NW_001846037.1,DS484748.1,211000022279246
chrUn_DS484750v1 1533 unplaced primary NW_001846039.1,DS484750.1,211000022280159
chrUn_DS484751v1 1533 unplaced primary NW_001846040.1,DS484751.1,211000022278451
chrUn_DS484752v1 1532 unplaced primary NW_001846041.1,DS484752.1,211000022279671
chrUn_DS484754v1 1527 unplaced primary NW_001846043.1,DS484754.1,211000022280325
chrUn_DS484756v1 1525 unplaced primary NW_001846045.1,DS484756.1,211000022278307
chrUn_DS484760v1 1521 unplaced primary NW_001846049.1,DS484760.1,211000022278947
chrUn_DS484762v1 1520 unplaced primary NW_001846051.1,DS484762.1,211000022280221
chrUn_DS484764v1 1518 unplaced primary NW_001846053.1,DS484764.1,211000022278733
chrUn_DS484769v1 1508 unplaced primary NW_001846058.1,DS484769.1,211000022278210
chrUn_DS484770v1 1504 unplaced primary NW_001846059.1,DS484770.1,211000022278182
chrUn_DS484771v1 1504 unplaced primary NW_001846060.1,DS484771.1,211000022278786
chrUn_DS484772v1 1502 unplaced primary NW_001846061.1,DS484772.1,211000022278594
chrUn_DS484773v1 1494 unplaced primary NW_001846062.1,DS484773.1,211000022280102
chrUn_DS484774v1 1492 unplaced primary NW_001846063.1,DS484774.1,211000022279619
chrUn_DS484776v1 1490 unplaced primary NW_001846065.1,DS484776.1,211000022278721
chrUn_DS484779v1 1487 unplaced primary NW_001846068.1,DS484779.1,211000022279540
chrUn_DS484780v1 1487 unplaced primary NW_001846069.1,DS484780.1,211000022280338
chrUn_DS484782v1 1484 unplaced primary NW_001846071.1,DS484782.1,211000022279207
chrUn_DS484787v1 1475 unplaced primary NW_001846076.1,DS484787.1,211000022278456
chrUn_DS484789v1 1473 unplaced primary NW_001846078.1,DS484789.1,211000022280031
chrUn_DS484792v1 1471 unplaced primary NW_001846081.1,DS484792.1,211000022280235
chrUn_DS484796v1 1468 unplaced primary NW_001846085.1,DS484796.1,211000022279152
chrUn_DS484797v1 1467 unplaced primary NW_001846086.1,DS484797.1,211000022279904
chrUn_DS484798v1 1466 unplaced primary NW_001846087.1,DS484798.1,211000022278550
chrUn_DS484799v1 1464 unplaced primary NW_001846088.1,DS484799.1,211000022279696
chrUn_DS484802v1 1462 unplaced primary NW_001846091.1,DS484802.1,211000022279664
chrUn_DS484804v1 1461 unplaced primary NW_001846093.1,DS484804.1,211000022279509
chrUn_DS484806v1 1458 unplaced primary NW_001846095.1,DS484806.1,211000022279204
chrUn_DS484812v1 1451 unplaced primary NW_001846101.1,DS484812.1,211000022279793
chrUn_DS484815v1 1446 unplaced primary NW_001846104.1,DS484815.1,211000022279875
chrUn_DS484816v1 1446 unplaced primary NW_001846105.1,DS484816.1,211000022278286
chrUn_DS484817v1 1445 unplaced primary NW_001846106.1,DS484817.1,211000022279522
chrUn_DS484822v1 1436 unplaced primary NW_001846111.1,DS484822.1,211000022278262
chrUn_DS484825v1 1432 unplaced primary NW_001846114.1,DS484825.1,211000022278568
chrUn_DS484827v1 1432 unplaced primary NW_001846116.1,DS484827.1,211000022278139
chrUn_DS484828v1 1430 unplaced primary NW_001846117.1,DS484828.1,211000022279748
chrUn_DS484831v1 1429 unplaced primary NW_001846120.1,DS484831.1,211000022279600
chrUn_DS484834v1 1424 unplaced primary NW_001846123.1,DS484834.1,211000022279749
chrUn_DS484836v1 1424 unplaced primary NW_001846125.1,DS484836.1,211000022280009
chrUn_DS484838v1 1422 unplaced primary NW_001846127.1,DS484838.1,211000022279507
chrUn_DS484841v1 1416 unplaced primary NW_001846130.1,DS484841.1,211000022278366
chrUn_DS484842v1 1416 unplaced primary NW_001846131.1,DS484842.1,211000022278420
chrUn_DS484843v1 1416 unplaced primary NW_001846132.1,DS484843.1,211000022278558
chrUn_DS484844v1 1415 unplaced primary NW_001846133.1,DS484844.1,211000022278548
chrUn_DS484846v1 1412 unplaced primary NW_001846135.1,DS484846.1,211000022278949
chrUn_DS484847v1 1411 unplaced primary NW_001846136.1,DS484847.1,211000022279464
chrUn_DS484848v1 1410 unplaced primary NW_001846137.1,DS484848.1,211000022280706
chrUn_DS484851v1 1408 unplaced primary NW_001846140.1,DS484851.1,211000022279454
chrUn_DS484852v1 1407 unplaced primary NW_001846141.1,DS484852.1,211000022279529
chrUn_DS484853v1 1406 unplaced primary NW_001846142.1,DS484853.1,211000022280336
chrUn_DS484855v1 1404 unplaced primary NW_001846144.1,DS484855.1,211000022278167
chrUn_DS484861v1 1395 unplaced primary NW_001846150.1,DS484861.1,211000022278038
chrUn_DS484862v1 1394 unplaced primary NW_001846151.1,DS484862.1,211000022280322
chrUn_DS484865v1 1391 unplaced primary NW_001846154.1,DS484865.1,211000022280644
chrUn_DS484866v1 1391 unplaced primary NW_001846155.1,DS484866.1,211000022278593
chrUn_DS484869v1 1391 unplaced primary NW_001846158.1,DS484869.1,211000022279694
chrUn_DS484870v1 1386 unplaced primary NW_001846159.1,DS484870.1,211000022280346
chrUn_DS484872v1 1385 unplaced primary NW_001846161.1,DS484872.1,211000022280676
chrUn_DS484874v1 1384 unplaced primary NW_001846163.1,DS484874.1,211000022279737
chrUn_DS484878v1 1381 unplaced primary NW_001846167.1,DS484878.1,211000022279890
chrUn_DS484881v1 1380 unplaced primary NW_001846170.1,DS484881.1,211000022278256
chrUn_DS484882v1 1379 unplaced primary NW_001846171.1,DS484882.1,211000022279593
chrUn_DS484884v1 1378 unplaced primary NW_001846173.1,DS484884.1,211000022278676
chrUn_DS484886v1 1377 unplaced primary NW_001846175.1,DS484886.1,211000022279393
chrUn_DS484887v1 1377 unplaced primary NW_001846176.1,DS484887.1,211000022280181
chrUn_DS484888v1 1377 unplaced primary NW_001846177.1,DS484888.1,211000022280071
chrUn_DS484889v1 1377 unplaced primary NW_001846178.1,DS484889.1,211000022279433
chrUn_DS484894v1 1375 unplaced primary NW_001846183.1,DS484894.1,211000022279371
chrUn_DS484895v1 1374 unplaced primary NW_001846184.1,DS484895.1,211000022279023
chrUn_DS484896v1 1374 unplaced primary NW_001846185.1,DS484896.1,211000022278575
chrUn_DS484897v1 1373 unplaced primary NW_001846186.1,DS484897.1,211000022278689
chrUn_DS484898v1 1371 unplaced primary NW_001846187.1,DS484898.1,211000022280341
chrUn_DS484899v1 1369 unplaced primary NW_001846188.1,DS484899.1,211000022279324
chrUn_DS484901v1 1368 unplaced primary NW_001846190.1,DS484901.1,211000022280030
chrUn_DS484904v1 1366 unplaced primary NW_001846193.1,DS484904.1,211000022278413
chrUn_DS484910v1 1356 unplaced primary NW_001846199.1,DS484910.1,211000022279365
chrUn_DS484916v1 1352 unplaced primary NW_001846205.1,DS484916.1,211000022279100
chrUn_DS484917v1 1351 unplaced primary NW_001846206.1,DS484917.1,211000022280327
chrUn_DS484919v1 1347 unplaced primary NW_001846208.1,DS484919.1,211000022279415
chrUn_DS484920v1 1347 unplaced primary NW_001846209.1,DS484920.1,211000022278757
chrUn_DS484921v1 1346 unplaced primary NW_001846210.1,DS484921.1,211000022278157
chrUn_DS484922v1 1344 unplaced primary NW_001846211.1,DS484922.1,211000022278793
chrUn_DS484923v1 1343 unplaced primary NW_001846212.1,DS484923.1,211000022278127
chrUn_DS484926v1 1340 unplaced primary NW_001846215.1,DS484926.1,211000022280343
chrUn_DS484927v1 1340 unplaced primary NW_001846216.1,DS484927.1,211000022280162
chrUn_DS484929v1 1339 unplaced primary NW_001846218.1,DS484929.1,211000022279421
chrUn_DS484930v1 1339 unplaced primary NW_001846219.1,DS484930.1,211000022280206
chrUn_DS484932v1 1337 unplaced primary NW_001846221.1,DS484932.1,211000022279871
chrUn_DS484933v1 1337 unplaced primary NW_001846222.1,DS484933.1,211000022278212
chrUn_DS484938v1 1334 unplaced primary NW_001846227.1,DS484938.1,211000022278151
chrUn_DS484940v1 1333 unplaced primary NW_001846229.1,DS484940.1,211000022280140
chrUn_DS484941v1 1333 unplaced primary NW_001846230.1,DS484941.1,211000022279274
chrUn_DS484943v1 1332 unplaced primary NW_001846232.1,DS484943.1,211000022279685
chrUn_DS484944v1 1330 unplaced primary NW_001846233.1,DS484944.1,211000022278144
chrUn_DS484948v1 1328 unplaced primary NW_001846237.1,DS484948.1,211000022278865
chrUn_DS484954v1 1323 unplaced primary NW_001846243.1,DS484954.1,211000022279516
chrUn_DS484960v1 1316 unplaced primary NW_001846249.1,DS484960.1,211000022279106
chrUn_DS484962v1 1315 unplaced primary NW_001846251.1,DS484962.1,211000022279343
chrUn_DS484964v1 1315 unplaced primary NW_001846253.1,DS484964.1,211000022278194
chrUn_DS484967v1 1311 unplaced primary NW_001846256.1,DS484967.1,211000022279362
chrUn_DS484972v1 1310 unplaced primary NW_001846261.1,DS484972.1,211000022278204
chrUn_DS484976v1 1308 unplaced primary NW_001846265.1,DS484976.1,211000022278714
chrUn_DS484979v1 1304 unplaced primary NW_001846268.1,DS484979.1,211000022278899
chrUn_DS484982v1 1304 unplaced primary NW_001846271.1,DS484982.1,211000022279143
chrUn_DS484984v1 1304 unplaced primary NW_001846273.1,DS484984.1,211000022279354
chrUn_DS484985v1 1303 unplaced primary NW_001846274.1,DS484985.1,211000022278894
chrUn_DS484987v1 1302 unplaced primary NW_001846276.1,DS484987.1,211000022278915
chrUn_DS484988v1 1301 unplaced primary NW_001846277.1,DS484988.1,211000022278408
chrUn_DS484991v1 1299 unplaced primary NW_001846280.1,DS484991.1,211000022279048
chrUn_DS484993v1 1297 unplaced primary NW_001846282.1,DS484993.1,211000022278574
chrUn_DS484998v1 1294 unplaced primary NW_001846287.1,DS484998.1,211000022279699
chrUn_DS484999v1 1294 unplaced primary NW_001846288.1,DS484999.1,211000022278735
chrUn_DS485000v1 1293 unplaced primary NW_001846289.1,DS485000.1,211000022278962
chrUn_DS485002v1 1291 unplaced primary NW_001846291.1,DS485002.1,211000022280191
chrUn_DS485004v1 1290 unplaced primary NW_001846293.1,DS485004.1,211000022279723
chrUn_DS485005v1 1289 unplaced primary NW_001846294.1,DS485005.1,211000022279087
chrUn_DS485007v1 1287 unplaced primary NW_001846296.1,DS485007.1,211000022279318
chrUn_DS485010v1 1286 unplaced primary NW_001846299.1,DS485010.1,211000022279692
chrUn_DS485011v1 1285 unplaced primary NW_001846300.1,DS485011.1,211000022279580
chrUn_DS485019v1 1280 unplaced primary NW_001846308.1,DS485019.1,211000022278604
chrUn_DS485020v1 1280 unplaced primary NW_001846309.1,DS485020.1,211000022279770
chrUn_DS485022v1 1279 unplaced primary NW_001846311.1,DS485022.1,211000022279926
chrUn_DS485024v1 1278 unplaced primary NW_001846313.1,DS485024.1,211000022278338
chrUn_DS485025v1 1278 unplaced primary NW_001846314.1,DS485025.1,211000022279411
chrUn_DS485026v1 1278 unplaced primary NW_001846315.1,DS485026.1,211000022278980
chrUn_DS485027v1 1277 unplaced primary NW_001846316.1,DS485027.1,211000022279182
chrUn_DS485029v1 1277 unplaced primary NW_001846318.1,DS485029.1,211000022278348
chrUn_DS485030v1 1276 unplaced primary NW_001846319.1,DS485030.1,211000022280152
chrUn_DS485031v1 1275 unplaced primary NW_001846320.1,DS485031.1,211000022279708
chrUn_DS485032v1 1275 unplaced primary NW_001846321.1,DS485032.1,211000022279805
chrUn_DS485035v1 1274 unplaced primary NW_001846324.1,DS485035.1,211000022280262
chrUn_DS485036v1 1274 unplaced primary NW_001846325.1,DS485036.1,211000022279656
chrUn_DS485038v1 1272 unplaced primary NW_001846327.1,DS485038.1,211000022278356
chrUn_DS485041v1 1271 unplaced primary NW_001846330.1,DS485041.1,211000022280174
chrUn_DS485045v1 1271 unplaced primary NW_001846334.1,DS485045.1,211000022279378
chrUn_DS485046v1 1270 unplaced primary NW_001846335.1,DS485046.1,211000022279724
chrUn_DS485047v1 1270 unplaced primary NW_001846336.1,DS485047.1,211000022278580
chrUn_DS485053v1 1266 unplaced primary NW_001846342.1,DS485053.1,211000022279441
chrUn_DS485055v1 1264 unplaced primary NW_001846344.1,DS485055.1,211000022278973
chrUn_DS485056v1 1263 unplaced primary NW_001846345.1,DS485056.1,211000022278773
chrUn_DS485058v1 1263 unplaced primary NW_001846347.1,DS485058.1,211000022278993
chrUn_DS485059v1 1263 unplaced primary NW_001846348.1,DS485059.1,211000022279015
chrUn_DS485062v1 1262 unplaced primary NW_001846351.1,DS485062.1,211000022278932
chrUn_DS485064v1 1262 unplaced primary NW_001846353.1,DS485064.1,211000022278889
chrUn_DS485065v1 1262 unplaced primary NW_001846354.1,DS485065.1,211000022278302
chrUn_DS485066v1 1261 unplaced primary NW_001846355.1,DS485066.1,211000022279856
chrUn_DS485067v1 1261 unplaced primary NW_001846356.1,DS485067.1,211000022280224
chrUn_DS485068v1 1260 unplaced primary NW_001846357.1,DS485068.1,211000022279615
chrUn_DS485071v1 1260 unplaced primary NW_001846360.1,DS485071.1,211000022280091
chrUn_DS485073v1 1259 unplaced primary NW_001846362.1,DS485073.1,211000022278281
chrUn_DS485076v1 1258 unplaced primary NW_001846365.1,DS485076.1,211000022278887
chrUn_DS485079v1 1253 unplaced primary NW_001846368.1,DS485079.1,211000022279172
chrUn_DS485082v1 1251 unplaced primary NW_001846371.1,DS485082.1,211000022278848
chrUn_DS485083v1 1251 unplaced primary NW_001846372.1,DS485083.1,211000022280020
chrUn_DS485085v1 1251 unplaced primary NW_001846374.1,DS485085.1,211000022280045
chrUn_DS485086v1 1250 unplaced primary NW_001846375.1,DS485086.1,211000022278161
chrUn_DS485087v1 1249 unplaced primary NW_001846376.1,DS485087.1,211000022279432
chrUn_DS485088v1 1248 unplaced primary NW_001846377.1,DS485088.1,211000022279990
chrUn_DS485089v1 1247 unplaced primary NW_001846378.1,DS485089.1,211000022278717
chrUn_DS485091v1 1246 unplaced primary NW_001846380.1,DS485091.1,211000022280177
chrUn_DS485092v1 1246 unplaced primary NW_001846381.1,DS485092.1,211000022279218
chrUn_DS485098v1 1242 unplaced primary NW_001846387.1,DS485098.1,211000022280678
chrUn_DS485100v1 1241 unplaced primary NW_001846389.1,DS485100.1,211000022278943
chrUn_DS485102v1 1240 unplaced primary NW_001846391.1,DS485102.1,211000022278808
chrUn_DS485105v1 1240 unplaced primary NW_001846394.1,DS485105.1,211000022280053
chrUn_DS485107v1 1239 unplaced primary NW_001846396.1,DS485107.1,211000022280304
chrUn_DS485117v1 1236 unplaced primary NW_001846406.1,DS485117.1,211000022279124
chrUn_DS485118v1 1235 unplaced primary NW_001846407.1,DS485118.1,211000022279412
chrUn_DS485122v1 1234 unplaced primary NW_001846411.1,DS485122.1,211000022279267
chrUn_DS485123v1 1234 unplaced primary NW_001846412.1,DS485123.1,211000022278369
chrUn_DS485125v1 1234 unplaced primary NW_001846414.1,DS485125.1,211000022279728
chrUn_DS485127v1 1233 unplaced primary NW_001846416.1,DS485127.1,211000022279417
chrUn_DS485130v1 1232 unplaced primary NW_001846419.1,DS485130.1,211000022278136
chrUn_DS485132v1 1231 unplaced primary NW_001846421.1,DS485132.1,211000022278727
chrUn_DS485133v1 1231 unplaced primary NW_001846422.1,DS485133.1,211000022279183
chrUn_DS485134v1 1231 unplaced primary NW_001846423.1,DS485134.1,211000022280210
chrUn_DS485136v1 1231 unplaced primary NW_001846425.1,DS485136.1,211000022279144
chrUn_DS485138v1 1229 unplaced primary NW_001846427.1,DS485138.1,211000022278582
chrUn_DS485140v1 1229 unplaced primary NW_001846429.1,DS485140.1,211000022280179
chrUn_DS485144v1 1227 unplaced primary NW_001846433.1,DS485144.1,211000022280318
chrUn_DS485146v1 1227 unplaced primary NW_001846435.1,DS485146.1,211000022279645
chrUn_DS485148v1 1227 unplaced primary NW_001846437.1,DS485148.1,211000022279156
chrUn_DS485149v1 1226 unplaced primary NW_001846438.1,DS485149.1,211000022279778
chrUn_DS485150v1 1226 unplaced primary NW_001846439.1,DS485150.1,211000022278242
chrUn_DS485151v1 1226 unplaced primary NW_001846440.1,DS485151.1,211000022279979
chrUn_DS485152v1 1225 unplaced primary NW_001846441.1,DS485152.1,211000022280085
chrUn_DS485153v1 1225 unplaced primary NW_001846442.1,DS485153.1,211000022278755
chrUn_DS485154v1 1225 unplaced primary NW_001846443.1,DS485154.1,211000022280126
chrUn_DS485155v1 1225 unplaced primary NW_001846444.1,DS485155.1,211000022280303
chrUn_DS485156v1 1225 unplaced primary NW_001846445.1,DS485156.1,211000022279128
chrUn_DS485157v1 1225 unplaced primary NW_001846446.1,DS485157.1,211000022280139
chrUn_DS485160v1 1224 unplaced primary NW_001846449.1,DS485160.1,211000022279590
chrUn_DS485161v1 1224 unplaced primary NW_001846450.1,DS485161.1,211000022279682
chrUn_DS485162v1 1223 unplaced primary NW_001846451.1,DS485162.1,211000022280308
chrUn_DS485163v1 1223 unplaced primary NW_001846452.1,DS485163.1,211000022278758
chrUn_DS485165v1 1222 unplaced primary NW_001846454.1,DS485165.1,211000022278651
chrUn_DS485169v1 1220 unplaced primary NW_001846458.1,DS485169.1,211000022280230
chrUn_DS485173v1 1219 unplaced primary NW_001846462.1,DS485173.1,211000022279017
chrUn_DS485174v1 1219 unplaced primary NW_001846463.1,DS485174.1,211000022279647
chrUn_DS485176v1 1219 unplaced primary NW_001846465.1,DS485176.1,211000022280081
chrUn_DS485177v1 1218 unplaced primary NW_001846466.1,DS485177.1,211000022279872
chrUn_DS485181v1 1214 unplaced primary NW_001846470.1,DS485181.1,211000022278196
chrUn_DS485182v1 1213 unplaced primary NW_001846471.1,DS485182.1,211000022280691
chrUn_DS485184v1 1212 unplaced primary NW_001846473.1,DS485184.1,211000022279554
chrUn_DS485190v1 1211 unplaced primary NW_001846479.1,DS485190.1,211000022279991
chrUn_DS485192v1 1210 unplaced primary NW_001846481.1,DS485192.1,211000022279185
chrUn_DS485194v1 1209 unplaced primary NW_001846483.1,DS485194.1,211000022279648
chrUn_DS485198v1 1209 unplaced primary NW_001846487.1,DS485198.1,211000022280314
chrUn_DS485199v1 1208 unplaced primary NW_001846488.1,DS485199.1,211000022278748
chrUn_DS485200v1 1208 unplaced primary NW_001846489.1,DS485200.1,211000022279729
chrUn_DS485203v1 1208 unplaced primary NW_001846492.1,DS485203.1,211000022279480
chrUn_DS485204v1 1207 unplaced primary NW_001846493.1,DS485204.1,211000022279819
chrUn_DS485205v1 1206 unplaced primary NW_001846494.1,DS485205.1,211000022278409
chrUn_DS485208v1 1205 unplaced primary NW_001846497.1,DS485208.1,211000022279591
chrUn_DS485209v1 1205 unplaced primary NW_001846498.1,DS485209.1,211000022278729
chrUn_DS485211v1 1205 unplaced primary NW_001846500.1,DS485211.1,211000022279853
chrUn_DS485215v1 1203 unplaced primary NW_001846504.1,DS485215.1,211000022279445
chrUn_DS485216v1 1203 unplaced primary NW_001846505.1,DS485216.1,211000022280154
chrUn_DS485218v1 1203 unplaced primary NW_001846507.1,DS485218.1,211000022279425
chrUn_DS485220v1 1202 unplaced primary NW_001846509.1,DS485220.1,211000022279413
chrUn_DS485221v1 1201 unplaced primary NW_001846510.1,DS485221.1,211000022280120
chrUn_DS485223v1 1200 unplaced primary NW_001846512.1,DS485223.1,211000022278430
chrUn_DS485224v1 1200 unplaced primary NW_001846513.1,DS485224.1,211000022279127
chrUn_DS485226v1 1199 unplaced primary NW_001846515.1,DS485226.1,211000022278503
chrUn_DS485227v1 1199 unplaced primary NW_001846516.1,DS485227.1,211000022280121
chrUn_DS485228v1 1198 unplaced primary NW_001846517.1,DS485228.1,211000022279555
chrUn_DS485229v1 1198 unplaced primary NW_001846518.1,DS485229.1,211000022278569
chrUn_DS485230v1 1197 unplaced primary NW_001846519.1,DS485230.1,211000022280345
chrUn_DS485233v1 1197 unplaced primary NW_001846522.1,DS485233.1,211000022279462
chrUn_DS485239v1 1195 unplaced primary NW_001846528.1,DS485239.1,211000022278290
chrUn_DS485240v1 1195 unplaced primary NW_001846529.1,DS485240.1,211000022278547
chrUn_DS485242v1 1194 unplaced primary NW_001846531.1,DS485242.1,211000022278769
chrUn_DS485243v1 1193 unplaced primary NW_001846532.1,DS485243.1,211000022279444
chrUn_DS485245v1 1193 unplaced primary NW_001846534.1,DS485245.1,211000022280076
chrUn_DS485246v1 1193 unplaced primary NW_001846535.1,DS485246.1,211000022278171
chrUn_DS485247v1 1193 unplaced primary NW_001846536.1,DS485247.1,211000022279758
chrUn_DS485249v1 1192 unplaced primary NW_001846538.1,DS485249.1,211000022278951
chrUn_DS485251v1 1192 unplaced primary NW_001846540.1,DS485251.1,211000022279498
chrUn_DS485252v1 1191 unplaced primary NW_001846541.1,DS485252.1,211000022280083
chrUn_DS485253v1 1191 unplaced primary NW_001846542.1,DS485253.1,211000022279789
chrUn_DS485254v1 1190 unplaced primary NW_001846543.1,DS485254.1,211000022278407
chrUn_DS485255v1 1190 unplaced primary NW_001846544.1,DS485255.1,211000022278668
chrUn_DS485256v1 1190 unplaced primary NW_001846545.1,DS485256.1,211000022280319
chrUn_DS485258v1 1189 unplaced primary NW_001846547.1,DS485258.1,211000022279738
chrUn_DS485259v1 1189 unplaced primary NW_001846548.1,DS485259.1,211000022280689
chrUn_DS485260v1 1189 unplaced primary NW_001846549.1,DS485260.1,211000022279095
chrUn_DS485261v1 1189 unplaced primary NW_001846550.1,DS485261.1,211000022278370
chrUn_DS485263v1 1188 unplaced primary NW_001846552.1,DS485263.1,211000022279508
chrUn_DS485264v1 1186 unplaced primary NW_001846553.1,DS485264.1,211000022279406
chrUn_DS485265v1 1186 unplaced primary NW_001846554.1,DS485265.1,211000022279660
chrUn_DS485270v1 1185 unplaced primary NW_001846559.1,DS485270.1,211000022278091
chrUn_DS485273v1 1185 unplaced primary NW_001846562.1,DS485273.1,211000022279358
chrUn_DS485275v1 1185 unplaced primary NW_001846564.1,DS485275.1,211000022279631
chrUn_DS485280v1 1184 unplaced primary NW_001846569.1,DS485280.1,211000022278202
chrUn_DS485284v1 1182 unplaced primary NW_001846573.1,DS485284.1,211000022280194
chrUn_DS485285v1 1181 unplaced primary NW_001846574.1,DS485285.1,211000022278429
chrUn_DS485290v1 1179 unplaced primary NW_001846579.1,DS485290.1,211000022278702
chrUn_DS485291v1 1179 unplaced primary NW_001846580.1,DS485291.1,211000022279375
chrUn_DS485292v1 1179 unplaced primary NW_001846581.1,DS485292.1,211000022279622
chrUn_DS485294v1 1178 unplaced primary NW_001846583.1,DS485294.1,211000022278166
chrUn_DS485296v1 1178 unplaced primary NW_001846585.1,DS485296.1,211000022278265
chrUn_DS485297v1 1178 unplaced primary NW_001846586.1,DS485297.1,211000022280225
chrUn_DS485298v1 1178 unplaced primary NW_001846587.1,DS485298.1,211000022279317
chrUn_DS485301v1 1177 unplaced primary NW_001846590.1,DS485301.1,211000022280183
chrUn_DS485304v1 1175 unplaced primary NW_001846593.1,DS485304.1,211000022278497
chrUn_DS485306v1 1174 unplaced primary NW_001846595.1,DS485306.1,211000022279811
chrUn_DS485309v1 1173 unplaced primary NW_001846598.1,DS485309.1,211000022279360
chrUn_DS485311v1 1173 unplaced primary NW_001846600.1,DS485311.1,211000022278688
chrUn_DS485313v1 1171 unplaced primary NW_001846602.1,DS485313.1,211000022278432
chrUn_DS485314v1 1171 unplaced primary NW_001846603.1,DS485314.1,211000022279956
chrUn_DS485319v1 1169 unplaced primary NW_001846608.1,DS485319.1,211000022279668
chrUn_DS485322v1 1168 unplaced primary NW_001846611.1,DS485322.1,211000022278940
chrUn_DS485323v1 1167 unplaced primary NW_001846612.1,DS485323.1,211000022280257
chrUn_DS485324v1 1167 unplaced primary NW_001846613.1,DS485324.1,211000022278897
chrUn_DS485325v1 1167 unplaced primary NW_001846614.1,DS485325.1,211000022278781
chrUn_DS485326v1 1166 unplaced primary NW_001846615.1,DS485326.1,211000022279549
chrUn_DS485330v1 1166 unplaced primary NW_001846619.1,DS485330.1,211000022280164
chrUn_DS485331v1 1165 unplaced primary NW_001846620.1,DS485331.1,211000022278673
chrUn_DS485333v1 1165 unplaced primary NW_001846622.1,DS485333.1,211000022278423
chrUn_DS485337v1 1163 unplaced primary NW_001846626.1,DS485337.1,211000022278267
chrUn_DS485338v1 1163 unplaced primary NW_001846627.1,DS485338.1,211000022279655
chrUn_DS485339v1 1163 unplaced primary NW_001846628.1,DS485339.1,211000022278296
chrUn_DS485340v1 1163 unplaced primary NW_001846629.1,DS485340.1,211000022278119
chrUn_DS485341v1 1162 unplaced primary NW_001846630.1,DS485341.1,211000022278313
chrUn_DS485342v1 1162 unplaced primary NW_001846631.1,DS485342.1,211000022278520
chrUn_DS485349v1 1161 unplaced primary NW_001846638.1,DS485349.1,211000022278708
chrUn_DS485353v1 1160 unplaced primary NW_001846642.1,DS485353.1,211000022278901
chrUn_DS485354v1 1160 unplaced primary NW_001846643.1,DS485354.1,211000022278184
chrUn_DS485356v1 1160 unplaced primary NW_001846645.1,DS485356.1,211000022278170
chrUn_DS485357v1 1159 unplaced primary NW_001846646.1,DS485357.1,211000022278403
chrUn_DS485361v1 1159 unplaced primary NW_001846650.1,DS485361.1,211000022279135
chrUn_DS485362v1 1158 unplaced primary NW_001846651.1,DS485362.1,211000022278946
chrUn_DS485365v1 1157 unplaced primary NW_001846654.1,DS485365.1,211000022278416
chrUn_DS485368v1 1157 unplaced primary NW_001846657.1,DS485368.1,211000022279069
chrUn_DS485370v1 1156 unplaced primary NW_001846659.1,DS485370.1,211000022279448
chrUn_DS485371v1 1156 unplaced primary NW_001846660.1,DS485371.1,211000022279309
chrUn_DS485376v1 1155 unplaced primary NW_001846665.1,DS485376.1,211000022278283
chrUn_DS485379v1 1154 unplaced primary NW_001846668.1,DS485379.1,211000022279474
chrUn_DS485381v1 1154 unplaced primary NW_001846670.1,DS485381.1,211000022278295
chrUn_DS485382v1 1154 unplaced primary NW_001846671.1,DS485382.1,211000022279726
chrUn_DS485383v1 1154 unplaced primary NW_001846672.1,DS485383.1,211000022279469
chrUn_DS485385v1 1153 unplaced primary NW_001846674.1,DS485385.1,211000022280688
chrUn_DS485386v1 1153 unplaced primary NW_001846675.1,DS485386.1,211000022278174
chrUn_DS485387v1 1152 unplaced primary NW_001846676.1,DS485387.1,211000022278391
chrUn_DS485389v1 1152 unplaced primary NW_001846678.1,DS485389.1,211000022280056
chrUn_DS485390v1 1152 unplaced primary NW_001846679.1,DS485390.1,211000022278134
chrUn_DS485392v1 1151 unplaced primary NW_001846681.1,DS485392.1,211000022279487
chrUn_DS485393v1 1150 unplaced primary NW_001846682.1,DS485393.1,211000022280106
chrUn_DS485395v1 1150 unplaced primary NW_001846684.1,DS485395.1,211000022278870
chrUn_DS485397v1 1148 unplaced primary NW_001846686.1,DS485397.1,211000022279722
chrUn_DS485398v1 1148 unplaced primary NW_001846687.1,DS485398.1,211000022278096
chrUn_DS485400v1 1148 unplaced primary NW_001846689.1,DS485400.1,211000022280124
chrUn_DS485401v1 1148 unplaced primary NW_001846690.1,DS485401.1,211000022279232
chrUn_DS485403v1 1148 unplaced primary NW_001846692.1,DS485403.1,211000022278191
chrUn_DS485407v1 1147 unplaced primary NW_001846696.1,DS485407.1,211000022278401
chrUn_DS485410v1 1147 unplaced primary NW_001846699.1,DS485410.1,211000022280130
chrUn_DS485411v1 1146 unplaced primary NW_001846700.1,DS485411.1,211000022279148
chrUn_DS485415v1 1146 unplaced primary NW_001846704.1,DS485415.1,211000022278663
chrUn_DS485419v1 1144 unplaced primary NW_001846708.1,DS485419.1,211000022280180
chrUn_DS485420v1 1144 unplaced primary NW_001846709.1,DS485420.1,211000022279175
chrUn_DS485421v1 1144 unplaced primary NW_001846710.1,DS485421.1,211000022278263
chrUn_DS485424v1 1143 unplaced primary NW_001846713.1,DS485424.1,211000022280704
chrUn_DS485425v1 1143 unplaced primary NW_001846714.1,DS485425.1,211000022278033
chrUn_DS485426v1 1142 unplaced primary NW_001846715.1,DS485426.1,211000022280018
chrUn_DS485428v1 1142 unplaced primary NW_001846717.1,DS485428.1,211000022279361
chrUn_DS485429v1 1141 unplaced primary NW_001846718.1,DS485429.1,211000022279987
chrUn_DS485433v1 1140 unplaced primary NW_001846722.1,DS485433.1,211000022278143
chrUn_DS485434v1 1140 unplaced primary NW_001846723.1,DS485434.1,211000022279603
chrUn_DS485437v1 1140 unplaced primary NW_001846726.1,DS485437.1,211000022278745
chrUn_DS485438v1 1139 unplaced primary NW_001846727.1,DS485438.1,211000022278807
chrUn_DS485439v1 1139 unplaced primary NW_001846728.1,DS485439.1,211000022279418
chrUn_DS485441v1 1139 unplaced primary NW_001846730.1,DS485441.1,211000022279422
chrUn_DS485442v1 1139 unplaced primary NW_001846731.1,DS485442.1,211000022278928
chrUn_DS485443v1 1138 unplaced primary NW_001846732.1,DS485443.1,211000022278294
chrUn_DS485448v1 1137 unplaced primary NW_001846737.1,DS485448.1,211000022280232
chrUn_DS485451v1 1136 unplaced primary NW_001846740.1,DS485451.1,211000022278333
chrUn_DS485453v1 1136 unplaced primary NW_001846742.1,DS485453.1,211000022279222
chrUn_DS485456v1 1135 unplaced primary NW_001846745.1,DS485456.1,211000022279115
chrUn_DS485457v1 1135 unplaced primary NW_001846746.1,DS485457.1,211000022278221
chrUn_DS485461v1 1134 unplaced primary NW_001846750.1,DS485461.1,211000022279747
chrUn_DS485462v1 1134 unplaced primary NW_001846751.1,DS485462.1,211000022278750
chrUn_DS485464v1 1133 unplaced primary NW_001846753.1,DS485464.1,211000022279744
chrUn_DS485466v1 1133 unplaced primary NW_001846755.1,DS485466.1,211000022278958
chrUn_DS485467v1 1132 unplaced primary NW_001846756.1,DS485467.1,211000022278140
chrUn_DS485468v1 1132 unplaced primary NW_001846757.1,DS485468.1,211000022279125
chrUn_DS485469v1 1132 unplaced primary NW_001846758.1,DS485469.1,211000022279088
chrUn_DS485472v1 1131 unplaced primary NW_001846761.1,DS485472.1,211000022278977
chrUn_DS485475v1 1130 unplaced primary NW_001846764.1,DS485475.1,211000022278445
chrUn_DS485477v1 1130 unplaced primary NW_001846766.1,DS485477.1,211000022278788
chrUn_DS485481v1 1129 unplaced primary NW_001846770.1,DS485481.1,211000022279899
chrUn_DS485482v1 1129 unplaced primary NW_001846771.1,DS485482.1,211000022279684
chrUn_DS485488v1 1127 unplaced primary NW_001846777.1,DS485488.1,211000022278920
chrUn_DS485490v1 1127 unplaced primary NW_001846779.1,DS485490.1,211000022278072
chrUn_DS485491v1 1126 unplaced primary NW_001846780.1,DS485491.1,211000022279564
chrUn_DS485494v1 1126 unplaced primary NW_001846783.1,DS485494.1,211000022279212
chrUn_DS485495v1 1126 unplaced primary NW_001846784.1,DS485495.1,211000022278123
chrUn_DS485496v1 1126 unplaced primary NW_001846785.1,DS485496.1,211000022278412
chrUn_DS485497v1 1125 unplaced primary NW_001846786.1,DS485497.1,211000022279407
chrUn_DS485498v1 1125 unplaced primary NW_001846787.1,DS485498.1,211000022278877
chrUn_DS485500v1 1124 unplaced primary NW_001846789.1,DS485500.1,211000022279652
chrUn_DS485501v1 1124 unplaced primary NW_001846790.1,DS485501.1,211000022278751
chrUn_DS485503v1 1123 unplaced primary NW_001846792.1,DS485503.1,211000022280268
chrUn_DS485504v1 1123 unplaced primary NW_001846793.1,DS485504.1,211000022278145
chrUn_DS485505v1 1123 unplaced primary NW_001846794.1,DS485505.1,211000022278328
chrUn_DS485506v1 1123 unplaced primary NW_001846795.1,DS485506.1,211000022278511
chrUn_DS485509v1 1123 unplaced primary NW_001846798.1,DS485509.1,211000022279055
chrUn_DS485515v1 1120 unplaced primary NW_001846804.1,DS485515.1,211000022278747
chrUn_DS485517v1 1119 unplaced primary NW_001846806.1,DS485517.1,211000022279240
chrUn_DS485518v1 1119 unplaced primary NW_001846807.1,DS485518.1,211000022279221
chrUn_DS485520v1 1118 unplaced primary NW_001846809.1,DS485520.1,211000022279400
chrUn_DS485521v1 1118 unplaced primary NW_001846810.1,DS485521.1,211000022279493
chrUn_DS485522v1 1118 unplaced primary NW_001846811.1,DS485522.1,211000022278514
chrUn_DS485525v1 1117 unplaced primary NW_001846814.1,DS485525.1,211000022279985
chrUn_DS485526v1 1117 unplaced primary NW_001846815.1,DS485526.1,211000022278944
chrUn_DS485527v1 1117 unplaced primary NW_001846816.1,DS485527.1,211000022279632
chrUn_DS485528v1 1117 unplaced primary NW_001846817.1,DS485528.1,211000022279576
chrUn_DS485529v1 1117 unplaced primary NW_001846818.1,DS485529.1,211000022279042
chrUn_DS485530v1 1117 unplaced primary NW_001846819.1,DS485530.1,211000022279769
chrUn_DS485531v1 1116 unplaced primary NW_001846820.1,DS485531.1,211000022279203
chrUn_DS485533v1 1116 unplaced primary NW_001846822.1,DS485533.1,211000022279618
chrUn_DS485535v1 1116 unplaced primary NW_001846824.1,DS485535.1,211000022279845
chrUn_DS485536v1 1116 unplaced primary NW_001846825.1,DS485536.1,211000022280312
chrUn_DS485538v1 1115 unplaced primary NW_001846827.1,DS485538.1,211000022279666
chrUn_DS485539v1 1115 unplaced primary NW_001846828.1,DS485539.1,211000022278257
chrUn_DS485540v1 1114 unplaced primary NW_001846829.1,DS485540.1,211000022279874
chrUn_DS485541v1 1114 unplaced primary NW_001846830.1,DS485541.1,211000022278248
chrUn_DS485542v1 1114 unplaced primary NW_001846831.1,DS485542.1,211000022278533
chrUn_DS485543v1 1114 unplaced primary NW_001846832.1,DS485543.1,211000022279399
chrUn_DS485544v1 1114 unplaced primary NW_001846833.1,DS485544.1,211000022279325
chrUn_DS485545v1 1114 unplaced primary NW_001846834.1,DS485545.1,211000022278886
chrUn_DS485547v1 1112 unplaced primary NW_001846836.1,DS485547.1,211000022278200
chrUn_DS485548v1 1112 unplaced primary NW_001846837.1,DS485548.1,211000022280702
chrUn_DS485557v1 1110 unplaced primary NW_001846846.1,DS485557.1,211000022279102
chrUn_DS485558v1 1110 unplaced primary NW_001846847.1,DS485558.1,211000022278309
chrUn_DS485559v1 1110 unplaced primary NW_001846848.1,DS485559.1,211000022280331
chrUn_DS485563v1 1109 unplaced primary NW_001846852.1,DS485563.1,211000022279014
chrUn_DS485565v1 1109 unplaced primary NW_001846854.1,DS485565.1,211000022280000
chrUn_DS485566v2 544 unplaced primary NW_001846855.2,DS485566.2,211000022279089
chrUn_DS485567v1 1108 unplaced primary NW_001846856.1,DS485567.1,211000022279933
chrUn_DS485569v1 1108 unplaced primary NW_001846858.1,DS485569.1,211000022279414
chrUn_DS485571v1 1107 unplaced primary NW_001846860.1,DS485571.1,211000022279510
chrUn_DS485572v1 1107 unplaced primary NW_001846861.1,DS485572.1,211000022278285
chrUn_DS485574v1 1106 unplaced primary NW_001846863.1,DS485574.1,211000022279923
chrUn_DS485578v1 1105 unplaced primary NW_001846867.1,DS485578.1,211000022278345
chrUn_DS485579v1 1105 unplaced primary NW_001846868.1,DS485579.1,211000022280123
chrUn_DS485581v1 1105 unplaced primary NW_001846870.1,DS485581.1,211000022278603
chrUn_DS485582v1 1105 unplaced primary NW_001846871.1,DS485582.1,211000022279355
chrUn_DS485583v1 1105 unplaced primary NW_001846872.1,DS485583.1,211000022279359
chrUn_DS485584v1 1105 unplaced primary NW_001846873.1,DS485584.1,211000022280097
chrUn_DS485585v1 1103 unplaced primary NW_001846874.1,DS485585.1,211000022278862
chrUn_DS485587v1 1103 unplaced primary NW_001846876.1,DS485587.1,211000022279659
chrUn_DS485588v1 1103 unplaced primary NW_001846877.1,DS485588.1,211000022279160
chrUn_DS485589v1 1102 unplaced primary NW_001846878.1,DS485589.1,211000022280193
chrUn_DS485591v1 1102 unplaced primary NW_001846880.1,DS485591.1,211000022280150
chrUn_DS485593v1 1101 unplaced primary NW_001846882.1,DS485593.1,211000022279965
chrUn_DS485595v1 1101 unplaced primary NW_001846884.1,DS485595.1,211000022280079
chrUn_DS485601v1 1099 unplaced primary NW_001846890.1,DS485601.1,211000022280685
chrUn_DS485602v1 1099 unplaced primary NW_001846891.1,DS485602.1,211000022278197
chrUn_DS485605v1 1098 unplaced primary NW_001846894.1,DS485605.1,211000022279057
chrUn_DS485607v1 1097 unplaced primary NW_001846896.1,DS485607.1,211000022279051
chrUn_DS485608v1 1097 unplaced primary NW_001846897.1,DS485608.1,211000022278090
chrUn_DS485609v1 1096 unplaced primary NW_001846898.1,DS485609.1,211000022280256
chrUn_DS485610v1 1096 unplaced primary NW_001846899.1,DS485610.1,211000022279975
chrUn_DS485614v1 1094 unplaced primary NW_001846903.1,DS485614.1,211000022279336
chrUn_DS485621v1 1091 unplaced primary NW_001846910.1,DS485621.1,211000022279880
chrUn_DS485622v1 1090 unplaced primary NW_001846911.1,DS485622.1,211000022279151
chrUn_DS485623v1 1090 unplaced primary NW_001846912.1,DS485623.1,211000022278537
chrUn_DS485624v1 1090 unplaced primary NW_001846913.1,DS485624.1,211000022280291
chrUn_DS485627v1 1090 unplaced primary NW_001846916.1,DS485627.1,211000022280075
chrUn_DS485628v1 1089 unplaced primary NW_001846917.1,DS485628.1,211000022279943
chrUn_DS485630v1 1089 unplaced primary NW_001846919.1,DS485630.1,211000022279672
chrUn_DS485632v1 1088 unplaced primary NW_001846921.1,DS485632.1,211000022279374
chrUn_DS485634v1 1088 unplaced primary NW_001846923.1,DS485634.1,211000022278349
chrUn_DS485636v1 1088 unplaced primary NW_001846925.1,DS485636.1,211000022279533
chrUn_DS485640v1 1087 unplaced primary NW_001846929.1,DS485640.1,211000022280065
chrUn_DS485642v1 1087 unplaced primary NW_001846931.1,DS485642.1,211000022279551
chrUn_DS485643v1 1086 unplaced primary NW_001846932.1,DS485643.1,211000022278223
chrUn_DS485648v1 1086 unplaced primary NW_001846937.1,DS485648.1,211000022280051
chrUn_DS485650v1 1084 unplaced primary NW_001846939.1,DS485650.1,211000022278761
chrUn_DS485653v1 1084 unplaced primary NW_001846942.1,DS485653.1,211000022280240
chrUn_DS485654v1 1084 unplaced primary NW_001846943.1,DS485654.1,211000022278660
chrUn_DS485655v1 1083 unplaced primary NW_001846944.1,DS485655.1,211000022279781
chrUn_DS485656v1 1083 unplaced primary NW_001846945.1,DS485656.1,211000022279578
chrUn_DS485657v1 1083 unplaced primary NW_001846946.1,DS485657.1,211000022279569
chrUn_DS485659v1 1082 unplaced primary NW_001846948.1,DS485659.1,211000022278573
chrUn_DS485661v1 1081 unplaced primary NW_001846950.1,DS485661.1,211000022278592
chrUn_DS485664v1 1081 unplaced primary NW_001846953.1,DS485664.1,211000022278859
chrUn_DS485666v1 1080 unplaced primary NW_001846955.1,DS485666.1,211000022279369
chrUn_DS485667v1 1080 unplaced primary NW_001846956.1,DS485667.1,211000022279824
chrUn_DS485668v1 1080 unplaced primary NW_001846957.1,DS485668.1,211000022278878
chrUn_DS485670v1 1079 unplaced primary NW_001846959.1,DS485670.1,211000022280084
chrUn_DS485671v1 1079 unplaced primary NW_001846960.1,DS485671.1,211000022279154
chrUn_DS485673v1 1078 unplaced primary NW_001846962.1,DS485673.1,211000022278371
chrUn_DS485675v1 1078 unplaced primary NW_001846964.1,DS485675.1,211000022278301
chrUn_DS485678v1 1077 unplaced primary NW_001846967.1,DS485678.1,211000022278241
chrUn_DS485679v1 1077 unplaced primary NW_001846968.1,DS485679.1,211000022279252
chrUn_DS485681v1 1076 unplaced primary NW_001846970.1,DS485681.1,211000022279141
chrUn_DS485682v1 1076 unplaced primary NW_001846971.1,DS485682.1,211000022279013
chrUn_DS485683v1 1076 unplaced primary NW_001846972.1,DS485683.1,211000022278776
chrUn_DS485684v1 1076 unplaced primary NW_001846973.1,DS485684.1,211000022279155
chrUn_DS485686v1 1075 unplaced primary NW_001846975.1,DS485686.1,211000022278917
chrUn_DS485688v1 1075 unplaced primary NW_001846977.1,DS485688.1,211000022278903
chrUn_DS485692v1 1074 unplaced primary NW_001846981.1,DS485692.1,211000022279959
chrUn_DS485693v1 1074 unplaced primary NW_001846982.1,DS485693.1,211000022278730
chrUn_DS485694v1 1074 unplaced primary NW_001846983.1,DS485694.1,211000022280054
chrUn_DS485695v2 564 unplaced primary NW_001846984.2,DS485695.2,211000022280427
chrUn_DS485701v1 1072 unplaced primary NW_001846990.1,DS485701.1,211000022278600
chrUn_DS485703v1 1071 unplaced primary NW_001846992.1,DS485703.1,211000022278311
chrUn_DS485709v1 1070 unplaced primary NW_001846998.1,DS485709.1,211000022279624
chrUn_DS485711v1 1070 unplaced primary NW_001847000.1,DS485711.1,211000022278441
chrUn_DS485712v1 1070 unplaced primary NW_001847001.1,DS485712.1,211000022279430
chrUn_DS485714v1 1069 unplaced primary NW_001847003.1,DS485714.1,211000022279742
chrUn_DS485717v1 1069 unplaced primary NW_001847006.1,DS485717.1,211000022279592
chrUn_DS485722v1 1067 unplaced primary NW_001847011.1,DS485722.1,211000022278526
chrUn_DS485724v1 1067 unplaced primary NW_001847013.1,DS485724.1,211000022280350
chrUn_DS485725v1 1066 unplaced primary NW_001847014.1,DS485725.1,211000022279405
chrUn_DS485728v1 1064 unplaced primary NW_001847017.1,DS485728.1,211000022279727
chrUn_DS485729v1 1064 unplaced primary NW_001847018.1,DS485729.1,211000022279149
chrUn_DS485733v1 1063 unplaced primary NW_001847022.1,DS485733.1,211000022278276
chrUn_DS485737v1 1063 unplaced primary NW_001847026.1,DS485737.1,211000022279584
chrUn_DS485740v1 1063 unplaced primary NW_001847029.1,DS485740.1,211000022278699
chrUn_DS485741v1 1063 unplaced primary NW_001847030.1,DS485741.1,211000022278253
chrUn_DS485742v1 1062 unplaced primary NW_001847031.1,DS485742.1,211000022279242
chrUn_DS485743v1 1062 unplaced primary NW_001847032.1,DS485743.1,211000022278540
chrUn_DS485746v1 1062 unplaced primary NW_001847035.1,DS485746.1,211000022280142
chrUn_DS485747v1 1062 unplaced primary NW_001847036.1,DS485747.1,211000022278385
chrUn_DS485748v1 1061 unplaced primary NW_001847037.1,DS485748.1,211000022278260
chrUn_DS485750v1 1060 unplaced primary NW_001847039.1,DS485750.1,211000022279927
chrUn_DS485751v1 1060 unplaced primary NW_001847040.1,DS485751.1,211000022278881
chrUn_DS485753v1 1059 unplaced primary NW_001847042.1,DS485753.1,211000022278720
chrUn_DS485754v1 1059 unplaced primary NW_001847043.1,DS485754.1,211000022279952
chrUn_DS485757v1 1058 unplaced primary NW_001847046.1,DS485757.1,211000022279782
chrUn_DS485760v1 1058 unplaced primary NW_001847049.1,DS485760.1,211000022278106
chrUn_DS485766v1 1056 unplaced primary NW_001847055.1,DS485766.1,211000022278989
chrUn_DS485770v1 1055 unplaced primary NW_001847059.1,DS485770.1,211000022279814
chrUn_DS485773v1 1054 unplaced primary NW_001847062.1,DS485773.1,211000022278571
chrUn_DS485774v1 1053 unplaced primary NW_001847063.1,DS485774.1,211000022279885
chrUn_DS485775v1 1053 unplaced primary NW_001847064.1,DS485775.1,211000022279506
chrUn_DS485780v1 1053 unplaced primary NW_001847069.1,DS485780.1,211000022279572
chrUn_DS485781v1 1052 unplaced primary NW_001847070.1,DS485781.1,211000022278530
chrUn_DS485783v1 1052 unplaced primary NW_001847072.1,DS485783.1,211000022278199
chrUn_DS485788v1 1051 unplaced primary NW_001847077.1,DS485788.1,211000022278357
chrUn_DS485789v1 1051 unplaced primary NW_001847078.1,DS485789.1,211000022278419
chrUn_DS485792v1 1050 unplaced primary NW_001847081.1,DS485792.1,211000022280043
chrUn_DS485793v1 1050 unplaced primary NW_001847082.1,DS485793.1,211000022278410
chrUn_DS485794v1 1049 unplaced primary NW_001847083.1,DS485794.1,211000022278501
chrUn_DS485796v1 1049 unplaced primary NW_001847085.1,DS485796.1,211000022279424
chrUn_DS485802v1 1048 unplaced primary NW_001847091.1,DS485802.1,211000022279286
chrUn_DS485803v1 1048 unplaced primary NW_001847092.1,DS485803.1,211000022279258
chrUn_DS485806v1 1048 unplaced primary NW_001847095.1,DS485806.1,211000022280069
chrUn_DS485807v1 1048 unplaced primary NW_001847096.1,DS485807.1,211000022280149
chrUn_DS485808v1 1047 unplaced primary NW_001847097.1,DS485808.1,211000022278339
chrUn_DS485810v1 1047 unplaced primary NW_001847099.1,DS485810.1,211000022278641
chrUn_DS485812v1 1047 unplaced primary NW_001847101.1,DS485812.1,211000022278804
chrUn_DS485818v1 1045 unplaced primary NW_001847107.1,DS485818.1,211000022279465
chrUn_DS485820v1 1045 unplaced primary NW_001847109.1,DS485820.1,211000022279168
chrUn_DS485821v1 1045 unplaced primary NW_001847110.1,DS485821.1,211000022278535
chrUn_DS485822v1 1045 unplaced primary NW_001847111.1,DS485822.1,211000022278240
chrUn_DS485823v1 1044 unplaced primary NW_001847112.1,DS485823.1,211000022279387
chrUn_DS485825v1 1044 unplaced primary NW_001847114.1,DS485825.1,211000022278427
chrUn_DS485826v1 1044 unplaced primary NW_001847115.1,DS485826.1,211000022278985
chrUn_DS485827v1 1043 unplaced primary NW_001847116.1,DS485827.1,211000022279771
chrUn_DS485828v1 1043 unplaced primary NW_001847117.1,DS485828.1,211000022278996
chrUn_DS485832v1 1042 unplaced primary NW_001847121.1,DS485832.1,211000022280168
chrUn_DS485833v1 1042 unplaced primary NW_001847122.1,DS485833.1,211000022279740
chrUn_DS485838v1 1042 unplaced primary NW_001847127.1,DS485838.1,211000022278599
chrUn_DS485841v1 1041 unplaced primary NW_001847130.1,DS485841.1,211000022279329
chrUn_DS485842v1 1041 unplaced primary NW_001847131.1,DS485842.1,211000022278983
chrUn_DS485846v1 1040 unplaced primary NW_001847135.1,DS485846.1,211000022278305
chrUn_DS485847v1 1040 unplaced primary NW_001847136.1,DS485847.1,211000022279271
chrUn_DS485848v1 1040 unplaced primary NW_001847137.1,DS485848.1,211000022280117
chrUn_DS485850v1 1039 unplaced primary NW_001847139.1,DS485850.1,211000022279443
chrUn_DS485851v1 1039 unplaced primary NW_001847140.1,DS485851.1,211000022280025
chrUn_DS485853v1 1038 unplaced primary NW_001847142.1,DS485853.1,211000022278291
chrUn_DS485854v1 1038 unplaced primary NW_001847143.1,DS485854.1,211000022278517
chrUn_DS485859v1 1036 unplaced primary NW_001847148.1,DS485859.1,211000022278158
chrUn_DS485863v1 1035 unplaced primary NW_001847152.1,DS485863.1,211000022278970
chrUn_DS485864v1 1035 unplaced primary NW_001847153.1,DS485864.1,211000022278562
chrUn_DS485867v1 1035 unplaced primary NW_001847156.1,DS485867.1,211000022279053
chrUn_DS485868v1 1035 unplaced primary NW_001847157.1,DS485868.1,211000022279050
chrUn_DS485870v1 1033 unplaced primary NW_001847159.1,DS485870.1,211000022278453
chrUn_DS485872v1 1033 unplaced primary NW_001847161.1,DS485872.1,211000022278541
chrUn_DS485874v1 1033 unplaced primary NW_001847163.1,DS485874.1,211000022279906
chrUn_DS485876v1 1032 unplaced primary NW_001847165.1,DS485876.1,211000022279599
chrUn_DS485878v1 1032 unplaced primary NW_001847167.1,DS485878.1,211000022280178
chrUn_DS485880v1 1031 unplaced primary NW_001847169.1,DS485880.1,211000022279356
chrUn_DS485882v1 1031 unplaced primary NW_001847171.1,DS485882.1,211000022280014
chrUn_DS485883v1 1030 unplaced primary NW_001847172.1,DS485883.1,211000022278680
chrUn_DS485886v1 1030 unplaced primary NW_001847175.1,DS485886.1,211000022278588
chrUn_DS485887v1 1029 unplaced primary NW_001847176.1,DS485887.1,211000022279117
chrUn_DS485889v1 1029 unplaced primary NW_001847178.1,DS485889.1,211000022280011
chrUn_DS485891v1 1029 unplaced primary NW_001847180.1,DS485891.1,211000022278386
chrUn_DS485893v1 1029 unplaced primary NW_001847182.1,DS485893.1,211000022278948
chrUn_DS485897v1 1028 unplaced primary NW_001847186.1,DS485897.1,211000022280266
chrUn_DS485900v1 1027 unplaced primary NW_001847189.1,DS485900.1,211000022278884
chrUn_DS485902v1 1026 unplaced primary NW_001847191.1,DS485902.1,211000022279120
chrUn_DS485903v1 1026 unplaced primary NW_001847192.1,DS485903.1,211000022279351
chrUn_DS485904v1 1025 unplaced primary NW_001847193.1,DS485904.1,211000022278898
chrUn_DS485905v1 1025 unplaced primary NW_001847194.1,DS485905.1,211000022278972
chrUn_DS485906v1 1025 unplaced primary NW_001847195.1,DS485906.1,211000022278207
chrUn_DS485907v1 1025 unplaced primary NW_001847196.1,DS485907.1,211000022278377
chrUn_DS485911v1 1023 unplaced primary NW_001847200.1,DS485911.1,211000022279526
chrUn_DS485912v1 1022 unplaced primary NW_001847201.1,DS485912.1,211000022279262
chrUn_DS485915v1 1022 unplaced primary NW_001847204.1,DS485915.1,211000022279289
chrUn_DS485917v1 1022 unplaced primary NW_001847206.1,DS485917.1,211000022279195
chrUn_DS485918v1 1021 unplaced primary NW_001847207.1,DS485918.1,211000022279954
chrUn_DS485919v1 1021 unplaced primary NW_001847208.1,DS485919.1,211000022278031
chrUn_DS485923v1 1021 unplaced primary NW_001847212.1,DS485923.1,211000022279809
chrUn_DS485925v1 1020 unplaced primary NW_001847214.1,DS485925.1,211000022278287
chrUn_DS485929v1 1020 unplaced primary NW_001847218.1,DS485929.1,211000022278585
chrUn_DS485932v1 1019 unplaced primary NW_001847221.1,DS485932.1,211000022279785
chrUn_DS485933v1 1019 unplaced primary NW_001847222.1,DS485933.1,211000022279308
chrUn_DS485935v1 1019 unplaced primary NW_001847224.1,DS485935.1,211000022280681
chrUn_DS485939v1 1018 unplaced primary NW_001847228.1,DS485939.1,211000022279644
chrUn_DS485940v1 1018 unplaced primary NW_001847229.1,DS485940.1,211000022278759
chrUn_DS485944v1 1016 unplaced primary NW_001847233.1,DS485944.1,211000022279741
chrUn_DS485946v1 1016 unplaced primary NW_001847235.1,DS485946.1,211000022279736
chrUn_DS485947v1 1016 unplaced primary NW_001847236.1,DS485947.1,211000022279626
chrUn_DS485948v1 1015 unplaced primary NW_001847237.1,DS485948.1,211000022279609
chrUn_DS485952v1 1014 unplaced primary NW_001847241.1,DS485952.1,211000022279693
chrUn_DS485953v1 1014 unplaced primary NW_001847242.1,DS485953.1,211000022279792
chrUn_DS485954v1 1014 unplaced primary NW_001847243.1,DS485954.1,211000022278424
chrUn_DS485955v1 1014 unplaced primary NW_001847244.1,DS485955.1,211000022280290
chrUn_DS485957v1 1013 unplaced primary NW_001847246.1,DS485957.1,211000022278247
chrUn_DS485958v1 1013 unplaced primary NW_001847247.1,DS485958.1,211000022278258
chrUn_DS485964v1 1012 unplaced primary NW_001847253.1,DS485964.1,211000022279134
chrUn_DS485965v1 1012 unplaced primary NW_001847254.1,DS485965.1,211000022279215
chrUn_DS485966v1 1011 unplaced primary NW_001847255.1,DS485966.1,211000022279946
chrUn_DS485968v1 1011 unplaced primary NW_001847257.1,DS485968.1,211000022279342
chrUn_DS485969v1 1011 unplaced primary NW_001847258.1,DS485969.1,211000022279180
chrUn_DS485973v1 1010 unplaced primary NW_001847262.1,DS485973.1,211000022278272
chrUn_DS485979v1 1008 unplaced primary NW_001847268.1,DS485979.1,211000022278095
chrUn_DS485980v1 1008 unplaced primary NW_001847269.1,DS485980.1,211000022279200
chrUn_DS485982v1 1007 unplaced primary NW_001847271.1,DS485982.1,211000022278650
chrUn_DS485983v1 1006 unplaced primary NW_001847272.1,DS485983.1,211000022279353
chrUn_DS485984v1 1006 unplaced primary NW_001847273.1,DS485984.1,211000022278152
chrUn_DS485985v1 1006 unplaced primary NW_001847274.1,DS485985.1,211000022278718
chrUn_DS485986v1 1005 unplaced primary NW_001847275.1,DS485986.1,211000022279384
chrUn_DS485988v1 1005 unplaced primary NW_001847277.1,DS485988.1,211000022280165
chrUn_DS485989v1 1005 unplaced primary NW_001847278.1,DS485989.1,211000022278539
chrUn_DS485991v1 1005 unplaced primary NW_001847280.1,DS485991.1,211000022279132
chrUn_DS485995v1 1004 unplaced primary NW_001847284.1,DS485995.1,211000022278137
chrUn_DS485996v1 1004 unplaced primary NW_001847285.1,DS485996.1,211000022279409
chrUn_DS485997v1 1004 unplaced primary NW_001847286.1,DS485997.1,211000022279103
chrUn_DS485998v1 1003 unplaced primary NW_001847287.1,DS485998.1,211000022278074
chrUn_DS486002v1 1001 unplaced primary NW_001847291.1,DS486002.1,211000022278179
chrUn_DS486004v1 1001 unplaced primary NW_001847293.1,DS486004.1,211000022279016
chrUn_DS486005v1 1001 unplaced primary NW_001847294.1,DS486005.1,211000022278576
chrUn_DS486008v1 1001 unplaced primary NW_001847297.1,DS486008.1,211000022278384
open2c-bioframe-4fe9b25/bioframe/io/data/hg19.cytoband.tsv 0000664 0000000 0000000 00000074075 14775257723 0023360 0 ustar 00root root 0000000 0000000 chrom start end band stain
chr1 0 2300000 p36.33 gneg
chr1 2300000 5400000 p36.32 gpos25
chr1 5400000 7200000 p36.31 gneg
chr1 7200000 9200000 p36.23 gpos25
chr1 9200000 12700000 p36.22 gneg
chr1 12700000 16200000 p36.21 gpos50
chr1 16200000 20400000 p36.13 gneg
chr1 20400000 23900000 p36.12 gpos25
chr1 23900000 28000000 p36.11 gneg
chr1 28000000 30200000 p35.3 gpos25
chr1 30200000 32400000 p35.2 gneg
chr1 32400000 34600000 p35.1 gpos25
chr1 34600000 40100000 p34.3 gneg
chr1 40100000 44100000 p34.2 gpos25
chr1 44100000 46800000 p34.1 gneg
chr1 46800000 50700000 p33 gpos75
chr1 50700000 56100000 p32.3 gneg
chr1 56100000 59000000 p32.2 gpos50
chr1 59000000 61300000 p32.1 gneg
chr1 61300000 68900000 p31.3 gpos50
chr1 68900000 69700000 p31.2 gneg
chr1 69700000 84900000 p31.1 gpos100
chr1 84900000 88400000 p22.3 gneg
chr1 88400000 92000000 p22.2 gpos75
chr1 92000000 94700000 p22.1 gneg
chr1 94700000 99700000 p21.3 gpos75
chr1 99700000 102200000 p21.2 gneg
chr1 102200000 107200000 p21.1 gpos100
chr1 107200000 111800000 p13.3 gneg
chr1 111800000 116100000 p13.2 gpos50
chr1 116100000 117800000 p13.1 gneg
chr1 117800000 120600000 p12 gpos50
chr1 120600000 121500000 p11.2 gneg
chr1 121500000 125000000 p11.1 acen
chr1 125000000 128900000 q11 acen
chr1 128900000 142600000 q12 gvar
chr1 142600000 147000000 q21.1 gneg
chr1 147000000 150300000 q21.2 gpos50
chr1 150300000 155000000 q21.3 gneg
chr1 155000000 156500000 q22 gpos50
chr1 156500000 159100000 q23.1 gneg
chr1 159100000 160500000 q23.2 gpos50
chr1 160500000 165500000 q23.3 gneg
chr1 165500000 167200000 q24.1 gpos50
chr1 167200000 170900000 q24.2 gneg
chr1 170900000 172900000 q24.3 gpos75
chr1 172900000 176000000 q25.1 gneg
chr1 176000000 180300000 q25.2 gpos50
chr1 180300000 185800000 q25.3 gneg
chr1 185800000 190800000 q31.1 gpos100
chr1 190800000 193800000 q31.2 gneg
chr1 193800000 198700000 q31.3 gpos100
chr1 198700000 207200000 q32.1 gneg
chr1 207200000 211500000 q32.2 gpos25
chr1 211500000 214500000 q32.3 gneg
chr1 214500000 224100000 q41 gpos100
chr1 224100000 224600000 q42.11 gneg
chr1 224600000 227000000 q42.12 gpos25
chr1 227000000 230700000 q42.13 gneg
chr1 230700000 234700000 q42.2 gpos50
chr1 234700000 236600000 q42.3 gneg
chr1 236600000 243700000 q43 gpos75
chr1 243700000 249250621 q44 gneg
chr2 0 4400000 p25.3 gneg
chr2 4400000 7100000 p25.2 gpos50
chr2 7100000 12200000 p25.1 gneg
chr2 12200000 16700000 p24.3 gpos75
chr2 16700000 19200000 p24.2 gneg
chr2 19200000 24000000 p24.1 gpos75
chr2 24000000 27900000 p23.3 gneg
chr2 27900000 30000000 p23.2 gpos25
chr2 30000000 32100000 p23.1 gneg
chr2 32100000 36600000 p22.3 gpos75
chr2 36600000 38600000 p22.2 gneg
chr2 38600000 41800000 p22.1 gpos50
chr2 41800000 47800000 p21 gneg
chr2 47800000 52900000 p16.3 gpos100
chr2 52900000 55000000 p16.2 gneg
chr2 55000000 61300000 p16.1 gpos100
chr2 61300000 64100000 p15 gneg
chr2 64100000 68600000 p14 gpos50
chr2 68600000 71500000 p13.3 gneg
chr2 71500000 73500000 p13.2 gpos50
chr2 73500000 75000000 p13.1 gneg
chr2 75000000 83300000 p12 gpos100
chr2 83300000 90500000 p11.2 gneg
chr2 90500000 93300000 p11.1 acen
chr2 93300000 96800000 q11.1 acen
chr2 96800000 102700000 q11.2 gneg
chr2 102700000 106000000 q12.1 gpos50
chr2 106000000 107500000 q12.2 gneg
chr2 107500000 110200000 q12.3 gpos25
chr2 110200000 114400000 q13 gneg
chr2 114400000 118800000 q14.1 gpos50
chr2 118800000 122400000 q14.2 gneg
chr2 122400000 129900000 q14.3 gpos50
chr2 129900000 132500000 q21.1 gneg
chr2 132500000 135100000 q21.2 gpos25
chr2 135100000 136800000 q21.3 gneg
chr2 136800000 142200000 q22.1 gpos100
chr2 142200000 144100000 q22.2 gneg
chr2 144100000 148700000 q22.3 gpos100
chr2 148700000 149900000 q23.1 gneg
chr2 149900000 150500000 q23.2 gpos25
chr2 150500000 154900000 q23.3 gneg
chr2 154900000 159800000 q24.1 gpos75
chr2 159800000 163700000 q24.2 gneg
chr2 163700000 169700000 q24.3 gpos75
chr2 169700000 178000000 q31.1 gneg
chr2 178000000 180600000 q31.2 gpos50
chr2 180600000 183000000 q31.3 gneg
chr2 183000000 189400000 q32.1 gpos75
chr2 189400000 191900000 q32.2 gneg
chr2 191900000 197400000 q32.3 gpos75
chr2 197400000 203300000 q33.1 gneg
chr2 203300000 204900000 q33.2 gpos50
chr2 204900000 209000000 q33.3 gneg
chr2 209000000 215300000 q34 gpos100
chr2 215300000 221500000 q35 gneg
chr2 221500000 225200000 q36.1 gpos75
chr2 225200000 226100000 q36.2 gneg
chr2 226100000 231000000 q36.3 gpos100
chr2 231000000 235600000 q37.1 gneg
chr2 235600000 237300000 q37.2 gpos50
chr2 237300000 243199373 q37.3 gneg
chr3 0 2800000 p26.3 gpos50
chr3 2800000 4000000 p26.2 gneg
chr3 4000000 8700000 p26.1 gpos50
chr3 8700000 11800000 p25.3 gneg
chr3 11800000 13300000 p25.2 gpos25
chr3 13300000 16400000 p25.1 gneg
chr3 16400000 23900000 p24.3 gpos100
chr3 23900000 26400000 p24.2 gneg
chr3 26400000 30900000 p24.1 gpos75
chr3 30900000 32100000 p23 gneg
chr3 32100000 36500000 p22.3 gpos50
chr3 36500000 39400000 p22.2 gneg
chr3 39400000 43700000 p22.1 gpos75
chr3 43700000 44100000 p21.33 gneg
chr3 44100000 44200000 p21.32 gpos50
chr3 44200000 50600000 p21.31 gneg
chr3 50600000 52300000 p21.2 gpos25
chr3 52300000 54400000 p21.1 gneg
chr3 54400000 58600000 p14.3 gpos50
chr3 58600000 63700000 p14.2 gneg
chr3 63700000 69800000 p14.1 gpos50
chr3 69800000 74200000 p13 gneg
chr3 74200000 79800000 p12.3 gpos75
chr3 79800000 83500000 p12.2 gneg
chr3 83500000 87200000 p12.1 gpos75
chr3 87200000 87900000 p11.2 gneg
chr3 87900000 91000000 p11.1 acen
chr3 91000000 93900000 q11.1 acen
chr3 93900000 98300000 q11.2 gvar
chr3 98300000 100000000 q12.1 gneg
chr3 100000000 100900000 q12.2 gpos25
chr3 100900000 102800000 q12.3 gneg
chr3 102800000 106200000 q13.11 gpos75
chr3 106200000 107900000 q13.12 gneg
chr3 107900000 111300000 q13.13 gpos50
chr3 111300000 113500000 q13.2 gneg
chr3 113500000 117300000 q13.31 gpos75
chr3 117300000 119000000 q13.32 gneg
chr3 119000000 121900000 q13.33 gpos75
chr3 121900000 123800000 q21.1 gneg
chr3 123800000 125800000 q21.2 gpos25
chr3 125800000 129200000 q21.3 gneg
chr3 129200000 133700000 q22.1 gpos25
chr3 133700000 135700000 q22.2 gneg
chr3 135700000 138700000 q22.3 gpos25
chr3 138700000 142800000 q23 gneg
chr3 142800000 148900000 q24 gpos100
chr3 148900000 152100000 q25.1 gneg
chr3 152100000 155000000 q25.2 gpos50
chr3 155000000 157000000 q25.31 gneg
chr3 157000000 159000000 q25.32 gpos50
chr3 159000000 160700000 q25.33 gneg
chr3 160700000 167600000 q26.1 gpos100
chr3 167600000 170900000 q26.2 gneg
chr3 170900000 175700000 q26.31 gpos75
chr3 175700000 179000000 q26.32 gneg
chr3 179000000 182700000 q26.33 gpos75
chr3 182700000 184500000 q27.1 gneg
chr3 184500000 186000000 q27.2 gpos25
chr3 186000000 187900000 q27.3 gneg
chr3 187900000 192300000 q28 gpos75
chr3 192300000 198022430 q29 gneg
chr4 0 4500000 p16.3 gneg
chr4 4500000 6000000 p16.2 gpos25
chr4 6000000 11300000 p16.1 gneg
chr4 11300000 15200000 p15.33 gpos50
chr4 15200000 17800000 p15.32 gneg
chr4 17800000 21300000 p15.31 gpos75
chr4 21300000 27700000 p15.2 gneg
chr4 27700000 35800000 p15.1 gpos100
chr4 35800000 41200000 p14 gneg
chr4 41200000 44600000 p13 gpos50
chr4 44600000 48200000 p12 gneg
chr4 48200000 50400000 p11 acen
chr4 50400000 52700000 q11 acen
chr4 52700000 59500000 q12 gneg
chr4 59500000 66600000 q13.1 gpos100
chr4 66600000 70500000 q13.2 gneg
chr4 70500000 76300000 q13.3 gpos75
chr4 76300000 78900000 q21.1 gneg
chr4 78900000 82400000 q21.21 gpos50
chr4 82400000 84100000 q21.22 gneg
chr4 84100000 86900000 q21.23 gpos25
chr4 86900000 88000000 q21.3 gneg
chr4 88000000 93700000 q22.1 gpos75
chr4 93700000 95100000 q22.2 gneg
chr4 95100000 98800000 q22.3 gpos75
chr4 98800000 101100000 q23 gneg
chr4 101100000 107700000 q24 gpos50
chr4 107700000 114100000 q25 gneg
chr4 114100000 120800000 q26 gpos75
chr4 120800000 123800000 q27 gneg
chr4 123800000 128800000 q28.1 gpos50
chr4 128800000 131100000 q28.2 gneg
chr4 131100000 139500000 q28.3 gpos100
chr4 139500000 141500000 q31.1 gneg
chr4 141500000 146800000 q31.21 gpos25
chr4 146800000 148500000 q31.22 gneg
chr4 148500000 151100000 q31.23 gpos25
chr4 151100000 155600000 q31.3 gneg
chr4 155600000 161800000 q32.1 gpos100
chr4 161800000 164500000 q32.2 gneg
chr4 164500000 170100000 q32.3 gpos100
chr4 170100000 171900000 q33 gneg
chr4 171900000 176300000 q34.1 gpos75
chr4 176300000 177500000 q34.2 gneg
chr4 177500000 183200000 q34.3 gpos100
chr4 183200000 187100000 q35.1 gneg
chr4 187100000 191154276 q35.2 gpos25
chr5 0 4500000 p15.33 gneg
chr5 4500000 6300000 p15.32 gpos25
chr5 6300000 9800000 p15.31 gneg
chr5 9800000 15000000 p15.2 gpos50
chr5 15000000 18400000 p15.1 gneg
chr5 18400000 23300000 p14.3 gpos100
chr5 23300000 24600000 p14.2 gneg
chr5 24600000 28900000 p14.1 gpos100
chr5 28900000 33800000 p13.3 gneg
chr5 33800000 38400000 p13.2 gpos25
chr5 38400000 42500000 p13.1 gneg
chr5 42500000 46100000 p12 gpos50
chr5 46100000 48400000 p11 acen
chr5 48400000 50700000 q11.1 acen
chr5 50700000 58900000 q11.2 gneg
chr5 58900000 62900000 q12.1 gpos75
chr5 62900000 63200000 q12.2 gneg
chr5 63200000 66700000 q12.3 gpos75
chr5 66700000 68400000 q13.1 gneg
chr5 68400000 73300000 q13.2 gpos50
chr5 73300000 76900000 q13.3 gneg
chr5 76900000 81400000 q14.1 gpos50
chr5 81400000 82800000 q14.2 gneg
chr5 82800000 92300000 q14.3 gpos100
chr5 92300000 98200000 q15 gneg
chr5 98200000 102800000 q21.1 gpos100
chr5 102800000 104500000 q21.2 gneg
chr5 104500000 109600000 q21.3 gpos100
chr5 109600000 111500000 q22.1 gneg
chr5 111500000 113100000 q22.2 gpos50
chr5 113100000 115200000 q22.3 gneg
chr5 115200000 121400000 q23.1 gpos100
chr5 121400000 127300000 q23.2 gneg
chr5 127300000 130600000 q23.3 gpos100
chr5 130600000 136200000 q31.1 gneg
chr5 136200000 139500000 q31.2 gpos25
chr5 139500000 144500000 q31.3 gneg
chr5 144500000 149800000 q32 gpos75
chr5 149800000 152700000 q33.1 gneg
chr5 152700000 155700000 q33.2 gpos50
chr5 155700000 159900000 q33.3 gneg
chr5 159900000 168500000 q34 gpos100
chr5 168500000 172800000 q35.1 gneg
chr5 172800000 176600000 q35.2 gpos25
chr5 176600000 180915260 q35.3 gneg
chr6 0 2300000 p25.3 gneg
chr6 2300000 4200000 p25.2 gpos25
chr6 4200000 7100000 p25.1 gneg
chr6 7100000 10600000 p24.3 gpos50
chr6 10600000 11600000 p24.2 gneg
chr6 11600000 13400000 p24.1 gpos25
chr6 13400000 15200000 p23 gneg
chr6 15200000 25200000 p22.3 gpos75
chr6 25200000 27000000 p22.2 gneg
chr6 27000000 30400000 p22.1 gpos50
chr6 30400000 32100000 p21.33 gneg
chr6 32100000 33500000 p21.32 gpos25
chr6 33500000 36600000 p21.31 gneg
chr6 36600000 40500000 p21.2 gpos25
chr6 40500000 46200000 p21.1 gneg
chr6 46200000 51800000 p12.3 gpos100
chr6 51800000 52900000 p12.2 gneg
chr6 52900000 57000000 p12.1 gpos100
chr6 57000000 58700000 p11.2 gneg
chr6 58700000 61000000 p11.1 acen
chr6 61000000 63300000 q11.1 acen
chr6 63300000 63400000 q11.2 gneg
chr6 63400000 70000000 q12 gpos100
chr6 70000000 75900000 q13 gneg
chr6 75900000 83900000 q14.1 gpos50
chr6 83900000 84900000 q14.2 gneg
chr6 84900000 88000000 q14.3 gpos50
chr6 88000000 93100000 q15 gneg
chr6 93100000 99500000 q16.1 gpos100
chr6 99500000 100600000 q16.2 gneg
chr6 100600000 105500000 q16.3 gpos100
chr6 105500000 114600000 q21 gneg
chr6 114600000 118300000 q22.1 gpos75
chr6 118300000 118500000 q22.2 gneg
chr6 118500000 126100000 q22.31 gpos100
chr6 126100000 127100000 q22.32 gneg
chr6 127100000 130300000 q22.33 gpos75
chr6 130300000 131200000 q23.1 gneg
chr6 131200000 135200000 q23.2 gpos50
chr6 135200000 139000000 q23.3 gneg
chr6 139000000 142800000 q24.1 gpos75
chr6 142800000 145600000 q24.2 gneg
chr6 145600000 149000000 q24.3 gpos75
chr6 149000000 152500000 q25.1 gneg
chr6 152500000 155500000 q25.2 gpos50
chr6 155500000 161000000 q25.3 gneg
chr6 161000000 164500000 q26 gpos50
chr6 164500000 171115067 q27 gneg
chr7 0 2800000 p22.3 gneg
chr7 2800000 4500000 p22.2 gpos25
chr7 4500000 7300000 p22.1 gneg
chr7 7300000 13800000 p21.3 gpos100
chr7 13800000 16500000 p21.2 gneg
chr7 16500000 20900000 p21.1 gpos100
chr7 20900000 25500000 p15.3 gneg
chr7 25500000 28000000 p15.2 gpos50
chr7 28000000 28800000 p15.1 gneg
chr7 28800000 35000000 p14.3 gpos75
chr7 35000000 37200000 p14.2 gneg
chr7 37200000 43300000 p14.1 gpos75
chr7 43300000 45400000 p13 gneg
chr7 45400000 49000000 p12.3 gpos75
chr7 49000000 50500000 p12.2 gneg
chr7 50500000 54000000 p12.1 gpos75
chr7 54000000 58000000 p11.2 gneg
chr7 58000000 59900000 p11.1 acen
chr7 59900000 61700000 q11.1 acen
chr7 61700000 67000000 q11.21 gneg
chr7 67000000 72200000 q11.22 gpos50
chr7 72200000 77500000 q11.23 gneg
chr7 77500000 86400000 q21.11 gpos100
chr7 86400000 88200000 q21.12 gneg
chr7 88200000 91100000 q21.13 gpos75
chr7 91100000 92800000 q21.2 gneg
chr7 92800000 98000000 q21.3 gpos75
chr7 98000000 103800000 q22.1 gneg
chr7 103800000 104500000 q22.2 gpos50
chr7 104500000 107400000 q22.3 gneg
chr7 107400000 114600000 q31.1 gpos75
chr7 114600000 117400000 q31.2 gneg
chr7 117400000 121100000 q31.31 gpos75
chr7 121100000 123800000 q31.32 gneg
chr7 123800000 127100000 q31.33 gpos75
chr7 127100000 129200000 q32.1 gneg
chr7 129200000 130400000 q32.2 gpos25
chr7 130400000 132600000 q32.3 gneg
chr7 132600000 138200000 q33 gpos50
chr7 138200000 143100000 q34 gneg
chr7 143100000 147900000 q35 gpos75
chr7 147900000 152600000 q36.1 gneg
chr7 152600000 155100000 q36.2 gpos25
chr7 155100000 159138663 q36.3 gneg
chr8 0 2200000 p23.3 gneg
chr8 2200000 6200000 p23.2 gpos75
chr8 6200000 12700000 p23.1 gneg
chr8 12700000 19000000 p22 gpos100
chr8 19000000 23300000 p21.3 gneg
chr8 23300000 27400000 p21.2 gpos50
chr8 27400000 28800000 p21.1 gneg
chr8 28800000 36500000 p12 gpos75
chr8 36500000 38300000 p11.23 gneg
chr8 38300000 39700000 p11.22 gpos25
chr8 39700000 43100000 p11.21 gneg
chr8 43100000 45600000 p11.1 acen
chr8 45600000 48100000 q11.1 acen
chr8 48100000 52200000 q11.21 gneg
chr8 52200000 52600000 q11.22 gpos75
chr8 52600000 55500000 q11.23 gneg
chr8 55500000 61600000 q12.1 gpos50
chr8 61600000 62200000 q12.2 gneg
chr8 62200000 66000000 q12.3 gpos50
chr8 66000000 68000000 q13.1 gneg
chr8 68000000 70500000 q13.2 gpos50
chr8 70500000 73900000 q13.3 gneg
chr8 73900000 78300000 q21.11 gpos100
chr8 78300000 80100000 q21.12 gneg
chr8 80100000 84600000 q21.13 gpos75
chr8 84600000 86900000 q21.2 gneg
chr8 86900000 93300000 q21.3 gpos100
chr8 93300000 99000000 q22.1 gneg
chr8 99000000 101600000 q22.2 gpos25
chr8 101600000 106200000 q22.3 gneg
chr8 106200000 110500000 q23.1 gpos75
chr8 110500000 112100000 q23.2 gneg
chr8 112100000 117700000 q23.3 gpos100
chr8 117700000 119200000 q24.11 gneg
chr8 119200000 122500000 q24.12 gpos50
chr8 122500000 127300000 q24.13 gneg
chr8 127300000 131500000 q24.21 gpos50
chr8 131500000 136400000 q24.22 gneg
chr8 136400000 139900000 q24.23 gpos75
chr8 139900000 146364022 q24.3 gneg
chr9 0 2200000 p24.3 gneg
chr9 2200000 4600000 p24.2 gpos25
chr9 4600000 9000000 p24.1 gneg
chr9 9000000 14200000 p23 gpos75
chr9 14200000 16600000 p22.3 gneg
chr9 16600000 18500000 p22.2 gpos25
chr9 18500000 19900000 p22.1 gneg
chr9 19900000 25600000 p21.3 gpos100
chr9 25600000 28000000 p21.2 gneg
chr9 28000000 33200000 p21.1 gpos100
chr9 33200000 36300000 p13.3 gneg
chr9 36300000 38400000 p13.2 gpos25
chr9 38400000 41000000 p13.1 gneg
chr9 41000000 43600000 p12 gpos50
chr9 43600000 47300000 p11.2 gneg
chr9 47300000 49000000 p11.1 acen
chr9 49000000 50700000 q11 acen
chr9 50700000 65900000 q12 gvar
chr9 65900000 68700000 q13 gneg
chr9 68700000 72200000 q21.11 gpos25
chr9 72200000 74000000 q21.12 gneg
chr9 74000000 79200000 q21.13 gpos50
chr9 79200000 81100000 q21.2 gneg
chr9 81100000 84100000 q21.31 gpos50
chr9 84100000 86900000 q21.32 gneg
chr9 86900000 90400000 q21.33 gpos50
chr9 90400000 91800000 q22.1 gneg
chr9 91800000 93900000 q22.2 gpos25
chr9 93900000 96600000 q22.31 gneg
chr9 96600000 99300000 q22.32 gpos25
chr9 99300000 102600000 q22.33 gneg
chr9 102600000 108200000 q31.1 gpos100
chr9 108200000 111300000 q31.2 gneg
chr9 111300000 114900000 q31.3 gpos25
chr9 114900000 117700000 q32 gneg
chr9 117700000 122500000 q33.1 gpos75
chr9 122500000 125800000 q33.2 gneg
chr9 125800000 130300000 q33.3 gpos25
chr9 130300000 133500000 q34.11 gneg
chr9 133500000 134000000 q34.12 gpos25
chr9 134000000 135900000 q34.13 gneg
chr9 135900000 137400000 q34.2 gpos25
chr9 137400000 141213431 q34.3 gneg
chr10 0 3000000 p15.3 gneg
chr10 3000000 3800000 p15.2 gpos25
chr10 3800000 6600000 p15.1 gneg
chr10 6600000 12200000 p14 gpos75
chr10 12200000 17300000 p13 gneg
chr10 17300000 18600000 p12.33 gpos75
chr10 18600000 18700000 p12.32 gneg
chr10 18700000 22600000 p12.31 gpos75
chr10 22600000 24600000 p12.2 gneg
chr10 24600000 29600000 p12.1 gpos50
chr10 29600000 31300000 p11.23 gneg
chr10 31300000 34400000 p11.22 gpos25
chr10 34400000 38000000 p11.21 gneg
chr10 38000000 40200000 p11.1 acen
chr10 40200000 42300000 q11.1 acen
chr10 42300000 46100000 q11.21 gneg
chr10 46100000 49900000 q11.22 gpos25
chr10 49900000 52900000 q11.23 gneg
chr10 52900000 61200000 q21.1 gpos100
chr10 61200000 64500000 q21.2 gneg
chr10 64500000 70600000 q21.3 gpos100
chr10 70600000 74900000 q22.1 gneg
chr10 74900000 77700000 q22.2 gpos50
chr10 77700000 82000000 q22.3 gneg
chr10 82000000 87900000 q23.1 gpos100
chr10 87900000 89500000 q23.2 gneg
chr10 89500000 92900000 q23.31 gpos75
chr10 92900000 94100000 q23.32 gneg
chr10 94100000 97000000 q23.33 gpos50
chr10 97000000 99300000 q24.1 gneg
chr10 99300000 101900000 q24.2 gpos50
chr10 101900000 103000000 q24.31 gneg
chr10 103000000 104900000 q24.32 gpos25
chr10 104900000 105800000 q24.33 gneg
chr10 105800000 111900000 q25.1 gpos100
chr10 111900000 114900000 q25.2 gneg
chr10 114900000 119100000 q25.3 gpos75
chr10 119100000 121700000 q26.11 gneg
chr10 121700000 123100000 q26.12 gpos50
chr10 123100000 127500000 q26.13 gneg
chr10 127500000 130600000 q26.2 gpos50
chr10 130600000 135534747 q26.3 gneg
chr11 0 2800000 p15.5 gneg
chr11 2800000 10700000 p15.4 gpos50
chr11 10700000 12700000 p15.3 gneg
chr11 12700000 16200000 p15.2 gpos50
chr11 16200000 21700000 p15.1 gneg
chr11 21700000 26100000 p14.3 gpos100
chr11 26100000 27200000 p14.2 gneg
chr11 27200000 31000000 p14.1 gpos75
chr11 31000000 36400000 p13 gneg
chr11 36400000 43500000 p12 gpos100
chr11 43500000 48800000 p11.2 gneg
chr11 48800000 51600000 p11.12 gpos75
chr11 51600000 53700000 p11.11 acen
chr11 53700000 55700000 q11 acen
chr11 55700000 59900000 q12.1 gpos75
chr11 59900000 61700000 q12.2 gneg
chr11 61700000 63400000 q12.3 gpos25
chr11 63400000 65900000 q13.1 gneg
chr11 65900000 68400000 q13.2 gpos25
chr11 68400000 70400000 q13.3 gneg
chr11 70400000 75200000 q13.4 gpos50
chr11 75200000 77100000 q13.5 gneg
chr11 77100000 85600000 q14.1 gpos100
chr11 85600000 88300000 q14.2 gneg
chr11 88300000 92800000 q14.3 gpos100
chr11 92800000 97200000 q21 gneg
chr11 97200000 102100000 q22.1 gpos100
chr11 102100000 102900000 q22.2 gneg
chr11 102900000 110400000 q22.3 gpos100
chr11 110400000 112500000 q23.1 gneg
chr11 112500000 114500000 q23.2 gpos50
chr11 114500000 121200000 q23.3 gneg
chr11 121200000 123900000 q24.1 gpos50
chr11 123900000 127800000 q24.2 gneg
chr11 127800000 130800000 q24.3 gpos50
chr11 130800000 135006516 q25 gneg
chr12 0 3300000 p13.33 gneg
chr12 3300000 5400000 p13.32 gpos25
chr12 5400000 10100000 p13.31 gneg
chr12 10100000 12800000 p13.2 gpos75
chr12 12800000 14800000 p13.1 gneg
chr12 14800000 20000000 p12.3 gpos100
chr12 20000000 21300000 p12.2 gneg
chr12 21300000 26500000 p12.1 gpos100
chr12 26500000 27800000 p11.23 gneg
chr12 27800000 30700000 p11.22 gpos50
chr12 30700000 33300000 p11.21 gneg
chr12 33300000 35800000 p11.1 acen
chr12 35800000 38200000 q11 acen
chr12 38200000 46400000 q12 gpos100
chr12 46400000 49100000 q13.11 gneg
chr12 49100000 51500000 q13.12 gpos25
chr12 51500000 54900000 q13.13 gneg
chr12 54900000 56600000 q13.2 gpos25
chr12 56600000 58100000 q13.3 gneg
chr12 58100000 63100000 q14.1 gpos75
chr12 63100000 65100000 q14.2 gneg
chr12 65100000 67700000 q14.3 gpos50
chr12 67700000 71500000 q15 gneg
chr12 71500000 75700000 q21.1 gpos75
chr12 75700000 80300000 q21.2 gneg
chr12 80300000 86700000 q21.31 gpos100
chr12 86700000 89000000 q21.32 gneg
chr12 89000000 92600000 q21.33 gpos100
chr12 92600000 96200000 q22 gneg
chr12 96200000 101600000 q23.1 gpos75
chr12 101600000 103800000 q23.2 gneg
chr12 103800000 109000000 q23.3 gpos50
chr12 109000000 111700000 q24.11 gneg
chr12 111700000 112300000 q24.12 gpos25
chr12 112300000 114300000 q24.13 gneg
chr12 114300000 116800000 q24.21 gpos50
chr12 116800000 118100000 q24.22 gneg
chr12 118100000 120700000 q24.23 gpos50
chr12 120700000 125900000 q24.31 gneg
chr12 125900000 129300000 q24.32 gpos50
chr12 129300000 133851895 q24.33 gneg
chr13 0 4500000 p13 gvar
chr13 4500000 10000000 p12 stalk
chr13 10000000 16300000 p11.2 gvar
chr13 16300000 17900000 p11.1 acen
chr13 17900000 19500000 q11 acen
chr13 19500000 23300000 q12.11 gneg
chr13 23300000 25500000 q12.12 gpos25
chr13 25500000 27800000 q12.13 gneg
chr13 27800000 28900000 q12.2 gpos25
chr13 28900000 32200000 q12.3 gneg
chr13 32200000 34000000 q13.1 gpos50
chr13 34000000 35500000 q13.2 gneg
chr13 35500000 40100000 q13.3 gpos75
chr13 40100000 45200000 q14.11 gneg
chr13 45200000 45800000 q14.12 gpos25
chr13 45800000 47300000 q14.13 gneg
chr13 47300000 50900000 q14.2 gpos50
chr13 50900000 55300000 q14.3 gneg
chr13 55300000 59600000 q21.1 gpos100
chr13 59600000 62300000 q21.2 gneg
chr13 62300000 65700000 q21.31 gpos75
chr13 65700000 68600000 q21.32 gneg
chr13 68600000 73300000 q21.33 gpos100
chr13 73300000 75400000 q22.1 gneg
chr13 75400000 77200000 q22.2 gpos50
chr13 77200000 79000000 q22.3 gneg
chr13 79000000 87700000 q31.1 gpos100
chr13 87700000 90000000 q31.2 gneg
chr13 90000000 95000000 q31.3 gpos100
chr13 95000000 98200000 q32.1 gneg
chr13 98200000 99300000 q32.2 gpos25
chr13 99300000 101700000 q32.3 gneg
chr13 101700000 104800000 q33.1 gpos100
chr13 104800000 107000000 q33.2 gneg
chr13 107000000 110300000 q33.3 gpos100
chr13 110300000 115169878 q34 gneg
chr14 0 3700000 p13 gvar
chr14 3700000 8100000 p12 stalk
chr14 8100000 16100000 p11.2 gvar
chr14 16100000 17600000 p11.1 acen
chr14 17600000 19100000 q11.1 acen
chr14 19100000 24600000 q11.2 gneg
chr14 24600000 33300000 q12 gpos100
chr14 33300000 35300000 q13.1 gneg
chr14 35300000 36600000 q13.2 gpos50
chr14 36600000 37800000 q13.3 gneg
chr14 37800000 43500000 q21.1 gpos100
chr14 43500000 47200000 q21.2 gneg
chr14 47200000 50900000 q21.3 gpos100
chr14 50900000 54100000 q22.1 gneg
chr14 54100000 55500000 q22.2 gpos25
chr14 55500000 58100000 q22.3 gneg
chr14 58100000 62100000 q23.1 gpos75
chr14 62100000 64800000 q23.2 gneg
chr14 64800000 67900000 q23.3 gpos50
chr14 67900000 70200000 q24.1 gneg
chr14 70200000 73800000 q24.2 gpos50
chr14 73800000 79300000 q24.3 gneg
chr14 79300000 83600000 q31.1 gpos100
chr14 83600000 84900000 q31.2 gneg
chr14 84900000 89800000 q31.3 gpos100
chr14 89800000 91900000 q32.11 gneg
chr14 91900000 94700000 q32.12 gpos25
chr14 94700000 96300000 q32.13 gneg
chr14 96300000 101400000 q32.2 gpos50
chr14 101400000 103200000 q32.31 gneg
chr14 103200000 104000000 q32.32 gpos50
chr14 104000000 107349540 q32.33 gneg
chr15 0 3900000 p13 gvar
chr15 3900000 8700000 p12 stalk
chr15 8700000 15800000 p11.2 gvar
chr15 15800000 19000000 p11.1 acen
chr15 19000000 20700000 q11.1 acen
chr15 20700000 25700000 q11.2 gneg
chr15 25700000 28100000 q12 gpos50
chr15 28100000 30300000 q13.1 gneg
chr15 30300000 31200000 q13.2 gpos50
chr15 31200000 33600000 q13.3 gneg
chr15 33600000 40100000 q14 gpos75
chr15 40100000 42800000 q15.1 gneg
chr15 42800000 43600000 q15.2 gpos25
chr15 43600000 44800000 q15.3 gneg
chr15 44800000 49500000 q21.1 gpos75
chr15 49500000 52900000 q21.2 gneg
chr15 52900000 59100000 q21.3 gpos75
chr15 59100000 59300000 q22.1 gneg
chr15 59300000 63700000 q22.2 gpos25
chr15 63700000 67200000 q22.31 gneg
chr15 67200000 67300000 q22.32 gpos25
chr15 67300000 67500000 q22.33 gneg
chr15 67500000 72700000 q23 gpos25
chr15 72700000 75200000 q24.1 gneg
chr15 75200000 76600000 q24.2 gpos25
chr15 76600000 78300000 q24.3 gneg
chr15 78300000 81700000 q25.1 gpos50
chr15 81700000 85200000 q25.2 gneg
chr15 85200000 89100000 q25.3 gpos50
chr15 89100000 94300000 q26.1 gneg
chr15 94300000 98500000 q26.2 gpos50
chr15 98500000 102531392 q26.3 gneg
chr16 0 7900000 p13.3 gneg
chr16 7900000 10500000 p13.2 gpos50
chr16 10500000 12600000 p13.13 gneg
chr16 12600000 14800000 p13.12 gpos50
chr16 14800000 16800000 p13.11 gneg
chr16 16800000 21200000 p12.3 gpos50
chr16 21200000 24200000 p12.2 gneg
chr16 24200000 28100000 p12.1 gpos50
chr16 28100000 34600000 p11.2 gneg
chr16 34600000 36600000 p11.1 acen
chr16 36600000 38600000 q11.1 acen
chr16 38600000 47000000 q11.2 gvar
chr16 47000000 52600000 q12.1 gneg
chr16 52600000 56700000 q12.2 gpos50
chr16 56700000 57400000 q13 gneg
chr16 57400000 66700000 q21 gpos100
chr16 66700000 70800000 q22.1 gneg
chr16 70800000 72900000 q22.2 gpos50
chr16 72900000 74100000 q22.3 gneg
chr16 74100000 79200000 q23.1 gpos75
chr16 79200000 81700000 q23.2 gneg
chr16 81700000 84200000 q23.3 gpos50
chr16 84200000 87100000 q24.1 gneg
chr16 87100000 88700000 q24.2 gpos25
chr16 88700000 90354753 q24.3 gneg
chr17 0 3300000 p13.3 gneg
chr17 3300000 6500000 p13.2 gpos50
chr17 6500000 10700000 p13.1 gneg
chr17 10700000 16000000 p12 gpos75
chr17 16000000 22200000 p11.2 gneg
chr17 22200000 24000000 p11.1 acen
chr17 24000000 25800000 q11.1 acen
chr17 25800000 31800000 q11.2 gneg
chr17 31800000 38100000 q12 gpos50
chr17 38100000 38400000 q21.1 gneg
chr17 38400000 40900000 q21.2 gpos25
chr17 40900000 44900000 q21.31 gneg
chr17 44900000 47400000 q21.32 gpos25
chr17 47400000 50200000 q21.33 gneg
chr17 50200000 57600000 q22 gpos75
chr17 57600000 58300000 q23.1 gneg
chr17 58300000 61100000 q23.2 gpos75
chr17 61100000 62600000 q23.3 gneg
chr17 62600000 64200000 q24.1 gpos50
chr17 64200000 67100000 q24.2 gneg
chr17 67100000 70900000 q24.3 gpos75
chr17 70900000 74800000 q25.1 gneg
chr17 74800000 75300000 q25.2 gpos25
chr17 75300000 81195210 q25.3 gneg
chr18 0 2900000 p11.32 gneg
chr18 2900000 7100000 p11.31 gpos50
chr18 7100000 8500000 p11.23 gneg
chr18 8500000 10900000 p11.22 gpos25
chr18 10900000 15400000 p11.21 gneg
chr18 15400000 17200000 p11.1 acen
chr18 17200000 19000000 q11.1 acen
chr18 19000000 25000000 q11.2 gneg
chr18 25000000 32700000 q12.1 gpos100
chr18 32700000 37200000 q12.2 gneg
chr18 37200000 43500000 q12.3 gpos75
chr18 43500000 48200000 q21.1 gneg
chr18 48200000 53800000 q21.2 gpos75
chr18 53800000 56200000 q21.31 gneg
chr18 56200000 59000000 q21.32 gpos50
chr18 59000000 61600000 q21.33 gneg
chr18 61600000 66800000 q22.1 gpos100
chr18 66800000 68700000 q22.2 gneg
chr18 68700000 73100000 q22.3 gpos25
chr18 73100000 78077248 q23 gneg
chr19 0 6900000 p13.3 gneg
chr19 6900000 13900000 p13.2 gpos25
chr19 13900000 14000000 p13.13 gneg
chr19 14000000 16300000 p13.12 gpos25
chr19 16300000 20000000 p13.11 gneg
chr19 20000000 24400000 p12 gvar
chr19 24400000 26500000 p11 acen
chr19 26500000 28600000 q11 acen
chr19 28600000 32400000 q12 gvar
chr19 32400000 35500000 q13.11 gneg
chr19 35500000 38300000 q13.12 gpos25
chr19 38300000 38700000 q13.13 gneg
chr19 38700000 43400000 q13.2 gpos25
chr19 43400000 45200000 q13.31 gneg
chr19 45200000 48000000 q13.32 gpos25
chr19 48000000 51400000 q13.33 gneg
chr19 51400000 53600000 q13.41 gpos25
chr19 53600000 56300000 q13.42 gneg
chr19 56300000 59128983 q13.43 gpos25
chr20 0 5100000 p13 gneg
chr20 5100000 9200000 p12.3 gpos75
chr20 9200000 12100000 p12.2 gneg
chr20 12100000 17900000 p12.1 gpos75
chr20 17900000 21300000 p11.23 gneg
chr20 21300000 22300000 p11.22 gpos25
chr20 22300000 25600000 p11.21 gneg
chr20 25600000 27500000 p11.1 acen
chr20 27500000 29400000 q11.1 acen
chr20 29400000 32100000 q11.21 gneg
chr20 32100000 34400000 q11.22 gpos25
chr20 34400000 37600000 q11.23 gneg
chr20 37600000 41700000 q12 gpos75
chr20 41700000 42100000 q13.11 gneg
chr20 42100000 46400000 q13.12 gpos25
chr20 46400000 49800000 q13.13 gneg
chr20 49800000 55000000 q13.2 gpos75
chr20 55000000 56500000 q13.31 gneg
chr20 56500000 58400000 q13.32 gpos50
chr20 58400000 63025520 q13.33 gneg
chr21 0 2800000 p13 gvar
chr21 2800000 6800000 p12 stalk
chr21 6800000 10900000 p11.2 gvar
chr21 10900000 13200000 p11.1 acen
chr21 13200000 14300000 q11.1 acen
chr21 14300000 16400000 q11.2 gneg
chr21 16400000 24000000 q21.1 gpos100
chr21 24000000 26800000 q21.2 gneg
chr21 26800000 31500000 q21.3 gpos75
chr21 31500000 35800000 q22.11 gneg
chr21 35800000 37800000 q22.12 gpos50
chr21 37800000 39700000 q22.13 gneg
chr21 39700000 42600000 q22.2 gpos50
chr21 42600000 48129895 q22.3 gneg
chr22 0 3800000 p13 gvar
chr22 3800000 8300000 p12 stalk
chr22 8300000 12200000 p11.2 gvar
chr22 12200000 14700000 p11.1 acen
chr22 14700000 17900000 q11.1 acen
chr22 17900000 22200000 q11.21 gneg
chr22 22200000 23500000 q11.22 gpos25
chr22 23500000 25900000 q11.23 gneg
chr22 25900000 29600000 q12.1 gpos50
chr22 29600000 32200000 q12.2 gneg
chr22 32200000 37600000 q12.3 gpos50
chr22 37600000 41000000 q13.1 gneg
chr22 41000000 44200000 q13.2 gpos50
chr22 44200000 48400000 q13.31 gneg
chr22 48400000 49400000 q13.32 gpos50
chr22 49400000 51304566 q13.33 gneg
chrX 0 4300000 p22.33 gneg
chrX 4300000 6000000 p22.32 gpos50
chrX 6000000 9500000 p22.31 gneg
chrX 9500000 17100000 p22.2 gpos50
chrX 17100000 19300000 p22.13 gneg
chrX 19300000 21900000 p22.12 gpos50
chrX 21900000 24900000 p22.11 gneg
chrX 24900000 29300000 p21.3 gpos100
chrX 29300000 31500000 p21.2 gneg
chrX 31500000 37600000 p21.1 gpos100
chrX 37600000 42400000 p11.4 gneg
chrX 42400000 46400000 p11.3 gpos75
chrX 46400000 49800000 p11.23 gneg
chrX 49800000 54800000 p11.22 gpos25
chrX 54800000 58100000 p11.21 gneg
chrX 58100000 60600000 p11.1 acen
chrX 60600000 63000000 q11.1 acen
chrX 63000000 64600000 q11.2 gneg
chrX 64600000 67800000 q12 gpos50
chrX 67800000 71800000 q13.1 gneg
chrX 71800000 73900000 q13.2 gpos50
chrX 73900000 76000000 q13.3 gneg
chrX 76000000 84600000 q21.1 gpos100
chrX 84600000 86200000 q21.2 gneg
chrX 86200000 91800000 q21.31 gpos100
chrX 91800000 93500000 q21.32 gneg
chrX 93500000 98300000 q21.33 gpos75
chrX 98300000 102600000 q22.1 gneg
chrX 102600000 103700000 q22.2 gpos50
chrX 103700000 108700000 q22.3 gneg
chrX 108700000 116500000 q23 gpos75
chrX 116500000 120900000 q24 gneg
chrX 120900000 128700000 q25 gpos100
chrX 128700000 130400000 q26.1 gneg
chrX 130400000 133600000 q26.2 gpos25
chrX 133600000 138000000 q26.3 gneg
chrX 138000000 140300000 q27.1 gpos75
chrX 140300000 142100000 q27.2 gneg
chrX 142100000 147100000 q27.3 gpos100
chrX 147100000 155270560 q28 gneg
chrY 0 2500000 p11.32 gneg
chrY 2500000 3000000 p11.31 gpos50
chrY 3000000 11600000 p11.2 gneg
chrY 11600000 12500000 p11.1 acen
chrY 12500000 13400000 q11.1 acen
chrY 13400000 15100000 q11.21 gneg
chrY 15100000 19800000 q11.221 gpos50
chrY 19800000 22100000 q11.222 gneg
chrY 22100000 26200000 q11.223 gpos50
chrY 26200000 28800000 q11.23 gneg
chrY 28800000 59373566 q12 gvar
open2c-bioframe-4fe9b25/bioframe/io/data/hg19.seqinfo.tsv 0000664 0000000 0000000 00000015341 14775257723 0023210 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
chr1 249250621 assembled chr1 primary 1,CM000663.1,NC_000001.10
chr2 243199373 assembled chr2 primary 2,CM000664.1,NC_000002.11
chr3 198022430 assembled chr3 primary 3,CM000665.1,NC_000003.11
chr4 191154276 assembled chr4 primary 4,CM000666.1,NC_000004.11
chr5 180915260 assembled chr5 primary 5,CM000667.1,NC_000005.9
chr6 171115067 assembled chr6 primary 6,CM000668.1,NC_000006.11
chr7 159138663 assembled chr7 primary 7,CM000669.1,NC_000007.13
chr8 146364022 assembled chr8 primary 8,CM000670.1,NC_000008.10
chr9 141213431 assembled chr9 primary 9,CM000671.1,NC_000009.11
chr10 135534747 assembled chr10 primary 10,CM000672.1,NC_000010.10
chr11 135006516 assembled chr11 primary 11,CM000673.1,NC_000011.9
chr12 133851895 assembled chr12 primary 12,CM000674.1,NC_000012.11
chr13 115169878 assembled chr13 primary 13,CM000675.1,NC_000013.10
chr14 107349540 assembled chr14 primary 14,CM000676.1,NC_000014.8
chr15 102531392 assembled chr15 primary 15,CM000677.1,NC_000015.9
chr16 90354753 assembled chr16 primary 16,CM000678.1,NC_000016.9
chr17 81195210 assembled chr17 primary 17,CM000679.1,NC_000017.10
chr18 78077248 assembled chr18 primary 18,CM000680.1,NC_000018.9
chr19 59128983 assembled chr19 primary 19,CM000681.1,NC_000019.9
chr20 63025520 assembled chr20 primary 20,CM000682.1,NC_000020.10
chr21 48129895 assembled chr21 primary 21,CM000683.1,NC_000021.8
chr22 51304566 assembled chr22 primary 22,CM000684.1,NC_000022.10
chrX 155270560 assembled chrX primary X,CM000685.1,NC_000023.10
chrY 59373566 assembled chrY primary Y,CM000686.1,NC_000024.9
chrM 16571 assembled chrM non-nuclear NC_001807.4
chrMT 16569 assembled chrMT non-nuclear-revised MT,J01415.2,NC_012920.1
chr1_gl000191_random 106433 unlocalized chr1 primary GL000191.1,HSCHR1_RANDOM_CTG5,NT_113878.1
chr1_gl000192_random 547496 unlocalized chr1 primary GL000192.1,HSCHR1_RANDOM_CTG12,NT_167207.1
chr4_gl000193_random 189789 unlocalized chr4 primary GL000193.1,HSCHR4_RANDOM_CTG2,NT_113885.1
chr4_gl000194_random 191469 unlocalized chr4 primary GL000194.1,HSCHR4_RANDOM_CTG3,NT_113888.1
chr7_gl000195_random 182896 unlocalized chr7 primary GL000195.1,HSCHR7_RANDOM_CTG1,NT_113901.1
chr8_gl000196_random 38914 unlocalized chr8 primary GL000196.1,HSCHR8_RANDOM_CTG1,NT_113909.1
chr8_gl000197_random 37175 unlocalized chr8 primary GL000197.1,HSCHR8_RANDOM_CTG4,NT_113907.1
chr9_gl000198_random 90085 unlocalized chr9 primary GL000198.1,HSCHR9_RANDOM_CTG1,NT_113914.1
chr9_gl000199_random 169874 unlocalized chr9 primary GL000199.1,HSCHR9_RANDOM_CTG2,NT_113916.2
chr9_gl000200_random 187035 unlocalized chr9 primary GL000200.1,HSCHR9_RANDOM_CTG4,NT_113915.1
chr9_gl000201_random 36148 unlocalized chr9 primary GL000201.1,HSCHR9_RANDOM_CTG5,NT_113911.1
chr11_gl000202_random 40103 unlocalized chr11 primary GL000202.1,HSCHR11_RANDOM_CTG2,NT_113921.2
chr17_gl000203_random 37498 unlocalized chr17 primary GL000203.1,HSCHR17_RANDOM_CTG1,NT_113941.1
chr17_gl000204_random 81310 unlocalized chr17 primary GL000204.1,HSCHR17_RANDOM_CTG2,NT_113943.1
chr17_gl000205_random 174588 unlocalized chr17 primary GL000205.1,HSCHR17_RANDOM_CTG3,NT_113930.1
chr17_gl000206_random 41001 unlocalized chr17 primary GL000206.1,HSCHR17_RANDOM_CTG4,NT_113945.1
chr18_gl000207_random 4262 unlocalized chr18 primary GL000207.1,HSCHR18_RANDOM_CTG1,NT_113947.1
chr19_gl000208_random 92689 unlocalized chr19 primary GL000208.1,HSCHR19_RANDOM_CTG1,NT_113948.1
chr19_gl000209_random 159169 unlocalized chr19 primary GL000209.1,HSCHR19_RANDOM_CTG2,NT_113949.1
chr21_gl000210_random 27682 unlocalized chr21 primary GL000210.1,HSCHR21_RANDOM_CTG9,NT_113950.2
chrUn_gl000211 166566 unplaced primary GL000211.1,HSCHRUN_RANDOM_CTG1,NT_113961.1
chrUn_gl000212 186858 unplaced primary GL000212.1,HSCHRUN_RANDOM_CTG2,NT_113923.1
chrUn_gl000213 164239 unplaced primary GL000213.1,HSCHRUN_RANDOM_CTG3,NT_167208.1
chrUn_gl000214 137718 unplaced primary GL000214.1,HSCHRUN_RANDOM_CTG4,NT_167209.1
chrUn_gl000215 172545 unplaced primary GL000215.1,HSCHRUN_RANDOM_CTG5,NT_167210.1
chrUn_gl000216 172294 unplaced primary GL000216.1,HSCHRUN_RANDOM_CTG6,NT_167211.1
chrUn_gl000217 172149 unplaced primary GL000217.1,HSCHRUN_RANDOM_CTG7,NT_167212.1
chrUn_gl000218 161147 unplaced primary GL000218.1,HSCHRUN_RANDOM_CTG9,NT_113889.1
chrUn_gl000219 179198 unplaced primary GL000219.1,HSCHRUN_RANDOM_CTG10,NT_167213.1
chrUn_gl000220 161802 unplaced primary GL000220.1,HSCHRUN_RANDOM_CTG11,NT_167214.1
chrUn_gl000221 155397 unplaced primary GL000221.1,HSCHRUN_RANDOM_CTG13,NT_167215.1
chrUn_gl000222 186861 unplaced primary GL000222.1,HSCHRUN_RANDOM_CTG14,NT_167216.1
chrUn_gl000223 180455 unplaced primary GL000223.1,HSCHRUN_RANDOM_CTG15,NT_167217.1
chrUn_gl000224 179693 unplaced primary GL000224.1,HSCHRUN_RANDOM_CTG16,NT_167218.1
chrUn_gl000225 211173 unplaced primary GL000225.1,HSCHRUN_RANDOM_CTG17,NT_167219.1
chrUn_gl000226 15008 unplaced primary GL000226.1,HSCHRUN_RANDOM_CTG19,NT_167220.1
chrUn_gl000227 128374 unplaced primary GL000227.1,HSCHRUN_RANDOM_CTG20,NT_167221.1
chrUn_gl000228 129120 unplaced primary GL000228.1,HSCHRUN_RANDOM_CTG21,NT_167222.1
chrUn_gl000229 19913 unplaced primary GL000229.1,HSCHRUN_RANDOM_CTG22,NT_167223.1
chrUn_gl000230 43691 unplaced primary GL000230.1,HSCHRUN_RANDOM_CTG23,NT_167224.1
chrUn_gl000231 27386 unplaced primary GL000231.1,HSCHRUN_RANDOM_CTG24,NT_167225.1
chrUn_gl000232 40652 unplaced primary GL000232.1,HSCHRUN_RANDOM_CTG25,NT_167226.1
chrUn_gl000233 45941 unplaced primary GL000233.1,HSCHRUN_RANDOM_CTG26,NT_167227.1
chrUn_gl000234 40531 unplaced primary GL000234.1,HSCHRUN_RANDOM_CTG27,NT_167228.1
chrUn_gl000235 34474 unplaced primary GL000235.1,HSCHRUN_RANDOM_CTG28,NT_167229.1
chrUn_gl000236 41934 unplaced primary GL000236.1,HSCHRUN_RANDOM_CTG29,NT_167230.1
chrUn_gl000237 45867 unplaced primary GL000237.1,HSCHRUN_RANDOM_CTG30,NT_167231.1
chrUn_gl000238 39939 unplaced primary GL000238.1,HSCHRUN_RANDOM_CTG31,NT_167232.1
chrUn_gl000239 33824 unplaced primary GL000239.1,HSCHRUN_RANDOM_CTG32,NT_167233.1
chrUn_gl000240 41933 unplaced primary GL000240.1,HSCHRUN_RANDOM_CTG33,NT_167234.1
chrUn_gl000241 42152 unplaced primary GL000241.1,HSCHRUN_RANDOM_CTG34,NT_167235.1
chrUn_gl000242 43523 unplaced primary GL000242.1,HSCHRUN_RANDOM_CTG35,NT_167236.1
chrUn_gl000243 43341 unplaced primary GL000243.1,HSCHRUN_RANDOM_CTG36,NT_167237.1
chrUn_gl000244 39929 unplaced primary GL000244.1,HSCHRUN_RANDOM_CTG37,NT_167238.1
chrUn_gl000245 36651 unplaced primary GL000245.1,HSCHRUN_RANDOM_CTG38,NT_167239.1
chrUn_gl000246 38154 unplaced primary GL000246.1,HSCHRUN_RANDOM_CTG39,NT_167240.1
chrUn_gl000247 36422 unplaced primary GL000247.1,HSCHRUN_RANDOM_CTG40,NT_167241.1
chrUn_gl000248 39786 unplaced primary GL000248.1,HSCHRUN_RANDOM_CTG41,NT_167242.1
chrUn_gl000249 38502 unplaced primary GL000249.1,HSCHRUN_RANDOM_CTG42,NT_167243.1
open2c-bioframe-4fe9b25/bioframe/io/data/hg38.cytoband.tsv 0000664 0000000 0000000 00000074067 14775257723 0023362 0 ustar 00root root 0000000 0000000 chrom start end band stain
chr1 0 2300000 p36.33 gneg
chr1 2300000 5300000 p36.32 gpos25
chr1 5300000 7100000 p36.31 gneg
chr1 7100000 9100000 p36.23 gpos25
chr1 9100000 12500000 p36.22 gneg
chr1 12500000 15900000 p36.21 gpos50
chr1 15900000 20100000 p36.13 gneg
chr1 20100000 23600000 p36.12 gpos25
chr1 23600000 27600000 p36.11 gneg
chr1 27600000 29900000 p35.3 gpos25
chr1 29900000 32300000 p35.2 gneg
chr1 32300000 34300000 p35.1 gpos25
chr1 34300000 39600000 p34.3 gneg
chr1 39600000 43700000 p34.2 gpos25
chr1 43700000 46300000 p34.1 gneg
chr1 46300000 50200000 p33 gpos75
chr1 50200000 55600000 p32.3 gneg
chr1 55600000 58500000 p32.2 gpos50
chr1 58500000 60800000 p32.1 gneg
chr1 60800000 68500000 p31.3 gpos50
chr1 68500000 69300000 p31.2 gneg
chr1 69300000 84400000 p31.1 gpos100
chr1 84400000 87900000 p22.3 gneg
chr1 87900000 91500000 p22.2 gpos75
chr1 91500000 94300000 p22.1 gneg
chr1 94300000 99300000 p21.3 gpos75
chr1 99300000 101800000 p21.2 gneg
chr1 101800000 106700000 p21.1 gpos100
chr1 106700000 111200000 p13.3 gneg
chr1 111200000 115500000 p13.2 gpos50
chr1 115500000 117200000 p13.1 gneg
chr1 117200000 120400000 p12 gpos50
chr1 120400000 121700000 p11.2 gneg
chr1 121700000 123400000 p11.1 acen
chr1 123400000 125100000 q11 acen
chr1 125100000 143200000 q12 gvar
chr1 143200000 147500000 q21.1 gneg
chr1 147500000 150600000 q21.2 gpos50
chr1 150600000 155100000 q21.3 gneg
chr1 155100000 156600000 q22 gpos50
chr1 156600000 159100000 q23.1 gneg
chr1 159100000 160500000 q23.2 gpos50
chr1 160500000 165500000 q23.3 gneg
chr1 165500000 167200000 q24.1 gpos50
chr1 167200000 170900000 q24.2 gneg
chr1 170900000 173000000 q24.3 gpos75
chr1 173000000 176100000 q25.1 gneg
chr1 176100000 180300000 q25.2 gpos50
chr1 180300000 185800000 q25.3 gneg
chr1 185800000 190800000 q31.1 gpos100
chr1 190800000 193800000 q31.2 gneg
chr1 193800000 198700000 q31.3 gpos100
chr1 198700000 207100000 q32.1 gneg
chr1 207100000 211300000 q32.2 gpos25
chr1 211300000 214400000 q32.3 gneg
chr1 214400000 223900000 q41 gpos100
chr1 223900000 224400000 q42.11 gneg
chr1 224400000 226800000 q42.12 gpos25
chr1 226800000 230500000 q42.13 gneg
chr1 230500000 234600000 q42.2 gpos50
chr1 234600000 236400000 q42.3 gneg
chr1 236400000 243500000 q43 gpos75
chr1 243500000 248956422 q44 gneg
chr2 0 4400000 p25.3 gneg
chr2 4400000 6900000 p25.2 gpos50
chr2 6900000 12000000 p25.1 gneg
chr2 12000000 16500000 p24.3 gpos75
chr2 16500000 19000000 p24.2 gneg
chr2 19000000 23800000 p24.1 gpos75
chr2 23800000 27700000 p23.3 gneg
chr2 27700000 29800000 p23.2 gpos25
chr2 29800000 31800000 p23.1 gneg
chr2 31800000 36300000 p22.3 gpos75
chr2 36300000 38300000 p22.2 gneg
chr2 38300000 41500000 p22.1 gpos50
chr2 41500000 47500000 p21 gneg
chr2 47500000 52600000 p16.3 gpos100
chr2 52600000 54700000 p16.2 gneg
chr2 54700000 61000000 p16.1 gpos100
chr2 61000000 63900000 p15 gneg
chr2 63900000 68400000 p14 gpos50
chr2 68400000 71300000 p13.3 gneg
chr2 71300000 73300000 p13.2 gpos50
chr2 73300000 74800000 p13.1 gneg
chr2 74800000 83100000 p12 gpos100
chr2 83100000 91800000 p11.2 gneg
chr2 91800000 93900000 p11.1 acen
chr2 93900000 96000000 q11.1 acen
chr2 96000000 102100000 q11.2 gneg
chr2 102100000 105300000 q12.1 gpos50
chr2 105300000 106700000 q12.2 gneg
chr2 106700000 108700000 q12.3 gpos25
chr2 108700000 112200000 q13 gneg
chr2 112200000 118100000 q14.1 gpos50
chr2 118100000 121600000 q14.2 gneg
chr2 121600000 129100000 q14.3 gpos50
chr2 129100000 131700000 q21.1 gneg
chr2 131700000 134300000 q21.2 gpos25
chr2 134300000 136100000 q21.3 gneg
chr2 136100000 141500000 q22.1 gpos100
chr2 141500000 143400000 q22.2 gneg
chr2 143400000 147900000 q22.3 gpos100
chr2 147900000 149000000 q23.1 gneg
chr2 149000000 149600000 q23.2 gpos25
chr2 149600000 154000000 q23.3 gneg
chr2 154000000 158900000 q24.1 gpos75
chr2 158900000 162900000 q24.2 gneg
chr2 162900000 168900000 q24.3 gpos75
chr2 168900000 177100000 q31.1 gneg
chr2 177100000 179700000 q31.2 gpos50
chr2 179700000 182100000 q31.3 gneg
chr2 182100000 188500000 q32.1 gpos75
chr2 188500000 191100000 q32.2 gneg
chr2 191100000 196600000 q32.3 gpos75
chr2 196600000 202500000 q33.1 gneg
chr2 202500000 204100000 q33.2 gpos50
chr2 204100000 208200000 q33.3 gneg
chr2 208200000 214500000 q34 gpos100
chr2 214500000 220700000 q35 gneg
chr2 220700000 224300000 q36.1 gpos75
chr2 224300000 225200000 q36.2 gneg
chr2 225200000 230100000 q36.3 gpos100
chr2 230100000 234700000 q37.1 gneg
chr2 234700000 236400000 q37.2 gpos50
chr2 236400000 242193529 q37.3 gneg
chr3 0 2800000 p26.3 gpos50
chr3 2800000 4000000 p26.2 gneg
chr3 4000000 8100000 p26.1 gpos50
chr3 8100000 11600000 p25.3 gneg
chr3 11600000 13200000 p25.2 gpos25
chr3 13200000 16300000 p25.1 gneg
chr3 16300000 23800000 p24.3 gpos100
chr3 23800000 26300000 p24.2 gneg
chr3 26300000 30800000 p24.1 gpos75
chr3 30800000 32000000 p23 gneg
chr3 32000000 36400000 p22.3 gpos50
chr3 36400000 39300000 p22.2 gneg
chr3 39300000 43600000 p22.1 gpos75
chr3 43600000 44100000 p21.33 gneg
chr3 44100000 44200000 p21.32 gpos50
chr3 44200000 50600000 p21.31 gneg
chr3 50600000 52300000 p21.2 gpos25
chr3 52300000 54400000 p21.1 gneg
chr3 54400000 58600000 p14.3 gpos50
chr3 58600000 63800000 p14.2 gneg
chr3 63800000 69700000 p14.1 gpos50
chr3 69700000 74100000 p13 gneg
chr3 74100000 79800000 p12.3 gpos75
chr3 79800000 83500000 p12.2 gneg
chr3 83500000 87100000 p12.1 gpos75
chr3 87100000 87800000 p11.2 gneg
chr3 87800000 90900000 p11.1 acen
chr3 90900000 94000000 q11.1 acen
chr3 94000000 98600000 q11.2 gvar
chr3 98600000 100300000 q12.1 gneg
chr3 100300000 101200000 q12.2 gpos25
chr3 101200000 103100000 q12.3 gneg
chr3 103100000 106500000 q13.11 gpos75
chr3 106500000 108200000 q13.12 gneg
chr3 108200000 111600000 q13.13 gpos50
chr3 111600000 113700000 q13.2 gneg
chr3 113700000 117600000 q13.31 gpos75
chr3 117600000 119300000 q13.32 gneg
chr3 119300000 122200000 q13.33 gpos75
chr3 122200000 124100000 q21.1 gneg
chr3 124100000 126100000 q21.2 gpos25
chr3 126100000 129500000 q21.3 gneg
chr3 129500000 134000000 q22.1 gpos25
chr3 134000000 136000000 q22.2 gneg
chr3 136000000 139000000 q22.3 gpos25
chr3 139000000 143100000 q23 gneg
chr3 143100000 149200000 q24 gpos100
chr3 149200000 152300000 q25.1 gneg
chr3 152300000 155300000 q25.2 gpos50
chr3 155300000 157300000 q25.31 gneg
chr3 157300000 159300000 q25.32 gpos50
chr3 159300000 161000000 q25.33 gneg
chr3 161000000 167900000 q26.1 gpos100
chr3 167900000 171200000 q26.2 gneg
chr3 171200000 176000000 q26.31 gpos75
chr3 176000000 179300000 q26.32 gneg
chr3 179300000 183000000 q26.33 gpos75
chr3 183000000 184800000 q27.1 gneg
chr3 184800000 186300000 q27.2 gpos25
chr3 186300000 188200000 q27.3 gneg
chr3 188200000 192600000 q28 gpos75
chr3 192600000 198295559 q29 gneg
chr4 0 4500000 p16.3 gneg
chr4 4500000 6000000 p16.2 gpos25
chr4 6000000 11300000 p16.1 gneg
chr4 11300000 15000000 p15.33 gpos50
chr4 15000000 17700000 p15.32 gneg
chr4 17700000 21300000 p15.31 gpos75
chr4 21300000 27700000 p15.2 gneg
chr4 27700000 35800000 p15.1 gpos100
chr4 35800000 41200000 p14 gneg
chr4 41200000 44600000 p13 gpos50
chr4 44600000 48200000 p12 gneg
chr4 48200000 50000000 p11 acen
chr4 50000000 51800000 q11 acen
chr4 51800000 58500000 q12 gneg
chr4 58500000 65500000 q13.1 gpos100
chr4 65500000 69400000 q13.2 gneg
chr4 69400000 75300000 q13.3 gpos75
chr4 75300000 78000000 q21.1 gneg
chr4 78000000 81500000 q21.21 gpos50
chr4 81500000 83200000 q21.22 gneg
chr4 83200000 86000000 q21.23 gpos25
chr4 86000000 87100000 q21.3 gneg
chr4 87100000 92800000 q22.1 gpos75
chr4 92800000 94200000 q22.2 gneg
chr4 94200000 97900000 q22.3 gpos75
chr4 97900000 100100000 q23 gneg
chr4 100100000 106700000 q24 gpos50
chr4 106700000 113200000 q25 gneg
chr4 113200000 119900000 q26 gpos75
chr4 119900000 122800000 q27 gneg
chr4 122800000 127900000 q28.1 gpos50
chr4 127900000 130100000 q28.2 gneg
chr4 130100000 138500000 q28.3 gpos100
chr4 138500000 140600000 q31.1 gneg
chr4 140600000 145900000 q31.21 gpos25
chr4 145900000 147500000 q31.22 gneg
chr4 147500000 150200000 q31.23 gpos25
chr4 150200000 154600000 q31.3 gneg
chr4 154600000 160800000 q32.1 gpos100
chr4 160800000 163600000 q32.2 gneg
chr4 163600000 169200000 q32.3 gpos100
chr4 169200000 171000000 q33 gneg
chr4 171000000 175400000 q34.1 gpos75
chr4 175400000 176600000 q34.2 gneg
chr4 176600000 182300000 q34.3 gpos100
chr4 182300000 186200000 q35.1 gneg
chr4 186200000 190214555 q35.2 gpos25
chr5 0 4400000 p15.33 gneg
chr5 4400000 6300000 p15.32 gpos25
chr5 6300000 9900000 p15.31 gneg
chr5 9900000 15000000 p15.2 gpos50
chr5 15000000 18400000 p15.1 gneg
chr5 18400000 23300000 p14.3 gpos100
chr5 23300000 24600000 p14.2 gneg
chr5 24600000 28900000 p14.1 gpos100
chr5 28900000 33800000 p13.3 gneg
chr5 33800000 38400000 p13.2 gpos25
chr5 38400000 42500000 p13.1 gneg
chr5 42500000 46100000 p12 gpos50
chr5 46100000 48800000 p11 acen
chr5 48800000 51400000 q11.1 acen
chr5 51400000 59600000 q11.2 gneg
chr5 59600000 63600000 q12.1 gpos75
chr5 63600000 63900000 q12.2 gneg
chr5 63900000 67400000 q12.3 gpos75
chr5 67400000 69100000 q13.1 gneg
chr5 69100000 74000000 q13.2 gpos50
chr5 74000000 77600000 q13.3 gneg
chr5 77600000 82100000 q14.1 gpos50
chr5 82100000 83500000 q14.2 gneg
chr5 83500000 93000000 q14.3 gpos100
chr5 93000000 98900000 q15 gneg
chr5 98900000 103400000 q21.1 gpos100
chr5 103400000 105100000 q21.2 gneg
chr5 105100000 110200000 q21.3 gpos100
chr5 110200000 112200000 q22.1 gneg
chr5 112200000 113800000 q22.2 gpos50
chr5 113800000 115900000 q22.3 gneg
chr5 115900000 122100000 q23.1 gpos100
chr5 122100000 127900000 q23.2 gneg
chr5 127900000 131200000 q23.3 gpos100
chr5 131200000 136900000 q31.1 gneg
chr5 136900000 140100000 q31.2 gpos25
chr5 140100000 145100000 q31.3 gneg
chr5 145100000 150400000 q32 gpos75
chr5 150400000 153300000 q33.1 gneg
chr5 153300000 156300000 q33.2 gpos50
chr5 156300000 160500000 q33.3 gneg
chr5 160500000 169000000 q34 gpos100
chr5 169000000 173300000 q35.1 gneg
chr5 173300000 177100000 q35.2 gpos25
chr5 177100000 181538259 q35.3 gneg
chr6 0 2300000 p25.3 gneg
chr6 2300000 4200000 p25.2 gpos25
chr6 4200000 7100000 p25.1 gneg
chr6 7100000 10600000 p24.3 gpos50
chr6 10600000 11600000 p24.2 gneg
chr6 11600000 13400000 p24.1 gpos25
chr6 13400000 15200000 p23 gneg
chr6 15200000 25200000 p22.3 gpos75
chr6 25200000 27100000 p22.2 gneg
chr6 27100000 30500000 p22.1 gpos50
chr6 30500000 32100000 p21.33 gneg
chr6 32100000 33500000 p21.32 gpos25
chr6 33500000 36600000 p21.31 gneg
chr6 36600000 40500000 p21.2 gpos25
chr6 40500000 46200000 p21.1 gneg
chr6 46200000 51800000 p12.3 gpos100
chr6 51800000 53000000 p12.2 gneg
chr6 53000000 57200000 p12.1 gpos100
chr6 57200000 58500000 p11.2 gneg
chr6 58500000 59800000 p11.1 acen
chr6 59800000 62600000 q11.1 acen
chr6 62600000 62700000 q11.2 gneg
chr6 62700000 69200000 q12 gpos100
chr6 69200000 75200000 q13 gneg
chr6 75200000 83200000 q14.1 gpos50
chr6 83200000 84200000 q14.2 gneg
chr6 84200000 87300000 q14.3 gpos50
chr6 87300000 92500000 q15 gneg
chr6 92500000 98900000 q16.1 gpos100
chr6 98900000 100000000 q16.2 gneg
chr6 100000000 105000000 q16.3 gpos100
chr6 105000000 114200000 q21 gneg
chr6 114200000 117900000 q22.1 gpos75
chr6 117900000 118100000 q22.2 gneg
chr6 118100000 125800000 q22.31 gpos100
chr6 125800000 126800000 q22.32 gneg
chr6 126800000 130000000 q22.33 gpos75
chr6 130000000 130900000 q23.1 gneg
chr6 130900000 134700000 q23.2 gpos50
chr6 134700000 138300000 q23.3 gneg
chr6 138300000 142200000 q24.1 gpos75
chr6 142200000 145100000 q24.2 gneg
chr6 145100000 148500000 q24.3 gpos75
chr6 148500000 152100000 q25.1 gneg
chr6 152100000 155200000 q25.2 gpos50
chr6 155200000 160600000 q25.3 gneg
chr6 160600000 164100000 q26 gpos50
chr6 164100000 170805979 q27 gneg
chr7 0 2800000 p22.3 gneg
chr7 2800000 4500000 p22.2 gpos25
chr7 4500000 7200000 p22.1 gneg
chr7 7200000 13700000 p21.3 gpos100
chr7 13700000 16500000 p21.2 gneg
chr7 16500000 20900000 p21.1 gpos100
chr7 20900000 25500000 p15.3 gneg
chr7 25500000 27900000 p15.2 gpos50
chr7 27900000 28800000 p15.1 gneg
chr7 28800000 34900000 p14.3 gpos75
chr7 34900000 37100000 p14.2 gneg
chr7 37100000 43300000 p14.1 gpos75
chr7 43300000 45400000 p13 gneg
chr7 45400000 49000000 p12.3 gpos75
chr7 49000000 50500000 p12.2 gneg
chr7 50500000 53900000 p12.1 gpos75
chr7 53900000 58100000 p11.2 gneg
chr7 58100000 60100000 p11.1 acen
chr7 60100000 62100000 q11.1 acen
chr7 62100000 67500000 q11.21 gneg
chr7 67500000 72700000 q11.22 gpos50
chr7 72700000 77900000 q11.23 gneg
chr7 77900000 86700000 q21.11 gpos100
chr7 86700000 88500000 q21.12 gneg
chr7 88500000 91500000 q21.13 gpos75
chr7 91500000 93300000 q21.2 gneg
chr7 93300000 98400000 q21.3 gpos75
chr7 98400000 104200000 q22.1 gneg
chr7 104200000 104900000 q22.2 gpos50
chr7 104900000 107800000 q22.3 gneg
chr7 107800000 115000000 q31.1 gpos75
chr7 115000000 117700000 q31.2 gneg
chr7 117700000 121400000 q31.31 gpos75
chr7 121400000 124100000 q31.32 gneg
chr7 124100000 127500000 q31.33 gpos75
chr7 127500000 129600000 q32.1 gneg
chr7 129600000 130800000 q32.2 gpos25
chr7 130800000 132900000 q32.3 gneg
chr7 132900000 138500000 q33 gpos50
chr7 138500000 143400000 q34 gneg
chr7 143400000 148200000 q35 gpos75
chr7 148200000 152800000 q36.1 gneg
chr7 152800000 155200000 q36.2 gpos25
chr7 155200000 159345973 q36.3 gneg
chr8 0 2300000 p23.3 gneg
chr8 2300000 6300000 p23.2 gpos75
chr8 6300000 12800000 p23.1 gneg
chr8 12800000 19200000 p22 gpos100
chr8 19200000 23500000 p21.3 gneg
chr8 23500000 27500000 p21.2 gpos50
chr8 27500000 29000000 p21.1 gneg
chr8 29000000 36700000 p12 gpos75
chr8 36700000 38500000 p11.23 gneg
chr8 38500000 39900000 p11.22 gpos25
chr8 39900000 43200000 p11.21 gneg
chr8 43200000 45200000 p11.1 acen
chr8 45200000 47200000 q11.1 acen
chr8 47200000 51300000 q11.21 gneg
chr8 51300000 51700000 q11.22 gpos75
chr8 51700000 54600000 q11.23 gneg
chr8 54600000 60600000 q12.1 gpos50
chr8 60600000 61300000 q12.2 gneg
chr8 61300000 65100000 q12.3 gpos50
chr8 65100000 67100000 q13.1 gneg
chr8 67100000 69600000 q13.2 gpos50
chr8 69600000 72000000 q13.3 gneg
chr8 72000000 74600000 q21.11 gpos100
chr8 74600000 74700000 q21.12 gneg
chr8 74700000 83500000 q21.13 gpos75
chr8 83500000 85900000 q21.2 gneg
chr8 85900000 92300000 q21.3 gpos100
chr8 92300000 97900000 q22.1 gneg
chr8 97900000 100500000 q22.2 gpos25
chr8 100500000 105100000 q22.3 gneg
chr8 105100000 109500000 q23.1 gpos75
chr8 109500000 111100000 q23.2 gneg
chr8 111100000 116700000 q23.3 gpos100
chr8 116700000 118300000 q24.11 gneg
chr8 118300000 121500000 q24.12 gpos50
chr8 121500000 126300000 q24.13 gneg
chr8 126300000 130400000 q24.21 gpos50
chr8 130400000 135400000 q24.22 gneg
chr8 135400000 138900000 q24.23 gpos75
chr8 138900000 145138636 q24.3 gneg
chr9 0 2200000 p24.3 gneg
chr9 2200000 4600000 p24.2 gpos25
chr9 4600000 9000000 p24.1 gneg
chr9 9000000 14200000 p23 gpos75
chr9 14200000 16600000 p22.3 gneg
chr9 16600000 18500000 p22.2 gpos25
chr9 18500000 19900000 p22.1 gneg
chr9 19900000 25600000 p21.3 gpos100
chr9 25600000 28000000 p21.2 gneg
chr9 28000000 33200000 p21.1 gpos100
chr9 33200000 36300000 p13.3 gneg
chr9 36300000 37900000 p13.2 gpos25
chr9 37900000 39000000 p13.1 gneg
chr9 39000000 40000000 p12 gpos50
chr9 40000000 42200000 p11.2 gneg
chr9 42200000 43000000 p11.1 acen
chr9 43000000 45500000 q11 acen
chr9 45500000 61500000 q12 gvar
chr9 61500000 65000000 q13 gneg
chr9 65000000 69300000 q21.11 gpos25
chr9 69300000 71300000 q21.12 gneg
chr9 71300000 76600000 q21.13 gpos50
chr9 76600000 78500000 q21.2 gneg
chr9 78500000 81500000 q21.31 gpos50
chr9 81500000 84300000 q21.32 gneg
chr9 84300000 87800000 q21.33 gpos50
chr9 87800000 89200000 q22.1 gneg
chr9 89200000 91200000 q22.2 gpos25
chr9 91200000 93900000 q22.31 gneg
chr9 93900000 96500000 q22.32 gpos25
chr9 96500000 99800000 q22.33 gneg
chr9 99800000 105400000 q31.1 gpos100
chr9 105400000 108500000 q31.2 gneg
chr9 108500000 112100000 q31.3 gpos25
chr9 112100000 114900000 q32 gneg
chr9 114900000 119800000 q33.1 gpos75
chr9 119800000 123100000 q33.2 gneg
chr9 123100000 127500000 q33.3 gpos25
chr9 127500000 130600000 q34.11 gneg
chr9 130600000 131100000 q34.12 gpos25
chr9 131100000 133100000 q34.13 gneg
chr9 133100000 134500000 q34.2 gpos25
chr9 134500000 138394717 q34.3 gneg
chr10 0 3000000 p15.3 gneg
chr10 3000000 3800000 p15.2 gpos25
chr10 3800000 6600000 p15.1 gneg
chr10 6600000 12200000 p14 gpos75
chr10 12200000 17300000 p13 gneg
chr10 17300000 18300000 p12.33 gpos75
chr10 18300000 18400000 p12.32 gneg
chr10 18400000 22300000 p12.31 gpos75
chr10 22300000 24300000 p12.2 gneg
chr10 24300000 29300000 p12.1 gpos50
chr10 29300000 31100000 p11.23 gneg
chr10 31100000 34200000 p11.22 gpos25
chr10 34200000 38000000 p11.21 gneg
chr10 38000000 39800000 p11.1 acen
chr10 39800000 41600000 q11.1 acen
chr10 41600000 45500000 q11.21 gneg
chr10 45500000 48600000 q11.22 gpos25
chr10 48600000 51100000 q11.23 gneg
chr10 51100000 59400000 q21.1 gpos100
chr10 59400000 62800000 q21.2 gneg
chr10 62800000 68800000 q21.3 gpos100
chr10 68800000 73100000 q22.1 gneg
chr10 73100000 75900000 q22.2 gpos50
chr10 75900000 80300000 q22.3 gneg
chr10 80300000 86100000 q23.1 gpos100
chr10 86100000 87700000 q23.2 gneg
chr10 87700000 91100000 q23.31 gpos75
chr10 91100000 92300000 q23.32 gneg
chr10 92300000 95300000 q23.33 gpos50
chr10 95300000 97500000 q24.1 gneg
chr10 97500000 100100000 q24.2 gpos50
chr10 100100000 101200000 q24.31 gneg
chr10 101200000 103100000 q24.32 gpos25
chr10 103100000 104000000 q24.33 gneg
chr10 104000000 110100000 q25.1 gpos100
chr10 110100000 113100000 q25.2 gneg
chr10 113100000 117300000 q25.3 gpos75
chr10 117300000 119900000 q26.11 gneg
chr10 119900000 121400000 q26.12 gpos50
chr10 121400000 125700000 q26.13 gneg
chr10 125700000 128800000 q26.2 gpos50
chr10 128800000 133797422 q26.3 gneg
chr11 0 2800000 p15.5 gneg
chr11 2800000 11700000 p15.4 gpos50
chr11 11700000 13800000 p15.3 gneg
chr11 13800000 16900000 p15.2 gpos50
chr11 16900000 22000000 p15.1 gneg
chr11 22000000 26200000 p14.3 gpos100
chr11 26200000 27200000 p14.2 gneg
chr11 27200000 31000000 p14.1 gpos75
chr11 31000000 36400000 p13 gneg
chr11 36400000 43400000 p12 gpos100
chr11 43400000 48800000 p11.2 gneg
chr11 48800000 51000000 p11.12 gpos75
chr11 51000000 53400000 p11.11 acen
chr11 53400000 55800000 q11 acen
chr11 55800000 60100000 q12.1 gpos75
chr11 60100000 61900000 q12.2 gneg
chr11 61900000 63600000 q12.3 gpos25
chr11 63600000 66100000 q13.1 gneg
chr11 66100000 68700000 q13.2 gpos25
chr11 68700000 70500000 q13.3 gneg
chr11 70500000 75500000 q13.4 gpos50
chr11 75500000 77400000 q13.5 gneg
chr11 77400000 85900000 q14.1 gpos100
chr11 85900000 88600000 q14.2 gneg
chr11 88600000 93000000 q14.3 gpos100
chr11 93000000 97400000 q21 gneg
chr11 97400000 102300000 q22.1 gpos100
chr11 102300000 103000000 q22.2 gneg
chr11 103000000 110600000 q22.3 gpos100
chr11 110600000 112700000 q23.1 gneg
chr11 112700000 114600000 q23.2 gpos50
chr11 114600000 121300000 q23.3 gneg
chr11 121300000 124000000 q24.1 gpos50
chr11 124000000 127900000 q24.2 gneg
chr11 127900000 130900000 q24.3 gpos50
chr11 130900000 135086622 q25 gneg
chr12 0 3200000 p13.33 gneg
chr12 3200000 5300000 p13.32 gpos25
chr12 5300000 10000000 p13.31 gneg
chr12 10000000 12600000 p13.2 gpos75
chr12 12600000 14600000 p13.1 gneg
chr12 14600000 19800000 p12.3 gpos100
chr12 19800000 21100000 p12.2 gneg
chr12 21100000 26300000 p12.1 gpos100
chr12 26300000 27600000 p11.23 gneg
chr12 27600000 30500000 p11.22 gpos50
chr12 30500000 33200000 p11.21 gneg
chr12 33200000 35500000 p11.1 acen
chr12 35500000 37800000 q11 acen
chr12 37800000 46000000 q12 gpos100
chr12 46000000 48700000 q13.11 gneg
chr12 48700000 51100000 q13.12 gpos25
chr12 51100000 54500000 q13.13 gneg
chr12 54500000 56200000 q13.2 gpos25
chr12 56200000 57700000 q13.3 gneg
chr12 57700000 62700000 q14.1 gpos75
chr12 62700000 64700000 q14.2 gneg
chr12 64700000 67300000 q14.3 gpos50
chr12 67300000 71100000 q15 gneg
chr12 71100000 75300000 q21.1 gpos75
chr12 75300000 79900000 q21.2 gneg
chr12 79900000 86300000 q21.31 gpos100
chr12 86300000 88600000 q21.32 gneg
chr12 88600000 92200000 q21.33 gpos100
chr12 92200000 95800000 q22 gneg
chr12 95800000 101200000 q23.1 gpos75
chr12 101200000 103500000 q23.2 gneg
chr12 103500000 108600000 q23.3 gpos50
chr12 108600000 111300000 q24.11 gneg
chr12 111300000 111900000 q24.12 gpos25
chr12 111900000 113900000 q24.13 gneg
chr12 113900000 116400000 q24.21 gpos50
chr12 116400000 117700000 q24.22 gneg
chr12 117700000 120300000 q24.23 gpos50
chr12 120300000 125400000 q24.31 gneg
chr12 125400000 128700000 q24.32 gpos50
chr12 128700000 133275309 q24.33 gneg
chr13 0 4600000 p13 gvar
chr13 4600000 10100000 p12 stalk
chr13 10100000 16500000 p11.2 gvar
chr13 16500000 17700000 p11.1 acen
chr13 17700000 18900000 q11 acen
chr13 18900000 22600000 q12.11 gneg
chr13 22600000 24900000 q12.12 gpos25
chr13 24900000 27200000 q12.13 gneg
chr13 27200000 28300000 q12.2 gpos25
chr13 28300000 31600000 q12.3 gneg
chr13 31600000 33400000 q13.1 gpos50
chr13 33400000 34900000 q13.2 gneg
chr13 34900000 39500000 q13.3 gpos75
chr13 39500000 44600000 q14.11 gneg
chr13 44600000 45200000 q14.12 gpos25
chr13 45200000 46700000 q14.13 gneg
chr13 46700000 50300000 q14.2 gpos50
chr13 50300000 54700000 q14.3 gneg
chr13 54700000 59000000 q21.1 gpos100
chr13 59000000 61800000 q21.2 gneg
chr13 61800000 65200000 q21.31 gpos75
chr13 65200000 68100000 q21.32 gneg
chr13 68100000 72800000 q21.33 gpos100
chr13 72800000 74900000 q22.1 gneg
chr13 74900000 76700000 q22.2 gpos50
chr13 76700000 78500000 q22.3 gneg
chr13 78500000 87100000 q31.1 gpos100
chr13 87100000 89400000 q31.2 gneg
chr13 89400000 94400000 q31.3 gpos100
chr13 94400000 97500000 q32.1 gneg
chr13 97500000 98700000 q32.2 gpos25
chr13 98700000 101100000 q32.3 gneg
chr13 101100000 104200000 q33.1 gpos100
chr13 104200000 106400000 q33.2 gneg
chr13 106400000 109600000 q33.3 gpos100
chr13 109600000 114364328 q34 gneg
chr14 0 3600000 p13 gvar
chr14 3600000 8000000 p12 stalk
chr14 8000000 16100000 p11.2 gvar
chr14 16100000 17200000 p11.1 acen
chr14 17200000 18200000 q11.1 acen
chr14 18200000 24100000 q11.2 gneg
chr14 24100000 32900000 q12 gpos100
chr14 32900000 34800000 q13.1 gneg
chr14 34800000 36100000 q13.2 gpos50
chr14 36100000 37400000 q13.3 gneg
chr14 37400000 43000000 q21.1 gpos100
chr14 43000000 46700000 q21.2 gneg
chr14 46700000 50400000 q21.3 gpos100
chr14 50400000 53600000 q22.1 gneg
chr14 53600000 55000000 q22.2 gpos25
chr14 55000000 57600000 q22.3 gneg
chr14 57600000 61600000 q23.1 gpos75
chr14 61600000 64300000 q23.2 gneg
chr14 64300000 67400000 q23.3 gpos50
chr14 67400000 69800000 q24.1 gneg
chr14 69800000 73300000 q24.2 gpos50
chr14 73300000 78800000 q24.3 gneg
chr14 78800000 83100000 q31.1 gpos100
chr14 83100000 84400000 q31.2 gneg
chr14 84400000 89300000 q31.3 gpos100
chr14 89300000 91400000 q32.11 gneg
chr14 91400000 94200000 q32.12 gpos25
chr14 94200000 95800000 q32.13 gneg
chr14 95800000 100900000 q32.2 gpos50
chr14 100900000 102700000 q32.31 gneg
chr14 102700000 103500000 q32.32 gpos50
chr14 103500000 107043718 q32.33 gneg
chr15 0 4200000 p13 gvar
chr15 4200000 9700000 p12 stalk
chr15 9700000 17500000 p11.2 gvar
chr15 17500000 19000000 p11.1 acen
chr15 19000000 20500000 q11.1 acen
chr15 20500000 25500000 q11.2 gneg
chr15 25500000 27800000 q12 gpos50
chr15 27800000 30000000 q13.1 gneg
chr15 30000000 30900000 q13.2 gpos50
chr15 30900000 33400000 q13.3 gneg
chr15 33400000 39800000 q14 gpos75
chr15 39800000 42500000 q15.1 gneg
chr15 42500000 43300000 q15.2 gpos25
chr15 43300000 44500000 q15.3 gneg
chr15 44500000 49200000 q21.1 gpos75
chr15 49200000 52600000 q21.2 gneg
chr15 52600000 58800000 q21.3 gpos75
chr15 58800000 59000000 q22.1 gneg
chr15 59000000 63400000 q22.2 gpos25
chr15 63400000 66900000 q22.31 gneg
chr15 66900000 67000000 q22.32 gpos25
chr15 67000000 67200000 q22.33 gneg
chr15 67200000 72400000 q23 gpos25
chr15 72400000 74900000 q24.1 gneg
chr15 74900000 76300000 q24.2 gpos25
chr15 76300000 78000000 q24.3 gneg
chr15 78000000 81400000 q25.1 gpos50
chr15 81400000 84700000 q25.2 gneg
chr15 84700000 88500000 q25.3 gpos50
chr15 88500000 93800000 q26.1 gneg
chr15 93800000 98000000 q26.2 gpos50
chr15 98000000 101991189 q26.3 gneg
chr16 0 7800000 p13.3 gneg
chr16 7800000 10400000 p13.2 gpos50
chr16 10400000 12500000 p13.13 gneg
chr16 12500000 14700000 p13.12 gpos50
chr16 14700000 16700000 p13.11 gneg
chr16 16700000 21200000 p12.3 gpos50
chr16 21200000 24200000 p12.2 gneg
chr16 24200000 28500000 p12.1 gpos50
chr16 28500000 35300000 p11.2 gneg
chr16 35300000 36800000 p11.1 acen
chr16 36800000 38400000 q11.1 acen
chr16 38400000 47000000 q11.2 gvar
chr16 47000000 52600000 q12.1 gneg
chr16 52600000 56000000 q12.2 gpos50
chr16 56000000 57300000 q13 gneg
chr16 57300000 66600000 q21 gpos100
chr16 66600000 70800000 q22.1 gneg
chr16 70800000 72800000 q22.2 gpos50
chr16 72800000 74100000 q22.3 gneg
chr16 74100000 79200000 q23.1 gpos75
chr16 79200000 81600000 q23.2 gneg
chr16 81600000 84100000 q23.3 gpos50
chr16 84100000 87000000 q24.1 gneg
chr16 87000000 88700000 q24.2 gpos25
chr16 88700000 90338345 q24.3 gneg
chr17 0 3400000 p13.3 gneg
chr17 3400000 6500000 p13.2 gpos50
chr17 6500000 10800000 p13.1 gneg
chr17 10800000 16100000 p12 gpos75
chr17 16100000 22700000 p11.2 gneg
chr17 22700000 25100000 p11.1 acen
chr17 25100000 27400000 q11.1 acen
chr17 27400000 33500000 q11.2 gneg
chr17 33500000 39800000 q12 gpos50
chr17 39800000 40200000 q21.1 gneg
chr17 40200000 42800000 q21.2 gpos25
chr17 42800000 46800000 q21.31 gneg
chr17 46800000 49300000 q21.32 gpos25
chr17 49300000 52100000 q21.33 gneg
chr17 52100000 59500000 q22 gpos75
chr17 59500000 60200000 q23.1 gneg
chr17 60200000 63100000 q23.2 gpos75
chr17 63100000 64600000 q23.3 gneg
chr17 64600000 66200000 q24.1 gpos50
chr17 66200000 69100000 q24.2 gneg
chr17 69100000 72900000 q24.3 gpos75
chr17 72900000 76800000 q25.1 gneg
chr17 76800000 77200000 q25.2 gpos25
chr17 77200000 83257441 q25.3 gneg
chr18 0 2900000 p11.32 gneg
chr18 2900000 7200000 p11.31 gpos50
chr18 7200000 8500000 p11.23 gneg
chr18 8500000 10900000 p11.22 gpos25
chr18 10900000 15400000 p11.21 gneg
chr18 15400000 18500000 p11.1 acen
chr18 18500000 21500000 q11.1 acen
chr18 21500000 27500000 q11.2 gneg
chr18 27500000 35100000 q12.1 gpos100
chr18 35100000 39500000 q12.2 gneg
chr18 39500000 45900000 q12.3 gpos75
chr18 45900000 50700000 q21.1 gneg
chr18 50700000 56200000 q21.2 gpos75
chr18 56200000 58600000 q21.31 gneg
chr18 58600000 61300000 q21.32 gpos50
chr18 61300000 63900000 q21.33 gneg
chr18 63900000 69100000 q22.1 gpos100
chr18 69100000 71000000 q22.2 gneg
chr18 71000000 75400000 q22.3 gpos25
chr18 75400000 80373285 q23 gneg
chr19 0 6900000 p13.3 gneg
chr19 6900000 12600000 p13.2 gpos25
chr19 12600000 13800000 p13.13 gneg
chr19 13800000 16100000 p13.12 gpos25
chr19 16100000 19900000 p13.11 gneg
chr19 19900000 24200000 p12 gvar
chr19 24200000 26200000 p11 acen
chr19 26200000 28100000 q11 acen
chr19 28100000 31900000 q12 gvar
chr19 31900000 35100000 q13.11 gneg
chr19 35100000 37800000 q13.12 gpos25
chr19 37800000 38200000 q13.13 gneg
chr19 38200000 42900000 q13.2 gpos25
chr19 42900000 44700000 q13.31 gneg
chr19 44700000 47500000 q13.32 gpos25
chr19 47500000 50900000 q13.33 gneg
chr19 50900000 53100000 q13.41 gpos25
chr19 53100000 55800000 q13.42 gneg
chr19 55800000 58617616 q13.43 gpos25
chr20 0 5100000 p13 gneg
chr20 5100000 9200000 p12.3 gpos75
chr20 9200000 12000000 p12.2 gneg
chr20 12000000 17900000 p12.1 gpos75
chr20 17900000 21300000 p11.23 gneg
chr20 21300000 22300000 p11.22 gpos25
chr20 22300000 25700000 p11.21 gneg
chr20 25700000 28100000 p11.1 acen
chr20 28100000 30400000 q11.1 acen
chr20 30400000 33500000 q11.21 gneg
chr20 33500000 35800000 q11.22 gpos25
chr20 35800000 39000000 q11.23 gneg
chr20 39000000 43100000 q12 gpos75
chr20 43100000 43500000 q13.11 gneg
chr20 43500000 47800000 q13.12 gpos25
chr20 47800000 51200000 q13.13 gneg
chr20 51200000 56400000 q13.2 gpos75
chr20 56400000 57800000 q13.31 gneg
chr20 57800000 59700000 q13.32 gpos50
chr20 59700000 64444167 q13.33 gneg
chr21 0 3100000 p13 gvar
chr21 3100000 7000000 p12 stalk
chr21 7000000 10900000 p11.2 gvar
chr21 10900000 12000000 p11.1 acen
chr21 12000000 13000000 q11.1 acen
chr21 13000000 15000000 q11.2 gneg
chr21 15000000 22600000 q21.1 gpos100
chr21 22600000 25500000 q21.2 gneg
chr21 25500000 30200000 q21.3 gpos75
chr21 30200000 34400000 q22.11 gneg
chr21 34400000 36400000 q22.12 gpos50
chr21 36400000 38300000 q22.13 gneg
chr21 38300000 41200000 q22.2 gpos50
chr21 41200000 46709983 q22.3 gneg
chr22 0 4300000 p13 gvar
chr22 4300000 9400000 p12 stalk
chr22 9400000 13700000 p11.2 gvar
chr22 13700000 15000000 p11.1 acen
chr22 15000000 17400000 q11.1 acen
chr22 17400000 21700000 q11.21 gneg
chr22 21700000 23100000 q11.22 gpos25
chr22 23100000 25500000 q11.23 gneg
chr22 25500000 29200000 q12.1 gpos50
chr22 29200000 31800000 q12.2 gneg
chr22 31800000 37200000 q12.3 gpos50
chr22 37200000 40600000 q13.1 gneg
chr22 40600000 43800000 q13.2 gpos50
chr22 43800000 48100000 q13.31 gneg
chr22 48100000 49100000 q13.32 gpos50
chr22 49100000 50818468 q13.33 gneg
chrX 0 4400000 p22.33 gneg
chrX 4400000 6100000 p22.32 gpos50
chrX 6100000 9600000 p22.31 gneg
chrX 9600000 17400000 p22.2 gpos50
chrX 17400000 19200000 p22.13 gneg
chrX 19200000 21900000 p22.12 gpos50
chrX 21900000 24900000 p22.11 gneg
chrX 24900000 29300000 p21.3 gpos100
chrX 29300000 31500000 p21.2 gneg
chrX 31500000 37800000 p21.1 gpos100
chrX 37800000 42500000 p11.4 gneg
chrX 42500000 47600000 p11.3 gpos75
chrX 47600000 50100000 p11.23 gneg
chrX 50100000 54800000 p11.22 gpos25
chrX 54800000 58100000 p11.21 gneg
chrX 58100000 61000000 p11.1 acen
chrX 61000000 63800000 q11.1 acen
chrX 63800000 65400000 q11.2 gneg
chrX 65400000 68500000 q12 gpos50
chrX 68500000 73000000 q13.1 gneg
chrX 73000000 74700000 q13.2 gpos50
chrX 74700000 76800000 q13.3 gneg
chrX 76800000 85400000 q21.1 gpos100
chrX 85400000 87000000 q21.2 gneg
chrX 87000000 92700000 q21.31 gpos100
chrX 92700000 94300000 q21.32 gneg
chrX 94300000 99100000 q21.33 gpos75
chrX 99100000 103300000 q22.1 gneg
chrX 103300000 104500000 q22.2 gpos50
chrX 104500000 109400000 q22.3 gneg
chrX 109400000 117400000 q23 gpos75
chrX 117400000 121800000 q24 gneg
chrX 121800000 129500000 q25 gpos100
chrX 129500000 131300000 q26.1 gneg
chrX 131300000 134500000 q26.2 gpos25
chrX 134500000 138900000 q26.3 gneg
chrX 138900000 141200000 q27.1 gpos75
chrX 141200000 143000000 q27.2 gneg
chrX 143000000 148000000 q27.3 gpos100
chrX 148000000 156040895 q28 gneg
chrY 0 300000 p11.32 gneg
chrY 300000 600000 p11.31 gpos50
chrY 600000 10300000 p11.2 gneg
chrY 10300000 10400000 p11.1 acen
chrY 10400000 10600000 q11.1 acen
chrY 10600000 12400000 q11.21 gneg
chrY 12400000 17100000 q11.221 gpos50
chrY 17100000 19600000 q11.222 gneg
chrY 19600000 23800000 q11.223 gpos50
chrY 23800000 26600000 q11.23 gneg
chrY 26600000 57227415 q12 gvar
open2c-bioframe-4fe9b25/bioframe/io/data/hg38.seqinfo.tsv 0000664 0000000 0000000 00000040165 14775257723 0023213 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
chr1 248956422 assembled chr1 primary 1,CM000663.2,NC_000001.11
chr2 242193529 assembled chr2 primary 2,CM000664.2,NC_000002.12
chr3 198295559 assembled chr3 primary 3,CM000665.2,NC_000003.12
chr4 190214555 assembled chr4 primary 4,CM000666.2,NC_000004.12
chr5 181538259 assembled chr5 primary 5,CM000667.2,NC_000005.10
chr6 170805979 assembled chr6 primary 6,CM000668.2,NC_000006.12
chr7 159345973 assembled chr7 primary 7,CM000669.2,NC_000007.14
chr8 145138636 assembled chr8 primary 8,CM000670.2,NC_000008.11
chr9 138394717 assembled chr9 primary 9,CM000671.2,NC_000009.12
chr10 133797422 assembled chr10 primary 10,CM000672.2,NC_000010.11
chr11 135086622 assembled chr11 primary 11,CM000673.2,NC_000011.10
chr12 133275309 assembled chr12 primary 12,CM000674.2,NC_000012.12
chr13 114364328 assembled chr13 primary 13,CM000675.2,NC_000013.11
chr14 107043718 assembled chr14 primary 14,CM000676.2,NC_000014.9
chr15 101991189 assembled chr15 primary 15,CM000677.2,NC_000015.10
chr16 90338345 assembled chr16 primary 16,CM000678.2,NC_000016.10
chr17 83257441 assembled chr17 primary 17,CM000679.2,NC_000017.11
chr18 80373285 assembled chr18 primary 18,CM000680.2,NC_000018.10
chr19 58617616 assembled chr19 primary 19,CM000681.2,NC_000019.10
chr20 64444167 assembled chr20 primary 20,CM000682.2,NC_000020.11
chr21 46709983 assembled chr21 primary 21,CM000683.2,NC_000021.9
chr22 50818468 assembled chr22 primary 22,CM000684.2,NC_000022.11
chrX 156040895 assembled chrX primary X,CM000685.2,NC_000023.11
chrY 57227415 assembled chrY primary Y,CM000686.2,NC_000024.10
chrM 16569 assembled chrM non-nuclear MT,J01415.2,NC_012920.1
chr1_KI270706v1_random 175055 unlocalized chr1 primary HSCHR1_CTG1_UNLOCALIZED,KI270706.1,NT_187361.1
chr1_KI270707v1_random 32032 unlocalized chr1 primary HSCHR1_CTG2_UNLOCALIZED,KI270707.1,NT_187362.1
chr1_KI270708v1_random 127682 unlocalized chr1 primary HSCHR1_CTG3_UNLOCALIZED,KI270708.1,NT_187363.1
chr1_KI270709v1_random 66860 unlocalized chr1 primary HSCHR1_CTG4_UNLOCALIZED,KI270709.1,NT_187364.1
chr1_KI270710v1_random 40176 unlocalized chr1 primary HSCHR1_CTG5_UNLOCALIZED,KI270710.1,NT_187365.1
chr1_KI270711v1_random 42210 unlocalized chr1 primary HSCHR1_CTG6_UNLOCALIZED,KI270711.1,NT_187366.1
chr1_KI270712v1_random 176043 unlocalized chr1 primary HSCHR1_CTG7_UNLOCALIZED,KI270712.1,NT_187367.1
chr1_KI270713v1_random 40745 unlocalized chr1 primary HSCHR1_CTG8_UNLOCALIZED,KI270713.1,NT_187368.1
chr1_KI270714v1_random 41717 unlocalized chr1 primary HSCHR1_CTG9_UNLOCALIZED,KI270714.1,NT_187369.1
chr2_KI270715v1_random 161471 unlocalized chr2 primary HSCHR2_RANDOM_CTG1,KI270715.1,NT_187370.1
chr2_KI270716v1_random 153799 unlocalized chr2 primary HSCHR2_RANDOM_CTG2,KI270716.1,NT_187371.1
chr3_GL000221v1_random 155397 unlocalized chr3 primary GL000221.1,HSCHR3UN_CTG2,NT_167215.1
chr4_GL000008v2_random 209709 unlocalized chr4 primary GL000008.2,HSCHR4_RANDOM_CTG4,NT_113793.3
chr5_GL000208v1_random 92689 unlocalized chr5 primary GL000208.1,HSCHR5_RANDOM_CTG1,NT_113948.1
chr9_KI270717v1_random 40062 unlocalized chr9 primary HSCHR9_UNLOCALIZED_CTG1,KI270717.1,NT_187372.1
chr9_KI270718v1_random 38054 unlocalized chr9 primary HSCHR9_UNLOCALIZED_CTG2,KI270718.1,NT_187373.1
chr9_KI270719v1_random 176845 unlocalized chr9 primary HSCHR9_UNLOCALIZED_CTG3,KI270719.1,NT_187374.1
chr9_KI270720v1_random 39050 unlocalized chr9 primary HSCHR9_UNLOCALIZED_CTG4,KI270720.1,NT_187375.1
chr11_KI270721v1_random 100316 unlocalized chr11 primary HSCHR11_CTG1_UNLOCALIZED,KI270721.1,NT_187376.1
chr14_GL000009v2_random 201709 unlocalized chr14 primary GL000009.2,HSCHR14_CTG1_UNLOCALIZED,NT_113796.3
chr14_GL000194v1_random 191469 unlocalized chr14 primary GL000194.1,HSCHR14_CTG4_UNLOCALIZED,NT_113888.1
chr14_GL000225v1_random 211173 unlocalized chr14 primary GL000225.1,HSCHR14_CTG2_UNLOCALIZED,NT_167219.1
chr14_KI270722v1_random 194050 unlocalized chr14 primary HSCHR14_CTG3_UNLOCALIZED,KI270722.1,NT_187377.1
chr14_KI270723v1_random 38115 unlocalized chr14 primary HSCHR14_CTG5_UNLOCALIZED,KI270723.1,NT_187378.1
chr14_KI270724v1_random 39555 unlocalized chr14 primary HSCHR14_CTG6_UNLOCALIZED,KI270724.1,NT_187379.1
chr14_KI270725v1_random 172810 unlocalized chr14 primary HSCHR14_CTG7_UNLOCALIZED,KI270725.1,NT_187380.1
chr14_KI270726v1_random 43739 unlocalized chr14 primary HSCHR14_CTG8_UNLOCALIZED,KI270726.1,NT_187381.1
chr15_KI270727v1_random 448248 unlocalized chr15 primary HSCHR15_RANDOM_CTG1,KI270727.1,NT_187382.1
chr16_KI270728v1_random 1872759 unlocalized chr16 primary HSCHR16_RANDOM_CTG1,KI270728.1,NT_187383.1
chr17_GL000205v2_random 185591 unlocalized chr17 primary GL000205.2,HSCHR17_RANDOM_CTG3,NT_113930.2
chr17_KI270729v1_random 280839 unlocalized chr17 primary HSCHR17_RANDOM_CTG4,KI270729.1,NT_187384.1
chr17_KI270730v1_random 112551 unlocalized chr17 primary HSCHR17_RANDOM_CTG5,KI270730.1,NT_187385.1
chr22_KI270731v1_random 150754 unlocalized chr22 primary HSCHR22_UNLOCALIZED_CTG1,KI270731.1,NT_187386.1
chr22_KI270732v1_random 41543 unlocalized chr22 primary HSCHR22_UNLOCALIZED_CTG2,KI270732.1,NT_187387.1
chr22_KI270733v1_random 179772 unlocalized chr22 primary HSCHR22_UNLOCALIZED_CTG3,KI270733.1,NT_187388.1
chr22_KI270734v1_random 165050 unlocalized chr22 primary HSCHR22_UNLOCALIZED_CTG4,KI270734.1,NT_187389.1
chr22_KI270735v1_random 42811 unlocalized chr22 primary HSCHR22_UNLOCALIZED_CTG5,KI270735.1,NT_187390.1
chr22_KI270736v1_random 181920 unlocalized chr22 primary HSCHR22_UNLOCALIZED_CTG6,KI270736.1,NT_187391.1
chr22_KI270737v1_random 103838 unlocalized chr22 primary HSCHR22_UNLOCALIZED_CTG7,KI270737.1,NT_187392.1
chr22_KI270738v1_random 99375 unlocalized chr22 primary HSCHR22_UNLOCALIZED_CTG8,KI270738.1,NT_187393.1
chr22_KI270739v1_random 73985 unlocalized chr22 primary HSCHR22_UNLOCALIZED_CTG9,KI270739.1,NT_187394.1
chrY_KI270740v1_random 37240 unlocalized chrY primary HSCHRY_RANDOM_CTG1,KI270740.1,NT_187395.1
chrUn_GL000195v1 182896 unplaced primary GL000195.1,HSCHRUN_RANDOM_CTG1,NT_113901.1
chrUn_GL000213v1 164239 unplaced primary GL000213.1,HSCHRUN_RANDOM_CTG2,NT_167208.1
chrUn_GL000214v1 137718 unplaced primary GL000214.1,HSCHRUN_RANDOM_CTG4,NT_167209.1
chrUn_GL000216v2 176608 unplaced primary GL000216.2,HSCHRUN_RANDOM_CTG6,NT_167211.2
chrUn_GL000218v1 161147 unplaced primary GL000218.1,HSCHRUN_RANDOM_CTG9,NT_113889.1
chrUn_GL000219v1 179198 unplaced primary GL000219.1,HSCHRUN_RANDOM_CTG10,NT_167213.1
chrUn_GL000220v1 161802 unplaced primary GL000220.1,HSCHRUN_RANDOM_CTG11,NT_167214.1
chrUn_GL000224v1 179693 unplaced primary GL000224.1,HSCHRUN_RANDOM_CTG16,NT_167218.1
chrUn_GL000226v1 15008 unplaced primary GL000226.1,HSCHRUN_RANDOM_CTG19,NT_167220.1
chrUn_KI270302v1 2274 unplaced primary HSCHRUN_RANDOM_100,KI270302.1,NT_187396.1
chrUn_KI270303v1 1942 unplaced primary HSCHRUN_RANDOM_102,KI270303.1,NT_187398.1
chrUn_KI270304v1 2165 unplaced primary HSCHRUN_RANDOM_101,KI270304.1,NT_187397.1
chrUn_KI270305v1 1472 unplaced primary HSCHRUN_RANDOM_103,KI270305.1,NT_187399.1
chrUn_KI270310v1 1201 unplaced primary HSCHRUN_RANDOM_106,KI270310.1,NT_187402.1
chrUn_KI270311v1 12399 unplaced primary HSCHRUN_RANDOM_110,KI270311.1,NT_187406.1
chrUn_KI270312v1 998 unplaced primary HSCHRUN_RANDOM_109,KI270312.1,NT_187405.1
chrUn_KI270315v1 2276 unplaced primary HSCHRUN_RANDOM_108,KI270315.1,NT_187404.1
chrUn_KI270316v1 1444 unplaced primary HSCHRUN_RANDOM_107,KI270316.1,NT_187403.1
chrUn_KI270317v1 37690 unplaced primary HSCHRUN_RANDOM_111,KI270317.1,NT_187407.1
chrUn_KI270320v1 4416 unplaced primary HSCHRUN_RANDOM_105,KI270320.1,NT_187401.1
chrUn_KI270322v1 21476 unplaced primary HSCHRUN_RANDOM_104,KI270322.1,NT_187400.1
chrUn_KI270329v1 1040 unplaced primary HSCHRUN_RANDOM_167,KI270329.1,NT_187459.1
chrUn_KI270330v1 1652 unplaced primary HSCHRUN_RANDOM_166,KI270330.1,NT_187458.1
chrUn_KI270333v1 2699 unplaced primary HSCHRUN_RANDOM_169,KI270333.1,NT_187461.1
chrUn_KI270334v1 1368 unplaced primary HSCHRUN_RANDOM_168,KI270334.1,NT_187460.1
chrUn_KI270335v1 1048 unplaced primary HSCHRUN_RANDOM_170,KI270335.1,NT_187462.1
chrUn_KI270336v1 1026 unplaced primary HSCHRUN_RANDOM_173,KI270336.1,NT_187465.1
chrUn_KI270337v1 1121 unplaced primary HSCHRUN_RANDOM_174,KI270337.1,NT_187466.1
chrUn_KI270338v1 1428 unplaced primary HSCHRUN_RANDOM_171,KI270338.1,NT_187463.1
chrUn_KI270340v1 1428 unplaced primary HSCHRUN_RANDOM_172,KI270340.1,NT_187464.1
chrUn_KI270362v1 3530 unplaced primary HSCHRUN_RANDOM_177,KI270362.1,NT_187469.1
chrUn_KI270363v1 1803 unplaced primary HSCHRUN_RANDOM_175,KI270363.1,NT_187467.1
chrUn_KI270364v1 2855 unplaced primary HSCHRUN_RANDOM_176,KI270364.1,NT_187468.1
chrUn_KI270366v1 8320 unplaced primary HSCHRUN_RANDOM_178,KI270366.1,NT_187470.1
chrUn_KI270371v1 2805 unplaced primary HSCHRUN_RANDOM_202,KI270371.1,NT_187494.1
chrUn_KI270372v1 1650 unplaced primary HSCHRUN_RANDOM_199,KI270372.1,NT_187491.1
chrUn_KI270373v1 1451 unplaced primary HSCHRUN_RANDOM_200,KI270373.1,NT_187492.1
chrUn_KI270374v1 2656 unplaced primary HSCHRUN_RANDOM_198,KI270374.1,NT_187490.1
chrUn_KI270375v1 2378 unplaced primary HSCHRUN_RANDOM_201,KI270375.1,NT_187493.1
chrUn_KI270376v1 1136 unplaced primary HSCHRUN_RANDOM_197,KI270376.1,NT_187489.1
chrUn_KI270378v1 1048 unplaced primary HSCHRUN_RANDOM_179,KI270378.1,NT_187471.1
chrUn_KI270379v1 1045 unplaced primary HSCHRUN_RANDOM_180,KI270379.1,NT_187472.1
chrUn_KI270381v1 1930 unplaced primary HSCHRUN_RANDOM_194,KI270381.1,NT_187486.1
chrUn_KI270382v1 4215 unplaced primary HSCHRUN_RANDOM_196,KI270382.1,NT_187488.1
chrUn_KI270383v1 1750 unplaced primary HSCHRUN_RANDOM_190,KI270383.1,NT_187482.1
chrUn_KI270384v1 1658 unplaced primary HSCHRUN_RANDOM_192,KI270384.1,NT_187484.1
chrUn_KI270385v1 990 unplaced primary HSCHRUN_RANDOM_195,KI270385.1,NT_187487.1
chrUn_KI270386v1 1788 unplaced primary HSCHRUN_RANDOM_188,KI270386.1,NT_187480.1
chrUn_KI270387v1 1537 unplaced primary HSCHRUN_RANDOM_183,KI270387.1,NT_187475.1
chrUn_KI270388v1 1216 unplaced primary HSCHRUN_RANDOM_186,KI270388.1,NT_187478.1
chrUn_KI270389v1 1298 unplaced primary HSCHRUN_RANDOM_181,KI270389.1,NT_187473.1
chrUn_KI270390v1 2387 unplaced primary HSCHRUN_RANDOM_182,KI270390.1,NT_187474.1
chrUn_KI270391v1 1484 unplaced primary HSCHRUN_RANDOM_189,KI270391.1,NT_187481.1
chrUn_KI270392v1 971 unplaced primary HSCHRUN_RANDOM_193,KI270392.1,NT_187485.1
chrUn_KI270393v1 1308 unplaced primary HSCHRUN_RANDOM_191,KI270393.1,NT_187483.1
chrUn_KI270394v1 970 unplaced primary HSCHRUN_RANDOM_187,KI270394.1,NT_187479.1
chrUn_KI270395v1 1143 unplaced primary HSCHRUN_RANDOM_184,KI270395.1,NT_187476.1
chrUn_KI270396v1 1880 unplaced primary HSCHRUN_RANDOM_185,KI270396.1,NT_187477.1
chrUn_KI270411v1 2646 unplaced primary HSCHRUN_RANDOM_113,KI270411.1,NT_187409.1
chrUn_KI270412v1 1179 unplaced primary HSCHRUN_RANDOM_112,KI270412.1,NT_187408.1
chrUn_KI270414v1 2489 unplaced primary HSCHRUN_RANDOM_114,KI270414.1,NT_187410.1
chrUn_KI270417v1 2043 unplaced primary HSCHRUN_RANDOM_119,KI270417.1,NT_187415.1
chrUn_KI270418v1 2145 unplaced primary HSCHRUN_RANDOM_116,KI270418.1,NT_187412.1
chrUn_KI270419v1 1029 unplaced primary HSCHRUN_RANDOM_115,KI270419.1,NT_187411.1
chrUn_KI270420v1 2321 unplaced primary HSCHRUN_RANDOM_117,KI270420.1,NT_187413.1
chrUn_KI270422v1 1445 unplaced primary HSCHRUN_RANDOM_120,KI270422.1,NT_187416.1
chrUn_KI270423v1 981 unplaced primary HSCHRUN_RANDOM_121,KI270423.1,NT_187417.1
chrUn_KI270424v1 2140 unplaced primary HSCHRUN_RANDOM_118,KI270424.1,NT_187414.1
chrUn_KI270425v1 1884 unplaced primary HSCHRUN_RANDOM_122,KI270425.1,NT_187418.1
chrUn_KI270429v1 1361 unplaced primary HSCHRUN_RANDOM_123,KI270429.1,NT_187419.1
chrUn_KI270435v1 92983 unplaced primary HSCHRUN_RANDOM_128,KI270435.1,NT_187424.1
chrUn_KI270438v1 112505 unplaced primary HSCHRUN_RANDOM_129,KI270438.1,NT_187425.1
chrUn_KI270442v1 392061 unplaced primary HSCHRUN_RANDOM_124,KI270442.1,NT_187420.1
chrUn_KI270448v1 7992 unplaced primary HSCHRUN_RANDOM_203,KI270448.1,NT_187495.1
chrUn_KI270465v1 1774 unplaced primary HSCHRUN_RANDOM_126,KI270465.1,NT_187422.1
chrUn_KI270466v1 1233 unplaced primary HSCHRUN_RANDOM_125,KI270466.1,NT_187421.1
chrUn_KI270467v1 3920 unplaced primary HSCHRUN_RANDOM_127,KI270467.1,NT_187423.1
chrUn_KI270468v1 4055 unplaced primary HSCHRUN_RANDOM_130,KI270468.1,NT_187426.1
chrUn_KI270507v1 5353 unplaced primary HSCHRUN_RANDOM_141,KI270507.1,NT_187437.1
chrUn_KI270508v1 1951 unplaced primary HSCHRUN_RANDOM_134,KI270508.1,NT_187430.1
chrUn_KI270509v1 2318 unplaced primary HSCHRUN_RANDOM_132,KI270509.1,NT_187428.1
chrUn_KI270510v1 2415 unplaced primary HSCHRUN_RANDOM_131,KI270510.1,NT_187427.1
chrUn_KI270511v1 8127 unplaced primary HSCHRUN_RANDOM_139,KI270511.1,NT_187435.1
chrUn_KI270512v1 22689 unplaced primary HSCHRUN_RANDOM_136,KI270512.1,NT_187432.1
chrUn_KI270515v1 6361 unplaced primary HSCHRUN_RANDOM_140,KI270515.1,NT_187436.1
chrUn_KI270516v1 1300 unplaced primary HSCHRUN_RANDOM_135,KI270516.1,NT_187431.1
chrUn_KI270517v1 3253 unplaced primary HSCHRUN_RANDOM_142,KI270517.1,NT_187438.1
chrUn_KI270518v1 2186 unplaced primary HSCHRUN_RANDOM_133,KI270518.1,NT_187429.1
chrUn_KI270519v1 138126 unplaced primary HSCHRUN_RANDOM_137,KI270519.1,NT_187433.1
chrUn_KI270521v1 7642 unplaced primary HSCHRUN_RANDOM_204,KI270521.1,NT_187496.1
chrUn_KI270522v1 5674 unplaced primary HSCHRUN_RANDOM_138,KI270522.1,NT_187434.1
chrUn_KI270528v1 2983 unplaced primary HSCHRUN_RANDOM_144,KI270528.1,NT_187440.1
chrUn_KI270529v1 1899 unplaced primary HSCHRUN_RANDOM_143,KI270529.1,NT_187439.1
chrUn_KI270530v1 2168 unplaced primary HSCHRUN_RANDOM_145,KI270530.1,NT_187441.1
chrUn_KI270538v1 91309 unplaced primary HSCHRUN_RANDOM_147,KI270538.1,NT_187443.1
chrUn_KI270539v1 993 unplaced primary HSCHRUN_RANDOM_146,KI270539.1,NT_187442.1
chrUn_KI270544v1 1202 unplaced primary HSCHRUN_RANDOM_148,KI270544.1,NT_187444.1
chrUn_KI270548v1 1599 unplaced primary HSCHRUN_RANDOM_149,KI270548.1,NT_187445.1
chrUn_KI270579v1 31033 unplaced primary HSCHRUN_RANDOM_158,KI270579.1,NT_187450.1
chrUn_KI270580v1 1553 unplaced primary HSCHRUN_RANDOM_156,KI270580.1,NT_187448.1
chrUn_KI270581v1 7046 unplaced primary HSCHRUN_RANDOM_157,KI270581.1,NT_187449.1
chrUn_KI270582v1 6504 unplaced primary HSCHRUN_RANDOM_162,KI270582.1,NT_187454.1
chrUn_KI270583v1 1400 unplaced primary HSCHRUN_RANDOM_154,KI270583.1,NT_187446.1
chrUn_KI270584v1 4513 unplaced primary HSCHRUN_RANDOM_161,KI270584.1,NT_187453.1
chrUn_KI270587v1 2969 unplaced primary HSCHRUN_RANDOM_155,KI270587.1,NT_187447.1
chrUn_KI270588v1 6158 unplaced primary HSCHRUN_RANDOM_163,KI270588.1,NT_187455.1
chrUn_KI270589v1 44474 unplaced primary HSCHRUN_RANDOM_159,KI270589.1,NT_187451.1
chrUn_KI270590v1 4685 unplaced primary HSCHRUN_RANDOM_160,KI270590.1,NT_187452.1
chrUn_KI270591v1 5796 unplaced primary HSCHRUN_RANDOM_165,KI270591.1,NT_187457.1
chrUn_KI270593v1 3041 unplaced primary HSCHRUN_RANDOM_164,KI270593.1,NT_187456.1
chrUn_KI270741v1 157432 unplaced primary HSCHRUN_RANDOM_CTG17,KI270741.1,NT_187497.1
chrUn_KI270742v1 186739 unplaced primary HSCHRUN_RANDOM_CTG42,KI270742.1,NT_187513.1
chrUn_KI270743v1 210658 unplaced primary HSCHRUN_RANDOM_CTG20,KI270743.1,NT_187498.1
chrUn_KI270744v1 168472 unplaced primary HSCHRUN_RANDOM_CTG21,KI270744.1,NT_187499.1
chrUn_KI270745v1 41891 unplaced primary HSCHRUN_RANDOM_CTG22,KI270745.1,NT_187500.1
chrUn_KI270746v1 66486 unplaced primary HSCHRUN_RANDOM_CTG23,KI270746.1,NT_187501.1
chrUn_KI270747v1 198735 unplaced primary HSCHRUN_RANDOM_CTG24,KI270747.1,NT_187502.1
chrUn_KI270748v1 93321 unplaced primary HSCHRUN_RANDOM_CTG25,KI270748.1,NT_187503.1
chrUn_KI270749v1 158759 unplaced primary HSCHRUN_RANDOM_CTG26,KI270749.1,NT_187504.1
chrUn_KI270750v1 148850 unplaced primary HSCHRUN_RANDOM_CTG27,KI270750.1,NT_187505.1
chrUn_KI270751v1 150742 unplaced primary HSCHRUN_RANDOM_CTG28,KI270751.1,NT_187506.1
chrUn_KI270752v1 27745 unplaced primary HSCHRUN_RANDOM_CTG29,KI270752.1
chrUn_KI270753v1 62944 unplaced primary HSCHRUN_RANDOM_CTG30,KI270753.1,NT_187508.1
chrUn_KI270754v1 40191 unplaced primary HSCHRUN_RANDOM_CTG33,KI270754.1,NT_187509.1
chrUn_KI270755v1 36723 unplaced primary HSCHRUN_RANDOM_CTG34,KI270755.1,NT_187510.1
chrUn_KI270756v1 79590 unplaced primary HSCHRUN_RANDOM_CTG35,KI270756.1,NT_187511.1
chrUn_KI270757v1 71251 unplaced primary HSCHRUN_RANDOM_CTG36,KI270757.1,NT_187512.1
chrEBV 171823 assembled chrEBV decoy AJ507799.2,NC_007605.1
open2c-bioframe-4fe9b25/bioframe/io/data/hs1.cytoband.tsv 0000664 0000000 0000000 00000074074 14775257723 0023302 0 ustar 00root root 0000000 0000000 chrom start end band stain
chr1 0 1735965 p36.33 gneg
chr1 1735965 4816989 p36.32 gpos25
chr1 4816989 6629068 p36.31 gneg
chr1 6629068 8634052 p36.23 gpos25
chr1 8634052 12044143 p36.22 gneg
chr1 12044143 15341266 p36.21 gpos50
chr1 15341266 19923637 p36.13 gneg
chr1 19923637 23434574 p36.12 gpos25
chr1 23434574 27441306 p36.11 gneg
chr1 27441306 29743244 p35.3 gpos25
chr1 29743244 32157918 p35.2 gneg
chr1 32157918 34161711 p35.1 gpos25
chr1 34161711 39468378 p34.3 gneg
chr1 39468378 43570492 p34.2 gpos25
chr1 43570492 46177222 p34.1 gneg
chr1 46177222 50078974 p33 gpos75
chr1 50078974 55482505 p32.3 gneg
chr1 55482505 58377946 p32.2 gpos50
chr1 58377946 60678767 p32.1 gneg
chr1 60678767 68377386 p31.3 gpos50
chr1 68377386 69177517 p31.2 gneg
chr1 69177517 84240464 p31.1 gpos100
chr1 84240464 87743231 p22.3 gneg
chr1 87743231 91344645 p22.2 gpos75
chr1 91344645 94148241 p22.1 gneg
chr1 94148241 99148340 p21.3 gpos75
chr1 99148340 101649187 p21.2 gneg
chr1 101649187 106737488 p21.1 gpos100
chr1 106737488 111214805 p13.3 gneg
chr1 111214805 115511187 p13.2 gpos50
chr1 115511187 117210493 p13.1 gneg
chr1 117210493 120413269 p12 gpos50
chr1 120413269 121796048 p11.2 gneg
chr1 121796048 124048267 p11.1 acen
chr1 124048267 126300487 q11 acen
chr1 126300487 142241659 q12 gvar
chr1 142241659 147308041 q21.1 gneg
chr1 147308041 149724009 q21.2 gpos50
chr1 149724009 154239365 q21.3 gneg
chr1 154239365 155736378 q22 gpos50
chr1 155736378 158237044 q23.1 gneg
chr1 158237044 159637083 q23.2 gpos50
chr1 159637083 164846435 q23.3 gneg
chr1 164846435 166547042 q24.1 gpos50
chr1 166547042 170256335 q24.2 gneg
chr1 170256335 172358116 q24.3 gpos75
chr1 172358116 175455343 q25.1 gneg
chr1 175455343 179655381 q25.2 gpos50
chr1 179655381 185154686 q25.3 gneg
chr1 185154686 190146214 q31.1 gpos100
chr1 190146214 193148937 q31.2 gneg
chr1 193148937 197959914 q31.3 gpos100
chr1 197959914 206365243 q32.1 gneg
chr1 206365243 210545587 q32.2 gpos25
chr1 210545587 213639518 q32.3 gneg
chr1 213639518 223089723 q41 gpos100
chr1 223089723 223588804 q42.11 gneg
chr1 223588804 225987880 q42.12 gpos25
chr1 225987880 229880334 q42.13 gneg
chr1 229880334 233990393 q42.2 gpos50
chr1 233990393 235800112 q42.3 gneg
chr1 235800112 242911804 q43 gpos75
chr1 242911804 248387328 q44 gneg
chr2 0 4423386 p25.3 gneg
chr2 4423386 6921497 p25.2 gpos50
chr2 6921497 12028815 p25.1 gneg
chr2 12028815 16531703 p24.3 gpos75
chr2 16531703 19032774 p24.2 gneg
chr2 19032774 23835087 p24.1 gpos75
chr2 23835087 27743068 p23.3 gneg
chr2 27743068 29843598 p23.2 gpos25
chr2 29843598 31845058 p23.1 gneg
chr2 31845058 36306629 p22.3 gpos75
chr2 36306629 38306895 p22.2 gneg
chr2 38306895 41509232 p22.1 gpos50
chr2 41509232 47505052 p21 gneg
chr2 47505052 52596301 p16.3 gpos100
chr2 52596301 54694000 p16.2 gneg
chr2 54694000 61005834 p16.1 gpos100
chr2 61005834 63907559 p15 gneg
chr2 63907559 68410570 p14 gpos50
chr2 68410570 71311026 p13.3 gneg
chr2 71311026 73312998 p13.2 gpos50
chr2 73312998 74808844 p13.1 gneg
chr2 74808844 83100333 p12 gpos100
chr2 83100333 92333543 p11.2 gneg
chr2 92333543 93503283 p11.1 acen
chr2 93503283 94673023 q11.1 acen
chr2 94673023 102558292 q11.2 gneg
chr2 102558292 105761211 q12.1 gpos50
chr2 105761211 107161426 q12.2 gneg
chr2 107161426 109160598 q12.3 gpos25
chr2 109160598 112626870 q13 gneg
chr2 112626870 118533173 q14.1 gpos50
chr2 118533173 122035284 q14.2 gneg
chr2 122035284 129528325 q14.3 gpos50
chr2 129528325 132134645 q21.1 gneg
chr2 132134645 134739485 q21.2 gpos25
chr2 134739485 136544463 q21.3 gneg
chr2 136544463 141946261 q22.1 gpos100
chr2 141946261 143848187 q22.2 gneg
chr2 143848187 148350462 q22.3 gpos100
chr2 148350462 149450376 q23.1 gneg
chr2 149450376 150050446 q23.2 gpos25
chr2 150050446 154452841 q23.3 gneg
chr2 154452841 159362096 q24.1 gpos75
chr2 159362096 163356865 q24.2 gneg
chr2 163356865 169374490 q24.3 gpos75
chr2 169374490 177582181 q31.1 gneg
chr2 177582181 180183173 q31.2 gpos50
chr2 180183173 182589080 q31.3 gneg
chr2 182589080 188988809 q32.1 gpos75
chr2 188988809 191589136 q32.2 gneg
chr2 191589136 197084040 q32.3 gpos75
chr2 197084040 202981065 q33.1 gneg
chr2 202981065 204581908 q33.2 gpos50
chr2 204581908 208679779 q33.3 gneg
chr2 208679779 214984516 q34 gpos100
chr2 214984516 221185014 q35 gneg
chr2 221185014 224783144 q36.1 gpos75
chr2 224783144 225681833 q36.2 gneg
chr2 225681833 230582566 q36.3 gpos100
chr2 230582566 235189048 q37.1 gneg
chr2 235189048 236890330 q37.2 gpos50
chr2 236890330 242696752 q37.3 gneg
chr3 0 2794029 p26.3 gpos50
chr3 2794029 3995951 p26.2 gneg
chr3 3995951 8091216 p26.1 gpos50
chr3 8091216 11595822 p25.3 gneg
chr3 11595822 13200348 p25.2 gpos25
chr3 13200348 16301213 p25.1 gneg
chr3 16301213 23804776 p24.3 gpos100
chr3 23804776 26302605 p24.2 gneg
chr3 26302605 30802486 p24.1 gpos75
chr3 30802486 32002957 p23 gneg
chr3 32002957 36401366 p22.3 gpos50
chr3 36401366 39312902 p22.2 gneg
chr3 39312902 43615563 p22.1 gpos75
chr3 43615563 44115566 p21.33 gneg
chr3 44115566 44215563 p21.32 gpos50
chr3 44215563 50629881 p21.31 gneg
chr3 50629881 52332899 p21.2 gpos25
chr3 52332899 54433863 p21.1 gneg
chr3 54433863 58640379 p14.3 gpos50
chr3 58640379 63843624 p14.2 gneg
chr3 63843624 69736880 p14.1 gpos50
chr3 69736880 74141615 p13 gneg
chr3 74141615 79855975 p12.3 gpos75
chr3 79855975 83556432 p12.2 gneg
chr3 83556432 87174355 p12.1 gpos75
chr3 87174355 91738002 p11.2 gneg
chr3 91738002 94076514 p11.1 acen
chr3 94076514 96415026 q11.1 acen
chr3 96415026 101303688 q11.2 gvar
chr3 101303688 103005343 q12.1 gneg
chr3 103005343 103905942 q12.2 gpos25
chr3 103905942 105816831 q12.3 gneg
chr3 105816831 109218980 q13.11 gpos75
chr3 109218980 110919781 q13.12 gneg
chr3 110919781 114320814 q13.13 gpos50
chr3 114320814 116421198 q13.2 gneg
chr3 116421198 120319753 q13.31 gpos75
chr3 120319753 122019706 q13.32 gneg
chr3 122019706 124919592 q13.33 gpos75
chr3 124919592 126826138 q21.1 gneg
chr3 126826138 128832394 q21.2 gpos25
chr3 128832394 132244475 q21.3 gneg
chr3 132244475 136745163 q22.1 gpos25
chr3 136745163 138745773 q22.2 gneg
chr3 138745773 141741001 q22.3 gpos25
chr3 141741001 145847398 q23 gneg
chr3 145847398 151950769 q24 gpos100
chr3 151950769 155067896 q25.1 gneg
chr3 155067896 158073984 q25.2 gpos50
chr3 158073984 160074579 q25.31 gneg
chr3 160074579 162074354 q25.32 gpos50
chr3 162074354 163774734 q25.33 gneg
chr3 163774734 170683909 q26.1 gpos100
chr3 170683909 173984304 q26.2 gneg
chr3 173984304 178794975 q26.31 gpos75
chr3 178794975 182103836 q26.32 gneg
chr3 182103836 185805095 q26.33 gpos75
chr3 185805095 187615802 q27.1 gneg
chr3 187615802 189115680 q27.2 gpos25
chr3 189115680 191017553 q27.3 gneg
chr3 191017553 195295941 q28 gpos75
chr3 195295941 201105948 q29 gneg
chr4 0 4469440 p16.3 gneg
chr4 4469440 5971735 p16.2 gpos25
chr4 5971735 11276065 p16.1 gneg
chr4 11276065 14981780 p15.33 gpos50
chr4 14981780 17682307 p15.32 gneg
chr4 17682307 21281575 p15.31 gpos75
chr4 21281575 27685358 p15.2 gneg
chr4 27685358 35768949 p15.1 gpos100
chr4 35768949 41173799 p14 gneg
chr4 41173799 44566953 p13 gpos50
chr4 44566953 49705154 p12 gneg
chr4 49705154 52452474 p11 acen
chr4 52452474 55199795 q11 acen
chr4 55199795 61991213 q12 gneg
chr4 61991213 68936809 q13.1 gpos100
chr4 68936809 72734812 q13.2 gneg
chr4 72734812 78640131 q13.3 gpos75
chr4 78640131 81340837 q21.1 gneg
chr4 81340837 84829707 q21.21 gpos50
chr4 84829707 86530115 q21.22 gneg
chr4 86530115 89329480 q21.23 gpos25
chr4 89329480 90429379 q21.3 gneg
chr4 90429379 96127729 q22.1 gpos75
chr4 96127729 97515472 q22.2 gneg
chr4 97515472 101214669 q22.3 gpos75
chr4 101214669 103415497 q23 gneg
chr4 103415497 110005081 q24 gpos50
chr4 110005081 116508718 q25 gneg
chr4 116508718 123205172 q26 gpos75
chr4 123205172 126104099 q27 gneg
chr4 126104099 131203026 q28.1 gpos50
chr4 131203026 133404460 q28.2 gneg
chr4 133404460 141823705 q28.3 gpos100
chr4 141823705 143919702 q31.1 gneg
chr4 143919702 149216051 q31.21 gpos25
chr4 149216051 150824125 q31.22 gneg
chr4 150824125 153521681 q31.23 gpos25
chr4 153521681 157931811 q31.3 gneg
chr4 157931811 164150415 q32.1 gpos100
chr4 164150415 166947399 q32.2 gneg
chr4 166947399 172559730 q32.3 gpos100
chr4 172559730 174357423 q33 gneg
chr4 174357423 178738596 q34.1 gpos75
chr4 178738596 179939101 q34.2 gneg
chr4 179939101 185641813 q34.3 gpos100
chr4 185641813 189540361 q35.1 gneg
chr4 189540361 193574945 q35.2 gpos25
chr5 0 4327607 p15.33 gneg
chr5 4327607 6228676 p15.32 gpos25
chr5 6228676 9839807 p15.31 gneg
chr5 9839807 14939449 p15.2 gpos50
chr5 14939449 18401838 p15.1 gneg
chr5 18401838 23407694 p14.3 gpos100
chr5 23407694 24705214 p14.2 gneg
chr5 24705214 29005224 p14.1 gpos100
chr5 29005224 33919872 p13.3 gneg
chr5 33919872 38649069 p13.2 gpos25
chr5 38649069 42755507 p13.1 gneg
chr5 42755507 47039134 p12 gpos50
chr5 47039134 48317879 p11 acen
chr5 48317879 49596625 q11.1 acen
chr5 49596625 60418219 q11.2 gneg
chr5 60418219 64420173 q12.1 gpos75
chr5 64420173 64720135 q12.2 gneg
chr5 64720135 68222153 q12.3 gpos75
chr5 68222153 69922486 q13.1 gneg
chr5 69922486 74481328 q13.2 gpos50
chr5 74481328 78082577 q13.3 gneg
chr5 78082577 82584664 q14.1 gpos50
chr5 82584664 83988771 q14.2 gneg
chr5 83988771 93484055 q14.3 gpos100
chr5 93484055 99403284 q15 gneg
chr5 99403284 103908183 q21.1 gpos100
chr5 103908183 105604211 q21.2 gneg
chr5 105604211 110710493 q21.3 gpos100
chr5 110710493 112710455 q22.1 gneg
chr5 112710455 114312885 q22.2 gpos50
chr5 114312885 116412397 q22.3 gneg
chr5 116412397 122616882 q23.1 gpos100
chr5 122616882 128419736 q23.2 gneg
chr5 128419736 131718996 q23.3 gpos100
chr5 131718996 137422646 q31.1 gneg
chr5 137422646 140625098 q31.2 gpos25
chr5 140625098 145634538 q31.3 gneg
chr5 145634538 150936541 q32 gpos75
chr5 150936541 153833148 q33.1 gneg
chr5 153833148 156818817 q33.2 gpos50
chr5 156818817 161028563 q33.3 gneg
chr5 161028563 169535680 q34 gpos100
chr5 169535680 173840079 q35.1 gneg
chr5 173840079 177643208 q35.2 gpos25
chr5 177643208 182045439 q35.3 gneg
chr6 0 2163637 p25.3 gneg
chr6 2163637 4069276 p25.2 gpos25
chr6 4069276 6969513 p25.1 gneg
chr6 6969513 10467733 p24.3 gpos50
chr6 10467733 11468370 p24.2 gneg
chr6 11468370 13273264 p24.1 gpos25
chr6 13273264 15073193 p23 gneg
chr6 15073193 25065737 p22.3 gpos75
chr6 25065737 26968681 p22.2 gneg
chr6 26968681 30364188 p22.1 gpos50
chr6 30364188 31953196 p21.33 gneg
chr6 31953196 33321362 p21.32 gpos25
chr6 33321362 36420643 p21.31 gneg
chr6 36420643 40327879 p21.2 gpos25
chr6 40327879 46035128 p21.1 gneg
chr6 46035128 51643048 p12.3 gpos100
chr6 51643048 52839576 p12.2 gneg
chr6 52839576 57039025 p12.1 gpos100
chr6 57039025 58286706 p11.2 gneg
chr6 58286706 59672548 p11.1 acen
chr6 59672548 61058390 q11.1 acen
chr6 61058390 63845066 q11.2 gneg
chr6 63845066 70378649 q12 gpos100
chr6 70378649 76377151 q13 gneg
chr6 76377151 84423242 q14.1 gpos50
chr6 84423242 85423294 q14.2 gneg
chr6 85423294 88508804 q14.3 gpos50
chr6 88508804 93711666 q15 gneg
chr6 93711666 100074369 q16.1 gpos100
chr6 100074369 101173694 q16.2 gneg
chr6 101173694 106176013 q16.3 gpos100
chr6 106176013 115383115 q21 gneg
chr6 115383115 119084265 q22.1 gpos75
chr6 119084265 119285071 q22.2 gneg
chr6 119285071 126988674 q22.31 gpos100
chr6 126988674 127988742 q22.32 gneg
chr6 127988742 131194763 q22.33 gpos75
chr6 131194763 132095087 q23.1 gneg
chr6 132095087 135888233 q23.2 gpos50
chr6 135888233 139488489 q23.3 gneg
chr6 139488489 143392072 q24.1 gpos75
chr6 143392072 146292619 q24.2 gneg
chr6 146292619 149696304 q24.3 gpos75
chr6 149696304 153301308 q25.1 gneg
chr6 153301308 156401943 q25.2 gpos50
chr6 156401943 161852984 q25.3 gneg
chr6 161852984 165464819 q26 gpos50
chr6 165464819 172126628 q27 gneg
chr7 0 2913569 p22.3 gneg
chr7 2913569 4616674 p22.2 gpos25
chr7 4616674 7319206 p22.1 gneg
chr7 7319206 13832042 p21.3 gpos100
chr7 13832042 16629717 p21.2 gneg
chr7 16629717 21036083 p21.1 gpos100
chr7 21036083 25635438 p15.3 gneg
chr7 25635438 28037762 p15.2 gpos50
chr7 28037762 28937489 p15.1 gneg
chr7 28937489 35040677 p14.3 gpos75
chr7 35040677 37240409 p14.2 gneg
chr7 37240409 43458167 p14.1 gpos75
chr7 43458167 45560768 p13 gneg
chr7 45560768 49160858 p12.3 gpos75
chr7 49160858 50661224 p12.2 gneg
chr7 50661224 54061627 p12.1 gpos75
chr7 54061627 60414372 p11.2 gneg
chr7 60414372 62064435 p11.1 acen
chr7 62064435 63714499 q11.1 acen
chr7 63714499 68720114 q11.21 gneg
chr7 68720114 73918537 q11.22 gpos50
chr7 73918537 79151921 q11.23 gneg
chr7 79151921 87949894 q21.11 gpos100
chr7 87949894 89750628 q21.12 gneg
chr7 89750628 92747879 q21.13 gpos75
chr7 92747879 94542054 q21.2 gneg
chr7 94542054 99630796 q21.3 gpos75
chr7 99630796 105514255 q22.1 gneg
chr7 105514255 106214835 q22.2 gpos50
chr7 106214835 109118351 q22.3 gneg
chr7 109118351 116314793 q31.1 gpos75
chr7 116314793 119015389 q31.2 gneg
chr7 119015389 122715324 q31.31 gpos75
chr7 122715324 125416714 q31.32 gneg
chr7 125416714 128811644 q31.33 gpos75
chr7 128811644 130913119 q32.1 gneg
chr7 130913119 132117533 q32.2 gpos25
chr7 132117533 134221510 q32.3 gneg
chr7 134221510 139809728 q33 gpos50
chr7 139809728 144755427 q34 gneg
chr7 144755427 149379963 q35 gpos75
chr7 149379963 153973252 q36.1 gneg
chr7 153973252 156375514 q36.2 gpos25
chr7 156375514 160567428 q36.3 gneg
chr8 0 2084125 p23.3 gneg
chr8 2084125 6054502 p23.2 gpos75
chr8 6054502 13066163 p23.1 gneg
chr8 13066163 19465021 p22 gpos100
chr8 19465021 23774881 p21.3 gneg
chr8 23774881 27777347 p21.2 gpos50
chr8 27777347 29278158 p21.1 gneg
chr8 29278158 36976053 p12 gpos75
chr8 36976053 38776976 p11.23 gneg
chr8 38776976 40177151 p11.22 gpos25
chr8 40177151 44215832 p11.21 gneg
chr8 44215832 45270456 p11.1 acen
chr8 45270456 46325080 q11.1 acen
chr8 46325080 51673061 q11.21 gneg
chr8 51673061 52073547 q11.22 gpos75
chr8 52073547 54977464 q11.23 gneg
chr8 54977464 61023743 q12.1 gpos50
chr8 61023743 61723740 q12.2 gneg
chr8 61723740 65525777 q12.3 gpos50
chr8 65525777 67526469 q13.1 gneg
chr8 67526469 70029827 q13.2 gpos50
chr8 70029827 72435109 q13.3 gneg
chr8 72435109 75029437 q21.11 gpos100
chr8 75029437 75129430 q21.12 gneg
chr8 75129430 83931590 q21.13 gpos75
chr8 83931590 87017433 q21.2 gneg
chr8 87017433 93425090 q21.3 gpos100
chr8 93425090 99025482 q22.1 gneg
chr8 99025482 101626041 q22.2 gpos25
chr8 101626041 106227505 q22.3 gneg
chr8 106227505 110628554 q23.1 gpos75
chr8 110628554 112228628 q23.2 gneg
chr8 112228628 117826624 q23.3 gpos100
chr8 117826624 119428452 q24.11 gneg
chr8 119428452 122630227 q24.12 gpos50
chr8 122630227 127427152 q24.13 gneg
chr8 127427152 131526643 q24.21 gpos50
chr8 131526643 136517853 q24.22 gneg
chr8 136517853 140019529 q24.23 gpos75
chr8 140019529 146259331 q24.3 gneg
chr9 0 2202472 p24.3 gneg
chr9 2202472 4603652 p24.2 gpos25
chr9 4603652 9006617 p24.1 gneg
chr9 9006617 14209493 p23 gpos75
chr9 14209493 16611825 p22.3 gneg
chr9 16611825 18513245 p22.2 gpos25
chr9 18513245 19913875 p22.1 gneg
chr9 19913875 25610359 p21.3 gpos100
chr9 25610359 28010599 p21.2 gneg
chr9 28010599 33218700 p21.1 gpos100
chr9 33218700 36322011 p13.3 gneg
chr9 36322011 37923910 p13.2 gpos25
chr9 37923910 39013701 p13.1 gneg
chr9 39013701 40014198 p12 gpos50
chr9 40014198 44951775 p11.2 gneg
chr9 44951775 46267185 p11.1 acen
chr9 46267185 47582595 q11 acen
chr9 47582595 76694047 q12 gvar
chr9 76694047 77166639 q13 gneg
chr9 77166639 81466639 q21.11 gpos25
chr9 81466639 83449676 q21.12 gneg
chr9 83449676 88756405 q21.13 gpos50
chr9 88756405 90657183 q21.2 gneg
chr9 90657183 93652149 q21.31 gpos50
chr9 93652149 96450330 q21.32 gneg
chr9 96450330 99953385 q21.33 gpos50
chr9 99953385 101362780 q22.1 gneg
chr9 101362780 103366144 q22.2 gpos25
chr9 103366144 106067989 q22.31 gneg
chr9 106067989 108671778 q22.32 gpos25
chr9 108671778 111971620 q22.33 gneg
chr9 111971620 117574632 q31.1 gpos100
chr9 117574632 120669232 q31.2 gneg
chr9 120669232 124271384 q31.3 gpos25
chr9 124271384 127092454 q32 gneg
chr9 127092454 131993831 q33.1 gpos75
chr9 131993831 135297230 q33.2 gneg
chr9 135297230 139706950 q33.3 gpos25
chr9 139706950 142804928 q34.11 gneg
chr9 142804928 143308266 q34.12 gpos25
chr9 143308266 145314130 q34.13 gneg
chr9 145314130 146716800 q34.2 gpos25
chr9 146716800 150617247 q34.3 gneg
chr10 0 2999810 p15.3 gneg
chr10 2999810 3803899 p15.2 gpos25
chr10 3803899 6600140 p15.1 gneg
chr10 6600140 12211271 p14 gpos75
chr10 12211271 17318428 p13 gneg
chr10 17318428 18319354 p12.33 gpos75
chr10 18319354 18419356 p12.32 gneg
chr10 18419356 22319034 p12.31 gpos75
chr10 22319034 24318538 p12.2 gneg
chr10 24318538 29331681 p12.1 gpos50
chr10 29331681 31131269 p11.23 gneg
chr10 31131269 34228529 p11.22 gpos25
chr10 34228529 39633793 p11.21 gneg
chr10 39633793 40649191 p11.1 acen
chr10 40649191 41664589 q11.1 acen
chr10 41664589 46381004 q11.21 gneg
chr10 46381004 49449041 q11.22 gpos25
chr10 49449041 51948621 q11.23 gneg
chr10 51948621 60254318 q21.1 gpos100
chr10 60254318 63658144 q21.2 gneg
chr10 63658144 69669152 q21.3 gpos100
chr10 69669152 73971392 q22.1 gneg
chr10 73971392 76774110 q22.2 gpos50
chr10 76774110 81169099 q22.3 gneg
chr10 81169099 86980090 q23.1 gpos100
chr10 86980090 88583858 q23.2 gneg
chr10 88583858 91983671 q23.31 gpos75
chr10 91983671 93182363 q23.32 gneg
chr10 93182363 96179180 q23.33 gpos50
chr10 96179180 98380193 q24.1 gneg
chr10 98380193 100984294 q24.2 gpos50
chr10 100984294 102083356 q24.31 gneg
chr10 102083356 103986242 q24.32 gpos25
chr10 103986242 104887391 q24.33 gneg
chr10 104887391 110983867 q25.1 gpos100
chr10 110983867 113991312 q25.2 gneg
chr10 113991312 118194477 q25.3 gpos75
chr10 118194477 120797529 q26.11 gneg
chr10 120797529 122296091 q26.12 gpos50
chr10 122296091 126582419 q26.13 gneg
chr10 126582419 129725246 q26.2 gpos50
chr10 129725246 134758134 q26.3 gneg
chr11 0 2889344 p15.5 gneg
chr11 2889344 11789203 p15.4 gpos50
chr11 11789203 13892569 p15.3 gneg
chr11 13892569 16997372 p15.2 gpos50
chr11 16997372 22120532 p15.1 gneg
chr11 22120532 26340879 p14.3 gpos100
chr11 26340879 27340466 p14.2 gneg
chr11 27340466 31136090 p14.1 gpos75
chr11 31136090 36542448 p13 gneg
chr11 36542448 43555411 p12 gpos100
chr11 43555411 48958062 p11.2 gneg
chr11 48958062 51035789 p11.12 gpos75
chr11 51035789 52743313 p11.11 acen
chr11 52743313 54450838 q11 acen
chr11 54450838 60051280 q12.1 gpos75
chr11 60051280 61888804 q12.2 gneg
chr11 61888804 63589288 q12.3 gpos25
chr11 63589288 66094130 q13.1 gneg
chr11 66094130 68706120 q13.2 gpos25
chr11 68706120 70520423 q13.3 gneg
chr11 70520423 75429506 q13.4 gpos50
chr11 75429506 77332929 q13.5 gneg
chr11 77332929 85836684 q14.1 gpos100
chr11 85836684 88519134 q14.2 gneg
chr11 88519134 92928863 q14.3 gpos100
chr11 92928863 97406624 q21 gneg
chr11 97406624 102302118 q22.1 gpos100
chr11 102302118 103003764 q22.2 gneg
chr11 103003764 110610246 q22.3 gpos100
chr11 110610246 112710438 q23.1 gneg
chr11 112710438 114610447 q23.2 gpos50
chr11 114610447 121325059 q23.3 gneg
chr11 121325059 124028615 q24.1 gpos50
chr11 124028615 127933253 q24.2 gneg
chr11 127933253 130935758 q24.3 gpos50
chr11 130935758 135127769 q25 gneg
chr12 0 3215744 p13.33 gneg
chr12 3215744 5306179 p13.32 gpos25
chr12 5306179 9886155 p13.31 gneg
chr12 9886155 12469144 p13.2 gpos75
chr12 12469144 14477435 p13.1 gneg
chr12 14477435 19678338 p12.3 gpos100
chr12 19678338 20978622 p12.2 gneg
chr12 20978622 26172544 p12.1 gpos100
chr12 26172544 27471672 p11.23 gneg
chr12 27471672 30374680 p11.22 gpos50
chr12 30374680 34620838 p11.21 gneg
chr12 34620838 35911664 p11.1 acen
chr12 35911664 37202490 q11 acen
chr12 37202490 45959545 q12 gpos100
chr12 45959545 48662027 q13.11 gneg
chr12 48662027 51062917 q13.12 gpos25
chr12 51062917 54466577 q13.13 gneg
chr12 54466577 56167601 q13.2 gpos25
chr12 56167601 57668365 q13.3 gneg
chr12 57668365 62678775 q14.1 gpos75
chr12 62678775 64679035 q14.2 gneg
chr12 64679035 67279394 q14.3 gpos50
chr12 67279394 71079501 q15 gneg
chr12 71079501 75274601 q21.1 gpos75
chr12 75274601 79878671 q21.2 gneg
chr12 79878671 86280942 q21.31 gpos100
chr12 86280942 88581935 q21.32 gneg
chr12 88581935 92177463 q21.33 gpos100
chr12 92177463 95779143 q22 gneg
chr12 95779143 101161710 q23.1 gpos75
chr12 101161710 103460805 q23.2 gneg
chr12 103460805 108574599 q23.3 gpos50
chr12 108574599 111279651 q24.11 gneg
chr12 111279651 111876909 q24.12 gpos25
chr12 111876909 113875849 q24.13 gneg
chr12 113875849 116381153 q24.21 gpos50
chr12 116381153 117687226 q24.22 gneg
chr12 117687226 120287197 q24.23 gpos50
chr12 120287197 125408188 q24.31 gneg
chr12 125408188 128730796 q24.32 gpos50
chr12 128730796 133324548 q24.33 gneg
chr13 0 5751447 p13 gvar
chr13 5751447 9368750 p12 stalk
chr13 9368750 15547593 p11.2 gvar
chr13 15547593 16522942 p11.1 acen
chr13 16522942 17498291 q11 acen
chr13 17498291 21797623 q12.11 gneg
chr13 21797623 24108235 q12.12 gpos25
chr13 24108235 26420720 q12.13 gneg
chr13 26420720 27522230 q12.2 gpos25
chr13 27522230 30823418 q12.3 gneg
chr13 30823418 32617334 q13.1 gpos50
chr13 32617334 34118269 q13.2 gneg
chr13 34118269 38718394 q13.3 gpos75
chr13 38718394 43819777 q14.11 gneg
chr13 43819777 44420051 q14.12 gpos25
chr13 44420051 45921251 q14.13 gneg
chr13 45921251 49520618 q14.2 gpos50
chr13 49520618 53916044 q14.3 gneg
chr13 53916044 58219746 q21.1 gpos100
chr13 58219746 61020124 q21.2 gneg
chr13 61020124 64418827 q21.31 gpos75
chr13 64418827 67322320 q21.32 gneg
chr13 67322320 72021474 q21.33 gpos100
chr13 72021474 74123996 q22.1 gneg
chr13 74123996 75923712 q22.2 gpos50
chr13 75923712 77725243 q22.3 gneg
chr13 77725243 86303655 q31.1 gpos100
chr13 86303655 88604095 q31.2 gneg
chr13 88604095 93603590 q31.3 gpos100
chr13 93603590 96706317 q32.1 gneg
chr13 96706317 97909939 q32.2 gpos25
chr13 97909939 100315089 q32.3 gneg
chr13 100315089 103418692 q33.1 gpos100
chr13 103418692 105620405 q33.2 gneg
chr13 105620405 108828306 q33.3 gpos100
chr13 108828306 113566686 q34 gneg
chr14 0 2077628 p13 gvar
chr14 2077628 2840421 p12 stalk
chr14 2840421 10092112 p11.2 gvar
chr14 10092112 11400261 p11.1 acen
chr14 11400261 12708411 q11.1 acen
chr14 12708411 18298312 q11.2 gneg
chr14 18298312 27096896 q12 gpos100
chr14 27096896 28999171 q13.1 gneg
chr14 28999171 30288797 q13.2 gpos50
chr14 30288797 31589055 q13.3 gneg
chr14 31589055 37191028 q21.1 gpos100
chr14 37191028 40898832 q21.2 gneg
chr14 40898832 44606207 q21.3 gpos100
chr14 44606207 47808271 q22.1 gneg
chr14 47808271 49205176 q22.2 gpos25
chr14 49205176 51806957 q22.3 gneg
chr14 51806957 55806586 q23.1 gpos75
chr14 55806586 58507715 q23.2 gneg
chr14 58507715 61607123 q23.3 gpos50
chr14 61607123 64007668 q24.1 gneg
chr14 64007668 67506518 q24.2 gpos50
chr14 67506518 73008616 q24.3 gneg
chr14 73008616 77312020 q31.1 gpos100
chr14 77312020 78613483 q31.2 gneg
chr14 78613483 83523641 q31.3 gpos100
chr14 83523641 85625240 q32.11 gneg
chr14 85625240 88427273 q32.12 gpos25
chr14 88427273 90031477 q32.13 gneg
chr14 90031477 95135433 q32.2 gpos50
chr14 95135433 96936346 q32.31 gneg
chr14 96936346 97736032 q32.32 gpos50
chr14 97736032 101161492 q32.33 gneg
chr15 0 2484618 p13 gvar
chr15 2484618 4728636 p12 stalk
chr15 4728636 16678794 p11.2 gvar
chr15 16678794 17186630 p11.1 acen
chr15 17186630 17694466 q11.1 acen
chr15 17694466 23236963 q11.2 gneg
chr15 23236963 25542506 q12 gpos50
chr15 25542506 27791711 q13.1 gneg
chr15 27791711 28693986 q13.2 gpos50
chr15 28693986 31196487 q13.3 gneg
chr15 31196487 37605195 q14 gpos75
chr15 37605195 40306040 q15.1 gneg
chr15 40306040 41107300 q15.2 gpos25
chr15 41107300 42307677 q15.3 gneg
chr15 42307677 47008200 q21.1 gpos75
chr15 47008200 50408265 q21.2 gneg
chr15 50408265 56602018 q21.3 gpos75
chr15 56602018 56802078 q22.1 gneg
chr15 56802078 61204679 q22.2 gpos25
chr15 61204679 64721821 q22.31 gneg
chr15 64721821 64821874 q22.32 gpos25
chr15 64821874 65021911 q22.33 gneg
chr15 65021911 70217331 q23 gpos25
chr15 70217331 72769881 q24.1 gneg
chr15 72769881 74171079 q24.2 gpos25
chr15 74171079 75862542 q24.3 gneg
chr15 75862542 79264071 q25.1 gpos50
chr15 79264071 82452409 q25.2 gneg
chr15 82452409 86254599 q25.3 gpos50
chr15 86254599 91561911 q26.1 gneg
chr15 91561911 95765652 q26.2 gpos50
chr15 95765652 99753195 q26.3 gneg
chr16 0 7831635 p13.3 gneg
chr16 7831635 10435669 p13.2 gpos50
chr16 10435669 12537038 p13.13 gneg
chr16 12537038 14730876 p13.12 gpos50
chr16 14730876 16712187 p13.11 gneg
chr16 16712187 21130950 p12.3 gpos50
chr16 21130950 24476520 p12.2 gneg
chr16 24476520 28752507 p12.1 gpos50
chr16 28752507 35848286 p11.2 gneg
chr16 35848286 36838903 p11.1 acen
chr16 36838903 37829521 q11.1 acen
chr16 37829521 52219471 q11.2 gvar
chr16 52219471 58397876 q12.1 gneg
chr16 58397876 61794998 q12.2 gpos50
chr16 61794998 63095972 q13 gneg
chr16 63095972 72394295 q21 gpos100
chr16 72394295 76611172 q22.1 gneg
chr16 76611172 78617811 q22.2 gpos50
chr16 78617811 79917729 q22.3 gneg
chr16 79917729 85256228 q23.1 gpos75
chr16 85256228 87661662 q23.2 gneg
chr16 87661662 90166083 q23.3 gpos50
chr16 90166083 93070234 q24.1 gneg
chr16 93070234 94769136 q24.2 gpos25
chr16 94769136 96330374 q24.3 gneg
chr17 0 3288940 p13.3 gneg
chr17 3288940 6400012 p13.2 gpos50
chr17 6400012 10707908 p13.1 gneg
chr17 10707908 16002309 p12 gpos75
chr17 16002309 23892419 p11.2 gneg
chr17 23892419 25689679 p11.1 acen
chr17 25689679 27486939 q11.1 acen
chr17 27486939 34446012 q11.2 gneg
chr17 34446012 40663561 q12 gpos50
chr17 40663561 41063885 q21.1 gneg
chr17 41063885 43657141 q21.2 gpos25
chr17 43657141 47661458 q21.31 gneg
chr17 47661458 50163080 q21.32 gpos25
chr17 50163080 52967757 q21.33 gneg
chr17 52967757 60368167 q22 gpos75
chr17 60368167 61068949 q23.1 gneg
chr17 61068949 63970246 q23.2 gpos75
chr17 63970246 65469760 q23.3 gneg
chr17 65469760 67070785 q24.1 gpos50
chr17 67070785 69976574 q24.2 gneg
chr17 69976574 73787784 q24.3 gpos75
chr17 73787784 77692007 q25.1 gneg
chr17 77692007 78093613 q25.2 gpos25
chr17 78093613 84276897 q25.3 gneg
chr18 0 3055502 p11.32 gneg
chr18 3055502 7363114 p11.31 gpos50
chr18 7363114 8663156 p11.23 gneg
chr18 8663156 11062106 p11.22 gpos25
chr18 11062106 15965699 p11.21 gneg
chr18 15965699 18449624 p11.1 acen
chr18 18449624 20933550 q11.1 acen
chr18 20933550 27694024 q11.2 gneg
chr18 27694024 35291319 q12.1 gpos100
chr18 35291319 39695477 q12.2 gneg
chr18 39695477 46090953 q12.3 gpos75
chr18 46090953 50901745 q21.1 gneg
chr18 50901745 56402692 q21.2 gpos75
chr18 56402692 58801152 q21.31 gneg
chr18 58801152 61503246 q21.32 gpos50
chr18 61503246 64105093 q21.33 gneg
chr18 64105093 69316653 q22.1 gpos100
chr18 69316653 71221701 q22.2 gneg
chr18 71221701 75629292 q22.3 gpos25
chr18 75629292 80542538 q23 gneg
chr19 0 6889318 p13.3 gneg
chr19 6889318 12724341 p13.2 gpos25
chr19 12724341 13926177 p13.13 gneg
chr19 13926177 16234072 p13.12 gpos25
chr19 16234072 20037734 p13.11 gneg
chr19 20037734 25817676 p12 gvar
chr19 25817676 27792923 p11 acen
chr19 27792923 29768171 q11 acen
chr19 29768171 34418519 q12 gvar
chr19 34418519 37644588 q13.11 gneg
chr19 37644588 40601536 q13.12 gpos25
chr19 40601536 41002157 q13.13 gneg
chr19 41002157 45718957 q13.2 gpos25
chr19 45718957 47524747 q13.31 gneg
chr19 47524747 50330819 q13.32 gpos25
chr19 50330819 53989630 q13.33 gneg
chr19 53989630 56182556 q13.41 gpos25
chr19 56182556 58899358 q13.42 gneg
chr19 58899358 61707364 q13.43 gpos25
chr20 0 5139422 p13 gneg
chr20 5139422 9242915 p12.3 gpos75
chr20 9242915 12043277 p12.2 gneg
chr20 12043277 17951106 p12.1 gpos75
chr20 17951106 21359369 p11.23 gneg
chr20 21359369 22357561 p11.22 gpos25
chr20 22357561 26925852 p11.21 gneg
chr20 26925852 28012753 p11.1 acen
chr20 28012753 29099655 q11.1 acen
chr20 29099655 35226553 q11.21 gneg
chr20 35226553 37520975 q11.22 gpos25
chr20 37520975 40730034 q11.23 gneg
chr20 40730034 44834038 q12 gpos75
chr20 44834038 45233263 q13.11 gneg
chr20 45233263 49539094 q13.12 gpos25
chr20 49539094 52970605 q13.13 gneg
chr20 52970605 58177493 q13.2 gpos75
chr20 58177493 59578060 q13.31 gneg
chr20 59578060 61484264 q13.32 gpos50
chr20 61484264 66210255 q13.33 gneg
chr21 0 3084882 p13 gvar
chr21 3084882 5633495 p12 stalk
chr21 5633495 10962853 p11.2 gvar
chr21 10962853 11134529 p11.1 acen
chr21 11134529 11306205 q11.1 acen
chr21 11306205 13355188 q11.2 gneg
chr21 13355188 20956835 q21.1 gpos100
chr21 20956835 23857586 q21.2 gneg
chr21 23857586 28565933 q21.3 gpos75
chr21 28565933 32782056 q22.11 gneg
chr21 32782056 34782581 q22.12 gpos50
chr21 34782581 36683433 q22.13 gneg
chr21 36683433 39588333 q22.2 gpos50
chr21 39588333 45090682 q22.3 gneg
chr22 0 4770731 p13 gvar
chr22 4770731 5743502 p12 stalk
chr22 5743502 12788180 p11.2 gvar
chr22 12788180 14249622 p11.1 acen
chr22 14249622 15711065 q11.1 acen
chr22 15711065 22113480 q11.21 gneg
chr22 22113480 23522872 q11.22 gpos25
chr22 23522872 25961147 q11.23 gneg
chr22 25961147 29663505 q12.1 gpos50
chr22 29663505 32264007 q12.2 gneg
chr22 32264007 37659920 q12.3 gpos50
chr22 37659920 41071957 q13.1 gneg
chr22 41071957 44282889 q13.2 gpos50
chr22 44282889 48592476 q13.31 gneg
chr22 48592476 49604335 q13.32 gpos50
chr22 49604335 51324926 q13.33 gneg
chrX 0 3944795 p22.33 gneg
chrX 3944795 5652276 p22.32 gpos50
chrX 5652276 9182594 p22.31 gneg
chrX 9182594 16982597 p22.2 gpos50
chrX 16982597 18782737 p22.13 gneg
chrX 18782737 21483312 p22.12 gpos50
chrX 21483312 24484237 p22.11 gneg
chrX 24484237 28892068 p21.3 gpos100
chrX 28892068 31098156 p21.2 gneg
chrX 31098156 37203573 p21.1 gpos100
chrX 37203573 41906024 p11.4 gneg
chrX 41906024 47009888 p11.3 gpos75
chrX 47009888 49417662 p11.23 gneg
chrX 49417662 54090881 p11.22 gpos25
chrX 54090881 57820107 p11.21 gneg
chrX 57820107 59373565 p11.1 acen
chrX 59373565 60927025 q11.1 acen
chrX 60927025 63825591 q11.2 gneg
chrX 63825591 66933457 q12 gpos50
chrX 66933457 71433508 q13.1 gneg
chrX 71433508 73133628 q13.2 gpos50
chrX 73133628 75233853 q13.3 gneg
chrX 75233853 83828518 q21.1 gpos100
chrX 83828518 85427981 q21.2 gneg
chrX 85427981 91150234 q21.31 gpos100
chrX 91150234 92745170 q21.32 gneg
chrX 92745170 97541699 q21.33 gpos75
chrX 97541699 101746979 q22.1 gneg
chrX 101746979 102931146 q22.2 gpos50
chrX 102931146 107847498 q22.3 gneg
chrX 107847498 115776569 q23 gpos75
chrX 115776569 120099927 q24 gneg
chrX 120099927 127818782 q25 gpos100
chrX 127818782 129624103 q26.1 gneg
chrX 129624103 132825159 q26.2 gpos25
chrX 132825159 137210433 q26.3 gneg
chrX 137210433 139517370 q27.1 gpos75
chrX 139517370 141308643 q27.2 gneg
chrX 141308643 146265526 q27.3 gpos100
chrX 146265526 154259566 q28 gneg
chrY 0 127375 p11.32 gneg
chrY 127375 454123 p11.31 gpos50
chrY 454123 10565750 p11.2 gneg
chrY 10565750 10724418 p11.1 acen
chrY 10724418 10883085 q11.1 acen
chrY 10883085 13307633 q11.21 gneg
chrY 13307633 18006518 q11.221 gpos50
chrY 18006518 20506564 q11.222 gneg
chrY 20506564 25062557 q11.223 gpos50
chrY 25062557 27449937 q11.23 gneg
chrY 27449937 62460029 q12 gvar
open2c-bioframe-4fe9b25/bioframe/io/data/hs1.seqinfo.tsv 0000664 0000000 0000000 00000003141 14775257723 0023126 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
chr1 248387328 assembled chr1 primary 1,CP068277.2,NC_060925.1
chr2 242696752 assembled chr2 primary 2,CP068276.2,NC_060926.1
chr3 201105948 assembled chr3 primary 3,CP068275.2,NC_060927.1
chr4 193574945 assembled chr4 primary 4,CP068274.2,NC_060928.1
chr5 182045439 assembled chr5 primary 5,CP068273.2,NC_060929.1
chr6 172126628 assembled chr6 primary 6,CP068272.2,NC_060930.1
chr7 160567428 assembled chr7 primary 7,CP068271.2,NC_060931.1
chr8 146259331 assembled chr8 primary 8,CP068270.2,NC_060932.1
chr9 150617247 assembled chr9 primary 9,CP068269.2,NC_060933.1
chr10 134758134 assembled chr10 primary 10,CP068268.2,NC_060934.1
chr11 135127769 assembled chr11 primary 11,CP068267.2,NC_060935.1
chr12 133324548 assembled chr12 primary 12,CP068266.2,NC_060936.1
chr13 113566686 assembled chr13 primary 13,CP068265.2,NC_060937.1
chr14 101161492 assembled chr14 primary 14,CP068264.2,NC_060938.1
chr15 99753195 assembled chr15 primary 15,CP068263.2,NC_060939.1
chr16 96330374 assembled chr16 primary 16,CP068262.2,NC_060940.1
chr17 84276897 assembled chr17 primary 17,CP068261.2,NC_060941.1
chr18 80542538 assembled chr18 primary 18,CP068260.2,NC_060942.1
chr19 61707364 assembled chr19 primary 19,CP068259.2,NC_060943.1
chr20 66210255 assembled chr20 primary 20,CP068258.2,NC_060944.1
chr21 45090682 assembled chr21 primary 21,CP068257.2,NC_060945.1
chr22 51324926 assembled chr22 primary 22,CP068256.2,NC_060946.1
chrX 154259566 assembled chrX primary X,CP068255.2,NC_060947.1
chrY 62460029 assembled chrY primary Y,CP086569.2,NC_060948.1
chrM 16569 assembled chrM non-nuclear MT,CP068254.1
open2c-bioframe-4fe9b25/bioframe/io/data/mm10.seqinfo.tsv 0000664 0000000 0000000 00000012033 14775257723 0023205 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
chr1 195471971 assembled chr1 primary 1,CM000994.2,NC_000067.6
chr2 182113224 assembled chr2 primary 2,CM000995.2,NC_000068.7
chr3 160039680 assembled chr3 primary 3,CM000996.2,NC_000069.6
chr4 156508116 assembled chr4 primary 4,CM000997.2,NC_000070.6
chr5 151834684 assembled chr5 primary 5,CM000998.2,NC_000071.6
chr6 149736546 assembled chr6 primary 6,CM000999.2,NC_000072.6
chr7 145441459 assembled chr7 primary 7,CM001000.2,NC_000073.6
chr8 129401213 assembled chr8 primary 8,CM001001.2,NC_000074.6
chr9 124595110 assembled chr9 primary 9,CM001002.2,NC_000075.6
chr10 130694993 assembled chr10 primary 10,CM001003.2,NC_000076.6
chr11 122082543 assembled chr11 primary 11,CM001004.2,NC_000077.6
chr12 120129022 assembled chr12 primary 12,CM001005.2,NC_000078.6
chr13 120421639 assembled chr13 primary 13,CM001006.2,NC_000079.6
chr14 124902244 assembled chr14 primary 14,CM001007.2,NC_000080.6
chr15 104043685 assembled chr15 primary 15,CM001008.2,NC_000081.6
chr16 98207768 assembled chr16 primary 16,CM001009.2,NC_000082.6
chr17 94987271 assembled chr17 primary 17,CM001010.2,NC_000083.6
chr18 90702639 assembled chr18 primary 18,CM001011.2,NC_000084.6
chr19 61431566 assembled chr19 primary 19,CM001012.2,NC_000085.6
chrX 171031299 assembled chrX primary X,CM001013.2,NC_000086.7
chrY 91744698 assembled chrY primary Y,CM001014.2,NC_000087.7
chrM 16299 assembled chrM non-nuclear MT,AY172335.1,NC_005089.1
chr1_GL456210_random 169725 unlocalized chr1 primary GL456210.1,MMCHR1_RANDOM_CTG1,NT_166280.1
chr1_GL456211_random 241735 unlocalized chr1 primary GL456211.1,MMCHR1_RANDOM_CTG2,NT_166281.1
chr1_GL456212_random 153618 unlocalized chr1 primary GL456212.1,MMCHR1_RANDOM_CTG3,NT_166282.1
chr1_GL456213_random 39340 unlocalized chr1 primary GL456213.1,MMCHR1_RANDOM_CTG4,NT_166283.1
chr1_GL456221_random 206961 unlocalized chr1 primary GL456221.1,MMCHR1_RANDOM_CTG5,NT_162750.1
chr4_GL456216_random 66673 unlocalized chr4 primary GL456216.1,MMCHR4UN_CTG1,NT_166291.1
chr4_GL456350_random 227966 unlocalized chr4 primary GL456350.1,MMCHR4UN_CTG3,NT_166434.1
chr4_JH584292_random 14945 unlocalized chr4 primary JH584292.1,MMCHR4UN_CTG2,NT_187052.1
chr4_JH584293_random 207968 unlocalized chr4 primary JH584293.1,MMCHR4UN_CTG4,NT_187053.1
chr4_JH584294_random 191905 unlocalized chr4 primary JH584294.1,MMCHR4UN_CTG5,NT_187054.1
chr4_JH584295_random 1976 unlocalized chr4 primary JH584295.1,MMCHR4UN_CTG6,NT_187055.1
chr5_GL456354_random 195993 unlocalized chr5 primary GL456354.1,MMCHR5_RANDOM_CTG4,NT_166438.1
chr5_JH584296_random 199368 unlocalized chr5 primary JH584296.1,MMCHR5_RANDOM_CTG1,NT_187056.1
chr5_JH584297_random 205776 unlocalized chr5 primary JH584297.1,MMCHR5_RANDOM_CTG2,NT_187057.1
chr5_JH584298_random 184189 unlocalized chr5 primary JH584298.1,MMCHR5_RANDOM_CTG3,NT_187058.1
chr5_JH584299_random 953012 unlocalized chr5 primary JH584299.1,MMCHR5_RANDOM_CTG5,NT_187059.1
chr7_GL456219_random 175968 unlocalized chr7 primary GL456219.1,MMCHR7_RANDOM_CTG1,NT_166307.1
chrX_GL456233_random 336933 unlocalized chrX primary GL456233.1,MMCHRX_RANDOM_CTG2,NT_165789.2
chrY_JH584300_random 182347 unlocalized chrY primary JH584300.1,MMCHRY_CTGU1,NT_187060.1
chrY_JH584301_random 259875 unlocalized chrY primary JH584301.1,MMCHRY_CTGU2,NT_187061.1
chrY_JH584302_random 155838 unlocalized chrY primary JH584302.1,MMCHRY_CTGU3,NT_187062.1
chrY_JH584303_random 158099 unlocalized chrY primary JH584303.1,MMCHRY_CTGU4,NT_187063.1
chrUn_GL456239 40056 unplaced primary GL456239.1,MSCHRUN_CTG1,NT_166338.1
chrUn_GL456359 22974 unplaced primary GL456359.1,MSCHRUN_CTG13,NT_166443.1
chrUn_GL456360 31704 unplaced primary GL456360.1,MSCHRUN_CTG14,NT_166444.1
chrUn_GL456366 47073 unplaced primary GL456366.1,MSCHRUN_CTG21,NT_166450.1
chrUn_GL456367 42057 unplaced primary GL456367.1,MSCHRUN_CTG2,NT_166451.1
chrUn_GL456368 20208 unplaced primary GL456368.1,MSCHRUN_CTG22,NT_166452.1
chrUn_GL456370 26764 unplaced primary GL456370.1,MSCHRUN_CTG19,NT_166454.1
chrUn_GL456372 28664 unplaced primary GL456372.1,MSCHRUN_CTG16,NT_166456.1
chrUn_GL456378 31602 unplaced primary GL456378.1,MSCHRUN_CTG3,NT_166462.1
chrUn_GL456379 72385 unplaced primary GL456379.1,MSCHRUN_CTG20,NT_166463.1
chrUn_GL456381 25871 unplaced primary GL456381.1,MSCHRUN_CTG4,NT_166465.1
chrUn_GL456382 23158 unplaced primary GL456382.1,MSCHRUN_CTG5,NT_166466.1
chrUn_GL456383 38659 unplaced primary GL456383.1,MSCHRUN_CTG6,NT_166467.1
chrUn_GL456385 35240 unplaced primary GL456385.1,MSCHRUN_CTG7,NT_166469.1
chrUn_GL456387 24685 unplaced primary GL456387.1,MSCHRUN_CTG17,NT_166471.1
chrUn_GL456389 28772 unplaced primary GL456389.1,MSCHRUN_CTG18,NT_166473.1
chrUn_GL456390 24668 unplaced primary GL456390.1,MSCHRUN_CTG9,NT_166474.1
chrUn_GL456392 23629 unplaced primary GL456392.1,MSCHRUN_CTG10,NT_166476.1
chrUn_GL456393 55711 unplaced primary GL456393.1,MSCHRUN_CTG11,NT_166477.1
chrUn_GL456394 24323 unplaced primary GL456394.1,MSCHRUN_CTG12,NT_166478.1
chrUn_GL456396 21240 unplaced primary GL456396.1,MSCHRUN_CTG15,NT_166480.1
chrUn_JH584304 114452 unplaced primary JH584304.1,MSCHRUN_CTG23,NT_187064.1
open2c-bioframe-4fe9b25/bioframe/io/data/mm39.seqinfo.tsv 0000664 0000000 0000000 00000011301 14775257723 0023215 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
chr1 195154279 assembled chr1 primary 1,CM000994.3,NC_000067.7
chr2 181755017 assembled chr2 primary 2,CM000995.3,NC_000068.8
chr3 159745316 assembled chr3 primary 3,CM000996.3,NC_000069.7
chr4 156860686 assembled chr4 primary 4,CM000997.3,NC_000070.7
chr5 151758149 assembled chr5 primary 5,CM000998.3,NC_000071.7
chr6 149588044 assembled chr6 primary 6,CM000999.3,NC_000072.7
chr7 144995196 assembled chr7 primary 7,CM001000.3,NC_000073.7
chr8 130127694 assembled chr8 primary 8,CM001001.3,NC_000074.7
chr9 124359700 assembled chr9 primary 9,CM001002.3,NC_000075.7
chr10 130530862 assembled chr10 primary 10,CM001003.3,NC_000076.7
chr11 121973369 assembled chr11 primary 11,CM001004.3,NC_000077.7
chr12 120092757 assembled chr12 primary 12,CM001005.3,NC_000078.7
chr13 120883175 assembled chr13 primary 13,CM001006.3,NC_000079.7
chr14 125139656 assembled chr14 primary 14,CM001007.3,NC_000080.7
chr15 104073951 assembled chr15 primary 15,CM001008.3,NC_000081.7
chr16 98008968 assembled chr16 primary 16,CM001009.3,NC_000082.7
chr17 95294699 assembled chr17 primary 17,CM001010.3,NC_000083.7
chr18 90720763 assembled chr18 primary 18,CM001011.3,NC_000084.7
chr19 61420004 assembled chr19 primary 19,CM001012.3,NC_000085.7
chrX 169476592 assembled chrX primary X,CM001013.3,NC_000086.8
chrY 91455967 assembled chrY primary Y,CM001014.3,NC_000087.8
chrM 16299 assembled chrM non-nuclear MT,AY172335.1,NC_005089.1
chr1_GL456210v1_random 169725 unlocalized chr1 primary GL456210.1,MMCHR1_RANDOM_CTG1,NT_166280.1
chr1_GL456211v1_random 241735 unlocalized chr1 primary GL456211.1,MMCHR1_RANDOM_CTG2,NT_166281.1
chr1_GL456212v1_random 153618 unlocalized chr1 primary GL456212.1,MMCHR1_RANDOM_CTG3,NT_166282.1
chr1_GL456221v1_random 206961 unlocalized chr1 primary GL456221.1,MMCHR1_RANDOM_CTG5,NT_162750.1
chr1_GL456239v1_random 40056 unlocalized chr1 primary GL456239.1,MMCHR1_RANDOM_CTG7,NT_166338.1
chr1_MU069434v1_random 8412 unlocalized chr1 primary MMCHR1_RANDOM_CTG6,MU069434.1,NW_023337853.1
chr4_JH584295v1_random 1976 unlocalized chr4 primary JH584295.1,MMCHR4UN_CTG6,NT_187055.1
chr5_GL456354v1_random 195993 unlocalized chr5 primary GL456354.1,MMCHR5_RANDOM_CTG4,NT_166438.1
chr5_JH584296v1_random 199368 unlocalized chr5 primary JH584296.1,MMCHR5_RANDOM_CTG1,NT_187056.1
chr5_JH584297v1_random 205776 unlocalized chr5 primary JH584297.1,MMCHR5_RANDOM_CTG2,NT_187057.1
chr5_JH584298v1_random 184189 unlocalized chr5 primary JH584298.1,MMCHR5_RANDOM_CTG3,NT_187058.1
chr5_JH584299v1_random 953012 unlocalized chr5 primary JH584299.1,MMCHR5_RANDOM_CTG5,NT_187059.1
chr7_GL456219v1_random 175968 unlocalized chr7 primary GL456219.1,MMCHR7_RANDOM_CTG1,NT_166307.1
chrX_GL456233v2_random 559103 unlocalized chrX primary GL456233.2,MMCHRX_RANDOM_CTG2,NT_165789.3
chrY_JH584300v1_random 182347 unlocalized chrY primary JH584300.1,MMCHRY_CTGU1,NT_187060.1
chrY_JH584301v1_random 259875 unlocalized chrY primary JH584301.1,MMCHRY_CTGU2,NT_187061.1
chrY_JH584302v1_random 155838 unlocalized chrY primary JH584302.1,MMCHRY_CTGU3,NT_187062.1
chrY_JH584303v1_random 158099 unlocalized chrY primary JH584303.1,MMCHRY_CTGU4,NT_187063.1
chrUn_GL456359v1 22974 unplaced primary GL456359.1,MSCHRUN_CTG13,NT_166443.1
chrUn_GL456360v1 31704 unplaced primary GL456360.1,MSCHRUN_CTG14,NT_166444.1
chrUn_GL456366v1 47073 unplaced primary GL456366.1,MSCHRUN_CTG21,NT_166450.1
chrUn_GL456367v1 42057 unplaced primary GL456367.1,MSCHRUN_CTG2,NT_166451.1
chrUn_GL456368v1 20208 unplaced primary GL456368.1,MSCHRUN_CTG22,NT_166452.1
chrUn_GL456370v1 26764 unplaced primary GL456370.1,MSCHRUN_CTG19,NT_166454.1
chrUn_GL456372v1 28664 unplaced primary GL456372.1,MSCHRUN_CTG16,NT_166456.1
chrUn_GL456378v1 31602 unplaced primary GL456378.1,MSCHRUN_CTG3,NT_166462.1
chrUn_GL456379v1 72385 unplaced primary GL456379.1,MSCHRUN_CTG20,NT_166463.1
chrUn_GL456381v1 25871 unplaced primary GL456381.1,MSCHRUN_CTG4,NT_166465.1
chrUn_GL456382v1 23158 unplaced primary GL456382.1,MSCHRUN_CTG5,NT_166466.1
chrUn_GL456383v1 38659 unplaced primary GL456383.1,MSCHRUN_CTG6,NT_166467.1
chrUn_GL456385v1 35240 unplaced primary GL456385.1,MSCHRUN_CTG7,NT_166469.1
chrUn_GL456387v1 24685 unplaced primary GL456387.1,MSCHRUN_CTG17,NT_166471.1
chrUn_GL456389v1 28772 unplaced primary GL456389.1,MSCHRUN_CTG18,NT_166473.1
chrUn_GL456390v1 24668 unplaced primary GL456390.1,MSCHRUN_CTG9,NT_166474.1
chrUn_GL456392v1 23629 unplaced primary GL456392.1,MSCHRUN_CTG10,NT_166476.1
chrUn_GL456394v1 24323 unplaced primary GL456394.1,MSCHRUN_CTG12,NT_166478.1
chrUn_GL456396v1 21240 unplaced primary GL456396.1,MSCHRUN_CTG15,NT_166480.1
chrUn_JH584304v1 114452 unplaced primary JH584304.1,MSCHRUN_CTG23,NT_187064.1
chrUn_MU069435v1 31129 unplaced primary MU069435.1,MSCHRUN_CTG24,NW_023337853.1
open2c-bioframe-4fe9b25/bioframe/io/data/mm9.seqinfo.tsv 0000664 0000000 0000000 00000003751 14775257723 0023144 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
chr1 197195432 assembled chr1 primary 1,CM000994.1,NC_000067.5
chr2 181748087 assembled chr2 primary 2,CM000995.1,NC_000068.6
chr3 159599783 assembled chr3 primary 3,CM000996.1,NC_000069.5
chr4 155630120 assembled chr4 primary 4,CM000997.1,NC_000070.5
chr5 152537259 assembled chr5 primary 5,CM000998.1,NC_000071.5
chr6 149517037 assembled chr6 primary 6,CM000999.1,NC_000072.5
chr7 152524553 assembled chr7 primary 7,CM001000.1,NC_000073.5
chr8 131738871 assembled chr8 primary 8,CM001001.1,NC_000074.5
chr9 124076172 assembled chr9 primary 9,CM001002.1,NC_000075.5
chr10 129993255 assembled chr10 primary 10,CM001003.1,NC_000076.5
chr11 121843856 assembled chr11 primary 11,CM001004.1,NC_000077.5
chr12 121257530 assembled chr12 primary 12,CM001005.1,NC_000078.5
chr13 120284312 assembled chr13 primary 13,CM001006.1,NC_000079.5
chr14 125194864 assembled chr14 primary 14,CM001007.1,NC_000080.5
chr15 103494974 assembled chr15 primary 15,CM001008.1,NC_000081.5
chr16 98319150 assembled chr16 primary 16,CM001009.1,NC_000082.5
chr17 95272651 assembled chr17 primary 17,CM001010.1,NC_000083.5
chr18 90772031 assembled chr18 primary 18,CM001011.1,NC_000084.5
chr19 61342430 assembled chr19 primary 19,CM001012.1,NC_000085.5
chrX 166650296 assembled chrX primary X,CM001013.1,NC_000086.6
chrY 15902555 assembled chrY primary Y,CM001014.1,NC_000087.6
chrM 16299 assembled chrM non-nuclear MT,AY172335.1,NC_005089.1
chr1_random 1231697 unlocalized chr1 primary
chr3_random 41899 unlocalized chr3 primary
chr4_random 160594 unlocalized chr4 primary
chr5_random 357350 unlocalized chr5 primary
chr7_random 362490 unlocalized chr7 primary
chr8_random 849593 unlocalized chr8 primary
chr9_random 449403 unlocalized chr9 primary
chr13_random 400311 unlocalized chr13 primary
chr16_random 3994 unlocalized chr16 primary
chr17_random 628739 unlocalized chr17 primary
chrX_random 1785075 unlocalized chrX primary
chrY_random 58682461 unlocalized chrY primary
chrUn_random 5900358 unplaced primary
open2c-bioframe-4fe9b25/bioframe/io/data/sacCer3.seqinfo.tsv 0000664 0000000 0000000 00000002163 14775257723 0023721 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
chrI 230218 assembled chrI primary I,BK006935.2,NC_001133.9
chrII 813184 assembled chrII primary II,BK006936.2,NC_001134.8
chrIII 316620 assembled chrIII primary III,BK006937.2,NC_001135.5
chrIV 1531933 assembled chrIV primary IV,BK006938.2,NC_001136.10
chrV 576874 assembled chrV primary V,BK006939.2,NC_001137.3
chrVI 270161 assembled chrVI primary VI,BK006940.2,NC_001138.5
chrVII 1090940 assembled chrVII primary VII,BK006941.2,NC_001139.9
chrVIII 562643 assembled chrVIII primary VIII,BK006934.2,NC_001140.6
chrIX 439888 assembled chrIX primary IX,BK006942.2,NC_001141.2
chrX 745751 assembled chrX primary X,BK006943.2,NC_001142.9
chrXI 666816 assembled chrXI primary XI,BK006944.2,NC_001143.9
chrXII 1078177 assembled chrXII primary XII,BK006945.2,NC_001144.5
chrXIII 924431 assembled chrXIII primary XIII,BK006946.2,NC_001145.3
chrXIV 784333 assembled chrXIV primary XIV,BK006947.3,NC_001146.8
chrXV 1091291 assembled chrXV primary XV,BK006948.2,NC_001147.6
chrXVI 948066 assembled chrXVI primary XVI,BK006949.2,NC_001148.4
chrM 85779 assembled chrM non-nuclear MT,Mito,AJ011856.1,NC_001224.1
open2c-bioframe-4fe9b25/bioframe/io/data/wuhCor1.seqinfo.tsv 0000664 0000000 0000000 00000000154 14775257723 0023764 0 ustar 00root root 0000000 0000000 name length role molecule unit aliases
NC_045512v2 29903 assembled NC_045512 primary NC_045512.2,MN908947.3
open2c-bioframe-4fe9b25/bioframe/io/fileops.py 0000664 0000000 0000000 00000047274 14775257723 0021353 0 ustar 00root root 0000000 0000000 import array
import io
import json
import os
import shutil
import subprocess
import tempfile
from collections import OrderedDict
from contextlib import closing
import numpy as np
import pandas as pd
try:
import bbi
except ImportError:
bbi = None
try:
import pyBigWig
except ImportError:
pyBigWig = None
from ..core.arrops import argnatsort
from ..core.stringops import parse_region
from .schemas import BAM_FIELDS, SCHEMAS
__all__ = [
"read_table",
"read_chromsizes",
"read_tabix",
"read_pairix",
"read_alignments",
"load_fasta",
"read_bigwig",
"to_bigwig",
"read_bigbed",
"to_bigbed",
]
def read_table(filepath_or, schema=None, schema_is_strict=False, **kwargs):
"""
Read a tab-delimited file into a data frame.
Equivalent to :func:`pandas.read_table` but supports an additional
`schema` argument to populate column names for common genomic formats.
Parameters
----------
filepath_or : str, path object or file-like object
Any valid string path is acceptable. The string could be a URL
schema : str
Schema to use for table column names.
schema_is_strict : bool
Whether to check if columns are filled with NAs.
Returns
-------
df : pandas.DataFrame of intervals
"""
kwargs.setdefault("sep", "\t")
kwargs.setdefault("header", None)
kwargs.setdefault("index_col", False)
if isinstance(filepath_or, str) and filepath_or.endswith(".gz"):
kwargs.setdefault("compression", "gzip")
if schema is not None:
try:
kwargs.setdefault("names", SCHEMAS[schema])
except (KeyError, TypeError):
if isinstance(schema, str):
raise ValueError(f"TSV schema not found: '{schema}'") from None
kwargs.setdefault("names", schema)
df = pd.read_csv(filepath_or, **kwargs)
if schema_is_strict:
if (df.notna().sum(axis=0) == 0).any():
raise ValueError(
"one or more columns are all NA,"
+ " check agreement between number of fields in schema"
+ " and number of columns in input file"
)
return df
def read_chromsizes(
filepath_or,
filter_chroms=True,
chrom_patterns=(r"^chr[0-9]+$", r"^chr[XY]$", r"^chrM$"),
natsort=True,
as_bed=False,
**kwargs,
):
"""
Read a ``.chrom.sizes`` or ``.chromInfo.txt`` file from the UCSC
database, where ``db`` is a genome assembly name, as a `pandas.Series`.
Parameters
----------
filepath_or : str or file-like
Path or url to text file, or buffer.
filter_chroms : bool, optional
Filter for chromosome names given in ``chrom_patterns``.
chrom_patterns : sequence, optional
Sequence of regular expressions to capture desired sequence names.
natsort : bool, optional
Sort each captured group of names in natural order. Default is True.
as_bed : bool, optional
If True, return chromsizes as an interval dataframe (chrom, start, end).
**kwargs :
Passed to :func:`pandas.read_csv`
Returns
-------
Series of integer bp lengths indexed by sequence name or an interval dataframe.
Notes
-----
Mention name patterns
See also
--------
* UCSC assembly terminology:
* NCBI assembly terminology:
"""
if isinstance(filepath_or, str) and filepath_or.endswith(".gz"):
kwargs.setdefault("compression", "gzip")
chromtable = pd.read_csv(
filepath_or,
sep="\t",
usecols=[0, 1],
names=["name", "length"],
dtype={"name": str},
**kwargs,
)
if filter_chroms:
parts = []
for pattern in chrom_patterns:
if not len(pattern):
continue
part = chromtable[chromtable["name"].str.contains(pattern)]
if natsort:
part = part.iloc[argnatsort(part["name"])]
parts.append(part)
chromtable = pd.concat(parts, axis=0)
if as_bed:
chromtable["start"] = 0
chromtable = (
chromtable[["name", "start", "length"]]
.rename({"name": "chrom", "length": "end"}, axis="columns")
.reset_index(drop=True)
)
else:
chromtable.index = chromtable["name"].values
chromtable = chromtable["length"]
return chromtable
def read_tabix(fp, chrom=None, start=None, end=None):
"""
Read a tabix-indexed file into dataFrame.
"""
try:
import pysam
except ImportError:
raise ImportError("pysam is required to use `read_tabix`") from None
with closing(pysam.TabixFile(fp)) as f:
names = list(f.header) or None
df = pd.read_csv(
io.StringIO("\n".join(f.fetch(chrom, start, end))),
sep="\t",
header=None,
names=names,
)
return df
def read_pairix(
fp,
region1,
region2=None,
chromsizes=None,
columns=None,
usecols=None,
dtypes=None,
**kwargs,
):
"""
Read a pairix-indexed file into DataFrame.
"""
import cytoolz as toolz
import pypairix
if dtypes is None:
dtypes = {}
f = pypairix.open(fp, "r")
header = f.get_header()
if len(header):
header_groups = toolz.groupby(lambda x: x.split(":")[0], header)
if "#chromsize" in header_groups and chromsizes is None:
items = [line.split()[1:] for line in header_groups["#chromsize"]]
if len(items) and chromsizes is None:
names, lengths = zip(*((item[0], int(item[1])) for item in items))
chromsizes = pd.Series(index=names, data=lengths)
if "#columns" in header_groups and columns is None:
columns = header_groups["#columns"][0].split()[1:]
chrom1, start1, end1 = parse_region(region1, chromsizes)
if region2 is not None:
chrom2, start2, end2 = parse_region(region2, chromsizes)
else:
chrom2, start2, end2 = chrom1, start1, end1
it = f.query2D(chrom1, start1, end1, chrom2, start2, end2)
if usecols is not None:
argusecols = [columns.index(col) for col in usecols]
records = [(record[i] for i in argusecols) for record in it]
columns = usecols
else:
records = it
df = pd.DataFrame.from_records(records, columns=columns)
if columns is not None:
for col in columns:
if col in dtypes:
df[col] = df[col].astype(dtypes[col])
else:
df[col] = pd.to_numeric(df[col], "ignore")
return df
def read_alignments(fp, chrom=None, start=None, end=None):
"""
Read alignment records into a DataFrame.
"""
try:
import pysam
except ImportError:
raise ImportError("pysam is required to use `read_alignments`") from None
ext = os.path.splitext(fp)[1]
if ext == ".sam":
mode = "r"
elif ext == ".bam":
mode = "rb"
elif ext == ".cram":
mode = "rc"
else:
raise ValueError(f"{ext} is not a supported filetype")
with closing(pysam.AlignmentFile(fp, mode)) as f:
records = []
for s in f.fetch(chrom, start, end):
# Needed because array.array is not json serializable
tags = [
(k, v.tolist() if isinstance(v, array.array) else v) for k, v in s.tags
]
records.append(
(
s.qname,
s.flag,
s.reference_name,
s.pos,
s.mapq,
s.cigarstring if s.mapq != 0 else np.nan,
s.rnext,
s.pnext,
s.tlen,
s.seq,
s.qual,
json.dumps(dict(tags)),
)
)
df = pd.DataFrame(records, columns=BAM_FIELDS)
return df
def read_bam(fp, chrom=None, start=None, end=None):
"""
Deprecated: use `read_alignment` instead.
Read bam file into dataframe,
"""
return read_alignments(fp, chrom, start, end)
class PysamFastaRecord:
def __init__(self, ff, ref):
self.ff = ff
if ref not in ff.references:
raise KeyError(f"Reference name '{ref}' not found in '{ff}'")
self.ref = ref
def __getitem__(self, key):
if isinstance(key, slice):
start, stop = key.start, key.stop
else:
start = key
stop = key + 1
return self.ff.fetch(self.ref, start, stop)
def load_fasta(filepath_or, engine="pysam", **kwargs):
"""
Load lazy fasta sequences from an indexed fasta file (optionally compressed)
or from a collection of uncompressed fasta files.
Parameters
----------
filepath_or : str or iterable
If a string, a filepath to a single `.fa` or `.fa.gz` file. Assumed to
be accompanied by a `.fai` index file. Depending on the engine, the
index may be created on the fly, and some compression formats may not
be supported. If not a string, an iterable of fasta file paths each
assumed to contain a single sequence.
engine : {'pysam', 'pyfaidx'}, optional
Module to use for loading sequences.
kwargs : optional
Options to pass to ``pysam.FastaFile`` or ``pyfaidx.Fasta``.
Returns
-------
OrderedDict of (lazy) fasta records.
Notes
-----
* pysam/samtools can read .fai and .gzi indexed files, I think.
* pyfaidx can handle uncompressed and bgzf compressed files.
"""
is_multifile = not isinstance(filepath_or, str)
records = OrderedDict()
engine = engine.lower()
if engine == "pysam":
try:
import pysam
except ImportError:
raise ImportError("pysam is required to use engine='pysam'") from None
if is_multifile:
for onefile in filepath_or:
ff = pysam.FastaFile(onefile, **kwargs)
name = ff.references[0]
records[name] = PysamFastaRecord(ff, name)
else:
ff = pysam.FastaFile(filepath_or, **kwargs)
for name in ff.references:
records[name] = PysamFastaRecord(ff, name)
elif engine == "pyfaidx":
try:
import pyfaidx
except ImportError:
raise ImportError("pyfaidx is required to use engine='pyfaidx'") from None
if is_multifile:
for onefile in filepath_or:
ff = pyfaidx.Fasta(onefile, **kwargs)
name = next(iter(ff.keys()))
records[name] = ff[name]
else:
ff = pyfaidx.Fasta(filepath_or, **kwargs)
for name in ff.keys():
records[name] = ff[name]
else:
raise ValueError("engine must be 'pysam' or 'pyfaidx'")
return records
def read_bigwig(path, chrom, start=None, end=None, engine="auto"):
"""
Read intervals from a bigWig file.
Parameters
----------
path : str
Path or URL to a bigWig file
chrom : str
start, end : int, optional
Start and end coordinates. Defaults to 0 and chromosome length.
engine : {"auto", "pybbi", "pybigwig"}
Library to use for querying the bigWig file.
Returns
-------
DataFrame
"""
engine = engine.lower()
if engine == "auto":
if bbi is None and pyBigWig is None:
raise ImportError(
"read_bigwig requires either the pybbi or pyBigWig package"
)
elif bbi is not None:
engine = "pybbi"
else:
engine = "pybigwig"
if engine in ("pybbi", "bbi"):
if start is None:
start = 0
if end is None:
end = -1
with bbi.open(path) as f:
df = f.fetch_intervals(chrom, start=start, end=end)
elif engine == "pybigwig":
f = pyBigWig.open(path)
if start is None:
start = 0
if end is None:
end = f.chroms()[chrom]
ivals = f.intervals(chrom, start, end)
df = pd.DataFrame(ivals, columns=["start", "end", "value"])
df.insert(0, "chrom", chrom)
else:
raise ValueError(f"engine must be 'auto', 'pybbi' or 'pybigwig'; got {engine}")
return df
def read_bigbed(path, chrom, start=None, end=None, engine="auto"):
"""
Read intervals from a bigBed file.
Parameters
----------
path : str
Path or URL to a bigBed file
chrom : str
start, end : int, optional
Start and end coordinates. Defaults to 0 and chromosome length.
engine : {"auto", "pybbi", "pybigwig"}
Library to use for querying the bigBed file.
Returns
-------
DataFrame
"""
engine = engine.lower()
if engine == "auto":
if bbi is None and pyBigWig is None:
raise ImportError(
"read_bigbed requires either the pybbi or pyBigWig package"
)
elif bbi is not None:
engine = "pybbi"
else:
engine = "pybigwig"
if engine in ("pybbi", "bbi"):
if start is None:
start = 0
if end is None:
end = -1
with bbi.open(path) as f:
df = f.fetch_intervals(chrom, start=start, end=end)
elif engine == "pybigwig":
f = pyBigWig.open(path)
if start is None:
start = 0
if end is None:
end = f.chroms()[chrom]
ivals = f.entries(chrom, start, end)
df = pd.DataFrame(ivals, columns=["start", "end", "rest"])
df.insert(0, "chrom", chrom)
else:
raise ValueError(f"engine must be 'auto', 'pybbi' or 'pybigwig'; got {engine}")
return df
def _find_ucsc_binary(path, cmd):
if path is None:
try:
assert shutil.which(cmd) is not None
except Exception:
raise ValueError(
f"{cmd} is not present in the current environment. "
f"Pass it as 'path_to_binary' parameter to bioframe.to_bigwig or "
f"install it with, for example, conda install -y -c bioconda "
f"ucsc-{cmd.lower()} "
) from None
elif path.endswith(cmd):
if not os.path.isfile(path) and os.access(path, os.X_OK):
raise ValueError(
f"{cmd} is absent in the provided path or cannot be "
f"executed: {path}. "
)
cmd = path
else:
cmd = os.path.join(path, cmd)
if not os.path.isfile(cmd) and os.access(cmd, os.X_OK):
raise ValueError(
f"{cmd} is absent in the provided path or cannot be "
f"executed: {path}. "
)
return cmd
def to_bigwig(
df, chromsizes, outpath, value_field=None, engine="ucsc", path_to_binary=None
):
"""Save a bedGraph-like dataframe as a binary BigWig file.
Parameters
----------
df : pandas.DataFrame
Data frame with columns 'chrom', 'start', 'end' and one or more value
columns
chromsizes : pandas.Series
Series indexed by chromosome name mapping to their lengths in bp
outpath : str
The output BigWig file path
value_field : str, optional
Select the column label of the data frame to generate the track. Default
is to use the fourth column.
path_to_binary : str, optional
Provide system path to the bedGraphToBigWig binary.
engine : {'ucsc', 'bigtools'}, optional
Engine to use for creating the BigWig file.
"""
is_bedgraph = True
for col in ["chrom", "start", "end"]:
if col not in df.columns:
is_bedgraph = False
if len(df.columns) < 4:
is_bedgraph = False
if not is_bedgraph:
raise ValueError(f"A bedGraph-like DataFrame is required, got {df.columns}")
if value_field is None:
value_field = df.columns[3]
columns = ["chrom", "start", "end", value_field]
bg = df[columns].copy()
bg["chrom"] = bg["chrom"].astype(str)
bg = bg.sort_values(["chrom", "start", "end"])
if engine.lower() == "ucsc":
cmd = _find_ucsc_binary(path_to_binary, "bedGraphToBigWig")
with tempfile.NamedTemporaryFile(suffix=".bg") as f, \
tempfile.NamedTemporaryFile("wt", suffix=".chrom.sizes") as cs: # fmt: skip # noqa: E501
pd.Series(chromsizes).to_csv(cs, sep="\t", header=False)
cs.flush()
bg.to_csv(
f.name,
sep="\t",
columns=columns,
index=False,
header=False,
na_rep="nan",
)
p = subprocess.run(
[cmd, f.name, cs.name, outpath],
capture_output=True,
)
return p
elif engine.lower() == "bigtools":
try:
import pybigtools
except ImportError:
raise ImportError(
"pybigtools is required to use engine='bigtools'"
) from None
f = pybigtools.open(outpath, "w")
if issubclass(type(chromsizes), pd.Series):
chromsizes = chromsizes.astype(int).to_dict()
bg = bg.astype({"chrom": str, "start": int, "end": int, value_field: float})
f.write(chroms=chromsizes, vals=bg.itertuples(index=False))
f.close()
def to_bigbed(
df, chromsizes, outpath, schema="infer", engine="ucsc", path_to_binary=None
):
"""Save a BED-like dataframe as a binary BigBed file.
Parameters
----------
df : pandas.DataFrame
Data frame with columns 'chrom', 'start', 'end' and one or more value
columns
chromsizes : pandas.Series
Series indexed by chromosome name mapping to their lengths in bp
outpath : str
The output BigWig file path
value_field : str, optional
Select the column label of the data frame to generate the track. Default
is to use the fourth column.
path_to_binary : str, optional
Provide system path to the bedToBigBed binary.
"""
from bioframe.io.bed import infer_bed_schema, parse_bed_schema, to_bed_dataframe
if schema == "infer":
n, _ = infer_bed_schema(df)
else:
n, _ = parse_bed_schema(schema)
bed = to_bed_dataframe(df, schema=schema)
m = len(bed.columns) - n
schema = f"bed{n}+{m}" if m > 0 else f"bed{n}"
if engine.lower() == "ucsc":
if path_to_binary is None:
cmd = _find_ucsc_binary(path_to_binary, "bedToBigBed")
with tempfile.NamedTemporaryFile(suffix=".bed") as f, \
tempfile.NamedTemporaryFile("wt", suffix=".chrom.sizes") as cs: # fmt: skip # noqa: E501
pd.Series(chromsizes).to_csv(cs, sep="\t", header=False)
cs.flush()
bed.to_csv(
f.name,
sep="\t",
columns=bed.columns,
index=False,
header=False,
na_rep="nan",
)
p = subprocess.run(
[cmd, f"-type={schema}", f.name, cs.name, outpath],
capture_output=True,
)
return p
elif engine.lower() == "bigtools":
try:
import pybigtools
except ImportError:
raise ImportError(
"pybigtools is required to use engine='bigtools'"
) from None
f = pybigtools.open(outpath, "w")
if issubclass(type(chromsizes), pd.Series):
chromsizes = chromsizes.astype(int).to_dict()
bed = bed.astype({"chrom": str, "start": int, "end": int})
record_iter = (
(row[0], row[1], row[2], "\t".join(str(x) for x in row[3:]))
for row in bed.itertuples(index=False)
)
f.write(chroms=chromsizes, vals=record_iter)
f.close()
open2c-bioframe-4fe9b25/bioframe/io/resources.py 0000664 0000000 0000000 00000020704 14775257723 0021711 0 ustar 00root root 0000000 0000000 import urllib
from functools import partial
from typing import Union
from urllib.parse import urljoin
import numpy as np
import pandas as pd
from .assembly import assembly_info
from .fileops import read_chromsizes, read_table
from .schemas import SCHEMAS
__all__ = [
"fetch_chromsizes",
"fetch_centromeres",
"UCSCClient",
]
def fetch_chromsizes(
db: str,
*,
provider: str = "local",
as_bed: bool = False,
filter_chroms: bool = True,
chrom_patterns: tuple = (r"^chr[0-9]+$", r"^chr[XY]$", r"^chrM$"),
natsort: bool = True,
**kwargs,
) -> Union[pd.Series, pd.DataFrame]:
"""
Fetch chromsizes from local storage or the UCSC database.
Parameters
----------
db : str
Assembly name.
provider : str, optional [default: "local"]
The provider of chromsizes. Either "local" for local storage or "ucsc".
as_bed : bool, optional
If True, return chromsizes as an interval DataFrame (chrom, start, end)
instead of a Series.
The remaining options only apply to provider="ucsc".
filter_chroms : bool, optional
Filter for chromosome names given in ``chrom_patterns``.
chrom_patterns : sequence, optional
Sequence of regular expressions to capture desired sequence names.
natsort : bool, optional
Sort each captured group of names in natural order. Default is True.
**kwargs :
Passed to :func:`pandas.read_csv`
Returns
-------
Series of integer bp lengths indexed by sequence name or BED3 DataFrame.
Notes
-----
For more fine-grained control over the chromsizes from local storage,
use :func:`bioframe.assembly_info`.
Examples
--------
>>> fetch_chromsizes("hg38")
name
chr1 248956422
chr2 242193529
chr3 198295559
... ...
chrX 156040895
chrY 57227415
chrM 16569
Name: length, dtype: int64
>>> fetch_chromsizes("hg38", as_bed=True)
chrom start end
0 chr1 0 248956422
1 chr2 0 242193529
2 chr3 0 198295559
... ...
21 chrX 0 156040895
22 chrY 0 57227415
23 chrM 0 16569
See also
--------
bioframe.assembly_info
bioframe.UCSCClient
"""
if provider == "local":
assembly = assembly_info(db)
if as_bed:
return assembly.viewframe[["chrom", "start", "end"]].copy()
else:
return assembly.chromsizes
elif provider == "ucsc":
return UCSCClient(db).fetch_chromsizes(
filter_chroms=filter_chroms,
chrom_patterns=chrom_patterns,
natsort=natsort,
as_bed=as_bed,
**kwargs,
)
else:
raise ValueError(f"Unknown provider '{provider}'")
def _origins_from_cytoband(
cyb: pd.DataFrame, band_col: str = "gieStain"
) -> pd.DataFrame:
"""
Extract chromosomal origin positions separating chromosome arms from
cytological band data. Takes the cytological origin, i.e. the boundary
between the two bands labeled 'acen'.
Parameters
----------
cyb : pandas.DataFrame
DataFrame with cytoband data.
Returns
-------
pandas.DataFrame
A dataframe with columns 'chrom', 'start', 'end', 'mid'.
"""
cyb = cyb[cyb[band_col] == "acen"]
grouped = cyb.groupby("chrom", sort=False)
cens = []
for chrom, group in grouped:
if not len(group) == 2:
raise ValueError(f"Expected 2 'acen' bands for {chrom}, found {len(group)}")
acens = group.sort_values("start")
cens.append(
{
"chrom": chrom,
"start": acens.iloc[0]["start"],
"end": acens.iloc[1]["end"],
"mid": acens.iloc[0]["end"],
}
)
return pd.DataFrame.from_records(cens)
def _origins_from_ucsccentromeres(cens: pd.DataFrame) -> pd.DataFrame:
"""
Extract chromosomal origin positions from UCSC centromeres.txt table
describing centromere model sequences. Takes the midpoint of all
modeled centromere sequences.
Parameters
----------
cens : pandas.DataFrame
DataFrame with centromeres.txt data.
Returns
-------
pandas.DataFrame
A dataframe with columns 'chrom', 'start', 'end', 'mid'.
"""
cens = cens.groupby("chrom").agg({"start": np.min, "end": np.max}).reset_index()
cens["mid"] = (cens["start"] + cens["end"]) // 2
cens = (
cens[["chrom", "start", "end", "mid"]]
.sort_values("chrom")
.reset_index(drop=True)
)
return cens
def fetch_centromeres(db: str, provider: str = "local") -> pd.DataFrame:
"""
Extract centromere locations for a given assembly 'db' from a variety
of file formats in UCSC (cytoband, centromeres) depending on
availability, returning a DataFrame.
Parameters
----------
db : str
Assembly name.
provider : str, optional [default: "local"]
The provider of centromere data. Either "local" for local storage
or "ucsc".
Returns
-------
DataFrame with centromere 'chrom', 'start', 'end', 'mid'.
Notes
-----
When provider="local", centromeres are derived from cytoband tables
in local storage.
Whe provider="ucsc", the fallback priority goes as follows:
- UCSC cytoBand
- UCSC cytoBandIdeo
- UCSC centromeres.txt
Note that UCSC "gap" files no longer provide centromere information.
Currently only works for human assemblies.
See also
--------
bioframe.assembly_info
bioframe.UCSCClient
"""
if provider == "local":
assembly = assembly_info(db)
cyb = assembly.cytobands
if cyb is None:
raise ValueError(
f"No source for centromere data found from provider '{provider}'."
)
return _origins_from_cytoband(cyb, band_col="stain")
elif provider == "ucsc":
client = UCSCClient(db)
fetchers = [
("cytoband", client.fetch_cytoband),
("cytoband", partial(client.fetch_cytoband, ideo=True)),
("centromeres", client.fetch_centromeres),
]
for schema, fetcher in fetchers: # noqa: B007
try:
df = fetcher()
break
except urllib.error.HTTPError:
pass
else:
raise ValueError(
f"No source for centromere data found from provider '{provider}'."
)
if schema == "centromeres":
return _origins_from_ucsccentromeres(df)
else:
return _origins_from_cytoband(df)
else:
raise ValueError(f"Unknown provider '{provider}'")
class UCSCClient:
BASE_URL = "https://hgdownload.soe.ucsc.edu/"
def __init__(self, db: str):
self._db = db
self._db_url = urljoin(self.BASE_URL, f"goldenPath/{db}/")
def fetch_chromsizes(
self,
filter_chroms: bool = True,
chrom_patterns: tuple = (r"^chr[0-9]+$", r"^chr[XY]$", r"^chrM$"),
natsort: bool = True,
as_bed: bool = False,
**kwargs,
) -> Union[pd.Series, pd.DataFrame]:
url = urljoin(self._db_url, f"bigZips/{self._db}.chrom.sizes")
return read_chromsizes(
url,
filter_chroms=filter_chroms,
chrom_patterns=chrom_patterns,
natsort=natsort,
as_bed=as_bed,
**kwargs,
)
def fetch_centromeres(self, **kwargs) -> pd.DataFrame:
url = urljoin(self._db_url, "database/centromeres.txt.gz")
return read_table(url, schema="centromeres", **kwargs)
def fetch_gaps(self, **kwargs):
url = urljoin(self._db_url, "database/gap.txt.gz")
return read_table(
url,
schema="gap",
usecols=["chrom", "start", "end", "length", "type", "bridge"],
**kwargs,
)
def fetch_cytoband(self, ideo: bool = False, **kwargs) -> pd.DataFrame:
if ideo:
url = urljoin(self._db_url, "database/cytoBandIdeo.txt.gz")
else:
url = urljoin(self._db_url, "database/cytoBand.txt.gz")
return read_table(url, schema="cytoband")
def fetch_mrna(self, **kwargs) -> pd.DataFrame:
url = urljoin(self._db_url, "database/all_mrna.txt.gz")
return read_table(
url,
schema=SCHEMAS["all_mrna"],
**kwargs,
)
open2c-bioframe-4fe9b25/bioframe/io/schemas.py 0000664 0000000 0000000 00000012160 14775257723 0021317 0 ustar 00root root 0000000 0000000 """
Field names for various genomic tabular files
"""
__all__ = ["SCHEMAS"]
# UCSC File Formats
# https://genome.ucsc.edu/FAQ/FAQformat.html
BED12_FIELDS = [
"chrom",
"start",
"end",
"name",
"score",
"strand",
"thickStart",
"thickEnd",
"itemRgb",
"blockCount",
"blockSizes",
"blockStarts",
]
BED_FIELDS = BED12_FIELDS[:6]
BEDGRAPH_FIELDS = ["chrom", "start", "end", "value"]
BEDPE_FIELDS = [
"chrom1",
"start1",
"end1",
"chrom2",
"start2",
"end2",
"name",
"score",
"strand1",
"strand2",
]
GFF_FIELDS = [
"chrom",
"source",
"feature",
"start",
"end",
"score",
"strand",
"frame",
"attributes",
]
PGSNP_FIELDS = [
"chrom",
"start",
"end",
"name",
"alleleCount",
"alleleFreq",
"alleleScores",
]
BEDRNAELEMENTS_FIELDS = [
"chrom",
"start",
"end",
"name",
"score",
"strand",
"level",
"signif",
"score2",
]
NARROWPEAK_FIELDS = [
"chrom",
"start",
"end",
"name",
"score",
"strand",
"fc",
"-log10p",
"-log10q",
"relSummit",
]
BROADPEAK_FIELDS = [
"chrom",
"start",
"end",
"name",
"score",
"strand",
"fc",
"-log10p",
"-log10q",
]
GAPPEDPEAK_FIELDS = [
"chrom",
"start",
"end",
"name",
"score",
"strand",
"thickStart",
"thickEnd",
"itemRgb",
"blockCount",
"blockSizes",
"blockStarts",
"fc",
"-log10p",
"-log10q",
]
JASPAR_FIELDS = ["chrom", "start", "end", "name", "score", "pval", "strand"]
GAP_FIELDS = ["bin", "chrom", "start", "end", "ix", "n", "length", "type", "bridge"]
CENTROMERES_FIELDS = ["bin", "chrom", "start", "end", "name"]
UCSC_MRNA_FIELDS = [
"bin",
"matches",
"misMatches",
"repMatches",
"nCount",
"qNumInsert",
"qBaseInsert",
"tNumInsert",
"tBaseInsert",
"strand",
"qName",
"qSize",
"qStart",
"qEnd",
"tName",
"tSize",
"tStart",
"tEnd",
"blockCount",
"blockSizes",
"qStarts",
"tStarts",
]
CYTOBAND_FIELDS = ["chrom", "start", "end", "name", "gieStain"]
# GA4GH File Formats
# http://ga4gh.org/#/fileformats-team
BAM_FIELDS = [
"QNAME",
"FLAG",
"RNAME",
"POS",
"MAPQ",
"CIGAR",
"RNEXT",
"PNEXT",
"TLEN",
"SEQ",
"QUAL",
"TAGs",
]
VCF_FIELDS = ["CHROM", "POS", "ID", "REF", "ALT", "QUAL", "FILTER", "INFO"]
SCHEMAS = {
"bed": BED_FIELDS,
"bed3": BED_FIELDS[:3],
"bed4": BED_FIELDS[:4],
"bedGraph": BEDGRAPH_FIELDS,
"bed5": BED_FIELDS[:5],
"bed6": BED_FIELDS,
"bed9": BED12_FIELDS[:9],
"bed12": BED12_FIELDS,
"bedpe": BEDPE_FIELDS,
"gff": GFF_FIELDS,
"gtf": GFF_FIELDS,
"bedRnaElements": BEDRNAELEMENTS_FIELDS,
"narrowPeak": NARROWPEAK_FIELDS,
"broadPeak": BROADPEAK_FIELDS,
"gappedPeak": GAPPEDPEAK_FIELDS,
"centromeres": CENTROMERES_FIELDS,
"cytoband": CYTOBAND_FIELDS,
"sam": BAM_FIELDS,
"vcf": VCF_FIELDS,
"jaspar": JASPAR_FIELDS,
"gap": GAP_FIELDS,
"all_mrna": UCSC_MRNA_FIELDS,
"pgsnp": PGSNP_FIELDS,
}
CHROM_NAME_PATTERNS = {
"hg19": (
r"^chr[0-9]+$",
r"^chr[XY]$",
r"^chrM$",
r"^chr(?!Un).+_.*_random$",
r"^chrUn_.*$",
r"^chr(?!Un).+_.*_hap\d+$",
),
"hg38": (
r"^chr[0-9]+$",
r"^chr[XY]$",
r"^chrM$",
r"^chrEBV$",
r"^chr(?!Un).+_.*_random$",
r"^chrUn_.*$",
r"^chr(?!Un).+_.*_alt$",
),
"mm9": (
r"^chr[0-9]+$",
r"^chr[XY]$",
r"^chrM$",
r"^chr(?!Un).+_random$",
r"^chrUn_random$",
),
"mm10": (
r"^chr[0-9]+$",
r"^chr[XY]$",
r"^chrM$",
r"^chr(?!Un).+_random$",
r"^chrUn_.*$",
),
"galGal4": (
r"^chr[0-9]+$",
r"^chr[ZW]$",
r"^chrM$",
r"^chrLGE64|chrLGE22C19W28_E50C23$",
r"^chr(?!Un).+_random$",
r"^chrUn_.*$",
),
"galGal5": (
r"^chr[0-9]+$",
r"^chr[ZW]$",
r"^chrM$",
r"^chrLGE64$",
r"^chr(?!Un).+_random$",
r"^chrUn_.*$",
),
"dm3": (
r"^chr[234][LR[Het]*]*$",
r"^chr[XY][Het]*$",
r"^chrM$",
r"^chr[U][extra]*$",
),
"dm6": (
r"^chr[234][LR]*",
r"^chr[XY]$",
r"^chrM$",
r"^chr(?!Un).+_random$",
r"^chrUn_.*$",
),
"ce10": (r"chr[IV]+$", r"^chrX$", r"^chrM$"),
"ce11": (r"chr[IV]+$", r"^chrX$", r"^chrM$"),
"sacCer3": (r"chr[IXV]+$", r"^chrM$"),
"TAIR10": (r"^\d+", r"^MT|Pltd$"),
}
UCSC_AUTOSOMES = r"^chr[0-9]+[A-Za-z]*$"
UCSC_SEXCHROMS = r"^chr[XYZW][A-Za-z]*$"
UCSC_NONNUCLEAR = r"^chrM$"
UCSC_OTHER = r"^chrLGE.*$"
UCSC_UNLOCALIZED = r"^chr(?!Un).+.*_random$"
UCSC_UNPLACED = r"^chrUn_.*$|^chrU[A-Za-z]*$"
UCSC_ALTCHROMS = r"^chr(?!Un).+_.*_hap\d+$|^chr(?!Un).+_.*_alt$"
NCBI_AUTOSOMES = r"^[0-9]+$"
NCBI_SEXCHROMS = r"^[XYZW]$"
NCBI_NONNUCLEAR = r"^MT$|^Pltd$"
ROMAN_LT10 = [r"^chrI+$", r"^chrIV$", r"^chrVI*$", r"^chrIX$"]
ROMAN_LT20 = [*ROMAN_LT10, "^chrX$", "^chrXI*$", "^chrXIV$", "^chrXVI*$", "^chrXIX$"]
open2c-bioframe-4fe9b25/bioframe/ops.py 0000664 0000000 0000000 00000170775 14775257723 0020107 0 ustar 00root root 0000000 0000000 import numpy as np
import pandas as pd
from .core import arrops, checks, construction
from .core.specs import _get_default_colnames, _verify_columns
from .core.stringops import parse_region
__all__ = [
"select",
"select_mask",
"select_indices",
"select_labels",
"expand",
"overlap",
"cluster",
"merge",
"coverage",
"closest",
"subtract",
"setdiff",
"count_overlaps",
"trim",
"complement",
"sort_bedframe",
"assign_view",
]
def select_mask(df, region, cols=None):
"""
Return boolean mask for all genomic intervals that overlap a query range.
Parameters
----------
df : pandas.DataFrame
region : str or tuple
The genomic region to select from the dataframe in UCSC-style genomic
region string, or triple (chrom, start, end).
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals. The default values are 'chrom', 'start', 'end'.
Returns
-------
Boolean array of shape (len(df),)
"""
ck, sk, ek = _get_default_colnames() if cols is None else cols
_verify_columns(df, [ck, sk, ek])
chrom, start, end = parse_region(region)
if chrom is None:
raise ValueError("no chromosome detected, check region input")
if start is None:
mask = df[ck] == chrom
else:
if end is None:
end = np.inf
mask = (df[ck] == chrom) & (
((df[sk] < end) & (df[ek] > start))
| ((df[sk] == df[ek]) & (df[sk] == start)) # include points at query start
)
return mask.to_numpy()
def select_indices(df, region, cols=None):
"""
Return integer indices of all genomic intervals that overlap a query range.
Parameters
----------
df : pandas.DataFrame
region : str or tuple
The genomic region to select from the dataframe in UCSC-style genomic
region string, or triple (chrom, start, end).
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals. The default values are 'chrom', 'start', 'end'.
Returns
-------
1D array of int
"""
return np.nonzero(select_mask(df, region, cols))[0]
def select_labels(df, region, cols=None):
"""
Return pandas Index labels of all genomic intervals that overlap a query
range.
Parameters
----------
df : pandas.DataFrame
region : str or tuple
The genomic region to select from the dataframe in UCSC-style genomic
region string, or triple (chrom, start, end).
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals. The default values are 'chrom', 'start', 'end'.
Returns
-------
pandas.Index
"""
return df.index[select_mask(df, region, cols)]
def select(df, region, cols=None):
"""
Return all genomic intervals in a dataframe that overlap a genomic region.
Parameters
----------
df : pandas.DataFrame
region : str or tuple
The genomic region to select from the dataframe in UCSC-style genomic
region string, or triple (chrom, start, end).
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals. The default values are 'chrom', 'start', 'end'.
Returns
-------
df : pandas.DataFrame
Notes
-----
See :func:`.core.stringops.parse_region()` for more information on region
formatting.
See also
--------
:func:`select_mask`
:func:`select_indices`
:func:`select_labels`
"""
return df.loc[select_mask(df, region, cols)]
def expand(df, pad=None, scale=None, side="both", cols=None):
"""
Expand each interval by an amount specified with `pad`.
Negative values for pad shrink the interval, up to the midpoint.
Multiplicative rescaling of intervals enabled with scale. Only one of pad
or scale can be provided. Often followed by :func:`trim()`.
Parameters
----------
df : pandas.DataFrame
pad : int, optional
The amount by which the intervals are additively expanded *on each side*.
Negative values for pad shrink intervals, but not beyond the interval
midpoint. Either `pad` or `scale` must be supplied.
scale : float, optional
The factor by which to scale intervals multiplicatively on each side, e.g
``scale=2`` doubles each interval, ``scale=0`` returns midpoints, and
``scale=1`` returns original intervals. Default False.
Either `pad` or `scale` must be supplied.
side : str, optional
Which side to expand, possible values are 'left', 'right' and 'both'.
Default 'both'.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals. Default values are 'chrom', 'start', 'end'.
Returns
-------
df_expanded : pandas.DataFrame
Notes
-----
See :func:`bioframe.trim` for trimming interals after expansion.
"""
ck, sk, ek = _get_default_colnames() if cols is None else cols
checks.is_bedframe(df, raise_errors=True, cols=[ck, sk, ek])
if scale is not None and pad is not None:
raise ValueError("only one of pad or scale can be supplied")
elif scale is not None:
if scale < 0:
raise ValueError("multiplicative scale must be >=0")
pads = 0.5 * (scale - 1) * (df[ek].values - df[sk].values)
types = df.dtypes[[sk, ek]]
elif pad is not None:
if not isinstance(pad, int):
raise ValueError("additive pad must be integer")
pads = pad
else:
raise ValueError("either pad or scale must be supplied")
df_expanded = df.copy()
if side == "both" or side == "left":
df_expanded[sk] = df[sk].values - pads
if side == "both" or side == "right":
df_expanded[ek] = df[ek] + pads
if pad is not None:
if pad < 0:
mids = df[sk].values + (0.5 * (df[ek].values - df[sk].values)).astype(
np.int64
)
df_expanded[sk] = np.minimum(df_expanded[sk].values, mids)
df_expanded[ek] = np.maximum(df_expanded[ek].values, mids)
if scale is not None:
df_expanded[[sk, ek]] = df_expanded[[sk, ek]].round()
df_expanded[[sk, ek]] = df_expanded[[sk, ek]].astype(types)
return df_expanded
def _minus(inds1, inds2, n1, n2, how):
if how in {"left", "outer"} and n1 > 0:
inds1_unpaired = np.setdiff1d(np.arange(n1), inds1)
else:
inds1_unpaired = np.array([], dtype=int)
if how in {"right", "outer"} and n2 > 0:
inds2_unpaired = np.setdiff1d(np.arange(n2), inds2)
else:
inds2_unpaired = np.array([], dtype=int)
return inds1_unpaired, inds2_unpaired
def _overlap_intidxs(df1, df2, how="left", cols1=None, cols2=None, on=None):
"""
Find pairs of overlapping genomic intervals and return the integer
indices of the overlapping intervals.
Parameters
----------
df1, df2 : pandas.DataFrame
Two sets of genomic intervals stored as a DataFrame.
how : {'left', 'right', 'outer', 'inner'}, default 'left'
How to handle the overlaps on the two dataframes.
left: use the set of intervals in df1
right: use the set of intervals in df2
outer: use the union of the set of intervals from df1 and df2
inner: use intersection of the set of intervals from df1 and df2
cols1, cols2 : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
on : list or None
Additional shared columns to consider as separate groups.
Returns
-------
overlap_ids : numpy.ndarray
The indices of the overlapping genomic intervals in the original
dataframes. The 1st column contains the indices of intervals
from the 1st set, the 2nd column - the indicies from the 2nd set.
"""
ck1, sk1, ek1 = _get_default_colnames() if cols1 is None else cols1
ck2, sk2, ek2 = _get_default_colnames() if cols2 is None else cols2
_verify_columns(df1, [ck1, sk1, ek1])
_verify_columns(df2, [ck2, sk2, ek2])
# Determine grouping columns.
by1 = [ck1]
by2 = [ck2]
if on is not None:
by1 += on
by2 += on
# Mappings of group keys to integer indices.
df1_groups = df1.groupby(by1, observed=True, dropna=False).indices
df2_groups = df2.groupby(by2, observed=True, dropna=False).indices
group_keys = set.union(set(df1_groups), set(df2_groups))
# Extract coordinate fields as arrays.
# Will produce a numpy array or pandas array, depending on the dtype.
starts1 = df1[sk1].values
ends1 = df1[ek1].values
starts2 = df2[sk2].values
ends2 = df2[ek2].values
# Match groups by key and find overlapping intervals.
events1 = []
events2 = []
for key in group_keys:
df1_inds = df1_groups.get(key, np.array([]))
df2_inds = df2_groups.get(key, np.array([]))
n1 = len(df1_inds)
n2 = len(df2_inds)
left_nonempty = n1 > 0
right_nonempty = n2 > 0
if left_nonempty and right_nonempty:
# paired
pi, pj = arrops.overlap_intervals(
starts1[df1_inds],
ends1[df1_inds],
starts2[df2_inds],
ends2[df2_inds],
)
# unpaired
ui, uj = _minus(pi, pj, n1, n2, how)
events1.append(df1_inds[pi])
events2.append(df2_inds[pj])
if len(ui) > 0:
events1.append(df1_inds[ui])
events2.append(np.full(len(ui), -1))
if len(uj) > 0:
events1.append(np.full(len(uj), -1))
events2.append(df2_inds[uj])
elif left_nonempty and how in {"left", "outer"}:
# left all unpaired
events1.append(df1_inds)
events2.append(np.full(n1, -1))
elif right_nonempty and how in {"right", "outer"}:
# right all unpaired
events1.append(np.full(n2, -1))
events2.append(df2_inds)
events1 = np.concatenate(events1) if events1 else np.array([], dtype=int)
events2 = np.concatenate(events2) if events2 else np.array([], dtype=int)
return events1, events2
NUMPY_INT_TO_DTYPE = {
np.dtype(np.int8): pd.Int8Dtype(),
np.dtype(np.int16): pd.Int16Dtype(),
np.dtype(np.int32): pd.Int32Dtype(),
np.dtype(np.int64): pd.Int64Dtype(),
np.dtype(np.uint8): pd.UInt8Dtype(),
np.dtype(np.uint16): pd.UInt16Dtype(),
np.dtype(np.uint32): pd.UInt32Dtype(),
np.dtype(np.uint64): pd.UInt64Dtype(),
}
def _to_nullable_dtype(dtype):
try:
dtype = np.dtype(dtype)
except TypeError:
return dtype
return NUMPY_INT_TO_DTYPE.get(dtype, dtype)
def overlap(
df1,
df2,
how="left",
return_input=True,
return_index=False,
return_overlap=False,
suffixes=("", "_"),
keep_order=None,
cols1=None,
cols2=None,
on=None,
ensure_int=True,
):
"""
Find pairs of overlapping genomic intervals.
Parameters
----------
df1, df2 : pandas.DataFrame
Two sets of genomic intervals stored as a DataFrame.
how : {'left', 'right', 'outer', 'inner'}, default 'left'
How to handle the overlaps on the two dataframes.
left: use the set of intervals in df1
right: use the set of intervals in df2
outer: use the union of the set of intervals from df1 and df2
inner: use intersection of the set of intervals from df1 and df2
return_input : bool, optional
If True, return columns from input dfs. Default True.
return_index : bool, optional
If True, return indicies of overlapping pairs as two new columns
('index'+suffixes[0] and 'index'+suffixes[1]). Default False.
return_overlap : bool, optional
If True, return overlapping intervals for the overlapping pairs
as two additional columns (`overlap_start`, `overlap_end`).
When `cols1` is modified, `start` and `end` are replaced accordingly.
When `return_overlap` is a string, its value is used for naming the overlap
columns: `return_overlap + "_start"`, `return_overlap + "_end"`.
Default False.
suffixes : (str, str), optional
The suffixes for the columns of the two overlapped sets.
keep_order : bool, optional
If True and how='left', sort the output dataframe to preserve the order
of the intervals in df1. Cannot be used with how='right'/'outer'/'inner'.
Default True for how='left', and None otherwise.
Note that it relies on sorting of index in the original dataframes,
and will reorder the output by index.
cols1, cols2 : (str, str, str) or None, optional
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
on : list or None, optional
List of additional shared columns to consider as separate groups
when considering overlaps. A common use would be passing on=['strand'].
Default is None.
ensure_int : bool, optional [default: True]
If True, ensures that the output dataframe uses integer dtypes for
start and end coordinates. This may involve converting coordinate
columns to nullable types in outer joins. Default True.
Returns
-------
df_overlap : pandas.DataFrame
Notes
-----
If ``ensure_int`` is False, inner joins will preserve coordinate dtypes
from the input dataframes, but outer joins will be subject to native type
casting rules if missing data is introduced. For example, if `df1` uses a
NumPy integer dtype for `start` and/or `end`, the output dataframe will
use the same dtype after an inner join, but, due to casting rules, may
produce ``float64`` after a left/right/outer join with missing data stored
as ``NaN``. On the other hand, if `df1` uses Pandas nullable dtypes, the
corresponding coordinate columns will preserve the same dtype in the
output, with missing data stored as ``NA``.
"""
ck1, sk1, ek1 = _get_default_colnames() if cols1 is None else cols1
ck2, sk2, ek2 = _get_default_colnames() if cols2 is None else cols2
checks.is_bedframe(df1, raise_errors=True, cols=[ck1, sk1, ek1])
checks.is_bedframe(df2, raise_errors=True, cols=[ck2, sk2, ek2])
if (how == "left") and (keep_order is None):
keep_order = True
if (how != "left") and keep_order:
raise ValueError("keep_order=True only allowed for how='left'")
if on is not None:
if not isinstance(on, list):
raise ValueError("on=[] must be None or list")
if (ck1 in on) or (ck2 in on):
raise ValueError("on=[] should not contain chromosome colnames")
_verify_columns(df1, on)
_verify_columns(df2, on)
events1, events2 = _overlap_intidxs(
df1,
df2,
how=how,
cols1=cols1,
cols2=cols2,
on=on,
)
# Generate output tables.
index_col = return_index if isinstance(return_index, str) else "index"
index_col_1 = index_col + suffixes[0]
index_col_2 = index_col + suffixes[1]
df_index_1 = pd.DataFrame({index_col_1: df1.index[events1]}, dtype=pd.Int64Dtype())
df_index_2 = pd.DataFrame({index_col_2: df2.index[events2]}, dtype=pd.Int64Dtype())
df_overlap = None
if return_overlap:
overlap_col = return_overlap if isinstance(return_overlap, str) else "overlap"
overlap_col_sk1 = overlap_col + "_" + sk1
overlap_col_ek1 = overlap_col + "_" + ek1
overlap_start = np.maximum(
df1[sk1].values[events1],
df2[sk2].values[events2],
)
overlap_end = np.minimum(
df1[ek1].values[events1],
df2[ek2].values[events2],
)
df_overlap = pd.DataFrame(
{overlap_col_sk1: overlap_start, overlap_col_ek1: overlap_end}
)
df_input_1 = None
df_input_2 = None
if return_input:
df_input_1 = df1.iloc[events1].reset_index(drop=True)
df_input_1.columns = [c + suffixes[0] for c in df_input_1.columns]
if return_input:
df_input_2 = df2.iloc[events2].reset_index(drop=True)
df_input_2.columns = [c + suffixes[1] for c in df_input_2.columns]
# Masking non-overlapping regions if using non-inner joins.
if how != "inner":
is_na_left = events1 == -1
is_na_right = events2 == -1
any_na_left = is_na_left.any()
any_na_right = is_na_right.any()
df_index_1[is_na_left] = None
df_index_2[is_na_right] = None
if df_input_1 is not None:
if ensure_int and any_na_left:
df_input_1 = df_input_1.astype(
{
sk1 + suffixes[0]: _to_nullable_dtype(df1[sk1].dtype),
ek1 + suffixes[0]: _to_nullable_dtype(df1[ek1].dtype),
}
)
if any_na_left:
df_input_1[is_na_left] = None
if df_input_2 is not None:
if ensure_int and any_na_right:
df_input_2 = df_input_2.astype(
{
sk2 + suffixes[1]: _to_nullable_dtype(df2[sk2].dtype),
ek2 + suffixes[1]: _to_nullable_dtype(df2[ek2].dtype),
}
)
if any_na_right:
df_input_2[is_na_right] = None
if df_overlap is not None:
if ensure_int and (any_na_left or any_na_right):
df_overlap = df_overlap.convert_dtypes()
df_overlap[is_na_left | is_na_right] = None
out_df = pd.concat(
[df_index_1, df_input_1, df_index_2, df_input_2, df_overlap], axis=1
)
if keep_order:
out_df = out_df.sort_values([index_col_1, index_col_2])
if not return_index:
out_df.drop([index_col_1, index_col_2], axis=1, inplace=True)
out_df.reset_index(drop=True, inplace=True)
return out_df
def cluster(
df,
min_dist=0,
cols=None,
on=None,
return_input=True,
return_cluster_ids=True,
return_cluster_intervals=True,
):
"""
Cluster overlapping intervals into groups.
Can return numeric ids for these groups (with `return_cluster_ids`=True)
and/or their genomic coordinates (with `return_cluster_intervals`=True).
Also see :func:`merge()`, which discards original intervals and returns a
new set.
Parameters
----------
df : pandas.DataFrame
min_dist : float or None
If provided, cluster intervals separated by this distance or less.
If ``None``, do not cluster non-overlapping intervals.
Since bioframe uses semi-open intervals, interval pairs [0,1) and [1,2)
do not overlap, but are separated by a distance of 0. Such adjacent
intervals are not clustered when ``min_dist=None``, but are clustered
when ``min_dist=0``.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals. The default values are 'chrom', 'start', 'end'.
on : None or list
List of column names to perform clustering on independently, passed as
an argument to df.groupby before clustering. Default is ``None``.
An example useage would be to pass ``on=['strand']``.
return_input : bool
If True, return input
return_cluster_ids : bool
If True, return ids for clusters
return_cluster_invervals : bool
If True, return clustered interval the original interval belongs to
Returns
-------
df_clustered : pd.DataFrame
"""
if min_dist is not None:
if min_dist < 0:
raise ValueError("min_dist>=0 currently required")
# Allow users to specify the names of columns containing the interval coordinates.
ck, sk, ek = _get_default_colnames() if cols is None else cols
_verify_columns(df, [ck, sk, ek])
# Switch to integer indices.
df_index = df.index
df = df.reset_index(drop=True)
# Find overlapping intervals for groups specified by ck1 and on=[] (default on=None)
group_list = [ck]
if on is not None:
if not isinstance(on, list):
raise ValueError("on=[] must be None or list")
if ck in on:
raise ValueError("on=[] should not contain chromosome colnames")
_verify_columns(df, on)
group_list += on
df_groups = df.groupby(group_list, observed=True).groups
cluster_ids = np.full(df.shape[0], -1)
clusters = []
max_cluster_id = -1
for group_keys, df_group_idxs in df_groups.items():
if pd.isna(pd.Series(group_keys)).any():
continue
if df_group_idxs.empty:
continue
df_group = df.loc[df_group_idxs]
(
cluster_ids_group,
cluster_starts_group,
cluster_ends_group,
) = arrops.merge_intervals(
df_group[sk].values.astype(np.int64),
df_group[ek].values.astype(np.int64),
min_dist=min_dist,
)
interval_counts = np.bincount(cluster_ids_group)
cluster_ids_group += max_cluster_id + 1
n_clusters = cluster_starts_group.shape[0]
max_cluster_id += n_clusters
cluster_ids[df_group_idxs.values] = cluster_ids_group
## Storing chromosome names causes a 2x slowdown. :(
if isinstance(group_keys, str):
group_keys = (group_keys,)
clusters_group = {}
for col in group_list:
clusters_group[col] = pd.Series(
data=np.full(n_clusters, group_keys[group_list.index(col)]),
dtype=df[col].dtype,
)
clusters_group[sk] = cluster_starts_group
clusters_group[ek] = cluster_ends_group
clusters_group["n_intervals"] = interval_counts
clusters_group = pd.DataFrame(clusters_group)
clusters.append(clusters_group)
df_nans = pd.isnull(df[[sk, ek, *group_list]]).any(axis=1)
if df_nans.sum() > 0:
cluster_ids[df_nans.values] = (
max_cluster_id + 1 + np.arange(np.sum(df_nans.values))
)
clusters.append(df.loc[df_nans])
clusters = pd.concat(clusters).reset_index(drop=True)
if df_nans.sum() > 0:
clusters = clusters.astype({sk: pd.Int64Dtype(), ek: pd.Int64Dtype()})
assert np.all(cluster_ids >= 0)
# reorder cluster columns to have chrom,start,end first
clusters_names = list(clusters.keys())
clusters = clusters[
[ck, sk, ek] + [col for col in clusters_names if col not in [ck, sk, ek]]
]
out_df = {}
if return_cluster_ids:
out_df["cluster"] = cluster_ids
if return_cluster_intervals:
out_df["cluster_start"] = clusters[sk].values[cluster_ids]
out_df["cluster_end"] = clusters[ek].values[cluster_ids]
out_df = pd.DataFrame(out_df)
if return_input:
out_df = pd.concat([df, out_df], axis="columns")
out_df.set_index(df_index)
return out_df
def merge(df, min_dist=0, cols=None, on=None):
"""
Merge overlapping intervals.
This returns a new dataframe of genomic intervals, which have the genomic
coordinates of the interval cluster groups from the input dataframe. Also
:func:`cluster()`, which returns the assignment of intervals to clusters
prior to merging.
Parameters
----------
df : pandas.DataFrame
min_dist : float or None
If provided, merge intervals separated by this distance or less.
If None, do not merge non-overlapping intervals. Using
``min_dist=0`` and ``min_dist=None`` will bring different results.
bioframe uses semi-open intervals, so interval pairs [0,1) and [1,2)
do not overlap, but are separated by a distance of 0. Adjacent intervals
are not merged when ``min_dist=None``, but are merged when ``min_dist=0``.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals. The default values are 'chrom', 'start', 'end'.
on : None or list
List of column names to perform clustering on independently, passed as
an argument to df.groupby before clustering. Default is None.
An example useage would be to pass ``on=['strand']``.
Returns
-------
df_merged : pandas.DataFrame
A pandas dataframe with coordinates of merged clusters.
Notes
-------
Resets index.
"""
if min_dist is not None:
if min_dist < 0:
raise ValueError("min_dist>=0 currently required")
# Allow users to specify the names of columns containing the interval coordinates.
ck, sk, ek = _get_default_colnames() if cols is None else cols
checks.is_bedframe(df, raise_errors=True, cols=[ck, sk, ek])
df = df.copy()
df.reset_index(inplace=True, drop=True)
# Find overlapping intervals for groups specified by on=[] (default on=None)
group_list = [ck]
if on is not None:
if not isinstance(on, list):
raise ValueError("on=[] must be None or list")
if ck in on:
raise ValueError("on=[] should not contain chromosome colnames")
_verify_columns(df, on)
group_list += on
df_groups = df.groupby(group_list, observed=True).groups
clusters = []
for group_keys, df_group_idxs in df_groups.items():
if pd.isna(pd.Series(group_keys)).any():
continue
if df_group_idxs.empty:
continue
df_group = df.loc[df_group_idxs]
(
cluster_ids_group,
cluster_starts_group,
cluster_ends_group,
) = arrops.merge_intervals(
df_group[sk].values.astype(np.int64),
df_group[ek].values.astype(np.int64),
min_dist=min_dist,
# df_group[sk].values, df_group[ek].values, min_dist=min_dist
)
interval_counts = np.bincount(cluster_ids_group)
n_clusters = cluster_starts_group.shape[0]
## Storing chromosome names causes a 2x slowdown. :(
if isinstance(group_keys, str):
group_keys = (group_keys,)
clusters_group = {}
for col in group_list:
clusters_group[col] = pd.Series(
data=np.full(n_clusters, group_keys[group_list.index(col)]),
dtype=df[col].dtype,
)
clusters_group[sk] = cluster_starts_group
clusters_group[ek] = cluster_ends_group
clusters_group["n_intervals"] = interval_counts
clusters_group = pd.DataFrame(clusters_group)
clusters.append(clusters_group)
df_nans = pd.isnull(df[[sk, ek, *group_list]]).any(axis=1)
df_has_nans = df_nans.sum()
if df_has_nans:
nan_intervals = pd.DataFrame(
[pd.NA] * df_has_nans,
columns=["n_intervals"],
index=df.loc[df_nans].index,
)
clusters.append(
pd.concat(
[df.loc[df_nans], nan_intervals],
axis=1,
)
)
clusters = pd.concat(clusters).reset_index(drop=True)
if df_has_nans:
clusters = clusters.astype(
{sk: pd.Int64Dtype(), ek: pd.Int64Dtype(), "n_intervals": pd.Int64Dtype()}
)
# reorder cluster columns to have chrom,start,end first
clusters_names = list(clusters.keys())
clusters = clusters[
[ck, sk, ek] + [col for col in clusters_names if col not in [ck, sk, ek]]
]
return clusters
def coverage(
df1,
df2,
suffixes=("", "_"),
return_input=True,
cols1=None,
cols2=None,
):
"""
Quantify the coverage of intervals from 'df1' by intervals from 'df2'.
For every interval in 'df1' find the number of base pairs covered by
intervals in 'df2'. Note this only quantifies whether a basepair in 'df1'
was covered, as 'df2' is merged before calculating coverage.
Parameters
----------
df1, df2 : pandas.DataFrame
Two sets of genomic intervals stored as a DataFrame.
suffixes : (str, str)
The suffixes for the columns of the two overlapped sets.
return_input : bool
If True, return input as well as computed coverage
cols1, cols2 : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
Returns
-------
df_coverage : pandas.DataFrame
Notes
------
Resets index.
"""
ck1, sk1, ek1 = _get_default_colnames() if cols1 is None else cols1
ck2, sk2, ek2 = _get_default_colnames() if cols2 is None else cols2
df1.reset_index(inplace=True, drop=True)
df2_merged = merge(df2, cols=cols2)
df_overlap = overlap(
df1,
df2_merged,
how="left",
suffixes=suffixes,
keep_order=True,
return_index=True,
return_overlap=True,
cols1=cols1,
cols2=cols2,
)
df_overlap["overlap"] = df_overlap[f"overlap_{ek1}"] - df_overlap[f"overlap_{sk1}"]
out_df = (
pd.DataFrame(
df_overlap.groupby("index" + suffixes[0])
.agg({"overlap": "sum"})["overlap"]
.astype(df1[sk1].dtype)
)
.rename(columns={"overlap": "coverage"})
.reset_index(drop=True)
)
if return_input:
out_df = pd.concat([df1, out_df], axis="columns")
return out_df
def _closest_intidxs(
df1,
df2=None,
k=1,
ignore_overlaps=False,
ignore_upstream=False,
ignore_downstream=False,
direction_col=None,
tie_breaking_col=None,
cols1=None,
cols2=None,
):
"""
For every interval in set 1 find k closest genomic intervals in set2 and
return their integer indices.
Parameters
----------
df1, df2 : pandas.DataFrame
Two sets of genomic intervals stored as a DataFrame.
If df2 is None or same object as df1, find closest intervals within
the same set.
k_closest : int
The number of closest intervals to report.
cols1, cols2 : (str, str, str)
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
Returns
-------
closest_ids1, closest_ids2 : numpy.ndarray
The indices of the overlapping genomic intervals in the original
dataframes. The 1st array contains the indices of intervals
from the 1st set, the 2nd array - the indicies from the 2nd set.
The second array is filled with -1 for those intervals in the 1st
set with no closest 2nd set interval.
"""
ck1, sk1, ek1 = _get_default_colnames() if cols1 is None else cols1
ck2, sk2, ek2 = _get_default_colnames() if cols2 is None else cols2
self_closest = False
if (df2 is None) or (df2 is df1):
if len(df1) == 1:
raise ValueError(
"df1 must have more than one interval to find closest "
"non-identical interval"
)
df2 = df1
self_closest = True
tie_func = None
if isinstance(tie_breaking_col, str):
tie_func = lambda x: x[tie_breaking_col].values # noqa: E731
elif callable(tie_breaking_col):
tie_func = lambda x: tie_breaking_col(x).values # noqa: E731
else:
ValueError(
"tie_breaking_col must be either a column label or "
"f(DataFrame) -> Series"
)
# Find overlapping intervals per chromosome.
df1_groups = df1.groupby(ck1, observed=True).indices
df2_groups = df2.groupby(ck2, observed=True).indices
group_names = set.union(set(df1_groups), set(df2_groups))
starts1 = df1[sk1].values
ends1 = df1[ek1].values
starts2 = df2[sk2].values
ends2 = df2[ek2].values
strands1 = None
if direction_col is not None:
strands1 = df1[direction_col].values
events1 = []
events2 = []
for name in group_names:
df1_inds = df1_groups.get(name, np.array([]))
df2_inds = df2_groups.get(name, np.array([]))
left_nonempty = len(df1_inds) > 0
right_nonempty = len(df2_inds) > 0
if left_nonempty and right_nonempty:
if tie_func is not None:
tie_arr = tie_func(df2.iloc[df2_inds])
else:
tie_arr = None
if strands1 is not None:
along = strands1[df1_inds] != "-"
else:
along = np.ones(len(df1_inds), dtype=np.bool_)
# paired intervals
pi, pj = arrops.closest_intervals(
starts1[df1_inds],
ends1[df1_inds],
None if self_closest else starts2[df2_inds],
None if self_closest else ends2[df2_inds],
k=k,
tie_arr=tie_arr,
ignore_overlaps=ignore_overlaps,
ignore_upstream=ignore_upstream,
ignore_downstream=ignore_downstream,
along=along,
)
no_match = np.setdiff1d(np.arange(len(df1_inds)), pi)
events1.append(df1_inds[pi])
events2.append(df2_inds[pj])
events1.append(df1_inds[no_match])
events2.append(np.full(len(no_match), -1))
elif left_nonempty:
events1.append(df1_inds)
events2.append(np.full(len(df1_inds), -1))
events1 = np.concatenate(events1) if events1 else np.array([], dtype=int)
events2 = np.concatenate(events2) if events2 else np.array([], dtype=int)
return events1, events2
def closest(
df1,
df2=None,
k=1,
ignore_overlaps=False,
ignore_upstream=False,
ignore_downstream=False,
direction_col=None,
tie_breaking_col=None,
return_input=True,
return_index=False,
return_distance=True,
return_overlap=False,
suffixes=("", "_"),
cols1=None,
cols2=None,
):
"""
For every interval in dataframe `df1` find k closest genomic intervals in
dataframe `df2`.
Currently, we are not taking the feature strands into account for filtering.
However, the strand can be used for definition of upstream/downstream of
the feature (direction).
Note that, unless specified otherwise, overlapping intervals are considered
as closest. When multiple intervals are located at the same distance, the
ones with the lowest index
in `df2` are returned.
Parameters
----------
df1, df2 : pandas.DataFrame
Two sets of genomic intervals stored as a DataFrame.
If `df2` is None, find closest non-identical intervals within the same
set.
k : int
The number of the closest intervals to report.
ignore_overlaps : bool
If True, ignore overlapping intervals and return the closest
non-overlapping interval.
ignore_upstream : bool
If True, ignore intervals in `df2` that are upstream of intervals in
`df1`, relative to the reference strand or the strand specified by
direction_col.
ignore_downstream : bool
If True, ignore intervals in `df2` that are downstream of intervals
in `df1`, relative to the reference strand or the strand specified by
direction_col.
direction_col : str
Name of direction column that will set upstream/downstream orientation
for each feature. The column should contain bioframe-compliant strand
values ("+", "-", ".").
tie_breaking_col : str
A column in `df2` to use for breaking ties when multiple intervals
are located at the same distance. Intervals with *lower* values will
be selected.
return_input : bool
If True, return input
return_index : bool
If True, return indices
return_distance : bool
If True, return distances. Returns zero for overlaps.
return_overlap : bool
If True, return columns: 'have_overlap', 'overlap_start', and
'overlap_end'. Fills df_closest['overlap_start'] and df['overlap_end']
with None if non-overlapping. Default False.
suffixes : (str, str)
The suffixes for the columns of the two sets.
cols1, cols2 : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
Returns
-------
df_closest : pandas.DataFrame
If no intervals found, returns none.
Notes
-----
By default, direction is defined by the reference genome: everything with
smaller coordinate is considered upstream, everything with larger
coordinate is considered downstream.
If ``direction_col`` is provided, upstream/downstream are relative to the
direction column in ``df1``, i.e. features marked "+" and "." strand will
define upstream and downstream as above, while features marked "-" have
upstream and downstream reversed: smaller coordinates are downstream and
larger coordinates are upstream.
"""
if k < 1:
raise ValueError("k>=1 required")
if df2 is df1:
raise ValueError(
"pass df2=None to find closest non-identical intervals within the same set."
)
# If finding closest within the same set, df2 now has to be set
# to df1, so that the rest of the logic works.
if df2 is None:
df2 = df1
ck1, sk1, ek1 = _get_default_colnames() if cols1 is None else cols1
ck2, sk2, ek2 = _get_default_colnames() if cols2 is None else cols2
checks.is_bedframe(df1, raise_errors=True, cols=[ck1, sk1, ek1])
checks.is_bedframe(df2, raise_errors=True, cols=[ck2, sk2, ek2])
events1, events2 = _closest_intidxs(
df1,
df2,
k=k,
ignore_overlaps=ignore_overlaps,
ignore_upstream=ignore_upstream,
ignore_downstream=ignore_downstream,
direction_col=direction_col,
tie_breaking_col=tie_breaking_col,
cols1=cols1,
cols2=cols2,
)
na_mask = events2 == -1
# Generate output tables.
df_index1 = None
df_index2 = None
if return_index:
colname = return_index if isinstance(return_index, str) else "index"
df_index1 = pd.DataFrame({colname + suffixes[0]: df1.index[events1]})
df_index2 = pd.DataFrame({colname + suffixes[1]: df2.index[events2]})
df_index2[na_mask] = pd.NA
df_overlap = None
if return_overlap:
overlap_start = np.maximum(
df1[sk1].values[events1], df2[sk2].values[events2]
)
overlap_end = np.minimum(
df1[ek1].values[events1], df2[ek2].values[events2]
)
have_overlap = overlap_start < overlap_end
df_overlap = pd.DataFrame(
{
"have_overlap": have_overlap,
"overlap_start": np.where(have_overlap, overlap_start, None),
"overlap_end": np.where(have_overlap, overlap_end, None),
}
).astype(
dtype={
"have_overlap": pd.BooleanDtype(),
"overlap_start": pd.Int64Dtype(),
"overlap_end": pd.Int64Dtype(),
}
)
df_overlap[na_mask] = pd.NA
df_distance = None
if return_distance:
distance_left = np.maximum(
0,
df1[sk1].values[events1] - df2[ek2].values[events2],
)
distance_right = np.maximum(
0,
df2[sk2].values[events2] - df1[ek1].values[events1],
)
df_distance = pd.DataFrame(
{
"distance": np.maximum(distance_left, distance_right),
},
dtype=pd.Int64Dtype()
)
df_distance[na_mask] = pd.NA
df_input1 = None
df_input2 = None
if return_input:
df_input1 = df1.iloc[events1].reset_index(drop=True)
df_input1.columns = [col + suffixes[0] for col in df_input1.columns]
df_input2 = df2.iloc[events2].reset_index(drop=True)
df_input2.columns = [col + suffixes[1] for col in df_input2.columns]
df_input2 = df_input2.astype(
{
sk2 + suffixes[1]: pd.Int64Dtype(),
ek2 + suffixes[1]: pd.Int64Dtype()
}
)
df_input2[na_mask] = pd.NA
return pd.concat(
[df_index1, df_input1, df_index2, df_input2, df_overlap, df_distance],
axis=1,
)
def subtract(
df1,
df2,
return_index=False,
suffixes=("", "_"),
cols1=None,
cols2=None,
):
"""
Generate a new set of genomic intervals by subtracting the second set of
genomic intervals from the first.
Parameters
----------
df1, df2 : pandas.DataFrame
Two sets of genomic intervals stored as a DataFrame.
return_index : bool
Whether to return the indices of the original intervals
('index'+suffixes[0]), and the indices of any sub-intervals split by
subtraction ('sub_index'+suffixes[1]). Default False.
suffixes : (str,str)
Suffixes for returned indices. Only alters output if return_index is
True. Default ("","_").
cols1, cols2 : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
Returns
-------
df_subtracted : pandas.DataFrame
Notes
-----
Resets index, drops completely subtracted (null) intervals, and casts to
pd.Int64Dtype().
"""
ck1, sk1, ek1 = _get_default_colnames() if cols1 is None else cols1
ck2, sk2, ek2 = _get_default_colnames() if cols2 is None else cols2
name_updates = {
ck1 + suffixes[0]: ck1,
"overlap_" + sk1: sk1,
"overlap_" + ek1: ek1,
}
extra_columns_1 = [i for i in list(df1.columns) if i not in [ck1, sk1, ek1]]
for i in extra_columns_1:
name_updates[i + suffixes[0]] = i
if return_index:
name_updates["index" + suffixes[0]] = "index" + suffixes[0]
name_updates["index" + suffixes[1]] = "complement_index" + suffixes[1]
all_chroms = np.unique(
list(pd.unique(df1[ck1].dropna())) + list(pd.unique(df2[ck2].dropna()))
)
if len(all_chroms) == 0:
raise ValueError("No chromosomes remain after dropping nulls")
df_subtracted = overlap(
df1,
complement(
df2, view_df={i: np.iinfo(np.int64).max for i in all_chroms}, cols=cols2
).astype({sk2: pd.Int64Dtype(), ek2: pd.Int64Dtype()}),
how="left",
suffixes=suffixes,
return_index=return_index,
return_overlap=True,
keep_order=True,
cols1=cols1,
cols2=cols2,
)[list(name_updates)]
df_subtracted.rename(columns=name_updates, inplace=True)
df_subtracted = df_subtracted.iloc[~pd.isna(df_subtracted[sk1].values)]
df_subtracted.reset_index(drop=True, inplace=True)
if return_index:
inds = df_subtracted["index" + suffixes[0]].values
comp_inds = df_subtracted["complement_index" + suffixes[1]].copy() # .values
for i in np.unique(inds):
comp_inds[inds == i] -= comp_inds[inds == i].min()
df_subtracted["sub_index" + suffixes[1]] = comp_inds.copy()
df_subtracted.drop(columns=["complement_index" + suffixes[1]], inplace=True)
return df_subtracted
def setdiff(df1, df2, cols1=None, cols2=None, on=None):
"""
Generate a new dataframe of genomic intervals by removing any interval
from the first dataframe that overlaps an interval from the second
dataframe.
Parameters
----------
df1, df2 : pandas.DataFrame
Two sets of genomic intervals stored as DataFrames.
cols1, cols2 : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each dataframe.
The default values are 'chrom', 'start', 'end'.
on : None or list
Additional column names to perform clustering on independently, passed
as an argument to df.groupby when considering overlaps and must be
present in both dataframes.
Examples for additional columns include 'strand'.
Returns
-------
df_setdiff : pandas.DataFrame
"""
ck1, sk1, ek1 = _get_default_colnames() if cols1 is None else cols1
ck2, sk2, ek2 = _get_default_colnames() if cols2 is None else cols2
events1, _ = _overlap_intidxs(
df1, df2, how="inner", cols1=cols1, cols2=cols2, on=on
)
inds_non_overlapped = np.setdiff1d(np.arange(len(df1)), events1)
df_setdiff = df1.iloc[inds_non_overlapped]
return df_setdiff
def count_overlaps(
df1,
df2,
suffixes=("", "_"),
return_input=True,
cols1=None,
cols2=None,
on=None,
):
"""
Count number of overlapping genomic intervals.
Parameters
----------
df1, df2 : pandas.DataFrame
Two sets of genomic intervals stored as a DataFrame.
suffixes : (str, str)
The suffixes for the columns of the two overlapped sets.
return_input : bool
If True, return columns from input dfs. Default True.
cols1, cols2 : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals, provided separately for each set. The default
values are 'chrom', 'start', 'end'.
on : list
List of additional shared columns to consider as separate groups
when considering overlaps. A common use would be passing on=['strand'].
Default is None.
Returns
-------
df_counts : pandas.DataFrame
Notes
-------
Resets index.
"""
df1.reset_index(inplace=True, drop=True)
df_counts = overlap(
df1,
df2,
how="left",
return_input=False,
keep_order=True,
suffixes=suffixes,
return_index=True,
on=on,
cols1=cols1,
cols2=cols2,
)
out_df = pd.DataFrame(
df_counts.groupby(["index" + suffixes[0]])["index" + suffixes[1]]
.count()
.values,
columns=["count"],
)
if return_input:
out_df = pd.concat([df1, out_df], axis="columns")
return out_df
def trim(
df,
view_df=None,
df_view_col=None,
view_name_col="name",
return_view_columns=False,
cols=None,
cols_view=None,
):
"""
Trim each interval to fall within regions specified in the viewframe 'view_df'.
Intervals that fall outside of view regions are replaced with nulls.
If no 'view_df' is provided, intervals are truncated at zero to avoid
negative values.
Parameters
----------
df : pandas.DataFrame
view_df : None or pandas.DataFrame
View specifying region start and ends for trimming. Attempts to
convert dictionary and pd.Series formats to viewFrames.
df_view_col : str or None
The column of 'df' used to specify view regions.
The associated region in 'view_df' is then used for trimming.
If None, :func:'bioframe.ops.assign_view' will be used to assign view
regions. If no 'view_df' is provided, uses the 'chrom' column,
df[cols[0]]. Default None.
view_name_col : str
Column of df with region names. Default 'name'.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals. The default values are 'chrom', 'start', 'end'.
cols_view : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals in the view. The default values are 'chrom',
'start', 'end'.
Returns
-------
df_trimmed : pandas.DataFrame
"""
ck, sk, ek = _get_default_colnames() if cols is None else cols
_verify_columns(df, [ck, sk, ek])
df_columns = list(df.columns)
df_trimmed = df.copy()
inferred_view = False
if view_df is None:
df_view_col = ck
view_df = {
i: np.iinfo(np.int64).max
for i in set(df[df_view_col].copy().dropna().values)
}
inferred_view = True
ckv, skv, ekv = _get_default_colnames() if cols_view is None else cols_view
view_df = construction.make_viewframe(
view_df, view_name_col=view_name_col, cols=[ckv, skv, ekv]
).rename(columns=dict(zip([ckv, skv, ekv], [ck, sk, ek])))
if inferred_view:
view_name_col = ck
elif df_view_col is None:
if _verify_columns(df_trimmed, ["view_region"], return_as_bool=True):
raise ValueError("column view_region already exists in input df")
df_view_col = "view_region"
df_trimmed = assign_view(
df_trimmed,
view_df,
drop_unassigned=False,
df_view_col=df_view_col,
view_name_col=view_name_col,
cols=cols,
cols_view=cols,
)
else:
_verify_columns(df_trimmed, [df_view_col])
checks.is_cataloged(
df_trimmed,
view_df,
raise_errors=True,
df_view_col=df_view_col,
view_name_col=view_name_col,
)
df_trimmed = df_trimmed.merge(
view_df,
how="left",
left_on=df_view_col,
right_on=view_name_col,
suffixes=("", "_view"),
)
unassigned_intervals = pd.isnull(df_trimmed[df_view_col].values)
if unassigned_intervals.any():
df_trimmed.loc[unassigned_intervals, [ck, sk, ek]] = pd.NA
df_trimmed.astype({sk: pd.Int64Dtype(), ek: pd.Int64Dtype()})
lower_vector = df_trimmed[sk + "_view"].values
upper_vector = df_trimmed[ek + "_view"].values
df_trimmed[sk] = df_trimmed[sk].clip(lower=lower_vector, upper=upper_vector)
df_trimmed[ek] = df_trimmed[ek].clip(lower=lower_vector, upper=upper_vector)
if return_view_columns:
return df_trimmed
else:
return df_trimmed[df_columns]
def complement(df, view_df=None, view_name_col="name", cols=None, cols_view=None):
"""
Find genomic regions in a viewFrame 'view_df' that are not covered by any
interval in the dataFrame 'df'.
First assigns intervals in 'df' to region in 'view_df', splitting intervals
in 'df' as necessary.
Parameters
----------
df : pandas.DataFrame
view_df : pandas.Dataframe
If none, attempts to infer the view from chroms (i.e. df[cols[0]]).
view_name_col : str
Name of column in view_df with unique reigon names. Default 'name'.
cols : (str, str, str)
The names of columns containing the chromosome, start and end of the
genomic intervals. The default values are 'chrom', 'start', 'end'.
cols_view : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals in the view. The default values are 'chrom',
'start', 'end'.
Returns
-------
df_complement : pandas.DataFrame
Notes
------
Discards null intervals in input, and df_complement has regular int dtype.
"""
### TODO add on=, so can do strand-specific complements...
# Allow users to specify the names of columns containing the interval coordinates.
ck, sk, ek = _get_default_colnames() if cols is None else cols
_verify_columns(df, [ck, sk, ek])
if view_df is None:
view_df = {i: np.iinfo(np.int64).max for i in set(df[ck].dropna().values)}
ckv, skv, ekv = _get_default_colnames() if cols_view is None else cols_view
view_df = construction.make_viewframe(
view_df, view_name_col=view_name_col, cols=[ckv, skv, ekv]
).rename(columns=dict(zip([ckv, skv, ekv], [ck, sk, ek])))
# associate intervals to regions, required to enable single interval from
# df to overlap multiple intervals in view_df. note this differs from the
# goal of assign_view.
new_intervals = overlap(
view_df,
df,
return_overlap=True,
how="inner",
suffixes=("", "_df"),
cols1=cols,
cols2=cols,
)
new_intervals = new_intervals[
[ck, "overlap_" + sk, "overlap_" + ek, view_name_col]
].copy()
new_intervals.rename(
columns={
"overlap_" + sk: sk,
"overlap_" + ek: ek,
view_name_col: "view_region",
},
inplace=True,
)
df = new_intervals
checks.is_cataloged(
df,
view_df,
raise_errors=True,
df_view_col="view_region",
view_name_col=view_name_col,
)
# Find overlapping intervals per region.
df_groups = df.groupby("view_region").groups
all_groups = sorted(set(view_df[view_name_col]))
complements = []
for group_key in all_groups:
region_interval = view_df.loc[view_df[view_name_col] == group_key]
region_chrom, region_start, region_end = region_interval[[ck, sk, ek]].values[0]
if group_key not in df_groups:
complement_group = region_interval.copy().rename(
columns={view_name_col: "view_region"}
)
complements.append(pd.DataFrame(complement_group))
continue
df_group_idxs = df_groups[group_key].values
df_group = df.loc[df_group_idxs]
(
complement_starts_group,
complement_ends_group,
) = arrops.complement_intervals(
df_group[sk].values.astype(np.int64),
df_group[ek].values.astype(np.int64),
bounds=(region_start, region_end),
)
# Storing chromosome names causes a 2x slowdown. :(
complement_group = {
ck: pd.Series(
data=np.full(complement_starts_group.shape[0], region_chrom),
dtype=df[ck].dtype,
),
sk: complement_starts_group,
ek: complement_ends_group,
"view_region": group_key,
}
complement_group = pd.DataFrame(complement_group)
complements.append(complement_group)
complements = pd.concat(complements).reset_index(drop=True)
return complements
def sort_bedframe(
df,
view_df=None,
reset_index=True,
df_view_col=None,
view_name_col="name",
cols=None,
cols_view=None,
):
"""
Sorts a bedframe 'df'.
If 'view_df' is not provided, sorts by ``cols`` (e.g. "chrom", "start", "end").
If 'view_df' is provided and 'df_view_col' is not provided, uses
:func:`bioframe.ops.assign_view` with ``df_view_col='view_region'``
to assign intervals to the view regions with the largest overlap and then
sorts.
If 'view_df' and 'df_view_col' are both provided, checks if the latter are
cataloged in 'view_name_col', and then sorts.
df : pandas.DataFrame
Valid bedframe.
view_df : pandas.DataFrame | dict-like
Valid input to make a viewframe. When it is dict-like
:func:'bioframe.make_viewframe' will be used to convert
to viewframe. If view_df is not provided df is sorted by chrom and start.
reset_index : bool
Default True.
df_view_col: None | str
Column from 'df' used to associate intervals with view regions.
The associated region in 'view_df' is then used for sorting.
If None, :func:'bioframe.assign_view' will be used to assign view regions.
Default None.
view_name_col: str
Column from view_df with names of regions.
Default `name`.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals. The default values are 'chrom', 'start', 'end'.
cols_view : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals in the view. The default values are 'chrom',
'start', 'end'.
Returns
-------
out_df : sorted bedframe
Notes
-------
df_view_col is currently returned as an ordered categorical
"""
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
if not checks.is_bedframe(df, cols=cols):
raise ValueError("not a valid bedframe, cannot sort")
out_df = df.copy()
if view_df is None:
out_df.sort_values([ck1, sk1, ek1], inplace=True)
else:
ckv, skv, ekv = _get_default_colnames() if cols_view is None else cols_view
view_df = construction.make_viewframe(
view_df, view_name_col=view_name_col, cols=[ckv, skv, ekv]
).rename(columns=dict(zip([ckv, skv, ekv], [ck1, sk1, ek1])))
if df_view_col is None:
if _verify_columns(out_df, ["view_region"], return_as_bool=True):
raise ValueError("column view_region already exists in input df")
df_view_col = "view_region"
out_df = assign_view(
out_df,
view_df,
df_view_col=df_view_col,
view_name_col=view_name_col,
cols=cols,
cols_view=cols,
)
else:
if not _verify_columns(out_df, [df_view_col], return_as_bool=True):
raise ValueError(
"column 'df_view_col' not in input df, cannot sort by view"
)
if not checks.is_cataloged(
out_df[~pd.isna(out_df[df_view_col].to_numpy())],
view_df,
df_view_col=df_view_col,
view_name_col=view_name_col,
):
raise ValueError(
"intervals in df not cataloged in view_df, cannot sort by view"
)
view_cat = pd.CategoricalDtype(
categories=view_df[view_name_col].values, ordered=True
)
out_df[df_view_col] = out_df[df_view_col].astype({df_view_col: view_cat})
out_df.sort_values([df_view_col, ck1, sk1, ek1], inplace=True)
# make sure no columns get appended and dtypes are preserved
out_df = out_df[df.columns].astype(df.dtypes)
if reset_index:
out_df.reset_index(inplace=True, drop=True)
return out_df
def assign_view(
df,
view_df,
drop_unassigned=False,
df_view_col="view_region",
view_name_col="name",
cols=None,
cols_view=None,
):
"""
Associates genomic intervals in bedframe ``df`` with regions in viewframe
``view_df``, based on their largest overlap.
Parameters
----------
df : pandas.DataFrame
view_df : pandas.DataFrame
ViewFrame specifying region start and ends for assignment. Attempts to
convert dictionary and pd.Series formats to viewFrames.
drop_unassigned : bool
If True, drop intervals in df that do not overlap a region in the view.
Default False.
df_view_col : str
The column of ``df`` used to specify view regions.
The associated region in view_df is then used for trimming.
If no view_df is provided, uses the chrom column, ``df[cols[0]]``.
Default "view_region".
view_name_col : str
Column of ``view_df`` with region names. Default 'name'.
cols : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals. The default values are 'chrom', 'start', 'end'.
cols_view : (str, str, str) or None
The names of columns containing the chromosome, start and end of the
genomic intervals in the view. The default values are 'chrom',
'start', 'end'.
Returns
-------
out_df : dataframe with an associated view region for each interval in
``out_df[view_name_col]``.
Notes
-------
Resets index.
"""
ck1, sk1, ek1 = _get_default_colnames() if cols is None else cols
df = df.copy()
df.reset_index(inplace=True, drop=True)
checks.is_bedframe(df, raise_errors=True, cols=cols)
view_df = construction.make_viewframe(
view_df, view_name_col=view_name_col, cols=cols_view
)
overlap_view = overlap(
df,
view_df,
how="left",
suffixes=("", "_view"),
return_overlap=True,
keep_order=False,
return_index=True,
cols1=cols,
cols2=cols_view,
)
overlap_view["overlap_length"] = (
overlap_view["overlap_" + ek1] - overlap_view["overlap_" + sk1]
)
out_df = (
overlap_view.sort_values("overlap_length", ascending=False)
.drop_duplicates("index", keep="first")
.sort_values("index")
)
out_df.rename(columns={view_name_col + "_view": df_view_col}, inplace=True)
if drop_unassigned:
out_df = out_df.iloc[pd.isna(out_df).any(axis=1).values == 0, :]
out_df.reset_index(inplace=True, drop=True)
return_cols = [*list(df.columns), df_view_col]
return out_df[return_cols]
open2c-bioframe-4fe9b25/bioframe/sandbox/ 0000775 0000000 0000000 00000000000 14775257723 0020351 5 ustar 00root root 0000000 0000000 open2c-bioframe-4fe9b25/bioframe/sandbox/clients.py 0000664 0000000 0000000 00000013216 14775257723 0022367 0 ustar 00root root 0000000 0000000 import base64
import glob
import os
import os.path as op
import posixpath as pp
from urllib.parse import urlencode, urljoin
import pandas as pd
import requests
class EncodeClient:
BASE_URL = "http://www.encodeproject.org/"
# 2020-05-15 compatible with ENCODE Metadata at:
METADATA_URL = "https://www.encodeproject.org/metadata/type=Experiment&status=released/metadata.tsv"
KNOWN_ASSEMBLIES = (
"GRCh38",
"GRCh38-minimal",
"ce10",
"ce11",
"dm3",
"dm6",
"hg19",
"mm10",
"mm10-minimal",
"mm9",
)
def __init__(self, cachedir, assembly, metadata=None):
if assembly not in self.KNOWN_ASSEMBLIES:
raise ValueError("assembly must be in:", self.KNOWN_ASSEMBLIES)
self.cachedir = op.join(cachedir, assembly)
if not op.isdir(self.cachedir):
os.makedirs(self.cachedir, exist_ok=True)
if metadata is None:
metadata_path = op.join(cachedir, "metadata.tsv")
if not op.exists(metadata_path):
print(
"getting metadata from ENCODE, please wait while "
"(~240Mb) file downloads"
)
with requests.get(self.METADATA_URL, stream=True) as r:
r.raise_for_status()
with open(metadata_path, "wb") as f:
for chunk in r.iter_content(chunk_size=8192):
f.write(chunk)
self._meta = pd.read_table(metadata_path, low_memory=False)
table_assemblies = sorted(
self._meta["File assembly"].dropna().unique().tolist()
)
if not set(table_assemblies).issubset(set(self.KNOWN_ASSEMBLIES)):
raise ValueError(
"Table assemblies do not match known assemblies, "
"check ENCODE metadata version"
)
self._meta = self._meta[self._meta["File assembly"] == assembly].copy()
self._meta = self._meta.set_index("File accession")
else:
self._meta = metadata
def _batch_download(self, args):
params = urlencode(args)
url = pp.join("batch_download", params)
url = urljoin(self.BASE_URL, url)
r = requests.get(url)
r.raise_for_status()
return r
def _metadata(self, args):
params = urlencode(args)
url = pp.join("metadata", params, "metadata.tsv")
url = urljoin(self.BASE_URL, url)
r = requests.get(url)
r.raise_for_status()
return r
@property
def meta(self):
return self._meta.copy()
def info(self, accession, width=850, height=450):
from IPython.display import HTML
url = urljoin(self.BASE_URL, pp.join("experiments", accession))
return HTML(
f''
)
def fetch(self, accession):
url = self.meta.loc[accession, "File download URL"]
# sig = self.meta.loc[accession, 'md5sum']
filename = op.split(url)[1]
path = op.join(self.cachedir, filename)
if op.exists(path):
pass
# print('File "{}" available'.format(filename))
else:
print(f'Downloading "{filename}"')
r = requests.get(url)
r.raise_for_status()
with open(path, "wb") as f:
f.write(r.content)
return path
def fetch_all(self, accessions):
return list(map(self.fetch, accessions))
class FDNClient:
BASE_URL = "https://data.4dnucleome.org/"
def __init__(self, cachedir, assembly, metadata=None, key_id=None, key_secret=None):
self.cachedir = op.join(cachedir, assembly)
if not op.isdir(self.cachedir):
raise OSError(f"Directory doesn't exist: '{cachedir}'")
if metadata is None:
metadata_paths = sorted(glob.glob(op.join(cachedir, "metadata*.tsv")))
metadata_path = metadata_paths[-1]
self._meta = pd.read_table(metadata_path, low_memory=False, comment="#")
if assembly == "GRCh38":
self._meta = self._meta[self._meta["Organism"] == "human"].copy()
self._meta = self._meta.set_index("File Accession")
else:
self._meta = metadata
if key_id is not None:
credential = (key_id + ":" + key_secret).encode("utf-8")
self._token = base64.b64encode(credential)
else:
self._token = None
@property
def meta(self):
return self._meta.copy()
def info(self, accession, width=850, height=450):
from IPython.display import HTML
url = urljoin(self.BASE_URL, pp.join("experiments", accession))
return HTML(
f''
)
def fetch(self, accession):
url = self.meta.loc[accession, "File Download URL"]
# sig = self.meta.loc[accession, 'md5sum']
filename = op.split(url)[1]
path = op.join(self.cachedir, filename)
if op.exists(path):
pass
# print('File "{}" available'.format(filename))
else:
print(f'Downloading "{filename}"')
if self._token:
headers = {"Authorization": b"Basic " + self._token}
else:
headers = None
r = requests.get(url, headers=headers)
r.raise_for_status()
with open(path, "wb") as f:
f.write(r.content)
return path
def fetch_all(self, accessions):
return list(map(self.fetch, accessions))
open2c-bioframe-4fe9b25/bioframe/sandbox/gtf_io.py 0000664 0000000 0000000 00000001046 14775257723 0022173 0 ustar 00root root 0000000 0000000 import pandas as pd
def parse_gtf_attributes(attrs, kv_sep="=", item_sep=";", quotechar='"', **kwargs):
item_lists = attrs.str.split(item_sep)
item_lists = item_lists.apply(
lambda items: [item.strip().split(kv_sep) for item in items]
)
stripchars = quotechar + " "
item_lists = item_lists.apply(
lambda items: [
[x.strip(stripchars) for x in item] for item in items if len(item) == 2
]
)
kv_records = item_lists.apply(dict)
return pd.DataFrame.from_records(kv_records, **kwargs)
open2c-bioframe-4fe9b25/bioframe/sandbox/parquet_io.py 0000664 0000000 0000000 00000007613 14775257723 0023102 0 ustar 00root root 0000000 0000000 import pandas as pd
def to_parquet(
pieces,
outpath,
row_group_size=None,
compression="snappy",
use_dictionary=True,
version=2.0,
**kwargs,
):
"""
Save an iterable of dataframe chunks to a single Apache Parquet file. For
more info about Parquet, see https://arrow.apache.org/docs/python/parquet.html.
Parameters
----------
pieces : DataFrame or iterable of DataFrame
Chunks to write
outpath : str
Path to output file
row_group_size : int
Number of rows per row group
compression : {'snappy', 'gzip', 'brotli', 'none'}, optional
Compression algorithm. Can be set on a per-column basis with a
dictionary of column names to compression lib.
use_dictionary : bool, optional
Use dictionary encoding. Can be set on a per-column basis with a list
of column names.
See also
--------
pyarrow.parquet.write_table
pyarrow.parquet.ParquetFile
fastparquet
"""
try:
import pyarrow as pa
import pyarrow.parquet
except ImportError:
raise ImportError("Saving to parquet requires the `pyarrow` package") from None
if isinstance(pieces, pd.DataFrame):
pieces = (pieces,)
try:
for i, piece in enumerate(pieces):
table = pa.Table.from_pandas(piece, preserve_index=False)
if i == 0:
writer = pa.parquet.ParquetWriter(
outpath,
table.schema,
compression=compression,
use_dictionary=use_dictionary,
version=version,
**kwargs,
)
writer.write_table(table, row_group_size=row_group_size)
finally:
writer.close()
def read_parquet(filepath, columns=None, iterator=False, **kwargs):
"""
Load DataFrames from Parquet files, optionally in pieces.
Parameters
----------
filepath : str, pathlib.Path, pyarrow.NativeFile, or file-like object
Readable source. For passing bytes or buffer-like file containing a
Parquet file, use pyarorw.BufferReader
columns: list
If not None, only these columns will be read from the row groups. A
column name may be a prefix of a nested field, e.g. 'a' will select
'a.b', 'a.c', and 'a.d.e'
iterator : boolean, default False
Return an iterator object that yields row group DataFrames and
provides the ParquetFile interface.
use_threads : boolean, default True
Perform multi-threaded column reads
memory_map : boolean, default True
If the source is a file path, use a memory map to read file, which can
improve performance in some environments
Returns
-------
DataFrame or ParquetFileIterator
"""
use_threads = kwargs.pop("use_threads", True)
if not iterator:
return pd.read_parquet(
filepath, columns=columns, use_threads=use_threads, **kwargs
)
else:
try:
from pyarrow.parquet import ParquetFile
except ImportError:
raise ImportError(
"Iterating over Parquet data requires the `pyarrow` package."
) from None
class ParquetFileIterator(ParquetFile):
def __iter__(self):
return self
def __next__(self):
if not hasattr(self, "_rgid"):
self._rgid = 0
if self._rgid < self.num_row_groups:
rg = self.read_row_group(
self._rgid,
columns=columns,
use_threads=use_threads,
use_pandas_metadata=True,
)
self._rgid += 1
else:
raise StopIteration
return rg.to_pandas()
return ParquetFileIterator(filepath, **kwargs)
open2c-bioframe-4fe9b25/bioframe/vis.py 0000664 0000000 0000000 00000014545 14775257723 0020077 0 ustar 00root root 0000000 0000000 import itertools
from typing import Union
import matplotlib as mpl
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from matplotlib.colors import to_rgb
from .core import arrops
DEFAULT_FACECOLOR = "skyblue"
DEFAULT_EDGECOLOR = "dimgray"
__all__ = ["plot_intervals", "to_ucsc_colorstring"]
def to_ucsc_colorstring(color: Union[str, tuple]) -> str:
"""
Convert any matplotlib color identifier into a UCSC itemRgb color string.
Parameters
----------
color : str or tuple
Any valid matplotlib color representation (e.g. 'red', 'tomato',
'#ff0000', '#ff00', "#ff000055", (1, 0, 0), (1, 0, 0, 0.5))
Returns
-------
str
A UCSC itemRgb colorstring of the form "r,g,b" where r, g, and b are
integers between 0 and 255, inclusive.
Notes
-----
The alpha (opacity) channel is ignored if represented in the input.
Null values are converted to "0", which is shorthand for "0,0,0" (black).
Note that BED9+ files with uninformative itemRgb values should use "0" as
the itemRgb value on every data line.
Examples
--------
>>> to_ucsc_colorstring("red")
'255,0,0'
>>> to_ucsc_colorstring("tomato")
'255,99,71'
>>> df["itemRgb"] = df["color"].apply(to_ucsc_colorstring)
>>> df
chrom start end color itemRgb
chr1 0 10 red 255,0,0
chr1 10 20 blue 0,0,255
chr2 0 10 green 0,128,0
chr2 10 20 None 0
"""
if pd.isnull(color) or color == "none":
return "0"
else:
return ",".join(str(int(x * 255)) for x in to_rgb(color))
def _plot_interval(
start, end, level, facecolor=None, edgecolor=None, height=0.6, ax=None
):
facecolor = DEFAULT_FACECOLOR if facecolor is None else facecolor
edgecolor = DEFAULT_EDGECOLOR if edgecolor is None else edgecolor
ax = plt.gca() if ax is None else ax
ax.add_patch(
mpl.patches.Rectangle(
(start, level - height / 2),
end - start,
height,
facecolor=facecolor,
edgecolor=edgecolor,
)
)
def plot_intervals_arr(
starts,
ends,
levels=None,
labels=None,
colors=None,
xlim=None,
show_coords=False,
figsize=(10, 2),
):
"""
Plot a collection of intervals.
Parameters
----------
starts, ends : np.ndarray
A collection of intervals.
levels : iterable or None
The level of each interval, i.e. the y-coordinate at which the interval
must be plotted. If None, it will be determined automatically.
labels : str or iterable or None
The label of each interval.
colors : str or iterable or None.
The color of each interval.
xlim : (float, float) or None
The x-span of the plot.
show_coords : bool
If True, plot x-ticks.
figsize : (float, float) or None.
The size of the figure. If None, plot within the current figure.
"""
starts = np.asarray(starts)
ends = np.asarray(ends)
if figsize is not None:
plt.figure(figsize=figsize)
if levels is None:
levels = arrops.stack_intervals(starts, ends)
else:
levels = np.asarray(levels)
if isinstance(colors, str) or (colors is None):
colors = itertools.cycle([colors])
else:
colors = itertools.cycle(colors)
if isinstance(labels, str) or (labels is None):
labels = itertools.cycle([labels])
else:
labels = itertools.cycle(labels)
for (start, end, level, color, label) in zip(
starts, ends, levels, colors, labels
):
_plot_interval(start, end, level, facecolor=color)
if label is not None:
plt.text(
(start + end) / 2,
level,
label,
horizontalalignment="center",
verticalalignment="center",
)
plt.ylim(-0.5, np.max(levels) + 0.5)
if xlim is None:
plt.xlim(-0.5, np.max(ends) + 0.5)
else:
plt.xlim(xlim[0], xlim[1])
plt.gca().set_aspect(1)
plt.gca().set_frame_on(False)
plt.yticks([])
if show_coords:
pass
else:
plt.xticks([])
def plot_intervals(
df,
levels=None,
labels=None,
colors=None,
xlim=None,
show_coords=False,
figsize=(10, 2),
):
"""
Plot a collection of intervals, one plot per chromosome.
Parameters
----------
df : pandas.DataFrame
A collection of intervals.
levels : iterable or None
The level of each interval, i.e. the y-coordinate at which the interval
must be plotted. If None, it will be determined automatically.
labels : str or iterable or None
The label of each interval.
colors : str or iterable or None.
The color of each interval.
xlim : (float, float) or None
The x-span of the plot.
show_coords : bool
If True, plot x-ticks.
figsize : (float, float) or None.
The size of the figure. If None, plot within the current figure.
"""
chrom_gb = df.groupby("chrom", observed=True)
chrom_gb = df.reset_index(drop=True).groupby("chrom", observed=True)
for chrom, chrom_df in chrom_gb:
chrom_indices = chrom_gb.groups[chrom].to_numpy()
if isinstance(levels, (list, pd.Series, np.ndarray)):
chrom_levels = np.asarray(levels)[chrom_indices]
elif levels is None:
chrom_levels = None
else:
raise ValueError(f"Unknown type of levels: {type(levels)}")
if isinstance(labels, (list, pd.Series, np.ndarray)):
chrom_labels = np.asarray(labels)[chrom_indices]
elif labels is None:
chrom_labels = None
else:
raise ValueError(f"Unknown type of labels: {type(levels)}")
if isinstance(colors, (list, pd.Series, np.ndarray)):
chrom_colors = np.asarray(colors)[chrom_indices]
elif colors is None or isinstance(colors, str):
chrom_colors = colors
else:
raise ValueError(f"Unknown type of colors: {type(colors)}")
plot_intervals_arr(
chrom_df.start,
chrom_df.end,
levels=chrom_levels,
labels=chrom_labels,
colors=chrom_colors,
xlim=xlim,
show_coords=show_coords,
figsize=figsize,
)
plt.title(chrom)
open2c-bioframe-4fe9b25/docs/ 0000775 0000000 0000000 00000000000 14775257723 0016057 5 ustar 00root root 0000000 0000000 open2c-bioframe-4fe9b25/docs/Makefile 0000664 0000000 0000000 00000001172 14775257723 0017520 0 ustar 00root root 0000000 0000000 # Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
open2c-bioframe-4fe9b25/docs/api-construction.rst 0000664 0000000 0000000 00000000144 14775257723 0022111 0 ustar 00root root 0000000 0000000 Construction
============
.. automodule:: bioframe.core.construction
:autosummary:
:members:
open2c-bioframe-4fe9b25/docs/api-extras.rst 0000664 0000000 0000000 00000000141 14775257723 0020662 0 ustar 00root root 0000000 0000000 Additional tools
================
.. automodule:: bioframe.extras
:autosummary:
:members:
open2c-bioframe-4fe9b25/docs/api-fileops.rst 0000664 0000000 0000000 00000000221 14775257723 0021014 0 ustar 00root root 0000000 0000000 .. _API_fileops:
File I/O
========
.. automodule:: bioframe.io.fileops
:autosummary:
:members:
.. autofunction:: bioframe.io.bed.to_bed
open2c-bioframe-4fe9b25/docs/api-intervalops.rst 0000664 0000000 0000000 00000000162 14775257723 0021725 0 ustar 00root root 0000000 0000000 .. _API_ops:
Interval operations
===================
.. automodule:: bioframe.ops
:autosummary:
:members:
open2c-bioframe-4fe9b25/docs/api-lowlevel.md 0000664 0000000 0000000 00000003305 14775257723 0021002 0 ustar 00root root 0000000 0000000 ---
jupytext:
formats: ipynb,md:myst
text_representation:
extension: .md
format_name: myst
format_version: 0.13
jupytext_version: 1.11.3
kernelspec:
display_name: Python 3
language: python
name: python3
---
# Low-level API
```{eval-rst}
.. toctree::
:maxdepth: 2
:caption: Contents:
lowlevel/arrops
lowlevel/specs
lowlevel/stringops
```
Low level array-based operations are used to implement the genomic interval operations on dataframes.
```{code-cell} ipython3
import itertools
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
import bioframe as bf
import bioframe.vis
from bioframe.core import arrops
```
```{code-cell} ipython3
starts1, ends1 = np.array([
[1,5],
[3,8],
[8,10],
[12,14]
]).T
starts2, ends2 = np.array([
[4,8],
[10,11],
]).T
```
```{code-cell} ipython3
bf.vis.plot_intervals_arr(
starts = starts1,
ends = ends1,
xlim = (-0.5,14.5),
labels = np.arange(0,starts1.shape[0]),
show_coords = True)
bf.vis.plot_intervals_arr(
starts = starts2,
ends = ends2,
colors = 'lightpink',
xlim = (-0.5,14.5),
labels = np.arange(0,starts2.shape[0]),
show_coords = True)
```
```{code-cell} ipython3
arrops.overlap_intervals(starts1, ends1, starts2, ends2)
```
```{code-cell} ipython3
arrops.overlap_intervals_outer(starts1, ends1, starts2, ends2)
```
```{code-cell} ipython3
arrops.merge_intervals(starts1, ends1, min_dist=0)
```
```{code-cell} ipython3
arrops.merge_intervals(starts1, ends1, min_dist=None)
```
```{code-cell} ipython3
arrops.merge_intervals(starts1, ends1, min_dist=2)
```
```{code-cell} ipython3
arrops.complement_intervals(starts1, ends1)
```
open2c-bioframe-4fe9b25/docs/api-resources.rst 0000664 0000000 0000000 00000005437 14775257723 0021403 0 ustar 00root root 0000000 0000000 Resources
=========
Genome assembly metadata
------------------------
Bioframe provides a collection of genome assembly metadata for commonly used
genomes. These are accessible through a convenient dataclass interface via :func:`bioframe.assembly_info`.
The assemblies are listed in a manifest YAML file, and each assembly
has a mandatory companion file called `seqinfo` that contains the sequence
names, lengths, and other information. The records in the manifest file contain
the following fields:
- ``organism``: the organism name
- ``provider``: the genome assembly provider (e.g, ucsc, ncbi)
- ``provider_build``: the genome assembly build name (e.g., hg19, GRCh37)
- ``release_year``: the year of the assembly release
- ``seqinfo``: path to the seqinfo file
- ``cytobands``: path to the cytoband file, if available
- ``default_roles``: default molecular roles to include from the seqinfo file
- ``default_units``: default assembly units to include from the seqinfo file
- ``url``: URL to where the corresponding sequence files can be downloaded
The `seqinfo` file is a TSV file with the following columns (with header):
- ``name``: canonical sequence name
- ``length``: sequence length
- ``role``: role of the sequence or scaffold (e.g., "assembled", "unlocalized", "unplaced")
- ``molecule``: name of the molecule that the sequence belongs to, if placed
- ``unit``: assembly unit of the chromosome (e.g., "primary", "non-nuclear", "decoy")
- ``aliases``: comma-separated list of aliases for the sequence name
We currently do not include sequences with "alt" or "patch" roles in `seqinfo` files, but we
do support the inclusion of additional decoy sequences (as used by so-called NGS *analysis
sets* for human genome assemblies) by marking them as members of a "decoy" assembly unit.
The `cytoband` file is an optional TSV file with the following columns (with header):
- ``chrom``: chromosome name
- ``start``: start position
- ``end``: end position
- ``band``: cytogenetic coordinate (name of the band)
- ``stain``: Giesma stain result
The order of the sequences in the `seqinfo` file is treated as canonical.
The ordering of the chromosomes in the `cytobands` file should match the order
of the chromosomes in the `seqinfo` file.
The manifest and companion files are stored in the ``bioframe/io/data`` directory.
New assemblies can be requested by opening an issue on GitHub or by submitting a pull request.
.. automodule:: bioframe.io.assembly
:autosummary:
:members:
.. autoclass:: bioframe.io.assembly.GenomeAssembly
:members:
:undoc-members:
Remote resources
----------------
These functions now default to using the local data store, but can be used to obtain chromsizes or
centromere positions from UCSC by setting ``provider="ucsc"``.
.. automodule:: bioframe.io.resources
:autosummary:
:members:
open2c-bioframe-4fe9b25/docs/api-validation.rst 0000664 0000000 0000000 00000000132 14775257723 0021506 0 ustar 00root root 0000000 0000000 Validation
==========
.. automodule:: bioframe.core.checks
:autosummary:
:members:
open2c-bioframe-4fe9b25/docs/api-vis.rst 0000664 0000000 0000000 00000000125 14775257723 0020157 0 ustar 00root root 0000000 0000000 Plotting
===============
.. automodule:: bioframe.vis
:autosummary:
:members:
open2c-bioframe-4fe9b25/docs/conf.py 0000664 0000000 0000000 00000005303 14775257723 0017357 0 ustar 00root root 0000000 0000000 # Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# import sys
from datetime import datetime
from importlib.metadata import metadata
# autodoc_mock_imports = ["numpy", "pandas", "matplotlib", "requests"]
# -- Project information -----------------------------------------------------
# NOTE: If you installed your project in editable mode, this might be stale.
# If this is the case, reinstall it to refresh the metadata
info = metadata("bioframe")
project_name = info["Name"]
author = "Open2C"
copyright = f"{datetime.now():%Y}, {author}."
version = info["Version"]
urls = dict(pu.split(", ") for pu in info.get_all("Project-URL"))
# The full version, including alpha/beta/rc tags
release = info["Version"]
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
# "sphinx.ext.autodoc",
# 'sphinx.ext.doctest',
# 'sphinx.ext.todo',
# 'sphinx.ext.coverage',
# 'sphinx.ext.mathjax',
# 'sphinx.ext.ifconfig',
"autodocsumm",
"sphinx.ext.viewcode",
"sphinx.ext.autosummary",
"sphinx.ext.napoleon", # 'numpydoc'
"myst_nb",
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "**.ipynb_checkpoints"]
# nbsphinx_custom_formats = {
# '.md': ['jupytext.reads', {'fmt': 'MyST'}],
# }
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "sphinx_rtd_theme"
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ["_static"]
master_doc = "index"
autosummary_generate = True
# Don't include fully qualified name prefixes in autodoc
add_module_names = False
# Cache MyST (.md or .ipynb) notebook outputs if unmodified
jupyter_execute_notebooks = "cache"
execution_excludepatterns = ["guide-performance.ipynb"]
open2c-bioframe-4fe9b25/docs/figs/ 0000775 0000000 0000000 00000000000 14775257723 0017007 5 ustar 00root root 0000000 0000000 open2c-bioframe-4fe9b25/docs/figs/._bioframe-logo.png 0000664 0000000 0000000 00000010000 14775257723 0022443 0 ustar 00root root 0000000 0000000 Mac OS X 2 ° â ATTR D â à @ à com.dropbox.attrs ú com.apple.lastuseddate#PS
com.apple.quarantine
µ‚§m#qT vbîàÚ•&fÅ^ I= 0082;5ec56627;Preview; This resource fork intentionally left blank ÿÿopen2c-bioframe-4fe9b25/docs/figs/bioframe-logo.png 0000664 0000000 0000000 00000206227 14775257723 0022250 0 ustar 00root root 0000000 0000000 ‰PNG
IHDR Ò w„¢ pHYs .# .#x¥?v IDATxÚìÝy|Sç™/ðG:ÚWËH–±16Ø8€c704,iX4H?Li&i¦3½™6“™æÞ6i¦·™&vÚ¦CÚÜɽmÓN&!!²‘„²„°Â’ØÆ/€°‘ÙØZ,ëÈ’uÿxAq¼Ë‹tŽôû~æó™FÙÇï{ôê=Ïyßç‘„Ãa H%R4 ¤û¡Pm ÉM"‘H¥RŠQ HAŒ @ÊA` RŽlèK'¢iÆÃd2¡=ÑžhÏ”Ce2½^ùÏ®®.´ Úí‰ö´'ÚSìÔjJ¥dÿ;z<´ Úí‰ö´'ÚSìôz½L68:L`4ò Úk¢ =ÑžhÏÔÆD{¢=Ñž€öD{&…BAtýF4ÜF{¢=ÑžhO@{¢=“€®?<ôEl¥ €”ƒÀ( ¤F å 0
)Q H9Œ @ÊA` R£ r €”ƒÀ( ¤F å 0
)Q H9Œ @ÊA` R£ r €”ƒÀ( ¤F å 0
)Q H9Œ @ÊA` R£ r €”ƒÀ( ¤F å 0
)Q H9Œ @ÊA` R£ r €”ƒÀ( ¤F å 0
)Q H9Œ @ÊA` R£ r €”ƒÀ( ¤F å 0
)Q H9Œ @ÊA` R£ r €”ƒÀ( ¤F å 0
)Q H9Œ @ÊA` R£ r €”ƒÀ( À0d§T(Ð Vªd‡v H>Œ C.“´è
Q€d„À( À0J…B¡PÈdhŠT¦T(är™J¥BS $F †¡P(ˆH§×£)R[5Œ£ I Q €aÈå2"R«ÕÈ/™²2‹Ëdr´@òA` ’'‘¦›Lhˆ•Œã$’ë·ÌZ
’š"ë…Y” ’£ ÌtzZæ$¸÷ØÈer"òy"Òj5¸„RŒãÔjuä2@¶Y€äƒ‘ ’'‘jµ"Òéuh
ˆ‰B© ¢jgm³Ç&‘H•*%Ú$Õèt:"ªrÖ\ñ´Ç!0
l €¤¥V«Ùnh¬øƒX±Ì’¾«5Ž‹t£¤N"ÕhÔDTí¨ïìqIÐ* É3 HZl¡¨?ÈcÅÄŠU!ïì¹Vëhêæ]Ç)
4KJ‰´Ùcku;¾«DÔßòõxÑ2 ÉQ HNµšã¸nÞuøÊqŠ?ˆ'‘²À¨Óç&¢rû9"â8ÜA§–]ôdK9uúº‰H*•\<_ƒ–H&Ö 9±HèÉÖÒÈŠ?µR…fÑÉeDÔì±±ÿ¬q\òy“)½/À£qRAä±J«ÛIDÞGDééæÖ¶6"ºQ€¤À( $!µRÅⵎ&":ÙZJDj-£¡R©ˆÈÁ2KB}ÕÎZ"òõxÏU–¡}’^ä±Jä%ç¤ÒÇ^<_ƒØ(@r¦¤š^¯×õ‡Ñ4í‰öD{&1‰ô ا˜ÒÑ&hO´'ÚОhO`%ÅÙh"j¸ÖêŸÎ«ÕjÇõ‡ú£¼‘m ¾~¿$—¡=ÇI¤í©¼y¥Ü~~~fÉÜ¢â7ÞxcJú”y_ºí™¬×'ÇI>Vaܼ›ô¤V+Ï;§V©tZÍW}
ˆëí)"l+Àà‡yI&CcMd»£=ÑžhÏ”!WÈÑhO´'ÚОhO!H$R©Ôäk—Ø+P_™½rÉ´…~¯V«ýÏA{Nl¿ˆ¥=¥œ”ˆ:{®E^ñð¾*gM±¹hö-‡¾eN‘N§G{&åõ)å8"ªv\ø¯=×ÈL¦éJ‹Z¥šžc[ª{½ž„_ø¼£=a\£=š ’íR*%¢2{e Ôy±ÆÙHDƒ‘ˆ¼^Z nŠU^ЍvÔцM›«Ï_|ï7OŸ<†&JÂÑC"‘ùƒüû£¾«D”73Ÿˆzýþ+-÷ï9[YŽÁ@Ô €d3l\ƒø#¢ÎNûKþ#Z F¼~$Py)¢ÕílöØt:ý‚’yg*Ͻ¿goeE)š+){Ðc"rô¸ˆhÖ¬Ùì?Ûí'N>~ü“³•åh4 ñfßχBA4ÍxhµZ´'Úí™
8N¦R)#ÿÙÓÓƒ6A{¢=Ñž€öD{&œZæ8®¾»aP\ƒˆN¶œ-6Æêóu5Ugóf}»B¡Ë¯oW…úýþ^\cã!ÆöTªTJ…"Ryi ÇÅ\}Ζûøá?
‡ÃûöÈÊÎÑjõhÏä¸>^§ÓÑæB}þ ¯ÓéÓŒ†n—›ýŸZ¥ššY[É‚žO|ÞÑž0–éJÍÒ¤4L`´·×Çh¯ñxB{¢=ÑžIL©P¼õxo^›RÆqShGîïƒhO@{¢=Ñž€öŒ‰Œã®—“n9;ô_=¼¯ÙcËÕç,œ_òÇ?ÿ×ü¿}=^ÍSŽêuºÈh(„ësœÄØž¬ò’‹æTkM‹²]Ö̬¼ÜœËMW.\¬ïÝwrórçÝ6í™×'›¨W9k<¼oèÁ½¹ú“)Ûu=ÇB¯ßßlkÙ¿oF¾eN‘fÔù‹ñy´gÆv¹bTQ ûP+“I¤R¹Lα(Ç7ê`èHÂáþ¾¾ õ÷÷ƒA"òûýD„¸6 À ,*:R\ƒˆN¶”çÎÉÙ°ñ¾c'ž¨>WQQQùàCßF»Á@,1°$ý@ÕŽK¦-\³jåïÿôÕœ¿Ðpé²R¡¼en1šNÔ$R©Ô4Âc"²¹Úrõ9³.7]‰¼Øép**J•Ì_ˆfF ƈ“Hå2¹T*eÓ( QvVÖMßåò½£ùùF…!Mi¼1K“²•l݈™†B¡P(ä÷ûC¡P0Bï @Ê~;³Å³åí5#Óêvvó.kfÖ‚’y»Þ|‡ð¶æË9¹3Ðzðù…ÄqìRö_ÏØ/ÌϼmñËߨõÛO‡?9y2'wŠ»ße2"jöØFz¬âxˆÈb±|Ñãñz<^•R™5µ„hè"t 2F b¸×R(
¥B¡PÈå2‰d˜úu>‡?äwô8ýÁ
°…|00¨¤i¬œÜ¢5‘Q©3(ô*™Â¢5«8•Uc3eÑR*
>Bá~ô ¤^'‘H›=¶èß¼'[K×Í\ùµõ÷–Vüœˆ^Ýþú°{ê!5)
6©é€@¨¯¾»¡Ø\tï=k·m߇‰¨®¾ñÐÁñÜSN&“ÑÉ–‹)±ì
3óg
ý'?Ï·µ·Ÿ8~{êDöÁG D%9N¡P¨T*…B1h;<[ûéèqºxo§ïª›÷ôlyü¡>¶f¡•¯\`1ÓÍ£RgÑšê•L©P(
鈈B¡P ðûý@ ‹I ‰q©V«¡¨q
¦ÖÑ´|:_0köŒ¼é—›®¸\.쩇¹Œí£¶Å‡UñZ´ä®oíæyž½ˆ=õ¢ÆŠÑwø#¦‹ˆn¦{êDyË/ö?@£V¬$“}}}ì!aÛZË^d_«)XDWÑ(/žn—] ÀÛ*…B¡Ö¨‡C›=6›«Íá»Úéëž¼0hLXÌtàN¯ÔdhÒ,š)9Ƭ\}ÇqjµZVÛnÏûù^ÞŽNúáH"‘J\À³-,´YÓ˜¡XjŽ¡¯³ÔÆL°/ˆÕè @J•’-׈(³WL‰=õÁ[=×¢ãá}u]…¦üå_]¼ïÃÃìEì©5v_n?ý°ŸÃª±LÍ´¶Û;_©½§žÍj8Ž‹Ì?J æŸã½3ÐöDüaX¢ŒÊåòAy÷ðÅ9 °'NÆ4ãà(F @¨ ‚«8 rœJ©bñÐÏAþЧſn³¹Ûǹ>n<¼ÏÃû»ÚN·V‘YcÈ1LÍ1dM×OSÉ”Z–bü~oo/ïçÝH‘á¾€Æ)’Úø‹3ì`8Ü™Þø@¸aSHVv©Æqq4JÉxº±§¾§Ç#À‡¿9¡,Z奈r{U¡)åª5‘À(öÔ‹»yïæ]µŽ¦èGºx·UcIO3
Œ^¿}HÕ=õCg5©óω¼JÑž“4æ'ÇŸQ嬩vÔ'ê·çè§ûºQ¥3(
ì³T€ÃÞš¼Í¨ ’"WQ†fÊŠÜ¥hvAŒƒ§Rª4Z\þùØì±5\kQ04
§Ïíô¹+ì‰È¬1˜rg¥Ï´j,*•J¥R"¤øRKy …Öãš)Jn˜iwŽñóúr¹úœwA²/LoÜý±˜i èëë…Bx“M£Vs7š¸Æõ‰÷ÓD^y¸\Õç*Î;÷¿~ðš4e±‘í¦ëŽ[ÝΟƒUñ*87🰧^t$R)l-½é‘=ÎBSþôéÓj.ÔxL
ï©Ç<Ó]ñ’ãÏpù½£Ù/3IbýÕÙ3©8…E3%r›Án0PA%e¯"ˆ?N"Uª”:>rWïòõÝ
6w{õÖ@¨/)ÿj§ÏíôUnÒ+59†ŒÓŒBSþÀ©¯Ç‡]öŽ Å{|¤“a‹Ð1kJ™‚n<'ÎК•2KvÌF×σûú‚¡P0Ü•0QØrÑÑÄ5"XšÈÕkÖLÉöÔ_j¬¶¾
$½›V^¨Ü~öF¯/F±§^\$‰„È䮵Þô`‡ï*ͽµ8²Rx¨TÞSy,ˆŠ/%ò~£±«màm« ÂJN糆VPéë|oo/Ö\ Œs¾«ÕjYÎMºm¸ÖÌ>’)ÂÃûjMµŽ&÷IAzöÀi8Üïóõz½^,Z€›Š,«z”m0³ÇÀZ³Qi°j,r¹ŒEK¯? &¢ðuhIÿ—{LËE#߆CÓD²=õÿùŸ/üöwÏ{½¥B…æM)£©¼1¨ŠWäuì©¶\´Ì^9šµ¾n"Êšš}Ó#Q§@ëTÈI7¢¥ƒ*¨°Û V÷ûý|¯¯»Ä®éRýÞ}û6ã~4Ep©ZÖéu‘zJu]
]—“x}è(GžH„´È2óVËl«ÆÂò¯Ç‹q0 ÃØ°PéÀgNf!C›ž¡™bÑšsõ9b«t$D”aÉx”†ƒ1cËE«b}#K¹aÓæA‹¿®uw—}zâä©Sß{äûhÞ”2šÊK±*^Kß100=õÂ'•J%DDtÆ>ª„Õ_µffæ`Ô©Lw…QATA%Û`žeÊÍ1L³j,¬Æ4‹öôô`
©Hõôú:::Ñ“>ÒqœÁ`P©”‰”ˆºyWµãB³Q eå"ê«°_¬°_4k·O-š•V R(Ó§¤‡B!¯ÇÛÛÛ‹l€Æ‰¥<®¥&öŸÙsŽ~êЧ¿<@âcˆ Ûcåò£ŒkÔêv6{l¹úœ¡i"ÿôÒ+~ž¿t©ÎhBUåTš7Ž®òRÄû…%Ó®^³þý=ûº]ƒsÓcO½¥’ˆªœ5£_*ÁAË„‡¿£Oí:õ€é®(HÑ"Òêvm.µê½?V¾~¨ùx‡Ï!‘HÕjµÙlδZu-'A‡ŠO§ÃùæÎ×Ñ“w§4%=ÝjµªÕj‰DÚì±½[·÷Ï•ožnBT4Jäâ@ã©+wj>ÞÍ»8Ž3¦™Fƒƒ`@†‰Øœnz³öÀ|úç7Îï.³W°¹J¥2™L™S3§¤§«•ØÅ7Ç’3ŒrìP¬Šý–ûôºŸç‰èx‘ˆ|=^´sŠ`?=®QõU9kˆhŲ;‡þëÀ=õk«Ð¼B#ã8¹\ND'[ÎŽþ]nÞMDfSÚ(ì©¿x¾m˜î
n@ˆ‘‡÷±…]z¥¦Èœ«evšÒhL3Œzd>¨ª®íèøÕš5íH©P†HÑ*gÍÉ–³†Ž^di¾)ëËS‹sõ9:N«Õôôø¼/–qd˜Xng«ÛIT®Wj
L9,G$ñ±ßÏ{=ž@0ˆ†‚aã¬„à–‹2µŽ¦EÙ.kfÖ°ë¿®uwWŸ«¨¨¨|ð¡o£µSaIDݼ+¦ ;«âµêî¯íÙw0RÅkšóº]nl¨VËîbºMpù½D4=wú eæQ°=õyy¹%htÀtWh 4¨yxßéÖªÓU‘ÈËØÛÛëêv!r!¢±ÉÖÚ†v˜Àm$$êòeöÊ3ö©œEtœ»Ú»Ú²
æEÓnGx0 Cæ6‘§¿‘)Ë zzz|½½h%ˆeiìPåös+r—ÞwߦÏ=?ô_Yz[óåœÜhðäÆ2Ñwúb«©íá}loõÂù%ÇNœö˜n—»«Ûått˜-V´³Pº["Õj5DTí¨é6O;åÍÌá"ñx=/K6
€é® `SdòD.Þ¬=ðrÕ.¶CVcß«è`Mûø)
‹Ùl6›Y¢±OZ>}±rÇéÖ*DEǯÕí|³öÀ+_¯rÖH$RN‡A0 äbÒW«Þ{¹jW™½Âä
…ÉdÊ´Z5j5`d§V«)Æm°CÕ8.ùƒ|IÉ‚©™Öáî!y"zu;†…äÇž¬wö8c}ãÉ–r"Ú°ñ¾‘`{ê>„FŽH®-V-pôX¦…Y³fa‚fLw…sʤÂ2þ±òõº®F¹°dXœK,ØšöþÏï0<í¾(ÝdBH4qЧÞ8¿»Ùc‹2µ-aR§7G›Ë_¬Ü±÷ÒG,ñ±Éd³`XvÑX·Áõ•Ù+‰hÕŠ»F:ÆårÙš/£Í“K7ÉÖÆ¤Õíìæ]Ö̬%ó¢v®ºùj4€èuDt¦½j#†?ÈëtzV¸)†¹´½˜î
f“IÈÃûÞ¯;Â"Ç¥OI·˜Í2ŽCˈbl²µ¶¡N\L8‰Ôh0°òJD„h°Õ£‘AÆd2eX2”
ìÈ0‰¡¾ZGÓŸ+ß|·n/žÍ@d Ѩ)öm°Ãªq6Ñê5ëÓŒ†‘ŽÙ¹kš=¹±££¯¼4ÐÉÖR"ºsÙ²hCY pêÄq´³hÔjŽãºyWc×XöwôvQÖÔ˜# `º+4Œ&-¹Ø{é#¶õ,wâ5í£§Vª,–Èj‘?V¾Žhü™nÞ%—ËÌfsºÉ„Õ[€&K„g3@D:½nlÛ`‡åá},'ÕçtŒÓy
Ëý’˜B&£Ø+/EÔ:šXB†yÓ£vê³R4µ°ôÄ,œ=Ž'Í.,ˆõΫWÑø€é® à6ÉÕ:š^¬ÜÁvÖ›L¦)éé[Ö´†Œã,fsú”tŽãš=¶7Îï>Ðx
Eç2Èl«ÚýI˧þ ϲë4Z4`@†É†g3@D¬j
Ëí8!ÊÛkˆhæÍ#m
Søõí¯¡å“vz)—Sì•—b –.¾#Ê1÷Äñ£híÄR*Çùƒ|£il?¡Ów•ˆ,K¬olkCÑÀtWX0}L~PßûuGØÒQ•J5ÅlfÏBAàcÖ´GÁöγt¢{/}ôfí Y*cdN·V½Rý6ÛÜjL3"}`@†ø`›ë>›AjõÔ¡Q«%i‡Ï1s §ÏÝì±étú…óKF:¦ñÒŒ&1W^ŠMB"ª¨¨Dk'[.ÊÙcãâ½Dd±fÆúFÌ( Ó]¡A`4…î^©~»ÃçËef‹·
¢€5íÃLXe²KFdïü‹•;Æü˜&–‡÷½Y{àݺ½,}‡Õj5hH¦ùíÛÐÂ4ðÙLú”t,M,®Qn?;±?–•a‰R[¼?~÷mdMNc®¼4p:tÓ„DdkmC¢ÉÄÞP°gìÆüCØ#™’’±¾±…éñÁ¬1…xxßÎÚ½UÎvÛ€”£Â‡5íƒ
KF†\.ëæ]lï<Ò‰
McWÛ‹•;ÊìD¤Óé°t’i@®