pax_global_header00006660000000000000000000000064141760316230014515gustar00rootroot0000000000000052 comment=b6ca41bc2c9160f679f6ed67936c5d58fc53afd3 pyfaidx-0.6.4/000077500000000000000000000000001417603162300131705ustar00rootroot00000000000000pyfaidx-0.6.4/.codecov.yml000066400000000000000000000000641417603162300154130ustar00rootroot00000000000000comment: false coverage: status: patch: false pyfaidx-0.6.4/.coveragerc000066400000000000000000000004421417603162300153110ustar00rootroot00000000000000[run] parallel = True omit = */lib-python/?.?/*.py */lib_pypy/_*.py */site-packages/ordereddict.py */site-packages/nose/* */site-packages/six/* */unittest2/* [paths] source = pyfaidx .tox/*/lib/python*/site-packages/pyfaidx .tox/*/site-packages/pyfaidx pyfaidx-0.6.4/.github/000077500000000000000000000000001417603162300145305ustar00rootroot00000000000000pyfaidx-0.6.4/.github/dependabot.yml000066400000000000000000000007651417603162300173700ustar00rootroot00000000000000# To get started with Dependabot version updates, you'll need to specify which # package ecosystems to update and where the package manifests are located. # Please see the documentation for all configuration options: # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates version: 2 updates: - package-ecosystem: "pip" # See documentation for possible values directory: "/" # Location of package manifests schedule: interval: "daily" pyfaidx-0.6.4/.github/workflows/000077500000000000000000000000001417603162300165655ustar00rootroot00000000000000pyfaidx-0.6.4/.github/workflows/main.yml000066400000000000000000000022421417603162300202340ustar00rootroot00000000000000name: CI # Controls when the action will run. on: push: branches: - master pull_request: jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: python: [3.6.15, 3.7.12, 3.8.12, 3.9.10, 3.10.2] os: [ubuntu-latest, macos-latest] steps: - name: Checkout uses: actions/checkout@v2.3.1 with: persist-credentials: false fetch-depth: 0 - name: Setup Python uses: actions/setup-python@v2 with: python-version: ${{ matrix.python }} - name: Install python packages run: pip install -r dev-requirements.txt - name: Install package run: python setup.py install - name: Cache test data uses: actions/cache@v2 with: path: tests/data key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('tests/data/*') }} - name: Download test data run: python tests/data/download_gene_fasta.py - name: Run tests run: pytest --cov=./ --cov-report=xml - name: Codecov uses: codecov/codecov-action@v2.1.0 pyfaidx-0.6.4/.github/workflows/pypi.yml000066400000000000000000000017551417603162300203010ustar00rootroot00000000000000name: Package Builds on: push jobs: build-n-publish: name: Build and publish packages to PyPI and TestPyPI runs-on: ubuntu-18.04 steps: - name: Checkout uses: actions/checkout@v2.3.1 with: persist-credentials: false fetch-depth: 0 - name: Setup Python uses: actions/setup-python@v2 with: python-version: 3.9 - name: Install python packages run: pip install setuptools - name: Build package run: python setup.py sdist - name: Publish to test PyPI uses: pypa/gh-action-pypi-publish@master with: password: ${{ secrets.test_pypi_password }} repository_url: https://test.pypi.org/legacy/ - name: Publish to tagged release to PyPI if: startsWith(github.ref, 'refs/tags') uses: pypa/gh-action-pypi-publish@master with: password: ${{ secrets.pypi_password }} pyfaidx-0.6.4/.gitignore000066400000000000000000000001631417603162300151600ustar00rootroot00000000000000/build venv __pycache__ *.pyc .project .pydevproject .idea *.egg-info .tox .coverage .coverage.* tests/data/chr22* pyfaidx-0.6.4/.travis.yml000077500000000000000000000035741417603162300153150ustar00rootroot00000000000000language: python sudo: required dist: bionic python: - 'nightly' - '3.8' - '3.7' - '3.6' - '3.5' - '2.7' - 'pypy' - 'pypy3' install: - pip install cython pysam requests coverage pyfasta pyvcf numpy nose-ignore-docstring - pip install biopython || true - python setup.py install - if [ ! -f samtools-1.2 ]; then curl -sL https://github.com/samtools/samtools/releases/download/1.2/samtools-1.2.tar.bz2 | tar -xjv; fi - cd samtools-1.2 - make - export PATH=$PATH:$PWD - cd .. - if [ ! -f htslib-1.4 ]; then curl -sL https://github.com/samtools/htslib/releases/download/1.4/htslib-1.4.tar.bz2 | tar -xjv; fi - cd htslib-1.4 - make - export PATH=$PATH:$PWD - cd .. before_install: - sudo apt-get install -y python3.6 python3-pip - env python3.6 -m pip install biopython requests - ls tests/data/chr22* - env --debug python3.6 tests/data/download_gene_fasta.py - ls tests/data/chr22* script: - nosetests --with-coverage --cover-package=pyfaidx deploy: provider: pypi user: mdshw5 password: secure: MbSaeuitkVTZqxa0PJ3RcR1aMf+B/sMbcx2sWOo9xfLlRFDFpYWJZ0EfXWEhrVu2YWXpBsasgunTDWSi0jNcZMH92MzOC+UTVYr45LO5sy6hm4iSiAgm/DPgYWdjP0SFKr7eL/HWPS+gHvgkXL1upleX21O358bxaezoasuKFvs= on: all_branches: true python: 3.8 tags: true repo: mdshw5/pyfaidx matrix: include: - os: windows language: sh python: "3.7" before_install: - choco install python3 - export PATH="/c/Python37:/c/Python37/Scripts:$PATH" - python -m virtualenv $HOME/venv - source $HOME/venv/Scripts/activate allow_failures: - python: nightly - python: pypy3 - python: pypy - os: windows fast_finish: true cache: directories: - tests/data - samtools-1.2 - htslib-1.4 after_success: - bash <(curl -s https://codecov.io/bash) pyfaidx-0.6.4/CODE_OF_CONDUCT.md000066400000000000000000000062151417603162300157730ustar00rootroot00000000000000# Contributor Covenant Code of Conduct ## Our Pledge In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. ## Our Standards Examples of behavior that contributes to creating a positive environment include: * Using welcoming and inclusive language * Being respectful of differing viewpoints and experiences * Gracefully accepting constructive criticism * Focusing on what is best for the community * Showing empathy towards other community members Examples of unacceptable behavior by participants include: * The use of sexualized language or imagery and unwelcome sexual attention or advances * Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment * Publishing others' private information, such as a physical or electronic address, without explicit permission * Other conduct which could reasonably be considered inappropriate in a professional setting ## Our Responsibilities Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. ## Scope This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. ## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at mdshw5@gmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. ## Attribution This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] [homepage]: http://contributor-covenant.org [version]: http://contributor-covenant.org/version/1/4/ pyfaidx-0.6.4/LICENSE000066400000000000000000000033521417603162300142000ustar00rootroot00000000000000##Copyright 2015, The Johns Hopkins University All rights reserved. Redistribution and use, in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of The Johns Hopkins University, or the name of any affiliate of the Johns Hopkins University, including but not limited to The Johns Hopkins Health System Corporation, or any of its hospitals or affiliates, or the names of any of their respective faculty, employees, or students may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE JOHNS HOPKINS UNIVERSITY NOR ANY OF ITS AFFILIATES, FACULTY, EMPLOYEES OR STUDENTS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. pyfaidx-0.6.4/MANIFEST.in000066400000000000000000000000321417603162300147210ustar00rootroot00000000000000include docs/build/html/* pyfaidx-0.6.4/README.rst000077500000000000000000000557021417603162300146730ustar00rootroot00000000000000|CI| |Package| |PyPI| |Coverage| |Depsy| Description ----------- Samtools provides a function "faidx" (FAsta InDeX), which creates a small flat index file ".fai" allowing for fast random access to any subsequence in the indexed FASTA file, while loading a minimal amount of the file in to memory. This python module implements pure Python classes for indexing, retrieval, and in-place modification of FASTA files using a samtools compatible index. The pyfaidx module is API compatible with the `pygr`_ seqdb module. A command-line script "`faidx`_" is installed alongside the pyfaidx module, and facilitates complex manipulation of FASTA files without any programming knowledge. .. _`pygr`: https://github.com/cjlee112/pygr If you use pyfaidx in your publication, please cite: `Shirley MD`_, `Ma Z`_, `Pedersen B`_, `Wheelan S`_. `Efficient "pythonic" access to FASTA files using pyfaidx `_. PeerJ PrePrints 3:e1196. 2015. .. _`Shirley MD`: http://github.com/mdshw5 .. _`Ma Z`: http://github.com/azalea .. _`Pedersen B`: http://github.com/brentp .. _`Wheelan S`: http://github.com/swheelan Installation ------------ This package is tested under Linux and macOS using Python 3.6+, and and is available from the PyPI: :: pip install pyfaidx # add --user if you don't have root or download a `release `_ and: :: python setup.py install If using ``pip install --user`` make sure to add ``/home/$USER/.local/bin`` to your ``$PATH`` (on linux) or ``/Users/$USER/Library/Python/{python version}/bin`` (on macOS) if you want to run the ``faidx`` script. Usage ----- .. code:: python >>> from pyfaidx import Fasta >>> genes = Fasta('tests/data/genes.fasta') >>> genes Fasta("tests/data/genes.fasta") # set strict_bounds=True for bounds checking Acts like a dictionary. .. code:: python >>> genes.keys() ('AB821309.1', 'KF435150.1', 'KF435149.1', 'NR_104216.1', 'NR_104215.1', 'NR_104212.1', 'NM_001282545.1', 'NM_001282543.1', 'NM_000465.3', 'NM_001282549.1', 'NM_001282548.1', 'XM_005249645.1', 'XM_005249644.1', 'XM_005249643.1', 'XM_005249642.1', 'XM_005265508.1', 'XM_005265507.1', 'XR_241081.1', 'XR_241080.1', 'XR_241079.1') >>> genes['NM_001282543.1'][200:230] >NM_001282543.1:201-230 CTCGTTCCGCGCCCGCCATGGAACCGGATG >>> genes['NM_001282543.1'][200:230].seq 'CTCGTTCCGCGCCCGCCATGGAACCGGATG' >>> genes['NM_001282543.1'][200:230].name 'NM_001282543.1' # Start attributes are 1-based >>> genes['NM_001282543.1'][200:230].start 201 # End attributes are 0-based >>> genes['NM_001282543.1'][200:230].end 230 >>> genes['NM_001282543.1'][200:230].fancy_name 'NM_001282543.1:201-230' >>> len(genes['NM_001282543.1']) 5466 Note that start and end coordinates of Sequence objects are [1, 0]. This can be changed to [0, 0] by passing ``one_based_attributes=False`` to ``Fasta`` or ``Faidx``. This argument only affects the ``Sequence .start/.end`` attributes, and has no effect on slicing coordinates. Indexes like a list: .. code:: python >>> genes[0][:50] >AB821309.1:1-50 ATGGTCAGCTGGGGTCGTTTCATCTGCCTGGTCGTGGTCACCATGGCAAC Slices just like a string: .. code:: python >>> genes['NM_001282543.1'][200:230][:10] >NM_001282543.1:201-210 CTCGTTCCGC >>> genes['NM_001282543.1'][200:230][::-1] >NM_001282543.1:230-201 GTAGGCCAAGGTACCGCCCGCGCCTTGCTC >>> genes['NM_001282543.1'][200:230][::3] >NM_001282543.1:201-230 CGCCCCTACA >>> genes['NM_001282543.1'][:] >NM_001282543.1:1-5466 CCCCGCCCCT........ - Slicing start and end coordinates are 0-based, just like Python sequences. Complements and reverse complements just like DNA .. code:: python >>> genes['NM_001282543.1'][200:230].complement >NM_001282543.1 (complement):201-230 GAGCAAGGCGCGGGCGGTACCTTGGCCTAC >>> genes['NM_001282543.1'][200:230].reverse >NM_001282543.1:230-201 GTAGGCCAAGGTACCGCCCGCGCCTTGCTC >>> -genes['NM_001282543.1'][200:230] >NM_001282543.1 (complement):230-201 CATCCGGTTCCATGGCGGGCGCGGAACGAG ``Fasta`` objects can also be accessed using method calls: .. code:: python >>> genes.get_seq('NM_001282543.1', 201, 210) >NM_001282543.1:201-210 CTCGTTCCGC >>> genes.get_seq('NM_001282543.1', 201, 210, rc=True) >NM_001282543.1 (complement):210-201 GCGGAACGAG Spliced sequences can be retrieved from a list of [start, end] coordinates: **TODO** update this section .. code:: python # new in v0.5.1 segments = [[1, 10], [50, 70]] >>> genes.get_spliced_seq('NM_001282543.1', segments) >gi|543583786|ref|NM_001282543.1|:1-70 CCCCGCCCCTGGTTTCGAGTCGCTGGCCTGC .. _keyfn: Custom key functions provide cleaner access: .. code:: python >>> from pyfaidx import Fasta >>> genes = Fasta('tests/data/genes.fasta', key_function = lambda x: x.split('.')[0]) >>> genes.keys() dict_keys(['NR_104212', 'NM_001282543', 'XM_005249644', 'XM_005249645', 'NR_104216', 'XM_005249643', 'NR_104215', 'KF435150', 'AB821309', 'NM_001282549', 'XR_241081', 'KF435149', 'XR_241079', 'NM_000465', 'XM_005265508', 'XR_241080', 'XM_005249642', 'NM_001282545', 'XM_005265507', 'NM_001282548']) >>> genes['NR_104212'][:10] >NR_104212:1-10 CCCCGCCCCT You can specify a character to split names on, which will generate additional entries: .. code:: python >>> from pyfaidx import Fasta >>> genes = Fasta('tests/data/genes.fasta', split_char='.', duplicate_action="first") # default duplicate_action="stop" >>> genes.keys() dict_keys(['.1', 'NR_104212', 'NM_001282543', 'XM_005249644', 'XM_005249645', 'NR_104216', 'XM_005249643', 'NR_104215', 'KF435150', 'AB821309', 'NM_001282549', 'XR_241081', 'KF435149', 'XR_241079', 'NM_000465', 'XM_005265508', 'XR_241080', 'XM_005249642', 'NM_001282545', 'XM_005265507', 'NM_001282548']) If your `key_function` or `split_char` generates duplicate entries, you can choose what action to take: .. code:: python # new in v0.4.9 >>> genes = Fasta('tests/data/genes.fasta', split_char="|", duplicate_action="longest") >>> genes.keys() dict_keys(['gi', '563317589', 'dbj', 'AB821309.1', '', '557361099', 'gb', 'KF435150.1', '557361097', 'KF435149.1', '543583796', 'ref', 'NR_104216.1', '543583795', 'NR_104215.1', '543583794', 'NR_104212.1', '543583788', 'NM_001282545.1', '543583786', 'NM_001282543.1', '543583785', 'NM_000465.3', '543583740', 'NM_001282549.1', '543583738', 'NM_001282548.1', '530384540', 'XM_005249645.1', '530384538', 'XM_005249644.1', '530384536', 'XM_005249643.1', '530384534', 'XM_005249642.1', '530373237','XM_005265508.1', '530373235', 'XM_005265507.1', '530364726', 'XR_241081.1', '530364725', 'XR_241080.1', '530364724', 'XR_241079.1']) Filter functions (returning True) limit the index: .. code:: python # new in v0.3.8 >>> from pyfaidx import Fasta >>> genes = Fasta('tests/data/genes.fasta', filt_function = lambda x: x[0] == 'N') >>> genes.keys() dict_keys(['NR_104212', 'NM_001282543', 'NR_104216', 'NR_104215', 'NM_001282549', 'NM_000465', 'NM_001282545', 'NM_001282548']) >>> genes['XM_005249644'] KeyError: XM_005249644 not in tests/data/genes.fasta. Or just get a Python string: .. code:: python >>> from pyfaidx import Fasta >>> genes = Fasta('tests/data/genes.fasta', as_raw=True) >>> genes Fasta("tests/data/genes.fasta", as_raw=True) >>> genes['NM_001282543.1'][200:230] CTCGTTCCGCGCCCGCCATGGAACCGGATG You can make sure that you always receive an uppercase sequence, even if your fasta file has lower case .. code:: python >>> from pyfaidx import Fasta >>> reference = Fasta('tests/data/genes.fasta.lower', sequence_always_upper=True) >>> reference['gi|557361099|gb|KF435150.1|'][1:70] >gi|557361099|gb|KF435150.1|:2-70 TGACATCATTTTCCACCTCTGCTCAGTGTTCAACATCTGACAGTGCTTGCAGGATCTCTCCTGGACAAA You can also perform line-based iteration, receiving the sequence lines as they appear in the FASTA file: .. code:: python >>> from pyfaidx import Fasta >>> genes = Fasta('tests/data/genes.fasta') >>> for line in genes['NM_001282543.1']: ... print(line) CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC ... Sequence names are truncated on any whitespace. This is a limitation of the indexing strategy. However, full names can be recovered: .. code:: python # new in v0.3.7 >>> from pyfaidx import Fasta >>> genes = Fasta('tests/data/genes.fasta') >>> for record in genes: ... print(record.name) ... print(record.long_name) ... gi|563317589|dbj|AB821309.1| gi|563317589|dbj|AB821309.1| Homo sapiens FGFR2-AHCYL1 mRNA for FGFR2-AHCYL1 fusion kinase protein, complete cds gi|557361099|gb|KF435150.1| gi|557361099|gb|KF435150.1| Homo sapiens MDM4 protein variant Y (MDM4) mRNA, complete cds, alternatively spliced gi|557361097|gb|KF435149.1| gi|557361097|gb|KF435149.1| Homo sapiens MDM4 protein variant G (MDM4) mRNA, complete cds ... # new in v0.4.9 >>> from pyfaidx import Fasta >>> genes = Fasta('tests/data/genes.fasta', read_long_names=True) >>> for record in genes: ... print(record.name) ... gi|563317589|dbj|AB821309.1| Homo sapiens FGFR2-AHCYL1 mRNA for FGFR2-AHCYL1 fusion kinase protein, complete cds gi|557361099|gb|KF435150.1| Homo sapiens MDM4 protein variant Y (MDM4) mRNA, complete cds, alternatively spliced gi|557361097|gb|KF435149.1| Homo sapiens MDM4 protein variant G (MDM4) mRNA, complete cds Records can be accessed efficiently as numpy arrays: .. code:: python # new in v0.5.4 >>> from pyfaidx import Fasta >>> import numpy as np >>> genes = Fasta('tests/data/genes.fasta') >>> np.asarray(genes['NM_001282543.1']) array(['C', 'C', 'C', ..., 'A', 'A', 'A'], dtype='|S1') Sequence can be buffered in memory using a read-ahead buffer for fast sequential access: .. code:: python >>> from timeit import timeit >>> fetch = "genes['NM_001282543.1'][200:230]" >>> read_ahead = "import pyfaidx; genes = pyfaidx.Fasta('tests/data/genes.fasta', read_ahead=10000)" >>> no_read_ahead = "import pyfaidx; genes = pyfaidx.Fasta('tests/data/genes.fasta')" >>> string_slicing = "genes = {}; genes['NM_001282543.1'] = 'N'*10000" >>> timeit(fetch, no_read_ahead, number=10000) 0.2204863309962093 >>> timeit(fetch, read_ahead, number=10000) 0.1121859749982832 >>> timeit(fetch, string_slicing, number=10000) 0.0033553699977346696 Read-ahead buffering can reduce runtime by 1/2 for sequential accesses to buffered regions. .. role:: red If you want to modify the contents of your FASTA file in-place, you can use the `mutable` argument. Any portion of the FastaRecord can be replaced with an equivalent-length string. :red:`Warning`: *This will change the contents of your file immediately and permanently:* .. code:: python >>> genes = Fasta('tests/data/genes.fasta', mutable=True) >>> type(genes['NM_001282543.1']) >>> genes['NM_001282543.1'][:10] >NM_001282543.1:1-10 CCCCGCCCCT >>> genes['NM_001282543.1'][:10] = 'NNNNNNNNNN' >>> genes['NM_001282543.1'][:15] >NM_001282543.1:1-15 NNNNNNNNNNCTGGC The FastaVariant class provides a way to integrate single nucleotide variant calls to generate a consensus sequence. .. code:: python # new in v0.4.0 >>> consensus = FastaVariant('tests/data/chr22.fasta', 'tests/data/chr22.vcf.gz', het=True, hom=True) RuntimeWarning: Using sample NA06984 genotypes. >>> consensus['22'].variant_sites (16042793, 21833121, 29153196, 29187373, 29187448, 29194610, 29821295, 29821332, 29993842, 32330460, 32352284) >>> consensus['22'][16042790:16042800] >22:16042791-16042800 TCGTAGGACA >>> Fasta('tests/data/chr22.fasta')['22'][16042790:16042800] >22:16042791-16042800 TCATAGGACA >>> consensus = FastaVariant('tests/data/chr22.fasta', 'tests/data/chr22.vcf.gz', sample='NA06984', het=True, hom=True, call_filter='GT == "0/1"') >>> consensus['22'].variant_sites (16042793, 29187373, 29187448, 29194610, 29821332) .. _faidx: It also provides a command-line script: cli script: faidx ~~~~~~~~~~~~~~~~~ .. code:: bash Fetch sequences from FASTA. If no regions are specified, all entries in the input file are returned. Input FASTA file must be consistently line-wrapped, and line wrapping of output is based on input line lengths. positional arguments: fasta FASTA file regions space separated regions of sequence to fetch e.g. chr1:1-1000 optional arguments: -h, --help show this help message and exit -b BED, --bed BED bed file of regions (zero-based start coordinate) -o OUT, --out OUT output file name (default: stdout) -i {bed,chromsizes,nucleotide,transposed}, --transform {bed,chromsizes,nucleotide,transposed} transform the requested regions into another format. default: None -c, --complement complement the sequence. default: False -r, --reverse reverse the sequence. default: False -a SIZE_RANGE, --size-range SIZE_RANGE selected sequences are in the size range [low, high]. example: 1,1000 default: None -n, --no-names omit sequence names from output. default: False -f, --full-names output full names including description. default: False -x, --split-files write each region to a separate file (names are derived from regions) -l, --lazy fill in --default-seq for missing ranges. default: False -s DEFAULT_SEQ, --default-seq DEFAULT_SEQ default base for missing positions and masking. default: None -d DELIMITER, --delimiter DELIMITER delimiter for splitting names to multiple values (duplicate names will be discarded). default: None -e HEADER_FUNCTION, --header-function HEADER_FUNCTION python function to modify header lines e.g: "lambda x: x.split("|")[0]". default: lambda x: x.split()[0] -u {stop,first,last,longest,shortest}, --duplicates-action {stop,first,last,longest,shortest} entry to take when duplicate sequence names are encountered. default: stop -g REGEX, --regex REGEX selected sequences are those matching regular expression. default: .* -v, --invert-match selected sequences are those not matching 'regions' argument. default: False -m, --mask-with-default-seq mask the FASTA file using --default-seq default: False -M, --mask-by-case mask the FASTA file by changing to lowercase. default: False -e HEADER_FUNCTION, --header-function HEADER_FUNCTION python function to modify header lines e.g: "lambda x: x.split("|")[0]". default: None --no-rebuild do not rebuild the .fai index even if it is out of date. default: False --version print pyfaidx version number Examples: .. code:: bash $ faidx tests/data/genes.fasta NM_001282543.1:201-210 NM_001282543.1:300-320 >NM_001282543.1:201-210 CTCGTTCCGC >NM_001282543.1:300-320 GTAATTGTGTAAGTGACTGCA $ faidx --full-names tests/data/genes.fasta NM_001282543.1:201-210 >NM_001282543.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 2, mRNA CTCGTTCCGC $ faidx --no-names tests/data/genes.fasta NM_001282543.1:201-210 NM_001282543.1:300-320 CTCGTTCCGC GTAATTGTGTAAGTGACTGCA $ faidx --complement tests/data/genes.fasta NM_001282543.1:201-210 >NM_001282543.1:201-210 (complement) GAGCAAGGCG $ faidx --reverse tests/data/genes.fasta NM_001282543.1:201-210 >NM_001282543.1:210-201 CGCCTTGCTC $ faidx --reverse --complement tests/data/genes.fasta NM_001282543.1:201-210 >NM_001282543.1:210-201 (complement) GCGGAACGAG $ faidx tests/data/genes.fasta NM_001282543.1 >NM_001282543.1:1-5466 CCCCGCCCCT........ .................. .................. .................. $ faidx --regex "^NM_00128254[35]" genes.fasta >NM_001282543.1 .................. .................. .................. >NM_001282545.1 .................. .................. .................. $ faidx --lazy tests/data/genes.fasta NM_001282543.1:5460-5480 >NM_001282543.1:5460-5480 AAAAAAANNNNNNNNNNNNNN $ faidx --lazy --default-seq='Q' tests/data/genes.fasta NM_001282543.1:5460-5480 >NM_001282543.1:5460-5480 AAAAAAAQQQQQQQQQQQQQQ $ faidx tests/data/genes.fasta --bed regions.bed ... $ faidx --transform chromsizes tests/data/genes.fasta AB821309.1 3510 KF435150.1 481 KF435149.1 642 NR_104216.1 4573 NR_104215.1 5317 NR_104212.1 5374 ... $ faidx --transform bed tests/data/genes.fasta AB821309.1 1 3510 KF435150.1 1 481 KF435149.1 1 642 NR_104216.1 1 4573 NR_104215.1 1 5317 NR_104212.1 1 5374 ... $ faidx --transform nucleotide tests/data/genes.fasta name start end A T C G N AB821309.1 1 3510 955 774 837 944 0 KF435150.1 1 481 149 120 103 109 0 KF435149.1 1 642 201 163 129 149 0 NR_104216.1 1 4573 1294 1552 828 899 0 NR_104215.1 1 5317 1567 1738 968 1044 0 NR_104212.1 1 5374 1581 1756 977 1060 0 ... faidx --transform transposed tests/data/genes.fasta AB821309.1 1 3510 ATGGTCAGCTGGGGTCGTTTCATC... KF435150.1 1 481 ATGACATCATTTTCCACCTCTGCT... KF435149.1 1 642 ATGACATCATTTTCCACCTCTGCT... NR_104216.1 1 4573 CCCCGCCCCTCTGGCGGCCCGCCG... NR_104215.1 1 5317 CCCCGCCCCTCTGGCGGCCCGCCG... NR_104212.1 1 5374 CCCCGCCCCTCTGGCGGCCCGCCG... ... $ faidx --split-files tests/data/genes.fasta $ ls AB821309.1.fasta NM_001282549.1.fasta XM_005249645.1.fasta KF435149.1.fasta NR_104212.1.fasta XM_005265507.1.fasta KF435150.1.fasta NR_104215.1.fasta XM_005265508.1.fasta NM_000465.3.fasta NR_104216.1.fasta XR_241079.1.fasta NM_001282543.1.fasta XM_005249642.1.fasta XR_241080.1.fasta NM_001282545.1.fasta XM_005249643.1.fasta XR_241081.1.fasta NM_001282548.1.fasta XM_005249644.1.fasta $ faidx --delimiter='_' tests/data/genes.fasta 000465.3 >000465.3 CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA ....... $ faidx --size-range 5500,6000 -i chromsizes tests/data/genes.fasta NM_000465.3 5523 $ faidx -m --bed regions.bed tests/data/genes.fasta ### Modifies tests/data/genes.fasta by masking regions using --default-seq character ### $ faidx -M --bed regions.bed tests/data/genes.fasta ### Modifies tests/data/genes.fasta by masking regions using lowercase characters ### $ faidx -e "lambda x: x.split('.')[0]" tests/data/genes.fasta -i bed AB821309 1 3510 KF435150 1 481 KF435149 1 642 NR_104216 1 4573 NR_104215 1 5317 ....... Similar syntax as ``samtools faidx`` A lower-level Faidx class is also available: .. code:: python >>> from pyfaidx import Faidx >>> fa = Faidx('genes.fa') # can return str with as_raw=True >>> fa.index OrderedDict([('AB821309.1', IndexRecord(rlen=3510, offset=12, lenc=70, lenb=71)), ('KF435150.1', IndexRecord(rlen=481, offset=3585, lenc=70, lenb=71)),... ]) >>> fa.index['AB821309.1'].rlen 3510 fa.fetch('AB821309.1', 1, 10) # these are 1-based genomic coordinates >AB821309.1:1-10 ATGGTCAGCT - If the FASTA file is not indexed, when ``Faidx`` is initialized the ``build_index`` method will automatically run, and the index will be written to "filename.fa.fai" with ``write_fai()``. where "filename.fa" is the original FASTA file. - Start and end coordinates are 1-based. Support for compressed FASTA ---------------------------- ``pyfaidx`` can create and read ``.fai`` indices for FASTA files that have been compressed using the `bgzip `_ tool from `samtools `_. ``bgzip`` writes compressed data in a ``BGZF`` format. ``BGZF`` is ``gzip`` compatible, consisting of multiple concatenated ``gzip`` blocks, each with an additional ``gzip`` header making it possible to build an index for rapid random access. I.e., files compressed with ``bgzip`` are valid ``gzip`` and so can be read by ``gunzip``. See `this description `_ for more details on ``bgzip``. Changelog --------- Please see the `releases `_ for a comprehensive list of version changes. Known issues ------------ I try to fix as many bugs as possible, but most of this work is supported by a single developer. Please check the `known issues `_ for bugs relevant to your work. Pull requests are welcome. Contributing ------------ Create a new Pull Request with one feature. If you add a new feature, please create also the relevant test. To get test running on your machine: - Create a new virtualenv and install the `dev-requirements.txt`. pip install -r dev-requirements.txt - Download the test data running: python tests/data/download_gene_fasta.py - Run the tests with pytests Acknowledgements ---------------- This project is freely licensed by the author, `Matthew Shirley `_, and was completed under the mentorship and financial support of Drs. `Sarah Wheelan `_ and `Vasan Yegnasubramanian `_ at the Sidney Kimmel Comprehensive Cancer Center in the Department of Oncology. .. |Travis| image:: https://travis-ci.com/mdshw5/pyfaidx.svg?branch=master :target: https://travis-ci.com/mdshw5/pyfaidx .. |CI| image:: https://github.com/mdshw5/pyfaidx/actions/workflows/main.yml/badge.svg?branch=master :target: https://github.com/mdshw5/pyfaidx/actions/workflows/main.yml .. |PyPI| image:: https://img.shields.io/pypi/v/pyfaidx.svg?branch=master :target: https://pypi.python.org/pypi/pyfaidx .. |Landscape| image:: https://landscape.io/github/mdshw5/pyfaidx/master/landscape.svg :target: https://landscape.io/github/mdshw5/pyfaidx/master :alt: Code Health .. |Coverage| image:: https://codecov.io/gh/mdshw5/pyfaidx/branch/master/graph/badge.svg :target: https://codecov.io/gh/mdshw5/pyfaidx .. |Depsy| image:: http://depsy.org/api/package/pypi/pyfaidx/badge.svg :target: http://depsy.org/package/python/pyfaidx .. |Appveyor| image:: https://ci.appveyor.com/api/projects/status/80ihlw30a003596w?svg=true :target: https://ci.appveyor.com/project/mdshw5/pyfaidx .. |Package| image:: https://github.com/mdshw5/pyfaidx/actions/workflows/pypi.yml/badge.svg :target: https://github.com/mdshw5/pyfaidx/actions/workflows/pypi.yml pyfaidx-0.6.4/dev-requirements.txt000066400000000000000000000001521417603162300172260ustar00rootroot00000000000000six pytest pytest-cov setuptools mock cython pysam requests coverage pyfasta pyvcf numpy biopython pyfaidx-0.6.4/pyfaidx/000077500000000000000000000000001417603162300146345ustar00rootroot00000000000000pyfaidx-0.6.4/pyfaidx/__init__.py000066400000000000000000001376721417603162300167650ustar00rootroot00000000000000# pylint: disable=R0913, R0914, C0301 """ Fasta file -> Faidx -> Fasta -> FastaRecord -> Sequence """ from __future__ import division import os import re import string import sys import shutil import warnings from collections import namedtuple from itertools import islice from math import ceil from os.path import getmtime from threading import Lock from pkg_resources import get_distribution from six import PY2, PY3, integer_types, string_types from six.moves import zip_longest try: from collections import OrderedDict except ImportError: #python 2.6 from ordereddict import OrderedDict __version__ = get_distribution("pyfaidx").version if sys.version_info > (3, ): buffer = memoryview dna_bases = re.compile(r'([ACTGNactgnYRWSKMDVHBXyrwskmdvhbx]+)') class KeyFunctionError(ValueError): """Raised if the key_function argument is invalid.""" class FastaIndexingError(Exception): """Raised if we encounter malformed FASTA that prevents indexing.""" class IndexNotFoundError(IOError): """Raised if read_fai cannot open the index file.""" class VcfIndexNotFoundError(IOError): """Raised if vcf cannot find a tbi file.""" class FastaNotFoundError(IOError): """Raised if the fasta file cannot be opened.""" class FetchError(IndexError): """Raised if a request to fetch a FASTA sequence cannot be fulfilled.""" class BedError(ValueError): """Indicates a malformed BED entry.""" class RegionError(Exception): # This exception class is currently unused, but has been retained for # backwards compatibility. """A region error occurred.""" class UnsupportedCompressionFormat(IOError): """ Raised when a FASTA file is given with a recognized but unsupported compression extension. """ class Sequence(object): """ name = FASTA entry name seq = FASTA sequence start, end = coordinates of subsequence (optional) comp = boolean switch for complement property """ def __init__(self, name='', seq='', start=None, end=None, comp=False): self.name = name self.seq = seq self.start = start self.end = end self.comp = comp assert isinstance(name, string_types) assert isinstance(seq, string_types) def __getitem__(self, n): """ Returns a sliced version of Sequence >>> x = Sequence(name='chr1', seq='ATCGTA', start=1, end=6) >>> x >chr1:1-6 ATCGTA >>> x[:3] >chr1:1-3 ATC >>> x[3:] >chr1:4-6 GTA >>> x[1:-1] >chr1:2-5 TCGT >>> x[::-1] >chr1:6-1 ATGCTA >>> x[::-3] >chr1 AC >>> x = Sequence(name='chr1', seq='ATCGTA', start=0, end=6) >>> x >chr1:0-6 ATCGTA >>> x[:3] >chr1:0-3 ATC >>> x[3:] >chr1:3-6 GTA >>> x[1:-1] >chr1:1-5 TCGT >>> x[::-1] >chr1:6-0 ATGCTA >>> x[::-3] >chr1 AC """ if self.start is None or self.end is None or len(self.seq) == 0: correction_factor = 0 elif len( self.seq ) == abs(self.end - self.start) + 1: # determine coordinate system one_based = True correction_factor = -1 elif len(self.seq) == abs(self.end - self.start): one_based = False correction_factor = 0 elif len(self.seq) != abs(self.end - self.start): raise ValueError( "Coordinates (Sequence.start=%s and Sequence.end=%s) imply a different length than Sequence.seq (len=%s). Did you modify Sequence.seq?" % (self.start, self.end, len(self.seq))) if isinstance(n, slice): slice_start, slice_stop, slice_step = n.indices(len(self)) if self.start is None or self.end is None: # there should never be self.start != self.end == None start = None end = None return self.__class__(self.name, self.seq[n], start, end, self.comp) self_end, self_start = (self.end, self.start) if abs(slice_step) > 1: start = None end = None elif slice_step == -1: # flip the coordinates when we reverse if slice_stop == -1: slice_stop = 0 start = self_end - slice_stop end = self_start + slice_stop #print(locals()) else: start = self_start + slice_start end = self_start + slice_stop + correction_factor return self.__class__(self.name, self.seq[n], start, end, self.comp) elif isinstance(n, integer_types): if n < 0: n = len(self) + n if self.start: return self.__class__(self.name, self.seq[n], self.start + n, self.start + n, self.comp) else: return self.__class__(self.name, self.seq[n], self.comp) def __str__(self): return self.seq def __neg__(self): """ Returns the reverse compliment of sequence >>> x = Sequence(name='chr1', seq='ATCGTA', start=1, end=6) >>> x >chr1:1-6 ATCGTA >>> y = -x >>> y >chr1:6-1 (complement) TACGAT >>> -y >chr1:1-6 ATCGTA """ return self[::-1].complement def __repr__(self): return '\n'.join([''.join(['>', self.fancy_name]), self.seq]) def __len__(self): """ >>> len(Sequence('chr1', 'ACT')) 3 """ return len(self.seq) def __eq__(self, other): """ >>> Sequence('chr1', 'ACT') == 'ACT' True """ return str(self) == str(other) @property def fancy_name(self): """ Return the fancy name for the sequence, including start, end, and complementation. >>> x = Sequence(name='chr1', seq='ATCGTA', start=1, end=6, comp=True) >>> x.fancy_name 'chr1:1-6 (complement)' """ name = self.name if self.start is not None and self.end is not None: name = ':'.join([name, '-'.join([str(self.start), str(self.end)])]) if self.comp: name += ' (complement)' return name @property def long_name(self): """ DEPRECATED: Use fancy_name instead. Return the fancy name for the sequence, including start, end, and complementation. >>> x = Sequence(name='chr1', seq='ATCGTA', start=1, end=6, comp=True) >>> x.long_name 'chr1:1-6 (complement)' """ msg = "The `Sequence.long_name` property is deprecated, and will be removed in future versions. Please use `Sequence.fancy_name` instead." warnings.warn(msg, DeprecationWarning, stacklevel=2) return self.fancy_name @property def complement(self): """ Returns the compliment of self. >>> x = Sequence(name='chr1', seq='ATCGTA') >>> x.complement >chr1 (complement) TAGCAT """ comp = self.__class__( self.name, complement(self.seq), start=self.start, end=self.end) comp.comp = False if self.comp else True return comp @property def reverse(self): """ Returns the reverse of self. >>> x = Sequence(name='chr1', seq='ATCGTA') >>> x.reverse >chr1 ATGCTA """ return self[::-1] @property def orientation(self): """ get the orientation forward=1, reverse=-1 >>> x = Sequence(name='chr1', seq='ATCGTA', start=1, end=6) >>> x.orientation 1 >>> x.complement.orientation is None True >>> x[::-1].orientation is None True >>> x = -x >>> x.orientation -1 """ if self.start < self.end and not self.comp: return 1 elif self.start > self.end and self.comp: return -1 else: return None @property def gc(self): """ Return the GC content of seq as a float >>> x = Sequence(name='chr1', seq='ATCGTA') >>> y = round(x.gc, 2) >>> y == 0.33 True """ g = self.seq.count('G') g += self.seq.count('g') c = self.seq.count('C') c += self.seq.count('c') return (g + c) / len(self.seq) class IndexRecord( namedtuple('IndexRecord', ['rlen', 'offset', 'lenc', 'lenb', 'bend', 'prev_bend'])): __slots__ = () def __getitem__(self, key): if type(key) == str: return getattr(self, key) return tuple.__getitem__(self, key) def __str__(self): return "{rlen:d}\t{offset:d}\t{lenc:d}\t{lenb:d}".format( **self._asdict()) def __len__(self): return self.rlen class Faidx(object): """ A python implementation of samtools faidx FASTA indexing """ def __init__(self, filename, default_seq=None, key_function=lambda x: x, as_raw=False, strict_bounds=False, read_ahead=None, mutable=False, split_char=None, duplicate_action="stop", filt_function=lambda x: True, one_based_attributes=True, read_long_names=False, sequence_always_upper=False, rebuild=True, build_index=True): """ filename: name of fasta file key_function: optional callback function which should return a unique key for the self.index dictionary when given rname. as_raw: optional parameter to specify whether to return sequences as a Sequence() object or as a raw string. Default: False (i.e. return a Sequence() object). """ self.filename = filename if filename.lower().endswith('.bgz') or filename.lower().endswith( '.gz'): # Only try to import Bio if we actually need the bgzf reader. try: from Bio import bgzf from Bio import __version__ as bgzf_version from packaging.version import Version if Version(bgzf_version) < Version('1.73'): raise ImportError except ImportError: raise ImportError( "BioPython >= 1.73 must be installed to read block gzip files.") else: self._fasta_opener = bgzf.open self._bgzf = True elif filename.lower().endswith('.bz2') or filename.lower().endswith( '.zip'): raise UnsupportedCompressionFormat( "Compressed FASTA is only supported in BGZF format. Use " "bgzip to compresss your FASTA.") else: self._fasta_opener = open self._bgzf = False try: self.file = self._fasta_opener(filename, 'r+b' if mutable else 'rb') except (ValueError, IOError) as e: if str(e).find('BGZF') > -1: raise UnsupportedCompressionFormat( "Compressed FASTA is only supported in BGZF format. Use " "the samtools bgzip utility (instead of gzip) to " "compress your FASTA.") else: raise FastaNotFoundError( "Cannot read FASTA file %s" % filename) self.indexname = filename + '.fai' self.read_long_names = read_long_names self.key_function = key_function try: key_fn_test = self.key_function( "TestingReturnType of_key_function") if not isinstance(key_fn_test, string_types): raise KeyFunctionError( "key_function argument should return a string, not {0}". format(type(key_fn_test))) except Exception as e: pass self.filt_function = filt_function assert duplicate_action in ("stop", "first", "last", "longest", "shortest", "drop") self.duplicate_action = duplicate_action self.as_raw = as_raw self.default_seq = default_seq if self._bgzf and self.default_seq is not None: raise FetchError( "The default_seq argument is not supported with using BGZF compression. Please decompress your FASTA file and try again." ) if self._bgzf: self.strict_bounds = True else: self.strict_bounds = strict_bounds self.split_char = split_char self.one_based_attributes = one_based_attributes self.sequence_always_upper = sequence_always_upper self.index = OrderedDict() self.lock = Lock() self.buffer = dict((('seq', None), ('name', None), ('start', None), ('end', None))) if not read_ahead or isinstance(read_ahead, integer_types): self.read_ahead = read_ahead elif not isinstance(read_ahead, integer_types): raise ValueError("read_ahead value must be int, not {0}".format( type(read_ahead))) self.mutable = mutable with self.lock: # lock around index generation so only one thread calls method try: if os.path.exists(self.indexname) and getmtime( self.indexname) >= getmtime(self.filename): self.read_fai() elif os.path.exists(self.indexname) and getmtime( self.indexname) < getmtime( self.filename) and not rebuild: self.read_fai() warnings.warn( "Index file {0} is older than FASTA file {1}.".format( self.indexname, self.filename), RuntimeWarning) elif build_index: self.build_index() self.read_fai() else: self.read_fai() except FastaIndexingError: self.file.close() os.remove(self.indexname + '.tmp') raise except Exception: # Handle potential exceptions other than 'FastaIndexingError' self.file.close() raise def __contains__(self, region): if not self.buffer['name']: return False name, start, end = region if self.buffer['name'] == name and self.buffer['start'] <= start and self.buffer['end'] >= end: return True else: return False def __repr__(self): return 'Faidx("%s")' % (self.filename) def _index_as_string(self): """ Returns the string representation of the index as iterable """ for k, v in self.index.items(): yield '{k}\t{v}\n'.format(k=k, v=str(v)) def read_fai(self): try: with open(self.indexname) as index: prev_bend = 0 drop_keys = [] for line in index: line = line.rstrip() rname, rlen, offset, lenc, lenb = line.split('\t') rlen, offset, lenc, lenb = map(int, (rlen, offset, lenc, lenb)) newlines = int(ceil(rlen / lenc) * (lenb - lenc)) if lenc else 0 bend = offset + newlines + rlen rec = IndexRecord(rlen, offset, lenc, lenb, bend, prev_bend) if self.read_long_names: rname = self._long_name_from_index_record(rec) if self.split_char: rname = filter(self.filt_function, self.key_function(rname).split( self.split_char)) else: # filter must act on an iterable rname = filter(self.filt_function, [self.key_function(rname)]) for key in rname: # mdshw5/pyfaidx/issues/64 if key in self.index: if self.duplicate_action == "stop": raise ValueError('Duplicate key "%s"' % key) elif self.duplicate_action == "first": continue elif self.duplicate_action == "last": self.index[key] = rec elif self.duplicate_action == "longest": if len(rec) > len(self.index[key]): self.index[key] = rec elif self.duplicate_action == "shortest": if len(rec) < len(self.index[key]): self.index[key] = rec elif self.duplicate_action == "drop": if key not in drop_keys: drop_keys.append(key) else: self.index[key] = rec prev_bend = bend for dup in drop_keys: self.index.pop(dup, None) except IOError: raise IndexNotFoundError( "Could not read index file %s" % self.indexname) def build_index(self): try: with self._fasta_opener(self.filename, 'rb') as fastafile: with open(self.indexname + '.tmp', 'w') as indexfile: rname = None # reference sequence name offset = 0 # binary offset of end of current line rlen = 0 # reference character length blen = 0 # binary line length (includes newline) clen = 0 # character line length bad_lines = [] # lines > || < than blen thisoffset = offset valid_entry = False lastline = None for i, line in enumerate(fastafile): line_blen = len(line) line = line.decode() line_clen = len(line.rstrip('\n\r')) lastline = i # write an index line if line[0] == '>': valid_entry = check_bad_lines( rname, bad_lines, i - 1) if valid_entry and i > 0: indexfile.write( "{0}\t{1:d}\t{2:d}\t{3:d}\t{4:d}\n".format( rname, rlen, thisoffset, clen, blen)) elif not valid_entry: raise FastaIndexingError( "Line length of fasta" " file is not " "consistent! " "Inconsistent line found in >{0} at " "line {1:n}.".format( rname, bad_lines[0][0] + 1)) blen = 0 rlen = 0 clen = 0 bad_lines = [] try: # must catch empty deflines (actually these might be okay: https://github.com/samtools/htslib/pull/258) rname = line.rstrip('\n\r')[1:].split()[ 0] # duplicates are detected with read_fai except IndexError: raise FastaIndexingError( "Bad sequence name %s at line %s." % (line.rstrip('\n\r'), str(i))) offset += line_blen thisoffset = fastafile.tell( ) if self._bgzf else offset else: # check line and advance offset if not blen: blen = line_blen if not clen: clen = line_clen # only one short line should be allowed # before we hit the next header, and it # should be the last line in the entry if line_blen != blen or line_blen == 1: bad_lines.append((i, line_blen)) offset += line_blen rlen += line_clen # check that we find at least 1 valid FASTA record if not valid_entry: raise FastaIndexingError( "The FASTA file %s does not contain a valid sequence. " "Check that sequence definition lines start with '>'." % self.filename) # write the final index line, if there is one. if lastline is not None: valid_entry = check_bad_lines( rname, bad_lines, lastline ) # advance index since we're at the end of the file if valid_entry: indexfile.write( "{0:s}\t{1:d}\t{2:d}\t{3:d}\t{4:d}\n".format( rname, rlen, thisoffset, clen, blen)) else: raise FastaIndexingError( "Line length of fasta" " file is not " "consistent! " "Inconsistent line found in >{0} at " "line {1:n}.".format(rname, bad_lines[0][0] + 1)) shutil.move(self.indexname + '.tmp', self.indexname) except (IOError, FastaIndexingError) as e: if isinstance(e, IOError): raise IOError( "%s may not be writable. Please use Fasta(rebuild=False), Faidx(rebuild=False) or faidx --no-rebuild." % self.indexname) elif isinstance(e, FastaIndexingError): raise e def write_fai(self): with self.lock: with open(self.indexname, 'w') as outfile: for line in self._index_as_string(): outfile.write(line) def from_buffer(self, start, end): i_start = start - self.buffer['start'] # want [0, 1) coordinates from [1, 1] coordinates i_end = end - self.buffer['start'] + 1 return self.buffer['seq'][i_start:i_end] def fill_buffer(self, name, start, end): try: seq = self.from_file(name, start, end) self.buffer['seq'] = seq self.buffer['start'] = start self.buffer['end'] = end self.buffer['name'] = name except FetchError: pass def fetch(self, name, start, end): if self.read_ahead and not (name, start, end) in self: self.fill_buffer(name, start, end + self.read_ahead) if (name, start, end) in self: seq = self.from_buffer(start, end) else: seq = self.from_file(name, start, end) return self.format_seq(seq, name, start, end) def from_file(self, rname, start, end, internals=False): """ Fetch the sequence ``[start:end]`` from ``rname`` using 1-based coordinates 1. Count newlines before start 2. Count newlines to end 3. Difference of 1 and 2 is number of newlines in [start:end] 4. Seek to start position, taking newlines into account 5. Read to end position, return sequence """ assert start == int(start) assert end == int(end) try: i = self.index[rname] except KeyError: raise FetchError("Requested rname {0} does not exist! " "Please check your FASTA file.".format(rname)) start0 = start - 1 # make coordinates [0,1) if start0 < 0: raise FetchError( "Requested start coordinate must be greater than 1.") seq_len = end - start0 # Calculate offset (https://github.com/samtools/htslib/blob/20238f354894775ed22156cdd077bc0d544fa933/faidx.c#L398) newlines_before = int( (start0 - 1) / i.lenc) if start0 > 0 and i.lenc else 0 newlines_to_end = int(end / i.lenc) if i.lenc else 0 newlines_inside = newlines_to_end - newlines_before newline_blen = i.lenb - i.lenc seq_blen = newlines_inside * newline_blen + seq_len bstart = i.offset + newlines_before * newline_blen + start0 if seq_blen < 0 and self.strict_bounds: raise FetchError("Requested coordinates start={0:n} end={1:n} are " "invalid.\n".format(start, end)) elif end > i.rlen and self.strict_bounds: raise FetchError("Requested end coordinate {0:n} outside of {1}. " "\n".format(end, rname)) with self.lock: if self._bgzf: # We can't add to virtual offsets, so we need to read from the beginning of the record and trim the beginning if needed self.file.seek(i.offset) chunk = start0 + (newlines_before * newline_blen) + (newlines_inside * newline_blen) + seq_len chunk_seq = self.file.read(chunk).decode() seq = chunk_seq[start0 + newlines_before:] else: self.file.seek(bstart) # If the requested sequence exceeds len(FastaRecord), return as much as possible if bstart + seq_blen > i.bend and not self.strict_bounds: seq_blen = i.bend - bstart # Otherwise it should be safe to read the sequence if seq_blen > 0: seq = self.file.read(seq_blen).decode() # If the requested sequence is negative, we will pad the empty string with default_seq. # This was changed to support #155 with strict_bounds=True. elif seq_blen <= 0: seq = '' if not internals: return seq.replace('\n', '').replace('\r', '') else: return (seq, locals()) def format_seq(self, seq, rname, start, end): start0 = start - 1 if len( seq ) < end - start0 and self.default_seq: # Pad missing positions with default_seq pad_len = end - start0 - len(seq) seq = ''.join([seq, pad_len * self.default_seq]) else: # Return less than requested range end = start0 + len(seq) if self.sequence_always_upper: seq = seq.upper() if not self.one_based_attributes: start = start0 if self.as_raw: return seq else: return Sequence( name=rname, start=int(start), end=int(end), seq=seq) def to_file(self, rname, start, end, seq): """ Write sequence in region from start-end, overwriting current contents of the FASTA file. """ if not self.mutable: raise IOError( "Write attempted for immutable Faidx instance. Set mutable=True to modify original FASTA." ) file_seq, internals = self.from_file(rname, start, end, internals=True) with self.lock: if len(seq) != len(file_seq) - internals['newlines_inside']: raise IOError( "Specified replacement sequence needs to have the same length as original." ) elif len(seq) == len(file_seq) - internals['newlines_inside']: line_len = internals['i'].lenc if '\r\n' in file_seq: newline_char = '\r\n' elif '\r' in file_seq: newline_char = '\r' else: newline_char = '\n' self.file.seek(internals['bstart']) if internals['newlines_inside'] == 0: self.file.write(seq.encode()) elif internals['newlines_inside'] > 0: n = 0 m = file_seq.index(newline_char) while m < len(seq): self.file.write(''.join([seq[n:m], newline_char]).encode()) n = m m += line_len self.file.write(seq[n:].encode()) self.file.flush() def get_long_name(self, rname): """ Return the full sequence defline and description. External method using the self.index """ index_record = self.index[rname] if self._bgzf: return self._long_name_from_bgzf(index_record) else: return self._long_name_from_index_record(index_record) def _long_name_from_index_record(self, index_record): """ Return the full sequence defline and description. Internal method passing IndexRecord """ prev_bend = index_record.prev_bend defline_end = index_record.offset self.file.seek(prev_bend) return self.file.read(defline_end - prev_bend).decode()[1:-1] def _long_name_from_bgzf(self, index_record): """ Return the full sequence defline and description. Internal method passing IndexRecord This method is present for compatibility with BGZF files, since we cannot subtract their offsets. It may be possible to implement a more efficient method. """ raise NotImplementedError( "FastaRecord.long_name and Fasta(read_long_names=True) " "are not supported currently for BGZF compressed files.") prev_bend = index_record.prev_bend self.file.seek(prev_bend) defline = [] while True: chunk = self.file.read(4096).decode() defline.append(chunk) if '\n' in chunk or '\r' in chunk: break return ''.join(defline)[1:].split('\n\r')[0] def close(self): self.__exit__() def __enter__(self): return self def __exit__(self, *args): self.file.close() class FastaRecord(object): __slots__ = ['name', '_fa'] def __init__(self, name, fa): self.name = name self._fa = fa def __getitem__(self, n): """Return sequence from region [start, end) Coordinates are 0-based, end-exclusive.""" try: if isinstance(n, slice): start, stop, step = n.start, n.stop, n.step if start is None: start = 0 if stop is None: stop = len(self) if stop < 0: stop = len(self) + stop if start < 0: start = len(self) + start return self._fa.get_seq(self.name, start + 1, stop)[::step] elif isinstance(n, integer_types): if n < 0: n = len(self) + n return self._fa.get_seq(self.name, n + 1, n + 1) except FetchError: raise def __iter__(self): """ Construct a line-based generator that respects the original line lengths. """ line_len = self._fa.faidx.index[self.name].lenc start = 0 while True: end = start + line_len if end < len(self): yield self[start:end] else: yield self[start:] return start += line_len def __reversed__(self): """ Reverse line-based generator """ line_len = self._fa.faidx.index[self.name].lenc # have to determine last line length last_line = len(self) % line_len if last_line == 0: last_line = line_len end = len(self) start = end - last_line while True: if start > 0: yield self[start:end][::-1] else: yield self[:end][::-1] return if end == len(self): # first iteration end -= last_line else: end -= line_len start = end - line_len def __repr__(self): return 'FastaRecord("%s")' % (self.name) def __len__(self): return self._fa.faidx.index[self.name].rlen @property def unpadded_len(self): """ Returns the length of the contig without 5' and 3' N padding. Functions the same as contigNonNSize in Fasta.cpp at https://github.com/Illumina/hap.py/blob/master/src/c%2B%2B/lib/tools/Fasta.cpp#L284 """ length = len(self) stop = False for line in iter(self): if stop: break if isinstance(line, Sequence): line = line.seq for base in line.upper(): if base == 'N': length -= 1 else: stop = True break stop = False for line in reversed(self): if stop: break if isinstance(line, Sequence): line = line.seq for base in line.upper(): if base == 'N': length -= 1 else: stop = True break return length def __str__(self): return str(self[:]) @property def variant_sites(self): if isinstance(self._fa, FastaVariant): pos = [] var = self._fa.vcf.fetch(self.name, 0, len(self)) for site in var: if site.is_snp: sample = site.genotype(self._fa.sample) if sample.gt_type in self._fa.gt_type and eval( self._fa.filter): pos.append(site.POS) return tuple(pos) else: raise NotImplementedError( "variant_sites() only valid for FastaVariant.") @property def long_name(self): """ Read the actual defline from self._fa.faidx mdshw5/pyfaidx#54 """ return self._fa.faidx.get_long_name(self.name) @property def __array_interface__(self): """ Implement numpy array interface for issue #139""" return { 'shape': (len(self), ), 'typestr': '|S1', 'version': 3, 'data': buffer(str(self).encode('ascii')) } class MutableFastaRecord(FastaRecord): def __init__(self, name, fa): super(MutableFastaRecord, self).__init__(name, fa) if self._fa.faidx._fasta_opener != open: raise UnsupportedCompressionFormat( "BGZF compressed FASTA is not supported for MutableFastaRecord. " "Please decompress your FASTA file.") def __setitem__(self, n, value): """Mutate sequence in region [start, end) to value. Coordinates are 0-based, end-exclusive.""" try: if isinstance(n, slice): start, stop, step = n.start, n.stop, n.step if step: raise IndexError("Step operator is not implemented.") if not start: start = 0 if not stop: stop = len(self) if stop < 0: stop = len(self) + stop if start < 0: start = len(self) + start self._fa.faidx.to_file(self.name, start + 1, stop, value) elif isinstance(n, integer_types): if n < 0: n = len(self) + n return self._fa.faidx.to_file(self.name, n + 1, n + 1, value) except (FetchError, IOError): raise class Fasta(object): def __init__(self, filename, default_seq=None, key_function=lambda x: x, as_raw=False, strict_bounds=False, read_ahead=None, mutable=False, split_char=None, filt_function=lambda x: True, one_based_attributes=True, read_long_names=False, duplicate_action="stop", sequence_always_upper=False, rebuild=True, build_index=True): """ An object that provides a pygr compatible interface. filename: name of fasta file """ self.filename = filename self.mutable = mutable self.faidx = Faidx( filename, key_function=key_function, as_raw=as_raw, default_seq=default_seq, strict_bounds=strict_bounds, read_ahead=read_ahead, mutable=mutable, split_char=split_char, filt_function=filt_function, one_based_attributes=one_based_attributes, read_long_names=read_long_names, duplicate_action=duplicate_action, sequence_always_upper=sequence_always_upper, rebuild=rebuild, build_index=build_index) _record_constructor = MutableFastaRecord if self.mutable else FastaRecord self.records = OrderedDict([(rname, _record_constructor(rname, self)) for rname in self.faidx.index.keys()]) def __contains__(self, rname): """Return True if genome contains record.""" return rname in self.faidx.index def __getitem__(self, rname): """Return a chromosome by its name, or its numerical index.""" if isinstance(rname, integer_types): rname = next(islice(self.records.keys(), rname, None)) try: return self.records[rname] except KeyError: raise KeyError("{0} not in {1}.".format(rname, self.filename)) def __repr__(self): return 'Fasta("%s")' % (self.filename) def __iter__(self): return iter(self.records.values()) def __len__(self): """Return the cumulative length of all FastaRecords in self.records.""" return sum(len(record) for record in self) def get_seq(self, name, start, end, rc=False): """Return a sequence by record name and interval [start, end). Coordinates are 1-based, end-exclusive. If rc is set, reverse complement will be returned. """ # Get sequence from real genome object and save result. seq = self.faidx.fetch(name, start, end) if rc: return -seq else: return seq def get_spliced_seq(self, name, intervals, rc=False): """Return a sequence by record name and list of intervals Interval list is an iterable of [start, end]. Coordinates are 1-based, end-exclusive. If rc is set, reverse complement will be returned. """ # Get sequence for all intervals chunks = [self.faidx.fetch(name, s, e) for s, e in intervals] start = chunks[0].start end = chunks[-1].end # reverce complement if rc: seq = "".join([(-chunk).seq for chunk in chunks[::-1]]) else: seq = "".join([chunk.seq for chunk in chunks]) # Sequence coordinate validation wont work since # len(Sequence.seq) != end - start return Sequence(name=name, seq=seq, start=None, end=None) def keys(self): return self.records.keys() def values(self): return self.records.values() def items(self): return self.records.items() def close(self): self.__exit__() def __enter__(self): return self def __exit__(self, *args): self.faidx.__exit__(*args) class FastaVariant(Fasta): """ Return consensus sequence from FASTA and VCF inputs """ expr = set(('>', '<', '=', '!')) def __init__(self, filename, vcf_file, sample=None, het=True, hom=True, call_filter=None, **kwargs): super(FastaVariant, self).__init__(filename, **kwargs) try: import pysam except ImportError: raise ImportError("pysam must be installed for FastaVariant.") try: import vcf except ImportError: raise ImportError("PyVCF must be installed for FastaVariant.") if call_filter is not None: try: key, expr, value = call_filter.split() # 'GQ > 30' except IndexError: raise ValueError( "call_filter must be a string in the format 'XX <>!= NN'") assert all([x in self.expr for x in list(expr)]) assert all([x in string.ascii_uppercase for x in list(key)]) assert all([x in string.printable for x in list(value)]) self.filter = "sample['{key}'] {expr} {value}".format(**locals()) else: self.filter = 'True' if os.path.exists(vcf_file): self.vcf = vcf.Reader(filename=vcf_file) else: raise IOError("File {0} does not exist.".format(vcf_file)) if not os.path.exists(vcf_file + '.tbi'): raise VcfIndexNotFoundError("File {0} has not tabix index.".format(vcf_file)) if sample is not None: self.sample = sample else: self.sample = self.vcf.samples[0] if len(self.vcf.samples) > 1 and sample is None: warnings.warn("Using sample {0} genotypes.".format( self.sample), RuntimeWarning) if het and hom: self.gt_type = set((1, 2)) elif het: self.gt_type = set((1, )) elif hom: self.gt_type = set((2, )) else: self.gt_type = set() def __repr__(self): return 'FastaVariant("%s", "%s", gt="%s")' % (self.filename, self.vcf.filename, str(self.gt_type)) def get_seq(self, name, start, end): """Return a sequence by record name and interval [start, end). Replace positions with polymorphism with variant. Coordinates are 0-based, end-exclusive. """ seq = self.faidx.fetch(name, start, end) if self.faidx.as_raw: seq_mut = list(seq) del seq else: seq_mut = list(seq.seq) del seq.seq try: var = self.vcf.fetch(name, start - 1, end) for record in var: if record.is_snp: # skip indels sample = record.genotype(self.sample) if sample.gt_type in self.gt_type and eval(self.filter): alt = record.ALT[0] i = (record.POS - 1) - (start - 1) seq_mut[i:i + len(alt)] = str(alt) except ValueError as e: # Can be raised if name is not part of tabix for vcf if self.vcf._tabix is not None and name not in self.vcf._tabix.contigs: # The chromosome name is not part of the vcf # The sequence returned is the same as the reference pass else: # This is something else raise e # slice the list in case we added an MNP in last position if self.faidx.as_raw: return ''.join(seq_mut[:end - start + 1]) else: seq.seq = ''.join(seq_mut[:end - start + 1]) return seq def wrap_sequence(n, sequence, fillvalue=''): args = [iter(sequence)] * n for line in zip_longest(fillvalue=fillvalue, *args): yield ''.join(line + ("\n", )) # To take a complement, we map each character in the first string in this pair # to the corresponding character in the second string. complement_map = ('ACTGNactgnYRWSKMDVHBXyrwskmdvhbx', 'TGACNtgacnRYWSMKHBDVXrywsmkhbdvx') invalid_characters_set = set( chr(x) for x in range(256) if chr(x) not in complement_map[0]) invalid_characters_string = ''.join(invalid_characters_set) if PY3: complement_table = str.maketrans(complement_map[0], complement_map[1], invalid_characters_string) translate_arguments = (complement_table, ) elif PY2: complement_table = string.maketrans(complement_map[0], complement_map[1]) translate_arguments = (complement_table, invalid_characters_string) def complement(seq): """ Returns the complement of seq. >>> seq = 'ATCGTA' >>> complement(seq) 'TAGCAT' """ seq = str(seq) result = seq.translate(*translate_arguments) if len(result) != len(seq): first_invalid_position = next( i for i in range(len(seq)) if seq[i] in invalid_characters_set) raise ValueError( "Sequence contains non-DNA character '{0}' at position {1:n}\n". format(seq[first_invalid_position], first_invalid_position + 1)) return result def translate_chr_name(from_name, to_name): chr_name_map = dict(zip(from_name, to_name)) def map_to_function(rname): return chr_name_map[rname] return map_to_function def bed_split(bed_entry): try: rname, start, end = bed_entry.rstrip().split()[:3] except (IndexError, ValueError): raise BedError('Malformed BED entry! {0}\n'.format(bed_entry.rstrip())) start, end = (int(start), int(end)) return (rname, start, end) def ucsc_split(region): try: rname, interval = region.split(':') except ValueError: rname = region interval = None try: start, end = interval.split('-') start, end = (int(start) - 1, int(end)) except (AttributeError, ValueError): start, end = (None, None) return (rname, start, end) def check_bad_lines(rname, bad_lines, i): """ Find inconsistent line lengths in the middle of an entry. Allow blank lines between entries, and short lines occurring at the last line of an entry. Returns boolean validating the entry. >>> check_bad_lines('chr0', [(10, 79)], 10) True >>> check_bad_lines('chr0', [(9, 79)], 10) False >>> check_bad_lines('chr0', [(9, 79), (10, 1)], 10) True """ if len(bad_lines) == 0: return True elif len(bad_lines) == 1: if bad_lines[0][0] == i: # must be last line return True else: return False elif len(bad_lines) == 2: if bad_lines[0][0] == i: # must not be last line return False elif bad_lines[1][0] == i and bad_lines[1][1] == 1: # blank last line if bad_lines[0][0] + 1 == i and bad_lines[0][1] > 1: # non-blank line return True else: return False if len(bad_lines) > 2: return False raise RuntimeError("Unhandled exception during fasta indexing at entry " + rname + \ "Please report this issue at https://github.com/mdshw5/pyfaidx/issues " + \ str(bad_lines)) def get_valid_filename(s): """ From https://github.com/django/django/blob/efc3e32d6d7fb9bb41be73b80c8607b653c1fbd6/django/utils/text.py#L222-L232 Return the given string converted to a string that can be used for a clean filename. Remove leading and trailing spaces; convert other spaces to underscores; and remove anything that is not an alphanumeric, dash, underscore, or dot. >>> get_valid_filename("HPV16_144-1.fa") 'HPV16_144-1.fa' >>> get_valid_filename("chromosome 6.fa") 'chromosome_6.fa' """ s = str(s).strip().replace(' ', '_') return re.sub(r'(?u)[^-\w.]', '', s) if __name__ == "__main__": import doctest doctest.testmod() pyfaidx-0.6.4/pyfaidx/cli.py000066400000000000000000000376751417603162300157770ustar00rootroot00000000000000#!/usr/bin/env python import argparse import sys import os.path import re from pyfaidx import Fasta, wrap_sequence, FetchError, ucsc_split, bed_split, get_valid_filename from collections import defaultdict def write_sequence(args): _, ext = os.path.splitext(args.fasta) if ext: ext = ext[1:] # remove the dot from extension filt_function = re.compile(args.regex).search if args.invert_match: filt_function = lambda x: not re.compile(args.regex).search(x) fasta = Fasta(args.fasta, default_seq=args.default_seq, key_function=eval(args.header_function), strict_bounds=not args.lazy, split_char=args.delimiter, filt_function=filt_function, read_long_names=args.long_names, rebuild=not args.no_rebuild) regions_to_fetch, split_function = split_regions(args) if not regions_to_fetch: regions_to_fetch = fasta.keys() header = False for region in regions_to_fetch: name, start, end = split_function(region) if args.size_range: if start is not None and end is not None: sequence_len = end - start else: sequence_len = len(fasta[name]) if args.size_range[0] > sequence_len or args.size_range[1] < sequence_len: continue if args.split_files: # open output file based on sequence name filename = '.'.join(str(e) for e in (name, start, end, ext) if e) filename = get_valid_filename(filename) outfile = open(filename, 'w') elif args.out: outfile = args.out else: outfile = sys.stdout try: if args.transform: if not header and args.transform == 'nucleotide': outfile.write("name\tstart\tend\tA\tT\tC\tG\tN\tothers\n") header = True outfile.write(transform_sequence(args, fasta, name, start, end)) else: for line in fetch_sequence(args, fasta, name, start, end): outfile.write(line) except FetchError as e: raise FetchError(str(e) + " Try setting --lazy.\n") if args.split_files: outfile.close() fasta.__exit__() def fetch_sequence(args, fasta, name, start=None, end=None): try: line_len = fasta.faidx.index[name].lenc if args.auto_strand and start > end and start is not None and end is not None: # flip (0, 1] coordinates sequence = fasta[name][end - 1:start + 1] sequence = sequence.reverse.complement else: sequence = fasta[name][start:end] except KeyError: sys.stderr.write("warning: {name} not found in file\n".format(**locals())) return if args.complement: sequence = sequence.complement if args.reverse: sequence = sequence.reverse if args.no_output: return if args.no_names: pass else: if (start or end) and not args.no_coords: yield ''.join(['>', sequence.fancy_name, '\n']) else: yield ''.join(['>', sequence.name, '\n']) for line in wrap_sequence(line_len, sequence.seq): yield line def mask_sequence(args): fasta = Fasta(args.fasta, mutable=True, split_char=args.delimiter) regions_to_fetch, split_function = split_regions(args) for region in regions_to_fetch: rname, start, end = split_function(region) if args.mask_with_default_seq: if start and end: span = end - start elif not start and not end: span = len(fasta[rname]) else: span = len(fasta[rname][start:end]) fasta[rname][start:end] = span * args.default_seq elif args.mask_by_case: fasta[rname][start:end] = fasta[rname][start:end].lowercase() def split_regions(args): if args.bed: regions_to_fetch = args.bed split_function = bed_split else: regions_to_fetch = args.regions split_function = ucsc_split return (regions_to_fetch, split_function) def transform_sequence(args, fasta, name, start=None, end=None): line_len = fasta.faidx.index[name].lenc s = fasta[name][start:end] if args.complement: s = s.complement if args.reverse: s = s.reverse if args.no_output: return if args.transform == 'bed': return '{name}\t{start}\t{end}\n'.format(name=s.name, start=s.start - 1 , end=s.end) elif args.transform == 'chromsizes': return '{name}\t{length}\n'.format(name=s.name, length=len(s)) elif args.transform == 'nucleotide': ss = str(s).upper() nucs = defaultdict(int) nucs.update([(c, ss.count(c)) for c in set(ss)]) A = nucs.pop('A', 0) T = nucs.pop('T', 0) C = nucs.pop('C', 0) G = nucs.pop('G', 0) N = nucs.pop('N', 0) others = '|'.join([':'.join((k, str(v))) for k, v in nucs.items()]) return '{sname}\t{sstart}\t{send}\t{A}\t{T}\t{C}\t{G}\t{N}\t{others}\n'.format(sname=s.name, sstart=s.start, send=s.end, **locals()) elif args.transform == 'transposed': return '{name}\t{start}\t{end}\t{seq}\n'.format(name=s.name, start=s.start, end=s.end, seq=str(s)) def main(ext_args=None): from pyfaidx import __version__ parser = argparse.ArgumentParser(description="Fetch sequences from FASTA. If no regions are specified, all entries in the input file are returned. Input FASTA file must be consistently line-wrapped, and line wrapping of output is based on input line lengths.", epilog="Please cite: Shirley MD, Ma Z, Pedersen BS, Wheelan SJ. (2015) Efficient \"pythonic\" access to FASTA files using pyfaidx. PeerJ PrePrints 3:e1196 https://dx.doi.org/10.7287/peerj.preprints.970v1") parser.add_argument('fasta', type=str, help='FASTA file') parser.add_argument('regions', type=str, nargs='*', help="space separated regions of sequence to fetch e.g. chr1:1-1000") _input = parser.add_argument_group('input options') output = parser.add_argument_group('output options') header = parser.add_argument_group('header options') _input.add_argument('-b', '--bed', type=argparse.FileType('r'), help="bed file of regions (zero-based start coordinate)") output.add_argument('-o', '--out', type=argparse.FileType('w'), help="output file name (default: stdout)") output.add_argument('-i', '--transform', type=str, choices=('bed', 'chromsizes', 'nucleotide', 'transposed'), help="transform the requested regions into another format. default: %(default)s") output.add_argument('-c', '--complement', action="store_true", default=False, help="complement the sequence. default: %(default)s") output.add_argument('-r', '--reverse', action="store_true", default=False, help="reverse the sequence. default: %(default)s") output.add_argument('-y', '--auto-strand', action="store_true", default=False, help="reverse complement the sequence when start > end coordinate. default: %(default)s") output.add_argument('-a', '--size-range', type=parse_size_range, default=None, help='selected sequences are in the size range [low, high]. example: 1,1000 default: %(default)s') names = header.add_mutually_exclusive_group() names.add_argument('-n', '--no-names', action="store_true", default=False, help="omit sequence names from output. default: %(default)s") names.add_argument('-f', '--long-names', action="store_true", default=False, help="output full (long) names from the input fasta headers. default: headers are truncated after the first whitespace") header.add_argument('-t', '--no-coords', action="store_true", default=False, help="omit coordinates (e.g. chr:start-end) from output headers. default: %(default)s") output.add_argument('-x', '--split-files', action="store_true", default=False, help="write each region to a separate file (names are derived from regions)") output.add_argument('-l', '--lazy', action="store_true", default=False, help="fill in --default-seq for missing ranges. default: %(default)s") output.add_argument('-s', '--default-seq', type=check_seq_length, default=None, help='default base for missing positions and masking. default: %(default)s') header.add_argument('-d', '--delimiter', type=str, default=None, help='delimiter for splitting names to multiple values (duplicate names will be discarded). default: %(default)s') header.add_argument('-e', '--header-function', type=str, default='lambda x: x.split()[0]', help='python function to modify header lines e.g: "lambda x: x.split("|")[0]". default: %(default)s') header.add_argument('-u', '--duplicates-action', type=str, default="stop", choices=("stop", "first", "last", "longest", "shortest"), help='entry to take when duplicate sequence names are encountered. default: %(default)s') matcher = parser.add_argument_group('matching arguments') matcher.add_argument('-g', '--regex', type=str, default='.*', help='selected sequences are those matching regular expression. default: %(default)s') matcher.add_argument('-v', '--invert-match', action="store_true", default=False, help="selected sequences are those not matching 'regions' argument. default: %(default)s") masking = output.add_mutually_exclusive_group() masking.add_argument('-m', '--mask-with-default-seq', action="store_true", default=False, help="mask the FASTA file using --default-seq default: %(default)s") masking.add_argument('-M', '--mask-by-case', action="store_true", default=False, help="mask the FASTA file by changing to lowercase. default: %(default)s") output.add_argument('--no-output', action="store_true", default=False, help="do not output any sequence. default: %(default)s") parser.add_argument('--no-rebuild', action="store_true", default=False, help="do not rebuild the .fai index even if it is out of date. default: %(default)s") parser.add_argument('--version', action="version", version=__version__, help="print pyfaidx version number") # print help usage if no arguments are supplied if len(sys.argv)==1 and not ext_args: parser.print_help() sys.exit(1) elif ext_args: args = parser.parse_args(ext_args) else: args = parser.parse_args() if args.auto_strand: if args.complement: sys.stderr.write("--auto-strand and --complement are both set. Are you sure this is what you want?\n") if args.reverse: sys.stderr.write("--auto-strand and --reverse are both set. Are you sure this is what you want?\n") if args.mask_with_default_seq or args.mask_by_case: mask_sequence(args) else: write_sequence(args) def check_seq_length(value): if value is None: pass # default value elif len(value) != 1: # user is passing a single character raise argparse.ArgumentTypeError("--default-seq value must be a single character!") return value def parse_size_range(value): """ Size range argument should be in the form start,end and is end-inclusive. """ if value is None: return value try: start, end = value.replace(' ', '').replace('\t', '').split(',') except (TypeError, ValueError, IndexError): raise ValueError return (int(start), int(end)) class Counter(dict): '''Dict subclass for counting hashable objects. Sometimes called a bag or multiset. Elements are stored as dictionary keys and their counts are stored as dictionary values. ''' def __init__(self, iterable=None, **kwds): '''Create a new, empty Counter object. And if given, count elements from an input iterable. Or, initialize the count from another mapping of elements to their counts. ''' self.update(iterable, **kwds) def __missing__(self, key): return 0 def most_common(self, n=None): '''List the n most common elements and their counts from the most common to the least. If n is None, then list all element counts. ''' if n is None: return sorted(self.iteritems(), key=itemgetter(1), reverse=True) return nlargest(n, self.iteritems(), key=itemgetter(1)) def elements(self): '''Iterator over elements repeating each as many times as its count. If an element's count has been set to zero or is a negative number, elements() will ignore it. ''' for elem, count in self.iteritems(): for _ in repeat(None, count): yield elem # Override dict methods where the meaning changes for Counter objects. @classmethod def fromkeys(cls, iterable, v=None): raise NotImplementedError( 'Counter.fromkeys() is undefined. Use Counter(iterable) instead.') def update(self, iterable=None, **kwds): '''Like dict.update() but add counts instead of replacing them. Source can be an iterable, a dictionary, or another Counter instance. ''' if iterable is not None: if hasattr(iterable, 'iteritems'): if self: self_get = self.get for elem, count in iterable.iteritems(): self[elem] = self_get(elem, 0) + count else: dict.update(self, iterable) # fast path when counter is empty else: self_get = self.get for elem in iterable: self[elem] = self_get(elem, 0) + 1 if kwds: self.update(kwds) def copy(self): 'Like dict.copy() but returns a Counter instance instead of a dict.' return Counter(self) def __delitem__(self, elem): 'Like dict.__delitem__() but does not raise KeyError for missing values.' if elem in self: dict.__delitem__(self, elem) def __repr__(self): if not self: return '%s()' % self.__class__.__name__ items = ', '.join(map('%r: %r'.__mod__, self.most_common())) return '%s({%s})' % (self.__class__.__name__, items) # Multiset-style mathematical operations discussed in: # Knuth TAOCP Volume II section 4.6.3 exercise 19 # and at http://en.wikipedia.org/wiki/Multiset # # Outputs guaranteed to only include positive counts. # # To strip negative and zero counts, add-in an empty counter: # c += Counter() def __add__(self, other): '''Add counts from two counters. ''' if not isinstance(other, Counter): return NotImplemented result = Counter() for elem in set(self) | set(other): newcount = self[elem] + other[elem] if newcount > 0: result[elem] = newcount return result def __sub__(self, other): ''' Subtract count, but keep only results with positive counts. ''' if not isinstance(other, Counter): return NotImplemented result = Counter() for elem in set(self) | set(other): newcount = self[elem] - other[elem] if newcount > 0: result[elem] = newcount return result def __or__(self, other): '''Union is the maximum of value in either of the input counters. ''' if not isinstance(other, Counter): return NotImplemented _max = max result = Counter() for elem in set(self) | set(other): newcount = _max(self[elem], other[elem]) if newcount > 0: result[elem] = newcount return result def __and__(self, other): ''' Intersection is the minimum of corresponding counts. ''' if not isinstance(other, Counter): return NotImplemented _min = min result = Counter() if len(self) < len(other): self, other = other, self for elem in filter(self.__contains__, other): newcount = _min(self[elem], other[elem]) if newcount > 0: result[elem] = newcount return result if __name__ == "__main__": main() pyfaidx-0.6.4/scripts/000077500000000000000000000000001417603162300146575ustar00rootroot00000000000000pyfaidx-0.6.4/scripts/benchmark.py000066400000000000000000000221121417603162300171610ustar00rootroot00000000000000""" Taken from https://github.com/brentp/pyfasta/blob/452d1ce5406ed73c4149b6d201bc65e4aa8afc27/tests/bench.py """ from itertools import islice from tempfile import NamedTemporaryFile import pyfaidx import pyfasta import pysam from Bio import SeqIO import time import random import os import sys from subprocess import call, check_output import tracemalloc random.seed(1234) SEQLEN = 1000000 try: nreads = int(sys.argv[1]) except IndexError: nreads = 10000 read_len = 1000 def mean(s): return sum(s) / len(s) def make_intervals(nreads=nreads, seqlen=SEQLEN, readlen=read_len): for _ in range(nreads): start = random.randint(0, seqlen) end = min(seqlen, start + readlen) yield (start, end) intervals = tuple(make_intervals()) def make_long_fasta(filename, nrecs=250, seqlen=SEQLEN): headers = [] with open(filename, 'w') as f: s = "ACTGACTGAC" for i in range(nrecs): h = "header%i" % i headers.append(h) f.write('>' + h + '\n') for line in pyfaidx.wrap_sequence(80, s * (seqlen//10)): f.write(line) return headers def bgzip_compress_fasta(filename): from subprocess import call call(' '.join(['bgzip', '-c', filename, '>', filename + '.gz']), shell=True) def read_dict(f, headers): for k in islice(headers, 0, None, 10): for start, end in intervals: str(f[k][start:end]) def read_faidx(f, headers): for k in islice(headers, 0, None, 10): for start, end in intervals: str(f.fetch(k, start + 1, end)) def read_fastahack(f, headers): for k in islice(headers, 0, None, 10): for start, end in intervals: str(f.get_sub_sequence(k, start, end)) def read_pysam(f, headers): tstart = time.time() for k in islice(headers, 0, None, 100): for start, end in intervals: if time.time() - tstart > 300: print(k) tstart = time.time() str(pysam.faidx(f, '{0}:{1}-{2}'.format(k, start + 1, end))) def read_samtools(f, headers): tstart = time.time() for k in islice(headers, 0, None, 100): for start, end in intervals: if time.time() - tstart > 300: print(k) tstart = time.time() check_output(['samtools', 'faidx', f, '{0}:{1}-{2}'.format(k, start + 1, end)]) def main(): fa_file = NamedTemporaryFile() index = fa_file.name + '.fai' bgzf_index = fa_file.name + '.gz.fai' headers = make_long_fasta(fa_file.name) bgzip_compress_fasta(fa_file.name) def pyfaidx_fasta(n): print('timings for pyfaidx.Fasta') ti = [] tf = [] for _ in range(n): t = time.time() f = pyfaidx.Fasta(fa_file.name) ti.append(time.time() - t) t = time.time() read_dict(f, headers) tf.append(time.time() - t) os.remove(index) # profile memory usage and report timings tracemalloc.start() f = pyfaidx.Fasta(fa_file.name) read_dict(f, headers) os.remove(index) print(tracemalloc.get_traced_memory()) print(mean(ti)) print(mean(tf)/nreads/10*1000*1000) tracemalloc.stop() def pyfaidx_bgzf_faidx(n): print('timings for pyfaidx.Faidx with bgzf compression') ti = [] tf = [] for _ in range(n): t = time.time() f = pyfaidx.Faidx(fa_file.name + '.gz') ti.append(time.time() - t) t = time.time() read_faidx(f, headers) tf.append(time.time() - t) os.remove(index) # profile memory usage and report timings tracemalloc.start() f = pyfaidx.Faidx(fa_file.name + '.gz') read_faidx(f, headers) os.remove(index) print(tracemalloc.get_traced_memory()) print(mean(ti)) print(mean(tf)/nreads/10*1000*1000) tracemalloc.stop() def pyfaidx_faidx(n): print('timings for pyfaidx.Faidx') ti = [] tf = [] for _ in range(n): t = time.time() f = pyfaidx.Faidx(fa_file.name) ti.append(time.time() - t) t = time.time() read_faidx(f, headers) tf.append(time.time() - t) os.remove(index) # profile memory usage and report timings tracemalloc.start() f = pyfaidx.Faidx(fa_file.name) read_faidx(f, headers) os.remove(index) print(tracemalloc.get_traced_memory()) print(mean(ti)) print(mean(tf)/nreads/10*1000*1000) tracemalloc.stop() def fastahack_fetch(n): print('timings for fastahack.FastaHack') ti = [] tf = [] for _ in range(n): t = time.time() f = fastahack.FastaHack(fa_file.name) ti.append(time.time() - t) t = time.time() read_fastahack(f, headers) tf.append(time.time() - t) os.remove(index) # profile memory usage and report timings tracemalloc.start() f = fastahack.FastaHack(fa_file.name) read_fastahack(f, headers) os.remove(index) print(tracemalloc.get_traced_memory()) print(mean(ti)) print(mean(tf)/nreads/10*1000*1000) tracemalloc.stop() def pyfasta_fseek(n): print('timings for pyfasta.Fasta (fseek)') ti = [] tf = [] for _ in range(n): t = time.time() f = pyfasta.Fasta(fa_file.name, record_class=pyfasta.FastaRecord) ti.append(time.time() - t) t = time.time() read_dict(f, headers) tf.append(time.time() - t) os.remove(fa_file.name + '.flat') os.remove(fa_file.name + '.gdx') # profile memory usage and report timings tracemalloc.start() f = pyfasta.Fasta(fa_file.name, record_class=pyfasta.FastaRecord) read_dict(f, headers) os.remove(fa_file.name + '.flat') os.remove(fa_file.name + '.gdx') print(tracemalloc.get_traced_memory()) print(mean(ti)) print(mean(tf)/nreads/10*1000*1000) tracemalloc.stop() def pyfasta_fasta(n): print('timings for pyfasta.Fasta') ti = [] tf = [] for _ in range(n): t = time.time() f = pyfasta.Fasta(fa_file.name) ti.append(time.time() - t) t = time.time() read_dict(f, headers) tf.append(time.time() - t) os.remove(fa_file.name + '.flat') os.remove(fa_file.name + '.gdx') # profile memory usage and report timings tracemalloc.start() f = pyfasta.Fasta(fa_file.name) read_dict(f, headers) os.remove(fa_file.name + '.flat') os.remove(fa_file.name + '.gdx') print(tracemalloc.get_traced_memory()) print(mean(ti)) print(mean(tf)/nreads/10*1000*1000) tracemalloc.stop() def pysam_faidx(n): print('timings for pysam.faidx') ti = [] tf = [] for _ in range(n): t = time.time() pysam.faidx(fa_file.name) ti.append(time.time() - t) t = time.time() read_pysam(fa_file.name, headers) tf.append(time.time() - t) os.remove(index) # profile memory usage and report timings tracemalloc.start() pysam.faidx(fa_file.name) read_pysam(fa_file.name, headers) os.remove(index) print(tracemalloc.get_traced_memory()) print(mean(ti)) print(mean(tf)/nreads/10*1000*1000) tracemalloc.stop() def samtools_faidx(n): print('timings for samtools faidx') ti = [] tf = [] for _ in range(n): t = time.time() call(['samtools', 'faidx', fa_file.name]) ti.append(time.time() - t) t = time.time() read_samtools(fa_file.name, headers) tf.append(time.time() - t) os.remove(index) print(mean(ti)) print(mean(tf)/nreads/100*1000*1000) def seqio_read(n): print('timings for Bio.SeqIO') ti = [] tf = [] for _ in range(n): t = time.time() fh = open(fa_file.name) f = SeqIO.to_dict(SeqIO.parse(fh, "fasta")) ti.append(time.time() - t) t = time.time() read_dict(f, headers) tf.append(time.time() - t) fh.close() # profile memory usage and report timings tracemalloc.start() fh = open(fa_file.name) f = SeqIO.to_dict(SeqIO.parse(fh, "fasta")) read_dict(f, headers) fh.close() print(tracemalloc.get_traced_memory()) print(mean(ti)) print(mean(tf)/nreads/100*1000*1000) tracemalloc.stop() n = 3 pyfaidx_fasta(n) pyfaidx_faidx(n) pyfaidx_bgzf_faidx(n) pyfasta_fasta(n) pyfasta_fseek(n) seqio_read(n) #fastahack_fetch(n) samtools_faidx(n) pysam_faidx(n) if __name__ == "__main__": main() pyfaidx-0.6.4/setup.cfg000066400000000000000000000000771417603162300150150ustar00rootroot00000000000000[nosetests] with-doctest=1 verbosity=2 with-ignore-docstrings=1pyfaidx-0.6.4/setup.py000066400000000000000000000027451417603162300147120ustar00rootroot00000000000000from setuptools import setup from io import open import sys install_requires = ['six', 'setuptools >= 0.7'] if sys.version_info[0] == 2 and sys.version_info[1] == 6: install_requires.extend(['ordereddict', 'argparse']) setup( name='pyfaidx', provides='pyfaidx', author='Matthew Shirley', author_email='mdshw5@gmail.com', url='http://mattshirley.com', description='pyfaidx: efficient pythonic random ' 'access to fasta subsequences', long_description=open('README.rst', encoding='utf-8').read(), license='BSD', packages=['pyfaidx'], install_requires=install_requires, use_scm_version={"local_scheme": "no-local-version"}, setup_requires=['setuptools_scm'], entry_points={'console_scripts': ['faidx = pyfaidx.cli:main']}, classifiers=[ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: BSD License", "Environment :: Console", "Intended Audience :: Science/Research", "Natural Language :: English", "Operating System :: Unix", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Scientific/Engineering :: Bio-Informatics" ] ) pyfaidx-0.6.4/tests/000077500000000000000000000000001417603162300143325ustar00rootroot00000000000000pyfaidx-0.6.4/tests/data/000077500000000000000000000000001417603162300152435ustar00rootroot00000000000000pyfaidx-0.6.4/tests/data/chr17.hg19.part.fa000066400000000000000000001161101417603162300202130ustar00rootroot00000000000000>chr17 AAGCTTCTCACCCTGTTCCTGCATAGATAATTGCATGACAATTGCCTTGTCCCTGCTGAATGTGCTCTGGGGTCTCTGGGGTCTCACCCACGACCAACTCCCTGGGCCTGGCACCAGGGAGCTTAACAAACATCTGTCCAGCGAATACCTGCATCCCTAGAAGTGAAGCCACCGCCCAAAGACACGCCCATGTCCAGCTTAACCTGCATCCCTAGAAGTGAAGGCACCGCCCAAAGACACGCCCATGTCCAGCTTATTCTGCCCAGTTCCTCTCCAGAAAGGCTGCATGGTTGACACACAGTGcctgcgacaaagctgaatgctatcatttaaaaactccttgctggtttgagaggcagaaaatgatatctcatagttgctttactttgcatattttAAAATTGTGACTTTCATGGCATAAATAATACTGGTTTATTACAGAAGCACTAGAAAATGCATGTGGACAAAAGTTGGGATTAGGAGagagaaatgaagacatatgtccacacaaaaacctgttcattgcagctttctaccatcaccaaaaattgcaaacaaccacacgcccttcaactggggaactcatcaacaacaaacttgtggtttacccacacaatggaagaccacttagcaacaaaaaggaccaaactcctggtacatgcaactgacagatgaatctcaaacgcattcctccgtgtgaaagaagccggactcacagggcaacacactatctgactgtttcatgggaaagtctggaaacggcaacaccattgagacagaaaacaggtgagtggttgcctggggccagggaactttctggggtcatattctctgtgttgattctggtggtggaaacaagactgtCccagcctgggtgatacagcgagaccccatctctaccaaaaaattaaaaattagctgggcatggtggtgcatgcctgtagtcccagctattcacagtgctgaggtgggaagatgcttgagcccaggagttcaaggctgcaatgagctatgattgcgccactgcactttggcctggacaacagagcaaaaccctgtctctaaaaaaagaaaagaaaagaaaaaCTCACTGGATATGAATGATAcaggttgaggatccattatctgaaatgcttggaccagatgttttgaattttggattttttcatattttgtaatctttgcagtatatttaccagttcagcatccctaactcaaaaattcaaaaatctgaaatcccaaacgcgccaataagcattccctttgagcgtcatgtcggtgcttggaatgtttggggttttggatttacagctttgggacgctcaacctgTACCTCAATAAACCTGATTTTAAAAAAGTTTGGGGGGATTCCCCTAAGCCCGCCACCCGGAGACAGCGGATTTCCTTAGTTACTTACTATGCTCCTTGGCCATTTCTCTAGGTATTGGTATATTGTGTCTGCTGTGAACTGTCCTTGGCCTGTTTGGTGACGGGTGAGGAGCAGGGACAGAAGGGTCCTGCGTGCCCTGCCTTCACAAGCCCCTGGAAGGAAAGTTGTTTTGGGATCTCTGCACCCTCAGCCTGGACAACTTGTGCCCATCTGGTGACCCCTCACTCAGCCACCAGACTTCCACGACAGGCTCCAGCCTCGGCACCTTCAGCCATGGACAGTTCCGCCAGCGTTGCCCTCTGTTCTGCTGTTTTCTCTACCAGAAGTGCCCTTCCCTCCTCACCTGACCACTCTGGGGAAATCCCTCAGCACCCTCCCTGAGCATACCCTACTCTGGCACAAGCCCACCCTGCAAAGCCCCTGAGGCCCGCCCTGTGGCGTCTCTCCCTCCCTTGCTGTCAGGACAGTGGTCCTGGCCACCGGGGCTCACGGAGCCGCCCTGTGCCGTGTACCTCTGAGCCCTCTGCACAGTGCCTTCTGCTTGCCTGTGGCTTTGAGAAGAaaccccttctggttatacataagacagccagagaagggagttgcccagggtggcacagcacgttgctgccagTTACTGCCATTTTCACGGGCATGAAATGGAGATAACAACAGGAGCGACCGCACAGGCTGCTGAGCGCGTCACACGCAGCCATCGCGCAGCTCAGGGATATTACGTGTAACTCGACATGTCAGCGATTGTCACAGGCACTGCTACTCCTGGGGTTTTCCATCAAACCCTCAAGAGCTGGGCCTGGGGTCAACTTCCGGCCTGGGGAAACTGGGGCAAGTATCACCAGAGATGAGCTTTATAAAAATAATGGTGCTAgctgggcatggtggcttgcacctgtaatcccagcactttgggaggccgagctaggaggatcgtttgagtccagcagtttgagaccagcctggccaatacggcaaaacccagtctctacaaaaaatacaaaaaacaactagccaggcgtggtggtgcacacctgtagtcccagctactcaggaggctgagggggaaggactgcttgagcccaggagtttgaggctgctgtgagctgtgatcgcatcactgcattccagcccggtgacagagtgagtcactgtctcaaaaaagaaaggaagaaataaagaaaacaaATAAAAATAATAGTGCAGACAAAAGGCCTTGACCCATCTAGCTTTGGCCCTCAGCATCAACCGCTAGATACGTCCCTCCCTTTCTTCTGGGGCACAGGTCACACTCTCTTCCAGGTCTAGGATGCAGCTGAGGGGTGCCCCTCTTACCATCTAATCTGTGCCCTTATTTCCTCTGCTTTAGTGAGGAAGAGGCCCCTGGTCCATGAAGGGGCCTTTCAGAGACGGGGACCCCTGAGGAGCCCCGAGCAGCAGCCGTCGTGTCTCACCCAGGGTGTCTGAAACAGATGTGGAGGTCTCGGGTGAGGCGTGGCTCAGATACAGGGAGTGGCCCACAGCTCGGCCTGTCTTTGAAAGGCCACGTGACCTGGCCCACGGCTGGCAGGTGGGACCCAGCTGCAGGGGTCCAGCAGCACCCACAGCAGCCACCTGTGGCAGGGAGGAGCTTGTGGTACAGTGGACAGGCCCTGCCCAGATGGCCCCCCGCCTGCCTGTGGAAGTTGACCAGACCATCTGTCACAGCAGGTAAGACTCTGCTTTCTGGGCAACCCAGCAGGTGACCCTGGAATTCCTGTCCATCTGGCAGGTGGGCATTGAAACTGGTTTAAAAATGTCACACCATAggccgggcacagtggctcacgcctgtaatcccagccctttgggaggccagggtgggtggatcacttgaggtcaggagttcaagaccagcctggccaacatggtgaaaccccgtctactaaaaatacaaaaattagcctggcgtggtggcgcatgcctgtaatcccagctacttgggaagctgagggatgagaactgcttgaacctgggaggcagacgttgcagtgagctgagatcacgccactgcactccagcctgggcaacagagtaagactctgtctcaaaaaaaaaaaaaTCACACCATTTTGGCTTCAGATTGCATATCCTCCTGCAAGGATATATACGCGTGAAATTCAAGTCAATGACAAATCAGAAGAAAAAACATATATATACGCAAACCAGTATCCTACTGTGTGTGTCGTTTGTTGTGTTTTCGACAGCTGTCCGTGTTATAATAATTCctctagttcaaatttattcatttttaacttcatagtaccacattctacacactgcccatgtcccctcaagcttcccctggctcctgcaaccacaaatctactctctgcctctgtgggttgacctattctggacacgtcatagaaatagagtcctgcaacacgtggccgtctgtgtctggcttctctcgcttagcatcttgtttccaaggtcctcccacagtgtagcatgcacctgctacactccttcttagggctgatattccaCGCACCTGCTACACTCCTTCTTATGGCTGATATTCCACGCACCTGCTACACTCCTTCTTAGGGCTGATATTCCACACACCCGCTACACTCCTTCTTAGGGCTGATATTCCACGCACCCGCTACACTCCTTCTTAGGGCTGATATTCCACGCACCTGCTACACTCCTTCTTAGGGCTGATATTCCACGCACCTGCTACACTCCTTCTTAGGGCTGATATTCCACGCACCTGCTACACTCCTTCTTAGGGCTGATATTCCACGCACCTGCTACACTCCTTCTTATGACTGATATTCCACGCACCtgctacactccttcttagggctgatattccactgcagggacagacttcatttgtgtatccattcatcagtggatggacacttggggtgtttccacttttggctgttgtggatagtgctgctatgaacattcctgcacaagttttaggatggacatgtttttcttatctcttgggtatataacaaggagtggaattgccagatcaaatggtgattctgtgtttaactttctgaggaactatcagctgcttcccaaagtggccatcccattattctcaTAttatttttatttgtttattatattttgagagtgtctcgctctgtcaccctggctggagtgcagtggtgtgatctcggctcactgcaatctccacctcccaggttgaagtgattttcctgcctcagcctcccaagtagctgcgattacaggcgcccgccaccacacccagctaatttttttatttttagtagagacgggtttccccatattggccaagctggtctcaaactcctgacctcaggtgatccgtgcgcctcggcctcccaaagtactgggattacaagcacgagccactgcactcagccTAATTTATTACTATTTTTAACTGTAGAGACAAGGTCTCAGTATGTTGCCAAGGCTGGTctcaaattcctgggttcaagcaatcctctcaagtagttaggactacagggacatgccactacaccaggctaatttttaatttttttatagagatggaggtctcactatgttgcccaggatggtctcaaactcctagcctcaagcaatcctcctgccttggcctcccaaagtgttcagaatgtaagtgtaactcactgcacctgCCACATACAATTTTTAAAGTGACAGAAATATGATCATGGCCATGGGAATGGTGCCCCTAGAGCTGTGCCACGAGGAGTACTGGCCTCTTCATGGTGCCAAGATGTCCCTGAGGCCTTAGTCACCTGGGTCCTTGGTGTCCCCTAGGTCAGGGCCATCCCTCTGTCATTCCCCCTCCCTGAAGCACCTGCCCCTCCTTTCTGCTGAACTAAATTCCTCCCCAAGTCTCAGTTTTCCAGAGTCTCCCTGTGAGCTCACACTCATACCTACCTAGTTTCTGAAGAGCCCCGAGCACTGACGGTAGTCACTGTGGCACCTGTAGCACCCTCTCCAAAGGGTCGCCAGCTCCTGCCTGGCTCTCAGAGCTACACAGCCTCTCCTGACCAGGCTCACAGCTCCACAGCTCTGCGGCCCAGGCCACCTGGCATGGCCCCCTGAGTTAGTCTCTCCCCAGGCCCACCATCAGCCCTGTTGGTAGAGCTGGGTGGACTCTTATCCGCATCTGTAGCACCATTATAGGGCTGGGCAAATGTGGGCAGTTGCAAAGGCCTGGCAGAGTTCCTCTGCATCCTCCCCCAGCCTCCTGGCTACCCCCGGCACTGGCCCCGCCTTCTGTCCCCTCCTGCAACTCATGGCCCCTCCTGGGCCCCTCAGTCACAGAGAGGCCTGGACATAGCATCAGGTGATAACtaatacctgcatgaccctgggaagccactcagcttctctgtccctcagtttccccatctgtgaaatgggctggccatgcttaacccctggagttgCCAAGGTAGCCCATCAGGGAACACAGCGCCCCTGTACCTCAGGCACTCCCTGGGTGCCTGCCACCTGGGACCACGGAGCCGGCACACGGACCCCCGTCCTTGGAGGTGAAGACGTGGCAGGTGGTCACGCGCACGGCACACTCACGTTTTCACGTAGGGGTCCGAGTAGCCGTTGGCGTCCATGGCGGCCAGGTGGGCGCACCGCACGATGCCTACCAGCAGGCCTTGCTTCTGTGAGCTGTACTTGAGGGAGATGAGGATGCGGCCCCGCTCCTCCAGGGACTTGTCTTCAGTCTTGTCCACCTGTTGGACGGGACGGTCACTCAGTCCTCACCTGCTCCCACCCCTCTCTTGGCCGTCCTTGGCCTCCTCTTCCTGAGCCCGCCCATCCGGCTGCTGCAGCCGGGCCTGGTCACGGTCCCTGGTGAGTGGCCTCACTGTGAACTCACAGCCCTTCTGTCATCTCTTCCCTCCCAAGGGCTCTTCCAGGGCTGGATCTGACCCACACCCTCCCTGTTCTTGGCTGCATGTGGCCTACGGTGGCCTTCACAGCCCAGCAAGGGCCAGCCcaggggttggcaactgcagcccgggggccagatcaggcccgacgcctggctctgtgtgggatgtgagctaagcatggctcttacccttatcttaaacaatttctttttcaaaaaaatagagacaggggtctcactattttgcccaggctgatctcaaactcctgggctcaagggatcttcccaccttggcctcccaaagtgctgggattacagacatgagccaccgtgcccagctggttcttactttttggaatggcagaaagaaaaatgaaatgaaaaatattttgtgacacatgaaaatgacatgaaattcacacttcagcttccattaacaccgtgttgttggaacgcagccttgccagctccgtgatgcttctctatggctgcttttgccctaaggacagagctgcatggtggccacagattgcgaggcacacagagcctaacattagcgctaagcggcccttcacggGTCTGCAGCCCCCGGCCTGGCGCGCTCGGCTTCCGCGGACGGTCTTCCACCAGGTCCTCCTCACAGCCCGCCCGGACTTTCCCTTGGCTTTGAAGCCGGGTCCCACCTCCACACCTTTGCGCACCCTTAATCCACAGCTCCAGCACCCTCCTCTGACCTCCTCAGTGTTCACCGTTGATAAATTCCTGGTCCTTCTGGGCCTGGGGGGCTTTTCTGACCCTCAGGGTGGGTTGGCCGTCCCCTCTGCGCGCCCACTGCCTCGGGTTTATCCTGTCATGGCCTGGTGTGGCCCCCTGCTTCCTCAGGGCTCTGCCCCAGCCTCTAAGTTCCTTGAAGTTGGAACTCTACCTGTAAAttttgattttgacagagtctgactcttgtcacccaggctggagtgcagtggcatgatcttggctcactacaacctctgcctcccgggtttaagcgattctcctgcctcagccttctgagtagctgggactacagtctaatttttctattttttggtagagacagggttttgccatgtctgccaggctggtctcgaattcctgacctcaagtgatccacccacctcagcctcctgaagtgctgggattacaggtatgagccaccgcatccagATAATACCTGCGTCATCTTTAATACCTCAGGGCTGGGCAAGGCCCTGGCACTAAGGGCCCACTGGAGGCTTGTACTAGTGAAGGCAGGAATGGAGGGACAGATGGTCCCCTGTGCGTTCAACCTCATACAAGCAACTCCAGCCTGGAGGTTCAAAGAAAGGCAGAAAGGTCTGCCCATGACAATGGAGCCTGGTGGATGGAAAAGGGTCACCGTGGCCCCAGTTCCCTGAAGGTGCTACCTGGAGCCTCTCAGGGTGCTGGATGTGGCTCCCTCAGGAGAACCCCGAAGACAGAGTTCTGGTACATTCCTCACCCTGGAGAAGCTGGGAGCCAAGTAGGGAGCCCATCCAGTGCCTTCCCTGCCTCAGCAGCTGCCAGTGCCTGCCTCTCAAGGCAGATCTCAGCTCCAGGCCTCCCCATCCCCAGCCAGCCTGATGCTTCTCCATTCCTTGCCCTCCCGAGACTACCCGGCTTCTTCCTTCTGGCTGCTGCACACCCCAAACCCTCTCTCCTAGGCCCTCAGCCCCCCCAGACAAACCCAGCTTGAGCCCACCCACACACGCCCAGCTTGAGCCCTGTGTCCCCCTGGATCCCCTTAGGACTCTACCAGGCTCCTCTCCCAAGCAGCCCCAGCCACCTCCTTTTGCCCACAACCGTGCCCTGCCTAACACCAAAGTGAGTCCCTCTGGCTACATCTAACCCTTTCTGGAGATGAGACTCCTGTGAGGTGAGCAGGGATGTTGAGcagggaagacatacatgccccaccagccaccttcgccacctcccacgcccagagcagacatggctaatcgatcctagcatttgccctaggctccaatgccacctcagaatccttttcaacacagtgctcaggcagccattcctggtggatcaggccaggcctgcgagatCTCGCTATCTGCCGCTCAGGCAGAGCTTTGTGTGTGAGGGCCTTGATGCCCTGTGCTGCTTGTGTCAGTGTGTGTGGTGTGAAAATTAAACAATATAAACTAGCAGGggccaggcacagtgactcatgcctgtaaccccagcactttgggaggccaaggcgggcagatcacctgaggtcagcagctcaggaccagcctggccaacatggtgaaaccccatctctactaaaaatacaaaaattagccgggtgtggtggcgcatgcctgtaatcccagctattgggaggctgaggcagaagaatcacttgaacccgggaggcggaggttgaagtaagccgacattgcgccactgcactccagcctgggcgacatagactccatctcataaaaaaaaaaaaaaaacaaCCAACCAGCAGGCATATTTTTAGCTCTTTTTTCAGGGGTGGGACATTGTACTTCGGGTTGTTTCATATGAAGACCACTGGGTCTTGCTCAGTATTGACTTAAAACAGATAATGTTCGCAGACTGTAAATTCTAAAACCTACCGCCAGAggcctggcacaggggctcatgcctgtaatcccagcactttgggaggccgaggcaggaggatcactggaggtcaggagtttgagacttgcctggccaacatggcgaacccccgtctctactaaaaataccaaaattagccaggcgtggtggcgcacacctgtaatcccagcactttgggaggctgaggcaggtggatcattcaaggtcaggagtttgagacacctggacaatatggtgaaaccccatctctaccaaatatacaaaaattaaccaggcgtggcggcacacgcctgtagtcccagctactcgggaggctgaggcatgagaattgtttgaactcaggaggtagaggttgcagtgaacagagattttgccactgaactccagcctggatgacagagcaagactcagtctcaaaaaataataataataaaaGTACCACCAGAATGTGGCTGTACTGTCAGGGGTGCATCCCCAGCTGCACTCCTGCGGTCACTGTGAGTCCCTGAACGGCACCAATGGGCCGGTAGCGCATCCAGCAACGCCCTGATCATGGCcacgcacagggacgcacatgctttcacgaacgcacaccacacatgtggacacacacactgtcgcacacagacacgtactgacatatgctcttacacacaattcacacacgagcacacacacacacacgctgacaccccacgtacatacccacGTGGTTGTTTGTTTATGCCAGTGATGAAAACTCAGGAACACTAAGGCAGGGCTGGTGTTGCtttttttttttttttttgagacagagtcttgctcttgctcttgtcacccaggctggagtgcaacggtgcaatctcggctcactgcaacctccgcctctcaggttcaagcgattctcctgcctcagcctcctgagtagctgggattacaggcatgcacccccacacccggctaatttttttatttttagcagagacggggtttcgccatgttggccaggctctctcgaactcttgacctcatgacccacctgccttggcctcctaagatgttgCCTTTCTTAAGTGACATAGACCATGTGGAAAAACCGGGTTACCTGTGGTTAGTGACTAACAATAAAACAGGAAAGGTTATATCCATCACACAAATGTCTGAGGGGGAGAGAATGTGACAAGGAATAAAATTGGATCAAATTCTGCAAAAGTAACTGGGATTCTGGGAAGAAGCCGTGGCCTCAGGCTGACTCGCCCCCGGGGCTTGACTTGGGCTAAGCTCGAGGTGAGTCCACGTCCCCGGGCCCCACTGGGGCTGGGTACACTGGGGACAGCCGCCGGGCTCTGTCCTCCCAAACTTGCCCCTTGCCCAGTCCTCTTAGGGGGACAACGTGCCATCGAGGGGACCATGCCTCCGCCTGTGTCCTGAACGCTGGGAGGCTGAGGCCCCAGGATTTCTCTTGACCCCAGTGGCACGGGGGACTCCTGGCTTCACCAGCCCTATGAACCAGGTGAAGGTGAGGCCATAGACAAGGGAGGATGGGGGAGGGAAGAGGGACATAGAGACCAAGACTCAGAGGGCGTAGCTGCTGGAGCAGGCCGAGGGCAAATCTGTTCTGACATAACGTTGAGACAAATGCCATTTCTAGGAAAGGAtactctgctgtctcctctgcgtatctcacaggcactcaggtctaacatgttccaagcgtgctccttgcgcgtcctgtccacccgtggtccctgctgagtcctctgagtgcagcaaacagcccctcaggcttcagtggctcaggccccaaacctcggatctgcccttccctcacccaaggacgtcctatctgctgcctgcacatctggttcagaatcaagccctcctaccgctgccaaggtcaggccagggttgtgcccatctctccccatctccccaggcctcctgccctctcctccctcttcttcaagccatcctgagcccaggccagcgagcctggtaaaatgtcatcccccatgatccctcagcttagcaccctcccgtggccactcagagtgaaagccagggtccttcctcacctccacccccttgactctccatgctcacctccccggtctcccctcccctctcactctgcccctcATGAGTCCCATCACAGGCAGGAAGTTctgccttcccagcacctgccaccgagccaggtacacagcaggtgctcaatcaatCCTCTCACCGGCAGCTGCTTCTCCAGGCAGATGCTGAAGGTCTTGGTGTGGTTGGGTTTCAGCTTCTTCAGGGGCACACGTGTCTCCCCGATGAACTCATTGTGCCGGAATTTGTCCTCGTCACACACAGAGATCCTAGAGGGGGCGGTGGTGAGGGGCACAGCCAGTGCCTCAGACGCACTGGGCATGGTGGAGGTGTGCGCAGGTAGGGCCAGCCCTGGCTTCTCCTGCCCCAAGCCCTGCCCTGGTCTGGGGTGGGAGACGCACAAGATGCCTGGGCCCTGACAGGGGCAGAGTGTGGCACGATATCAGGCACTGTCCTCATGGACAAGTGTCCTCAGGTTGGAAGAGGGGACAGGAGAAGGCAGAACCAGTGCCAGGAGTAGCCAGGAGGCTGGGAGAGCCGGTTCTCTGGAGGGAACCACCTCCAGCACCCTGAGAGGCCCCAGGAAGCACCTTCAGGGGACTGGGGCCAGGGTGACCCTTTTCCACCCACCAGGCTCCATTGGCGTGGGCAGACCTTTCTGCCTTTCTTCAAGCCCCCAAGCTGGAGTTGCTGGCATGAGGTTGAACCCACAGGGGACCATCTGACCCTCCAGTCCTGCCTTCATTAGGAAAAGCCGGGTGGGAGTAGGGGTTGGGGAGGGAGCAGGCGGCCTGGGACCCTCACCCACCGCAGGGTCTTGCGGATCATGTCTTCATCTGTGATCCCGTAGTAAGTGAGGGTCTCGTTCCATGTGGGGTTCAGAGTGTTACGGAGAGTTTTTGTTCTGAGCTTATTTGCCTGGAGAAGAGAAAAATGATCTTATTAGCATCAAAGTGtgtatcaaacagaacaatggcccccagagatggccacgtgctcatcttggagcctgtgaatgtgttatcaacatggccaagtggactgaggctgcaggtggacttagggttggtaatgagctgacattagaatagggagattatcctagattgttgggtggcccaatgtggtcacagggttcttaaaagcagaagaatggacagagaagacagtcagggacgtcaccaaggaagggggccagagagatgcaatggggcccgctgtgaaggtggaggaaggggccacaagcccaggagggccgatggcctctagaagctggaaggagctaggaaactgtgggctccccgggctccagaaggaatgcagccttgccgacaccttgattttagcccagagagagaccactgctggacttctaacctgcagagcagtccgagagtaaacgcgctgctttaagccacgaagtttgtggtcatttgttgcagcagccgtaggaggctcatccaAGGAGGACCCCACCTCCAGCCCGATGCCACGGGGTAGGTTCTGCAGGAGGCCTGTGTGGAACTGGAGTCTCCTTCCCAGGGCATTCCCTGCCTTTGTGGACCGTCCCCTCTGCCTGGAACCCATCCCGTCCTTGGGTCTGCCTCGGGGGTGGCCTCTCCGAGCTGGAATATTGCTGCCACTCCCTCCTCCTGTGCCAGCGGCTCTGAGCTCCTTGTCTGAATCGGTCTGATGCCTGCCACACCCGgcccaggctgggaggtcagacagcctgggcttccaattccagctctgtggcagcatcaggttccccactgtggaaagggcacaggaatccctctctcccattgctttcaggagctgtttgtaaggagactgctctttataaaacactagggaaagtcctggGGACTTCCTACAACTCGGCAGCCATGCACTGCCGGCTCCAGTCCCACAAATGAAGGGTCACTGAGCACACTTCCCTGGTCATACTCGCCCTCGGCCCTCATATCCCTGAGCCCTTCTTGCAGCATAAGGGCATCAAGACCCTGTGTGGGGAGCCCATTTCTTCCCCAGGAGTAGGTGGTGGGGCACTGCCATTTCTCCTACAGTCCTGCCTTCCCTAGAGAAGGGGGAAGGGCCCCTTCTGGGGTGGTCCTCCTGGGCTGCTGTGGGCCCCAGGCCTACCCATTTAGGCCTCCACGTAAACTCAGACTCTGCCCCATGAAATTAAAAATAAAACAGCACTGAAGTGTAGGATGCACAGAAGGAAGTCTAATTAAGTTCTGACTTTCCATGGCTCAAGGTCACCTTGATGCTTTTATTTAACAGCAATTTTTCTCTCTCCTGTCCGAGATGCACCTGTTGTGCTGGTGCCCTGAGCACATGTGTGGTCGGACGCTTGGGTCATCCGGCGTAGGAATGAGGGGCAGATTctgcccacttcatcccccttgcggagagtcagggaacagcccatcaacacgttagatgctctgagaagtcctgtggtacagaaacctgtttaacaatgtttccccatgttatttaaccacagagtcctttgtttGCACCTAATAGTAACTTCCAGCTGAGAATGCTTCTTATAAAATGCTGGCCTGGAAATTCTCCAGGGGTTTCCCCAGATCAGCAGGTAGGTAACGCTGACTCGTGAGGTCCCCAGGAGGCAACAGGGTGTGGGGCAGACTGGGTGCTCTGTGTGCAGTTGAATGGCTGAGGTCCCATCAGCTTGCTTGGACTCTGAGGGGAGTGGCAGCTGTGGGCCTCCCTGGGTGCCCGCAGCCCAGTCCAGGCCCCAAAGCAAAAGGACCAGAGTGCATTGCCTGAGGTGGTGGGCGGGTGCAGCTGGTGGGCAGGCCTGGGTGGAACCCCTCACCTTACTGGCTCCTGGCAGCAGGTGCAGCTTGACGTAGGGGTCTGCCAGCCCATTGTGGTCCATTGGCTTCAGGCCCTGGGCAGAGAAGAGCAAACGGTGTGAACTGGAAATCGGGGACATGGAACTGACAGGGCCTGCAGATGCCCTTGTCCCCTGGGTCTCCTGGCTGGGCCCATTCATGGCCCCTTTCACAGAAGCCCCCGGGCCCCACACCTCCAGATGGAGGGAGTGAGGATGGCTCAACGCTGATGCAATCTCCCCTCCCCAAAACATCCTGGCCCAGGGCAGCTGTCATGGGGCCTCTGTCAGGACAGACTTTCTCTTGTCCTCATCCTGGAAGCCAGGTGGCTCCCCCTTCTCTGAGCCTCCCTCTCCACCCTGCTTTGCTCAGGCCCTGCCATCATCCTGACTCCCGTCTCCCATCTACCAAGCGTGGCCTCCTGAGTGGCCATGCCCCTCACTGACCCTAAATCCACATAACCCCGGGACACAGTCTGAGACTAGGCCCCATTTCTGGCCATATTTGCCACAACTCCCAGTCAGTCCACAGAGATCACACAAGCAGACTGGCCACAGAGGGTCCCTCCACAAGATGGCACCCCTCTCTCACTCTGGTTCTTTCAGAAAACCCAGCCACGCGTGCACAGCCAGAGGCACACAGAAGCATGGACAGAGAGGGGCTTTGCTGACCTCAGCAGGCTCTTGTCTCTGAAAATTGCATTTGTTTCCTTCTGGGATGGTGCACAGGGATGCAGGGAGGCAGCTGTGGCATCTGTGGGGGTGCAGCCGGCAACCCCAGGATAGTATTCAAAGGGCTTCTACCCAGCCGGGTCAGGGAGGCAGCTCGGCGGCTCACACCAGGCCCATCTCCAAGGGGAGGCTGGGGCTCCCTCCCAGGCCCACCCCACCTCGGTTTGACGGAGCTCTGGGGGATGCGGCAGGGGCTTCCAACCACCTACTTCCCTGCcactggcaaagggcagaggtttgggggcctggctggcttgggctccaggctcagctcctgttcaccagctgggaagtggatgagttactttgcacgctaagcctcagctttatcatctgttaaaggggttggccgggcacggtggctcacgcctgtaatcccagcgcttgagcccaggagttcaagaccagcctgggcaacacagtaagaccctgtctcttcaaaaaactaaaaaattagctgggtggggtggcatgtgcctgtggttccagcaactagagaagctgaggtgggaggatcgcttgaacctgggacacggaggctgcagtgaaccatgatcgcaccactgcactccagcctgggtgacagagtgagaccctgtctcaagtttaaaaaaaaaaaaaaaaaaagggcgggggtgtaatactcccaccttcctagggctggagtgagagggagggagactgtgtggacacagggcctggcaggcagGGTTTGCTCCCTTCCCTGCACGCCAGGCCCCCGTGAGACGCCGGAGAAGCGGTTGAGGTCTGCTGGGTGCATCTGAGCTGTGCCCTGCACTGTGGGGCTGCCTCTGGGACAGGGCCTGGCTCAGTGGCCCAACACGTGCTCAAGGTGACAAGGCTGCTCTTCCAAACCCAACTCCCTCACCCTGCCTTGCACCTTTCCCACCAAGTGCCTGAAGTGCAGAGTTCTGGGAATCTGGTGGCCTGGCCTGACCAGGCGGTGCCTGACTGCTGTGTCTTATTCTTACAGTCCTTATACATTTGTTTGTTGTAGCTTAAAATGTTTCCATTTGGGCCACGTTTCCTGACACGTTTCACTTACAAACCTTTGGGCCACCACATGTTCTGGCGTATGTCTTTCCAGTGGCTCTGGTGGTCCCACCTCCGTACCCCGAGACACCCGTGGGAGCTAGGCTGGGTCGAGGGGCGCTGTCATGCTGGGACGGGAGTGATGCCTGCTCTGTCCTTCAGACCCCGGGACTGTGACGAGGCCCCTGCTGCTGCTCTCTACTCCTCCACCCGGCAGTTCCCTGAGCACCCTGGGCAGCCACACATTTCGCCAAAAGCAAAAGGACCAGCAGGCACTGCCTGAAGCCCTGTCACTGTGCTGCCACCAACTTCTGTGCCCAAACAGGCAGCTTCCCTGGTCCTGACCCGGGGTTCCGCCAGTGCCTCCACCTTCTGTGGGGCTGGCCTCCCACGGAGCCTGACCTCTGTCCACGGAAGGGGAAGGTCGGGAGGCTGTTTCCAGGGCAGGGAGCTGCTAGTGGGGCCCTTGGGCACATGCTCCCCAGCTTGGGAGTTGGCAAGAGACATAAACTGATCCCATGGTTTAGGGGTGGGCCTCACGGGAGGtgacgtggtttggcggtgtccccacccaagtctcatctggagttgtactcccataattcctacaggttgtgggaaggacccagcgggagataactgaatcacaaggggaggtttctcccagactgttcttgacgtagtgaatacgtctcacgagatctgatgatctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACACTCTTCTTGACGTAGTGAATACGTCTCACGAGATCTCATGGTCTGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActcttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActcttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActcttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActcttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctgatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActcttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActcttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActcttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctgatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActcttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActcttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctgatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActgttcttgaggtagtgaatacgtctcacgagatctcatggtctGACActcttcttgaggtagtgaatacatctcacgagatctgatggcctgataaggggaaacccgttttccttggctctcattctctctcttgccaccaaacatgtgagaagtgcctttcactttcagccataactgtgaggtcttctcagccacgtgtaacggcaagtccaataaacctctttcctttataaattacacagtctcaggtatgtctttatcggcagcatgaaaatggactaatacaGGGAGGATGGGTGGAAGCGGCCCCGGGGGAGGCCCTGGCTGGTACTGGCACTGAGGGAAGAGATGGGGGGTCTGGCTTTGAGAGGAGAGCTTCTCCCCAAAAACCTAGCCCTGCCCCGCCCTGGGCCTCTCAGAGGCTGTTGCTGGTGAAGTGTTCGGAAGAGGAGCTTTCTAGTCtgaagtatcattcagcctgaaaaggaagttttgacacgtgctgcaatggggatgaagcctgaagacattctgcggagtgaaagaaggcagactcaaaaggacagatcccggggactgcagactcaaaaggacagataccgggagactgcacttacatgaggtccctagaatagtcaaatccatagagaaggaagccaaatggcagcctccccaggggccaggggaggaggaagggggagctgttgtttaatgggtccagtttagttttgcaagctgaagagggctctggagatgggtttcacagcagtgtgaaggtagaaggtacttagcacaactgaactgtacgctaaaaatggttgagCGCTGAGGGAAGAAGTAAAAAAAAGTGGTTGAGGTGGGAAATGTATATCTGTGTATTTTACCACAATAAAAATAAAAAGTCTCCCAGAACTGGTAgtgccaggggccacgtgttaactcatttaatgctcacaacaggcatgtagggcagggacaaccaaccctatttacagatgggcaaactgagactGACCCTTATAAGGGGGGACAAGCAAGGGTGCACCCCAGGGTGTCCAGCCCCCACCCTGGCCCTCCAGAGGCCAGCCCTCCTTCAGCTCACCCACCCTGGGCCCCTCCCCACACCCCAGCCCAGAGCCCCAGCTCTTCCCCAGCCTGCACCACCCCTTCCCTACAGAACTGGATTTACACAGAGAAGGAACTGGGCCTCCCACCCCCACTTCTGATACCTGAGGGATACAGCCCAAAGTGGacacacacttacatgtgtgcacgcacggtaccacacatgtacacacagagacacacatacagccatgtatgtgcatacacacaaacgcacCTGGAGCTGGGAAGGGAAGGCCCTGGTGTCTGGCATGGAGAGAGGAAGGGGTGGGCTTTGGCCAGAGTGGCCTGGCAGCCGGCACCTCTCCAGTCCCCAGGCCTGGACCACCTCTACAAAGTTGGACAGAGGGAAAGGAGGAAGGGTCTAGCTTGGTCTCTACCTTGGCACAGCTGGGATTTGACAAATGCTCAGTTCTGCTCCTAGGGGTGGGCTGGAGCCCCCGCCAGGCAGGGCTGGACATGCCCTGAGTCATAGCATGGGTGGTTCTAGAGAGGGCAGGGGTGGGATGGAGCGTGCAGGCCTCTCAGTGCCCTACCAGGGCCCTGAGGCTTGCGTGGATGGCACTCACACCTACCCATGGCAGTCCACATGTGGCCCAGGCTGGGCTGGGGGACAGCCTGGGGTGGCACGCAGTAGCCTGTCCTGCTGGGTGAGCATGCTGCCAAGGGCAGCCCTTGCTGCCAGGCTGGGAGGAGGGGCAGGGGGCCTGCAGGTTGGGAGGCTGGGTGGGGCCTGGGCCCAGGCAGCTCTGTGGGAAGCCGCTGGATCTGAGCTGGGCTGGCTCAGGCCCTTACATGGCACTACTAGGGAGACTCTACTGGCCATGCAGGCCCTTACCTTGCGAGAGAACATCAATTTTGGCACCTTCCTCCCACAGGGAGCAATGGGGTGAGGGGAAGGGAACAGGACAGTTGAGAACATGGAGCTGACACATGCTTGAGTGGCAGAGCCAGAGGGCAGCACCAGGGACCAGGCCAGGCTGCAGAGGGGAGCACCAGgggccgggccaggctgcagagggcagcaccaggggccgggccaggctgcagagggcagcaccaggggccgggccaggctgcagaggggagcaccaggggccgggccaggctgcagagggcagcaccaggggccgggccaggctgcagagggcagcaccaggggccgggccaggctgCAGAGGGGAGAGCACCAGGGGCCGGGCCAGGCTGCAGAGGGGAGAGCACCAGgggccgggccaggctgcagaggggagcaccaggggccgggccaggctgcagagggcagcaccaggggccgggccaggctgcagaggggagcaccaggggccgggccaggctgcagaggggagcaccaggggccgggccaggctgCAGAGGGGAGAGCACCAGGGGCCGGGCCAGGCTGCAGAGGGGAGAGCACCAGGGGCCGGGCCAGGCTGCAGAGGGGAGAGCACCAGGGGCCGGGCCAGGCTGCAGAGGGCGGCACCAGGGGCCGGGCCAGGTTGCAGAGGGGAGCACCAGgggccgggccaggctgcagaggggagcaccaggggccgggccaggctgcagagggcagcaccaggggccgggccaggctgcagaggggagagcaccaggggccgggccaggctgcagaggggagcaccaggggccgggccaggctgcagagggcagcaccaggggccgggccaggctgCAGAGGGGAGAGCACCAGGGgccgggccaggctgcagaggggagcaccaggggccgggccaggctgcagaggggagcaccaggggccgggccaggctgcagaggggagagcaccaggggccgggccaggctgcagaggggagcaccaggggccgggccaggctgcagagggcagcaccaggggccgggccaggctgcagaggggagcaccaggggccgggccaggctgcagagggcagcaccaggggccgggccaggctgCAGAGGGGAGAGCACCAGGGgccgggccaggctgcagaggggagcaccaggggccgggccaggctgcagagggcagcaccaggggccgggccaggctgcagaggggagagcaccaggggccgggccaggctgcagaggggagcaccaggggccgggccaggctgcagaggggagcaccaggggccgggccaggctgcagaggggagcaccaggggccgggccaggctgcagaggggagcaccagcggccgggccaggctgcagaggggTCCACAGGCACCCACAACCCCAGCCCACGTAGTGAGGCTCAGAGGGCCTCTGGGCTCAGGCCGTGGACACCCTGCCTGGAGTGGCATCGGCCTCCTACAGTGGCTCGGCTTCCAGGGTGCAAAGTGGCGTCCCCACTCCTCAGGGCGTCTGGGAGGCCTGGAGGCACCAGTACCCAACCCGCCCTCCCTTGGCCTGCAGGACAGACATCACCCTGCCCCTCTCTTTCCCTCTCAGCAGCCCCTCCCCAGGCTCGAGGGTCCTCGGTCCAGGCCTTCATCTTCCCATTCTCATCTGTTTCTTTGCTCCCCGCAATGCCTGACTGTCCAAGGCATTTCTTGGGGTTGGGTATTCAAGAAGGTTTAAAGAAGAATTCCTTCCTGGCCCCGCACCCCACACAGCGCAGACATCCAAAAGCCTGGACAGGAACCTGGGGAGTGGTGTGGTCTGGCCTCCCTGACCTAGGCCCTCTTGAGGACCCCGGGGCAGGGAATTTGGGGGCAGGCTGGCGGGGCCTACCTTGGCCTTGGTGATGGTGCAGTGGAGGGCGTTGTTCTCCTGGTCATACAGCAGGCTGAAGTCCAGCGTGCCCAGGGCAGCTGCGGACAGAGGAGGGCACAGGTCCCACCCTGGCCGCATCTTGGAGAGGCTTCGCCTGCCCCTGTGAGACCAGATGAGCCTGGCCTGGGCAGGTGCCACCGTTCCATGGCGgctgccaccaaccaagcacctgctctatgccagcccctcacccatcctcccagtcccacccaaccctgggaagtcacaataatctccccactttccagaggaggagctgagacccagagaggtcaggtgggtcactccagttcCCTGTCTGGCCCAGTGTGTGGTCCACCTGAGCTGGGCACCCAGCCAAAGGAGTTCCTGCCCTCCTGGTGCAACTGCCAGTCTGGGccccgtgcctcagtttccctcacctgtgaaatgTCACAAGGATCACACAAGGCGGAGGAGACGAGGCTTTGAGAGGAACAGGTCCTGGCCAGGAAGATCAGCTGATTTGCTCAACAGTCCCCCAGCCAACACACAGGACTGCAGCTCCTCTGTCTCTCTGGCCCGTTGGGAACCCCGAGCAGGCCGTGAGGAGCCAGCTGGGTCCTCATACTGCTGCCCCCAAGTCTCTCAATGGCAGTGGTAACTCCCAAAAGCCGGGGGGAGGGTGCAGCCATAATTGGGGGAGGTTGCAGCCATAATTGGGTGCAGCTGCCTCCCTCCCCGGGGGCAATCACTCATAGCAGCTGTGGCTTTCCATGCAGAAGCGGCTCCCAGCATGGAGGCCAAGGTGATGGTTGGGGCAGAGCTTGGAGATGATGGTGGGGGGCAGAGCTTAGTGGCAGTCCGCAGACAGCAAGATGCACATTCACAGATGGCTTCAGAAGCCCAGAGCCTGCTCCCAGGCTGCAGGGCTGGTCAAATGGTGTCACattccttcattatttaccaagtgtttacaacatgccagactctaggggatggacatctgtgaggcagagtccctatcccaaggaaagcacagcttaaggggaggaacaaatggaaataatttgccgcagtagagtctggtgagccgggagccatggggagcccatgtgaattgggaccaccagggaaggcttcctggaggaggtgatgcttcacctgagccatgagggatgagtaggagttggccaatggcaaagaggggctgggggaggtgacgattccaaccacaggccaaccagcaggtacgggcttagtggctggtgtgatcccggGATAAGGGAAGGCCAAACTTGAAAGACTGTGTTCTTCAGGCTCTGAGCTAGGCTCCCAACCTGGATCTAGATCCAATTACGGCCACACCTGAccaggcccatcatttacatctcttctgcggctgctttcctacttcagaagcagaccctacggcctgcacagctgaaaatatttactatccagcccttctttatagaacaagtttgcagatctctgGGCGAGTGCTGGGCCCAGGCATAACAAAGTTTCTTGGGTCTGCAGGGAAATTGGCTAATGAAAGGCCACGAGTGTGGAGTGTCCTTTATTCTGAGCTGGTGATGGGAGTGGCATTTGTCTAGATCATCCCCTTCTAACACGGGTCAGGCACATGTCTCTGTCTTCGCAgcagtgtggggtgcaagacctgccctctgacatcagtctcctcggttcaaatcccagcgtgcacttccctgctgtgtggccagcttatctaacgtctttatgcctcagtttactcatctgtgaaatggagacaacgatagtatccacctcacagcacagtgtgcctgcggtgtaggaggtgctcagtagatcattatagaaggagcagatCCCTATGGTGGGTTTTCTAGCTAACAGTACTGGCTTCTCTAAGACCCATTCTGGAATGAAACTGTCCTCAATTGGCTCATTTCCCTCCCTGCCTTTGGGAACAGAACATACAAATAGTCACTTAAATTTTTTGAATAACCTGAGTCATTGCTATGGCCACGATGACTCTTCCGTATGTCACGGTCATGTTCCAGAGGCAAAAGGGGACACGAAGCAACCCCTGCACCAGAGGGTCCCGGGTGGCCCTCTTTTCGGTTTTCTTCATTTTTCTGCCTCTTCCTTTGACATCAGCCTGAAACTCCTATTAGATTACTTGTCTGTGTTGGCGCAGACAGCTCTCACCTATTCAATAATTGTTTCTCCCATGAGACCAGGTGATGATACTTGTTGGAAGTGTGTGCAAACTAAGAGCCAACAGGCCTTGAGTGGCTggtgtggggctcatgcctgtcatcccagcagtttgggaggccgaagcagatggatcacttgagctcaggagttcgagaccagcctggccaacatggcaacaaaaactacaaaaatggccgggtgtggtggctcacgcctataatcccagcactttgggaggctgagacgggtggatcacttgagcccaggatttcaagaccggcctggccaacatggaaacacccatttctacaaaaaatacaaaaatagccgggcatggtggcgcatgcctgtggtcccagctactcgggaggctgaggtgggaggaccgcttgagcccaggaagttgaggctacagtgagtgtgattgtgccactgcatccaacctaggcgacagagcgagatcctgtctcaaaaaaataaataaaTACTAGGTCTTGAGTGAAGCCTGAGGCACGTTCTCCTGAGCAGGGTATGTGTGCAGCAGCAATAGCTGTAGCTGGCCTTCAGCTGCCTGCATGCTAGCTGCCATCTCCACACCAGGCAGGTGAGGCTGCTGGAAGGGAGGTGTATCCCACTGCTCCTGCAGCAATGAACACAGCCACAGCCCGAGATGCACCAATCTGTACTTTTGTAACAATATTCTCTGAAGCTGTTGGCTTTACATGATAGTAAATGGATCTGCTGTTCAGGTCAGGCCTACCTGGGgtttgttcccccaacgaattagccccctgagcacagggaccatgccttggccacacctgtgagaccaacaaacagcagatgcagacacacaTGGCTGGTCCATTCAAACCAACTTGCCCTCCAGGTGCTCCCAGGAGCTGGGATCTGGTGTGACACCCAAGTGTAAAAATGCACATTCTGATTTCTGCCTGTTTCCCAACCCCAGAGAAGGACAGCCAGAAGACAGAGCGGCTGCCTGCTCCCCCTGGGACACCCAGCTCCTGGAGGGGAGAAGCCCCTGCACTGGCTCTACAGAAACCCCTGTCCAAGGAGGGCAGCGATCTTCTCCAACTGCCTGGGGGGAAAACTGACACCCGTCACCACCTCCTGGGAAGGAACAGCACACCCAGTGTGTCACCAGGAAGGGACTGATGAATTTCTTTGAACTCCACTGGAAGGTCTGTAAGAAATGATAGTTTATAAATAGAAGCTCGGTCACAGTTTTGAGAGGCTGGTGAAGCTCTcttacggagcacatggcccaaactcttcatttccctttagagaaatgaggctcagagaggggaggggagctgctcagcgtggcccagcagacccaggcacagaatctaggcctcttcacttccatcctgatagtttctcccttaaagcctactggctcCCAAGAAGttttttttttttgagacagggtcttgttctgttacccaggctggagtacagtggtgcgatcacagttcagcctcccaggctcaaacgatcctctcacctcagcctcccaagtagctgggactacaggcgcccaccaccatgcccggctaacttaaaaaatatatttacaaaaaaagagacagtggtgttggtgcggggggtgcgggggggtaggtctcactacgttgctcaggctggtcttgaactcccgggctcaagcaatcctcccgccttcacctcccaaagtgctgggattacaggcacacacgggccactctgcccTGGTCCAAAaagcttttttttggccactttgtttagctgaaatcttaggaggatgcaactaagaaacaaaaagagagaaaagcagagttgctctaggggaaggagagtgggggctcagCCGCTGCCCTGGAGAGCCCTCCGAGTTGGAAAAGCACCTTGGGCTTGTGCTGGGCGTGAGGAGGGCCCTAAGGGCAGGAGAAGGTGCTTCTCTGTGACCCACAGTGCCCTGCCCTTGGAGCGCTCCAATCACATGACCCCACTGAAGTTTACATCTTCGGAAAAATAATGAGGGTTGGTCACTAATGGGCCTTTGAGAGTTGTCACCCGCTTGTCGATAATTACAGAGCTTTAATGGGGCTAATTCAGAGAAAATCAAGCTCAAGCCCCTGTTGGCTCCTCTAAGGCCGAGCACCCCCTGCTTGGCTGATGTAGACCTGACAGCATCATCATAACCTTGGTTTGCACCTGGACTTTCCTGACACCCTTGGGAATAGGAAATCTGCCCTGAttttttttttttttttttttAAGAAAAATGTCAGGCTCTCAAATACTTTAAAAAAAACAAAACAATTGTGGCAAGGACCATAGAAAATCATCAAGCTTGTGTTGAAAGCATTTTATAGTTGGGGAAACAGCCATTCAGCCAGGCCGGCACtgcaggggggacagagagaaatgagccatcatccctgcttcccaggagcttagagacgagtgTTAAGATTTTTATAAACATCTtcattcatctgctttaaattgttgaaaggttctccatcaactcctggactcagttcaacctccttggtgtggcattcaagaccttgtgtgatatgaccactttggcctcctcataggtctcttccccttctttgagccacttggctctactgttttgcctacactgggctgagtttctgacacttcaggacctgtgtacacagctgtccctctgcgaagagcacctccctttcctcttttccctctgtcagcccacctcctccctcctcccagtcttagggctgagccctctctgtgagtgacctccgcctgccagagctttccatctgggttcttgcctccctgtccctcgctgtggggtcacctgtttgtcttggttttgatgaacaccctcaggtcagaggttgcctctcagcattcttgtatctctgtgcctaacacagagcctgccacatagttggtgcCGTAACATCGAGTGCATTACAAATATCACAGGTCCAGGTAGAACATGACTGGGGCCAAAGAGGTTCTGGGCTCAAAGGAAGGGGCACCACAGCCCATGGGGGCTGGAATATGCCCCCTAACACGGAGAACCTTTGTGGTGGACTCAACCCCTTGTCCTTGCTCCAGACCTGCACAGGCATCGGTCCTGACCCGGTCCTGGGTGAACCACACAGGGCAggtttaacacgggcatgtgatccaattctggccaatgagacaaaaggacaggtctcctggggacttctgggagaggtttcctcgctcttaaactgagacatgagaaaaggaatcggtccttaccaattccttacccagtcaaggaccttattgttacatgtgatgcctggacctgcagcagccaccttggacctgagggTCCTGCTTGGCTGATGGAGACTGACAGCGTCATTCTGACTTTGGTCTGCACCTGAACCTTCCTCACCCAGACACCCTTAGGAATAGGAAACGGGCCTTGATTTTGCTCTACAAGGAAAAACGCACAGCCACGAGCAAAGATGGACAGAACCATCACCCCAACAGTGCTGAGGGGCTGCTGCATTGGTGCACCCTGGTGCAGCAAGACCTCAGCTGtcctcattgtttaagccactctgagttggttatctgtcacttgcaacccatggcactctaGTGATTACagctttgaagaatggactgggcttccacaggtgggtgccgggcaggagagcctctcaggtaggggcagcgtgtgGGGTGTGTGGCCCACGGCCCACCTGGAGGGCAGCACGCCACAGAGGCCACCCTAGGAGAACTGGCAGGGCCGACACTGGGTCCTGCTCCTCATTGGGACATTCACTGCCTTTCCTCCCTGTCATCGCCCCTCTTCGAGATCTGCTGGGAACATGCGAGTTATGTGCTTGTGCTTTGACATGACTTAATAAAGAAAGGGCTTTAAAAAGCCAGGAGAAAAGGCTGAGTAAATAAACAGCACTTCACTCTCTGCCTTGGACAACAGAGCAACCGCCCTCATTTCTTTTTGTCAGAACAGAGATAATCCAATAATTAGGGCAGCAAATAGCATAACCCTGGCTAAAGCCGTAATGAACCATCTGGCTTGAATCATTGAGGCTTATTCTAAGGATCTGGTTGTCACAGCCCAGAGGGGGGCACCGCCTGGGGTACTGGGTGGAAGGCAGTCCCACCCCAGAACCTGTTCCCCCACCATGGACAAGAGCCAAGATTTCTGGGCTTCTGGGCCTAGGATGTTTGTCAGCCTCCCATAGGATCCAAGCCTAGGGTGGGGCCCCCCTCGAAGGGGGCGACAGGGGCCCAAGCTGGCCCTAGCTCAGTGGCACACCGTCCTCCTTAGCTCCTCTGAGCCCGTCTTCAGCATTTCTTTGGCATGTCCTGATAATACGGGTGTGGCCAGCCCACAGTTCAAGCTGGCAAAGCTGCATCCAGCTCTGCCCTGCACTGCTGACCTCATGTGAGTCTGGCCCCTGCACCGCATGTATCTCAGGCCAGGGGCCCAGCCCTGCTGCCAGGACATGCTCCCTGAAGGGCTGCTGAGCTGATGGATTGGAGATGGGGCTGGCTGGCCTGAGTTTCTAGCTTCCTGGTCCCCTCCTTGCTTTGTGGGTTCAGAGACAGCAAAAAAAAGAAAAAGAAAAAGCCTCTTGGCCATTCGCCATGCAGAGGGCCCTCTGTGGCACCAGGAGGGTGGCCTGAAGCTCTGCCCTCCCCTCTTACTTCCTTGGTGCAGCAGCAGAGATGCCAGAAATGGGAACAACTTTCCCATCCGTTCTTCTGGGGGAGGCTTTGGATTCAGGGCAGCCAAAGCAGTTACTTGGGTCCCACTCAGGGCCCACCCAGGGGATCACCAAGTCCAGGGTGAGCTTCGCACAGGGTGCCAGGGGCAGAGGGGAGGGGGGGTGGATCTAGGGCACAGCCCTGAGGGCAAAAAACTCTTCCGACCCAATCTCCCCAAGCTGGCAGGAAAGTGGAGGGACAAGACTGCTCCCCAGCCCCCACGCCCCAGGGCAGGGCCTTCATGTGCCAGGCGCTGGCCCGAGGGCCGTGGTCCAGGCCTCTAGAAAGTGCAAAGCAGGCAGTTTCCCCTACAGGGGCCCTGCTCTAACCGGCCACTGCTGATGGGCCTCCCCAGGTGGGGCGATGGGGGGTCTGTGCCCCGGGGGCACTGGTAATCCCTACCTTCAGCTTCTGGTGGCACATTTGATGCTTGGGAAACTCCAGGCCCGCAGCCCACAGGCCCTGGTGAGTGCCCAGGCCAGGCGCAGACATCCCTGCTGCGCAGGGGAGGGGCAGCACCAGCCCTGGAGAAGGGCCACATCCCGGGAAGGGCTGGGGTTTGACGAGACGCTGGTTTTCCAGGTCTCAGTGACAAGTCTGGAGCCACAGCTGAGCTAGGAGGGGGTTCTCACATGCCATCCCCACCCCGCGCAAACCGACTCCTCACTGGACTGCGACCTCTTCCGGCCTCGGTTTCCCAGCCAGTCCCGGCTCGGGCCGGACAGGCACCCTCGGGGACGGGAAAAGGCGCCAGGAGCGCCCACCGGCCGGGCCTCGGTCCCGGGACTCCGGCGCTTGCCTGCTCCCGGGGGCTCAGGGCTCAGTCCGGGAGGAGGGGGAGCGGGCTGGGGGGCCCTCTCTGCCCGGGGGCCGCGGGCGTAACAGGTGGGCGAAGGTGCGCGGCCCTGGCGAGGGCTGCGGCGGGGTCCATGGACACCGGAGGAGGAAACGCCAAGGTTTTTCCAAAGGACAAGCGGCCCCGCGGTCCTCCTGGTCCTCTGCTCGCGCGCCAGCAAAGCAGCTGCGCTCTGCGGGCCGCCGGGACCACGCGGGAGGCCGGGCCGCTCCCAGCCTCGGGCCCCTCCCCAGCTCGCCCCAGCCCCGACCCTCGGCCGCGAGGCCCTCCCGGAGCGGCTGGCGAGCGGGGAGCGACCGCGCGGCCGGCAGCAACTGGTGTCTCCCCGGGACGCAGCTCCGCCCTTCCCGGGAACAAAAGCAGCCGCCCGCGCCGGAGCTCCGGGAGGGCGGGCTGGCAGGGAGGGGGCGCGGCGCCGGCTCCGAGGAACCCGGCCCCGGAAATGGGACACCCCCAGGGGGTGCCCCCGAACTTCCCTCCTGTCCGGCCTGGGTCGGGGGAGGGCTCGAGGCCGGTGGGCAGGGCGCGGAGAGCGCACCGAGTGCGCCAGGGGCCCGCAAGCCCGCGGCGGGGTTGTGAACCGAGGCAGAGCGCGAGCGCGCGAGGGGGACCGGCGGAGGGAAGCCGCGAGGCCGTGGGGGGGCCGAGCCCGAGCCAGGGGAGGGGGCGCGAAGTCGGCGCGTGGGAAACTTACTGCAGTCGTCCGACTCGTAGCCGTCGGCGTCCGGCTCGTCCTCCGGCGGCTTGGCTGGCGGCCGCGCggggctgggacccgggctggggcccgggctggagccgTAGGCTCCGAAGAGCTGGTCCACATCCTCGTCGTCCTcgcgggcgccgtcggaggggctgcggcggccggcaccggccacagccgggcgcgcgggggcgtccgggggtgcagcggctcggggcccggcgtccgggggcaggccccgcgggAAGCGGGGGAAGTAGTCGGAGATCTGCTTGATGGGACGGATGGGGCCGGGGCACACGTCGATGGCCATATGCTCCTGGATGCTGATGGTCGCCTTCTCCCCGCGCCGCCGGAGGGTCATGCAGGCAGCGccgccccgccccgggcgcggcccggcccggcgcgaccccggcccgggggcggctcagcaggcccggcggggcgcggcGGGGGCTGCGGGCATCGCCGGCCGCGCCCCCGGACGGCCCTGACTTGGCCGCTGCCCGCTCCGCTGCGGACGGCGCGAGCGAGTGCCAGAGGCCGGCAGGCAGGGGGCGGGCCCAGCCCGCGTCACCCGGCAGCAACCAAGCAGGGTGAGTGTGCGGGCTGCGCGGGCGGCGCGGAGCGGAGGGAGCCGCGCGGCGCCACACTCACTCGCACTCGCACTCACACCGGCGTGCACGCCGGCCCGGGACCCCGCGCGCGCACACTCGCGGCCAGGCAGGGCCGCCGGGCGCCTTCCGCTCATGCACGCCCGCGGCACAAGCTGGGAGTCAACCCGGCAGGGACCCGCAGGACGCGCACCCACACGTTCCCGCGCGTGCCAGCCCACGCTGGGCTCCGCTCGCTCTCTCGGGACACACGCAGGTGTGCAAGTGCACACATGCGTGTGCAGAGACACGTGGTGGAAGCATCCGCTCGCTCACACCGTAGGTCACACACGCAAACGTCTGCATGCGCACATGGTTGTTTTAGGAAGCTGTGACACAGTACACCCCCAATGCACAGGCGCGCACACCTGATGGAGCACACACACAGGTGATCAAGGGCACCCAGGGCACAGGCTTCCCTACCCCCAAGCACCCCTAACAAGATGCACAAACATGAGCCCATAGAAGTGATCAGGGGACCCTGGGCACAACTCCTTCTCTCCTCCCCCTCTAGCAGGACGTGGAGTCACACTCCTAGCATGTAGGGACAGGTTGCCTACACACGGGCAGGACATGTACACGCTCAACTGCACAAGGACACCGGGGCTCAGTCTGTGCACACATATTCTCAGGTCACATACAACACAGCACTCTAACCTCGGGTCAGTCCCTCACTTGGTCAGTGAGTACAGTCTGAAGGACCCCCCGGGGCAGGGTGGCTGAGAACCTGCACAGGGCCTGGTCAGGAGGGAGTGAGGGCAGGGCCTGGGCGGTGAGTGATGCAATAAGGCTGGGCGGCACGCTCCCCCCACCCCCACTCCTACTCTAGGCCTCCCACACGGTCAGATCACTAAACAAATCCCAGAGGGCCCAGCCCTGGCTGTCCGGCTTTCCGGGACCAGAGCTCTGTTGGGAACTGCTGCTGCTTGGACAGGTGTGTTCCCGGAAAGCCCTGGGCATGGATGGAATCCTGTTTACCCTCTGGTTTCCACTGATGTGTAAGACACTTAGCTTCTTAGTGGGTGCCTTTGGTGCATCTGAATGAGGGGCTCCAAGCCTCTCTTGTTCCCCCACCATAACCCCTGCAGAGTGATGGGGAGCAGAGGAAAGAGAGGcaaagccttggcctgtggcttccagctgcacagttctggcaggctatttgacctctttgagcctcggtttcctcatctatgaagtgaggctatttccaactgcacagccttgtggcaaggccccatccagcacagacaggtaagaggtgctcagCTGGCTTTCCCTTCTCCCTTCCTTTGGAAAGACAAGACTCATGGTGAGAAGTGATGAGAAATTCATGTTTTGTGGTGAGTTCTGAACTGGGTGGTGGCGGGCACTACCGGCCTTTGAAAACACTGGAGAAACACATGGCATATGTTgtactgcgccaagaacattcacagctgtcatctcattgattccttaaaccaccccacgatgtaggcagggcctgctgttcccatttcacaggggaggaaattagcgctcaggcacaaggatgtgtccagggtgactgctggctggcggcagagctgcgatgagagcccagtgtcctgactgttcgatgcttccactttccctcccttctcccttTCCTCCCCTCCACTACAGAGCTCAGGGGCTCAGAGCAGAGTTGGAAACACAGGTAAAACCTCGTTCCCAAAGCTCATCCTGAGGCTTCTTGGACAGGGGAAGCCCAAACTgaggaggaggggaaggagggaaaaaaaggaggaggaagaggaggacgggaggaggCCAAGAGCCTCAGGGGTTACAGTGGGAATGAACCAGCCGGGGTTCCCTAAAGATAGTCTGAGGTCCTGGTGGGAGAAATATTCAGCCTTCCAAGAGCCAAAGGCCAAGGAAAGGACAGAAGAGCCTGGAAGGGCAGCCTGGCACAGAGGGGTTCTCATTTCCAGGAATGCTTAAGGGGATTAATCCTTAAATAGGCACAGGGTGACTTTTTCTGTGCCAGAGGTGGCTGCATCACAAAATGATTACATAATGACGCAGGTATTAAAATACAGACGCTGAACTGTCATTTTATCATTCCTTTACTAAGGAGCTGGAGGGtgtcgtcatcatcttacagatggggaaactgaggctgcgggaggtcaagtgactagcaagaggcagactggagatgagacctggacgtcctgactGCTGAGCCTGCCAAGGCCCTGTACCTGTGTTCACCGAGAGCTGGCCGCTCTCTCCTGGCCTCTTGTCCTATGGGTCTGGTTTTTGGAGGATCGGCTCATGGCTCTTGGCTCTGCAGGAGCTGGCTCTTGGGGAGGGCTTTGAAGAAGTCAGGTGGAGGGCCCAGCCTCCTAAGCATGGAGCCAGGGAACCCAAGGATGCCCACTGGAGAAACACATGGCATGTTGGGGTCTACCCTTTGGCAGGTGGCAGAGTTGAAATCCACTCTAGGTCTGAATTTGCCCAGCTCTGAGCCCAGCTGAAATGGGGTAGGGCCTCCCCGAGGGATAGAAGTGGATAGAAGTGGTGTTATCTGGGCAAGTGTCCACTTTCtagaaagagcataggtcagggagtaggcagacgtagagtcaaaagtcaggtgtgcctcctcctaagcgtaccggactttgggcaagttgtttaacttaggccctgggtctcatctgcaatgggggagaataagaacaacgttgtgtgagttaaaggtgaggatgggtatacagtgcttagcacagtgcccagtgtgcaactggcactcagggaattgtgattctgttGCCCCTGCCTTCCTGGTGCAAACCGTCCCATTGCAAATCTTCCTGGTGCAAACCGTCGTGGTGCAAACCTTCCTGGTGCAAATCGTCGTGGTGCAAACCTTCCTGGTGCAAACCGTCCCAGTGCAAAACTTCCTGGTGCAAATCGTCCTGGTGCAAACCTTCCTGATGCAAACTGTCATTGCGCTCCCAGTGCCTGCCTTGATTTCTCTACCAGTGACATGTGGTTGGCTGCTCCCTGTCTGCTGCCAGGACCAGGTGAGAAATGGATGCACTTGCCAAGGCTGGGCGCTGGCTGGCATGTGTGGGCATCTCTAAGCAGTTGGATATGTCCAAAGGCTCATCAATCATGTTGCCTTCCATTCCCCATGCTGAGGTGGGCAGCTGGGCAGCTGGACCAGCCTCTGGCAAAGTTAAGTGGATGGAGTCTGCCCTTGGTCACAGTCCTCAGAAGCCCTGTGCCCTTGCCTCTCTGCCTTCTGCTTTTCCCAACAAGCTTCTGAGCTTTCTCCCAACTCCCCACAGACCCTCTCAAAGGCTCCTCCTGTCAAGTGAGATAcagtgggttctttaaaaaatggtccaggtatctgtagcactagcatgtctatttactttgtcactgaggctggagtgcagtggtgtgatcatggctcactgcaacctcgacctcccgaggctcaagtgatcttcccaactcagcctctcaagtatctgggaccaaatgcatgcaccaccatccccagctaatttttaaaatttttgtagagacggggtcttgccatgttaccctggctagtctcaaactcctggctttaaatgattttcctgccctggcctctcaaaatgctgagattacaagcgtgagttgccacacccagcccaggatgtctatcaataatgcagattccaggcccccatctcacacccactgactcagaatatgtgtgtgcacactcaggatgcatcttaacaagcgcccctgatgattctggtgcacagtgaaggttgagactcgctgGGTTAGAGGGTGCTAATGGTTTAACGGTGATTTTCAACCTGCTGGGCTGCCTCTATACTGTTCACATGTGTAACATATGCCCATCAGTGACATCTCTCAATATTTAATGATTCTTCACTGGGGAAGTGAGTGACTAACCCAAGGCAGGTGTTGGAATTTCCAGAGAGGTTTGGCAAAGCCACAGTGGGGAGTCTGATCTCCTCCTGTTTGGGTATTCTGACCTCTTTCCCGGTGGAGAAGtgttgggagcaggccccccaaaatctagccataaactggccccaaaactggccataaacaaaacctctgcagcactgtgacatgttcataatggccctaacgcctccgctggaaggttgtgggtttaccggaatgagggcaaggaacacccggcccgcccaggacggaaaaccccttaaaggcgttcttaagccacaaacaataccgtgagtgatctgtgccttaagaacatgctcctgctgcagttaaccagcccaacctattcctttaattcagcccgtcccttcgtttcccataagggatacttttagttgatttaacatctatagaaacaatgccaatgactggcttgctgttagtaaatacgtgggtaaatctctgttccgggctctcagctctgaaggctgtgagacccctgatttcccactccacacctctatatttctgtgtgtgtgtctttaattcctctagcgccgctgggttagggtctccccgaccaagctggtctcggcaGAGAAGGACCAGTTAATGGCTCTTCTTAGCGTAGGTAACGTGTGTTGTTGAGGAAATGCCCTCTGTGCAGCACTTGGCTGGATGTTCCTTGGTTGGCATCTTGGCTGGTGTCCATGTGCCCGGAGAAGAAGGGCCCTCTCTGACCCAGGCCTAATATGTGTCCCCCGTTTCCACCCTTCCCTGATAACCGGAGGAGATCTTGTCCTGCTGTGCTAATAGAACGTTCTCTGTATTAACAGAAAATTTTAACCCAACAGAGGTGCTTGGATGGAGGAAATCCAAACAATGTTGCTGGTTGATGGAGAGGGGCATTCCAAGGTCTCTTGTCCATTCATTTATTCATGAAGCCACATttcaacaaatatttattgtgcacctgccctgtaacaggccccgagctgtgatctgtagggggctcagtgataaatgaagcCCATTTTTCTTTAGATTCCAGATGATGGAGGGGAAGTCAGGAAGGGAGGTAGGAACCACCACTCTAGGGGTCCCTTGCCTCCTTCTTGGCATACGCTATGGCCTCGGCATGGAGAGCATGATGGAGCACTGATGCCAGCAAGTCAGCTCAACATTTGCAATATAGCGTGTGGCTGCTTAGAGGCCAACTTGATATATTAAGTGATATTAAAAATGCAGCCTATTTCTGATAATTTATGCGCATTCTCATAAACACATTACACTCGTCACAGTACATTTACGAGCACCAGGCCTACCAGTGGGGAAAAGTTAACACCTACCTAATGATGTTGTTTTGCAGATGTCAGATGCTCTGGTGCTGCAGTGATGGGCTCAATGGTGCAAAGAAATGTGAGTCTTTCTTCTATCCTGGGACACCAGAAGGCTGCCCAGGGCTCGGCAGAAGAACCAGGCTCTCTCCCTCCACACTGCCAAGGTCTGTGCTGTGGGATTGGAAAGAGGCCGGGTGAGAGGCTCCCCTGCCAGGAGAGACTTAGCCCAGGATCAGGTTGCCTAAGGCAAGAGATTAGATGTCACAGAGGGATAATGCTGAATCCTCTGGGGAAGCTCTAGAAATGACCTCTGGGAGAAAGAGGGGCAGAGCCTGAGGCTTACATCACAGCACAGATCAGCCTCCCTCCCACAGGCCTGGGGACCACTAGAGCCCAGGGTCTTCATGACTGAAGTGAACATCTCAGCATTATACATGAATTAGAATGAGTAGAAACTCTAACTAGCCCAGGGCTGGTGGAAACCCAGGGCCAACAGCCACAAATGTTCCCTCCAATCGCTTTGAATTCATGATGCAATTCAAAGGAATTAACAATGCAAGTGGTAGCTTTCAATGATAACGTGTTCCACtttttgtgtttgagagagtctcactctgttgcccaggctgaagtgcaatggcacgatctcggttcactgccacctccacctcccgggttcaagcaattttcctgcctcagcctcctgagtagctgggactacaggtgactgccaccatgtttggcgggcgtagttctttgtatttttagtagagatggggtttcaccatgttggccacgctggtcttgaattcctgacctcaggtgatctgcccgcctcagtctcccaaagtgctgggattacaggtgtgaaccaccacacctggcACCCCCCGCCttttttttttttttttttttttttttagagactggaccttgctttgtcacccaggctggaatgccatggagtgatcatggctcactgcagtcttgaactcctgggctcacgtgatcctcccatctcagcctcctcaatagccagaaccacagatatgcaccaccacgtccagttaatctttttatgttttattttttaaagatgggtcttgctatgttgcccaggctTACATGAACTGAGttttacatttactacaaatgtgtgtacctataaacaatatatggtattgttttgcaagctttaaaactttgtaaaaatggcatcatactatacataacctcattaaactcatttttggcttattattatttgtgaagttttttcctgtagatgcatctagctatagtttgtttttattgctgtctactgttccactatgtgaatacgccataatttatttctcttttctcctattgttgatcatttaagctggttcctatgcgtggctatcatcaacatgctgcaatggctattcctgtttcctggtctgtatatgggatttctttttttgagacagggtctcactctattgcccaggctaaagttcagtcgtaccatctcggctcaccacagcctcaacctccctgggctcaggcgatcctcccacctcagcctcccgagtagctgggactgcaggcacataccaccacatctggctaatttttataatttttgtagagaaagggtttgccaggttgcccaggctagtctgaaactcctgagctcaagtgatcctcccacctcagcctcgcaaagtgctgggattacaggcgtgtgccaccacacctggccagggagagtttctttaagagagtttcttggataggaaatttgctgggcctagggtctgtatatctttaccttgactagagagtgcctagctgctccccaaactggttagaaccacggccattctcaccaaccatctctaacagtgccagttcctccttgtccttgtcaacacttggtattgccagacttgaatttttgctagtctggtaggttttttttatgtttaattagttctccttgctaactagtgCTACTTCATTTCTGCTGCTAAGGGTGGGCATGTGCTGTCAATAGATAAATGCAACAGATTAAAAATTGAAGAGCTtccatcaataagggattggctaaatacagtatgcctcacctgtacaatagaatactgcacaatcattaacaaagatgAGTGTGCTGATATGGAAGAGATATTGATATTCTGATGTACTAAATATCTTTTCATCTCCCAGATTTATTGTTACAAAGCAAGAGGCATAAAAAGCATATTCCCTTTGTAAATAAATGAAAAGATATGTATACACATGCATATTTGTATGTATATGCGCAGAATACCTCTGAAAGAATGAACAGGAAACTGGTAACCACAGTTCATCTGGGAAGAGCACTAGAGGACAGGGAAACTTTTTTGCTCTGTGAATTCTTACCACGCATGTGTATTAGCCTGTTGGAAAAAATTAGCcctagaataggcaaattcgtagagactgaaagtagaatagaggttgccagaggttttggggtagagaatagggggtttttatttgatagatgcattttctgtttgagatgatgagagagttctgaaatggatagtggtgatggttgtacaacattgtgattgtacttaatgccactcaactgtacacttaaaagcggttgaaatgggctgggcacggtggctcacacctggaatcccagcgcttcgggaagccaaggtgggcagatcacctgaggtcaggagttcacgaccagcctgaccaacatggtgaaaccccgtctctactaaaaatacaaaaattagctgggcgtggtggtggtcgcctataatcccagctactcaggaggctgaggcaggagaattgcttgaacctgggaggtggaggttgcagtgagccaagatcacgccactgtactccagcctgggcaacagaagtgagacctcatctcaaaaaaaaaaaaTGTTGAAATggcctggcacaatggttcacacctgtaatcccagccctcagggatgccaaggcaagaggatcacttgagcccaggagtttgagaccagcctgggaaagatggtgagactctgtctctacaaaatgttttttaaaaattagctgggtgcagtggtgcacaccctgtggtcccag pyfaidx-0.6.4/tests/data/download_gene_fasta.py000066400000000000000000000101161417603162300215770ustar00rootroot00000000000000#!/usr/bin/env python import os.path def fetch_genes(filename, suffix=None): from Bio import Entrez Entrez.email = "mdshw5@gmail.com" id_list = ['563317589', '557361099', '557361097', '543583796', '543583795', '543583794', '543583788', '543583786', '543583785', '543583740', '543583738', '530384540', '530384538', '530384536', '530384534', '530373237', '530373235', '530364726', '530364725', '530364724'] search_results = Entrez.read(Entrez.epost("nucleotide", id=",".join(id_list))) webenv = search_results["WebEnv"] query_key = search_results["QueryKey"] records = Entrez.efetch(db="nucleotide", rettype="fasta", retmode="text", webenv=webenv, query_key=query_key) with open(filename, 'w') as fasta: for line in records: if suffix is not None and line[0] == '>': line = line.rstrip('\n') line = ''.join([line, suffix, '\n']) if len(line) == 1: # skip lines with only \n continue fasta.write(line) with open(filename, 'r') as fasta: with open('.'.join([filename, 'lower']), 'w') as lower: for line in fasta: if line[0] != '>': line = line.lower() lower.write(line) def fetch_chr22(filename): import requests import gzip import io with requests.get('https://ftp-trace.ncbi.nih.gov/1000genomes/ftp/pilot_data/technical/reference/human_b36_male.fa.gz') as compressed: with open(filename, 'w') as fasta, gzip.GzipFile(fileobj=io.BytesIO(compressed.content)) as gz: chr22 = False for line in gz: line_content = line.decode() if line_content[0:3] == '>22': fasta.write(line_content) chr22 = True elif not chr22: continue elif chr22 and line_content[0] == '>': break elif chr22: fasta.write(line_content) def add_fake_chr(existing_fasta, filename): with open(filename, 'w') as fasta: with open(existing_fasta, 'r') as old_fa: for line in old_fa: fasta.write(line) fasta.write('>fake chromosome not in vcf\n') fasta.write('ATCG\n') def fake_chr22(filename): """ Fake up some data """ chr22_len = 49691432 mod_70 = chr22_len % 70 with open(filename, 'w') as fake_file: fake_file.write('>22 fake data for testing\n') while chr22_len > mod_70: fake_file.write('N' * 70 + '\n') chr22_len -= 70 fake_file.write('N' * mod_70 + '\n') def bgzip_compress_fasta(filename): from Bio.bgzf import BgzfWriter with BgzfWriter(filename=filename + '.gz') as compressed, open(filename, 'r') as fasta: for line in fasta: compressed.write(line) def fetch_chr22_vcf(filename): import requests with requests.get('https://ftp-trace.ncbi.nih.gov/1000genomes/ftp/pilot_data/release/2010_07/exon/snps/CEU.exon.2010_03.genotypes.vcf.gz') as vcf: with open(filename, 'wb') as out: out.write(vcf.content) with requests.get('https://ftp-trace.ncbi.nih.gov/1000genomes/ftp/pilot_data/release/2010_07/exon/snps/CEU.exon.2010_03.genotypes.vcf.gz.tbi') as tbi: with open(filename + '.tbi', 'wb') as out: out.write(tbi.content) if __name__ == "__main__": path = os.path.dirname(__file__) os.chdir(path) if not os.path.isfile("genes.fasta") or not os.path.isfile("genes.fasta.lower"): print("GETTING genes") fetch_genes("genes.fasta") if not os.path.isfile("chr22.vcf.gz"): print("GETTING vcf") fetch_chr22_vcf("chr22.vcf.gz") if not os.path.isfile("chr22.fasta"): print("GETTING chr22.fasta") fetch_chr22("chr22.fasta") if not os.path.isfile("chr22andfake.fasta"): print("adding fake chr") add_fake_chr("chr22.fasta", "chr22andfake.fasta") bgzip_compress_fasta("genes.fasta") bgzip_compress_fasta("chr22.fasta") pyfaidx-0.6.4/tests/data/gene.bed12000066400000000000000000000001441417603162300167770ustar00rootroot00000000000000chr17 6010 31420 uc010vpx.1 0 - 6012 31270 0 6 158,127,110,75,80,523, 0,5195,5861,7910,16317,24887, pyfaidx-0.6.4/tests/data/gene.bed12.fasta000066400000000000000000000021071417603162300200750ustar00rootroot00000000000000>chr17:6010-31420(-) CGGAGCGGGCAGCGGCCAAGTCAGGGCCGTCCGGGGGCGCGGCCGGCGATGCCCGCAGCCCCCgccgcgccccgccgggcctgctgagccgcccccgggccggggtcgcgccgggccgggccgcgcccggggcggggcggCGCTGCCTGCATGACCCTCCGGCGGCGCGGGGAGAAGGCGACCATCAGCATCCAGGAGCATATGGCCATCGACGTGTGCCCCGGCCCCATCCGTCCCATCAAGCAGATCTCCGACTACTTCCCCCGCTTcccgcggggcctgcccccggacgccgggccccgagccgctgcacccccggacgcccccgcgcgcccggctgtggccggtgccggccgccgcagcccctccgacggcgcccgcgAGGACGACGAGGATGTGGACCAGCTCTTCGGAGCCTAcggctccagcccgggccccagcccgggtcccagccccGCGCGGCCGCCAGCCAAGCCGCCGGAGGACGAGCCGGACGCCGACGGCTACGAGTCGGACGACTGCACTGCCCTGGGCACGCTGGACTTCAGCCTGCTGTATGACCAGGAGAACAACGCCCTCCACTGCACCATCACCAAGGCCAAGGGCCTGAAGCCAATGGACCACAATGGGCTGGCAGACCCCTACGTCAAGCTGCACCTGCTGCCAGGAGCCAGTAAGGCAAATAAGCTCAGAACAAAAACTCTCCGTAACACTCTGAACCCCACATGGAACGAGACCCTCACTTACTACGGGATCACAGATGAAGACATGATCCGCAAGACCCTGCGGATCTCTGTGTGTGACGAGGACAAATTCCGGCACAATGAGTTCATCGGGGAGACACGTGTGCCCCTGAAGAAGCTGAAACCCAACCACACCAAGACCTTCAGCATCTGCCTGGAGAAGCAGCTGCCGGTGGACAAGACTGAAGACAAGTCCCTGGAGGAGCGGGGCCGCATCCTCATCTCCCTCAAGTACAGCTCACAGAAGCAAGGCCTGCTGGTAGGCATCGTGCGGTGCGCCCACCTGGCCGCCATGGACGCCAACGGCTACTCGGACCCCTACGTGAAAAC pyfaidx-0.6.4/tests/data/genes.fasta000066400000000000000000002163771417603162300174040ustar00rootroot00000000000000>gi|563317589|dbj|AB821309.1| Homo sapiens FGFR2-AHCYL1 mRNA for FGFR2-AHCYL1 fusion kinase protein, complete cds ATGGTCAGCTGGGGTCGTTTCATCTGCCTGGTCGTGGTCACCATGGCAACCTTGTCCCTGGCCCGGCCCT CCTTCAGTTTAGTTGAGGATACCACATTAGAGCCAGAAGATGCCATCTCATCCGGAGATGATGAGGATGA CACCGATGGTGCGGAAGATTTTGTCAGTGAGAACAGTAACAACAAGAGAGCACCATACTGGACCAACACA GAAAAGATGGAAAAGCGGCTCCATGCTGTGCCTGCGGCCAACACTGTCAAGTTTCGCTGCCCAGCCGGGG GGAACCCAATGCCAACCATGCGGTGGCTGAAAAACGGGAAGGAGTTTAAGCAGGAGCATCGCATTGGAGG CTACAAGGTACGAAACCAGCACTGGAGCCTCATTATGGAAAGTGTGGTCCCATCTGACAAGGGAAATTAT ACCTGTGTGGTGGAGAATGAATACGGGTCCATCAATCACACGTACCACCTGGATGTTGTGGAGCGATCGC CTCACCGGCCCATCCTCCAAGCCGGACTGCCGGCAAATGCCTCCACAGTGGTCGGAGGAGACGTAGAGTT TGTCTGCAAGGTTTACAGTGATGCCCAGCCCCACATCCAGTGGATCAAGCACGTGGAAAAGAACGGCAGT AAATACGGGCCCGACGGGCTGCCCTACCTCAAGGTTCTCAAGCACTCGGGGATAAATAGTTCCAATGCAG AAGTGCTGGCTCTGTTCAATGTGACCGAGGCGGATGCTGGGGAATATATATGTAAGGTCTCCAATTATAT AGGGCAGGCCAACCAGTCTGCCTGGCTCACTGTCCTGCCAAAACAGCAAGCGCCTGGAAGAGAAAAGGAG ATTACAGCTTCCCCAGACTACCTGGAGATAGCCATTTACTGCATAGGGGTCTTCTTAATCGCCTGTATGG TGGTAACAGTCATCCTGTGCCGAATGAAGAACACGACCAAGAAGCCAGACTTCAGCAGCCAGCCGGCTGT GCACAAGCTGACCAAACGTATCCCCCTGCGGAGACAGGTAACAGTTTCGGCTGAGTCCAGCTCCTCCATG AACTCCAACACCCCGCTGGTGAGGATAACAACACGCCTCTCTTCAACGGCAGACACCCCCATGCTGGCAG GGGTCTCCGAGTATGAACTTCCAGAGGACCCAAAATGGGAGTTTCCAAGAGATAAGCTGACACTGGGCAA GCCCCTGGGAGAAGGTTGCTTTGGGCAAGTGGTCATGGCGGAAGCAGTGGGAATTGACAAAGACAAGCCC AAGGAGGCGGTCACCGTGGCCGTGAAGATGTTGAAAGATGATGCCACAGAGAAAGACCTTTCTGATCTGG TGTCAGAGATGGAGATGATGAAGATGATTGGGAAACACAAGAATATCATAAATCTTCTTGGAGCCTGCAC ACAGGATGGGCCTCTCTATGTCATAGTTGAGTATGCCTCTAAAGGCAACCTCCGAGAATACCTCCGAGCC CGGAGGCCACCCGGGATGGAGTACTCCTATGACATTAACCGTGTTCCTGAGGAGCAGATGACCTTCAAGG ACTTGGTGTCATGCACCTACCAGCTGGCCAGAGGCATGGAGTACTTGGCTTCCCAAAAATGTATTCATCG AGATTTAGCAGCCAGAAATGTTTTGGTAACAGAAAACAATGTGATGAAAATAGCAGACTTTGGACTCGCC AGAGATATCAACAATATAGACTATTACAAAAAGACCACCAATGGGCGGCTTCCAGTCAAGTGGATGGCTC CAGAAGCCCTGTTTGATAGAGTATACACTCATCAGAGTGATGTCTGGTCCTTCGGGGTGTTAATGTGGGA GATCTTCACTTTAGGGGGCTCGCCCTACCCAGGGATTCCCGTGGAGGAACTTTTTAAGCTGCTGAAGGAA GGACACAGAATGGATAAGCCAGCCAACTGCACCAACGAACTGTACATGATGATGAGGGACTGTTGGCATG CAGTGCCCTCCCAGAGACCAACGTTCAAGCAGTTGGTAGAAGACTTGGATCGAATTCTCACTCTCACAAC CAATGAGCAATTCCAGTTTGCTGATGACATGCAGGAGTTCACCAAATTCCCCACCAAAACTGGCCGAAGA TCTTTGTCTCGCTCGATCTCACAGTCCTCCACTGACAGCTACAGTTCAGCTGCATCCTACACAGATAGCT CTGATGATGAGGTTTCTCCCCGAGAGAAGCAGCAAACCAACTCCAAGGGCAGCAGCAATTTCTGTGTGAA GAACATCAAGCAGGCAGAATTTGGACGCCGGGAGATTGAGATTGCAGAGCAAGACATGTCTGCTCTGATT TCACTCAGGAAACGTGCTCAGGGGGAGAAGCCCTTGGCTGGTGCTAAAATAGTGGGCTGTACACACATCA CAGCCCAGACAGCGGTGTTGATTGAGACACTCTGTGCCCTGGGGGCTCAGTGCCGCTGGTCTGCTTGTAA CATCTACTCAACTCAGAATGAAGTAGCTGCAGCACTGGCTGAGGCTGGAGTTGCAGTGTTCGCTTGGAAG GGCGAGTCAGAAGATGACTTCTGGTGGTGTATTGACCGCTGTGTGAACATGGATGGGTGGCAGGCCAACA TGATCCTGGATGATGGGGGAGACTTAACCCACTGGGTTTATAAGAAGTATCCAAACGTGTTTAAGAAGAT CCGAGGCATTGTGGAAGAGAGCGTGACTGGTGTTCACAGGCTGTATCAGCTCTCCAAAGCTGGGAAGCTC TGTGTTCCGGCCATGAACGTCAATGATTCTGTTACCAAACAGAAGTTTGATAACTTGTACTGCTGCCGAG AATCCATTTTGGATGGCCTGAAGAGGACCACAGATGTGATGTTTGGTGGGAAACAAGTGGTGGTGTGTGG CTATGGTGAGGTAGGCAAGGGCTGCTGTGCTGCTCTCAAAGCTCTTGGAGCAATTGTCTACATTACCGAA ATCGACCCCATCTGTGCTCTGCAGGCCTGCATGGATGGGTTCAGGGTGGTAAAGCTAAATGAAGTCATCC GGCAAGTCGATGTCGTAATAACTTGCACAGGAAATAAGAATGTAGTGACACGGGAGCACTTGGATCGCAT GAAAAACAGTTGTATCGTATGCAATATGGGCCACTCCAACACAGAAATCGATGTGACCAGCCTCCGCACT CCGGAGCTGACGTGGGAGCGAGTACGTTCTCAGGTGGACCATGTCATCTGGCCAGATGGCAAACGAGTTG TCCTCCTGGCAGAGGGTCGTCTACTCAATTTGAGCTGCTCCACAGTTCCCACCTTTGTTCTGTCCATCAC AGCCACAACACAGGCTTTGGCACTGATAGAACTCTATAATGCACCCGAGGGGCGATACAAGCAGGATGTG TACTTGCTTCCTAAGAAAATGGATGAATACGTTGCCAGCTTGCATCTGCCATCATTTGATGCCCACCTTA CAGAGCTGACAGATGACCAAGCAAAATATCTGGGACTCAACAAAAATGGGCCATTCAAACCTAATTATTA CAGATACTAA >gi|557361099|gb|KF435150.1| Homo sapiens MDM4 protein variant Y (MDM4) mRNA, complete cds, alternatively spliced ATGACATCATTTTCCACCTCTGCTCAGTGTTCAACATCTGACAGTGCTTGCAGGATCTCTCCTGGACAAA TCAATCAGGTACGACCAAAACTGCCGCTTTTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTT CACTGTTAAAGAGGTCATGCACTATTTAGGTCAGTACATAATGGTGAAGCAACTTTATGATCAGCAGGAG CAGCATATGGTATATTGTGGTGGAGATCTTTTGGGAGAACTACTGGGACGTCAGAGCTTCTCCGTGAAAG ACCCAAGCCCTCTCTATGATATGCTAAGAAAGAATCTTGTCACTTTAGCCACTGCTACTACAGCAAAGTG CAGAGGAAAGTTCCACTTCCAGAAAAAGAACTACAGAAGACGATATCCCCACACTGCCTACCTCAGAGCA TAAATGCATACATTCTAGAGAAGGTGATTGAAGTGGGAAAAAATGATGACCTGGAGGACTC >gi|557361097|gb|KF435149.1| Homo sapiens MDM4 protein variant G (MDM4) mRNA, complete cds ATGACATCATTTTCCACCTCTGCTCAGTGTTCAACATCTGACAGTGCTTGCAGGATCTCTCCTGGACAAA TCAATCAGGTACGACCAAAACTGCCGCTTTTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTT CACTGTTAAAGAGGTCATGCACTATTTAGGTCAGTACATAATGGTGAAGCAACTTTATGATCAGCAGGAG CAGCATATGGTATATTGTGGTGGAGATCTTTTGGGAGAACTACTGGGACGTCAGAGCTTCTCCGTGAAAG ACCCAAGCCCTCTCTATGATATGCTAAGAAAGAATCTTGTCACTTTAGCCACTGCTACTACAGCAAAGTG CAGAGGAAAGTTCCACTTCCAGAAAAAGAACTACAGAAGACGATATCCCCACACTGCCTACCTCAGAGCA TAAATGCATACATTCTAGAGAAGATGAAGACTTAATTGAAAATTTAGCCCAAGATGAAACATCTAGGCTG GACCTTGGATTTGAGGAGTGGGATGTAGCTGGCCTGCCTTGGTGGTTTTTAGGAAACTTGAGAAGCAACT ATACACCTAGAAGTAATGGCTCAACTGATTTACAGACAAATCAGGTGATTGAAGTGGGAAAAAATGATGA CCTGGAGGACTC >gi|543583796|ref|NR_104216.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 8, non-coding RNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTACTAACATTCTGAGAGAGCCTGTGTGTTTAGGAGGATGTGAGCACATCT TCTGTAGTAATTGTGTAAGTGACTGCATTGGAACTGGATGTCCAGTGTGTTACACCCCGGCCTGGATACA AGACTTGAAGATAAATAGACAACTGGACAGCATGATTCAACTTTGTAGTAAGCTTCGAAATTTGCTACAT GACAATGAGCTGTCAGGGCGACATACCTTCTGTTGAATACCTTTTACAAAATGGAAGTGATCCAAATGTT AAAGACCATGCTGGATGGACACCATTGCATGAAGCTTGCAATCATGGGCACCTGAAGGTAGTGGAATTAT TGCTCCAGCATAAGGCATTGGTGAACACCACCGGGTATCAAAATGACTCACCACTTCACGATGCAGCCAA GAATGGGCATGTGGATATAGTCAAGCTGTTACTTTCCTATGGAGCCTCCAGAAATGCTGTTAATATATTT GGTCTGCGGCCTGTCGATTATACAGATGATGAAAGTATGAAATCGCTATTGCTGCTACCAGAGAAGAATG AATCATCCTCAGCTAGCCACTGCTCAGTAATGAACACTGGGCAGCGTAGGGATGGACCTCTTGTACTTAT AGGCAGTGGGCTGTCTTCAGAACAACAGAAAATGCTCAGTGAGCTTGCAGTAATTCTTAAGGCTAAAAAA TATACTGAGTTTGACAGTACAGTAACTCATGTTGTTGTTCCTGGTGATGCAGTTCAAAGTACCTTGAAGT GTATGCTTGGGATTCTCAATGGATGCTGGATTCTAAAATTTGAATGGGTAAAAGCATGTCTACGAAGAAA AGTATGTGAACAGGAAGAAAAGTATGAAATTCCTGAAGGTCCACGCAGAAGCAGGCTCAACAGAGAACAG CTGTTGCCAAAGCTGTTTGATGGATGCTACTTCTATTTGTGGGGAACCTTCAAACACCATCCAAAGGACA ACCTTATTAAGCTCGTCACTGCAGGTGGGGGCCAGATCCTCAGTAGAAAGCCCAAGCCAGACAGTGACGT GACTCAGACCATCAATACAGTCGCATACCATGCGAGACCCGATTCTGATCAGCGCTTCTGCACACAGTAT ATCATCTATGAAGATTTGTGTAATTATCACCCAGAGAGGGTTCGGCAGGGCAAAGTCTGGAAGGCTCCTT CGAGCTGGTTTATAGACTGTGTGATGTCCTTTGAGTTGCTTCCTCTTGACAGCTGAATATTATACCAGAT GAACATTTCAAATTGAATTTGCACGGTTTGTGAGAGCCCAGTCATTGTACTGTTTTTAATGTTCACATTT TTACAAATAGGTAGAGTCATTCATATTTGTCTTTGAATCAAAAAAAAAAAAAAAGTCTAATGCCAGATTA GGAATTCATGTTATGTTTACCATTTAGAAGCTGGGATTGCTTTTAAAGGTTTTTCTTTTTAAAATTGGCA TGTTTTTGATTTATCATGTCTTTCTATTCAGATTATTGGGTATCAAAGATTAATGAGGACACCAGAATCT TGGTTAAATAGACAAGTGGTATCATTACTGTTTGAGTCTTTTAATATTCTCCATACCTGCCACCAGTGAA AAAACTTGCCTTTTTTTTTTTTTTTTTTTTAGTAAACAGAATATTATCAAACAATTTATTTTGGCTTTAT TGAAAAAAGAGTATTTGGTCTAAATGTGCCACCATAGGTGTTAAATTCTCCTATCTGCAATTGTCTTTAT CCTATATTGTGTTCATTTCTTTTCTTAATAATTTACTTTGTTGTGTGTTTCTACACTTTCATCCCTGTTT TTTATCTTGTATATCATCAGGAAATTGTGATTTAATCATTAACATTGGTTTTTTTGTGTGTGTGGTAAAA ATCAACACTAGGCTCATGGTACATATTTTTATTCTGTACATTTGCTTGTAACTATCAATTTGTAACTCTG TTTATCTACTACATGTGTATATATACTTAGAGCATTTTCTCTAACACATTTTAATGTTAGTATTTTTTAA AAGGTCTGACCAGTCTAGCAAATTGTCAGTCCAACGTCATTACTTTAAATTAAGAAGCAGTCTTCTTCTG GTAAACCTTGTTGGTATTTGTAAAATAATTTTGAAGGTCTTAATTTCTTCCTTTGTAAAAGGAAAAGGTT TTTTTTAAAGTTTTTAGGTTGGCATGGAGGCAGAAGTTGGTGATTACTTGATTTACAACAGATTTTTTCC AGATCATACAAAAGGCCATACAGTAAGTATAGAAGTAGGTATGGGGAGGGCTTACTAATATCAAATAGGC AAGGCCTTAGTGAGTGGGCAGGATACCACCTGAGAGTGGCCAGATGTGGGGAGGTTACTCTGCTCTGGGT GCTCTCATTCATGAATCGACAAGGATACATTAGATTATTTTGAAACATTTTTTTAAGAAGCAGAATTCTT TAATAATTCCTTCCTAGACATTGAATATACTTATAAAATTAAAGACTTGGGGAAGGAGACACTGAGAGAC TTGCCAGTTTGGTTCCTCATGAACAAAAGAGGACAGTTTGATAACTACCAGAATAGAATATCCCTAGTTT TAAAATAGTGAGAATCTCTGAAGTTCATCAACATCTTAAGATGCACTTACTTGAAAGTTTGAGATTCTGT TTATCATTTGAAAACACATTTTGCTTTAATTCTTTCTTTGACATGTTGTTTTTTCATATCAAGAAATATA TGAACAAAATAATAACCTTTTGACCCTGACCTTGCTGGGTGAATTAGCTCTGAAACACTCTCTACAACCA GTAATGCATTTGTCCCACATTTCATTCTGATAGAAAATGAACACCATAGCACCAAACAAAAATCCGAGGC GTTAGATAATGTCTGGATTAAATAATTTAAGACTCTCTAGGATTTTGGTTGTCATTTTTTATTTATAACA GACTTTAAGTCACTTTCTGTTGCCTCATAGGTCACATTTTAGACAGGTTTGTGTCTGTTCCTTGCATCTG AATTCCTGATTGTAAAGACACCTATGAGGTCTCTTAGTTTTTGTCATTCATTTTCTTGGTTTATCACCCC TCCCTTCTTTTTGTTGTTTTTCCCTGACTGTTAAGCAGTTTCATCTTTGCTTTTGTTAAATATTTGACAG CAGTTAGTTTGTGTTAAGCTCTTGAAACTTGTGATTGTACTTTCTGTGTAGATATACATGTAATTATTTT TTATTTTTCAATCATAGATTCAAGCTTCCTTCTTTTTTACCACAAATCATTAAAGTTATTTGTGTTTCCA TATACCTGTGTCTTGTATAAAATTGGCTTATTCTGTGCTGTTGAATGAGGCTCAACATGACTTGGTGAGG AAGTCTATTAACTAACAAAAGCTTATCTTTTTTAACATAATGCTTTTTAATTAATTTTGAATAAAAATAT TTCTAAAGTGTACTAGATACTTTATTACCTTAGATTATTCCGAATACAGTATAACTTTGATAGTTTGGAA TAGTCATTAAGAAACAATTACACACTGATTGCTTTGTGTCTCTAAAAGTGAGAGGCTGGTAGCTTTTCCA CATTCTCATGGCTATTTTCTAGTTCTACTTGAATTTATAACTGTTTCCCTTTTTCCTTGACAGCTGCCAC TTTGTAGCTATTTTTCTGTCTCTGCTAATACTTTACCATATCTATCTCAATTGTTTTTTCTTTTGACTTG CTGAAAAATAGAAACCAGATGGGAAGTATATTAGCATTATGATTGAAATAAGGGTAAATGAGCAATGTGT GAAGGTTTTCACTGACTTCACCTAAAAGATAGTTTAGCTACTTGAATTTTAGTAAATAGAATTTTTCCTT TATTTCATCGGTCCCCCCACCTTTTTTTTTTTTTGCACCTGCCTTGTAAATTTAATAGTTAAGTGACCTC TGCCTAGAGGATGATATTTGGGGAGGTTTGATGTTTCCTGTGGGAATAAGACGATTCACAGGTGAGAGTG GGGCCACATTAGCTGTTATTGTTTCCATGGGTCAGTGTGGAAAATGCATTAATCATATTCTAAACGTTCA TGGGCCTCATTACAGTCACAATTGTCTATTCTGTTTCCTACCCTGAACACATTAAAATGGTAGGAACTAA TGCTTGTCTTATTTAATTACTAAAAGCCACCATTTTCTTTGATAGATTGAGCTACAGATTGTAAACTTCA TGTATTTCTTTATAAGTCAACCCTTTTCAAAGATACGCACATCAAACTGAATGAATAAATAAATATTGAG AAGTTGAAAAAAAAAAAAAAAAA >gi|543583795|ref|NR_104215.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 7, non-coding RNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGATTTGAAAGAAGATAAACCTAGGAAAAGTTTGTTTAATGATGCAGGAAAC AAGAAGAATTCAATTAAAATGTGGTTTAGCCCTCGAAGTAAGAAAGTCAGATATGTTGTGAGTAAAGCTT CAGTGCAAACCCAGCCTGCAATAAAAAAAGATGCAAGTGCTCAGCAAGACTCATATGAATTTGTTTCCCC AAGTCCTCCTGCAGATGTTTCTGAGAGGGCTAAAAAGGCTTCTGCAAGATCTGGAAAAAAGCAAAAAAAG AAAACTTTAGCTGAAATCAACCAAAAATGGAATTTAGAGGCAGAAAAAGAAGATGGTGAATTTGACTCCA AAGAGGAATCTAAGCAAAAGCTGGTATCCTTCTGTAGCCAACCATCTGTTATCTCCAGTCCTCAGATAAA TGGTGAAATAGACTTACTAGCAAGTGGCTCCTTGACAGAATCTGAATGTTTTGGAAGTTTAACTGAAGTC TCTTTACCATTGGCTGAGCAAATAGAGTCTCCAGACACTAAGAGCAGGAATGAAGTAGTGACTCCTGAGA AGGTCTGCAAAAATTATCTTACATCTAAGAAATCTTTGCCATTAGAAAATAATGGAAAACGTGGCCATCA CAATAGACTTTCCAGTCCCATTTCTAAGAGATGTAGAACCAGCATTCTGAGCACCAGTGGAGATTTTGTT AAGCAAACGGTGCCCTCAGAAAATATACCATTGCCTGAATGTTCTTCACCACCTTCATGCAAACGTAAAG TTGGTGGTACATCAGGGAGGAAAAACAGTAACATGTCCGATGAATTCATTAGTCTTTCACCAGGTACACC ACCTTCTACATTAAGTAGTTCAAGTTACAGGCGAGTGATGTCTAGTCCCTCAGCAATGAAGCTGTTGCCC AATATGGCTGTGAAAAGAAATCATAGAGGAGAGACTTTGCTCCATATTGCTTCTATTAAGGGCGACATAC CTTCTGTTGAATACCTTTTACAAAATGGAAGTGATCCAAATGTTAAAGACCATGCTGGATGGACACCATT GCATGAAGCTTGCAATCATGGGCACCTGAAGGTAGTGGAATTATTGCTCCAGCATAAGGCATTGGTGAAC ACCACCGGGTATCAAAATGACTCACCACTTCACGATGCAGCCAAGAATGGGCATGTGGATATAGTCAAGC TGTTACTTTCCTATGGAGCCTCCAGAAATGCTGTTAATATATTTGGTCTGCGGCCTGTCGATTATACAGA TGATGAAAGTATGAAATCGCTATTGCTGCTACCAGAGAAGAATGAATCATCCTCAGCTAGCCACTGCTCA GTAATGAACACTGGGCAGCGTAGGGATGGACCTCTTGTACTTATAGGCAGTGGGCTGTCTTCAGAACAAC AGAAAATGCTCAGTGAGCTTGCAGTAATTCTTAAGGCTAAAAAATATACTGAGTTTGACAGTACAGTAAC TCATGTTGTTGTTCCTGGTGATGCAGTTCAAAGTACCTTGAAGTGTATGCTTGGGATTCTCAATGGATGC TGGATTCTAAAATTTGAATGGGTAAAAGCATGTCTACGAAGAAAAGTATGTGAACAGGAAGAAAAGTATG AAATTCCTGAAGGTCCACGCAGAAGCAGGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTTTGATGGATG CTACTTCTATTTGTGGGGAACCTTCAAACACCATCCAAAGGACAACCTTATTAAGCTCGTCACTGCAGGT GGGGGCCAGATCCTCAGTAGAAAGCCCAAGCCAGACAGTGACGTGACTCAGACCATCAATACAGTCGCAT ACCATGCGAGACCCGATTCTGATCAGCGCTTCTGCACACAGTATATCATCTATGAAGATTTGTGTAATTA TCACCCAGAGAGGGTTCGGCAGGGCAAAGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGACTGTGTGATG TCCTTTGAGTTGCTTCCTCTTGACAGCTGAATATTATACCAGATGAACATTTCAAATTGAATTTGCACGG TTTGTGAGAGCCCAGTCATTGTACTGTTTTTAATGTTCACATTTTTACAAATAGGTAGAGTCATTCATAT TTGTCTTTGAATCAAAAAAAAAAAAAAAGTCTAATGCCAGATTAGGAATTCATGTTATGTTTACCATTTA GAAGCTGGGATTGCTTTTAAAGGTTTTTCTTTTTAAAATTGGCATGTTTTTGATTTATCATGTCTTTCTA TTCAGATTATTGGGTATCAAAGATTAATGAGGACACCAGAATCTTGGTTAAATAGACAAGTGGTATCATT ACTGTTTGAGTCTTTTAATATTCTCCATACCTGCCACCAGTGAAAAAACTTGCCTTTTTTTTTTTTTTTT TTTTAGTAAACAGAATATTATCAAACAATTTATTTTGGCTTTATTGAAAAAAGAGTATTTGGTCTAAATG TGCCACCATAGGTGTTAAATTCTCCTATCTGCAATTGTCTTTATCCTATATTGTGTTCATTTCTTTTCTT AATAATTTACTTTGTTGTGTGTTTCTACACTTTCATCCCTGTTTTTTATCTTGTATATCATCAGGAAATT GTGATTTAATCATTAACATTGGTTTTTTTGTGTGTGTGGTAAAAATCAACACTAGGCTCATGGTACATAT TTTTATTCTGTACATTTGCTTGTAACTATCAATTTGTAACTCTGTTTATCTACTACATGTGTATATATAC TTAGAGCATTTTCTCTAACACATTTTAATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTAGCAAATTGT CAGTCCAACGTCATTACTTTAAATTAAGAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTATTTGTAAAAT AATTTTGAAGGTCTTAATTTCTTCCTTTGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAGGTTGGCATG GAGGCAGAAGTTGGTGATTACTTGATTTACAACAGATTTTTTCCAGATCATACAAAAGGCCATACAGTAA GTATAGAAGTAGGTATGGGGAGGGCTTACTAATATCAAATAGGCAAGGCCTTAGTGAGTGGGCAGGATAC CACCTGAGAGTGGCCAGATGTGGGGAGGTTACTCTGCTCTGGGTGCTCTCATTCATGAATCGACAAGGAT ACATTAGATTATTTTGAAACATTTTTTTAAGAAGCAGAATTCTTTAATAATTCCTTCCTAGACATTGAAT ATACTTATAAAATTAAAGACTTGGGGAAGGAGACACTGAGAGACTTGCCAGTTTGGTTCCTCATGAACAA AAGAGGACAGTTTGATAACTACCAGAATAGAATATCCCTAGTTTTAAAATAGTGAGAATCTCTGAAGTTC ATCAACATCTTAAGATGCACTTACTTGAAAGTTTGAGATTCTGTTTATCATTTGAAAACACATTTTGCTT TAATTCTTTCTTTGACATGTTGTTTTTTCATATCAAGAAATATATGAACAAAATAATAACCTTTTGACCC TGACCTTGCTGGGTGAATTAGCTCTGAAACACTCTCTACAACCAGTAATGCATTTGTCCCACATTTCATT CTGATAGAAAATGAACACCATAGCACCAAACAAAAATCCGAGGCGTTAGATAATGTCTGGATTAAATAAT TTAAGACTCTCTAGGATTTTGGTTGTCATTTTTTATTTATAACAGACTTTAAGTCACTTTCTGTTGCCTC ATAGGTCACATTTTAGACAGGTTTGTGTCTGTTCCTTGCATCTGAATTCCTGATTGTAAAGACACCTATG AGGTCTCTTAGTTTTTGTCATTCATTTTCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGTTTTTCCCTG ACTGTTAAGCAGTTTCATCTTTGCTTTTGTTAAATATTTGACAGCAGTTAGTTTGTGTTAAGCTCTTGAA ACTTGTGATTGTACTTTCTGTGTAGATATACATGTAATTATTTTTTATTTTTCAATCATAGATTCAAGCT TCCTTCTTTTTTACCACAAATCATTAAAGTTATTTGTGTTTCCATATACCTGTGTCTTGTATAAAATTGG CTTATTCTGTGCTGTTGAATGAGGCTCAACATGACTTGGTGAGGAAGTCTATTAACTAACAAAAGCTTAT CTTTTTTAACATAATGCTTTTTAATTAATTTTGAATAAAAATATTTCTAAAGTGTACTAGATACTTTATT ACCTTAGATTATTCCGAATACAGTATAACTTTGATAGTTTGGAATAGTCATTAAGAAACAATTACACACT GATTGCTTTGTGTCTCTAAAAGTGAGAGGCTGGTAGCTTTTCCACATTCTCATGGCTATTTTCTAGTTCT ACTTGAATTTATAACTGTTTCCCTTTTTCCTTGACAGCTGCCACTTTGTAGCTATTTTTCTGTCTCTGCT AATACTTTACCATATCTATCTCAATTGTTTTTTCTTTTGACTTGCTGAAAAATAGAAACCAGATGGGAAG TATATTAGCATTATGATTGAAATAAGGGTAAATGAGCAATGTGTGAAGGTTTTCACTGACTTCACCTAAA AGATAGTTTAGCTACTTGAATTTTAGTAAATAGAATTTTTCCTTTATTTCATCGGTCCCCCCACCTTTTT TTTTTTTTGCACCTGCCTTGTAAATTTAATAGTTAAGTGACCTCTGCCTAGAGGATGATATTTGGGGAGG TTTGATGTTTCCTGTGGGAATAAGACGATTCACAGGTGAGAGTGGGGCCACATTAGCTGTTATTGTTTCC ATGGGTCAGTGTGGAAAATGCATTAATCATATTCTAAACGTTCATGGGCCTCATTACAGTCACAATTGTC TATTCTGTTTCCTACCCTGAACACATTAAAATGGTAGGAACTAATGCTTGTCTTATTTAATTACTAAAAG CCACCATTTTCTTTGATAGATTGAGCTACAGATTGTAAACTTCATGTATTTCTTTATAAGTCAACCCTTT TCAAAGATACGCACATCAAACTGAATGAATAAATAAATATTGAGAAGTTGAAAAAAAAAAAAAAAAA >gi|543583794|ref|NR_104212.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 6, non-coding RNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTACTAACATTCTGAGAGAGCCTGTGTGTTTAGGAGGATGTGAGCACATCT TCTGTAGATTTGAAAGAAGATAAACCTAGGAAAAGTTTGTTTAATGATGCAGGAAACAAGAAGAATTCAA TTAAAATGTGGTTTAGCCCTCGAAGTAAGAAAGTCAGATATGTTGTGAGTAAAGCTTCAGTGCAAACCCA GCCTGCAATAAAAAAAGATGCAAGTGCTCAGCAAGACTCATATGAATTTGTTTCCCCAAGTCCTCCTGCA GATGTTTCTGAGAGGGCTAAAAAGGCTTCTGCAAGATCTGGAAAAAAGCAAAAAAAGAAAACTTTAGCTG AAATCAACCAAAAATGGAATTTAGAGGCAGAAAAAGAAGATGGTGAATTTGACTCCAAAGAGGAATCTAA GCAAAAGCTGGTATCCTTCTGTAGCCAACCATCTGTTATCTCCAGTCCTCAGATAAATGGTGAAATAGAC TTACTAGCAAGTGGCTCCTTGACAGAATCTGAATGTTTTGGAAGTTTAACTGAAGTCTCTTTACCATTGG CTGAGCAAATAGAGTCTCCAGACACTAAGAGCAGGAATGAAGTAGTGACTCCTGAGAAGGTCTGCAAAAA TTATCTTACATCTAAGAAATCTTTGCCATTAGAAAATAATGGAAAACGTGGCCATCACAATAGACTTTCC AGTCCCATTTCTAAGAGATGTAGAACCAGCATTCTGAGCACCAGTGGAGATTTTGTTAAGCAAACGGTGC CCTCAGAAAATATACCATTGCCTGAATGTTCTTCACCACCTTCATGCAAACGTAAAGTTGGTGGTACATC AGGGAGGAAAAACAGTAACATGTCCGATGAATTCATTAGTCTTTCACCAGGTACACCACCTTCTACATTA AGTAGTTCAAGTTACAGGCGAGTGATGTCTAGTCCCTCAGCAATGAAGCTGTTGCCCAATATGGCTGTGA AAAGAAATCATAGAGGAGAGACTTTGCTCCATATTGCTTCTATTAAGGGCGACATACCTTCTGTTGAATA CCTTTTACAAAATGGAAGTGATCCAAATGTTAAAGACCATGCTGGATGGACACCATTGCATGAAGCTTGC AATCATGGGCACCTGAAGGTAGTGGAATTATTGCTCCAGCATAAGGCATTGGTGAACACCACCGGGTATC AAAATGACTCACCACTTCACGATGCAGCCAAGAATGGGCATGTGGATATAGTCAAGCTGTTACTTTCCTA TGGAGCCTCCAGAAATGCTGTTAATATATTTGGTCTGCGGCCTGTCGATTATACAGATGATGAAAGTATG AAATCGCTATTGCTGCTACCAGAGAAGAATGAATCATCCTCAGCTAGCCACTGCTCAGTAATGAACACTG GGCAGCGTAGGGATGGACCTCTTGTACTTATAGGCAGTGGGCTGTCTTCAGAACAACAGAAAATGCTCAG TGAGCTTGCAGTAATTCTTAAGGCTAAAAAATATACTGAGTTTGACAGTACAGTAACTCATGTTGTTGTT CCTGGTGATGCAGTTCAAAGTACCTTGAAGTGTATGCTTGGGATTCTCAATGGATGCTGGATTCTAAAAT TTGAATGGGTAAAAGCATGTCTACGAAGAAAAGTATGTGAACAGGAAGAAAAGTATGAAATTCCTGAAGG TCCACGCAGAAGCAGGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTTTGATGGATGCTACTTCTATTTG TGGGGAACCTTCAAACACCATCCAAAGGACAACCTTATTAAGCTCGTCACTGCAGGTGGGGGCCAGATCC TCAGTAGAAAGCCCAAGCCAGACAGTGACGTGACTCAGACCATCAATACAGTCGCATACCATGCGAGACC CGATTCTGATCAGCGCTTCTGCACACAGTATATCATCTATGAAGATTTGTGTAATTATCACCCAGAGAGG GTTCGGCAGGGCAAAGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGACTGTGTGATGTCCTTTGAGTTGC TTCCTCTTGACAGCTGAATATTATACCAGATGAACATTTCAAATTGAATTTGCACGGTTTGTGAGAGCCC AGTCATTGTACTGTTTTTAATGTTCACATTTTTACAAATAGGTAGAGTCATTCATATTTGTCTTTGAATC AAAAAAAAAAAAAAAGTCTAATGCCAGATTAGGAATTCATGTTATGTTTACCATTTAGAAGCTGGGATTG CTTTTAAAGGTTTTTCTTTTTAAAATTGGCATGTTTTTGATTTATCATGTCTTTCTATTCAGATTATTGG GTATCAAAGATTAATGAGGACACCAGAATCTTGGTTAAATAGACAAGTGGTATCATTACTGTTTGAGTCT TTTAATATTCTCCATACCTGCCACCAGTGAAAAAACTTGCCTTTTTTTTTTTTTTTTTTTTAGTAAACAG AATATTATCAAACAATTTATTTTGGCTTTATTGAAAAAAGAGTATTTGGTCTAAATGTGCCACCATAGGT GTTAAATTCTCCTATCTGCAATTGTCTTTATCCTATATTGTGTTCATTTCTTTTCTTAATAATTTACTTT GTTGTGTGTTTCTACACTTTCATCCCTGTTTTTTATCTTGTATATCATCAGGAAATTGTGATTTAATCAT TAACATTGGTTTTTTTGTGTGTGTGGTAAAAATCAACACTAGGCTCATGGTACATATTTTTATTCTGTAC ATTTGCTTGTAACTATCAATTTGTAACTCTGTTTATCTACTACATGTGTATATATACTTAGAGCATTTTC TCTAACACATTTTAATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTAGCAAATTGTCAGTCCAACGTCA TTACTTTAAATTAAGAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTATTTGTAAAATAATTTTGAAGGTC TTAATTTCTTCCTTTGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAGGTTGGCATGGAGGCAGAAGTTG GTGATTACTTGATTTACAACAGATTTTTTCCAGATCATACAAAAGGCCATACAGTAAGTATAGAAGTAGG TATGGGGAGGGCTTACTAATATCAAATAGGCAAGGCCTTAGTGAGTGGGCAGGATACCACCTGAGAGTGG CCAGATGTGGGGAGGTTACTCTGCTCTGGGTGCTCTCATTCATGAATCGACAAGGATACATTAGATTATT TTGAAACATTTTTTTAAGAAGCAGAATTCTTTAATAATTCCTTCCTAGACATTGAATATACTTATAAAAT TAAAGACTTGGGGAAGGAGACACTGAGAGACTTGCCAGTTTGGTTCCTCATGAACAAAAGAGGACAGTTT GATAACTACCAGAATAGAATATCCCTAGTTTTAAAATAGTGAGAATCTCTGAAGTTCATCAACATCTTAA GATGCACTTACTTGAAAGTTTGAGATTCTGTTTATCATTTGAAAACACATTTTGCTTTAATTCTTTCTTT GACATGTTGTTTTTTCATATCAAGAAATATATGAACAAAATAATAACCTTTTGACCCTGACCTTGCTGGG TGAATTAGCTCTGAAACACTCTCTACAACCAGTAATGCATTTGTCCCACATTTCATTCTGATAGAAAATG AACACCATAGCACCAAACAAAAATCCGAGGCGTTAGATAATGTCTGGATTAAATAATTTAAGACTCTCTA GGATTTTGGTTGTCATTTTTTATTTATAACAGACTTTAAGTCACTTTCTGTTGCCTCATAGGTCACATTT TAGACAGGTTTGTGTCTGTTCCTTGCATCTGAATTCCTGATTGTAAAGACACCTATGAGGTCTCTTAGTT TTTGTCATTCATTTTCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGTTTTTCCCTGACTGTTAAGCAGT TTCATCTTTGCTTTTGTTAAATATTTGACAGCAGTTAGTTTGTGTTAAGCTCTTGAAACTTGTGATTGTA CTTTCTGTGTAGATATACATGTAATTATTTTTTATTTTTCAATCATAGATTCAAGCTTCCTTCTTTTTTA CCACAAATCATTAAAGTTATTTGTGTTTCCATATACCTGTGTCTTGTATAAAATTGGCTTATTCTGTGCT GTTGAATGAGGCTCAACATGACTTGGTGAGGAAGTCTATTAACTAACAAAAGCTTATCTTTTTTAACATA ATGCTTTTTAATTAATTTTGAATAAAAATATTTCTAAAGTGTACTAGATACTTTATTACCTTAGATTATT CCGAATACAGTATAACTTTGATAGTTTGGAATAGTCATTAAGAAACAATTACACACTGATTGCTTTGTGT CTCTAAAAGTGAGAGGCTGGTAGCTTTTCCACATTCTCATGGCTATTTTCTAGTTCTACTTGAATTTATA ACTGTTTCCCTTTTTCCTTGACAGCTGCCACTTTGTAGCTATTTTTCTGTCTCTGCTAATACTTTACCAT ATCTATCTCAATTGTTTTTTCTTTTGACTTGCTGAAAAATAGAAACCAGATGGGAAGTATATTAGCATTA TGATTGAAATAAGGGTAAATGAGCAATGTGTGAAGGTTTTCACTGACTTCACCTAAAAGATAGTTTAGCT ACTTGAATTTTAGTAAATAGAATTTTTCCTTTATTTCATCGGTCCCCCCACCTTTTTTTTTTTTTGCACC TGCCTTGTAAATTTAATAGTTAAGTGACCTCTGCCTAGAGGATGATATTTGGGGAGGTTTGATGTTTCCT GTGGGAATAAGACGATTCACAGGTGAGAGTGGGGCCACATTAGCTGTTATTGTTTCCATGGGTCAGTGTG GAAAATGCATTAATCATATTCTAAACGTTCATGGGCCTCATTACAGTCACAATTGTCTATTCTGTTTCCT ACCCTGAACACATTAAAATGGTAGGAACTAATGCTTGTCTTATTTAATTACTAAAAGCCACCATTTTCTT TGATAGATTGAGCTACAGATTGTAAACTTCATGTATTTCTTTATAAGTCAACCCTTTTCAAAGATACGCA CATCAAACTGAATGAATAAATAAATATTGAGAAGTTGAAAAAAAAAAAAAAAAA >gi|543583788|ref|NM_001282545.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 3, mRNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTACTAACATTCTGAGAGAGCCTGTGTGTTTAGGAGGATGTGAGCACATCT TCTGTAGTAATATATTTGGTCTGCGGCCTGTCGATTATACAGATGATGAAAGTATGAAATCGCTATTGCT GCTACCAGAGAAGAATGAATCATCCTCAGCTAGCCACTGCTCAGTAATGAACACTGGGCAGCGTAGGGAT GGACCTCTTGTACTTATAGGCAGTGGGCTGTCTTCAGAACAACAGAAAATGCTCAGTGAGCTTGCAGTAA TTCTTAAGGCTAAAAAATATACTGAGTTTGACAGTACAGTAACTCATGTTGTTGTTCCTGGTGATGCAGT TCAAAGTACCTTGAAGTGTATGCTTGGGATTCTCAATGGATGCTGGATTCTAAAATTTGAATGGGTAAAA GCATGTCTACGAAGAAAAGTATGTGAACAGGAAGAAAAGTATGAAATTCCTGAAGGTCCACGCAGAAGCA GGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTTTGATGGATGCTACTTCTATTTGTGGGGAACCTTCAA ACACCATCCAAAGGACAACCTTATTAAGCTCGTCACTGCAGGTGGGGGCCAGATCCTCAGTAGAAAGCCC AAGCCAGACAGTGACGTGACTCAGACCATCAATACAGTCGCATACCATGCGAGACCCGATTCTGATCAGC GCTTCTGCACACAGTATATCATCTATGAAGATTTGTGTAATTATCACCCAGAGAGGGTTCGGCAGGGCAA AGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGACTGTGTGATGTCCTTTGAGTTGCTTCCTCTTGACAGC TGAATATTATACCAGATGAACATTTCAAATTGAATTTGCACGGTTTGTGAGAGCCCAGTCATTGTACTGT TTTTAATGTTCACATTTTTACAAATAGGTAGAGTCATTCATATTTGTCTTTGAATCAAAAAAAAAAAAAA AGTCTAATGCCAGATTAGGAATTCATGTTATGTTTACCATTTAGAAGCTGGGATTGCTTTTAAAGGTTTT TCTTTTTAAAATTGGCATGTTTTTGATTTATCATGTCTTTCTATTCAGATTATTGGGTATCAAAGATTAA TGAGGACACCAGAATCTTGGTTAAATAGACAAGTGGTATCATTACTGTTTGAGTCTTTTAATATTCTCCA TACCTGCCACCAGTGAAAAAACTTGCCTTTTTTTTTTTTTTTTTTTTAGTAAACAGAATATTATCAAACA ATTTATTTTGGCTTTATTGAAAAAAGAGTATTTGGTCTAAATGTGCCACCATAGGTGTTAAATTCTCCTA TCTGCAATTGTCTTTATCCTATATTGTGTTCATTTCTTTTCTTAATAATTTACTTTGTTGTGTGTTTCTA CACTTTCATCCCTGTTTTTTATCTTGTATATCATCAGGAAATTGTGATTTAATCATTAACATTGGTTTTT TTGTGTGTGTGGTAAAAATCAACACTAGGCTCATGGTACATATTTTTATTCTGTACATTTGCTTGTAACT ATCAATTTGTAACTCTGTTTATCTACTACATGTGTATATATACTTAGAGCATTTTCTCTAACACATTTTA ATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTAGCAAATTGTCAGTCCAACGTCATTACTTTAAATTAA GAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTATTTGTAAAATAATTTTGAAGGTCTTAATTTCTTCCTT TGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAGGTTGGCATGGAGGCAGAAGTTGGTGATTACTTGATT TACAACAGATTTTTTCCAGATCATACAAAAGGCCATACAGTAAGTATAGAAGTAGGTATGGGGAGGGCTT ACTAATATCAAATAGGCAAGGCCTTAGTGAGTGGGCAGGATACCACCTGAGAGTGGCCAGATGTGGGGAG GTTACTCTGCTCTGGGTGCTCTCATTCATGAATCGACAAGGATACATTAGATTATTTTGAAACATTTTTT TAAGAAGCAGAATTCTTTAATAATTCCTTCCTAGACATTGAATATACTTATAAAATTAAAGACTTGGGGA AGGAGACACTGAGAGACTTGCCAGTTTGGTTCCTCATGAACAAAAGAGGACAGTTTGATAACTACCAGAA TAGAATATCCCTAGTTTTAAAATAGTGAGAATCTCTGAAGTTCATCAACATCTTAAGATGCACTTACTTG AAAGTTTGAGATTCTGTTTATCATTTGAAAACACATTTTGCTTTAATTCTTTCTTTGACATGTTGTTTTT TCATATCAAGAAATATATGAACAAAATAATAACCTTTTGACCCTGACCTTGCTGGGTGAATTAGCTCTGA AACACTCTCTACAACCAGTAATGCATTTGTCCCACATTTCATTCTGATAGAAAATGAACACCATAGCACC AAACAAAAATCCGAGGCGTTAGATAATGTCTGGATTAAATAATTTAAGACTCTCTAGGATTTTGGTTGTC ATTTTTTATTTATAACAGACTTTAAGTCACTTTCTGTTGCCTCATAGGTCACATTTTAGACAGGTTTGTG TCTGTTCCTTGCATCTGAATTCCTGATTGTAAAGACACCTATGAGGTCTCTTAGTTTTTGTCATTCATTT TCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGTTTTTCCCTGACTGTTAAGCAGTTTCATCTTTGCTTT TGTTAAATATTTGACAGCAGTTAGTTTGTGTTAAGCTCTTGAAACTTGTGATTGTACTTTCTGTGTAGAT ATACATGTAATTATTTTTTATTTTTCAATCATAGATTCAAGCTTCCTTCTTTTTTACCACAAATCATTAA AGTTATTTGTGTTTCCATATACCTGTGTCTTGTATAAAATTGGCTTATTCTGTGCTGTTGAATGAGGCTC AACATGACTTGGTGAGGAAGTCTATTAACTAACAAAAGCTTATCTTTTTTAACATAATGCTTTTTAATTA ATTTTGAATAAAAATATTTCTAAAGTGTACTAGATACTTTATTACCTTAGATTATTCCGAATACAGTATA ACTTTGATAGTTTGGAATAGTCATTAAGAAACAATTACACACTGATTGCTTTGTGTCTCTAAAAGTGAGA GGCTGGTAGCTTTTCCACATTCTCATGGCTATTTTCTAGTTCTACTTGAATTTATAACTGTTTCCCTTTT TCCTTGACAGCTGCCACTTTGTAGCTATTTTTCTGTCTCTGCTAATACTTTACCATATCTATCTCAATTG TTTTTTCTTTTGACTTGCTGAAAAATAGAAACCAGATGGGAAGTATATTAGCATTATGATTGAAATAAGG GTAAATGAGCAATGTGTGAAGGTTTTCACTGACTTCACCTAAAAGATAGTTTAGCTACTTGAATTTTAGT AAATAGAATTTTTCCTTTATTTCATCGGTCCCCCCACCTTTTTTTTTTTTTGCACCTGCCTTGTAAATTT AATAGTTAAGTGACCTCTGCCTAGAGGATGATATTTGGGGAGGTTTGATGTTTCCTGTGGGAATAAGACG ATTCACAGGTGAGAGTGGGGCCACATTAGCTGTTATTGTTTCCATGGGTCAGTGTGGAAAATGCATTAAT CATATTCTAAACGTTCATGGGCCTCATTACAGTCACAATTGTCTATTCTGTTTCCTACCCTGAACACATT AAAATGGTAGGAACTAATGCTTGTCTTATTTAATTACTAAAAGCCACCATTTTCTTTGATAGATTGAGCT ACAGATTGTAAACTTCATGTATTTCTTTATAAGTCAACCCTTTTCAAAGATACGCACATCAAACTGAATG AATAAATAAATATTGAGAAGTTGAAAAAAAAAAAAAAAAA >gi|543583786|ref|NM_001282543.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 2, mRNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTAATTGTGTAAGTGACTGCATTGGAACTGGATGTCCAGTGTGTTACACCC CGGCCTGGATACAAGACTTGAAGATAAATAGACAACTGGACAGCATGATTCAACTTTGTAGTAAGCTTCG AAATTTGCTACATGACAATGAGCTGTCAGATTTGAAAGAAGATAAACCTAGGAAAAGTTTGTTTAATGAT GCAGGAAACAAGAAGAATTCAATTAAAATGTGGTTTAGCCCTCGAAGTAAGAAAGTCAGATATGTTGTGA GTAAAGCTTCAGTGCAAACCCAGCCTGCAATAAAAAAAGATGCAAGTGCTCAGCAAGACTCATATGAATT TGTTTCCCCAAGTCCTCCTGCAGATGTTTCTGAGAGGGCTAAAAAGGCTTCTGCAAGATCTGGAAAAAAG CAAAAAAAGAAAACTTTAGCTGAAATCAACCAAAAATGGAATTTAGAGGCAGAAAAAGAAGATGGTGAAT TTGACTCCAAAGAGGAATCTAAGCAAAAGCTGGTATCCTTCTGTAGCCAACCATCTGTTATCTCCAGTCC TCAGATAAATGGTGAAATAGACTTACTAGCAAGTGGCTCCTTGACAGAATCTGAATGTTTTGGAAGTTTA ACTGAAGTCTCTTTACCATTGGCTGAGCAAATAGAGTCTCCAGACACTAAGAGCAGGAATGAAGTAGTGA CTCCTGAGAAGGTCTGCAAAAATTATCTTACATCTAAGAAATCTTTGCCATTAGAAAATAATGGAAAACG TGGCCATCACAATAGACTTTCCAGTCCCATTTCTAAGAGATGTAGAACCAGCATTCTGAGCACCAGTGGA GATTTTGTTAAGCAAACGGTGCCCTCAGAAAATATACCATTGCCTGAATGTTCTTCACCACCTTCATGCA AACGTAAAGTTGGTGGTACATCAGGGAGGAAAAACAGTAACATGTCCGATGAATTCATTAGTCTTTCACC AGGTACACCACCTTCTACATTAAGTAGTTCAAGTTACAGGCGAGTGATGTCTAGTCCCTCAGCAATGAAG CTGTTGCCCAATATGGCTGTGAAAAGAAATCATAGAGGAGAGACTTTGCTCCATATTGCTTCTATTAAGG GCGACATACCTTCTGTTGAATACCTTTTACAAAATGGAAGTGATCCAAATGTTAAAGACCATGCTGGATG GACACCATTGCATGAAGCTTGCAATCATGGGCACCTGAAGGTAGTGGAATTATTGCTCCAGCATAAGGCA TTGGTGAACACCACCGGGTATCAAAATGACTCACCACTTCACGATGCAGCCAAGAATGGGCATGTGGATA TAGTCAAGCTGTTACTTTCCTATGGAGCCTCCAGAAATGCTGTTAATATATTTGGTCTGCGGCCTGTCGA TTATACAGATGATGAAAGTATGAAATCGCTATTGCTGCTACCAGAGAAGAATGAATCATCCTCAGCTAGC CACTGCTCAGTAATGAACACTGGGCAGCGTAGGGATGGACCTCTTGTACTTATAGGCAGTGGGCTGTCTT CAGAACAACAGAAAATGCTCAGTGAGCTTGCAGTAATTCTTAAGGCTAAAAAATATACTGAGTTTGACAG TACAGTAACTCATGTTGTTGTTCCTGGTGATGCAGTTCAAAGTACCTTGAAGTGTATGCTTGGGATTCTC AATGGATGCTGGATTCTAAAATTTGAATGGGTAAAAGCATGTCTACGAAGAAAAGTATGTGAACAGGAAG AAAAGTATGAAATTCCTGAAGGTCCACGCAGAAGCAGGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTT TGATGGATGCTACTTCTATTTGTGGGGAACCTTCAAACACCATCCAAAGGACAACCTTATTAAGCTCGTC ACTGCAGGTGGGGGCCAGATCCTCAGTAGAAAGCCCAAGCCAGACAGTGACGTGACTCAGACCATCAATA CAGTCGCATACCATGCGAGACCCGATTCTGATCAGCGCTTCTGCACACAGTATATCATCTATGAAGATTT GTGTAATTATCACCCAGAGAGGGTTCGGCAGGGCAAAGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGAC TGTGTGATGTCCTTTGAGTTGCTTCCTCTTGACAGCTGAATATTATACCAGATGAACATTTCAAATTGAA TTTGCACGGTTTGTGAGAGCCCAGTCATTGTACTGTTTTTAATGTTCACATTTTTACAAATAGGTAGAGT CATTCATATTTGTCTTTGAATCAAAAAAAAAAAAAAAGTCTAATGCCAGATTAGGAATTCATGTTATGTT TACCATTTAGAAGCTGGGATTGCTTTTAAAGGTTTTTCTTTTTAAAATTGGCATGTTTTTGATTTATCAT GTCTTTCTATTCAGATTATTGGGTATCAAAGATTAATGAGGACACCAGAATCTTGGTTAAATAGACAAGT GGTATCATTACTGTTTGAGTCTTTTAATATTCTCCATACCTGCCACCAGTGAAAAAACTTGCCTTTTTTT TTTTTTTTTTTTTAGTAAACAGAATATTATCAAACAATTTATTTTGGCTTTATTGAAAAAAGAGTATTTG GTCTAAATGTGCCACCATAGGTGTTAAATTCTCCTATCTGCAATTGTCTTTATCCTATATTGTGTTCATT TCTTTTCTTAATAATTTACTTTGTTGTGTGTTTCTACACTTTCATCCCTGTTTTTTATCTTGTATATCAT CAGGAAATTGTGATTTAATCATTAACATTGGTTTTTTTGTGTGTGTGGTAAAAATCAACACTAGGCTCAT GGTACATATTTTTATTCTGTACATTTGCTTGTAACTATCAATTTGTAACTCTGTTTATCTACTACATGTG TATATATACTTAGAGCATTTTCTCTAACACATTTTAATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTA GCAAATTGTCAGTCCAACGTCATTACTTTAAATTAAGAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTAT TTGTAAAATAATTTTGAAGGTCTTAATTTCTTCCTTTGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAG GTTGGCATGGAGGCAGAAGTTGGTGATTACTTGATTTACAACAGATTTTTTCCAGATCATACAAAAGGCC ATACAGTAAGTATAGAAGTAGGTATGGGGAGGGCTTACTAATATCAAATAGGCAAGGCCTTAGTGAGTGG GCAGGATACCACCTGAGAGTGGCCAGATGTGGGGAGGTTACTCTGCTCTGGGTGCTCTCATTCATGAATC GACAAGGATACATTAGATTATTTTGAAACATTTTTTTAAGAAGCAGAATTCTTTAATAATTCCTTCCTAG ACATTGAATATACTTATAAAATTAAAGACTTGGGGAAGGAGACACTGAGAGACTTGCCAGTTTGGTTCCT CATGAACAAAAGAGGACAGTTTGATAACTACCAGAATAGAATATCCCTAGTTTTAAAATAGTGAGAATCT CTGAAGTTCATCAACATCTTAAGATGCACTTACTTGAAAGTTTGAGATTCTGTTTATCATTTGAAAACAC ATTTTGCTTTAATTCTTTCTTTGACATGTTGTTTTTTCATATCAAGAAATATATGAACAAAATAATAACC TTTTGACCCTGACCTTGCTGGGTGAATTAGCTCTGAAACACTCTCTACAACCAGTAATGCATTTGTCCCA CATTTCATTCTGATAGAAAATGAACACCATAGCACCAAACAAAAATCCGAGGCGTTAGATAATGTCTGGA TTAAATAATTTAAGACTCTCTAGGATTTTGGTTGTCATTTTTTATTTATAACAGACTTTAAGTCACTTTC TGTTGCCTCATAGGTCACATTTTAGACAGGTTTGTGTCTGTTCCTTGCATCTGAATTCCTGATTGTAAAG ACACCTATGAGGTCTCTTAGTTTTTGTCATTCATTTTCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGT TTTTCCCTGACTGTTAAGCAGTTTCATCTTTGCTTTTGTTAAATATTTGACAGCAGTTAGTTTGTGTTAA GCTCTTGAAACTTGTGATTGTACTTTCTGTGTAGATATACATGTAATTATTTTTTATTTTTCAATCATAG ATTCAAGCTTCCTTCTTTTTTACCACAAATCATTAAAGTTATTTGTGTTTCCATATACCTGTGTCTTGTA TAAAATTGGCTTATTCTGTGCTGTTGAATGAGGCTCAACATGACTTGGTGAGGAAGTCTATTAACTAACA AAAGCTTATCTTTTTTAACATAATGCTTTTTAATTAATTTTGAATAAAAATATTTCTAAAGTGTACTAGA TACTTTATTACCTTAGATTATTCCGAATACAGTATAACTTTGATAGTTTGGAATAGTCATTAAGAAACAA TTACACACTGATTGCTTTGTGTCTCTAAAAGTGAGAGGCTGGTAGCTTTTCCACATTCTCATGGCTATTT TCTAGTTCTACTTGAATTTATAACTGTTTCCCTTTTTCCTTGACAGCTGCCACTTTGTAGCTATTTTTCT GTCTCTGCTAATACTTTACCATATCTATCTCAATTGTTTTTTCTTTTGACTTGCTGAAAAATAGAAACCA GATGGGAAGTATATTAGCATTATGATTGAAATAAGGGTAAATGAGCAATGTGTGAAGGTTTTCACTGACT TCACCTAAAAGATAGTTTAGCTACTTGAATTTTAGTAAATAGAATTTTTCCTTTATTTCATCGGTCCCCC CACCTTTTTTTTTTTTTGCACCTGCCTTGTAAATTTAATAGTTAAGTGACCTCTGCCTAGAGGATGATAT TTGGGGAGGTTTGATGTTTCCTGTGGGAATAAGACGATTCACAGGTGAGAGTGGGGCCACATTAGCTGTT ATTGTTTCCATGGGTCAGTGTGGAAAATGCATTAATCATATTCTAAACGTTCATGGGCCTCATTACAGTC ACAATTGTCTATTCTGTTTCCTACCCTGAACACATTAAAATGGTAGGAACTAATGCTTGTCTTATTTAAT TACTAAAAGCCACCATTTTCTTTGATAGATTGAGCTACAGATTGTAAACTTCATGTATTTCTTTATAAGT CAACCCTTTTCAAAGATACGCACATCAAACTGAATGAATAAATAAATATTGAGAAGTTGAAAAAAAAAAA AAAAAA >gi|543583785|ref|NM_000465.3| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 1, mRNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTACTAACATTCTGAGAGAGCCTGTGTGTTTAGGAGGATGTGAGCACATCT TCTGTAGTAATTGTGTAAGTGACTGCATTGGAACTGGATGTCCAGTGTGTTACACCCCGGCCTGGATACA AGACTTGAAGATAAATAGACAACTGGACAGCATGATTCAACTTTGTAGTAAGCTTCGAAATTTGCTACAT GACAATGAGCTGTCAGATTTGAAAGAAGATAAACCTAGGAAAAGTTTGTTTAATGATGCAGGAAACAAGA AGAATTCAATTAAAATGTGGTTTAGCCCTCGAAGTAAGAAAGTCAGATATGTTGTGAGTAAAGCTTCAGT GCAAACCCAGCCTGCAATAAAAAAAGATGCAAGTGCTCAGCAAGACTCATATGAATTTGTTTCCCCAAGT CCTCCTGCAGATGTTTCTGAGAGGGCTAAAAAGGCTTCTGCAAGATCTGGAAAAAAGCAAAAAAAGAAAA CTTTAGCTGAAATCAACCAAAAATGGAATTTAGAGGCAGAAAAAGAAGATGGTGAATTTGACTCCAAAGA GGAATCTAAGCAAAAGCTGGTATCCTTCTGTAGCCAACCATCTGTTATCTCCAGTCCTCAGATAAATGGT GAAATAGACTTACTAGCAAGTGGCTCCTTGACAGAATCTGAATGTTTTGGAAGTTTAACTGAAGTCTCTT TACCATTGGCTGAGCAAATAGAGTCTCCAGACACTAAGAGCAGGAATGAAGTAGTGACTCCTGAGAAGGT CTGCAAAAATTATCTTACATCTAAGAAATCTTTGCCATTAGAAAATAATGGAAAACGTGGCCATCACAAT AGACTTTCCAGTCCCATTTCTAAGAGATGTAGAACCAGCATTCTGAGCACCAGTGGAGATTTTGTTAAGC AAACGGTGCCCTCAGAAAATATACCATTGCCTGAATGTTCTTCACCACCTTCATGCAAACGTAAAGTTGG TGGTACATCAGGGAGGAAAAACAGTAACATGTCCGATGAATTCATTAGTCTTTCACCAGGTACACCACCT TCTACATTAAGTAGTTCAAGTTACAGGCGAGTGATGTCTAGTCCCTCAGCAATGAAGCTGTTGCCCAATA TGGCTGTGAAAAGAAATCATAGAGGAGAGACTTTGCTCCATATTGCTTCTATTAAGGGCGACATACCTTC TGTTGAATACCTTTTACAAAATGGAAGTGATCCAAATGTTAAAGACCATGCTGGATGGACACCATTGCAT GAAGCTTGCAATCATGGGCACCTGAAGGTAGTGGAATTATTGCTCCAGCATAAGGCATTGGTGAACACCA CCGGGTATCAAAATGACTCACCACTTCACGATGCAGCCAAGAATGGGCATGTGGATATAGTCAAGCTGTT ACTTTCCTATGGAGCCTCCAGAAATGCTGTTAATATATTTGGTCTGCGGCCTGTCGATTATACAGATGAT GAAAGTATGAAATCGCTATTGCTGCTACCAGAGAAGAATGAATCATCCTCAGCTAGCCACTGCTCAGTAA TGAACACTGGGCAGCGTAGGGATGGACCTCTTGTACTTATAGGCAGTGGGCTGTCTTCAGAACAACAGAA AATGCTCAGTGAGCTTGCAGTAATTCTTAAGGCTAAAAAATATACTGAGTTTGACAGTACAGTAACTCAT GTTGTTGTTCCTGGTGATGCAGTTCAAAGTACCTTGAAGTGTATGCTTGGGATTCTCAATGGATGCTGGA TTCTAAAATTTGAATGGGTAAAAGCATGTCTACGAAGAAAAGTATGTGAACAGGAAGAAAAGTATGAAAT TCCTGAAGGTCCACGCAGAAGCAGGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTTTGATGGATGCTAC TTCTATTTGTGGGGAACCTTCAAACACCATCCAAAGGACAACCTTATTAAGCTCGTCACTGCAGGTGGGG GCCAGATCCTCAGTAGAAAGCCCAAGCCAGACAGTGACGTGACTCAGACCATCAATACAGTCGCATACCA TGCGAGACCCGATTCTGATCAGCGCTTCTGCACACAGTATATCATCTATGAAGATTTGTGTAATTATCAC CCAGAGAGGGTTCGGCAGGGCAAAGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGACTGTGTGATGTCCT TTGAGTTGCTTCCTCTTGACAGCTGAATATTATACCAGATGAACATTTCAAATTGAATTTGCACGGTTTG TGAGAGCCCAGTCATTGTACTGTTTTTAATGTTCACATTTTTACAAATAGGTAGAGTCATTCATATTTGT CTTTGAATCAAAAAAAAAAAAAAAGTCTAATGCCAGATTAGGAATTCATGTTATGTTTACCATTTAGAAG CTGGGATTGCTTTTAAAGGTTTTTCTTTTTAAAATTGGCATGTTTTTGATTTATCATGTCTTTCTATTCA GATTATTGGGTATCAAAGATTAATGAGGACACCAGAATCTTGGTTAAATAGACAAGTGGTATCATTACTG TTTGAGTCTTTTAATATTCTCCATACCTGCCACCAGTGAAAAAACTTGCCTTTTTTTTTTTTTTTTTTTT AGTAAACAGAATATTATCAAACAATTTATTTTGGCTTTATTGAAAAAAGAGTATTTGGTCTAAATGTGCC ACCATAGGTGTTAAATTCTCCTATCTGCAATTGTCTTTATCCTATATTGTGTTCATTTCTTTTCTTAATA ATTTACTTTGTTGTGTGTTTCTACACTTTCATCCCTGTTTTTTATCTTGTATATCATCAGGAAATTGTGA TTTAATCATTAACATTGGTTTTTTTGTGTGTGTGGTAAAAATCAACACTAGGCTCATGGTACATATTTTT ATTCTGTACATTTGCTTGTAACTATCAATTTGTAACTCTGTTTATCTACTACATGTGTATATATACTTAG AGCATTTTCTCTAACACATTTTAATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTAGCAAATTGTCAGT CCAACGTCATTACTTTAAATTAAGAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTATTTGTAAAATAATT TTGAAGGTCTTAATTTCTTCCTTTGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAGGTTGGCATGGAGG CAGAAGTTGGTGATTACTTGATTTACAACAGATTTTTTCCAGATCATACAAAAGGCCATACAGTAAGTAT AGAAGTAGGTATGGGGAGGGCTTACTAATATCAAATAGGCAAGGCCTTAGTGAGTGGGCAGGATACCACC TGAGAGTGGCCAGATGTGGGGAGGTTACTCTGCTCTGGGTGCTCTCATTCATGAATCGACAAGGATACAT TAGATTATTTTGAAACATTTTTTTAAGAAGCAGAATTCTTTAATAATTCCTTCCTAGACATTGAATATAC TTATAAAATTAAAGACTTGGGGAAGGAGACACTGAGAGACTTGCCAGTTTGGTTCCTCATGAACAAAAGA GGACAGTTTGATAACTACCAGAATAGAATATCCCTAGTTTTAAAATAGTGAGAATCTCTGAAGTTCATCA ACATCTTAAGATGCACTTACTTGAAAGTTTGAGATTCTGTTTATCATTTGAAAACACATTTTGCTTTAAT TCTTTCTTTGACATGTTGTTTTTTCATATCAAGAAATATATGAACAAAATAATAACCTTTTGACCCTGAC CTTGCTGGGTGAATTAGCTCTGAAACACTCTCTACAACCAGTAATGCATTTGTCCCACATTTCATTCTGA TAGAAAATGAACACCATAGCACCAAACAAAAATCCGAGGCGTTAGATAATGTCTGGATTAAATAATTTAA GACTCTCTAGGATTTTGGTTGTCATTTTTTATTTATAACAGACTTTAAGTCACTTTCTGTTGCCTCATAG GTCACATTTTAGACAGGTTTGTGTCTGTTCCTTGCATCTGAATTCCTGATTGTAAAGACACCTATGAGGT CTCTTAGTTTTTGTCATTCATTTTCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGTTTTTCCCTGACTG TTAAGCAGTTTCATCTTTGCTTTTGTTAAATATTTGACAGCAGTTAGTTTGTGTTAAGCTCTTGAAACTT GTGATTGTACTTTCTGTGTAGATATACATGTAATTATTTTTTATTTTTCAATCATAGATTCAAGCTTCCT TCTTTTTTACCACAAATCATTAAAGTTATTTGTGTTTCCATATACCTGTGTCTTGTATAAAATTGGCTTA TTCTGTGCTGTTGAATGAGGCTCAACATGACTTGGTGAGGAAGTCTATTAACTAACAAAAGCTTATCTTT TTTAACATAATGCTTTTTAATTAATTTTGAATAAAAATATTTCTAAAGTGTACTAGATACTTTATTACCT TAGATTATTCCGAATACAGTATAACTTTGATAGTTTGGAATAGTCATTAAGAAACAATTACACACTGATT GCTTTGTGTCTCTAAAAGTGAGAGGCTGGTAGCTTTTCCACATTCTCATGGCTATTTTCTAGTTCTACTT GAATTTATAACTGTTTCCCTTTTTCCTTGACAGCTGCCACTTTGTAGCTATTTTTCTGTCTCTGCTAATA CTTTACCATATCTATCTCAATTGTTTTTTCTTTTGACTTGCTGAAAAATAGAAACCAGATGGGAAGTATA TTAGCATTATGATTGAAATAAGGGTAAATGAGCAATGTGTGAAGGTTTTCACTGACTTCACCTAAAAGAT AGTTTAGCTACTTGAATTTTAGTAAATAGAATTTTTCCTTTATTTCATCGGTCCCCCCACCTTTTTTTTT TTTTGCACCTGCCTTGTAAATTTAATAGTTAAGTGACCTCTGCCTAGAGGATGATATTTGGGGAGGTTTG ATGTTTCCTGTGGGAATAAGACGATTCACAGGTGAGAGTGGGGCCACATTAGCTGTTATTGTTTCCATGG GTCAGTGTGGAAAATGCATTAATCATATTCTAAACGTTCATGGGCCTCATTACAGTCACAATTGTCTATT CTGTTTCCTACCCTGAACACATTAAAATGGTAGGAACTAATGCTTGTCTTATTTAATTACTAAAAGCCAC CATTTTCTTTGATAGATTGAGCTACAGATTGTAAACTTCATGTATTTCTTTATAAGTCAACCCTTTTCAA AGATACGCACATCAAACTGAATGAATAAATAAATATTGAGAAGTTGAAAAAAAAAAAAAAAAA >gi|543583740|ref|NM_001282549.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 5, mRNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTACTAACATTCTGAGAGAGCCTGTGTGTTTAGGAGGATGTGAGCACATCT TCTGTAGTAATTGTGTAAGTGACTGCATTGGAACTGGATGTCCAGTGTGTTACACCCCGGCCTGGATACA AGACTTGAAGATAAATAGACAACTGGACAGCATGATTCAACTTTGTAGTAAGCTTCGAAATTTGCTACAT GACAATGAGCTGTCAGGGGTAAAAGCATGTCTACGAAGAAAAGTATGTGAACAGGAAGAAAAGTATGAAA TTCCTGAAGGTCCACGCAGAAGCAGGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTTTGATGGATGCTA CTTCTATTTGTGGGGAACCTTCAAACACCATCCAAAGGACAACCTTATTAAGCTCGTCACTGCAGGTGGG GGCCAGATCCTCAGTAGAAAGCCCAAGCCAGACAGTGACGTGACTCAGACCATCAATACAGTCGCATACC ATGCGAGACCCGATTCTGATCAGCGCTTCTGCACACAGTATATCATCTATGAAGATTTGTGTAATTATCA CCCAGAGAGGGTTCGGCAGGGCAAAGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGACTGTGTGATGTCC TTTGAGTTGCTTCCTCTTGACAGCTGAATATTATACCAGATGAACATTTCAAATTGAATTTGCACGGTTT GTGAGAGCCCAGTCATTGTACTGTTTTTAATGTTCACATTTTTACAAATAGGTAGAGTCATTCATATTTG TCTTTGAATCAAAAAAAAAAAAAAAGTCTAATGCCAGATTAGGAATTCATGTTATGTTTACCATTTAGAA GCTGGGATTGCTTTTAAAGGTTTTTCTTTTTAAAATTGGCATGTTTTTGATTTATCATGTCTTTCTATTC AGATTATTGGGTATCAAAGATTAATGAGGACACCAGAATCTTGGTTAAATAGACAAGTGGTATCATTACT GTTTGAGTCTTTTAATATTCTCCATACCTGCCACCAGTGAAAAAACTTGCCTTTTTTTTTTTTTTTTTTT TAGTAAACAGAATATTATCAAACAATTTATTTTGGCTTTATTGAAAAAAGAGTATTTGGTCTAAATGTGC CACCATAGGTGTTAAATTCTCCTATCTGCAATTGTCTTTATCCTATATTGTGTTCATTTCTTTTCTTAAT AATTTACTTTGTTGTGTGTTTCTACACTTTCATCCCTGTTTTTTATCTTGTATATCATCAGGAAATTGTG ATTTAATCATTAACATTGGTTTTTTTGTGTGTGTGGTAAAAATCAACACTAGGCTCATGGTACATATTTT TATTCTGTACATTTGCTTGTAACTATCAATTTGTAACTCTGTTTATCTACTACATGTGTATATATACTTA GAGCATTTTCTCTAACACATTTTAATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTAGCAAATTGTCAG TCCAACGTCATTACTTTAAATTAAGAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTATTTGTAAAATAAT TTTGAAGGTCTTAATTTCTTCCTTTGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAGGTTGGCATGGAG GCAGAAGTTGGTGATTACTTGATTTACAACAGATTTTTTCCAGATCATACAAAAGGCCATACAGTAAGTA TAGAAGTAGGTATGGGGAGGGCTTACTAATATCAAATAGGCAAGGCCTTAGTGAGTGGGCAGGATACCAC CTGAGAGTGGCCAGATGTGGGGAGGTTACTCTGCTCTGGGTGCTCTCATTCATGAATCGACAAGGATACA TTAGATTATTTTGAAACATTTTTTTAAGAAGCAGAATTCTTTAATAATTCCTTCCTAGACATTGAATATA CTTATAAAATTAAAGACTTGGGGAAGGAGACACTGAGAGACTTGCCAGTTTGGTTCCTCATGAACAAAAG AGGACAGTTTGATAACTACCAGAATAGAATATCCCTAGTTTTAAAATAGTGAGAATCTCTGAAGTTCATC AACATCTTAAGATGCACTTACTTGAAAGTTTGAGATTCTGTTTATCATTTGAAAACACATTTTGCTTTAA TTCTTTCTTTGACATGTTGTTTTTTCATATCAAGAAATATATGAACAAAATAATAACCTTTTGACCCTGA CCTTGCTGGGTGAATTAGCTCTGAAACACTCTCTACAACCAGTAATGCATTTGTCCCACATTTCATTCTG ATAGAAAATGAACACCATAGCACCAAACAAAAATCCGAGGCGTTAGATAATGTCTGGATTAAATAATTTA AGACTCTCTAGGATTTTGGTTGTCATTTTTTATTTATAACAGACTTTAAGTCACTTTCTGTTGCCTCATA GGTCACATTTTAGACAGGTTTGTGTCTGTTCCTTGCATCTGAATTCCTGATTGTAAAGACACCTATGAGG TCTCTTAGTTTTTGTCATTCATTTTCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGTTTTTCCCTGACT GTTAAGCAGTTTCATCTTTGCTTTTGTTAAATATTTGACAGCAGTTAGTTTGTGTTAAGCTCTTGAAACT TGTGATTGTACTTTCTGTGTAGATATACATGTAATTATTTTTTATTTTTCAATCATAGATTCAAGCTTCC TTCTTTTTTACCACAAATCATTAAAGTTATTTGTGTTTCCATATACCTGTGTCTTGTATAAAATTGGCTT ATTCTGTGCTGTTGAATGAGGCTCAACATGACTTGGTGAGGAAGTCTATTAACTAACAAAAGCTTATCTT TTTTAACATAATGCTTTTTAATTAATTTTGAATAAAAATATTTCTAAAGTGTACTAGATACTTTATTACC TTAGATTATTCCGAATACAGTATAACTTTGATAGTTTGGAATAGTCATTAAGAAACAATTACACACTGAT TGCTTTGTGTCTCTAAAAGTGAGAGGCTGGTAGCTTTTCCACATTCTCATGGCTATTTTCTAGTTCTACT TGAATTTATAACTGTTTCCCTTTTTCCTTGACAGCTGCCACTTTGTAGCTATTTTTCTGTCTCTGCTAAT ACTTTACCATATCTATCTCAATTGTTTTTTCTTTTGACTTGCTGAAAAATAGAAACCAGATGGGAAGTAT ATTAGCATTATGATTGAAATAAGGGTAAATGAGCAATGTGTGAAGGTTTTCACTGACTTCACCTAAAAGA TAGTTTAGCTACTTGAATTTTAGTAAATAGAATTTTTCCTTTATTTCATCGGTCCCCCCACCTTTTTTTT TTTTTGCACCTGCCTTGTAAATTTAATAGTTAAGTGACCTCTGCCTAGAGGATGATATTTGGGGAGGTTT GATGTTTCCTGTGGGAATAAGACGATTCACAGGTGAGAGTGGGGCCACATTAGCTGTTATTGTTTCCATG GGTCAGTGTGGAAAATGCATTAATCATATTCTAAACGTTCATGGGCCTCATTACAGTCACAATTGTCTAT TCTGTTTCCTACCCTGAACACATTAAAATGGTAGGAACTAATGCTTGTCTTATTTAATTACTAAAAGCCA CCATTTTCTTTGATAGATTGAGCTACAGATTGTAAACTTCATGTATTTCTTTATAAGTCAACCCTTTTCA AAGATACGCACATCAAACTGAATGAATAAATAAATATTGAGAAGTTGAAAAAAAAAAAAAAAAA >gi|543583738|ref|NM_001282548.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 4, mRNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTAATATATTTGGTCTGCGGCCTGTCGATTATACAGATGATGAAAGTATGA AATCGCTATTGCTGCTACCAGAGAAGAATGAATCATCCTCAGCTAGCCACTGCTCAGTAATGAACACTGG GCAGCGTAGGGATGGACCTCTTGTACTTATAGGCAGTGGGCTGTCTTCAGAACAACAGAAAATGCTCAGT GAGCTTGCAGTAATTCTTAAGGCTAAAAAATATACTGAGTTTGACAGTACAGTAACTCATGTTGTTGTTC CTGGTGATGCAGTTCAAAGTACCTTGAAGTGTATGCTTGGGATTCTCAATGGATGCTGGATTCTAAAATT TGAATGGGTAAAAGCATGTCTACGAAGAAAAGTATGTGAACAGGAAGAAAAGTATGAAATTCCTGAAGGT CCACGCAGAAGCAGGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTTTGATGGATGCTACTTCTATTTGT GGGGAACCTTCAAACACCATCCAAAGGACAACCTTATTAAGCTCGTCACTGCAGGTGGGGGCCAGATCCT CAGTAGAAAGCCCAAGCCAGACAGTGACGTGACTCAGACCATCAATACAGTCGCATACCATGCGAGACCC GATTCTGATCAGCGCTTCTGCACACAGTATATCATCTATGAAGATTTGTGTAATTATCACCCAGAGAGGG TTCGGCAGGGCAAAGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGACTGTGTGATGTCCTTTGAGTTGCT TCCTCTTGACAGCTGAATATTATACCAGATGAACATTTCAAATTGAATTTGCACGGTTTGTGAGAGCCCA GTCATTGTACTGTTTTTAATGTTCACATTTTTACAAATAGGTAGAGTCATTCATATTTGTCTTTGAATCA AAAAAAAAAAAAAAGTCTAATGCCAGATTAGGAATTCATGTTATGTTTACCATTTAGAAGCTGGGATTGC TTTTAAAGGTTTTTCTTTTTAAAATTGGCATGTTTTTGATTTATCATGTCTTTCTATTCAGATTATTGGG TATCAAAGATTAATGAGGACACCAGAATCTTGGTTAAATAGACAAGTGGTATCATTACTGTTTGAGTCTT TTAATATTCTCCATACCTGCCACCAGTGAAAAAACTTGCCTTTTTTTTTTTTTTTTTTTTAGTAAACAGA ATATTATCAAACAATTTATTTTGGCTTTATTGAAAAAAGAGTATTTGGTCTAAATGTGCCACCATAGGTG TTAAATTCTCCTATCTGCAATTGTCTTTATCCTATATTGTGTTCATTTCTTTTCTTAATAATTTACTTTG TTGTGTGTTTCTACACTTTCATCCCTGTTTTTTATCTTGTATATCATCAGGAAATTGTGATTTAATCATT AACATTGGTTTTTTTGTGTGTGTGGTAAAAATCAACACTAGGCTCATGGTACATATTTTTATTCTGTACA TTTGCTTGTAACTATCAATTTGTAACTCTGTTTATCTACTACATGTGTATATATACTTAGAGCATTTTCT CTAACACATTTTAATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTAGCAAATTGTCAGTCCAACGTCAT TACTTTAAATTAAGAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTATTTGTAAAATAATTTTGAAGGTCT TAATTTCTTCCTTTGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAGGTTGGCATGGAGGCAGAAGTTGG TGATTACTTGATTTACAACAGATTTTTTCCAGATCATACAAAAGGCCATACAGTAAGTATAGAAGTAGGT ATGGGGAGGGCTTACTAATATCAAATAGGCAAGGCCTTAGTGAGTGGGCAGGATACCACCTGAGAGTGGC CAGATGTGGGGAGGTTACTCTGCTCTGGGTGCTCTCATTCATGAATCGACAAGGATACATTAGATTATTT TGAAACATTTTTTTAAGAAGCAGAATTCTTTAATAATTCCTTCCTAGACATTGAATATACTTATAAAATT AAAGACTTGGGGAAGGAGACACTGAGAGACTTGCCAGTTTGGTTCCTCATGAACAAAAGAGGACAGTTTG ATAACTACCAGAATAGAATATCCCTAGTTTTAAAATAGTGAGAATCTCTGAAGTTCATCAACATCTTAAG ATGCACTTACTTGAAAGTTTGAGATTCTGTTTATCATTTGAAAACACATTTTGCTTTAATTCTTTCTTTG ACATGTTGTTTTTTCATATCAAGAAATATATGAACAAAATAATAACCTTTTGACCCTGACCTTGCTGGGT GAATTAGCTCTGAAACACTCTCTACAACCAGTAATGCATTTGTCCCACATTTCATTCTGATAGAAAATGA ACACCATAGCACCAAACAAAAATCCGAGGCGTTAGATAATGTCTGGATTAAATAATTTAAGACTCTCTAG GATTTTGGTTGTCATTTTTTATTTATAACAGACTTTAAGTCACTTTCTGTTGCCTCATAGGTCACATTTT AGACAGGTTTGTGTCTGTTCCTTGCATCTGAATTCCTGATTGTAAAGACACCTATGAGGTCTCTTAGTTT TTGTCATTCATTTTCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGTTTTTCCCTGACTGTTAAGCAGTT TCATCTTTGCTTTTGTTAAATATTTGACAGCAGTTAGTTTGTGTTAAGCTCTTGAAACTTGTGATTGTAC TTTCTGTGTAGATATACATGTAATTATTTTTTATTTTTCAATCATAGATTCAAGCTTCCTTCTTTTTTAC CACAAATCATTAAAGTTATTTGTGTTTCCATATACCTGTGTCTTGTATAAAATTGGCTTATTCTGTGCTG TTGAATGAGGCTCAACATGACTTGGTGAGGAAGTCTATTAACTAACAAAAGCTTATCTTTTTTAACATAA TGCTTTTTAATTAATTTTGAATAAAAATATTTCTAAAGTGTACTAGATACTTTATTACCTTAGATTATTC CGAATACAGTATAACTTTGATAGTTTGGAATAGTCATTAAGAAACAATTACACACTGATTGCTTTGTGTC TCTAAAAGTGAGAGGCTGGTAGCTTTTCCACATTCTCATGGCTATTTTCTAGTTCTACTTGAATTTATAA CTGTTTCCCTTTTTCCTTGACAGCTGCCACTTTGTAGCTATTTTTCTGTCTCTGCTAATACTTTACCATA TCTATCTCAATTGTTTTTTCTTTTGACTTGCTGAAAAATAGAAACCAGATGGGAAGTATATTAGCATTAT GATTGAAATAAGGGTAAATGAGCAATGTGTGAAGGTTTTCACTGACTTCACCTAAAAGATAGTTTAGCTA CTTGAATTTTAGTAAATAGAATTTTTCCTTTATTTCATCGGTCCCCCCACCTTTTTTTTTTTTTGCACCT GCCTTGTAAATTTAATAGTTAAGTGACCTCTGCCTAGAGGATGATATTTGGGGAGGTTTGATGTTTCCTG TGGGAATAAGACGATTCACAGGTGAGAGTGGGGCCACATTAGCTGTTATTGTTTCCATGGGTCAGTGTGG AAAATGCATTAATCATATTCTAAACGTTCATGGGCCTCATTACAGTCACAATTGTCTATTCTGTTTCCTA CCCTGAACACATTAAAATGGTAGGAACTAATGCTTGTCTTATTTAATTACTAAAAGCCACCATTTTCTTT GATAGATTGAGCTACAGATTGTAAACTTCATGTATTTCTTTATAAGTCAACCCTTTTCAAAGATACGCAC ATCAAACTGAATGAATAAATAAATATTGAGAAGTTGAAAAAAAAAAAAAAAAA >gi|530384540|ref|XM_005249645.1| PREDICTED: Homo sapiens BRCA1-associated ATM activator 1 (BRAT1), transcript variant X4, mRNA GTGCTGGGACTACAGAGTCCAGTGTCGTGCTGCTGCAGGAGCACCCCTGCCTGGTGGAGCTGCTGTCCCA TGTGCTGAAAGTCCAGGACCTGAGTTCTGGGGTCCTCTCCTTCTCACTGCGCCTGGCAGGAACCTTCGCA GCCCAGGAAAACTGCTTCCAGTATCTTCAGCAGGGGGAGTTACTACCAGGGCTCTTTGGGGAGCCAGGAC CCCTCGGCCGAGCAACCTGGGCCGTCCCCACCGTGCGCAGCGGCTGGATCCAGGGCCTGCGCTCCCTGGC ACAGCACCCCAGCGCCCTGCGCTTCCTGGCCGACCATGGTGCGGTCGACACCATCTTCTCCCTGCAGGGA GACTCCAGCCTGTTTGTGGCCTCGGCGGCCAGTCAGCTCCTGGTGCACGTCCTGGCTTTGTCCATGCGAG GTGGAGCCGAGGGGCAGCCCTGCCTGCCGGGGGGTGACTGGCCCGCGTGTGCCCAGAAGATCATGGATCA CGTTGAAGAGTCCTTGTGCTCCGCGGCCACCCCCAAGGTCACTCAGGCCCTGAACGTCCTGACCACGACC TTCGGGCGCTGCCAGAGCCCCTGGACGGAAGCCCTGTGGGTGCGGCTGAGTCCCCGCGTGGCCTGTCTGC TGGAGAGAGACCCCATCCCCGCCGCACACTCGTTCGTGGACCTGCTTCTCTGTGTGGCTCGTTCTCCCGT GTTCAGTTCTTCCGACGGCAGCCTGTGGGAGACAGTGGCGCGGGCTCTGAGCTGCCTGGGTCCCACCCAC ATGGGACCCCTGGCTTTGGGGATCCTGAAGCTCGAGCACTGTCCACAGGCACTGAGGACCCAGGCCTTCC AGGTCCTTCTCCAGCCCCTGGCCTGTGTCCTGAAGGCCACGGTTCAGGCCCCCGGACCCCCAGGCTTGCT GGACGGGACGGCAGACGATGCCACGACGGTGGACACACTCCTGGCCTCCAAGTCGTCCTGCGCCGGCCTC CTGTGCCGCACCCTGGCTCACCTGGAGGAGCTGCAGCCGCTGCCCCAGCGCCCTTCACCGTGGCCCCAGG CGTCTCTACTGGGGGCTACAGTGACTGTCCTGCGGCTCTGTGACGGCTCGGCTGCCCCTGCCTCCAGTGT GGGGGGCCACCTCTGTGGGACCCTGGCGGGCTGCGTCCGGGTCCAGCGAGCAGCCCTCGACTTCCTGGGG ACGCTGTCACAGGGGACAGGCCCCCAGGAGCTGGTGACGCAGGCGCTTGCTGTCCTCCTGGAGTGCCTCG AGAGCCCCGGCTCCAGCCCCACGGTTCTGAAGAAGGCCTTCCAGGCCACGCTCAGGTGGCTCCTGAGCTC ACCCAAGACCCCCGGCTGCTCTGATCTCGGCCCCCTCATCCCGCAGTTCCTCAGAGAGCTGTTCCCTGTG CTGCAGAAACGCCTGTGCCACCCCTGCTGGGAGGTGAGGGACTCCGCCCTCGAGTTCCTGACCCAGCTGA GCAGGCACTGGGGAGGACAGGCTGACTTCAGATGCGCACTCTTGGCTTCAGAGGTGCCTCAGCTGGCCCT GCAGCTCCTCCAGGACCCTGAGAGTTATGTCCGAGCGAGTGCAGTGACCGCCATGGGGCAGCTGTCCAGC CAGGGCCTGCACGCCCCCACCAGCCCTGAGCATGCAGAGGCCCGGCAGATGGGTAAACTGAGGATTGGAG GGCCGTGTGCTCACTGCGCAGCATGGGAAGGTGTCAGAGCGGGCTGTGGCCCTAGACTGCATGTCCGGGG CCAGCCCCCATCATGTACCGGAGTCCTGTTGCGGGAGCCTCGCTCCTGCCACCCCACCAACCATCCGCAC TTGCTCCCTGTCCCCCAGAGCCTGTTCCTGGAGCTCCTGCACATCCTCTCCGTAGACTCGGAGGGCTTCC CACGGCGGGCGGTCATGCAAGTCTTCACTGAGTGGCTGCGGGACGGCCACGCCGACGCGGCCCAGGACAC GGAGCAGTTCGTGGCCACTGTGCTGCAGGCGGCGAGCCGAGACCTGGACTGGGAGGTCCGCGCCCAGGGC CTGGAGCTGGCCCTCGTGTTCCTGGGCCAGACTTTGGGGCCGCCGCGTACCCACTGCCCCTATGCCGTGG CCCTACCCGAGGTGGCCCCAGCCCAGCCACTCACCGAGGCACTGAGGGCTCTCTGCCACGTGGGGCTCTT TGACTTCGCCTTTTGTGCCTTGTTTGACTGCGACCGCCCTGTGGCGCAGAAGTCTTGTGACCTCCTTCTC TTCCTGAGGGACAAGATTGCTTCCTACAGCAGCCTGCGGGAGGCCAGGGGCAGCCCCAACACTGCCTCCG CAGAGGCCACCCTGCCGAGGTGGCGGGCGGGTGAGCAGGCCCAGCCCCCAGGGGACCAGGAGCCTGAGGC TGTGCTGGCCATGCTCAGGTCCCTAGACCTGGAGGGCCTGCGGAGCACGCTGGCCGAGAGCAGCGACCAC GTGGAAAAGAGTCCCCAGTCCCTCCTGCAGGACATGCTGGCCACGGGAGGCTTCCTGCAGGGGGACGAGG CCGACTGCTACTGAGCAGAACCAGAGTCTGCCACTGGGGCTCAGGACCAAGGGAGGCAGCACCATGTCCT TCTGTGGGACACTGCCAGCCCCAGGGCTCCAGCCCAGCCCGGTGGATCCTCTGGGGAAGCCAGGACCAGG AGAGAAGCAAGGTCAAGAAATCCCACAGTTTGATGTATTAAAGAAATGACTTATTTCTACTCAAAATAAA TGGCATTGAAGTCTTTCTTTAA >gi|530384538|ref|XM_005249644.1| PREDICTED: Homo sapiens BRCA1-associated ATM activator 1 (BRAT1), transcript variant X3, mRNA ACCGGATGCTCGGCATGAACCACTAGGCGCCTGGCGGGGGTGATCTGTCGGAGCGACCGGCTTGGCGCCT GCCTGTCCCCAGCCCCTCTCAGCTTGAACTCCTTCCTTCAAGTCTGGGCCCTCGAGGCTTCCAGAGCGGC CTCCAGGGGTGCAGTCTCAGTTCCCCACGCCAGCCGTCTCCGTCCTCCGCCTCCTCCGGGCCTGGCAGGT GGCACTGTCCGGAGGCGGAGCCTTGGGCGAGGGGTGGTTGCGGCGGAGGACGCAACCGAGCGGGCCTGCG GCCTCACCATGGACCCAGAATGCGCCCAGCTGCTCCCGGCTCTCTGTGCTGTTCTGGTAGATCCCAGGCA GCCGGTGGCAGATGACACCTGTTTGGAGAAGCTCCTGGACTGGTTTAAAACGGTCACTGAAGGAGAGTCC AGTGTCGTGCTGCTGCAGGAGCACCCCTGCCTGGTGGAGCTGCTGTCCCATGTGCTGAAAGTCCAGGACC TGAGTTCTGGGGTCCTCTCCTTCTCACTGCGCCTGGCAGGAACCTTCGCAGCCCAGGAAAACTGCTTCCA GTATCTTCAGGTGCGGTCGACACCATCTTCTCCCTGCAGGGAGACTCCAGCCTGTTTGTGGCCTCGGCGG CCAGTCAGCTCCTGGTGCACGTCCTGGCTTTGTCCATGCGAGGTGGAGCCGAGGGGCAGCCCTGCCTGCC GGGGGGTGACTGGCCCGCGTGTGCCCAGAAGATCATGGATCACGTTGAAGAGTCCTTGTGCTCCGCGGCC ACCCCCAAGGTCACTCAGGCCCTGAACGTCCTGACCACGACCTTCGGGCGCTGCCAGAGCCCCTGGACGG AAGCCCTGTGGGTGCGGCTGAGTCCCCGCGTGGCCTGTCTGCTGGAGAGAGACCCCATCCCCGCCGCACA CTCGTTCGTGGACCTGCTTCTCTGTGTGGCTCGTTCTCCCGTGTTCAGTTCTTCCGACGGCAGCCTGTGG GAGACAGTGGCGCGGGCTCTGAGCTGCCTGGGTCCCACCCACATGGGACCCCTGGCTTTGGGGATCCTGA AGCTCGAGCACTGTCCACAGGCACTGAGGACCCAGGCCTTCCAGGTCCTTCTCCAGCCCCTGGCCTGTGT CCTGAAGGCCACGGTTCAGGCCCCCGGACCCCCAGGCTTGCTGGACGGGACGGCAGACGATGCCACGACG GTGGACACACTCCTGGCCTCCAAGTCGTCCTGCGCCGGCCTCCTGTGCCGCACCCTGGCTCACCTGGAGG AGCTGCAGCCGCTGCCCCAGCGCCCTTCACCGTGGCCCCAGGCGTCTCTACTGGGGGCTACAGTGACTGT CCTGCGGCTCTGTGACGGCTCGGCTGCCCCTGCCTCCAGTGTGGGGGGCCACCTCTGTGGGACCCTGGCG GGCTGCGTCCGGGTCCAGCGAGCAGCCCTCGACTTCCTGGGGACGCTGTCACAGGGGACAGGCCCCCAGG AGCTGGTGACGCAGGCGCTTGCTGTCCTCCTGGAGTGCCTCGAGAGCCCCGGCTCCAGCCCCACGGTTCT GAAGAAGGCCTTCCAGGCCACGCTCAGGTGGCTCCTGAGCTCACCCAAGACCCCCGGCTGCTCTGATCTC GGCCCCCTCATCCCGCAGTTCCTCAGAGAGCTGTTCCCTGTGCTGCAGAAACGCCTGTGCCACCCCTGCT GGGAGGTGAGGGACTCCGCCCTCGAGTTCCTGACCCAGCTGAGCAGGCACTGGGGAGGACAGGCTGACTT CAGATGCGCACTCTTGGCTTCAGAGGTGCCTCAGCTGGCCCTGCAGCTCCTCCAGGACCCTGAGAGTTAT GTCCGAGCGAGTGCAGTGACCGCCATGGGGCAGCTGTCCAGCCAGGGCCTGCACGCCCCCACCAGCCCTG AGCATGCAGAGGCCCGGCAGATGGGTAAACTGAGGATTGGAGGGCCGTGTGCTCACTGCGCAGCATGGGA AGGTGTCAGAGCGGGCTGTGGCCCTAGACTGCATGTCCGGGGCCAGCCCCCATCATGTACCGGAGTCCTG TTGCGGGAGCCTCGCTCCTGCCACCCCACCAACCATCCGCACTTGCTCCCTGTCCCCCAGAGCCTGTTCC TGGAGCTCCTGCACATCCTCTCCGTAGACTCGGAGGGCTTCCCACGGCGGGCGGTCATGCAAGTCTTCAC TGAGTGGCTGCGGGACGGCCACGCCGACGCGGCCCAGGACACGGAGCAGTTCGTGGCCACTGTGCTGCAG GCGGCGAGCCGAGACCTGGACTGGGAGGTCCGCGCCCAGGGCCTGGAGCTGGCCCTCGTGTTCCTGGGCC AGACTTTGGGGCCGCCGCGTACCCACTGCCCCTATGCCGTGGCCCTACCCGAGGTGGCCCCAGCCCAGCC ACTCACCGAGGCACTGAGGGCTCTCTGCCACGTGGGGCTCTTTGACTTCGCCTTTTGTGCCTTGTTTGAC TGCGACCGCCCTGTGGCGCAGAAGTCTTGTGACCTCCTTCTCTTCCTGAGGGACAAGATTGCTTCCTACA GCAGCCTGCGGGAGGCCAGGGGCAGCCCCAACACTGCCTCCGCAGAGGCCACCCTGCCGAGGTGGCGGGC GGGTGAGCAGGCCCAGCCCCCAGGGGACCAGGAGCCTGAGGCTGTGCTGGCCATGCTCAGGTCCCTAGAC CTGGAGGGCCTGCGGAGCACGCTGGCCGAGAGCAGCGACCACGTGGAAAAGAGTCCCCAGTCCCTCCTGC AGGACATGCTGGCCACGGGAGGCTTCCTGCAGGGGGACGAGGCCGACTGCTACTGAGCAGAACCAGAGTC TGCCACTGGGGCTCAGGACCAAGGGAGGCAGCACCATGTCCTTCTGTGGGACACTGCCAGCCCCAGGGCT CCAGCCCAGCCCGGTGGATCCTCTGGGGAAGCCAGGACCAGGAGAGAAGCAAGGTCAAGAAATCCCACAG TTTGATGTATTAAAGAAATGACTTATTTCTACTCAAAATAAATGGCATTGAAGTCTTTCTTTAA >gi|530384536|ref|XM_005249643.1| PREDICTED: Homo sapiens BRCA1-associated ATM activator 1 (BRAT1), transcript variant X2, mRNA TCTGTCGGAGCGACCGGCTTGGCGCCTGCCTGTCCCCAGCCCCTCTCAGCTTGAACTCCTTCCTTCAAGT CTGGGCCCTCGAGGCTTCCAGAGCGGCCTCCAGGGGTGCAGTCTCAGTTCCCCACGCCAGCCGTCTCCGT CCTCCGCCTCCTCCGGGCCTGGCAGGTGGCACTGTCCGGAGGCGGAGCCTTGGGCGAGGGGTGGTTGCGG CGGAGGACGCAACCGAGCGGGCCTGCGGCCTCACCATGGACCCAGAATGCGCCCAGCTGCTCCCGGCTCT CTGTGCTGTTCTGGTAGATCCCAGGCAGCCGGTGGCAGATGACACCTGTTTGGAGAAGCTCCTGGACTGG TTTAAAACGGTCACTGAAGGAGAGTCCAGTGTCGTGCTGCTGCAGGAGCACCCCTGCCTGGTGGAGCTGC TGTCCCATGTGCTGAAAGTCCAGGACCTGAGTTCTGGGGTCCTCTCCTTCTCACTGCGCCTGGCAGGAAC CTTCGCAGCCCAGGAAAACTGCTTCCAGTATCTTCAGCAGGGGGAGTTACTACCAGGGCTCTTTGGGGAG CCAGGACCCCTCGGCCGAGCAACCTGGGCCGTCCCCACCGTGCGCAGCGGCTGGATCCAGGGCCTGCGCT CCCTGGCACAGCACCCCAGCGCCCTGCGCTTCCTGGCCGACCATGGTGCGGTCGACACCATCTTCTCCCT GCAGGGAGACTCCAGCCTGTTTGTGGCCTCGGCGGCCAGTCAGCTCCTGGTGCACGTCCTGGCTTTGTCC ATGCGAGGTGGAGCCGAGGGGCAGCCCTGCCTGCCGGGGGGTGACTGGCCCGCGTGTGCCCAGAAGATCA TGGATCACGTTGAAGAGTCCTTGTGCTCCGCGGCCACCCCCAAGGTCACTCAGGCCCTGAACGTCCTGAC CACGACCTTCGGGCGCTGCCAGAGCCCCTGGACGGAAGCCCTGTGGGTGCGGCTGAGTCCCCGCGTGGCC TGTCTGCTGGAGAGAGACCCCATCCCCGCCGCACACTCGTTCGTGGACCTGCTTCTCTGTGTGGCTCGTT CTCCCGTGTTCAGTTCTTCCGACGGCAGCCTGTGGGAGACAGTGGCGCGGGCTCTGAGCTGCCTGGGTCC CACCCACATGGGACCCCTGGCTTTGGGGATCCTGAAGCTCGAGCACTGTCCACAGGCACTGAGGACCCAG GCCTTCCAGGTCCTTCTCCAGCCCCTGGCCTGTGTCCTGAAGGCCACGGTTCAGGCCCCCGGACCCCCAG GCTTGCTGGACGGGACGGCAGACGATGCCACGACGGTGGACACACTCCTGGCCTCCAAGTCGTCCTGCGC CGGCCTCCTGTGCCGCACCCTGGCTCACCTGGAGGAGCTGCAGCCGCTGCCCCAGCGCCCTTCACCGTGG CCCCAGGCGTCTCTACTGGGGGCTACAGTGACTGTCCTGCGGCTCTGTGACGGCTCGGCTGCCCCTGCCT CCAGTGTGGGGGGCCACCTCTGTGGGACCCTGGCGGGCTGCGTCCGGGTCCAGCGAGCAGCCCTCGACTT CCTGGGGACGCTGTCACAGGGGACAGGCCCCCAGGAGCTGGTGACGCAGGCGCTTGCTGTCCTCCTGGAG TGCCTCGAGAGCCCCGGCTCCAGCCCCACGGTTCTGAAGAAGGCCTTCCAGGCCACGCTCAGGTGGCTCC TGAGCTCACCCAAGACCCCCGGCTGCTCTGATCTCGGCCCCCTCATCCCGCAGTTCCTCAGAGAGCTGTT CCCTGTGCTGCAGAAACGCCTGTGCCACCCCTGCTGGGAGGTGAGGGACTCCGCCCTCGAGTTCCTGACC CAGCTGAGCAGGCACTGGGGAGGACAGGCTGACTTCAGATGCGCACTCTTGGCTTCAGAGGTGCCTCAGC TGGCCCTGCAGCTCCTCCAGGACCCTGAGAGTTATGTCCGAGCGAGTGCAGTGACCGCCATGGGGCAGCT GTCCAGCCAGGGCCTGCACGCCCCCACCAGCCCTGAGCATGCAGAGGCCCGGCAGATGGGTAAACTGAGG ATTGGAGGGCCGTGTGCTCACTGCGCAGCATGGGAAGGTGTCAGAGCGGGCTGTGGCCCTAGACTGCATG TCCGGGGCCAGCCCCCATCATGTACCGGAGTCCTGTTGCGGGAGCCTCGCTCCTGCCACCCCACCAACCA TCCGCACTTGCTCCCTGTCCCCCAGAGCCTGTTCCTGGAGCTCCTGCACATCCTCTCCGTAGACTCGGAG GGCTTCCCACGGCGGGCGGTCATGCAAGTCTTCACTGAGTGGCTGCGGGACGGCCACGCCGACGCGGCCC AGGACACGGAGCAGTTCGTGGCCACTGTGCTGCAGGCGGCGAGCCGAGACCTGGACTGGGAGGTCCGCGC CCAGGGCCTGGAGCTGGCCCTCGTGTTCCTGGGCCAGACTTTGGGGCCGCCGCGTACCCACTGCCCCTAT GCCGTGGCCCTACCCGAGGTGGCCCCAGCCCAGCCACTCACCGAGGCACTGAGGGCTCTCTGCCACGTGG GGCTCTTTGACTTCGCCTTTTGTGCCTTGTTTGACTGCGACCGCCCTGTGGCGCAGAAGTCTTGTGACCT CCTTCTCTTCCTGAGGGACAAGATTGCTTCCTACAGCAGCCTGCGGGAGGCCAGGGGCAGCCCCAACACT GCCTCCGCAGAGGCCACCCTGCCGAGGTGGCGGGCGGGTGAGCAGGCCCAGCCCCCAGGGGACCAGGAGC CTGAGGCTGTGCTGGCCATGCTCAGGTCCCTAGACCTGGAGGGCCTGCGGAGCACGCTGGCCGAGAGCAG CGACCACGTGGAAAAGAGTCCCCAGTCCCTCCTGCAGGACATGCTGGCCACGGGAGGCTTCCTGCAGGGG GACGAGGCCGACTGCTACTGAGCAGAACCAGAGTCTGCCACTGGGGCTCAGGACCAAGGGAGGCAGCACC ATGTCCTTCTGTGGGACACTGCCAGCCCCAGGGCTCCAGCCCAGCCCGGTGGATCCTCTGGGGAAGCCAG GACCAGGAGAGAAGCAAGGTCAAGAAATCCCACAGTTTGATGTATTAAAGAAATGACTTATTTCTACTCA AAATAAATGGCATTGAAGTCTTTCTTTAA >gi|530384534|ref|XM_005249642.1| PREDICTED: Homo sapiens BRCA1-associated ATM activator 1 (BRAT1), transcript variant X1, mRNA GCGACCGGCTTGGCGCCTGCCTGTCCCCAGCCCCTCTCAGCTTGAACTCCTTCCTTCAAGTCTGGGCCCT CGAGGCTTCCAGAGCGGCCTCCAGGGGTGCAGTCTCAGTTCCCCACGCCAGCCGTCTCCGTCCTCCGCCT CCTCCGGGCCTGGCAGGTGGCACTGTCCGGAGGCGGAGCCTTGGGCGAGGGGTGGTTGCGGCGGAGGACG CAACCGAGCGGGCCTGCGGCCTCACCATGGACCCAGAATGCGCCCAGCTGCTCCCGGCTCTCTGTGCTGT TCTGGTAGATCCCAGGCAGCCGGTGGCAGATGACACCTGTTTGGAGAAGCTCCTGGACTGGTTTAAAACG GTCACTGAAGGAGAGTCCAGTGTCGTGCTGCTGCAGGAGCACCCCTGCCTGGTGGAGCTGCTGTCCCATG TGCTGAAAGTCCAGGACCTGAGTTCTGGGGTCCTCTCCTTCTCACTGCGCCTGGCAGGAACCTTCGCAGC CCAGGAAAACTGCTTCCAGTATCTTCAGGGGGAGTTACTACCAGGGCTCTTTGGGGAGCCAGGACCCCTC GGCCGAGCAACCTGGGCCGTCCCCACCGTGCGCAGCGGCTGGATCCAGGGCCTGCGCTCCCTGGCACAGC ACCCCAGCGCCCTGCGCTTCCTGGCCGACCATGGTGCGGTCGACACCATCTTCTCCCTGCAGGGAGACTC CAGCCTGTTTGTGGCCTCGGCGGCCAGTCAGCTCCTGGTGCACGTCCTGGCTTTGTCCATGCGAGGTGGA GCCGAGGGGCAGCCCTGCCTGCCGGGGGGTGACTGGCCCGCGTGTGCCCAGAAGATCATGGATCACGTTG AAGAGTCCTTGTGCTCCGCGGCCACCCCCAAGGTCACTCAGGCCCTGAACGTCCTGACCACGACCTTCGG GCGCTGCCAGAGCCCCTGGACGGAAGCCCTGTGGGTGCGGCTGAGTCCCCGCGTGGCCTGTCTGCTGGAG AGAGACCCCATCCCCGCCGCACACTCGTTCGTGGACCTGCTTCTCTGTGTGGCTCGTTCTCCCGTGTTCA GTTCTTCCGACGGCAGCCTGTGGGAGACAGTGGCGCGGGCTCTGAGCTGCCTGGGTCCCACCCACATGGG ACCCCTGGCTTTGGGGATCCTGAAGCTCGAGCACTGTCCACAGGCACTGAGGACCCAGGCCTTCCAGGTC CTTCTCCAGCCCCTGGCCTGTGTCCTGAAGGCCACGGTTCAGGCCCCCGGACCCCCAGGCTTGCTGGACG GGACGGCAGACGATGCCACGACGGTGGACACACTCCTGGCCTCCAAGTCGTCCTGCGCCGGCCTCCTGTG CCGCACCCTGGCTCACCTGGAGGAGCTGCAGCCGCTGCCCCAGCGCCCTTCACCGTGGCCCCAGGCGTCT CTACTGGGGGCTACAGTGACTGTCCTGCGGCTCTGTGACGGCTCGGCTGCCCCTGCCTCCAGTGTGGGGG GCCACCTCTGTGGGACCCTGGCGGGCTGCGTCCGGGTCCAGCGAGCAGCCCTCGACTTCCTGGGGACGCT GTCACAGGGGACAGGCCCCCAGGAGCTGGTGACGCAGGCGCTTGCTGTCCTCCTGGAGTGCCTCGAGAGC CCCGGCTCCAGCCCCACGGTTCTGAAGAAGGCCTTCCAGGCCACGCTCAGGTGGCTCCTGAGCTCACCCA AGACCCCCGGCTGCTCTGATCTCGGCCCCCTCATCCCGCAGTTCCTCAGAGAGCTGTTCCCTGTGCTGCA GAAACGCCTGTGCCACCCCTGCTGGGAGGTGAGGGACTCCGCCCTCGAGTTCCTGACCCAGCTGAGCAGG CACTGGGGAGGACAGGCTGACTTCAGATGCGCACTCTTGGCTTCAGAGGTGCCTCAGCTGGCCCTGCAGC TCCTCCAGGACCCTGAGAGTTATGTCCGAGCGAGTGCAGTGACCGCCATGGGGCAGCTGTCCAGCCAGGG CCTGCACGCCCCCACCAGCCCTGAGCATGCAGAGGCCCGGCAGATGGGTAAACTGAGGATTGGAGGGCCG TGTGCTCACTGCGCAGCATGGGAAGGTGTCAGAGCGGGCTGTGGCCCTAGACTGCATGTCCGGGGCCAGC CCCCATCATGTACCGGAGTCCTGTTGCGGGAGCCTCGCTCCTGCCACCCCACCAACCATCCGCACTTGCT CCCTGTCCCCCAGAGCCTGTTCCTGGAGCTCCTGCACATCCTCTCCGTAGACTCGGAGGGCTTCCCACGG CGGGCGGTCATGCAAGTCTTCACTGAGTGGCTGCGGGACGGCCACGCCGACGCGGCCCAGGACACGGAGC AGTTCGTGGCCACTGTGCTGCAGGCGGCGAGCCGAGACCTGGACTGGGAGGTCCGCGCCCAGGGCCTGGA GCTGGCCCTCGTGTTCCTGGGCCAGACTTTGGGGCCGCCGCGTACCCACTGCCCCTATGCCGTGGCCCTA CCCGAGGTGGCCCCAGCCCAGCCACTCACCGAGGCACTGAGGGCTCTCTGCCACGTGGGGCTCTTTGACT TCGCCTTTTGTGCCTTGTTTGACTGCGACCGCCCTGTGGCGCAGAAGTCTTGTGACCTCCTTCTCTTCCT GAGGGACAAGATTGCTTCCTACAGCAGCCTGCGGGAGGCCAGGGGCAGCCCCAACACTGCCTCCGCAGAG GCCACCCTGCCGAGGTGGCGGGCGGGTGAGCAGGCCCAGCCCCCAGGGGACCAGGAGCCTGAGGCTGTGC TGGCCATGCTCAGGTCCCTAGACCTGGAGGGCCTGCGGAGCACGCTGGCCGAGAGCAGCGACCACGTGGA AAAGAGTCCCCAGTCCCTCCTGCAGGACATGCTGGCCACGGGAGGCTTCCTGCAGGGGGACGAGGCCGAC TGCTACTGAGCAGAACCAGAGTCTGCCACTGGGGCTCAGGACCAAGGGAGGCAGCACCATGTCCTTCTGT GGGACACTGCCAGCCCCAGGGCTCCAGCCCAGCCCGGTGGATCCTCTGGGGAAGCCAGGACCAGGAGAGA AGCAAGGTCAAGAAATCCCACAGTTTGATGTATTAAAGAAATGACTTATTTCTACTCAAAATAAATGGCA TTGAAGTCTTTCTTTAA >gi|530373237|ref|XM_005265508.1| PREDICTED: Homo sapiens BRCA1 associated protein-1 (ubiquitin carboxy-terminal hydrolase) (BAP1), transcript variant X2, mRNA GCATGCCCGCATCTGCTGTCCGACAGGCGGAAGACGAGCCCAGAGGCGGAGCAGGGCCGTCGCGCCTTGG TGACGTCTGCCGCCGGCGCGGGCGGGTGACGCGACTGGGCCCGTTGTCTGTGTGTGGGACTGAGGGGCCC CGGGGGCGGTGGGGGCTCCCGGTGGGGGCAGCGGTGGGGAGGGAGGGCCTGGACATGGCGCTGAGGGGCC GCCCCGCGGGAAGATGAATAAGGGCTGGCTGGAGCTGGAGAGCGACCCAGGCCTCTTCACCCTGCTCGTG GAAGATTTCGGTGTCAAGGGGGTGCAAGTGGAGGAGATCTACGACCTTCAGAGCAAATGTCAGGGCCCTG TATATGGATTTATCTTCCTGTTCAAATGGATCGAAGAGCGCCGGTCCCGGCGAAAGGTCTCTACCTTGGT GGATGATACGTCCGTGATTGATGATGATATTGTGAATAACATGTTCTTTGCCCACCAGCTGATACCCAAC TCTTGTGCAACTCATGCCTTGCTGAGCGTGCTCCTGAACTGCAGCAGCGTGGACCTGGGACCCACCCTGA GTCGCATGAAGGACTTCACCAAGGGTTTCAGCCCTGAGAGCAAAGGATATGCGATTGGCAATGCCCCGGA GTTGGCCAAGGCCCATAATAGCCATGCCAGGCCCGAGCCACGCCACCTCCCTGAGAAGCAGAATGGCCTT AGTGCAGTGCGGACCATGGAGGCGTTCCACTTTGTCAGCTATGTGCCTATCACAGGCCGGCTCTTTGAGC TGGATGGGCTGAAGGTCTACCCCATTGACCATGGGCCCTGGGGGGAGGACGAGGAGTGGACAGACAAGGC CCGGCGGGTCATCATGGAGCGTATCGGCCTCGCCACTGCAGGGATCAAGTATGAGGCCAGGCTGCATGTG CTGAAGGTGAACCGTCAGACAGTACTAGAGGCTCTGCAGCAGCTGATAAGAGTAACACAGCCAGAGCTGA TTCAGACCCACAAGTCTCAAGAGTCACAGCTGCCTGAGGAGTCCAAGTCAGCCAGCAACAAGTCCCCGCT GGTGCTGGAAGCAAACAGGGCCCCTGCAGCCTCTGAGGGCAACCACACAGATGGTGCAGAGGAGGCGGCT GGTTCATGCGCACAAGCCCCATCCCACAGCCCTCCCAACAAACCCAAGCTAGTGGTGAAGCCTCCAGGCA GCAGCCTCAATGGGGTTCACCCCAACCCCACTCCCATTGTCCAGCGGCTGCCGGCCTTTCTAGACAATCA CAATTATGCCAAGTCCCCCATGCAGGAGGAAGAAGACCTGGCGGCAGGTGTGGGCCGCAGCCGAGTTCCA GTCCGCCCACCCCAGCAGTACTCAGATGATGAGGATGACTATGAGGATGACGAGGAGGATGACGTGCAGA ACACCAACTCTGCCCTTAGGTATAAGGGGAAGGGAACAGGGAAGCCAGGGGCATTGAGCGGTTCTGCTGA TGGGCAACTGTCAGTGCTGCAGCCCAACACCATCAACGTCTTGGCTGAGAAGCTCAAAGAGTCCCAGAAG GACCTCTCAATTCCTCTGTCCATCAAGACTAGCAGCGGGGCTGGGAGTCCGGCTGTGGCAGTGCCCACAC ACTCGCAGCCCTCACCCACCCCCAGCAATGAGAGTACAGACACGGCCTCTGAGATCGGCAGTGCTTTCAA CTCGCCACTGCGCTCGCCTATCCGCTCAGCCAACCCGACGCGGCCCTCCAGCCCTGTCACCTCCCACATC TCCAAGGTGCTTTTTGGAGAGGATGACAGCCTGCTGCGTGTTGACTGCATACGCTACAACCGTGCTGTCC GTGATCTGGGTCCTGTCATCAGCACAGGCCTGCTGCACCTGGCTGAGGATGGGGTGCTGAGTCCCCTGGC GCTGACAGAGGGTGGGAAGGGTTCCTCGCCCTCCATCAGACCAATCCAAGGCAGCCAGGGGTCCAGCAGC CCAGTGGAGAAGGAGGTCGTGGAAGCCACGGACAGCAGAGAGAAGACGGGGATGGTGAGGCCTGGCGAGC CCTTGAGTGGGGAGAAATACTCACCCAAGCTGCCTATTGCTCGTGGGGCTTTGTTGCTGGCCCGCCCCGA TCAGAGGTGCAATGCTGGGTTTTGGCAGGAGCTGCTGGCACTGCTGAAGTGTGTGGAGGCTGAGATTGCA AACTATGAGGCGTGCCTCAAGGAGGAGGTAGAGAAGAGGAAGAAGTTCAAGATTGATGACCAGAGAAGGA CCCACAACTACGATGAGTTCATCTGCACCTTTATCTCCATGCTGGCTCAGGAAGGCATGCTGGCCAACCT AGTGGAGCAGAACATCTCCGTGCGGCGGCGCCAAGGGGTCAGCATCGGCCGGCTCCACAAGCAGCGGAAG CCTGACCGGCGGAAACGCTCTCGCCCCTACAAGGCCAAGCGCCAGTGAGGACTGCTGGCCCTGACTCTGC AGCCCACTCTTGCCGTGTGGCCCTCACCAGGGTCCTTCCCTGCCCCACTTCCCCTTTTCCCAGTATTACT GAATAGTCCCAGCTGGAGAGTCCAGGCCCTGGGAATGGGAGGAACCAGGCCACATTCCTTCCATCGTGCC CTGAGGCCTGACACGGCAGATCAGCCCCATAGTGCTCAGGAGGCAGCATCTGGAGTTGGGGCACAGCGAG GTACTGCAGCTTCCTCCACAGCCGGCTGTGGAGCAGCAGGACCTGGCCCTTCTGCCTGGGCAGCAGAATA TATATTTTACCTATCAGAGACATCTATTTTTCTGGGCTCCAACCCAACATGCCACCATGTTGAC >gi|530373235|ref|XM_005265507.1| PREDICTED: Homo sapiens BRCA1 associated protein-1 (ubiquitin carboxy-terminal hydrolase) (BAP1), transcript variant X1, mRNA GCATGCCCGCATCTGCTGTCCGACAGGCGGAAGACGAGCCCAGAGGCGGAGCAGGGCCGTCGCGCCTTGG TGACGTCTGCCGCCGGCGCGGGCGGGTGACGCGACTGGGCCCGTTGTCTGTGTGTGGGACTGAGGGGCCC CGGGGGCGGTGGGGGCTCCCGGTGGGGGCAGCGGTGGGGAGGGAGGGCCTGGACATGGCGCTGAGGGGCC GCCCCGCGGGAAGATGAATAAGGGCTGGCTGGAGCTGGAGAGCGACCCAGGCCTCTTCACCCTGCTCGTG GAAGATTTCGGTGTCAAGGGGGTGCAAGTGGAGGAGATCTACGACCTTCAGAGCAAATGTCAGGGCCCTG TATATGGATTTATCTTCCTGTTCAAATGGATCGAAGAGCGCCGGTCCCGGCGAAAGGTCTCTACCTTGGT GGATGATACGTCCGTGATTGATGATGATATTGTGAATAACATGTTCTTTGCCCACCAGCTGATACCCAAC TCTTGTGCAACTCATGCCTTGCTGAGCGTGCTCCTGAACTGCAGCAGCGTGGACCTGGGACCCACCCTGA GTCGCATGAAGGACTTCACCAAGGGTTTCAGCCCTGAGAGCAAAGGATATGCGATTGGCAATGCCCCGGA GTTGGCCAAGGCCCATAATAGCCATGCCAGGCCCGAGCCACGCCACCTCCCTGAGAAGCAGAATGGCCTT AGTGCAGTGCGGACCATGGAGGCGTTCCACTTTGTCAGCTATGTGCCTATCACAGGCCGGCTCTTTGAGC TGGATGGGCTGAAGGTCTACCCCATTGACCATGGGCCCTGGGGGGAGGACGAGGAGTGGACAGACAAGGC CCGGCGGGTCATCATGGAGCGTATCGGCCTCGCCACTGCAGGGGAGCCCTACCACGACATCCGCTTCAAC CTGATGGCAGTGGTGCCCGACCGCAGGATCAAGTATGAGGCCAGGCTGCATGTGCTGAAGGTGAACCGTC AGACAGTACTAGAGGCTCTGCAGCAGCTGATAAGAGTAACACAGCCAGAGCTGATTCAGACCCACAAGTC TCAAGAGTCACAGCTGCCTGAGGAGTCCAAGTCAGCCAGCAACAAGTCCCCGCTGGTGCTGGAAGCAAAC AGGGCCCCTGCAGCCTCTGAGGGCAACCACACAGATGGTGCAGAGGAGGCGGCTGGTTCATGCGCACAAG CCCCATCCCACAGCCCTCCCAACAAACCCAAGCTAGTGGTGAAGCCTCCAGGCAGCAGCCTCAATGGGGT TCACCCCAACCCCACTCCCATTGTCCAGCGGCTGCCGGCCTTTCTAGACAATCACAATTATGCCAAGTCC CCCATGCAGGAGGAAGAAGACCTGGCGGCAGGTGTGGGCCGCAGCCGAGTTCCAGTCCGCCCACCCCAGC AGTACTCAGATGATGAGGATGACTATGAGGATGACGAGGAGGATGACGTGCAGAACACCAACTCTGCCCT TAGGTATAAGGGGAAGGGAACAGGGAAGCCAGGGGCATTGAGCGGTTCTGCTGATGGGCAACTGTCAGTG CTGCAGCCCAACACCATCAACGTCTTGGCTGAGAAGCTCAAAGAGTCCCAGAAGGACCTCTCAATTCCTC TGTCCATCAAGACTAGCAGCGGGGCTGGGAGTCCGGCTGTGGCAGTGCCCACACACTCGCAGCCCTCACC CACCCCCAGCAATGAGAGTACAGACACGGCCTCTGAGATCGGCAGTGCTTTCAACTCGCCACTGCGCTCG CCTATCCGCTCAGCCAACCCGACGCGGCCCTCCAGCCCTGTCACCTCCCACATCTCCAAGGTGCTTTTTG GAGAGGATGACAGCCTGCTGCGTGTTGACTGCATACGCTACAACCGTGCTGTCCGTGATCTGGGTCCTGT CATCAGCACAGGCCTGCTGCACCTGGCTGAGGATGGGGTGCTGAGTCCCCTGGCGCTGACAGAGGGTGGG AAGGGTTCCTCGCCCTCCATCAGACCAATCCAAGGCAGCCAGGGGTCCAGCAGCCCAGTGGAGAAGGAGG TCGTGGAAGCCACGGACAGCAGAGAGAAGACGGGGATGGTGAGGCCTGGCGAGCCCTTGAGTGGGGAGAA ATACTCACCCAAGCTGCCTATTGCTCGTGGGGCTTTGTTGCTGGCCCGCCCCGATCAGAGGTGCAATGCT GGGTTTTGGCAGGAGCTGCTGGCACTGCTGAAGTGTGTGGAGGCTGAGATTGCAAACTATGAGGCGTGCC TCAAGGAGGAGGTAGAGAAGAGGAAGAAGTTCAAGATTGATGACCAGAGAAGGACCCACAACTACGATGA GTTCATCTGCACCTTTATCTCCATGCTGGCTCAGGAAGGCATGCTGGCCAACCTAGTGGAGCAGAACATC TCCGTGCGGCGGCGCCAAGGGGTCAGCATCGGCCGGCTCCACAAGCAGCGGAAGCCTGACCGGCGGAAAC GCTCTCGCCCCTACAAGGCCAAGCGCCAGTGAGGACTGCTGGCCCTGACTCTGCAGCCCACTCTTGCCGT GTGGCCCTCACCAGGGTCCTTCCCTGCCCCACTTCCCCTTTTCCCAGTATTACTGAATAGTCCCAGCTGG AGAGTCCAGGCCCTGGGAATGGGAGGAACCAGGCCACATTCCTTCCATCGTGCCCTGAGGCCTGACACGG CAGATCAGCCCCATAGTGCTCAGGAGGCAGCATCTGGAGTTGGGGCACAGCGAGGTACTGCAGCTTCCTC CACAGCCGGCTGTGGAGCAGCAGGACCTGGCCCTTCTGCCTGGGCAGCAGAATATATATTTTACCTATCA GAGACATCTATTTTTCTGGGCTCCAACCCAACATGCCACCATGTTGAC >gi|530364726|ref|XR_241081.1| PREDICTED: Homo sapiens Mdm4 p53 binding protein homolog (mouse) (MDM4), transcript variant X4, misc_RNA GTGTGGGAGGCCGGAAGTTGCGGCTTCATTACTCGCCATTTCAAAATGCTGCCGAGGCCCTAGGATCTGT GACTGCCACCCCTCCCCCCACCCGGGCTCGGCGGGGGAGCGACTCATGGAGCTGCCGTAAGTTTTACCAA CAGACTGCAGTTTCTTCACTACCAAAATGACATCATTTTCCACCTCTGCTCAGTGTTCAACATCTGACAG TGCTTGCAGGATCTCTCCTGGACAAATCAATCAGGTACGACCAAAACTGCCGCTTTTGAAGATTTTGCAT GCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAAGAGGTCATGCACTATTTAGGTCAGTACATAATGG TGAAGCAACTTTATGATCAGCAGGAGCAGCATATGGTATATTGTGGTGGAGATCTTTTGGGAGAACTACT GGGACGTCAGAGCTTCTCCGTGAAAGACCCAAGCCCTCTCTATGATATGCTAAGAAAGAATCTTGTCACT TTAGCCACTGCTACTACAGCAAAGTGCAGAGGAAAGTTCCACTTCCAGAAAAAGAACTACAGAAGACGAT ATCCCCACACTGCCTACCTCAGAGCATAAATGCATACATTCTAGAGAAGATGAAGACTTAATTGAAAATT TAGCCCAAGATGAAACATCTAGGCTGGACCTTGGATTTGAGGAGTGGGATGTAGCTGGCCTGCCTTGGTG GTTTTTAGGAAACTTGAGAAGCAACTATACACCTAGAAGTAATGGCTCAACTGATTTACAGACAAATCAG GTGATTGAAGTGGGAAAAAATGATGACCTGGAGGACTCTAAGTCCTTAAGTGATGATACCGATGTAGAGG TTACCTCTGAGGATGAGTGGCAGTGTACTGAATGCAAGAAATTTAACTCTCCAAGCAAGAGGTACTGTTT TCGTTGTTGGGCCTTGAGGAAGGATTGGTATTCAGATTGTTCAAAGTTAACCCATTCTCTCTCCACGTCT GATATCACTGCCATACCTGAAAAGGAAAA >gi|530364725|ref|XR_241080.1| PREDICTED: Homo sapiens Mdm4 p53 binding protein homolog (mouse) (MDM4), transcript variant X3, misc_RNA GTGTGGGAGGCCGGAAGTTGCGGCTTCATTACTCGCCATTTCAAAATGCTGCCGAGGCCCTAGGATCTGT GACTGCCACCCCTCCCCCCACCCGGGCTCGGCGGGGGAGCGACTCATGGAGCTGCCGTAAGTTTTACCAA CAGACTGCAGTTTCTTCACTACCAAAATGACATCATTTTCCACCTCTGCTCAGTGTTCAACATCTGACAG TGCTTGCAGGATCTCTCCTGGACAAATCAATCAGGTACGACCAAAACTGCCGCTTTTGAAGATTTTGCAT GCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAAGAGGTCATGCACTATTTAGGTCAGTACATAATGG TGAAGCAACTTTATGATCAGCAGGAGCAGCATATGGTATATTGTGGTGGAGATCTTTTGGGAGAACTACT GGGACGTCAGAGCTTCTCCGTGAAAGACCCAAGCCCTCTCTATGATATGCTAAGAAAGAATCTTGTCACT TTAGCCACTGCTACTACAGCAAAGTGCAGAGGAAAGTTCCACTTCCAGAAAAAGAACTACAGAAGACGAT ATCCCCACACTGCCTACCTCAGAGCATAAATGCATACATTCTAGAGAAGATGAAGACTTAATTGAAAATT TAGCCCAAGATGAAACATCTAGGCTGGACCTTGGATTTGAGGAGTGGGATGTAGCTGGCCTGCCTTGGTG GTTTTTAGGAAACTTGAGAAGCAACTATACACCTAGAAGTAATGGCTCAACTGATTTACAGACAAATCAG GATGTGGGTACTGCCATTGTTTCAGATACTACAGATGACTTGTGGTTTTTGAATGAGTCAGTATCAGAGC AGTTAGGTGTTGGAATAAAAGTTGAAGCTGCTGATACTGAACAAACAAGTGAAGAAGTAGGGAAAGTAAG TGACAAAAAGGTGATTGAAGTGGGAAAAAATGATGACCTGGAGGACTCTAAGTCCTTAAGTGATGATACC GATGTAGAGGTTACCTCTGAGGATGAGTGGCAGTGTACTGAATGCAAGAAATTTAACTCTCCAAGCAAGA GGTACTGTTTTCGTTGTTGGGCCTTGAGGAAGGATTGGTATTCAGATTGTTCAAAGTTAACCCATTCTCT CTCCACGTCTGATATCACTGCCATACCTGAAAAGGAAAATGAAGGAAATGATGTCCCTGATTGTCGAAGA ACCATTTCGGCTCCTGTCGTTAGACCTAAAGATGCGTATATAAAGAAAGAAAACTCCAAACTTTTTGATC CCTGCAACTCAGTGGAATTCTTGGATTTGGCTCACAGTTCTGAAAGCCAAGAGACCATCTCAAGCATGGG AGAACAGTTAGATAACCTTTCTGAACAGAGAACAGATACAGAAAACATGGAGGATTGCCAGAATCTCTTG AAGCCATGTAGCTTATGTGAGAAAAGACCACGAGACGGGAACATTATTCATGGAAGGACGGGCCATCTTG TCACTTGTTTTCACTGTGCCAGAAGACTAAAGAAGGCTGGGGCTTCATGCCCTATTTGCAAGAAAGAGAT TCAGCTGGATGCCAAAGAAGAGTGAATGGCCCACAAAGAGCCTGGTAGCACATACGCTTTTCAAAAGGTC ATGCACTTACAGCTAAAGCCATTAAGGCTGAAGTGCAGTGGCGAGAGGTTCACGGCAGCCTTGACCTCCT GGCTGAAGCGATCCAGCCATCTCAGCCCCCCGAGTAGCTGAGACCACAGGAGGGGGCTGATTGAAACTGA AGAATAGTACAGTAGGAGGAGAGGACCAGGAGCTGAAAAGACAGGTCGCTATGTTGAGAGAGAGAGAGAG GAAGAAAGATCTAATAGGACTTCAAAGGCTGTGGTAGATGTATTACTGTCAAAACCTGCGCAGCTTTTCT CTACCAGGCCTTGGAAAAGATTGCACTTCCTGCACCACTGGCAGCGGGCTGGCCAATGGGATGCAAGTGG AAATGAACTGTGCTATTCTGAGCAGAGGCTTAGGGACCATTGTGTGGGCTTAGGCAGATACTCCAATATT TCTGACACATACATACACGGAAAACCTTGCAAGAGTGGAGAAAAGAAGGGAGAGGGTCTCACTCTGTCAC CAGGCTGGAGTGCAGTGGCACAATCTAGGCTCACTGCAGCCTCGACCTCCCAGGTTCAAGCAATCCTCCC ACCTCAGCCTCCCGGTTAGCTGGGACTATAGCTATGCGCCACCATGTCCCTATGTTGCCCAGCCTCGGTG TCTGGATGCCCAGCCTAACCAAGTCAGCTTCCCATCTTTGGCTGAGACAAGGAGAACCCTGCTGGGCTAG GGGACCCAGATAGTGACCAGGTTCTGCATGTGATTTCCCTGTGGAATTCCAACCAAGGACAGACAGTTAG CCTAAAAACAACAGCAGAAGCAGCAGCAACAACGATGCTGAGTGCTGACTGCGAGCCTGGCTTCCTCGGA GGGAGTTTACCGTGCGCTGCCTCCTTGGACCCTCATCACTGCCCTGCGAAGCAAGCACTTTCCTCACCCC CTCTGTCTGGAGGAGGGCACTGAGGCACCGAGAAAACTGGGCAGGGGAGGCCCGAGAAGGAGAGGGTGGC ACCGTCATTCTCACTTTCCAGCTGAGGACACGGATGGTTTCTATAACAGTGAATTTGCAAATAGTTGGAA CCTCTGAAGTGCTTCCTCTCCTGGACTGGAAACCCCTTGAGGATGTGTACGGCACCCGCATCCCCTCCAT CTGCACCCGCAGCCACAGCCACAGCCACAGCCAGCGCTATGTCCCGTTGCCATTCACATTCATACCTGCA ACGTACACTCATACATGTGTCGGATATTTGCGAAGAAGCTCCCTTTCCCACCTAGGCCCCTCTTCTTTCC TTTCCTTTCCTTTCCCTCCTCTACCTCTTTCCCTTCCTATTCTTCTGCTCCTCCTCCCTCCCAGCTGGTT CCCTATTTCCCTTACCCCCTCAAACATCTCCCCTCTCTCCATCCCCACTCCCAATCTGCCAAACCCACCC CCACCTAAAAATGTGGACCGTGGAGTCTCTGACCGAGGTTTCCTTTCCCAACATGGGGAGCCCGGGCTGG CTGCGATTTGTTGGGGACAGAGATGGGATCTTGCTCTGTTGTTCAGGTGGTGGTTTCAAACTCCTGGCCT CAAGTGATCCTCCTGCCTTGGCCTCCCAAAGCGCTGGGATTACAGGTGTGAGCCGCTGTGCCCAGGCCAA TCCCAGAGATTTTGTTTTATTTTATGGCCCAGAAGATGATTTCTCGATACGAGTTTCACGAAGACTTGAA AAGAATGTGTCCTCTGTTGTTGGATGGAGTGTCCTTGAAATGTTCATTAGCCTTCTAGCTCCATTCAGAA GAGCCTCCGAAGTAGAGACCAGAAATCCTTCTAGTGGGCTGTGCTTTGAGCAGTACTGCTTGTTGACTGC TTTACTTGGAAGGAGAGATCGACTGAGAATGTATAACATCAAGAGCTGCCCTAATGTGAACTGGAGACTT CGAGTGACAACAATGTGCCCATGGAAAGAAGTGGACAAGACTCTGCTCTCTTCATGGAACCGAGTATTCT AAGGACACAGCCAAGTCAGGAGACTACACCCCTAGTATAATAAGTCCTGTGGCTGTACTGAGAAGAGGTC CTGACTCAGAACTGGAGGACATCATGGAAGGCTTCCTGGAGGAAGTGCCATCTAGGCTGAAACCTAAAGG ATGAGTAGAACTAACCAGATGAAAAGGACAGCACTGGATTTGACTCATCCCTGCATCCCCCGAGCACCTC GTGGGTGCCGTAAAGGCAGCTGGGTTGATGATGACTGAGTGAAGGAGCGCCTGAGTGGATGAGCCACTGA GTGAATGAACTGGAGTTCATCTTCCACGTGGTCCTCAGCATCCACTCTAGAAGCCAAAGCCAAGCCTGAG GGATCTAAAGCCTTGGGACTTCTGGATCTGCAAGTGGTCCCTGTTTTGGTAGCTATTGACTGACGAGGGG CTCTTCGCCCCACAGGTGACTGCTGTAGCCTTGAGTGAGGACCTCGGCCAAAAAGAAGGCTCCTACCGTG GCTGTTTGCTGATGGTCTTCGCAGAGCCTGCTGTCTTTGAGCTTCCTGAGAGAGGGACACTACCCTCGCT TAGCCTGGCAGTGTTGCCCAGGAGGAGGCAGTGGAGTTAAGAAGCCTGGGTCTGAGCTCCTCAGCTGTGC AGACAACTCCTACTTGTTCTTCAACGCTCAACTTTAAGTTCAGTCACCACCTGCAGAAGTCTTCTCCAAA ACCTCCCCACCTGGCTGACTAAGGGGCTGGCTTTATGCTCTTGCAGTACTCATGCTTCCTACTGTCACAG TTCTGACCACACCGTGGGAAAACGTCTCTAACTAGAGACCTGTCTTGCCTCTTGTGCCTGTAGTACGGGA TGGGTGCCCAGTGTGTGTTGATTGTATGAATCAATCTCTGTGACTCCAGAGTTCCTTTCTTCAGGAGATT AGACATCACCCCTGCAATCAACAATGCAAGCCACTGCTGTTTCCTCCATCCTGAGCATGAGGAACCTATC CAGTTTCTCTCTCAGATGCCAGGGCCATGAGGCAAGTCCAGCCTTGGCCTAGAACCAAAGATGGAAACAA AAAGGGGCCAGACTGTGTTGCCTTCTTGAGCCTGGTCTGACTCCTGAGTGGAAGTCTGATTCCAGGTACA TGAGATAAGCACTAATACCTCCAGTTTGCAGATTAAGAGACTGAGGTCCTGAAGAGGTTAAAGAACTTGG CTCAAGTCACATAGCTGGTGAGCAGCAAGATACAAGAATCAACCCAAGTCCAGGGGGCTGTGTGCCGTTT ACACTTCACATCTGTGCTGCCAGGGCTGTAGCTATAAAAGCTTGAAAACCATTA >gi|530364724|ref|XR_241079.1| PREDICTED: Homo sapiens Mdm4 p53 binding protein homolog (mouse) (MDM4), transcript variant X2, misc_RNA AAGTTGCGGCTTCATTACTCGCCATTTCAAAATGCTGCCGAGGCCCTAGGATCTGTGACTGCCACCCCTC CCCCCACCCGGGCTCGGCGGGGGAGCGACTCATGGAGCTGCCGTAAGTTTTACCAACAGACTGCAGTTTC TTCACTACCAAAATGACATCATTTTCCACCTCTGCTCAGTGTTCAACATCTGACAGTGCTTGCAGGATCT CTCCTGGACAAATCAATCAGGTACGACCAAAACTGCCGCTTTTGAAGATTTTGCATGCAGCAGGTGCGCA AGGTGAAATGTTCACTGTTAAAGAGGTCATGCACTATTTAGGTCAGTACATAATGGTGAAGCAACTTTAT GATCAGCAGGAGCAGCATATGGTATATTGTGGTGGAGATCTTTTGGGAGAACTACTGGGACGTCAGAGCT TCTCCGTGAAAGACCCAAGCCCTCTCTATGATATGCTAAGAAAGAATCTTGTCACTTTAGCCACTGCTAC TACAGGATCACAGTATGGATATTCCAAGTCAAGACCAACTGAAGCAAAGTGCAGAGGAAAGTTCCACTTC CAGAAAAAGAACTACAGAAGACGATATCCCCACACTGCCTACCTCAGAGCATAAATGCATACATTCTAGA GAAGATGAAGACTTAATTGAAAATTTAGCCCAAGATGAAACATCTAGGCTGGACCTTGGATTTGAGGAGT GGGATGTAGCTGGCCTGCCTTGGTGGTTTTTAGGAAACTTGAGAAGCAACTATACACCTAGAAGTAATGG CTCAACTGATTTACAGACAAATCAGGATGTGGGTACTGCCATTGTTTCAGATACTACAGATGACTTGTGG TTTTTGAATGAGTCAGTATCAGAGCAGTTAGGTGTTGGAATAAAAGTTGAAGCTGCTGATACTGAACAAA CAAGTGAAGAAGTAGGGAAAGTAAGTGACAAAAAGGTGATTGAAGTGGGAAAAAATGATGACCTGGAGGA CTCTAAGTCCTTAAGTGATGATACCGATGTAGAGGTTACCTCTGAGGATGAGTGGCAGTGTACTGAATGC AAGAAATTTAACTCTCCAAGCAAGAGGTACTGTTTTCGTTGTTGGGCCTTGAGGAAGGATTGGTATTCAG ATTGTTCAAAGTTAACCCATTCTCTCTCCACGTCTGATATCACTGCCATACCTGAAAAGGAAAATGAAGG AAATGATGTCCCTGATTGTCGAAGAACCATTTCGGCTCCTGTCGTTAGACCTAAAGATGCGTATATAAAG AAAGAAAACTCCAAACTTTTTGATCCCTGCAACTCAGTGGAATTCTTGGATTTGGCTCACAGTTCTGAAA GCCAAGAGACCATCTCAAGCATGGGAGAACAGTTAGATAACCTTTCTGAACAGAGAACAGATACAGAAAA CATGGAGGATTGCCAGAATCTCTTGAAGCCATGTAGCTTATGTGAGAAAAGACCACGAGACGGGAACATT ATTCATGGAAGGACGGGCCATCTTGTCACTTGTTTTCACTGTGCCAGAAGACTAAAGAAGGCTGGGGCTT CATGCCCTATTTGCAAGAAAGAGATTCAGCTGGTTATTAAGGTTTTTATAGCATAATGGTAGTACGAACA TAAAAATGCATTTATTCCGTTCACTTACCACATTATTTGAAAATCAATCCTTTATTTAATTTTATTTCCA ACCTGTCAGAGAATGTTCTTAGGCATCAAAATCCAAGGTAGCTGTAAGAAAAATACTGGAGCTAACAATG AAGAACAGAAGTAATCTGATTAGTCAAATTATTAAGTGCCATGGATTACTTTATGCAGCAGTCAGGTACA TAGTTAGGTGAACCCAAAAGAAAAACTCTTGAAAACAAGAGATTTCTTCCATGCACATTTACAATATTGA GGTATAATTAACATGATAAAGTGTTTCCTTCTAACGAGTTGTAGAAATCTGAGTAACCACCCAAAAAAGC AATAGAATGTTTCTGTCACCCCAAAACACTCCCTTCTGCCCCTCTTCAGACAGTCCTTCAGCTATTTCAT GGCTCTCACCCTAGTTTTTTTTTTTTTTGCACTTTTTTTTTTCCGGGGGTATAGGGGAGGTGTGGGGCGA CAGGGTCTGTCTTGTTCTGTCTCCCAGGCTGAAGTGCAGTGCAGTGGTATGATCATGGCTCACTGCAGCC TTGGTTTCCTGGGCATAAGTGGTCTTCCCACTTCAGCCTCCTGAGTAGCTGAGACTATAGACTAGCATAA CCACACTGGCTAATTTTTTGTGGAGATGAAGTCTCACTATGTTGCCCAGGCTGGTCTCGAACTCCTGGGC TCAAACAATCCTCCCGCCTCAGCCTTCCAAATTGCTGGGATTATAGTCATGAGGCACCTAGTCTGGCCCT TTTGCAAGACTTTAATCTGAAATCTAAATTTTTAAAATTTAAGTACTTACAAAGGATATACTATCCAACA TATTGCATATTATATATGTGCTTTAAAGTTTTTTTTTTTTTTTGAGAGACGGTCTCACTTTGTCATCCAA GCTGGAGTGCAGTGGTGCAAACACGGCCCACCTCCTGGGCTCAAGTGATCCTCCAGCCTCAGCTTCCCTC ACAGGCATTCACTATCACTCCCAGCTAATTAAAATAATTTGTAGACGGTGTCTCGTTATGTTGCCCAGGC TGGTCTCGAACTCCTGGGTTTAAGTGATTCCCCCGCCTCAGCCTCCCAAAGTGTTGGGCTTACAGCCTTG AGCCACTATGCTTGGCTCAAAGATATTTTTATGAAAGCCCTGGGACTATAGATTTAGCTGATTAAATTTA TAGAAAAAGTCCTGTCATA pyfaidx-0.6.4/tests/data/genes.fasta.lower000066400000000000000000002163771417603162300205330ustar00rootroot00000000000000>gi|563317589|dbj|AB821309.1| Homo sapiens FGFR2-AHCYL1 mRNA for FGFR2-AHCYL1 fusion kinase protein, complete cds atggtcagctggggtcgtttcatctgcctggtcgtggtcaccatggcaaccttgtccctggcccggccct ccttcagtttagttgaggataccacattagagccagaagatgccatctcatccggagatgatgaggatga caccgatggtgcggaagattttgtcagtgagaacagtaacaacaagagagcaccatactggaccaacaca gaaaagatggaaaagcggctccatgctgtgcctgcggccaacactgtcaagtttcgctgcccagccgggg ggaacccaatgccaaccatgcggtggctgaaaaacgggaaggagtttaagcaggagcatcgcattggagg ctacaaggtacgaaaccagcactggagcctcattatggaaagtgtggtcccatctgacaagggaaattat acctgtgtggtggagaatgaatacgggtccatcaatcacacgtaccacctggatgttgtggagcgatcgc ctcaccggcccatcctccaagccggactgccggcaaatgcctccacagtggtcggaggagacgtagagtt tgtctgcaaggtttacagtgatgcccagccccacatccagtggatcaagcacgtggaaaagaacggcagt aaatacgggcccgacgggctgccctacctcaaggttctcaagcactcggggataaatagttccaatgcag aagtgctggctctgttcaatgtgaccgaggcggatgctggggaatatatatgtaaggtctccaattatat agggcaggccaaccagtctgcctggctcactgtcctgccaaaacagcaagcgcctggaagagaaaaggag attacagcttccccagactacctggagatagccatttactgcataggggtcttcttaatcgcctgtatgg tggtaacagtcatcctgtgccgaatgaagaacacgaccaagaagccagacttcagcagccagccggctgt gcacaagctgaccaaacgtatccccctgcggagacaggtaacagtttcggctgagtccagctcctccatg aactccaacaccccgctggtgaggataacaacacgcctctcttcaacggcagacacccccatgctggcag gggtctccgagtatgaacttccagaggacccaaaatgggagtttccaagagataagctgacactgggcaa gcccctgggagaaggttgctttgggcaagtggtcatggcggaagcagtgggaattgacaaagacaagccc aaggaggcggtcaccgtggccgtgaagatgttgaaagatgatgccacagagaaagacctttctgatctgg tgtcagagatggagatgatgaagatgattgggaaacacaagaatatcataaatcttcttggagcctgcac acaggatgggcctctctatgtcatagttgagtatgcctctaaaggcaacctccgagaatacctccgagcc cggaggccacccgggatggagtactcctatgacattaaccgtgttcctgaggagcagatgaccttcaagg acttggtgtcatgcacctaccagctggccagaggcatggagtacttggcttcccaaaaatgtattcatcg agatttagcagccagaaatgttttggtaacagaaaacaatgtgatgaaaatagcagactttggactcgcc agagatatcaacaatatagactattacaaaaagaccaccaatgggcggcttccagtcaagtggatggctc cagaagccctgtttgatagagtatacactcatcagagtgatgtctggtccttcggggtgttaatgtggga gatcttcactttagggggctcgccctacccagggattcccgtggaggaactttttaagctgctgaaggaa ggacacagaatggataagccagccaactgcaccaacgaactgtacatgatgatgagggactgttggcatg cagtgccctcccagagaccaacgttcaagcagttggtagaagacttggatcgaattctcactctcacaac caatgagcaattccagtttgctgatgacatgcaggagttcaccaaattccccaccaaaactggccgaaga tctttgtctcgctcgatctcacagtcctccactgacagctacagttcagctgcatcctacacagatagct ctgatgatgaggtttctccccgagagaagcagcaaaccaactccaagggcagcagcaatttctgtgtgaa gaacatcaagcaggcagaatttggacgccgggagattgagattgcagagcaagacatgtctgctctgatt tcactcaggaaacgtgctcagggggagaagcccttggctggtgctaaaatagtgggctgtacacacatca cagcccagacagcggtgttgattgagacactctgtgccctgggggctcagtgccgctggtctgcttgtaa catctactcaactcagaatgaagtagctgcagcactggctgaggctggagttgcagtgttcgcttggaag ggcgagtcagaagatgacttctggtggtgtattgaccgctgtgtgaacatggatgggtggcaggccaaca tgatcctggatgatgggggagacttaacccactgggtttataagaagtatccaaacgtgtttaagaagat ccgaggcattgtggaagagagcgtgactggtgttcacaggctgtatcagctctccaaagctgggaagctc tgtgttccggccatgaacgtcaatgattctgttaccaaacagaagtttgataacttgtactgctgccgag aatccattttggatggcctgaagaggaccacagatgtgatgtttggtgggaaacaagtggtggtgtgtgg ctatggtgaggtaggcaagggctgctgtgctgctctcaaagctcttggagcaattgtctacattaccgaa atcgaccccatctgtgctctgcaggcctgcatggatgggttcagggtggtaaagctaaatgaagtcatcc ggcaagtcgatgtcgtaataacttgcacaggaaataagaatgtagtgacacgggagcacttggatcgcat gaaaaacagttgtatcgtatgcaatatgggccactccaacacagaaatcgatgtgaccagcctccgcact ccggagctgacgtgggagcgagtacgttctcaggtggaccatgtcatctggccagatggcaaacgagttg tcctcctggcagagggtcgtctactcaatttgagctgctccacagttcccacctttgttctgtccatcac agccacaacacaggctttggcactgatagaactctataatgcacccgaggggcgatacaagcaggatgtg tacttgcttcctaagaaaatggatgaatacgttgccagcttgcatctgccatcatttgatgcccacctta cagagctgacagatgaccaagcaaaatatctgggactcaacaaaaatgggccattcaaacctaattatta cagatactaa >gi|557361099|gb|KF435150.1| Homo sapiens MDM4 protein variant Y (MDM4) mRNA, complete cds, alternatively spliced atgacatcattttccacctctgctcagtgttcaacatctgacagtgcttgcaggatctctcctggacaaa tcaatcaggtacgaccaaaactgccgcttttgaagattttgcatgcagcaggtgcgcaaggtgaaatgtt cactgttaaagaggtcatgcactatttaggtcagtacataatggtgaagcaactttatgatcagcaggag cagcatatggtatattgtggtggagatcttttgggagaactactgggacgtcagagcttctccgtgaaag acccaagccctctctatgatatgctaagaaagaatcttgtcactttagccactgctactacagcaaagtg cagaggaaagttccacttccagaaaaagaactacagaagacgatatccccacactgcctacctcagagca taaatgcatacattctagagaaggtgattgaagtgggaaaaaatgatgacctggaggactc >gi|557361097|gb|KF435149.1| Homo sapiens MDM4 protein variant G (MDM4) mRNA, complete cds atgacatcattttccacctctgctcagtgttcaacatctgacagtgcttgcaggatctctcctggacaaa tcaatcaggtacgaccaaaactgccgcttttgaagattttgcatgcagcaggtgcgcaaggtgaaatgtt cactgttaaagaggtcatgcactatttaggtcagtacataatggtgaagcaactttatgatcagcaggag cagcatatggtatattgtggtggagatcttttgggagaactactgggacgtcagagcttctccgtgaaag acccaagccctctctatgatatgctaagaaagaatcttgtcactttagccactgctactacagcaaagtg cagaggaaagttccacttccagaaaaagaactacagaagacgatatccccacactgcctacctcagagca taaatgcatacattctagagaagatgaagacttaattgaaaatttagcccaagatgaaacatctaggctg gaccttggatttgaggagtgggatgtagctggcctgccttggtggtttttaggaaacttgagaagcaact atacacctagaagtaatggctcaactgatttacagacaaatcaggtgattgaagtgggaaaaaatgatga cctggaggactc >gi|543583796|ref|NR_104216.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 8, non-coding RNA ccccgcccctctggcggcccgccgtcccagacgcgggaagagcttggccggtttcgagtcgctggcctgc agcttccctgtggtttcccgaggcttccttgcttcccgctctgcgaggagcctttcatccgaaggcggga cgatgccggataatcggcagccgaggaaccggcagccgaggatccgctccgggaacgagcctcgttccgc gcccgccatggaaccggatggtcgcggtgcctgggcccacagtcgcgccgcgctcgaccgcctggagaag ctgctgcgctgctcgcgttgtactaacattctgagagagcctgtgtgtttaggaggatgtgagcacatct tctgtagtaattgtgtaagtgactgcattggaactggatgtccagtgtgttacaccccggcctggataca agacttgaagataaatagacaactggacagcatgattcaactttgtagtaagcttcgaaatttgctacat gacaatgagctgtcagggcgacataccttctgttgaataccttttacaaaatggaagtgatccaaatgtt aaagaccatgctggatggacaccattgcatgaagcttgcaatcatgggcacctgaaggtagtggaattat tgctccagcataaggcattggtgaacaccaccgggtatcaaaatgactcaccacttcacgatgcagccaa gaatgggcatgtggatatagtcaagctgttactttcctatggagcctccagaaatgctgttaatatattt ggtctgcggcctgtcgattatacagatgatgaaagtatgaaatcgctattgctgctaccagagaagaatg aatcatcctcagctagccactgctcagtaatgaacactgggcagcgtagggatggacctcttgtacttat aggcagtgggctgtcttcagaacaacagaaaatgctcagtgagcttgcagtaattcttaaggctaaaaaa tatactgagtttgacagtacagtaactcatgttgttgttcctggtgatgcagttcaaagtaccttgaagt gtatgcttgggattctcaatggatgctggattctaaaatttgaatgggtaaaagcatgtctacgaagaaa agtatgtgaacaggaagaaaagtatgaaattcctgaaggtccacgcagaagcaggctcaacagagaacag ctgttgccaaagctgtttgatggatgctacttctatttgtggggaaccttcaaacaccatccaaaggaca accttattaagctcgtcactgcaggtgggggccagatcctcagtagaaagcccaagccagacagtgacgt gactcagaccatcaatacagtcgcataccatgcgagacccgattctgatcagcgcttctgcacacagtat atcatctatgaagatttgtgtaattatcacccagagagggttcggcagggcaaagtctggaaggctcctt cgagctggtttatagactgtgtgatgtcctttgagttgcttcctcttgacagctgaatattataccagat gaacatttcaaattgaatttgcacggtttgtgagagcccagtcattgtactgtttttaatgttcacattt ttacaaataggtagagtcattcatatttgtctttgaatcaaaaaaaaaaaaaaagtctaatgccagatta ggaattcatgttatgtttaccatttagaagctgggattgcttttaaaggtttttctttttaaaattggca tgtttttgatttatcatgtctttctattcagattattgggtatcaaagattaatgaggacaccagaatct tggttaaatagacaagtggtatcattactgtttgagtcttttaatattctccatacctgccaccagtgaa aaaacttgccttttttttttttttttttttagtaaacagaatattatcaaacaatttattttggctttat tgaaaaaagagtatttggtctaaatgtgccaccataggtgttaaattctcctatctgcaattgtctttat cctatattgtgttcatttcttttcttaataatttactttgttgtgtgtttctacactttcatccctgttt tttatcttgtatatcatcaggaaattgtgatttaatcattaacattggtttttttgtgtgtgtggtaaaa atcaacactaggctcatggtacatatttttattctgtacatttgcttgtaactatcaatttgtaactctg tttatctactacatgtgtatatatacttagagcattttctctaacacattttaatgttagtattttttaa aaggtctgaccagtctagcaaattgtcagtccaacgtcattactttaaattaagaagcagtcttcttctg gtaaaccttgttggtatttgtaaaataattttgaaggtcttaatttcttcctttgtaaaaggaaaaggtt ttttttaaagtttttaggttggcatggaggcagaagttggtgattacttgatttacaacagattttttcc agatcatacaaaaggccatacagtaagtatagaagtaggtatggggagggcttactaatatcaaataggc aaggccttagtgagtgggcaggataccacctgagagtggccagatgtggggaggttactctgctctgggt gctctcattcatgaatcgacaaggatacattagattattttgaaacatttttttaagaagcagaattctt taataattccttcctagacattgaatatacttataaaattaaagacttggggaaggagacactgagagac ttgccagtttggttcctcatgaacaaaagaggacagtttgataactaccagaatagaatatccctagttt taaaatagtgagaatctctgaagttcatcaacatcttaagatgcacttacttgaaagtttgagattctgt ttatcatttgaaaacacattttgctttaattctttctttgacatgttgttttttcatatcaagaaatata tgaacaaaataataaccttttgaccctgaccttgctgggtgaattagctctgaaacactctctacaacca gtaatgcatttgtcccacatttcattctgatagaaaatgaacaccatagcaccaaacaaaaatccgaggc gttagataatgtctggattaaataatttaagactctctaggattttggttgtcattttttatttataaca gactttaagtcactttctgttgcctcataggtcacattttagacaggtttgtgtctgttccttgcatctg aattcctgattgtaaagacacctatgaggtctcttagtttttgtcattcattttcttggtttatcacccc tcccttctttttgttgtttttccctgactgttaagcagtttcatctttgcttttgttaaatatttgacag cagttagtttgtgttaagctcttgaaacttgtgattgtactttctgtgtagatatacatgtaattatttt ttatttttcaatcatagattcaagcttccttcttttttaccacaaatcattaaagttatttgtgtttcca tatacctgtgtcttgtataaaattggcttattctgtgctgttgaatgaggctcaacatgacttggtgagg aagtctattaactaacaaaagcttatcttttttaacataatgctttttaattaattttgaataaaaatat ttctaaagtgtactagatactttattaccttagattattccgaatacagtataactttgatagtttggaa tagtcattaagaaacaattacacactgattgctttgtgtctctaaaagtgagaggctggtagcttttcca cattctcatggctattttctagttctacttgaatttataactgtttccctttttccttgacagctgccac tttgtagctatttttctgtctctgctaatactttaccatatctatctcaattgttttttcttttgacttg ctgaaaaatagaaaccagatgggaagtatattagcattatgattgaaataagggtaaatgagcaatgtgt gaaggttttcactgacttcacctaaaagatagtttagctacttgaattttagtaaatagaatttttcctt tatttcatcggtccccccacctttttttttttttgcacctgccttgtaaatttaatagttaagtgacctc tgcctagaggatgatatttggggaggtttgatgtttcctgtgggaataagacgattcacaggtgagagtg gggccacattagctgttattgtttccatgggtcagtgtggaaaatgcattaatcatattctaaacgttca tgggcctcattacagtcacaattgtctattctgtttcctaccctgaacacattaaaatggtaggaactaa tgcttgtcttatttaattactaaaagccaccattttctttgatagattgagctacagattgtaaacttca tgtatttctttataagtcaacccttttcaaagatacgcacatcaaactgaatgaataaataaatattgag aagttgaaaaaaaaaaaaaaaaa >gi|543583795|ref|NR_104215.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 7, non-coding RNA ccccgcccctctggcggcccgccgtcccagacgcgggaagagcttggccggtttcgagtcgctggcctgc agcttccctgtggtttcccgaggcttccttgcttcccgctctgcgaggagcctttcatccgaaggcggga cgatgccggataatcggcagccgaggaaccggcagccgaggatccgctccgggaacgagcctcgttccgc gcccgccatggaaccggatggtcgcggtgcctgggcccacagtcgcgccgcgctcgaccgcctggagaag ctgctgcgctgctcgcgttgatttgaaagaagataaacctaggaaaagtttgtttaatgatgcaggaaac aagaagaattcaattaaaatgtggtttagccctcgaagtaagaaagtcagatatgttgtgagtaaagctt cagtgcaaacccagcctgcaataaaaaaagatgcaagtgctcagcaagactcatatgaatttgtttcccc aagtcctcctgcagatgtttctgagagggctaaaaaggcttctgcaagatctggaaaaaagcaaaaaaag aaaactttagctgaaatcaaccaaaaatggaatttagaggcagaaaaagaagatggtgaatttgactcca aagaggaatctaagcaaaagctggtatccttctgtagccaaccatctgttatctccagtcctcagataaa tggtgaaatagacttactagcaagtggctccttgacagaatctgaatgttttggaagtttaactgaagtc tctttaccattggctgagcaaatagagtctccagacactaagagcaggaatgaagtagtgactcctgaga aggtctgcaaaaattatcttacatctaagaaatctttgccattagaaaataatggaaaacgtggccatca caatagactttccagtcccatttctaagagatgtagaaccagcattctgagcaccagtggagattttgtt aagcaaacggtgccctcagaaaatataccattgcctgaatgttcttcaccaccttcatgcaaacgtaaag ttggtggtacatcagggaggaaaaacagtaacatgtccgatgaattcattagtctttcaccaggtacacc accttctacattaagtagttcaagttacaggcgagtgatgtctagtccctcagcaatgaagctgttgccc aatatggctgtgaaaagaaatcatagaggagagactttgctccatattgcttctattaagggcgacatac cttctgttgaataccttttacaaaatggaagtgatccaaatgttaaagaccatgctggatggacaccatt gcatgaagcttgcaatcatgggcacctgaaggtagtggaattattgctccagcataaggcattggtgaac accaccgggtatcaaaatgactcaccacttcacgatgcagccaagaatgggcatgtggatatagtcaagc tgttactttcctatggagcctccagaaatgctgttaatatatttggtctgcggcctgtcgattatacaga tgatgaaagtatgaaatcgctattgctgctaccagagaagaatgaatcatcctcagctagccactgctca gtaatgaacactgggcagcgtagggatggacctcttgtacttataggcagtgggctgtcttcagaacaac agaaaatgctcagtgagcttgcagtaattcttaaggctaaaaaatatactgagtttgacagtacagtaac tcatgttgttgttcctggtgatgcagttcaaagtaccttgaagtgtatgcttgggattctcaatggatgc tggattctaaaatttgaatgggtaaaagcatgtctacgaagaaaagtatgtgaacaggaagaaaagtatg aaattcctgaaggtccacgcagaagcaggctcaacagagaacagctgttgccaaagctgtttgatggatg ctacttctatttgtggggaaccttcaaacaccatccaaaggacaaccttattaagctcgtcactgcaggt gggggccagatcctcagtagaaagcccaagccagacagtgacgtgactcagaccatcaatacagtcgcat accatgcgagacccgattctgatcagcgcttctgcacacagtatatcatctatgaagatttgtgtaatta tcacccagagagggttcggcagggcaaagtctggaaggctccttcgagctggtttatagactgtgtgatg tcctttgagttgcttcctcttgacagctgaatattataccagatgaacatttcaaattgaatttgcacgg tttgtgagagcccagtcattgtactgtttttaatgttcacatttttacaaataggtagagtcattcatat ttgtctttgaatcaaaaaaaaaaaaaaagtctaatgccagattaggaattcatgttatgtttaccattta gaagctgggattgcttttaaaggtttttctttttaaaattggcatgtttttgatttatcatgtctttcta ttcagattattgggtatcaaagattaatgaggacaccagaatcttggttaaatagacaagtggtatcatt actgtttgagtcttttaatattctccatacctgccaccagtgaaaaaacttgcctttttttttttttttt ttttagtaaacagaatattatcaaacaatttattttggctttattgaaaaaagagtatttggtctaaatg tgccaccataggtgttaaattctcctatctgcaattgtctttatcctatattgtgttcatttcttttctt aataatttactttgttgtgtgtttctacactttcatccctgttttttatcttgtatatcatcaggaaatt gtgatttaatcattaacattggtttttttgtgtgtgtggtaaaaatcaacactaggctcatggtacatat ttttattctgtacatttgcttgtaactatcaatttgtaactctgtttatctactacatgtgtatatatac ttagagcattttctctaacacattttaatgttagtattttttaaaaggtctgaccagtctagcaaattgt cagtccaacgtcattactttaaattaagaagcagtcttcttctggtaaaccttgttggtatttgtaaaat aattttgaaggtcttaatttcttcctttgtaaaaggaaaaggttttttttaaagtttttaggttggcatg gaggcagaagttggtgattacttgatttacaacagattttttccagatcatacaaaaggccatacagtaa gtatagaagtaggtatggggagggcttactaatatcaaataggcaaggccttagtgagtgggcaggatac cacctgagagtggccagatgtggggaggttactctgctctgggtgctctcattcatgaatcgacaaggat acattagattattttgaaacatttttttaagaagcagaattctttaataattccttcctagacattgaat atacttataaaattaaagacttggggaaggagacactgagagacttgccagtttggttcctcatgaacaa aagaggacagtttgataactaccagaatagaatatccctagttttaaaatagtgagaatctctgaagttc atcaacatcttaagatgcacttacttgaaagtttgagattctgtttatcatttgaaaacacattttgctt taattctttctttgacatgttgttttttcatatcaagaaatatatgaacaaaataataaccttttgaccc tgaccttgctgggtgaattagctctgaaacactctctacaaccagtaatgcatttgtcccacatttcatt ctgatagaaaatgaacaccatagcaccaaacaaaaatccgaggcgttagataatgtctggattaaataat ttaagactctctaggattttggttgtcattttttatttataacagactttaagtcactttctgttgcctc ataggtcacattttagacaggtttgtgtctgttccttgcatctgaattcctgattgtaaagacacctatg aggtctcttagtttttgtcattcattttcttggtttatcacccctcccttctttttgttgtttttccctg actgttaagcagtttcatctttgcttttgttaaatatttgacagcagttagtttgtgttaagctcttgaa acttgtgattgtactttctgtgtagatatacatgtaattattttttatttttcaatcatagattcaagct tccttcttttttaccacaaatcattaaagttatttgtgtttccatatacctgtgtcttgtataaaattgg cttattctgtgctgttgaatgaggctcaacatgacttggtgaggaagtctattaactaacaaaagcttat cttttttaacataatgctttttaattaattttgaataaaaatatttctaaagtgtactagatactttatt accttagattattccgaatacagtataactttgatagtttggaatagtcattaagaaacaattacacact gattgctttgtgtctctaaaagtgagaggctggtagcttttccacattctcatggctattttctagttct acttgaatttataactgtttccctttttccttgacagctgccactttgtagctatttttctgtctctgct aatactttaccatatctatctcaattgttttttcttttgacttgctgaaaaatagaaaccagatgggaag tatattagcattatgattgaaataagggtaaatgagcaatgtgtgaaggttttcactgacttcacctaaa agatagtttagctacttgaattttagtaaatagaatttttcctttatttcatcggtccccccaccttttt ttttttttgcacctgccttgtaaatttaatagttaagtgacctctgcctagaggatgatatttggggagg tttgatgtttcctgtgggaataagacgattcacaggtgagagtggggccacattagctgttattgtttcc atgggtcagtgtggaaaatgcattaatcatattctaaacgttcatgggcctcattacagtcacaattgtc tattctgtttcctaccctgaacacattaaaatggtaggaactaatgcttgtcttatttaattactaaaag ccaccattttctttgatagattgagctacagattgtaaacttcatgtatttctttataagtcaacccttt tcaaagatacgcacatcaaactgaatgaataaataaatattgagaagttgaaaaaaaaaaaaaaaaa >gi|543583794|ref|NR_104212.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 6, non-coding RNA ccccgcccctctggcggcccgccgtcccagacgcgggaagagcttggccggtttcgagtcgctggcctgc agcttccctgtggtttcccgaggcttccttgcttcccgctctgcgaggagcctttcatccgaaggcggga cgatgccggataatcggcagccgaggaaccggcagccgaggatccgctccgggaacgagcctcgttccgc gcccgccatggaaccggatggtcgcggtgcctgggcccacagtcgcgccgcgctcgaccgcctggagaag ctgctgcgctgctcgcgttgtactaacattctgagagagcctgtgtgtttaggaggatgtgagcacatct tctgtagatttgaaagaagataaacctaggaaaagtttgtttaatgatgcaggaaacaagaagaattcaa ttaaaatgtggtttagccctcgaagtaagaaagtcagatatgttgtgagtaaagcttcagtgcaaaccca gcctgcaataaaaaaagatgcaagtgctcagcaagactcatatgaatttgtttccccaagtcctcctgca gatgtttctgagagggctaaaaaggcttctgcaagatctggaaaaaagcaaaaaaagaaaactttagctg aaatcaaccaaaaatggaatttagaggcagaaaaagaagatggtgaatttgactccaaagaggaatctaa gcaaaagctggtatccttctgtagccaaccatctgttatctccagtcctcagataaatggtgaaatagac ttactagcaagtggctccttgacagaatctgaatgttttggaagtttaactgaagtctctttaccattgg ctgagcaaatagagtctccagacactaagagcaggaatgaagtagtgactcctgagaaggtctgcaaaaa ttatcttacatctaagaaatctttgccattagaaaataatggaaaacgtggccatcacaatagactttcc agtcccatttctaagagatgtagaaccagcattctgagcaccagtggagattttgttaagcaaacggtgc cctcagaaaatataccattgcctgaatgttcttcaccaccttcatgcaaacgtaaagttggtggtacatc agggaggaaaaacagtaacatgtccgatgaattcattagtctttcaccaggtacaccaccttctacatta agtagttcaagttacaggcgagtgatgtctagtccctcagcaatgaagctgttgcccaatatggctgtga aaagaaatcatagaggagagactttgctccatattgcttctattaagggcgacataccttctgttgaata ccttttacaaaatggaagtgatccaaatgttaaagaccatgctggatggacaccattgcatgaagcttgc aatcatgggcacctgaaggtagtggaattattgctccagcataaggcattggtgaacaccaccgggtatc aaaatgactcaccacttcacgatgcagccaagaatgggcatgtggatatagtcaagctgttactttccta tggagcctccagaaatgctgttaatatatttggtctgcggcctgtcgattatacagatgatgaaagtatg aaatcgctattgctgctaccagagaagaatgaatcatcctcagctagccactgctcagtaatgaacactg ggcagcgtagggatggacctcttgtacttataggcagtgggctgtcttcagaacaacagaaaatgctcag tgagcttgcagtaattcttaaggctaaaaaatatactgagtttgacagtacagtaactcatgttgttgtt cctggtgatgcagttcaaagtaccttgaagtgtatgcttgggattctcaatggatgctggattctaaaat ttgaatgggtaaaagcatgtctacgaagaaaagtatgtgaacaggaagaaaagtatgaaattcctgaagg tccacgcagaagcaggctcaacagagaacagctgttgccaaagctgtttgatggatgctacttctatttg tggggaaccttcaaacaccatccaaaggacaaccttattaagctcgtcactgcaggtgggggccagatcc tcagtagaaagcccaagccagacagtgacgtgactcagaccatcaatacagtcgcataccatgcgagacc cgattctgatcagcgcttctgcacacagtatatcatctatgaagatttgtgtaattatcacccagagagg gttcggcagggcaaagtctggaaggctccttcgagctggtttatagactgtgtgatgtcctttgagttgc ttcctcttgacagctgaatattataccagatgaacatttcaaattgaatttgcacggtttgtgagagccc agtcattgtactgtttttaatgttcacatttttacaaataggtagagtcattcatatttgtctttgaatc aaaaaaaaaaaaaaagtctaatgccagattaggaattcatgttatgtttaccatttagaagctgggattg cttttaaaggtttttctttttaaaattggcatgtttttgatttatcatgtctttctattcagattattgg gtatcaaagattaatgaggacaccagaatcttggttaaatagacaagtggtatcattactgtttgagtct tttaatattctccatacctgccaccagtgaaaaaacttgccttttttttttttttttttttagtaaacag aatattatcaaacaatttattttggctttattgaaaaaagagtatttggtctaaatgtgccaccataggt gttaaattctcctatctgcaattgtctttatcctatattgtgttcatttcttttcttaataatttacttt gttgtgtgtttctacactttcatccctgttttttatcttgtatatcatcaggaaattgtgatttaatcat taacattggtttttttgtgtgtgtggtaaaaatcaacactaggctcatggtacatatttttattctgtac atttgcttgtaactatcaatttgtaactctgtttatctactacatgtgtatatatacttagagcattttc tctaacacattttaatgttagtattttttaaaaggtctgaccagtctagcaaattgtcagtccaacgtca ttactttaaattaagaagcagtcttcttctggtaaaccttgttggtatttgtaaaataattttgaaggtc ttaatttcttcctttgtaaaaggaaaaggttttttttaaagtttttaggttggcatggaggcagaagttg gtgattacttgatttacaacagattttttccagatcatacaaaaggccatacagtaagtatagaagtagg tatggggagggcttactaatatcaaataggcaaggccttagtgagtgggcaggataccacctgagagtgg ccagatgtggggaggttactctgctctgggtgctctcattcatgaatcgacaaggatacattagattatt ttgaaacatttttttaagaagcagaattctttaataattccttcctagacattgaatatacttataaaat taaagacttggggaaggagacactgagagacttgccagtttggttcctcatgaacaaaagaggacagttt gataactaccagaatagaatatccctagttttaaaatagtgagaatctctgaagttcatcaacatcttaa gatgcacttacttgaaagtttgagattctgtttatcatttgaaaacacattttgctttaattctttcttt gacatgttgttttttcatatcaagaaatatatgaacaaaataataaccttttgaccctgaccttgctggg tgaattagctctgaaacactctctacaaccagtaatgcatttgtcccacatttcattctgatagaaaatg aacaccatagcaccaaacaaaaatccgaggcgttagataatgtctggattaaataatttaagactctcta ggattttggttgtcattttttatttataacagactttaagtcactttctgttgcctcataggtcacattt tagacaggtttgtgtctgttccttgcatctgaattcctgattgtaaagacacctatgaggtctcttagtt tttgtcattcattttcttggtttatcacccctcccttctttttgttgtttttccctgactgttaagcagt ttcatctttgcttttgttaaatatttgacagcagttagtttgtgttaagctcttgaaacttgtgattgta ctttctgtgtagatatacatgtaattattttttatttttcaatcatagattcaagcttccttctttttta ccacaaatcattaaagttatttgtgtttccatatacctgtgtcttgtataaaattggcttattctgtgct gttgaatgaggctcaacatgacttggtgaggaagtctattaactaacaaaagcttatcttttttaacata atgctttttaattaattttgaataaaaatatttctaaagtgtactagatactttattaccttagattatt ccgaatacagtataactttgatagtttggaatagtcattaagaaacaattacacactgattgctttgtgt ctctaaaagtgagaggctggtagcttttccacattctcatggctattttctagttctacttgaatttata actgtttccctttttccttgacagctgccactttgtagctatttttctgtctctgctaatactttaccat atctatctcaattgttttttcttttgacttgctgaaaaatagaaaccagatgggaagtatattagcatta tgattgaaataagggtaaatgagcaatgtgtgaaggttttcactgacttcacctaaaagatagtttagct acttgaattttagtaaatagaatttttcctttatttcatcggtccccccacctttttttttttttgcacc tgccttgtaaatttaatagttaagtgacctctgcctagaggatgatatttggggaggtttgatgtttcct gtgggaataagacgattcacaggtgagagtggggccacattagctgttattgtttccatgggtcagtgtg gaaaatgcattaatcatattctaaacgttcatgggcctcattacagtcacaattgtctattctgtttcct accctgaacacattaaaatggtaggaactaatgcttgtcttatttaattactaaaagccaccattttctt tgatagattgagctacagattgtaaacttcatgtatttctttataagtcaacccttttcaaagatacgca catcaaactgaatgaataaataaatattgagaagttgaaaaaaaaaaaaaaaaa >gi|543583788|ref|NM_001282545.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 3, mRNA ccccgcccctctggcggcccgccgtcccagacgcgggaagagcttggccggtttcgagtcgctggcctgc agcttccctgtggtttcccgaggcttccttgcttcccgctctgcgaggagcctttcatccgaaggcggga cgatgccggataatcggcagccgaggaaccggcagccgaggatccgctccgggaacgagcctcgttccgc gcccgccatggaaccggatggtcgcggtgcctgggcccacagtcgcgccgcgctcgaccgcctggagaag ctgctgcgctgctcgcgttgtactaacattctgagagagcctgtgtgtttaggaggatgtgagcacatct tctgtagtaatatatttggtctgcggcctgtcgattatacagatgatgaaagtatgaaatcgctattgct gctaccagagaagaatgaatcatcctcagctagccactgctcagtaatgaacactgggcagcgtagggat ggacctcttgtacttataggcagtgggctgtcttcagaacaacagaaaatgctcagtgagcttgcagtaa ttcttaaggctaaaaaatatactgagtttgacagtacagtaactcatgttgttgttcctggtgatgcagt tcaaagtaccttgaagtgtatgcttgggattctcaatggatgctggattctaaaatttgaatgggtaaaa gcatgtctacgaagaaaagtatgtgaacaggaagaaaagtatgaaattcctgaaggtccacgcagaagca ggctcaacagagaacagctgttgccaaagctgtttgatggatgctacttctatttgtggggaaccttcaa acaccatccaaaggacaaccttattaagctcgtcactgcaggtgggggccagatcctcagtagaaagccc aagccagacagtgacgtgactcagaccatcaatacagtcgcataccatgcgagacccgattctgatcagc gcttctgcacacagtatatcatctatgaagatttgtgtaattatcacccagagagggttcggcagggcaa agtctggaaggctccttcgagctggtttatagactgtgtgatgtcctttgagttgcttcctcttgacagc tgaatattataccagatgaacatttcaaattgaatttgcacggtttgtgagagcccagtcattgtactgt ttttaatgttcacatttttacaaataggtagagtcattcatatttgtctttgaatcaaaaaaaaaaaaaa agtctaatgccagattaggaattcatgttatgtttaccatttagaagctgggattgcttttaaaggtttt tctttttaaaattggcatgtttttgatttatcatgtctttctattcagattattgggtatcaaagattaa tgaggacaccagaatcttggttaaatagacaagtggtatcattactgtttgagtcttttaatattctcca tacctgccaccagtgaaaaaacttgccttttttttttttttttttttagtaaacagaatattatcaaaca atttattttggctttattgaaaaaagagtatttggtctaaatgtgccaccataggtgttaaattctccta tctgcaattgtctttatcctatattgtgttcatttcttttcttaataatttactttgttgtgtgtttcta cactttcatccctgttttttatcttgtatatcatcaggaaattgtgatttaatcattaacattggttttt ttgtgtgtgtggtaaaaatcaacactaggctcatggtacatatttttattctgtacatttgcttgtaact atcaatttgtaactctgtttatctactacatgtgtatatatacttagagcattttctctaacacatttta atgttagtattttttaaaaggtctgaccagtctagcaaattgtcagtccaacgtcattactttaaattaa gaagcagtcttcttctggtaaaccttgttggtatttgtaaaataattttgaaggtcttaatttcttcctt tgtaaaaggaaaaggttttttttaaagtttttaggttggcatggaggcagaagttggtgattacttgatt tacaacagattttttccagatcatacaaaaggccatacagtaagtatagaagtaggtatggggagggctt actaatatcaaataggcaaggccttagtgagtgggcaggataccacctgagagtggccagatgtggggag gttactctgctctgggtgctctcattcatgaatcgacaaggatacattagattattttgaaacatttttt taagaagcagaattctttaataattccttcctagacattgaatatacttataaaattaaagacttgggga aggagacactgagagacttgccagtttggttcctcatgaacaaaagaggacagtttgataactaccagaa tagaatatccctagttttaaaatagtgagaatctctgaagttcatcaacatcttaagatgcacttacttg aaagtttgagattctgtttatcatttgaaaacacattttgctttaattctttctttgacatgttgttttt tcatatcaagaaatatatgaacaaaataataaccttttgaccctgaccttgctgggtgaattagctctga aacactctctacaaccagtaatgcatttgtcccacatttcattctgatagaaaatgaacaccatagcacc aaacaaaaatccgaggcgttagataatgtctggattaaataatttaagactctctaggattttggttgtc attttttatttataacagactttaagtcactttctgttgcctcataggtcacattttagacaggtttgtg tctgttccttgcatctgaattcctgattgtaaagacacctatgaggtctcttagtttttgtcattcattt tcttggtttatcacccctcccttctttttgttgtttttccctgactgttaagcagtttcatctttgcttt tgttaaatatttgacagcagttagtttgtgttaagctcttgaaacttgtgattgtactttctgtgtagat atacatgtaattattttttatttttcaatcatagattcaagcttccttcttttttaccacaaatcattaa agttatttgtgtttccatatacctgtgtcttgtataaaattggcttattctgtgctgttgaatgaggctc aacatgacttggtgaggaagtctattaactaacaaaagcttatcttttttaacataatgctttttaatta attttgaataaaaatatttctaaagtgtactagatactttattaccttagattattccgaatacagtata actttgatagtttggaatagtcattaagaaacaattacacactgattgctttgtgtctctaaaagtgaga ggctggtagcttttccacattctcatggctattttctagttctacttgaatttataactgtttccctttt tccttgacagctgccactttgtagctatttttctgtctctgctaatactttaccatatctatctcaattg ttttttcttttgacttgctgaaaaatagaaaccagatgggaagtatattagcattatgattgaaataagg gtaaatgagcaatgtgtgaaggttttcactgacttcacctaaaagatagtttagctacttgaattttagt aaatagaatttttcctttatttcatcggtccccccacctttttttttttttgcacctgccttgtaaattt aatagttaagtgacctctgcctagaggatgatatttggggaggtttgatgtttcctgtgggaataagacg attcacaggtgagagtggggccacattagctgttattgtttccatgggtcagtgtggaaaatgcattaat catattctaaacgttcatgggcctcattacagtcacaattgtctattctgtttcctaccctgaacacatt aaaatggtaggaactaatgcttgtcttatttaattactaaaagccaccattttctttgatagattgagct acagattgtaaacttcatgtatttctttataagtcaacccttttcaaagatacgcacatcaaactgaatg aataaataaatattgagaagttgaaaaaaaaaaaaaaaaa >gi|543583786|ref|NM_001282543.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 2, mRNA ccccgcccctctggcggcccgccgtcccagacgcgggaagagcttggccggtttcgagtcgctggcctgc agcttccctgtggtttcccgaggcttccttgcttcccgctctgcgaggagcctttcatccgaaggcggga cgatgccggataatcggcagccgaggaaccggcagccgaggatccgctccgggaacgagcctcgttccgc gcccgccatggaaccggatggtcgcggtgcctgggcccacagtcgcgccgcgctcgaccgcctggagaag ctgctgcgctgctcgcgttgtaattgtgtaagtgactgcattggaactggatgtccagtgtgttacaccc cggcctggatacaagacttgaagataaatagacaactggacagcatgattcaactttgtagtaagcttcg aaatttgctacatgacaatgagctgtcagatttgaaagaagataaacctaggaaaagtttgtttaatgat gcaggaaacaagaagaattcaattaaaatgtggtttagccctcgaagtaagaaagtcagatatgttgtga gtaaagcttcagtgcaaacccagcctgcaataaaaaaagatgcaagtgctcagcaagactcatatgaatt tgtttccccaagtcctcctgcagatgtttctgagagggctaaaaaggcttctgcaagatctggaaaaaag caaaaaaagaaaactttagctgaaatcaaccaaaaatggaatttagaggcagaaaaagaagatggtgaat ttgactccaaagaggaatctaagcaaaagctggtatccttctgtagccaaccatctgttatctccagtcc tcagataaatggtgaaatagacttactagcaagtggctccttgacagaatctgaatgttttggaagttta actgaagtctctttaccattggctgagcaaatagagtctccagacactaagagcaggaatgaagtagtga ctcctgagaaggtctgcaaaaattatcttacatctaagaaatctttgccattagaaaataatggaaaacg tggccatcacaatagactttccagtcccatttctaagagatgtagaaccagcattctgagcaccagtgga gattttgttaagcaaacggtgccctcagaaaatataccattgcctgaatgttcttcaccaccttcatgca aacgtaaagttggtggtacatcagggaggaaaaacagtaacatgtccgatgaattcattagtctttcacc aggtacaccaccttctacattaagtagttcaagttacaggcgagtgatgtctagtccctcagcaatgaag ctgttgcccaatatggctgtgaaaagaaatcatagaggagagactttgctccatattgcttctattaagg gcgacataccttctgttgaataccttttacaaaatggaagtgatccaaatgttaaagaccatgctggatg gacaccattgcatgaagcttgcaatcatgggcacctgaaggtagtggaattattgctccagcataaggca ttggtgaacaccaccgggtatcaaaatgactcaccacttcacgatgcagccaagaatgggcatgtggata tagtcaagctgttactttcctatggagcctccagaaatgctgttaatatatttggtctgcggcctgtcga ttatacagatgatgaaagtatgaaatcgctattgctgctaccagagaagaatgaatcatcctcagctagc cactgctcagtaatgaacactgggcagcgtagggatggacctcttgtacttataggcagtgggctgtctt cagaacaacagaaaatgctcagtgagcttgcagtaattcttaaggctaaaaaatatactgagtttgacag tacagtaactcatgttgttgttcctggtgatgcagttcaaagtaccttgaagtgtatgcttgggattctc aatggatgctggattctaaaatttgaatgggtaaaagcatgtctacgaagaaaagtatgtgaacaggaag aaaagtatgaaattcctgaaggtccacgcagaagcaggctcaacagagaacagctgttgccaaagctgtt tgatggatgctacttctatttgtggggaaccttcaaacaccatccaaaggacaaccttattaagctcgtc actgcaggtgggggccagatcctcagtagaaagcccaagccagacagtgacgtgactcagaccatcaata cagtcgcataccatgcgagacccgattctgatcagcgcttctgcacacagtatatcatctatgaagattt gtgtaattatcacccagagagggttcggcagggcaaagtctggaaggctccttcgagctggtttatagac tgtgtgatgtcctttgagttgcttcctcttgacagctgaatattataccagatgaacatttcaaattgaa tttgcacggtttgtgagagcccagtcattgtactgtttttaatgttcacatttttacaaataggtagagt cattcatatttgtctttgaatcaaaaaaaaaaaaaaagtctaatgccagattaggaattcatgttatgtt taccatttagaagctgggattgcttttaaaggtttttctttttaaaattggcatgtttttgatttatcat gtctttctattcagattattgggtatcaaagattaatgaggacaccagaatcttggttaaatagacaagt ggtatcattactgtttgagtcttttaatattctccatacctgccaccagtgaaaaaacttgccttttttt tttttttttttttagtaaacagaatattatcaaacaatttattttggctttattgaaaaaagagtatttg gtctaaatgtgccaccataggtgttaaattctcctatctgcaattgtctttatcctatattgtgttcatt tcttttcttaataatttactttgttgtgtgtttctacactttcatccctgttttttatcttgtatatcat caggaaattgtgatttaatcattaacattggtttttttgtgtgtgtggtaaaaatcaacactaggctcat ggtacatatttttattctgtacatttgcttgtaactatcaatttgtaactctgtttatctactacatgtg tatatatacttagagcattttctctaacacattttaatgttagtattttttaaaaggtctgaccagtcta gcaaattgtcagtccaacgtcattactttaaattaagaagcagtcttcttctggtaaaccttgttggtat ttgtaaaataattttgaaggtcttaatttcttcctttgtaaaaggaaaaggttttttttaaagtttttag gttggcatggaggcagaagttggtgattacttgatttacaacagattttttccagatcatacaaaaggcc atacagtaagtatagaagtaggtatggggagggcttactaatatcaaataggcaaggccttagtgagtgg gcaggataccacctgagagtggccagatgtggggaggttactctgctctgggtgctctcattcatgaatc gacaaggatacattagattattttgaaacatttttttaagaagcagaattctttaataattccttcctag acattgaatatacttataaaattaaagacttggggaaggagacactgagagacttgccagtttggttcct catgaacaaaagaggacagtttgataactaccagaatagaatatccctagttttaaaatagtgagaatct ctgaagttcatcaacatcttaagatgcacttacttgaaagtttgagattctgtttatcatttgaaaacac attttgctttaattctttctttgacatgttgttttttcatatcaagaaatatatgaacaaaataataacc ttttgaccctgaccttgctgggtgaattagctctgaaacactctctacaaccagtaatgcatttgtccca catttcattctgatagaaaatgaacaccatagcaccaaacaaaaatccgaggcgttagataatgtctgga ttaaataatttaagactctctaggattttggttgtcattttttatttataacagactttaagtcactttc tgttgcctcataggtcacattttagacaggtttgtgtctgttccttgcatctgaattcctgattgtaaag acacctatgaggtctcttagtttttgtcattcattttcttggtttatcacccctcccttctttttgttgt ttttccctgactgttaagcagtttcatctttgcttttgttaaatatttgacagcagttagtttgtgttaa gctcttgaaacttgtgattgtactttctgtgtagatatacatgtaattattttttatttttcaatcatag attcaagcttccttcttttttaccacaaatcattaaagttatttgtgtttccatatacctgtgtcttgta taaaattggcttattctgtgctgttgaatgaggctcaacatgacttggtgaggaagtctattaactaaca aaagcttatcttttttaacataatgctttttaattaattttgaataaaaatatttctaaagtgtactaga tactttattaccttagattattccgaatacagtataactttgatagtttggaatagtcattaagaaacaa ttacacactgattgctttgtgtctctaaaagtgagaggctggtagcttttccacattctcatggctattt tctagttctacttgaatttataactgtttccctttttccttgacagctgccactttgtagctatttttct gtctctgctaatactttaccatatctatctcaattgttttttcttttgacttgctgaaaaatagaaacca gatgggaagtatattagcattatgattgaaataagggtaaatgagcaatgtgtgaaggttttcactgact tcacctaaaagatagtttagctacttgaattttagtaaatagaatttttcctttatttcatcggtccccc cacctttttttttttttgcacctgccttgtaaatttaatagttaagtgacctctgcctagaggatgatat ttggggaggtttgatgtttcctgtgggaataagacgattcacaggtgagagtggggccacattagctgtt attgtttccatgggtcagtgtggaaaatgcattaatcatattctaaacgttcatgggcctcattacagtc acaattgtctattctgtttcctaccctgaacacattaaaatggtaggaactaatgcttgtcttatttaat tactaaaagccaccattttctttgatagattgagctacagattgtaaacttcatgtatttctttataagt caacccttttcaaagatacgcacatcaaactgaatgaataaataaatattgagaagttgaaaaaaaaaaa aaaaaa >gi|543583785|ref|NM_000465.3| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 1, mRNA ccccgcccctctggcggcccgccgtcccagacgcgggaagagcttggccggtttcgagtcgctggcctgc agcttccctgtggtttcccgaggcttccttgcttcccgctctgcgaggagcctttcatccgaaggcggga cgatgccggataatcggcagccgaggaaccggcagccgaggatccgctccgggaacgagcctcgttccgc gcccgccatggaaccggatggtcgcggtgcctgggcccacagtcgcgccgcgctcgaccgcctggagaag ctgctgcgctgctcgcgttgtactaacattctgagagagcctgtgtgtttaggaggatgtgagcacatct tctgtagtaattgtgtaagtgactgcattggaactggatgtccagtgtgttacaccccggcctggataca agacttgaagataaatagacaactggacagcatgattcaactttgtagtaagcttcgaaatttgctacat gacaatgagctgtcagatttgaaagaagataaacctaggaaaagtttgtttaatgatgcaggaaacaaga agaattcaattaaaatgtggtttagccctcgaagtaagaaagtcagatatgttgtgagtaaagcttcagt gcaaacccagcctgcaataaaaaaagatgcaagtgctcagcaagactcatatgaatttgtttccccaagt cctcctgcagatgtttctgagagggctaaaaaggcttctgcaagatctggaaaaaagcaaaaaaagaaaa ctttagctgaaatcaaccaaaaatggaatttagaggcagaaaaagaagatggtgaatttgactccaaaga ggaatctaagcaaaagctggtatccttctgtagccaaccatctgttatctccagtcctcagataaatggt gaaatagacttactagcaagtggctccttgacagaatctgaatgttttggaagtttaactgaagtctctt taccattggctgagcaaatagagtctccagacactaagagcaggaatgaagtagtgactcctgagaaggt ctgcaaaaattatcttacatctaagaaatctttgccattagaaaataatggaaaacgtggccatcacaat agactttccagtcccatttctaagagatgtagaaccagcattctgagcaccagtggagattttgttaagc aaacggtgccctcagaaaatataccattgcctgaatgttcttcaccaccttcatgcaaacgtaaagttgg tggtacatcagggaggaaaaacagtaacatgtccgatgaattcattagtctttcaccaggtacaccacct tctacattaagtagttcaagttacaggcgagtgatgtctagtccctcagcaatgaagctgttgcccaata tggctgtgaaaagaaatcatagaggagagactttgctccatattgcttctattaagggcgacataccttc tgttgaataccttttacaaaatggaagtgatccaaatgttaaagaccatgctggatggacaccattgcat gaagcttgcaatcatgggcacctgaaggtagtggaattattgctccagcataaggcattggtgaacacca ccgggtatcaaaatgactcaccacttcacgatgcagccaagaatgggcatgtggatatagtcaagctgtt actttcctatggagcctccagaaatgctgttaatatatttggtctgcggcctgtcgattatacagatgat gaaagtatgaaatcgctattgctgctaccagagaagaatgaatcatcctcagctagccactgctcagtaa tgaacactgggcagcgtagggatggacctcttgtacttataggcagtgggctgtcttcagaacaacagaa aatgctcagtgagcttgcagtaattcttaaggctaaaaaatatactgagtttgacagtacagtaactcat gttgttgttcctggtgatgcagttcaaagtaccttgaagtgtatgcttgggattctcaatggatgctgga ttctaaaatttgaatgggtaaaagcatgtctacgaagaaaagtatgtgaacaggaagaaaagtatgaaat tcctgaaggtccacgcagaagcaggctcaacagagaacagctgttgccaaagctgtttgatggatgctac ttctatttgtggggaaccttcaaacaccatccaaaggacaaccttattaagctcgtcactgcaggtgggg gccagatcctcagtagaaagcccaagccagacagtgacgtgactcagaccatcaatacagtcgcatacca tgcgagacccgattctgatcagcgcttctgcacacagtatatcatctatgaagatttgtgtaattatcac ccagagagggttcggcagggcaaagtctggaaggctccttcgagctggtttatagactgtgtgatgtcct ttgagttgcttcctcttgacagctgaatattataccagatgaacatttcaaattgaatttgcacggtttg tgagagcccagtcattgtactgtttttaatgttcacatttttacaaataggtagagtcattcatatttgt ctttgaatcaaaaaaaaaaaaaaagtctaatgccagattaggaattcatgttatgtttaccatttagaag ctgggattgcttttaaaggtttttctttttaaaattggcatgtttttgatttatcatgtctttctattca gattattgggtatcaaagattaatgaggacaccagaatcttggttaaatagacaagtggtatcattactg tttgagtcttttaatattctccatacctgccaccagtgaaaaaacttgcctttttttttttttttttttt agtaaacagaatattatcaaacaatttattttggctttattgaaaaaagagtatttggtctaaatgtgcc accataggtgttaaattctcctatctgcaattgtctttatcctatattgtgttcatttcttttcttaata atttactttgttgtgtgtttctacactttcatccctgttttttatcttgtatatcatcaggaaattgtga tttaatcattaacattggtttttttgtgtgtgtggtaaaaatcaacactaggctcatggtacatattttt attctgtacatttgcttgtaactatcaatttgtaactctgtttatctactacatgtgtatatatacttag agcattttctctaacacattttaatgttagtattttttaaaaggtctgaccagtctagcaaattgtcagt ccaacgtcattactttaaattaagaagcagtcttcttctggtaaaccttgttggtatttgtaaaataatt ttgaaggtcttaatttcttcctttgtaaaaggaaaaggttttttttaaagtttttaggttggcatggagg cagaagttggtgattacttgatttacaacagattttttccagatcatacaaaaggccatacagtaagtat agaagtaggtatggggagggcttactaatatcaaataggcaaggccttagtgagtgggcaggataccacc tgagagtggccagatgtggggaggttactctgctctgggtgctctcattcatgaatcgacaaggatacat tagattattttgaaacatttttttaagaagcagaattctttaataattccttcctagacattgaatatac ttataaaattaaagacttggggaaggagacactgagagacttgccagtttggttcctcatgaacaaaaga ggacagtttgataactaccagaatagaatatccctagttttaaaatagtgagaatctctgaagttcatca acatcttaagatgcacttacttgaaagtttgagattctgtttatcatttgaaaacacattttgctttaat tctttctttgacatgttgttttttcatatcaagaaatatatgaacaaaataataaccttttgaccctgac cttgctgggtgaattagctctgaaacactctctacaaccagtaatgcatttgtcccacatttcattctga tagaaaatgaacaccatagcaccaaacaaaaatccgaggcgttagataatgtctggattaaataatttaa gactctctaggattttggttgtcattttttatttataacagactttaagtcactttctgttgcctcatag gtcacattttagacaggtttgtgtctgttccttgcatctgaattcctgattgtaaagacacctatgaggt ctcttagtttttgtcattcattttcttggtttatcacccctcccttctttttgttgtttttccctgactg ttaagcagtttcatctttgcttttgttaaatatttgacagcagttagtttgtgttaagctcttgaaactt gtgattgtactttctgtgtagatatacatgtaattattttttatttttcaatcatagattcaagcttcct tcttttttaccacaaatcattaaagttatttgtgtttccatatacctgtgtcttgtataaaattggctta ttctgtgctgttgaatgaggctcaacatgacttggtgaggaagtctattaactaacaaaagcttatcttt tttaacataatgctttttaattaattttgaataaaaatatttctaaagtgtactagatactttattacct tagattattccgaatacagtataactttgatagtttggaatagtcattaagaaacaattacacactgatt gctttgtgtctctaaaagtgagaggctggtagcttttccacattctcatggctattttctagttctactt gaatttataactgtttccctttttccttgacagctgccactttgtagctatttttctgtctctgctaata ctttaccatatctatctcaattgttttttcttttgacttgctgaaaaatagaaaccagatgggaagtata ttagcattatgattgaaataagggtaaatgagcaatgtgtgaaggttttcactgacttcacctaaaagat agtttagctacttgaattttagtaaatagaatttttcctttatttcatcggtccccccaccttttttttt ttttgcacctgccttgtaaatttaatagttaagtgacctctgcctagaggatgatatttggggaggtttg atgtttcctgtgggaataagacgattcacaggtgagagtggggccacattagctgttattgtttccatgg gtcagtgtggaaaatgcattaatcatattctaaacgttcatgggcctcattacagtcacaattgtctatt ctgtttcctaccctgaacacattaaaatggtaggaactaatgcttgtcttatttaattactaaaagccac cattttctttgatagattgagctacagattgtaaacttcatgtatttctttataagtcaacccttttcaa agatacgcacatcaaactgaatgaataaataaatattgagaagttgaaaaaaaaaaaaaaaaa >gi|543583740|ref|NM_001282549.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 5, mRNA ccccgcccctctggcggcccgccgtcccagacgcgggaagagcttggccggtttcgagtcgctggcctgc agcttccctgtggtttcccgaggcttccttgcttcccgctctgcgaggagcctttcatccgaaggcggga cgatgccggataatcggcagccgaggaaccggcagccgaggatccgctccgggaacgagcctcgttccgc gcccgccatggaaccggatggtcgcggtgcctgggcccacagtcgcgccgcgctcgaccgcctggagaag ctgctgcgctgctcgcgttgtactaacattctgagagagcctgtgtgtttaggaggatgtgagcacatct tctgtagtaattgtgtaagtgactgcattggaactggatgtccagtgtgttacaccccggcctggataca agacttgaagataaatagacaactggacagcatgattcaactttgtagtaagcttcgaaatttgctacat gacaatgagctgtcaggggtaaaagcatgtctacgaagaaaagtatgtgaacaggaagaaaagtatgaaa ttcctgaaggtccacgcagaagcaggctcaacagagaacagctgttgccaaagctgtttgatggatgcta cttctatttgtggggaaccttcaaacaccatccaaaggacaaccttattaagctcgtcactgcaggtggg ggccagatcctcagtagaaagcccaagccagacagtgacgtgactcagaccatcaatacagtcgcatacc atgcgagacccgattctgatcagcgcttctgcacacagtatatcatctatgaagatttgtgtaattatca cccagagagggttcggcagggcaaagtctggaaggctccttcgagctggtttatagactgtgtgatgtcc tttgagttgcttcctcttgacagctgaatattataccagatgaacatttcaaattgaatttgcacggttt gtgagagcccagtcattgtactgtttttaatgttcacatttttacaaataggtagagtcattcatatttg tctttgaatcaaaaaaaaaaaaaaagtctaatgccagattaggaattcatgttatgtttaccatttagaa gctgggattgcttttaaaggtttttctttttaaaattggcatgtttttgatttatcatgtctttctattc agattattgggtatcaaagattaatgaggacaccagaatcttggttaaatagacaagtggtatcattact gtttgagtcttttaatattctccatacctgccaccagtgaaaaaacttgccttttttttttttttttttt tagtaaacagaatattatcaaacaatttattttggctttattgaaaaaagagtatttggtctaaatgtgc caccataggtgttaaattctcctatctgcaattgtctttatcctatattgtgttcatttcttttcttaat aatttactttgttgtgtgtttctacactttcatccctgttttttatcttgtatatcatcaggaaattgtg atttaatcattaacattggtttttttgtgtgtgtggtaaaaatcaacactaggctcatggtacatatttt tattctgtacatttgcttgtaactatcaatttgtaactctgtttatctactacatgtgtatatatactta gagcattttctctaacacattttaatgttagtattttttaaaaggtctgaccagtctagcaaattgtcag tccaacgtcattactttaaattaagaagcagtcttcttctggtaaaccttgttggtatttgtaaaataat tttgaaggtcttaatttcttcctttgtaaaaggaaaaggttttttttaaagtttttaggttggcatggag gcagaagttggtgattacttgatttacaacagattttttccagatcatacaaaaggccatacagtaagta tagaagtaggtatggggagggcttactaatatcaaataggcaaggccttagtgagtgggcaggataccac ctgagagtggccagatgtggggaggttactctgctctgggtgctctcattcatgaatcgacaaggataca ttagattattttgaaacatttttttaagaagcagaattctttaataattccttcctagacattgaatata cttataaaattaaagacttggggaaggagacactgagagacttgccagtttggttcctcatgaacaaaag aggacagtttgataactaccagaatagaatatccctagttttaaaatagtgagaatctctgaagttcatc aacatcttaagatgcacttacttgaaagtttgagattctgtttatcatttgaaaacacattttgctttaa ttctttctttgacatgttgttttttcatatcaagaaatatatgaacaaaataataaccttttgaccctga ccttgctgggtgaattagctctgaaacactctctacaaccagtaatgcatttgtcccacatttcattctg atagaaaatgaacaccatagcaccaaacaaaaatccgaggcgttagataatgtctggattaaataattta agactctctaggattttggttgtcattttttatttataacagactttaagtcactttctgttgcctcata ggtcacattttagacaggtttgtgtctgttccttgcatctgaattcctgattgtaaagacacctatgagg tctcttagtttttgtcattcattttcttggtttatcacccctcccttctttttgttgtttttccctgact gttaagcagtttcatctttgcttttgttaaatatttgacagcagttagtttgtgttaagctcttgaaact tgtgattgtactttctgtgtagatatacatgtaattattttttatttttcaatcatagattcaagcttcc ttcttttttaccacaaatcattaaagttatttgtgtttccatatacctgtgtcttgtataaaattggctt attctgtgctgttgaatgaggctcaacatgacttggtgaggaagtctattaactaacaaaagcttatctt ttttaacataatgctttttaattaattttgaataaaaatatttctaaagtgtactagatactttattacc ttagattattccgaatacagtataactttgatagtttggaatagtcattaagaaacaattacacactgat tgctttgtgtctctaaaagtgagaggctggtagcttttccacattctcatggctattttctagttctact tgaatttataactgtttccctttttccttgacagctgccactttgtagctatttttctgtctctgctaat actttaccatatctatctcaattgttttttcttttgacttgctgaaaaatagaaaccagatgggaagtat attagcattatgattgaaataagggtaaatgagcaatgtgtgaaggttttcactgacttcacctaaaaga tagtttagctacttgaattttagtaaatagaatttttcctttatttcatcggtccccccacctttttttt tttttgcacctgccttgtaaatttaatagttaagtgacctctgcctagaggatgatatttggggaggttt gatgtttcctgtgggaataagacgattcacaggtgagagtggggccacattagctgttattgtttccatg ggtcagtgtggaaaatgcattaatcatattctaaacgttcatgggcctcattacagtcacaattgtctat tctgtttcctaccctgaacacattaaaatggtaggaactaatgcttgtcttatttaattactaaaagcca ccattttctttgatagattgagctacagattgtaaacttcatgtatttctttataagtcaacccttttca aagatacgcacatcaaactgaatgaataaataaatattgagaagttgaaaaaaaaaaaaaaaaa >gi|543583738|ref|NM_001282548.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 4, mRNA ccccgcccctctggcggcccgccgtcccagacgcgggaagagcttggccggtttcgagtcgctggcctgc agcttccctgtggtttcccgaggcttccttgcttcccgctctgcgaggagcctttcatccgaaggcggga cgatgccggataatcggcagccgaggaaccggcagccgaggatccgctccgggaacgagcctcgttccgc gcccgccatggaaccggatggtcgcggtgcctgggcccacagtcgcgccgcgctcgaccgcctggagaag ctgctgcgctgctcgcgttgtaatatatttggtctgcggcctgtcgattatacagatgatgaaagtatga aatcgctattgctgctaccagagaagaatgaatcatcctcagctagccactgctcagtaatgaacactgg gcagcgtagggatggacctcttgtacttataggcagtgggctgtcttcagaacaacagaaaatgctcagt gagcttgcagtaattcttaaggctaaaaaatatactgagtttgacagtacagtaactcatgttgttgttc ctggtgatgcagttcaaagtaccttgaagtgtatgcttgggattctcaatggatgctggattctaaaatt tgaatgggtaaaagcatgtctacgaagaaaagtatgtgaacaggaagaaaagtatgaaattcctgaaggt ccacgcagaagcaggctcaacagagaacagctgttgccaaagctgtttgatggatgctacttctatttgt ggggaaccttcaaacaccatccaaaggacaaccttattaagctcgtcactgcaggtgggggccagatcct cagtagaaagcccaagccagacagtgacgtgactcagaccatcaatacagtcgcataccatgcgagaccc gattctgatcagcgcttctgcacacagtatatcatctatgaagatttgtgtaattatcacccagagaggg ttcggcagggcaaagtctggaaggctccttcgagctggtttatagactgtgtgatgtcctttgagttgct tcctcttgacagctgaatattataccagatgaacatttcaaattgaatttgcacggtttgtgagagccca gtcattgtactgtttttaatgttcacatttttacaaataggtagagtcattcatatttgtctttgaatca aaaaaaaaaaaaaagtctaatgccagattaggaattcatgttatgtttaccatttagaagctgggattgc ttttaaaggtttttctttttaaaattggcatgtttttgatttatcatgtctttctattcagattattggg tatcaaagattaatgaggacaccagaatcttggttaaatagacaagtggtatcattactgtttgagtctt ttaatattctccatacctgccaccagtgaaaaaacttgccttttttttttttttttttttagtaaacaga atattatcaaacaatttattttggctttattgaaaaaagagtatttggtctaaatgtgccaccataggtg ttaaattctcctatctgcaattgtctttatcctatattgtgttcatttcttttcttaataatttactttg ttgtgtgtttctacactttcatccctgttttttatcttgtatatcatcaggaaattgtgatttaatcatt aacattggtttttttgtgtgtgtggtaaaaatcaacactaggctcatggtacatatttttattctgtaca tttgcttgtaactatcaatttgtaactctgtttatctactacatgtgtatatatacttagagcattttct ctaacacattttaatgttagtattttttaaaaggtctgaccagtctagcaaattgtcagtccaacgtcat tactttaaattaagaagcagtcttcttctggtaaaccttgttggtatttgtaaaataattttgaaggtct taatttcttcctttgtaaaaggaaaaggttttttttaaagtttttaggttggcatggaggcagaagttgg tgattacttgatttacaacagattttttccagatcatacaaaaggccatacagtaagtatagaagtaggt atggggagggcttactaatatcaaataggcaaggccttagtgagtgggcaggataccacctgagagtggc cagatgtggggaggttactctgctctgggtgctctcattcatgaatcgacaaggatacattagattattt tgaaacatttttttaagaagcagaattctttaataattccttcctagacattgaatatacttataaaatt aaagacttggggaaggagacactgagagacttgccagtttggttcctcatgaacaaaagaggacagtttg ataactaccagaatagaatatccctagttttaaaatagtgagaatctctgaagttcatcaacatcttaag atgcacttacttgaaagtttgagattctgtttatcatttgaaaacacattttgctttaattctttctttg acatgttgttttttcatatcaagaaatatatgaacaaaataataaccttttgaccctgaccttgctgggt gaattagctctgaaacactctctacaaccagtaatgcatttgtcccacatttcattctgatagaaaatga acaccatagcaccaaacaaaaatccgaggcgttagataatgtctggattaaataatttaagactctctag gattttggttgtcattttttatttataacagactttaagtcactttctgttgcctcataggtcacatttt agacaggtttgtgtctgttccttgcatctgaattcctgattgtaaagacacctatgaggtctcttagttt ttgtcattcattttcttggtttatcacccctcccttctttttgttgtttttccctgactgttaagcagtt tcatctttgcttttgttaaatatttgacagcagttagtttgtgttaagctcttgaaacttgtgattgtac tttctgtgtagatatacatgtaattattttttatttttcaatcatagattcaagcttccttcttttttac cacaaatcattaaagttatttgtgtttccatatacctgtgtcttgtataaaattggcttattctgtgctg ttgaatgaggctcaacatgacttggtgaggaagtctattaactaacaaaagcttatcttttttaacataa tgctttttaattaattttgaataaaaatatttctaaagtgtactagatactttattaccttagattattc cgaatacagtataactttgatagtttggaatagtcattaagaaacaattacacactgattgctttgtgtc tctaaaagtgagaggctggtagcttttccacattctcatggctattttctagttctacttgaatttataa ctgtttccctttttccttgacagctgccactttgtagctatttttctgtctctgctaatactttaccata tctatctcaattgttttttcttttgacttgctgaaaaatagaaaccagatgggaagtatattagcattat gattgaaataagggtaaatgagcaatgtgtgaaggttttcactgacttcacctaaaagatagtttagcta cttgaattttagtaaatagaatttttcctttatttcatcggtccccccacctttttttttttttgcacct gccttgtaaatttaatagttaagtgacctctgcctagaggatgatatttggggaggtttgatgtttcctg tgggaataagacgattcacaggtgagagtggggccacattagctgttattgtttccatgggtcagtgtgg aaaatgcattaatcatattctaaacgttcatgggcctcattacagtcacaattgtctattctgtttccta ccctgaacacattaaaatggtaggaactaatgcttgtcttatttaattactaaaagccaccattttcttt gatagattgagctacagattgtaaacttcatgtatttctttataagtcaacccttttcaaagatacgcac atcaaactgaatgaataaataaatattgagaagttgaaaaaaaaaaaaaaaaa >gi|530384540|ref|XM_005249645.1| PREDICTED: Homo sapiens BRCA1-associated ATM activator 1 (BRAT1), transcript variant X4, mRNA gtgctgggactacagagtccagtgtcgtgctgctgcaggagcacccctgcctggtggagctgctgtccca tgtgctgaaagtccaggacctgagttctggggtcctctccttctcactgcgcctggcaggaaccttcgca gcccaggaaaactgcttccagtatcttcagcagggggagttactaccagggctctttggggagccaggac ccctcggccgagcaacctgggccgtccccaccgtgcgcagcggctggatccagggcctgcgctccctggc acagcaccccagcgccctgcgcttcctggccgaccatggtgcggtcgacaccatcttctccctgcaggga gactccagcctgtttgtggcctcggcggccagtcagctcctggtgcacgtcctggctttgtccatgcgag gtggagccgaggggcagccctgcctgccggggggtgactggcccgcgtgtgcccagaagatcatggatca cgttgaagagtccttgtgctccgcggccacccccaaggtcactcaggccctgaacgtcctgaccacgacc ttcgggcgctgccagagcccctggacggaagccctgtgggtgcggctgagtccccgcgtggcctgtctgc tggagagagaccccatccccgccgcacactcgttcgtggacctgcttctctgtgtggctcgttctcccgt gttcagttcttccgacggcagcctgtgggagacagtggcgcgggctctgagctgcctgggtcccacccac atgggacccctggctttggggatcctgaagctcgagcactgtccacaggcactgaggacccaggccttcc aggtccttctccagcccctggcctgtgtcctgaaggccacggttcaggcccccggacccccaggcttgct ggacgggacggcagacgatgccacgacggtggacacactcctggcctccaagtcgtcctgcgccggcctc ctgtgccgcaccctggctcacctggaggagctgcagccgctgccccagcgcccttcaccgtggccccagg cgtctctactgggggctacagtgactgtcctgcggctctgtgacggctcggctgcccctgcctccagtgt ggggggccacctctgtgggaccctggcgggctgcgtccgggtccagcgagcagccctcgacttcctgggg acgctgtcacaggggacaggcccccaggagctggtgacgcaggcgcttgctgtcctcctggagtgcctcg agagccccggctccagccccacggttctgaagaaggccttccaggccacgctcaggtggctcctgagctc acccaagacccccggctgctctgatctcggccccctcatcccgcagttcctcagagagctgttccctgtg ctgcagaaacgcctgtgccacccctgctgggaggtgagggactccgccctcgagttcctgacccagctga gcaggcactggggaggacaggctgacttcagatgcgcactcttggcttcagaggtgcctcagctggccct gcagctcctccaggaccctgagagttatgtccgagcgagtgcagtgaccgccatggggcagctgtccagc cagggcctgcacgcccccaccagccctgagcatgcagaggcccggcagatgggtaaactgaggattggag ggccgtgtgctcactgcgcagcatgggaaggtgtcagagcgggctgtggccctagactgcatgtccgggg ccagcccccatcatgtaccggagtcctgttgcgggagcctcgctcctgccaccccaccaaccatccgcac ttgctccctgtcccccagagcctgttcctggagctcctgcacatcctctccgtagactcggagggcttcc cacggcgggcggtcatgcaagtcttcactgagtggctgcgggacggccacgccgacgcggcccaggacac ggagcagttcgtggccactgtgctgcaggcggcgagccgagacctggactgggaggtccgcgcccagggc ctggagctggccctcgtgttcctgggccagactttggggccgccgcgtacccactgcccctatgccgtgg ccctacccgaggtggccccagcccagccactcaccgaggcactgagggctctctgccacgtggggctctt tgacttcgccttttgtgccttgtttgactgcgaccgccctgtggcgcagaagtcttgtgacctccttctc ttcctgagggacaagattgcttcctacagcagcctgcgggaggccaggggcagccccaacactgcctccg cagaggccaccctgccgaggtggcgggcgggtgagcaggcccagcccccaggggaccaggagcctgaggc tgtgctggccatgctcaggtccctagacctggagggcctgcggagcacgctggccgagagcagcgaccac gtggaaaagagtccccagtccctcctgcaggacatgctggccacgggaggcttcctgcagggggacgagg ccgactgctactgagcagaaccagagtctgccactggggctcaggaccaagggaggcagcaccatgtcct tctgtgggacactgccagccccagggctccagcccagcccggtggatcctctggggaagccaggaccagg agagaagcaaggtcaagaaatcccacagtttgatgtattaaagaaatgacttatttctactcaaaataaa tggcattgaagtctttctttaa >gi|530384538|ref|XM_005249644.1| PREDICTED: Homo sapiens BRCA1-associated ATM activator 1 (BRAT1), transcript variant X3, mRNA accggatgctcggcatgaaccactaggcgcctggcgggggtgatctgtcggagcgaccggcttggcgcct gcctgtccccagcccctctcagcttgaactccttccttcaagtctgggccctcgaggcttccagagcggc ctccaggggtgcagtctcagttccccacgccagccgtctccgtcctccgcctcctccgggcctggcaggt ggcactgtccggaggcggagccttgggcgaggggtggttgcggcggaggacgcaaccgagcgggcctgcg gcctcaccatggacccagaatgcgcccagctgctcccggctctctgtgctgttctggtagatcccaggca gccggtggcagatgacacctgtttggagaagctcctggactggtttaaaacggtcactgaaggagagtcc agtgtcgtgctgctgcaggagcacccctgcctggtggagctgctgtcccatgtgctgaaagtccaggacc tgagttctggggtcctctccttctcactgcgcctggcaggaaccttcgcagcccaggaaaactgcttcca gtatcttcaggtgcggtcgacaccatcttctccctgcagggagactccagcctgtttgtggcctcggcgg ccagtcagctcctggtgcacgtcctggctttgtccatgcgaggtggagccgaggggcagccctgcctgcc ggggggtgactggcccgcgtgtgcccagaagatcatggatcacgttgaagagtccttgtgctccgcggcc acccccaaggtcactcaggccctgaacgtcctgaccacgaccttcgggcgctgccagagcccctggacgg aagccctgtgggtgcggctgagtccccgcgtggcctgtctgctggagagagaccccatccccgccgcaca ctcgttcgtggacctgcttctctgtgtggctcgttctcccgtgttcagttcttccgacggcagcctgtgg gagacagtggcgcgggctctgagctgcctgggtcccacccacatgggacccctggctttggggatcctga agctcgagcactgtccacaggcactgaggacccaggccttccaggtccttctccagcccctggcctgtgt cctgaaggccacggttcaggcccccggacccccaggcttgctggacgggacggcagacgatgccacgacg gtggacacactcctggcctccaagtcgtcctgcgccggcctcctgtgccgcaccctggctcacctggagg agctgcagccgctgccccagcgcccttcaccgtggccccaggcgtctctactgggggctacagtgactgt cctgcggctctgtgacggctcggctgcccctgcctccagtgtggggggccacctctgtgggaccctggcg ggctgcgtccgggtccagcgagcagccctcgacttcctggggacgctgtcacaggggacaggcccccagg agctggtgacgcaggcgcttgctgtcctcctggagtgcctcgagagccccggctccagccccacggttct gaagaaggccttccaggccacgctcaggtggctcctgagctcacccaagacccccggctgctctgatctc ggccccctcatcccgcagttcctcagagagctgttccctgtgctgcagaaacgcctgtgccacccctgct gggaggtgagggactccgccctcgagttcctgacccagctgagcaggcactggggaggacaggctgactt cagatgcgcactcttggcttcagaggtgcctcagctggccctgcagctcctccaggaccctgagagttat gtccgagcgagtgcagtgaccgccatggggcagctgtccagccagggcctgcacgcccccaccagccctg agcatgcagaggcccggcagatgggtaaactgaggattggagggccgtgtgctcactgcgcagcatggga aggtgtcagagcgggctgtggccctagactgcatgtccggggccagcccccatcatgtaccggagtcctg ttgcgggagcctcgctcctgccaccccaccaaccatccgcacttgctccctgtcccccagagcctgttcc tggagctcctgcacatcctctccgtagactcggagggcttcccacggcgggcggtcatgcaagtcttcac tgagtggctgcgggacggccacgccgacgcggcccaggacacggagcagttcgtggccactgtgctgcag gcggcgagccgagacctggactgggaggtccgcgcccagggcctggagctggccctcgtgttcctgggcc agactttggggccgccgcgtacccactgcccctatgccgtggccctacccgaggtggccccagcccagcc actcaccgaggcactgagggctctctgccacgtggggctctttgacttcgccttttgtgccttgtttgac tgcgaccgccctgtggcgcagaagtcttgtgacctccttctcttcctgagggacaagattgcttcctaca gcagcctgcgggaggccaggggcagccccaacactgcctccgcagaggccaccctgccgaggtggcgggc gggtgagcaggcccagcccccaggggaccaggagcctgaggctgtgctggccatgctcaggtccctagac ctggagggcctgcggagcacgctggccgagagcagcgaccacgtggaaaagagtccccagtccctcctgc aggacatgctggccacgggaggcttcctgcagggggacgaggccgactgctactgagcagaaccagagtc tgccactggggctcaggaccaagggaggcagcaccatgtccttctgtgggacactgccagccccagggct ccagcccagcccggtggatcctctggggaagccaggaccaggagagaagcaaggtcaagaaatcccacag tttgatgtattaaagaaatgacttatttctactcaaaataaatggcattgaagtctttctttaa >gi|530384536|ref|XM_005249643.1| PREDICTED: Homo sapiens BRCA1-associated ATM activator 1 (BRAT1), transcript variant X2, mRNA tctgtcggagcgaccggcttggcgcctgcctgtccccagcccctctcagcttgaactccttccttcaagt ctgggccctcgaggcttccagagcggcctccaggggtgcagtctcagttccccacgccagccgtctccgt cctccgcctcctccgggcctggcaggtggcactgtccggaggcggagccttgggcgaggggtggttgcgg cggaggacgcaaccgagcgggcctgcggcctcaccatggacccagaatgcgcccagctgctcccggctct ctgtgctgttctggtagatcccaggcagccggtggcagatgacacctgtttggagaagctcctggactgg tttaaaacggtcactgaaggagagtccagtgtcgtgctgctgcaggagcacccctgcctggtggagctgc tgtcccatgtgctgaaagtccaggacctgagttctggggtcctctccttctcactgcgcctggcaggaac cttcgcagcccaggaaaactgcttccagtatcttcagcagggggagttactaccagggctctttggggag ccaggacccctcggccgagcaacctgggccgtccccaccgtgcgcagcggctggatccagggcctgcgct ccctggcacagcaccccagcgccctgcgcttcctggccgaccatggtgcggtcgacaccatcttctccct gcagggagactccagcctgtttgtggcctcggcggccagtcagctcctggtgcacgtcctggctttgtcc atgcgaggtggagccgaggggcagccctgcctgccggggggtgactggcccgcgtgtgcccagaagatca tggatcacgttgaagagtccttgtgctccgcggccacccccaaggtcactcaggccctgaacgtcctgac cacgaccttcgggcgctgccagagcccctggacggaagccctgtgggtgcggctgagtccccgcgtggcc tgtctgctggagagagaccccatccccgccgcacactcgttcgtggacctgcttctctgtgtggctcgtt ctcccgtgttcagttcttccgacggcagcctgtgggagacagtggcgcgggctctgagctgcctgggtcc cacccacatgggacccctggctttggggatcctgaagctcgagcactgtccacaggcactgaggacccag gccttccaggtccttctccagcccctggcctgtgtcctgaaggccacggttcaggcccccggacccccag gcttgctggacgggacggcagacgatgccacgacggtggacacactcctggcctccaagtcgtcctgcgc cggcctcctgtgccgcaccctggctcacctggaggagctgcagccgctgccccagcgcccttcaccgtgg ccccaggcgtctctactgggggctacagtgactgtcctgcggctctgtgacggctcggctgcccctgcct ccagtgtggggggccacctctgtgggaccctggcgggctgcgtccgggtccagcgagcagccctcgactt cctggggacgctgtcacaggggacaggcccccaggagctggtgacgcaggcgcttgctgtcctcctggag tgcctcgagagccccggctccagccccacggttctgaagaaggccttccaggccacgctcaggtggctcc tgagctcacccaagacccccggctgctctgatctcggccccctcatcccgcagttcctcagagagctgtt ccctgtgctgcagaaacgcctgtgccacccctgctgggaggtgagggactccgccctcgagttcctgacc cagctgagcaggcactggggaggacaggctgacttcagatgcgcactcttggcttcagaggtgcctcagc tggccctgcagctcctccaggaccctgagagttatgtccgagcgagtgcagtgaccgccatggggcagct gtccagccagggcctgcacgcccccaccagccctgagcatgcagaggcccggcagatgggtaaactgagg attggagggccgtgtgctcactgcgcagcatgggaaggtgtcagagcgggctgtggccctagactgcatg tccggggccagcccccatcatgtaccggagtcctgttgcgggagcctcgctcctgccaccccaccaacca tccgcacttgctccctgtcccccagagcctgttcctggagctcctgcacatcctctccgtagactcggag ggcttcccacggcgggcggtcatgcaagtcttcactgagtggctgcgggacggccacgccgacgcggccc aggacacggagcagttcgtggccactgtgctgcaggcggcgagccgagacctggactgggaggtccgcgc ccagggcctggagctggccctcgtgttcctgggccagactttggggccgccgcgtacccactgcccctat gccgtggccctacccgaggtggccccagcccagccactcaccgaggcactgagggctctctgccacgtgg ggctctttgacttcgccttttgtgccttgtttgactgcgaccgccctgtggcgcagaagtcttgtgacct ccttctcttcctgagggacaagattgcttcctacagcagcctgcgggaggccaggggcagccccaacact gcctccgcagaggccaccctgccgaggtggcgggcgggtgagcaggcccagcccccaggggaccaggagc ctgaggctgtgctggccatgctcaggtccctagacctggagggcctgcggagcacgctggccgagagcag cgaccacgtggaaaagagtccccagtccctcctgcaggacatgctggccacgggaggcttcctgcagggg gacgaggccgactgctactgagcagaaccagagtctgccactggggctcaggaccaagggaggcagcacc atgtccttctgtgggacactgccagccccagggctccagcccagcccggtggatcctctggggaagccag gaccaggagagaagcaaggtcaagaaatcccacagtttgatgtattaaagaaatgacttatttctactca aaataaatggcattgaagtctttctttaa >gi|530384534|ref|XM_005249642.1| PREDICTED: Homo sapiens BRCA1-associated ATM activator 1 (BRAT1), transcript variant X1, mRNA gcgaccggcttggcgcctgcctgtccccagcccctctcagcttgaactccttccttcaagtctgggccct cgaggcttccagagcggcctccaggggtgcagtctcagttccccacgccagccgtctccgtcctccgcct cctccgggcctggcaggtggcactgtccggaggcggagccttgggcgaggggtggttgcggcggaggacg caaccgagcgggcctgcggcctcaccatggacccagaatgcgcccagctgctcccggctctctgtgctgt tctggtagatcccaggcagccggtggcagatgacacctgtttggagaagctcctggactggtttaaaacg gtcactgaaggagagtccagtgtcgtgctgctgcaggagcacccctgcctggtggagctgctgtcccatg tgctgaaagtccaggacctgagttctggggtcctctccttctcactgcgcctggcaggaaccttcgcagc ccaggaaaactgcttccagtatcttcagggggagttactaccagggctctttggggagccaggacccctc ggccgagcaacctgggccgtccccaccgtgcgcagcggctggatccagggcctgcgctccctggcacagc accccagcgccctgcgcttcctggccgaccatggtgcggtcgacaccatcttctccctgcagggagactc cagcctgtttgtggcctcggcggccagtcagctcctggtgcacgtcctggctttgtccatgcgaggtgga gccgaggggcagccctgcctgccggggggtgactggcccgcgtgtgcccagaagatcatggatcacgttg aagagtccttgtgctccgcggccacccccaaggtcactcaggccctgaacgtcctgaccacgaccttcgg gcgctgccagagcccctggacggaagccctgtgggtgcggctgagtccccgcgtggcctgtctgctggag agagaccccatccccgccgcacactcgttcgtggacctgcttctctgtgtggctcgttctcccgtgttca gttcttccgacggcagcctgtgggagacagtggcgcgggctctgagctgcctgggtcccacccacatggg acccctggctttggggatcctgaagctcgagcactgtccacaggcactgaggacccaggccttccaggtc cttctccagcccctggcctgtgtcctgaaggccacggttcaggcccccggacccccaggcttgctggacg ggacggcagacgatgccacgacggtggacacactcctggcctccaagtcgtcctgcgccggcctcctgtg ccgcaccctggctcacctggaggagctgcagccgctgccccagcgcccttcaccgtggccccaggcgtct ctactgggggctacagtgactgtcctgcggctctgtgacggctcggctgcccctgcctccagtgtggggg gccacctctgtgggaccctggcgggctgcgtccgggtccagcgagcagccctcgacttcctggggacgct gtcacaggggacaggcccccaggagctggtgacgcaggcgcttgctgtcctcctggagtgcctcgagagc cccggctccagccccacggttctgaagaaggccttccaggccacgctcaggtggctcctgagctcaccca agacccccggctgctctgatctcggccccctcatcccgcagttcctcagagagctgttccctgtgctgca gaaacgcctgtgccacccctgctgggaggtgagggactccgccctcgagttcctgacccagctgagcagg cactggggaggacaggctgacttcagatgcgcactcttggcttcagaggtgcctcagctggccctgcagc tcctccaggaccctgagagttatgtccgagcgagtgcagtgaccgccatggggcagctgtccagccaggg cctgcacgcccccaccagccctgagcatgcagaggcccggcagatgggtaaactgaggattggagggccg tgtgctcactgcgcagcatgggaaggtgtcagagcgggctgtggccctagactgcatgtccggggccagc ccccatcatgtaccggagtcctgttgcgggagcctcgctcctgccaccccaccaaccatccgcacttgct ccctgtcccccagagcctgttcctggagctcctgcacatcctctccgtagactcggagggcttcccacgg cgggcggtcatgcaagtcttcactgagtggctgcgggacggccacgccgacgcggcccaggacacggagc agttcgtggccactgtgctgcaggcggcgagccgagacctggactgggaggtccgcgcccagggcctgga gctggccctcgtgttcctgggccagactttggggccgccgcgtacccactgcccctatgccgtggcccta cccgaggtggccccagcccagccactcaccgaggcactgagggctctctgccacgtggggctctttgact tcgccttttgtgccttgtttgactgcgaccgccctgtggcgcagaagtcttgtgacctccttctcttcct gagggacaagattgcttcctacagcagcctgcgggaggccaggggcagccccaacactgcctccgcagag gccaccctgccgaggtggcgggcgggtgagcaggcccagcccccaggggaccaggagcctgaggctgtgc tggccatgctcaggtccctagacctggagggcctgcggagcacgctggccgagagcagcgaccacgtgga aaagagtccccagtccctcctgcaggacatgctggccacgggaggcttcctgcagggggacgaggccgac tgctactgagcagaaccagagtctgccactggggctcaggaccaagggaggcagcaccatgtccttctgt gggacactgccagccccagggctccagcccagcccggtggatcctctggggaagccaggaccaggagaga agcaaggtcaagaaatcccacagtttgatgtattaaagaaatgacttatttctactcaaaataaatggca ttgaagtctttctttaa >gi|530373237|ref|XM_005265508.1| PREDICTED: Homo sapiens BRCA1 associated protein-1 (ubiquitin carboxy-terminal hydrolase) (BAP1), transcript variant X2, mRNA gcatgcccgcatctgctgtccgacaggcggaagacgagcccagaggcggagcagggccgtcgcgccttgg tgacgtctgccgccggcgcgggcgggtgacgcgactgggcccgttgtctgtgtgtgggactgaggggccc cgggggcggtgggggctcccggtgggggcagcggtggggagggagggcctggacatggcgctgaggggcc gccccgcgggaagatgaataagggctggctggagctggagagcgacccaggcctcttcaccctgctcgtg gaagatttcggtgtcaagggggtgcaagtggaggagatctacgaccttcagagcaaatgtcagggccctg tatatggatttatcttcctgttcaaatggatcgaagagcgccggtcccggcgaaaggtctctaccttggt ggatgatacgtccgtgattgatgatgatattgtgaataacatgttctttgcccaccagctgatacccaac tcttgtgcaactcatgccttgctgagcgtgctcctgaactgcagcagcgtggacctgggacccaccctga gtcgcatgaaggacttcaccaagggtttcagccctgagagcaaaggatatgcgattggcaatgccccgga gttggccaaggcccataatagccatgccaggcccgagccacgccacctccctgagaagcagaatggcctt agtgcagtgcggaccatggaggcgttccactttgtcagctatgtgcctatcacaggccggctctttgagc tggatgggctgaaggtctaccccattgaccatgggccctggggggaggacgaggagtggacagacaaggc ccggcgggtcatcatggagcgtatcggcctcgccactgcagggatcaagtatgaggccaggctgcatgtg ctgaaggtgaaccgtcagacagtactagaggctctgcagcagctgataagagtaacacagccagagctga ttcagacccacaagtctcaagagtcacagctgcctgaggagtccaagtcagccagcaacaagtccccgct ggtgctggaagcaaacagggcccctgcagcctctgagggcaaccacacagatggtgcagaggaggcggct ggttcatgcgcacaagccccatcccacagccctcccaacaaacccaagctagtggtgaagcctccaggca gcagcctcaatggggttcaccccaaccccactcccattgtccagcggctgccggcctttctagacaatca caattatgccaagtcccccatgcaggaggaagaagacctggcggcaggtgtgggccgcagccgagttcca gtccgcccaccccagcagtactcagatgatgaggatgactatgaggatgacgaggaggatgacgtgcaga acaccaactctgcccttaggtataaggggaagggaacagggaagccaggggcattgagcggttctgctga tgggcaactgtcagtgctgcagcccaacaccatcaacgtcttggctgagaagctcaaagagtcccagaag gacctctcaattcctctgtccatcaagactagcagcggggctgggagtccggctgtggcagtgcccacac actcgcagccctcacccacccccagcaatgagagtacagacacggcctctgagatcggcagtgctttcaa ctcgccactgcgctcgcctatccgctcagccaacccgacgcggccctccagccctgtcacctcccacatc tccaaggtgctttttggagaggatgacagcctgctgcgtgttgactgcatacgctacaaccgtgctgtcc gtgatctgggtcctgtcatcagcacaggcctgctgcacctggctgaggatggggtgctgagtcccctggc gctgacagagggtgggaagggttcctcgccctccatcagaccaatccaaggcagccaggggtccagcagc ccagtggagaaggaggtcgtggaagccacggacagcagagagaagacggggatggtgaggcctggcgagc ccttgagtggggagaaatactcacccaagctgcctattgctcgtggggctttgttgctggcccgccccga tcagaggtgcaatgctgggttttggcaggagctgctggcactgctgaagtgtgtggaggctgagattgca aactatgaggcgtgcctcaaggaggaggtagagaagaggaagaagttcaagattgatgaccagagaagga cccacaactacgatgagttcatctgcacctttatctccatgctggctcaggaaggcatgctggccaacct agtggagcagaacatctccgtgcggcggcgccaaggggtcagcatcggccggctccacaagcagcggaag cctgaccggcggaaacgctctcgcccctacaaggccaagcgccagtgaggactgctggccctgactctgc agcccactcttgccgtgtggccctcaccagggtccttccctgccccacttccccttttcccagtattact gaatagtcccagctggagagtccaggccctgggaatgggaggaaccaggccacattccttccatcgtgcc ctgaggcctgacacggcagatcagccccatagtgctcaggaggcagcatctggagttggggcacagcgag gtactgcagcttcctccacagccggctgtggagcagcaggacctggcccttctgcctgggcagcagaata tatattttacctatcagagacatctatttttctgggctccaacccaacatgccaccatgttgac >gi|530373235|ref|XM_005265507.1| PREDICTED: Homo sapiens BRCA1 associated protein-1 (ubiquitin carboxy-terminal hydrolase) (BAP1), transcript variant X1, mRNA gcatgcccgcatctgctgtccgacaggcggaagacgagcccagaggcggagcagggccgtcgcgccttgg tgacgtctgccgccggcgcgggcgggtgacgcgactgggcccgttgtctgtgtgtgggactgaggggccc cgggggcggtgggggctcccggtgggggcagcggtggggagggagggcctggacatggcgctgaggggcc gccccgcgggaagatgaataagggctggctggagctggagagcgacccaggcctcttcaccctgctcgtg gaagatttcggtgtcaagggggtgcaagtggaggagatctacgaccttcagagcaaatgtcagggccctg tatatggatttatcttcctgttcaaatggatcgaagagcgccggtcccggcgaaaggtctctaccttggt ggatgatacgtccgtgattgatgatgatattgtgaataacatgttctttgcccaccagctgatacccaac tcttgtgcaactcatgccttgctgagcgtgctcctgaactgcagcagcgtggacctgggacccaccctga gtcgcatgaaggacttcaccaagggtttcagccctgagagcaaaggatatgcgattggcaatgccccgga gttggccaaggcccataatagccatgccaggcccgagccacgccacctccctgagaagcagaatggcctt agtgcagtgcggaccatggaggcgttccactttgtcagctatgtgcctatcacaggccggctctttgagc tggatgggctgaaggtctaccccattgaccatgggccctggggggaggacgaggagtggacagacaaggc ccggcgggtcatcatggagcgtatcggcctcgccactgcaggggagccctaccacgacatccgcttcaac ctgatggcagtggtgcccgaccgcaggatcaagtatgaggccaggctgcatgtgctgaaggtgaaccgtc agacagtactagaggctctgcagcagctgataagagtaacacagccagagctgattcagacccacaagtc tcaagagtcacagctgcctgaggagtccaagtcagccagcaacaagtccccgctggtgctggaagcaaac agggcccctgcagcctctgagggcaaccacacagatggtgcagaggaggcggctggttcatgcgcacaag ccccatcccacagccctcccaacaaacccaagctagtggtgaagcctccaggcagcagcctcaatggggt tcaccccaaccccactcccattgtccagcggctgccggcctttctagacaatcacaattatgccaagtcc cccatgcaggaggaagaagacctggcggcaggtgtgggccgcagccgagttccagtccgcccaccccagc agtactcagatgatgaggatgactatgaggatgacgaggaggatgacgtgcagaacaccaactctgccct taggtataaggggaagggaacagggaagccaggggcattgagcggttctgctgatgggcaactgtcagtg ctgcagcccaacaccatcaacgtcttggctgagaagctcaaagagtcccagaaggacctctcaattcctc tgtccatcaagactagcagcggggctgggagtccggctgtggcagtgcccacacactcgcagccctcacc cacccccagcaatgagagtacagacacggcctctgagatcggcagtgctttcaactcgccactgcgctcg cctatccgctcagccaacccgacgcggccctccagccctgtcacctcccacatctccaaggtgctttttg gagaggatgacagcctgctgcgtgttgactgcatacgctacaaccgtgctgtccgtgatctgggtcctgt catcagcacaggcctgctgcacctggctgaggatggggtgctgagtcccctggcgctgacagagggtggg aagggttcctcgccctccatcagaccaatccaaggcagccaggggtccagcagcccagtggagaaggagg tcgtggaagccacggacagcagagagaagacggggatggtgaggcctggcgagcccttgagtggggagaa atactcacccaagctgcctattgctcgtggggctttgttgctggcccgccccgatcagaggtgcaatgct gggttttggcaggagctgctggcactgctgaagtgtgtggaggctgagattgcaaactatgaggcgtgcc tcaaggaggaggtagagaagaggaagaagttcaagattgatgaccagagaaggacccacaactacgatga gttcatctgcacctttatctccatgctggctcaggaaggcatgctggccaacctagtggagcagaacatc tccgtgcggcggcgccaaggggtcagcatcggccggctccacaagcagcggaagcctgaccggcggaaac gctctcgcccctacaaggccaagcgccagtgaggactgctggccctgactctgcagcccactcttgccgt gtggccctcaccagggtccttccctgccccacttccccttttcccagtattactgaatagtcccagctgg agagtccaggccctgggaatgggaggaaccaggccacattccttccatcgtgccctgaggcctgacacgg cagatcagccccatagtgctcaggaggcagcatctggagttggggcacagcgaggtactgcagcttcctc cacagccggctgtggagcagcaggacctggcccttctgcctgggcagcagaatatatattttacctatca gagacatctatttttctgggctccaacccaacatgccaccatgttgac >gi|530364726|ref|XR_241081.1| PREDICTED: Homo sapiens Mdm4 p53 binding protein homolog (mouse) (MDM4), transcript variant X4, misc_RNA gtgtgggaggccggaagttgcggcttcattactcgccatttcaaaatgctgccgaggccctaggatctgt gactgccacccctccccccacccgggctcggcgggggagcgactcatggagctgccgtaagttttaccaa cagactgcagtttcttcactaccaaaatgacatcattttccacctctgctcagtgttcaacatctgacag tgcttgcaggatctctcctggacaaatcaatcaggtacgaccaaaactgccgcttttgaagattttgcat gcagcaggtgcgcaaggtgaaatgttcactgttaaagaggtcatgcactatttaggtcagtacataatgg tgaagcaactttatgatcagcaggagcagcatatggtatattgtggtggagatcttttgggagaactact gggacgtcagagcttctccgtgaaagacccaagccctctctatgatatgctaagaaagaatcttgtcact ttagccactgctactacagcaaagtgcagaggaaagttccacttccagaaaaagaactacagaagacgat atccccacactgcctacctcagagcataaatgcatacattctagagaagatgaagacttaattgaaaatt tagcccaagatgaaacatctaggctggaccttggatttgaggagtgggatgtagctggcctgccttggtg gtttttaggaaacttgagaagcaactatacacctagaagtaatggctcaactgatttacagacaaatcag gtgattgaagtgggaaaaaatgatgacctggaggactctaagtccttaagtgatgataccgatgtagagg ttacctctgaggatgagtggcagtgtactgaatgcaagaaatttaactctccaagcaagaggtactgttt tcgttgttgggccttgaggaaggattggtattcagattgttcaaagttaacccattctctctccacgtct gatatcactgccatacctgaaaaggaaaa >gi|530364725|ref|XR_241080.1| PREDICTED: Homo sapiens Mdm4 p53 binding protein homolog (mouse) (MDM4), transcript variant X3, misc_RNA gtgtgggaggccggaagttgcggcttcattactcgccatttcaaaatgctgccgaggccctaggatctgt gactgccacccctccccccacccgggctcggcgggggagcgactcatggagctgccgtaagttttaccaa cagactgcagtttcttcactaccaaaatgacatcattttccacctctgctcagtgttcaacatctgacag tgcttgcaggatctctcctggacaaatcaatcaggtacgaccaaaactgccgcttttgaagattttgcat gcagcaggtgcgcaaggtgaaatgttcactgttaaagaggtcatgcactatttaggtcagtacataatgg tgaagcaactttatgatcagcaggagcagcatatggtatattgtggtggagatcttttgggagaactact gggacgtcagagcttctccgtgaaagacccaagccctctctatgatatgctaagaaagaatcttgtcact ttagccactgctactacagcaaagtgcagaggaaagttccacttccagaaaaagaactacagaagacgat atccccacactgcctacctcagagcataaatgcatacattctagagaagatgaagacttaattgaaaatt tagcccaagatgaaacatctaggctggaccttggatttgaggagtgggatgtagctggcctgccttggtg gtttttaggaaacttgagaagcaactatacacctagaagtaatggctcaactgatttacagacaaatcag gatgtgggtactgccattgtttcagatactacagatgacttgtggtttttgaatgagtcagtatcagagc agttaggtgttggaataaaagttgaagctgctgatactgaacaaacaagtgaagaagtagggaaagtaag tgacaaaaaggtgattgaagtgggaaaaaatgatgacctggaggactctaagtccttaagtgatgatacc gatgtagaggttacctctgaggatgagtggcagtgtactgaatgcaagaaatttaactctccaagcaaga ggtactgttttcgttgttgggccttgaggaaggattggtattcagattgttcaaagttaacccattctct ctccacgtctgatatcactgccatacctgaaaaggaaaatgaaggaaatgatgtccctgattgtcgaaga accatttcggctcctgtcgttagacctaaagatgcgtatataaagaaagaaaactccaaactttttgatc cctgcaactcagtggaattcttggatttggctcacagttctgaaagccaagagaccatctcaagcatggg agaacagttagataacctttctgaacagagaacagatacagaaaacatggaggattgccagaatctcttg aagccatgtagcttatgtgagaaaagaccacgagacgggaacattattcatggaaggacgggccatcttg tcacttgttttcactgtgccagaagactaaagaaggctggggcttcatgccctatttgcaagaaagagat tcagctggatgccaaagaagagtgaatggcccacaaagagcctggtagcacatacgcttttcaaaaggtc atgcacttacagctaaagccattaaggctgaagtgcagtggcgagaggttcacggcagccttgacctcct ggctgaagcgatccagccatctcagccccccgagtagctgagaccacaggagggggctgattgaaactga agaatagtacagtaggaggagaggaccaggagctgaaaagacaggtcgctatgttgagagagagagagag gaagaaagatctaataggacttcaaaggctgtggtagatgtattactgtcaaaacctgcgcagcttttct ctaccaggccttggaaaagattgcacttcctgcaccactggcagcgggctggccaatgggatgcaagtgg aaatgaactgtgctattctgagcagaggcttagggaccattgtgtgggcttaggcagatactccaatatt tctgacacatacatacacggaaaaccttgcaagagtggagaaaagaagggagagggtctcactctgtcac caggctggagtgcagtggcacaatctaggctcactgcagcctcgacctcccaggttcaagcaatcctccc acctcagcctcccggttagctgggactatagctatgcgccaccatgtccctatgttgcccagcctcggtg tctggatgcccagcctaaccaagtcagcttcccatctttggctgagacaaggagaaccctgctgggctag gggacccagatagtgaccaggttctgcatgtgatttccctgtggaattccaaccaaggacagacagttag cctaaaaacaacagcagaagcagcagcaacaacgatgctgagtgctgactgcgagcctggcttcctcgga gggagtttaccgtgcgctgcctccttggaccctcatcactgccctgcgaagcaagcactttcctcacccc ctctgtctggaggagggcactgaggcaccgagaaaactgggcaggggaggcccgagaaggagagggtggc accgtcattctcactttccagctgaggacacggatggtttctataacagtgaatttgcaaatagttggaa cctctgaagtgcttcctctcctggactggaaaccccttgaggatgtgtacggcacccgcatcccctccat ctgcacccgcagccacagccacagccacagccagcgctatgtcccgttgccattcacattcatacctgca acgtacactcatacatgtgtcggatatttgcgaagaagctccctttcccacctaggcccctcttctttcc tttcctttcctttccctcctctacctctttcccttcctattcttctgctcctcctccctcccagctggtt ccctatttcccttaccccctcaaacatctcccctctctccatccccactcccaatctgccaaacccaccc ccacctaaaaatgtggaccgtggagtctctgaccgaggtttcctttcccaacatggggagcccgggctgg ctgcgatttgttggggacagagatgggatcttgctctgttgttcaggtggtggtttcaaactcctggcct caagtgatcctcctgccttggcctcccaaagcgctgggattacaggtgtgagccgctgtgcccaggccaa tcccagagattttgttttattttatggcccagaagatgatttctcgatacgagtttcacgaagacttgaa aagaatgtgtcctctgttgttggatggagtgtccttgaaatgttcattagccttctagctccattcagaa gagcctccgaagtagagaccagaaatccttctagtgggctgtgctttgagcagtactgcttgttgactgc tttacttggaaggagagatcgactgagaatgtataacatcaagagctgccctaatgtgaactggagactt cgagtgacaacaatgtgcccatggaaagaagtggacaagactctgctctcttcatggaaccgagtattct aaggacacagccaagtcaggagactacacccctagtataataagtcctgtggctgtactgagaagaggtc ctgactcagaactggaggacatcatggaaggcttcctggaggaagtgccatctaggctgaaacctaaagg atgagtagaactaaccagatgaaaaggacagcactggatttgactcatccctgcatcccccgagcacctc gtgggtgccgtaaaggcagctgggttgatgatgactgagtgaaggagcgcctgagtggatgagccactga gtgaatgaactggagttcatcttccacgtggtcctcagcatccactctagaagccaaagccaagcctgag ggatctaaagccttgggacttctggatctgcaagtggtccctgttttggtagctattgactgacgagggg ctcttcgccccacaggtgactgctgtagccttgagtgaggacctcggccaaaaagaaggctcctaccgtg gctgtttgctgatggtcttcgcagagcctgctgtctttgagcttcctgagagagggacactaccctcgct tagcctggcagtgttgcccaggaggaggcagtggagttaagaagcctgggtctgagctcctcagctgtgc agacaactcctacttgttcttcaacgctcaactttaagttcagtcaccacctgcagaagtcttctccaaa acctccccacctggctgactaaggggctggctttatgctcttgcagtactcatgcttcctactgtcacag ttctgaccacaccgtgggaaaacgtctctaactagagacctgtcttgcctcttgtgcctgtagtacggga tgggtgcccagtgtgtgttgattgtatgaatcaatctctgtgactccagagttcctttcttcaggagatt agacatcacccctgcaatcaacaatgcaagccactgctgtttcctccatcctgagcatgaggaacctatc cagtttctctctcagatgccagggccatgaggcaagtccagccttggcctagaaccaaagatggaaacaa aaaggggccagactgtgttgccttcttgagcctggtctgactcctgagtggaagtctgattccaggtaca tgagataagcactaatacctccagtttgcagattaagagactgaggtcctgaagaggttaaagaacttgg ctcaagtcacatagctggtgagcagcaagatacaagaatcaacccaagtccagggggctgtgtgccgttt acacttcacatctgtgctgccagggctgtagctataaaagcttgaaaaccatta >gi|530364724|ref|XR_241079.1| PREDICTED: Homo sapiens Mdm4 p53 binding protein homolog (mouse) (MDM4), transcript variant X2, misc_RNA aagttgcggcttcattactcgccatttcaaaatgctgccgaggccctaggatctgtgactgccacccctc cccccacccgggctcggcgggggagcgactcatggagctgccgtaagttttaccaacagactgcagtttc ttcactaccaaaatgacatcattttccacctctgctcagtgttcaacatctgacagtgcttgcaggatct ctcctggacaaatcaatcaggtacgaccaaaactgccgcttttgaagattttgcatgcagcaggtgcgca aggtgaaatgttcactgttaaagaggtcatgcactatttaggtcagtacataatggtgaagcaactttat gatcagcaggagcagcatatggtatattgtggtggagatcttttgggagaactactgggacgtcagagct tctccgtgaaagacccaagccctctctatgatatgctaagaaagaatcttgtcactttagccactgctac tacaggatcacagtatggatattccaagtcaagaccaactgaagcaaagtgcagaggaaagttccacttc cagaaaaagaactacagaagacgatatccccacactgcctacctcagagcataaatgcatacattctaga gaagatgaagacttaattgaaaatttagcccaagatgaaacatctaggctggaccttggatttgaggagt gggatgtagctggcctgccttggtggtttttaggaaacttgagaagcaactatacacctagaagtaatgg ctcaactgatttacagacaaatcaggatgtgggtactgccattgtttcagatactacagatgacttgtgg tttttgaatgagtcagtatcagagcagttaggtgttggaataaaagttgaagctgctgatactgaacaaa caagtgaagaagtagggaaagtaagtgacaaaaaggtgattgaagtgggaaaaaatgatgacctggagga ctctaagtccttaagtgatgataccgatgtagaggttacctctgaggatgagtggcagtgtactgaatgc aagaaatttaactctccaagcaagaggtactgttttcgttgttgggccttgaggaaggattggtattcag attgttcaaagttaacccattctctctccacgtctgatatcactgccatacctgaaaaggaaaatgaagg aaatgatgtccctgattgtcgaagaaccatttcggctcctgtcgttagacctaaagatgcgtatataaag aaagaaaactccaaactttttgatccctgcaactcagtggaattcttggatttggctcacagttctgaaa gccaagagaccatctcaagcatgggagaacagttagataacctttctgaacagagaacagatacagaaaa catggaggattgccagaatctcttgaagccatgtagcttatgtgagaaaagaccacgagacgggaacatt attcatggaaggacgggccatcttgtcacttgttttcactgtgccagaagactaaagaaggctggggctt catgccctatttgcaagaaagagattcagctggttattaaggtttttatagcataatggtagtacgaaca taaaaatgcatttattccgttcacttaccacattatttgaaaatcaatcctttatttaattttatttcca acctgtcagagaatgttcttaggcatcaaaatccaaggtagctgtaagaaaaatactggagctaacaatg aagaacagaagtaatctgattagtcaaattattaagtgccatggattactttatgcagcagtcaggtaca tagttaggtgaacccaaaagaaaaactcttgaaaacaagagatttcttccatgcacatttacaatattga ggtataattaacatgataaagtgtttccttctaacgagttgtagaaatctgagtaaccacccaaaaaagc aatagaatgtttctgtcaccccaaaacactcccttctgcccctcttcagacagtccttcagctatttcat ggctctcaccctagttttttttttttttgcacttttttttttccgggggtataggggaggtgtggggcga cagggtctgtcttgttctgtctcccaggctgaagtgcagtgcagtggtatgatcatggctcactgcagcc ttggtttcctgggcataagtggtcttcccacttcagcctcctgagtagctgagactatagactagcataa ccacactggctaattttttgtggagatgaagtctcactatgttgcccaggctggtctcgaactcctgggc tcaaacaatcctcccgcctcagccttccaaattgctgggattatagtcatgaggcacctagtctggccct tttgcaagactttaatctgaaatctaaatttttaaaatttaagtacttacaaaggatatactatccaaca tattgcatattatatatgtgctttaaagtttttttttttttttgagagacggtctcactttgtcatccaa gctggagtgcagtggtgcaaacacggcccacctcctgggctcaagtgatcctccagcctcagcttccctc acaggcattcactatcactcccagctaattaaaataatttgtagacggtgtctcgttatgttgcccaggc tggtctcgaactcctgggtttaagtgattcccccgcctcagcctcccaaagtgttgggcttacagccttg agccactatgcttggctcaaagatatttttatgaaagccctgggactatagatttagctgattaaattta tagaaaaagtcctgtcata pyfaidx-0.6.4/tests/data/issue_141.fasta000066400000000000000000002203741417603162300200100ustar00rootroot00000000000000>gi|563317589|dbj|AB821309.1| Homo sapiens FGFR2-AHCYL1 mRNA for FGFR2-AHCYL1 fusion kinase protein, complete cds ATGGTCAGCTGGGGTCGTTTCATCTGCCTGGTCGTGGTCACCATGGCAACCTTGTCCCTGGCCCGGCCCT CCTTCAGTTTAGTTGAGGATACCACATTAGAGCCAGAAGATGCCATCTCATCCGGAGATGATGAGGATGA CACCGATGGTGCGGAAGATTTTGTCAGTGAGAACAGTAACAACAAGAGAGCACCATACTGGACCAACACA GAAAAGATGGAAAAGCGGCTCCATGCTGTGCCTGCGGCCAACACTGTCAAGTTTCGCTGCCCAGCCGGGG GGAACCCAATGCCAACCATGCGGTGGCTGAAAAACGGGAAGGAGTTTAAGCAGGAGCATCGCATTGGAGG CTACAAGGTACGAAACCAGCACTGGAGCCTCATTATGGAAAGTGTGGTCCCATCTGACAAGGGAAATTAT ACCTGTGTGGTGGAGAATGAATACGGGTCCATCAATCACACGTACCACCTGGATGTTGTGGAGCGATCGC CTCACCGGCCCATCCTCCAAGCCGGACTGCCGGCAAATGCCTCCACAGTGGTCGGAGGAGACGTAGAGTT TGTCTGCAAGGTTTACAGTGATGCCCAGCCCCACATCCAGTGGATCAAGCACGTGGAAAAGAACGGCAGT AAATACGGGCCCGACGGGCTGCCCTACCTCAAGGTTCTCAAGCACTCGGGGATAAATAGTTCCAATGCAG AAGTGCTGGCTCTGTTCAATGTGACCGAGGCGGATGCTGGGGAATATATATGTAAGGTCTCCAATTATAT AGGGCAGGCCAACCAGTCTGCCTGGCTCACTGTCCTGCCAAAACAGCAAGCGCCTGGAAGAGAAAAGGAG ATTACAGCTTCCCCAGACTACCTGGAGATAGCCATTTACTGCATAGGGGTCTTCTTAATCGCCTGTATGG TGGTAACAGTCATCCTGTGCCGAATGAAGAACACGACCAAGAAGCCAGACTTCAGCAGCCAGCCGGCTGT GCACAAGCTGACCAAACGTATCCCCCTGCGGAGACAGGTAACAGTTTCGGCTGAGTCCAGCTCCTCCATG AACTCCAACACCCCGCTGGTGAGGATAACAACACGCCTCTCTTCAACGGCAGACACCCCCATGCTGGCAG GGGTCTCCGAGTATGAACTTCCAGAGGACCCAAAATGGGAGTTTCCAAGAGATAAGCTGACACTGGGCAA GCCCCTGGGAGAAGGTTGCTTTGGGCAAGTGGTCATGGCGGAAGCAGTGGGAATTGACAAAGACAAGCCC AAGGAGGCGGTCACCGTGGCCGTGAAGATGTTGAAAGATGATGCCACAGAGAAAGACCTTTCTGATCTGG TGTCAGAGATGGAGATGATGAAGATGATTGGGAAACACAAGAATATCATAAATCTTCTTGGAGCCTGCAC ACAGGATGGGCCTCTCTATGTCATAGTTGAGTATGCCTCTAAAGGCAACCTCCGAGAATACCTCCGAGCC CGGAGGCCACCCGGGATGGAGTACTCCTATGACATTAACCGTGTTCCTGAGGAGCAGATGACCTTCAAGG ACTTGGTGTCATGCACCTACCAGCTGGCCAGAGGCATGGAGTACTTGGCTTCCCAAAAATGTATTCATCG AGATTTAGCAGCCAGAAATGTTTTGGTAACAGAAAACAATGTGATGAAAATAGCAGACTTTGGACTCGCC AGAGATATCAACAATATAGACTATTACAAAAAGACCACCAATGGGCGGCTTCCAGTCAAGTGGATGGCTC CAGAAGCCCTGTTTGATAGAGTATACACTCATCAGAGTGATGTCTGGTCCTTCGGGGTGTTAATGTGGGA GATCTTCACTTTAGGGGGCTCGCCCTACCCAGGGATTCCCGTGGAGGAACTTTTTAAGCTGCTGAAGGAA GGACACAGAATGGATAAGCCAGCCAACTGCACCAACGAACTGTACATGATGATGAGGGACTGTTGGCATG CAGTGCCCTCCCAGAGACCAACGTTCAAGCAGTTGGTAGAAGACTTGGATCGAATTCTCACTCTCACAAC CAATGAGCAATTCCAGTTTGCTGATGACATGCAGGAGTTCACCAAATTCCCCACCAAAACTGGCCGAAGA TCTTTGTCTCGCTCGATCTCACAGTCCTCCACTGACAGCTACAGTTCAGCTGCATCCTACACAGATAGCT CTGATGATGAGGTTTCTCCCCGAGAGAAGCAGCAAACCAACTCCAAGGGCAGCAGCAATTTCTGTGTGAA GAACATCAAGCAGGCAGAATTTGGACGCCGGGAGATTGAGATTGCAGAGCAAGACATGTCTGCTCTGATT TCACTCAGGAAACGTGCTCAGGGGGAGAAGCCCTTGGCTGGTGCTAAAATAGTGGGCTGTACACACATCA CAGCCCAGACAGCGGTGTTGATTGAGACACTCTGTGCCCTGGGGGCTCAGTGCCGCTGGTCTGCTTGTAA CATCTACTCAACTCAGAATGAAGTAGCTGCAGCACTGGCTGAGGCTGGAGTTGCAGTGTTCGCTTGGAAG GGCGAGTCAGAAGATGACTTCTGGTGGTGTATTGACCGCTGTGTGAACATGGATGGGTGGCAGGCCAACA TGATCCTGGATGATGGGGGAGACTTAACCCACTGGGTTTATAAGAAGTATCCAAACGTGTTTAAGAAGAT CCGAGGCATTGTGGAAGAGAGCGTGACTGGTGTTCACAGGCTGTATCAGCTCTCCAAAGCTGGGAAGCTC TGTGTTCCGGCCATGAACGTCAATGATTCTGTTACCAAACAGAAGTTTGATAACTTGTACTGCTGCCGAG AATCCATTTTGGATGGCCTGAAGAGGACCACAGATGTGATGTTTGGTGGGAAACAAGTGGTGGTGTGTGG CTATGGTGAGGTAGGCAAGGGCTGCTGTGCTGCTCTCAAAGCTCTTGGAGCAATTGTCTACATTACCGAA ATCGACCCCATCTGTGCTCTGCAGGCCTGCATGGATGGGTTCAGGGTGGTAAAGCTAAATGAAGTCATCC GGCAAGTCGATGTCGTAATAACTTGCACAGGAAATAAGAATGTAGTGACACGGGAGCACTTGGATCGCAT GAAAAACAGTTGTATCGTATGCAATATGGGCCACTCCAACACAGAAATCGATGTGACCAGCCTCCGCACT CCGGAGCTGACGTGGGAGCGAGTACGTTCTCAGGTGGACCATGTCATCTGGCCAGATGGCAAACGAGTTG TCCTCCTGGCAGAGGGTCGTCTACTCAATTTGAGCTGCTCCACAGTTCCCACCTTTGTTCTGTCCATCAC AGCCACAACACAGGCTTTGGCACTGATAGAACTCTATAATGCACCCGAGGGGCGATACAAGCAGGATGTG TACTTGCTTCCTAAGAAAATGGATGAATACGTTGCCAGCTTGCATCTGCCATCATTTGATGCCCACCTTA CAGAGCTGACAGATGACCAAGCAAAATATCTGGGACTCAACAAAAATGGGCCATTCAAACCTAATTATTA CAGATACTAA >gi|557361099|gb|KF435150.1| Homo sapiens MDM4 protein variant Y (MDM4) mRNA, complete cds, alternatively spliced ATGACATCATTTTCCACCTCTGCTCAGTGTTCAACATCTGACAGTGCTTGCAGGATCTCTCCTGGACAAA TCAATCAGGTACGACCAAAACTGCCGCTTTTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTT CACTGTTAAAGAGGTCATGCACTATTTAGGTCAGTACATAATGGTGAAGCAACTTTATGATCAGCAGGAG CAGCATATGGTATATTGTGGTGGAGATCTTTTGGGAGAACTACTGGGACGTCAGAGCTTCTCCGTGAAAG ACCCAAGCCCTCTCTATGATATGCTAAGAAAGAATCTTGTCACTTTAGCCACTGCTACTACAGCAAAGTG CAGAGGAAAGTTCCACTTCCAGAAAAAGAACTACAGAAGACGATATCCCCACACTGCCTACCTCAGAGCA TAAATGCATACATTCTAGAGAAGGTGATTGAAGTGGGAAAAAATGATGACCTGGAGGACTC >gi|557361097|gb|KF435149.1| Homo sapiens MDM4 protein variant G (MDM4) mRNA, complete cds ATGACATCATTTTCCACCTCTGCTCAGTGTTCAACATCTGACAGTGCTTGCAGGATCTCTCCTGGACAAA TCAATCAGGTACGACCAAAACTGCCGCTTTTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTT CACTGTTAAAGAGGTCATGCACTATTTAGGTCAGTACATAATGGTGAAGCAACTTTATGATCAGCAGGAG CAGCATATGGTATATTGTGGTGGAGATCTTTTGGGAGAACTACTGGGACGTCAGAGCTTCTCCGTGAAAG ACCCAAGCCCTCTCTATGATATGCTAAGAAAGAATCTTGTCACTTTAGCCACTGCTACTACAGCAAAGTG CAGAGGAAAGTTCCACTTCCAGAAAAAGAACTACAGAAGACGATATCCCCACACTGCCTACCTCAGAGCA TAAATGCATACATTCTAGAGAAGATGAAGACTTAATTGAAAATTTAGCCCAAGATGAAACATCTAGGCTG GACCTTGGATTTGAGGAGTGGGATGTAGCTGGCCTGCCTTGGTGGTTTTTAGGAAACTTGAGAAGCAACT ATACACCTAGAAGTAATGGCTCAACTGATTTACAGACAAATCAGGTGATTGAAGTGGGAAAAAATGATGA CCTGGAGGACTC >gi|543583796|ref|NR_104216.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 8, non-coding RNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTACTAACATTCTGAGAGAGCCTGTGTGTTTAGGAGGATGTGAGCACATCT TCTGTAGTAATTGTGTAAGTGACTGCATTGGAACTGGATGTCCAGTGTGTTACACCCCGGCCTGGATACA AGACTTGAAGATAAATAGACAACTGGACAGCATGATTCAACTTTGTAGTAAGCTTCGAAATTTGCTACAT GACAATGAGCTGTCAGGGCGACATACCTTCTGTTGAATACCTTTTACAAAATGGAAGTGATCCAAATGTT AAAGACCATGCTGGATGGACACCATTGCATGAAGCTTGCAATCATGGGCACCTGAAGGTAGTGGAATTAT TGCTCCAGCATAAGGCATTGGTGAACACCACCGGGTATCAAAATGACTCACCACTTCACGATGCAGCCAA GAATGGGCATGTGGATATAGTCAAGCTGTTACTTTCCTATGGAGCCTCCAGAAATGCTGTTAATATATTT GGTCTGCGGCCTGTCGATTATACAGATGATGAAAGTATGAAATCGCTATTGCTGCTACCAGAGAAGAATG AATCATCCTCAGCTAGCCACTGCTCAGTAATGAACACTGGGCAGCGTAGGGATGGACCTCTTGTACTTAT AGGCAGTGGGCTGTCTTCAGAACAACAGAAAATGCTCAGTGAGCTTGCAGTAATTCTTAAGGCTAAAAAA TATACTGAGTTTGACAGTACAGTAACTCATGTTGTTGTTCCTGGTGATGCAGTTCAAAGTACCTTGAAGT GTATGCTTGGGATTCTCAATGGATGCTGGATTCTAAAATTTGAATGGGTAAAAGCATGTCTACGAAGAAA AGTATGTGAACAGGAAGAAAAGTATGAAATTCCTGAAGGTCCACGCAGAAGCAGGCTCAACAGAGAACAG CTGTTGCCAAAGCTGTTTGATGGATGCTACTTCTATTTGTGGGGAACCTTCAAACACCATCCAAAGGACA ACCTTATTAAGCTCGTCACTGCAGGTGGGGGCCAGATCCTCAGTAGAAAGCCCAAGCCAGACAGTGACGT GACTCAGACCATCAATACAGTCGCATACCATGCGAGACCCGATTCTGATCAGCGCTTCTGCACACAGTAT ATCATCTATGAAGATTTGTGTAATTATCACCCAGAGAGGGTTCGGCAGGGCAAAGTCTGGAAGGCTCCTT CGAGCTGGTTTATAGACTGTGTGATGTCCTTTGAGTTGCTTCCTCTTGACAGCTGAATATTATACCAGAT GAACATTTCAAATTGAATTTGCACGGTTTGTGAGAGCCCAGTCATTGTACTGTTTTTAATGTTCACATTT TTACAAATAGGTAGAGTCATTCATATTTGTCTTTGAATCAAAAAAAAAAAAAAAGTCTAATGCCAGATTA GGAATTCATGTTATGTTTACCATTTAGAAGCTGGGATTGCTTTTAAAGGTTTTTCTTTTTAAAATTGGCA TGTTTTTGATTTATCATGTCTTTCTATTCAGATTATTGGGTATCAAAGATTAATGAGGACACCAGAATCT TGGTTAAATAGACAAGTGGTATCATTACTGTTTGAGTCTTTTAATATTCTCCATACCTGCCACCAGTGAA AAAACTTGCCTTTTTTTTTTTTTTTTTTTTAGTAAACAGAATATTATCAAACAATTTATTTTGGCTTTAT TGAAAAAAGAGTATTTGGTCTAAATGTGCCACCATAGGTGTTAAATTCTCCTATCTGCAATTGTCTTTAT CCTATATTGTGTTCATTTCTTTTCTTAATAATTTACTTTGTTGTGTGTTTCTACACTTTCATCCCTGTTT TTTATCTTGTATATCATCAGGAAATTGTGATTTAATCATTAACATTGGTTTTTTTGTGTGTGTGGTAAAA ATCAACACTAGGCTCATGGTACATATTTTTATTCTGTACATTTGCTTGTAACTATCAATTTGTAACTCTG TTTATCTACTACATGTGTATATATACTTAGAGCATTTTCTCTAACACATTTTAATGTTAGTATTTTTTAA AAGGTCTGACCAGTCTAGCAAATTGTCAGTCCAACGTCATTACTTTAAATTAAGAAGCAGTCTTCTTCTG GTAAACCTTGTTGGTATTTGTAAAATAATTTTGAAGGTCTTAATTTCTTCCTTTGTAAAAGGAAAAGGTT TTTTTTAAAGTTTTTAGGTTGGCATGGAGGCAGAAGTTGGTGATTACTTGATTTACAACAGATTTTTTCC AGATCATACAAAAGGCCATACAGTAAGTATAGAAGTAGGTATGGGGAGGGCTTACTAATATCAAATAGGC AAGGCCTTAGTGAGTGGGCAGGATACCACCTGAGAGTGGCCAGATGTGGGGAGGTTACTCTGCTCTGGGT GCTCTCATTCATGAATCGACAAGGATACATTAGATTATTTTGAAACATTTTTTTAAGAAGCAGAATTCTT TAATAATTCCTTCCTAGACATTGAATATACTTATAAAATTAAAGACTTGGGGAAGGAGACACTGAGAGAC TTGCCAGTTTGGTTCCTCATGAACAAAAGAGGACAGTTTGATAACTACCAGAATAGAATATCCCTAGTTT TAAAATAGTGAGAATCTCTGAAGTTCATCAACATCTTAAGATGCACTTACTTGAAAGTTTGAGATTCTGT TTATCATTTGAAAACACATTTTGCTTTAATTCTTTCTTTGACATGTTGTTTTTTCATATCAAGAAATATA TGAACAAAATAATAACCTTTTGACCCTGACCTTGCTGGGTGAATTAGCTCTGAAACACTCTCTACAACCA GTAATGCATTTGTCCCACATTTCATTCTGATAGAAAATGAACACCATAGCACCAAACAAAAATCCGAGGC GTTAGATAATGTCTGGATTAAATAATTTAAGACTCTCTAGGATTTTGGTTGTCATTTTTTATTTATAACA GACTTTAAGTCACTTTCTGTTGCCTCATAGGTCACATTTTAGACAGGTTTGTGTCTGTTCCTTGCATCTG AATTCCTGATTGTAAAGACACCTATGAGGTCTCTTAGTTTTTGTCATTCATTTTCTTGGTTTATCACCCC TCCCTTCTTTTTGTTGTTTTTCCCTGACTGTTAAGCAGTTTCATCTTTGCTTTTGTTAAATATTTGACAG CAGTTAGTTTGTGTTAAGCTCTTGAAACTTGTGATTGTACTTTCTGTGTAGATATACATGTAATTATTTT TTATTTTTCAATCATAGATTCAAGCTTCCTTCTTTTTTACCACAAATCATTAAAGTTATTTGTGTTTCCA TATACCTGTGTCTTGTATAAAATTGGCTTATTCTGTGCTGTTGAATGAGGCTCAACATGACTTGGTGAGG AAGTCTATTAACTAACAAAAGCTTATCTTTTTTAACATAATGCTTTTTAATTAATTTTGAATAAAAATAT TTCTAAAGTGTACTAGATACTTTATTACCTTAGATTATTCCGAATACAGTATAACTTTGATAGTTTGGAA TAGTCATTAAGAAACAATTACACACTGATTGCTTTGTGTCTCTAAAAGTGAGAGGCTGGTAGCTTTTCCA CATTCTCATGGCTATTTTCTAGTTCTACTTGAATTTATAACTGTTTCCCTTTTTCCTTGACAGCTGCCAC TTTGTAGCTATTTTTCTGTCTCTGCTAATACTTTACCATATCTATCTCAATTGTTTTTTCTTTTGACTTG CTGAAAAATAGAAACCAGATGGGAAGTATATTAGCATTATGATTGAAATAAGGGTAAATGAGCAATGTGT GAAGGTTTTCACTGACTTCACCTAAAAGATAGTTTAGCTACTTGAATTTTAGTAAATAGAATTTTTCCTT TATTTCATCGGTCCCCCCACCTTTTTTTTTTTTTGCACCTGCCTTGTAAATTTAATAGTTAAGTGACCTC TGCCTAGAGGATGATATTTGGGGAGGTTTGATGTTTCCTGTGGGAATAAGACGATTCACAGGTGAGAGTG GGGCCACATTAGCTGTTATTGTTTCCATGGGTCAGTGTGGAAAATGCATTAATCATATTCTAAACGTTCA TGGGCCTCATTACAGTCACAATTGTCTATTCTGTTTCCTACCCTGAACACATTAAAATGGTAGGAACTAA TGCTTGTCTTATTTAATTACTAAAAGCCACCATTTTCTTTGATAGATTGAGCTACAGATTGTAAACTTCA TGTATTTCTTTATAAGTCAACCCTTTTCAAAGATACGCACATCAAACTGAATGAATAAATAAATATTGAG AAGTTGAAAAAAAAAAAAAAAAA >gi|543583795|ref|NR_104215.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 7, non-coding RNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGATTTGAAAGAAGATAAACCTAGGAAAAGTTTGTTTAATGATGCAGGAAAC AAGAAGAATTCAATTAAAATGTGGTTTAGCCCTCGAAGTAAGAAAGTCAGATATGTTGTGAGTAAAGCTT CAGTGCAAACCCAGCCTGCAATAAAAAAAGATGCAAGTGCTCAGCAAGACTCATATGAATTTGTTTCCCC AAGTCCTCCTGCAGATGTTTCTGAGAGGGCTAAAAAGGCTTCTGCAAGATCTGGAAAAAAGCAAAAAAAG AAAACTTTAGCTGAAATCAACCAAAAATGGAATTTAGAGGCAGAAAAAGAAGATGGTGAATTTGACTCCA AAGAGGAATCTAAGCAAAAGCTGGTATCCTTCTGTAGCCAACCATCTGTTATCTCCAGTCCTCAGATAAA TGGTGAAATAGACTTACTAGCAAGTGGCTCCTTGACAGAATCTGAATGTTTTGGAAGTTTAACTGAAGTC TCTTTACCATTGGCTGAGCAAATAGAGTCTCCAGACACTAAGAGCAGGAATGAAGTAGTGACTCCTGAGA AGGTCTGCAAAAATTATCTTACATCTAAGAAATCTTTGCCATTAGAAAATAATGGAAAACGTGGCCATCA CAATAGACTTTCCAGTCCCATTTCTAAGAGATGTAGAACCAGCATTCTGAGCACCAGTGGAGATTTTGTT AAGCAAACGGTGCCCTCAGAAAATATACCATTGCCTGAATGTTCTTCACCACCTTCATGCAAACGTAAAG TTGGTGGTACATCAGGGAGGAAAAACAGTAACATGTCCGATGAATTCATTAGTCTTTCACCAGGTACACC ACCTTCTACATTAAGTAGTTCAAGTTACAGGCGAGTGATGTCTAGTCCCTCAGCAATGAAGCTGTTGCCC AATATGGCTGTGAAAAGAAATCATAGAGGAGAGACTTTGCTCCATATTGCTTCTATTAAGGGCGACATAC CTTCTGTTGAATACCTTTTACAAAATGGAAGTGATCCAAATGTTAAAGACCATGCTGGATGGACACCATT GCATGAAGCTTGCAATCATGGGCACCTGAAGGTAGTGGAATTATTGCTCCAGCATAAGGCATTGGTGAAC ACCACCGGGTATCAAAATGACTCACCACTTCACGATGCAGCCAAGAATGGGCATGTGGATATAGTCAAGC TGTTACTTTCCTATGGAGCCTCCAGAAATGCTGTTAATATATTTGGTCTGCGGCCTGTCGATTATACAGA TGATGAAAGTATGAAATCGCTATTGCTGCTACCAGAGAAGAATGAATCATCCTCAGCTAGCCACTGCTCA GTAATGAACACTGGGCAGCGTAGGGATGGACCTCTTGTACTTATAGGCAGTGGGCTGTCTTCAGAACAAC AGAAAATGCTCAGTGAGCTTGCAGTAATTCTTAAGGCTAAAAAATATACTGAGTTTGACAGTACAGTAAC TCATGTTGTTGTTCCTGGTGATGCAGTTCAAAGTACCTTGAAGTGTATGCTTGGGATTCTCAATGGATGC TGGATTCTAAAATTTGAATGGGTAAAAGCATGTCTACGAAGAAAAGTATGTGAACAGGAAGAAAAGTATG AAATTCCTGAAGGTCCACGCAGAAGCAGGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTTTGATGGATG CTACTTCTATTTGTGGGGAACCTTCAAACACCATCCAAAGGACAACCTTATTAAGCTCGTCACTGCAGGT GGGGGCCAGATCCTCAGTAGAAAGCCCAAGCCAGACAGTGACGTGACTCAGACCATCAATACAGTCGCAT ACCATGCGAGACCCGATTCTGATCAGCGCTTCTGCACACAGTATATCATCTATGAAGATTTGTGTAATTA TCACCCAGAGAGGGTTCGGCAGGGCAAAGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGACTGTGTGATG TCCTTTGAGTTGCTTCCTCTTGACAGCTGAATATTATACCAGATGAACATTTCAAATTGAATTTGCACGG TTTGTGAGAGCCCAGTCATTGTACTGTTTTTAATGTTCACATTTTTACAAATAGGTAGAGTCATTCATAT TTGTCTTTGAATCAAAAAAAAAAAAAAAGTCTAATGCCAGATTAGGAATTCATGTTATGTTTACCATTTA GAAGCTGGGATTGCTTTTAAAGGTTTTTCTTTTTAAAATTGGCATGTTTTTGATTTATCATGTCTTTCTA TTCAGATTATTGGGTATCAAAGATTAATGAGGACACCAGAATCTTGGTTAAATAGACAAGTGGTATCATT ACTGTTTGAGTCTTTTAATATTCTCCATACCTGCCACCAGTGAAAAAACTTGCCTTTTTTTTTTTTTTTT TTTTAGTAAACAGAATATTATCAAACAATTTATTTTGGCTTTATTGAAAAAAGAGTATTTGGTCTAAATG TGCCACCATAGGTGTTAAATTCTCCTATCTGCAATTGTCTTTATCCTATATTGTGTTCATTTCTTTTCTT AATAATTTACTTTGTTGTGTGTTTCTACACTTTCATCCCTGTTTTTTATCTTGTATATCATCAGGAAATT GTGATTTAATCATTAACATTGGTTTTTTTGTGTGTGTGGTAAAAATCAACACTAGGCTCATGGTACATAT TTTTATTCTGTACATTTGCTTGTAACTATCAATTTGTAACTCTGTTTATCTACTACATGTGTATATATAC TTAGAGCATTTTCTCTAACACATTTTAATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTAGCAAATTGT CAGTCCAACGTCATTACTTTAAATTAAGAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTATTTGTAAAAT AATTTTGAAGGTCTTAATTTCTTCCTTTGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAGGTTGGCATG GAGGCAGAAGTTGGTGATTACTTGATTTACAACAGATTTTTTCCAGATCATACAAAAGGCCATACAGTAA GTATAGAAGTAGGTATGGGGAGGGCTTACTAATATCAAATAGGCAAGGCCTTAGTGAGTGGGCAGGATAC CACCTGAGAGTGGCCAGATGTGGGGAGGTTACTCTGCTCTGGGTGCTCTCATTCATGAATCGACAAGGAT ACATTAGATTATTTTGAAACATTTTTTTAAGAAGCAGAATTCTTTAATAATTCCTTCCTAGACATTGAAT ATACTTATAAAATTAAAGACTTGGGGAAGGAGACACTGAGAGACTTGCCAGTTTGGTTCCTCATGAACAA AAGAGGACAGTTTGATAACTACCAGAATAGAATATCCCTAGTTTTAAAATAGTGAGAATCTCTGAAGTTC ATCAACATCTTAAGATGCACTTACTTGAAAGTTTGAGATTCTGTTTATCATTTGAAAACACATTTTGCTT TAATTCTTTCTTTGACATGTTGTTTTTTCATATCAAGAAATATATGAACAAAATAATAACCTTTTGACCC TGACCTTGCTGGGTGAATTAGCTCTGAAACACTCTCTACAACCAGTAATGCATTTGTCCCACATTTCATT CTGATAGAAAATGAACACCATAGCACCAAACAAAAATCCGAGGCGTTAGATAATGTCTGGATTAAATAAT TTAAGACTCTCTAGGATTTTGGTTGTCATTTTTTATTTATAACAGACTTTAAGTCACTTTCTGTTGCCTC ATAGGTCACATTTTAGACAGGTTTGTGTCTGTTCCTTGCATCTGAATTCCTGATTGTAAAGACACCTATG AGGTCTCTTAGTTTTTGTCATTCATTTTCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGTTTTTCCCTG ACTGTTAAGCAGTTTCATCTTTGCTTTTGTTAAATATTTGACAGCAGTTAGTTTGTGTTAAGCTCTTGAA ACTTGTGATTGTACTTTCTGTGTAGATATACATGTAATTATTTTTTATTTTTCAATCATAGATTCAAGCT TCCTTCTTTTTTACCACAAATCATTAAAGTTATTTGTGTTTCCATATACCTGTGTCTTGTATAAAATTGG CTTATTCTGTGCTGTTGAATGAGGCTCAACATGACTTGGTGAGGAAGTCTATTAACTAACAAAAGCTTAT CTTTTTTAACATAATGCTTTTTAATTAATTTTGAATAAAAATATTTCTAAAGTGTACTAGATACTTTATT ACCTTAGATTATTCCGAATACAGTATAACTTTGATAGTTTGGAATAGTCATTAAGAAACAATTACACACT GATTGCTTTGTGTCTCTAAAAGTGAGAGGCTGGTAGCTTTTCCACATTCTCATGGCTATTTTCTAGTTCT ACTTGAATTTATAACTGTTTCCCTTTTTCCTTGACAGCTGCCACTTTGTAGCTATTTTTCTGTCTCTGCT AATACTTTACCATATCTATCTCAATTGTTTTTTCTTTTGACTTGCTGAAAAATAGAAACCAGATGGGAAG TATATTAGCATTATGATTGAAATAAGGGTAAATGAGCAATGTGTGAAGGTTTTCACTGACTTCACCTAAA AGATAGTTTAGCTACTTGAATTTTAGTAAATAGAATTTTTCCTTTATTTCATCGGTCCCCCCACCTTTTT TTTTTTTTGCACCTGCCTTGTAAATTTAATAGTTAAGTGACCTCTGCCTAGAGGATGATATTTGGGGAGG TTTGATGTTTCCTGTGGGAATAAGACGATTCACAGGTGAGAGTGGGGCCACATTAGCTGTTATTGTTTCC ATGGGTCAGTGTGGAAAATGCATTAATCATATTCTAAACGTTCATGGGCCTCATTACAGTCACAATTGTC TATTCTGTTTCCTACCCTGAACACATTAAAATGGTAGGAACTAATGCTTGTCTTATTTAATTACTAAAAG CCACCATTTTCTTTGATAGATTGAGCTACAGATTGTAAACTTCATGTATTTCTTTATAAGTCAACCCTTT TCAAAGATACGCACATCAAACTGAATGAATAAATAAATATTGAGAAGTTGAAAAAAAAAAAAAAAAA >gi|543583794|ref|NR_104212.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 6, non-coding RNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTACTAACATTCTGAGAGAGCCTGTGTGTTTAGGAGGATGTGAGCACATCT TCTGTAGATTTGAAAGAAGATAAACCTAGGAAAAGTTTGTTTAATGATGCAGGAAACAAGAAGAATTCAA TTAAAATGTGGTTTAGCCCTCGAAGTAAGAAAGTCAGATATGTTGTGAGTAAAGCTTCAGTGCAAACCCA GCCTGCAATAAAAAAAGATGCAAGTGCTCAGCAAGACTCATATGAATTTGTTTCCCCAAGTCCTCCTGCA GATGTTTCTGAGAGGGCTAAAAAGGCTTCTGCAAGATCTGGAAAAAAGCAAAAAAAGAAAACTTTAGCTG AAATCAACCAAAAATGGAATTTAGAGGCAGAAAAAGAAGATGGTGAATTTGACTCCAAAGAGGAATCTAA GCAAAAGCTGGTATCCTTCTGTAGCCAACCATCTGTTATCTCCAGTCCTCAGATAAATGGTGAAATAGAC TTACTAGCAAGTGGCTCCTTGACAGAATCTGAATGTTTTGGAAGTTTAACTGAAGTCTCTTTACCATTGG CTGAGCAAATAGAGTCTCCAGACACTAAGAGCAGGAATGAAGTAGTGACTCCTGAGAAGGTCTGCAAAAA TTATCTTACATCTAAGAAATCTTTGCCATTAGAAAATAATGGAAAACGTGGCCATCACAATAGACTTTCC AGTCCCATTTCTAAGAGATGTAGAACCAGCATTCTGAGCACCAGTGGAGATTTTGTTAAGCAAACGGTGC CCTCAGAAAATATACCATTGCCTGAATGTTCTTCACCACCTTCATGCAAACGTAAAGTTGGTGGTACATC AGGGAGGAAAAACAGTAACATGTCCGATGAATTCATTAGTCTTTCACCAGGTACACCACCTTCTACATTA AGTAGTTCAAGTTACAGGCGAGTGATGTCTAGTCCCTCAGCAATGAAGCTGTTGCCCAATATGGCTGTGA AAAGAAATCATAGAGGAGAGACTTTGCTCCATATTGCTTCTATTAAGGGCGACATACCTTCTGTTGAATA CCTTTTACAAAATGGAAGTGATCCAAATGTTAAAGACCATGCTGGATGGACACCATTGCATGAAGCTTGC AATCATGGGCACCTGAAGGTAGTGGAATTATTGCTCCAGCATAAGGCATTGGTGAACACCACCGGGTATC AAAATGACTCACCACTTCACGATGCAGCCAAGAATGGGCATGTGGATATAGTCAAGCTGTTACTTTCCTA TGGAGCCTCCAGAAATGCTGTTAATATATTTGGTCTGCGGCCTGTCGATTATACAGATGATGAAAGTATG AAATCGCTATTGCTGCTACCAGAGAAGAATGAATCATCCTCAGCTAGCCACTGCTCAGTAATGAACACTG GGCAGCGTAGGGATGGACCTCTTGTACTTATAGGCAGTGGGCTGTCTTCAGAACAACAGAAAATGCTCAG TGAGCTTGCAGTAATTCTTAAGGCTAAAAAATATACTGAGTTTGACAGTACAGTAACTCATGTTGTTGTT CCTGGTGATGCAGTTCAAAGTACCTTGAAGTGTATGCTTGGGATTCTCAATGGATGCTGGATTCTAAAAT TTGAATGGGTAAAAGCATGTCTACGAAGAAAAGTATGTGAACAGGAAGAAAAGTATGAAATTCCTGAAGG TCCACGCAGAAGCAGGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTTTGATGGATGCTACTTCTATTTG TGGGGAACCTTCAAACACCATCCAAAGGACAACCTTATTAAGCTCGTCACTGCAGGTGGGGGCCAGATCC TCAGTAGAAAGCCCAAGCCAGACAGTGACGTGACTCAGACCATCAATACAGTCGCATACCATGCGAGACC CGATTCTGATCAGCGCTTCTGCACACAGTATATCATCTATGAAGATTTGTGTAATTATCACCCAGAGAGG GTTCGGCAGGGCAAAGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGACTGTGTGATGTCCTTTGAGTTGC TTCCTCTTGACAGCTGAATATTATACCAGATGAACATTTCAAATTGAATTTGCACGGTTTGTGAGAGCCC AGTCATTGTACTGTTTTTAATGTTCACATTTTTACAAATAGGTAGAGTCATTCATATTTGTCTTTGAATC AAAAAAAAAAAAAAAGTCTAATGCCAGATTAGGAATTCATGTTATGTTTACCATTTAGAAGCTGGGATTG CTTTTAAAGGTTTTTCTTTTTAAAATTGGCATGTTTTTGATTTATCATGTCTTTCTATTCAGATTATTGG GTATCAAAGATTAATGAGGACACCAGAATCTTGGTTAAATAGACAAGTGGTATCATTACTGTTTGAGTCT TTTAATATTCTCCATACCTGCCACCAGTGAAAAAACTTGCCTTTTTTTTTTTTTTTTTTTTAGTAAACAG AATATTATCAAACAATTTATTTTGGCTTTATTGAAAAAAGAGTATTTGGTCTAAATGTGCCACCATAGGT GTTAAATTCTCCTATCTGCAATTGTCTTTATCCTATATTGTGTTCATTTCTTTTCTTAATAATTTACTTT GTTGTGTGTTTCTACACTTTCATCCCTGTTTTTTATCTTGTATATCATCAGGAAATTGTGATTTAATCAT TAACATTGGTTTTTTTGTGTGTGTGGTAAAAATCAACACTAGGCTCATGGTACATATTTTTATTCTGTAC ATTTGCTTGTAACTATCAATTTGTAACTCTGTTTATCTACTACATGTGTATATATACTTAGAGCATTTTC TCTAACACATTTTAATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTAGCAAATTGTCAGTCCAACGTCA TTACTTTAAATTAAGAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTATTTGTAAAATAATTTTGAAGGTC TTAATTTCTTCCTTTGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAGGTTGGCATGGAGGCAGAAGTTG GTGATTACTTGATTTACAACAGATTTTTTCCAGATCATACAAAAGGCCATACAGTAAGTATAGAAGTAGG TATGGGGAGGGCTTACTAATATCAAATAGGCAAGGCCTTAGTGAGTGGGCAGGATACCACCTGAGAGTGG CCAGATGTGGGGAGGTTACTCTGCTCTGGGTGCTCTCATTCATGAATCGACAAGGATACATTAGATTATT TTGAAACATTTTTTTAAGAAGCAGAATTCTTTAATAATTCCTTCCTAGACATTGAATATACTTATAAAAT TAAAGACTTGGGGAAGGAGACACTGAGAGACTTGCCAGTTTGGTTCCTCATGAACAAAAGAGGACAGTTT GATAACTACCAGAATAGAATATCCCTAGTTTTAAAATAGTGAGAATCTCTGAAGTTCATCAACATCTTAA GATGCACTTACTTGAAAGTTTGAGATTCTGTTTATCATTTGAAAACACATTTTGCTTTAATTCTTTCTTT GACATGTTGTTTTTTCATATCAAGAAATATATGAACAAAATAATAACCTTTTGACCCTGACCTTGCTGGG TGAATTAGCTCTGAAACACTCTCTACAACCAGTAATGCATTTGTCCCACATTTCATTCTGATAGAAAATG AACACCATAGCACCAAACAAAAATCCGAGGCGTTAGATAATGTCTGGATTAAATAATTTAAGACTCTCTA GGATTTTGGTTGTCATTTTTTATTTATAACAGACTTTAAGTCACTTTCTGTTGCCTCATAGGTCACATTT TAGACAGGTTTGTGTCTGTTCCTTGCATCTGAATTCCTGATTGTAAAGACACCTATGAGGTCTCTTAGTT TTTGTCATTCATTTTCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGTTTTTCCCTGACTGTTAAGCAGT TTCATCTTTGCTTTTGTTAAATATTTGACAGCAGTTAGTTTGTGTTAAGCTCTTGAAACTTGTGATTGTA CTTTCTGTGTAGATATACATGTAATTATTTTTTATTTTTCAATCATAGATTCAAGCTTCCTTCTTTTTTA CCACAAATCATTAAAGTTATTTGTGTTTCCATATACCTGTGTCTTGTATAAAATTGGCTTATTCTGTGCT GTTGAATGAGGCTCAACATGACTTGGTGAGGAAGTCTATTAACTAACAAAAGCTTATCTTTTTTAACATA ATGCTTTTTAATTAATTTTGAATAAAAATATTTCTAAAGTGTACTAGATACTTTATTACCTTAGATTATT CCGAATACAGTATAACTTTGATAGTTTGGAATAGTCATTAAGAAACAATTACACACTGATTGCTTTGTGT CTCTAAAAGTGAGAGGCTGGTAGCTTTTCCACATTCTCATGGCTATTTTCTAGTTCTACTTGAATTTATA ACTGTTTCCCTTTTTCCTTGACAGCTGCCACTTTGTAGCTATTTTTCTGTCTCTGCTAATACTTTACCAT ATCTATCTCAATTGTTTTTTCTTTTGACTTGCTGAAAAATAGAAACCAGATGGGAAGTATATTAGCATTA TGATTGAAATAAGGGTAAATGAGCAATGTGTGAAGGTTTTCACTGACTTCACCTAAAAGATAGTTTAGCT ACTTGAATTTTAGTAAATAGAATTTTTCCTTTATTTCATCGGTCCCCCCACCTTTTTTTTTTTTTGCACC TGCCTTGTAAATTTAATAGTTAAGTGACCTCTGCCTAGAGGATGATATTTGGGGAGGTTTGATGTTTCCT GTGGGAATAAGACGATTCACAGGTGAGAGTGGGGCCACATTAGCTGTTATTGTTTCCATGGGTCAGTGTG GAAAATGCATTAATCATATTCTAAACGTTCATGGGCCTCATTACAGTCACAATTGTCTATTCTGTTTCCT ACCCTGAACACATTAAAATGGTAGGAACTAATGCTTGTCTTATTTAATTACTAAAAGCCACCATTTTCTT TGATAGATTGAGCTACAGATTGTAAACTTCATGTATTTCTTTATAAGTCAACCCTTTTCAAAGATACGCA CATCAAACTGAATGAATAAATAAATATTGAGAAGTTGAAAAAAAAAAAAAAAAA >gi|543583788|ref|NM_001282545.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 3, mRNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTACTAACATTCTGAGAGAGCCTGTGTGTTTAGGAGGATGTGAGCACATCT TCTGTAGTAATATATTTGGTCTGCGGCCTGTCGATTATACAGATGATGAAAGTATGAAATCGCTATTGCT GCTACCAGAGAAGAATGAATCATCCTCAGCTAGCCACTGCTCAGTAATGAACACTGGGCAGCGTAGGGAT GGACCTCTTGTACTTATAGGCAGTGGGCTGTCTTCAGAACAACAGAAAATGCTCAGTGAGCTTGCAGTAA TTCTTAAGGCTAAAAAATATACTGAGTTTGACAGTACAGTAACTCATGTTGTTGTTCCTGGTGATGCAGT TCAAAGTACCTTGAAGTGTATGCTTGGGATTCTCAATGGATGCTGGATTCTAAAATTTGAATGGGTAAAA GCATGTCTACGAAGAAAAGTATGTGAACAGGAAGAAAAGTATGAAATTCCTGAAGGTCCACGCAGAAGCA GGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTTTGATGGATGCTACTTCTATTTGTGGGGAACCTTCAA ACACCATCCAAAGGACAACCTTATTAAGCTCGTCACTGCAGGTGGGGGCCAGATCCTCAGTAGAAAGCCC AAGCCAGACAGTGACGTGACTCAGACCATCAATACAGTCGCATACCATGCGAGACCCGATTCTGATCAGC GCTTCTGCACACAGTATATCATCTATGAAGATTTGTGTAATTATCACCCAGAGAGGGTTCGGCAGGGCAA AGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGACTGTGTGATGTCCTTTGAGTTGCTTCCTCTTGACAGC TGAATATTATACCAGATGAACATTTCAAATTGAATTTGCACGGTTTGTGAGAGCCCAGTCATTGTACTGT TTTTAATGTTCACATTTTTACAAATAGGTAGAGTCATTCATATTTGTCTTTGAATCAAAAAAAAAAAAAA AGTCTAATGCCAGATTAGGAATTCATGTTATGTTTACCATTTAGAAGCTGGGATTGCTTTTAAAGGTTTT TCTTTTTAAAATTGGCATGTTTTTGATTTATCATGTCTTTCTATTCAGATTATTGGGTATCAAAGATTAA TGAGGACACCAGAATCTTGGTTAAATAGACAAGTGGTATCATTACTGTTTGAGTCTTTTAATATTCTCCA TACCTGCCACCAGTGAAAAAACTTGCCTTTTTTTTTTTTTTTTTTTTAGTAAACAGAATATTATCAAACA ATTTATTTTGGCTTTATTGAAAAAAGAGTATTTGGTCTAAATGTGCCACCATAGGTGTTAAATTCTCCTA TCTGCAATTGTCTTTATCCTATATTGTGTTCATTTCTTTTCTTAATAATTTACTTTGTTGTGTGTTTCTA CACTTTCATCCCTGTTTTTTATCTTGTATATCATCAGGAAATTGTGATTTAATCATTAACATTGGTTTTT TTGTGTGTGTGGTAAAAATCAACACTAGGCTCATGGTACATATTTTTATTCTGTACATTTGCTTGTAACT ATCAATTTGTAACTCTGTTTATCTACTACATGTGTATATATACTTAGAGCATTTTCTCTAACACATTTTA ATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTAGCAAATTGTCAGTCCAACGTCATTACTTTAAATTAA GAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTATTTGTAAAATAATTTTGAAGGTCTTAATTTCTTCCTT TGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAGGTTGGCATGGAGGCAGAAGTTGGTGATTACTTGATT TACAACAGATTTTTTCCAGATCATACAAAAGGCCATACAGTAAGTATAGAAGTAGGTATGGGGAGGGCTT ACTAATATCAAATAGGCAAGGCCTTAGTGAGTGGGCAGGATACCACCTGAGAGTGGCCAGATGTGGGGAG GTTACTCTGCTCTGGGTGCTCTCATTCATGAATCGACAAGGATACATTAGATTATTTTGAAACATTTTTT TAAGAAGCAGAATTCTTTAATAATTCCTTCCTAGACATTGAATATACTTATAAAATTAAAGACTTGGGGA AGGAGACACTGAGAGACTTGCCAGTTTGGTTCCTCATGAACAAAAGAGGACAGTTTGATAACTACCAGAA TAGAATATCCCTAGTTTTAAAATAGTGAGAATCTCTGAAGTTCATCAACATCTTAAGATGCACTTACTTG AAAGTTTGAGATTCTGTTTATCATTTGAAAACACATTTTGCTTTAATTCTTTCTTTGACATGTTGTTTTT TCATATCAAGAAATATATGAACAAAATAATAACCTTTTGACCCTGACCTTGCTGGGTGAATTAGCTCTGA AACACTCTCTACAACCAGTAATGCATTTGTCCCACATTTCATTCTGATAGAAAATGAACACCATAGCACC AAACAAAAATCCGAGGCGTTAGATAATGTCTGGATTAAATAATTTAAGACTCTCTAGGATTTTGGTTGTC ATTTTTTATTTATAACAGACTTTAAGTCACTTTCTGTTGCCTCATAGGTCACATTTTAGACAGGTTTGTG TCTGTTCCTTGCATCTGAATTCCTGATTGTAAAGACACCTATGAGGTCTCTTAGTTTTTGTCATTCATTT TCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGTTTTTCCCTGACTGTTAAGCAGTTTCATCTTTGCTTT TGTTAAATATTTGACAGCAGTTAGTTTGTGTTAAGCTCTTGAAACTTGTGATTGTACTTTCTGTGTAGAT ATACATGTAATTATTTTTTATTTTTCAATCATAGATTCAAGCTTCCTTCTTTTTTACCACAAATCATTAA AGTTATTTGTGTTTCCATATACCTGTGTCTTGTATAAAATTGGCTTATTCTGTGCTGTTGAATGAGGCTC AACATGACTTGGTGAGGAAGTCTATTAACTAACAAAAGCTTATCTTTTTTAACATAATGCTTTTTAATTA ATTTTGAATAAAAATATTTCTAAAGTGTACTAGATACTTTATTACCTTAGATTATTCCGAATACAGTATA ACTTTGATAGTTTGGAATAGTCATTAAGAAACAATTACACACTGATTGCTTTGTGTCTCTAAAAGTGAGA GGCTGGTAGCTTTTCCACATTCTCATGGCTATTTTCTAGTTCTACTTGAATTTATAACTGTTTCCCTTTT TCCTTGACAGCTGCCACTTTGTAGCTATTTTTCTGTCTCTGCTAATACTTTACCATATCTATCTCAATTG TTTTTTCTTTTGACTTGCTGAAAAATAGAAACCAGATGGGAAGTATATTAGCATTATGATTGAAATAAGG GTAAATGAGCAATGTGTGAAGGTTTTCACTGACTTCACCTAAAAGATAGTTTAGCTACTTGAATTTTAGT AAATAGAATTTTTCCTTTATTTCATCGGTCCCCCCACCTTTTTTTTTTTTTGCACCTGCCTTGTAAATTT AATAGTTAAGTGACCTCTGCCTAGAGGATGATATTTGGGGAGGTTTGATGTTTCCTGTGGGAATAAGACG ATTCACAGGTGAGAGTGGGGCCACATTAGCTGTTATTGTTTCCATGGGTCAGTGTGGAAAATGCATTAAT CATATTCTAAACGTTCATGGGCCTCATTACAGTCACAATTGTCTATTCTGTTTCCTACCCTGAACACATT AAAATGGTAGGAACTAATGCTTGTCTTATTTAATTACTAAAAGCCACCATTTTCTTTGATAGATTGAGCT ACAGATTGTAAACTTCATGTATTTCTTTATAAGTCAACCCTTTTCAAAGATACGCACATCAAACTGAATG AATAAATAAATATTGAGAAGTTGAAAAAAAAAAAAAAAAA >gi|543583786|ref|NM_001282543.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 2, mRNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTAATTGTGTAAGTGACTGCATTGGAACTGGATGTCCAGTGTGTTACACCC CGGCCTGGATACAAGACTTGAAGATAAATAGACAACTGGACAGCATGATTCAACTTTGTAGTAAGCTTCG AAATTTGCTACATGACAATGAGCTGTCAGATTTGAAAGAAGATAAACCTAGGAAAAGTTTGTTTAATGAT GCAGGAAACAAGAAGAATTCAATTAAAATGTGGTTTAGCCCTCGAAGTAAGAAAGTCAGATATGTTGTGA GTAAAGCTTCAGTGCAAACCCAGCCTGCAATAAAAAAAGATGCAAGTGCTCAGCAAGACTCATATGAATT TGTTTCCCCAAGTCCTCCTGCAGATGTTTCTGAGAGGGCTAAAAAGGCTTCTGCAAGATCTGGAAAAAAG CAAAAAAAGAAAACTTTAGCTGAAATCAACCAAAAATGGAATTTAGAGGCAGAAAAAGAAGATGGTGAAT TTGACTCCAAAGAGGAATCTAAGCAAAAGCTGGTATCCTTCTGTAGCCAACCATCTGTTATCTCCAGTCC TCAGATAAATGGTGAAATAGACTTACTAGCAAGTGGCTCCTTGACAGAATCTGAATGTTTTGGAAGTTTA ACTGAAGTCTCTTTACCATTGGCTGAGCAAATAGAGTCTCCAGACACTAAGAGCAGGAATGAAGTAGTGA CTCCTGAGAAGGTCTGCAAAAATTATCTTACATCTAAGAAATCTTTGCCATTAGAAAATAATGGAAAACG TGGCCATCACAATAGACTTTCCAGTCCCATTTCTAAGAGATGTAGAACCAGCATTCTGAGCACCAGTGGA GATTTTGTTAAGCAAACGGTGCCCTCAGAAAATATACCATTGCCTGAATGTTCTTCACCACCTTCATGCA AACGTAAAGTTGGTGGTACATCAGGGAGGAAAAACAGTAACATGTCCGATGAATTCATTAGTCTTTCACC AGGTACACCACCTTCTACATTAAGTAGTTCAAGTTACAGGCGAGTGATGTCTAGTCCCTCAGCAATGAAG CTGTTGCCCAATATGGCTGTGAAAAGAAATCATAGAGGAGAGACTTTGCTCCATATTGCTTCTATTAAGG GCGACATACCTTCTGTTGAATACCTTTTACAAAATGGAAGTGATCCAAATGTTAAAGACCATGCTGGATG GACACCATTGCATGAAGCTTGCAATCATGGGCACCTGAAGGTAGTGGAATTATTGCTCCAGCATAAGGCA TTGGTGAACACCACCGGGTATCAAAATGACTCACCACTTCACGATGCAGCCAAGAATGGGCATGTGGATA TAGTCAAGCTGTTACTTTCCTATGGAGCCTCCAGAAATGCTGTTAATATATTTGGTCTGCGGCCTGTCGA TTATACAGATGATGAAAGTATGAAATCGCTATTGCTGCTACCAGAGAAGAATGAATCATCCTCAGCTAGC CACTGCTCAGTAATGAACACTGGGCAGCGTAGGGATGGACCTCTTGTACTTATAGGCAGTGGGCTGTCTT CAGAACAACAGAAAATGCTCAGTGAGCTTGCAGTAATTCTTAAGGCTAAAAAATATACTGAGTTTGACAG TACAGTAACTCATGTTGTTGTTCCTGGTGATGCAGTTCAAAGTACCTTGAAGTGTATGCTTGGGATTCTC AATGGATGCTGGATTCTAAAATTTGAATGGGTAAAAGCATGTCTACGAAGAAAAGTATGTGAACAGGAAG AAAAGTATGAAATTCCTGAAGGTCCACGCAGAAGCAGGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTT TGATGGATGCTACTTCTATTTGTGGGGAACCTTCAAACACCATCCAAAGGACAACCTTATTAAGCTCGTC ACTGCAGGTGGGGGCCAGATCCTCAGTAGAAAGCCCAAGCCAGACAGTGACGTGACTCAGACCATCAATA CAGTCGCATACCATGCGAGACCCGATTCTGATCAGCGCTTCTGCACACAGTATATCATCTATGAAGATTT GTGTAATTATCACCCAGAGAGGGTTCGGCAGGGCAAAGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGAC TGTGTGATGTCCTTTGAGTTGCTTCCTCTTGACAGCTGAATATTATACCAGATGAACATTTCAAATTGAA TTTGCACGGTTTGTGAGAGCCCAGTCATTGTACTGTTTTTAATGTTCACATTTTTACAAATAGGTAGAGT CATTCATATTTGTCTTTGAATCAAAAAAAAAAAAAAAGTCTAATGCCAGATTAGGAATTCATGTTATGTT TACCATTTAGAAGCTGGGATTGCTTTTAAAGGTTTTTCTTTTTAAAATTGGCATGTTTTTGATTTATCAT GTCTTTCTATTCAGATTATTGGGTATCAAAGATTAATGAGGACACCAGAATCTTGGTTAAATAGACAAGT GGTATCATTACTGTTTGAGTCTTTTAATATTCTCCATACCTGCCACCAGTGAAAAAACTTGCCTTTTTTT TTTTTTTTTTTTTAGTAAACAGAATATTATCAAACAATTTATTTTGGCTTTATTGAAAAAAGAGTATTTG GTCTAAATGTGCCACCATAGGTGTTAAATTCTCCTATCTGCAATTGTCTTTATCCTATATTGTGTTCATT TCTTTTCTTAATAATTTACTTTGTTGTGTGTTTCTACACTTTCATCCCTGTTTTTTATCTTGTATATCAT CAGGAAATTGTGATTTAATCATTAACATTGGTTTTTTTGTGTGTGTGGTAAAAATCAACACTAGGCTCAT GGTACATATTTTTATTCTGTACATTTGCTTGTAACTATCAATTTGTAACTCTGTTTATCTACTACATGTG TATATATACTTAGAGCATTTTCTCTAACACATTTTAATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTA GCAAATTGTCAGTCCAACGTCATTACTTTAAATTAAGAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTAT TTGTAAAATAATTTTGAAGGTCTTAATTTCTTCCTTTGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAG GTTGGCATGGAGGCAGAAGTTGGTGATTACTTGATTTACAACAGATTTTTTCCAGATCATACAAAAGGCC ATACAGTAAGTATAGAAGTAGGTATGGGGAGGGCTTACTAATATCAAATAGGCAAGGCCTTAGTGAGTGG GCAGGATACCACCTGAGAGTGGCCAGATGTGGGGAGGTTACTCTGCTCTGGGTGCTCTCATTCATGAATC GACAAGGATACATTAGATTATTTTGAAACATTTTTTTAAGAAGCAGAATTCTTTAATAATTCCTTCCTAG ACATTGAATATACTTATAAAATTAAAGACTTGGGGAAGGAGACACTGAGAGACTTGCCAGTTTGGTTCCT CATGAACAAAAGAGGACAGTTTGATAACTACCAGAATAGAATATCCCTAGTTTTAAAATAGTGAGAATCT CTGAAGTTCATCAACATCTTAAGATGCACTTACTTGAAAGTTTGAGATTCTGTTTATCATTTGAAAACAC ATTTTGCTTTAATTCTTTCTTTGACATGTTGTTTTTTCATATCAAGAAATATATGAACAAAATAATAACC TTTTGACCCTGACCTTGCTGGGTGAATTAGCTCTGAAACACTCTCTACAACCAGTAATGCATTTGTCCCA CATTTCATTCTGATAGAAAATGAACACCATAGCACCAAACAAAAATCCGAGGCGTTAGATAATGTCTGGA TTAAATAATTTAAGACTCTCTAGGATTTTGGTTGTCATTTTTTATTTATAACAGACTTTAAGTCACTTTC TGTTGCCTCATAGGTCACATTTTAGACAGGTTTGTGTCTGTTCCTTGCATCTGAATTCCTGATTGTAAAG ACACCTATGAGGTCTCTTAGTTTTTGTCATTCATTTTCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGT TTTTCCCTGACTGTTAAGCAGTTTCATCTTTGCTTTTGTTAAATATTTGACAGCAGTTAGTTTGTGTTAA GCTCTTGAAACTTGTGATTGTACTTTCTGTGTAGATATACATGTAATTATTTTTTATTTTTCAATCATAG ATTCAAGCTTCCTTCTTTTTTACCACAAATCATTAAAGTTATTTGTGTTTCCATATACCTGTGTCTTGTA TAAAATTGGCTTATTCTGTGCTGTTGAATGAGGCTCAACATGACTTGGTGAGGAAGTCTATTAACTAACA AAAGCTTATCTTTTTTAACATAATGCTTTTTAATTAATTTTGAATAAAAATATTTCTAAAGTGTACTAGA TACTTTATTACCTTAGATTATTCCGAATACAGTATAACTTTGATAGTTTGGAATAGTCATTAAGAAACAA TTACACACTGATTGCTTTGTGTCTCTAAAAGTGAGAGGCTGGTAGCTTTTCCACATTCTCATGGCTATTT TCTAGTTCTACTTGAATTTATAACTGTTTCCCTTTTTCCTTGACAGCTGCCACTTTGTAGCTATTTTTCT GTCTCTGCTAATACTTTACCATATCTATCTCAATTGTTTTTTCTTTTGACTTGCTGAAAAATAGAAACCA GATGGGAAGTATATTAGCATTATGATTGAAATAAGGGTAAATGAGCAATGTGTGAAGGTTTTCACTGACT TCACCTAAAAGATAGTTTAGCTACTTGAATTTTAGTAAATAGAATTTTTCCTTTATTTCATCGGTCCCCC CACCTTTTTTTTTTTTTGCACCTGCCTTGTAAATTTAATAGTTAAGTGACCTCTGCCTAGAGGATGATAT TTGGGGAGGTTTGATGTTTCCTGTGGGAATAAGACGATTCACAGGTGAGAGTGGGGCCACATTAGCTGTT ATTGTTTCCATGGGTCAGTGTGGAAAATGCATTAATCATATTCTAAACGTTCATGGGCCTCATTACAGTC ACAATTGTCTATTCTGTTTCCTACCCTGAACACATTAAAATGGTAGGAACTAATGCTTGTCTTATTTAAT TACTAAAAGCCACCATTTTCTTTGATAGATTGAGCTACAGATTGTAAACTTCATGTATTTCTTTATAAGT CAACCCTTTTCAAAGATACGCACATCAAACTGAATGAATAAATAAATATTGAGAAGTTGAAAAAAAAAAA AAAAAA >gi|543583785|ref|NM_000465.3| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 1, mRNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTACTAACATTCTGAGAGAGCCTGTGTGTTTAGGAGGATGTGAGCACATCT TCTGTAGTAATTGTGTAAGTGACTGCATTGGAACTGGATGTCCAGTGTGTTACACCCCGGCCTGGATACA AGACTTGAAGATAAATAGACAACTGGACAGCATGATTCAACTTTGTAGTAAGCTTCGAAATTTGCTACAT GACAATGAGCTGTCAGATTTGAAAGAAGATAAACCTAGGAAAAGTTTGTTTAATGATGCAGGAAACAAGA AGAATTCAATTAAAATGTGGTTTAGCCCTCGAAGTAAGAAAGTCAGATATGTTGTGAGTAAAGCTTCAGT GCAAACCCAGCCTGCAATAAAAAAAGATGCAAGTGCTCAGCAAGACTCATATGAATTTGTTTCCCCAAGT CCTCCTGCAGATGTTTCTGAGAGGGCTAAAAAGGCTTCTGCAAGATCTGGAAAAAAGCAAAAAAAGAAAA CTTTAGCTGAAATCAACCAAAAATGGAATTTAGAGGCAGAAAAAGAAGATGGTGAATTTGACTCCAAAGA GGAATCTAAGCAAAAGCTGGTATCCTTCTGTAGCCAACCATCTGTTATCTCCAGTCCTCAGATAAATGGT GAAATAGACTTACTAGCAAGTGGCTCCTTGACAGAATCTGAATGTTTTGGAAGTTTAACTGAAGTCTCTT TACCATTGGCTGAGCAAATAGAGTCTCCAGACACTAAGAGCAGGAATGAAGTAGTGACTCCTGAGAAGGT CTGCAAAAATTATCTTACATCTAAGAAATCTTTGCCATTAGAAAATAATGGAAAACGTGGCCATCACAAT AGACTTTCCAGTCCCATTTCTAAGAGATGTAGAACCAGCATTCTGAGCACCAGTGGAGATTTTGTTAAGC AAACGGTGCCCTCAGAAAATATACCATTGCCTGAATGTTCTTCACCACCTTCATGCAAACGTAAAGTTGG TGGTACATCAGGGAGGAAAAACAGTAACATGTCCGATGAATTCATTAGTCTTTCACCAGGTACACCACCT TCTACATTAAGTAGTTCAAGTTACAGGCGAGTGATGTCTAGTCCCTCAGCAATGAAGCTGTTGCCCAATA TGGCTGTGAAAAGAAATCATAGAGGAGAGACTTTGCTCCATATTGCTTCTATTAAGGGCGACATACCTTC TGTTGAATACCTTTTACAAAATGGAAGTGATCCAAATGTTAAAGACCATGCTGGATGGACACCATTGCAT GAAGCTTGCAATCATGGGCACCTGAAGGTAGTGGAATTATTGCTCCAGCATAAGGCATTGGTGAACACCA CCGGGTATCAAAATGACTCACCACTTCACGATGCAGCCAAGAATGGGCATGTGGATATAGTCAAGCTGTT ACTTTCCTATGGAGCCTCCAGAAATGCTGTTAATATATTTGGTCTGCGGCCTGTCGATTATACAGATGAT GAAAGTATGAAATCGCTATTGCTGCTACCAGAGAAGAATGAATCATCCTCAGCTAGCCACTGCTCAGTAA TGAACACTGGGCAGCGTAGGGATGGACCTCTTGTACTTATAGGCAGTGGGCTGTCTTCAGAACAACAGAA AATGCTCAGTGAGCTTGCAGTAATTCTTAAGGCTAAAAAATATACTGAGTTTGACAGTACAGTAACTCAT GTTGTTGTTCCTGGTGATGCAGTTCAAAGTACCTTGAAGTGTATGCTTGGGATTCTCAATGGATGCTGGA TTCTAAAATTTGAATGGGTAAAAGCATGTCTACGAAGAAAAGTATGTGAACAGGAAGAAAAGTATGAAAT TCCTGAAGGTCCACGCAGAAGCAGGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTTTGATGGATGCTAC TTCTATTTGTGGGGAACCTTCAAACACCATCCAAAGGACAACCTTATTAAGCTCGTCACTGCAGGTGGGG GCCAGATCCTCAGTAGAAAGCCCAAGCCAGACAGTGACGTGACTCAGACCATCAATACAGTCGCATACCA TGCGAGACCCGATTCTGATCAGCGCTTCTGCACACAGTATATCATCTATGAAGATTTGTGTAATTATCAC CCAGAGAGGGTTCGGCAGGGCAAAGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGACTGTGTGATGTCCT TTGAGTTGCTTCCTCTTGACAGCTGAATATTATACCAGATGAACATTTCAAATTGAATTTGCACGGTTTG TGAGAGCCCAGTCATTGTACTGTTTTTAATGTTCACATTTTTACAAATAGGTAGAGTCATTCATATTTGT CTTTGAATCAAAAAAAAAAAAAAAGTCTAATGCCAGATTAGGAATTCATGTTATGTTTACCATTTAGAAG CTGGGATTGCTTTTAAAGGTTTTTCTTTTTAAAATTGGCATGTTTTTGATTTATCATGTCTTTCTATTCA GATTATTGGGTATCAAAGATTAATGAGGACACCAGAATCTTGGTTAAATAGACAAGTGGTATCATTACTG TTTGAGTCTTTTAATATTCTCCATACCTGCCACCAGTGAAAAAACTTGCCTTTTTTTTTTTTTTTTTTTT AGTAAACAGAATATTATCAAACAATTTATTTTGGCTTTATTGAAAAAAGAGTATTTGGTCTAAATGTGCC ACCATAGGTGTTAAATTCTCCTATCTGCAATTGTCTTTATCCTATATTGTGTTCATTTCTTTTCTTAATA ATTTACTTTGTTGTGTGTTTCTACACTTTCATCCCTGTTTTTTATCTTGTATATCATCAGGAAATTGTGA TTTAATCATTAACATTGGTTTTTTTGTGTGTGTGGTAAAAATCAACACTAGGCTCATGGTACATATTTTT ATTCTGTACATTTGCTTGTAACTATCAATTTGTAACTCTGTTTATCTACTACATGTGTATATATACTTAG AGCATTTTCTCTAACACATTTTAATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTAGCAAATTGTCAGT CCAACGTCATTACTTTAAATTAAGAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTATTTGTAAAATAATT TTGAAGGTCTTAATTTCTTCCTTTGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAGGTTGGCATGGAGG CAGAAGTTGGTGATTACTTGATTTACAACAGATTTTTTCCAGATCATACAAAAGGCCATACAGTAAGTAT AGAAGTAGGTATGGGGAGGGCTTACTAATATCAAATAGGCAAGGCCTTAGTGAGTGGGCAGGATACCACC TGAGAGTGGCCAGATGTGGGGAGGTTACTCTGCTCTGGGTGCTCTCATTCATGAATCGACAAGGATACAT TAGATTATTTTGAAACATTTTTTTAAGAAGCAGAATTCTTTAATAATTCCTTCCTAGACATTGAATATAC TTATAAAATTAAAGACTTGGGGAAGGAGACACTGAGAGACTTGCCAGTTTGGTTCCTCATGAACAAAAGA GGACAGTTTGATAACTACCAGAATAGAATATCCCTAGTTTTAAAATAGTGAGAATCTCTGAAGTTCATCA ACATCTTAAGATGCACTTACTTGAAAGTTTGAGATTCTGTTTATCATTTGAAAACACATTTTGCTTTAAT TCTTTCTTTGACATGTTGTTTTTTCATATCAAGAAATATATGAACAAAATAATAACCTTTTGACCCTGAC CTTGCTGGGTGAATTAGCTCTGAAACACTCTCTACAACCAGTAATGCATTTGTCCCACATTTCATTCTGA TAGAAAATGAACACCATAGCACCAAACAAAAATCCGAGGCGTTAGATAATGTCTGGATTAAATAATTTAA GACTCTCTAGGATTTTGGTTGTCATTTTTTATTTATAACAGACTTTAAGTCACTTTCTGTTGCCTCATAG GTCACATTTTAGACAGGTTTGTGTCTGTTCCTTGCATCTGAATTCCTGATTGTAAAGACACCTATGAGGT CTCTTAGTTTTTGTCATTCATTTTCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGTTTTTCCCTGACTG TTAAGCAGTTTCATCTTTGCTTTTGTTAAATATTTGACAGCAGTTAGTTTGTGTTAAGCTCTTGAAACTT GTGATTGTACTTTCTGTGTAGATATACATGTAATTATTTTTTATTTTTCAATCATAGATTCAAGCTTCCT TCTTTTTTACCACAAATCATTAAAGTTATTTGTGTTTCCATATACCTGTGTCTTGTATAAAATTGGCTTA TTCTGTGCTGTTGAATGAGGCTCAACATGACTTGGTGAGGAAGTCTATTAACTAACAAAAGCTTATCTTT TTTAACATAATGCTTTTTAATTAATTTTGAATAAAAATATTTCTAAAGTGTACTAGATACTTTATTACCT TAGATTATTCCGAATACAGTATAACTTTGATAGTTTGGAATAGTCATTAAGAAACAATTACACACTGATT GCTTTGTGTCTCTAAAAGTGAGAGGCTGGTAGCTTTTCCACATTCTCATGGCTATTTTCTAGTTCTACTT GAATTTATAACTGTTTCCCTTTTTCCTTGACAGCTGCCACTTTGTAGCTATTTTTCTGTCTCTGCTAATA CTTTACCATATCTATCTCAATTGTTTTTTCTTTTGACTTGCTGAAAAATAGAAACCAGATGGGAAGTATA TTAGCATTATGATTGAAATAAGGGTAAATGAGCAATGTGTGAAGGTTTTCACTGACTTCACCTAAAAGAT AGTTTAGCTACTTGAATTTTAGTAAATAGAATTTTTCCTTTATTTCATCGGTCCCCCCACCTTTTTTTTT TTTTGCACCTGCCTTGTAAATTTAATAGTTAAGTGACCTCTGCCTAGAGGATGATATTTGGGGAGGTTTG ATGTTTCCTGTGGGAATAAGACGATTCACAGGTGAGAGTGGGGCCACATTAGCTGTTATTGTTTCCATGG GTCAGTGTGGAAAATGCATTAATCATATTCTAAACGTTCATGGGCCTCATTACAGTCACAATTGTCTATT CTGTTTCCTACCCTGAACACATTAAAATGGTAGGAACTAATGCTTGTCTTATTTAATTACTAAAAGCCAC CATTTTCTTTGATAGATTGAGCTACAGATTGTAAACTTCATGTATTTCTTTATAAGTCAACCCTTTTCAA AGATACGCACATCAAACTGAATGAATAAATAAATATTGAGAAGTTGAAAAAAAAAAAAAAAAA >gi|543583740|ref|NM_001282549.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 5, mRNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTACTAACATTCTGAGAGAGCCTGTGTGTTTAGGAGGATGTGAGCACATCT TCTGTAGTAATTGTGTAAGTGACTGCATTGGAACTGGATGTCCAGTGTGTTACACCCCGGCCTGGATACA AGACTTGAAGATAAATAGACAACTGGACAGCATGATTCAACTTTGTAGTAAGCTTCGAAATTTGCTACAT GACAATGAGCTGTCAGGGGTAAAAGCATGTCTACGAAGAAAAGTATGTGAACAGGAAGAAAAGTATGAAA TTCCTGAAGGTCCACGCAGAAGCAGGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTTTGATGGATGCTA CTTCTATTTGTGGGGAACCTTCAAACACCATCCAAAGGACAACCTTATTAAGCTCGTCACTGCAGGTGGG GGCCAGATCCTCAGTAGAAAGCCCAAGCCAGACAGTGACGTGACTCAGACCATCAATACAGTCGCATACC ATGCGAGACCCGATTCTGATCAGCGCTTCTGCACACAGTATATCATCTATGAAGATTTGTGTAATTATCA CCCAGAGAGGGTTCGGCAGGGCAAAGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGACTGTGTGATGTCC TTTGAGTTGCTTCCTCTTGACAGCTGAATATTATACCAGATGAACATTTCAAATTGAATTTGCACGGTTT GTGAGAGCCCAGTCATTGTACTGTTTTTAATGTTCACATTTTTACAAATAGGTAGAGTCATTCATATTTG TCTTTGAATCAAAAAAAAAAAAAAAGTCTAATGCCAGATTAGGAATTCATGTTATGTTTACCATTTAGAA GCTGGGATTGCTTTTAAAGGTTTTTCTTTTTAAAATTGGCATGTTTTTGATTTATCATGTCTTTCTATTC AGATTATTGGGTATCAAAGATTAATGAGGACACCAGAATCTTGGTTAAATAGACAAGTGGTATCATTACT GTTTGAGTCTTTTAATATTCTCCATACCTGCCACCAGTGAAAAAACTTGCCTTTTTTTTTTTTTTTTTTT TAGTAAACAGAATATTATCAAACAATTTATTTTGGCTTTATTGAAAAAAGAGTATTTGGTCTAAATGTGC CACCATAGGTGTTAAATTCTCCTATCTGCAATTGTCTTTATCCTATATTGTGTTCATTTCTTTTCTTAAT AATTTACTTTGTTGTGTGTTTCTACACTTTCATCCCTGTTTTTTATCTTGTATATCATCAGGAAATTGTG ATTTAATCATTAACATTGGTTTTTTTGTGTGTGTGGTAAAAATCAACACTAGGCTCATGGTACATATTTT TATTCTGTACATTTGCTTGTAACTATCAATTTGTAACTCTGTTTATCTACTACATGTGTATATATACTTA GAGCATTTTCTCTAACACATTTTAATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTAGCAAATTGTCAG TCCAACGTCATTACTTTAAATTAAGAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTATTTGTAAAATAAT TTTGAAGGTCTTAATTTCTTCCTTTGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAGGTTGGCATGGAG GCAGAAGTTGGTGATTACTTGATTTACAACAGATTTTTTCCAGATCATACAAAAGGCCATACAGTAAGTA TAGAAGTAGGTATGGGGAGGGCTTACTAATATCAAATAGGCAAGGCCTTAGTGAGTGGGCAGGATACCAC CTGAGAGTGGCCAGATGTGGGGAGGTTACTCTGCTCTGGGTGCTCTCATTCATGAATCGACAAGGATACA TTAGATTATTTTGAAACATTTTTTTAAGAAGCAGAATTCTTTAATAATTCCTTCCTAGACATTGAATATA CTTATAAAATTAAAGACTTGGGGAAGGAGACACTGAGAGACTTGCCAGTTTGGTTCCTCATGAACAAAAG AGGACAGTTTGATAACTACCAGAATAGAATATCCCTAGTTTTAAAATAGTGAGAATCTCTGAAGTTCATC AACATCTTAAGATGCACTTACTTGAAAGTTTGAGATTCTGTTTATCATTTGAAAACACATTTTGCTTTAA TTCTTTCTTTGACATGTTGTTTTTTCATATCAAGAAATATATGAACAAAATAATAACCTTTTGACCCTGA CCTTGCTGGGTGAATTAGCTCTGAAACACTCTCTACAACCAGTAATGCATTTGTCCCACATTTCATTCTG ATAGAAAATGAACACCATAGCACCAAACAAAAATCCGAGGCGTTAGATAATGTCTGGATTAAATAATTTA AGACTCTCTAGGATTTTGGTTGTCATTTTTTATTTATAACAGACTTTAAGTCACTTTCTGTTGCCTCATA GGTCACATTTTAGACAGGTTTGTGTCTGTTCCTTGCATCTGAATTCCTGATTGTAAAGACACCTATGAGG TCTCTTAGTTTTTGTCATTCATTTTCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGTTTTTCCCTGACT GTTAAGCAGTTTCATCTTTGCTTTTGTTAAATATTTGACAGCAGTTAGTTTGTGTTAAGCTCTTGAAACT TGTGATTGTACTTTCTGTGTAGATATACATGTAATTATTTTTTATTTTTCAATCATAGATTCAAGCTTCC TTCTTTTTTACCACAAATCATTAAAGTTATTTGTGTTTCCATATACCTGTGTCTTGTATAAAATTGGCTT ATTCTGTGCTGTTGAATGAGGCTCAACATGACTTGGTGAGGAAGTCTATTAACTAACAAAAGCTTATCTT TTTTAACATAATGCTTTTTAATTAATTTTGAATAAAAATATTTCTAAAGTGTACTAGATACTTTATTACC TTAGATTATTCCGAATACAGTATAACTTTGATAGTTTGGAATAGTCATTAAGAAACAATTACACACTGAT TGCTTTGTGTCTCTAAAAGTGAGAGGCTGGTAGCTTTTCCACATTCTCATGGCTATTTTCTAGTTCTACT TGAATTTATAACTGTTTCCCTTTTTCCTTGACAGCTGCCACTTTGTAGCTATTTTTCTGTCTCTGCTAAT ACTTTACCATATCTATCTCAATTGTTTTTTCTTTTGACTTGCTGAAAAATAGAAACCAGATGGGAAGTAT ATTAGCATTATGATTGAAATAAGGGTAAATGAGCAATGTGTGAAGGTTTTCACTGACTTCACCTAAAAGA TAGTTTAGCTACTTGAATTTTAGTAAATAGAATTTTTCCTTTATTTCATCGGTCCCCCCACCTTTTTTTT TTTTTGCACCTGCCTTGTAAATTTAATAGTTAAGTGACCTCTGCCTAGAGGATGATATTTGGGGAGGTTT GATGTTTCCTGTGGGAATAAGACGATTCACAGGTGAGAGTGGGGCCACATTAGCTGTTATTGTTTCCATG GGTCAGTGTGGAAAATGCATTAATCATATTCTAAACGTTCATGGGCCTCATTACAGTCACAATTGTCTAT TCTGTTTCCTACCCTGAACACATTAAAATGGTAGGAACTAATGCTTGTCTTATTTAATTACTAAAAGCCA CCATTTTCTTTGATAGATTGAGCTACAGATTGTAAACTTCATGTATTTCTTTATAAGTCAACCCTTTTCA AAGATACGCACATCAAACTGAATGAATAAATAAATATTGAGAAGTTGAAAAAAAAAAAAAAAAA >gi|543583738|ref|NM_001282548.1| Homo sapiens BRCA1 associated RING domain 1 (BARD1), transcript variant 4, mRNA CCCCGCCCCTCTGGCGGCCCGCCGTCCCAGACGCGGGAAGAGCTTGGCCGGTTTCGAGTCGCTGGCCTGC AGCTTCCCTGTGGTTTCCCGAGGCTTCCTTGCTTCCCGCTCTGCGAGGAGCCTTTCATCCGAAGGCGGGA CGATGCCGGATAATCGGCAGCCGAGGAACCGGCAGCCGAGGATCCGCTCCGGGAACGAGCCTCGTTCCGC GCCCGCCATGGAACCGGATGGTCGCGGTGCCTGGGCCCACAGTCGCGCCGCGCTCGACCGCCTGGAGAAG CTGCTGCGCTGCTCGCGTTGTAATATATTTGGTCTGCGGCCTGTCGATTATACAGATGATGAAAGTATGA AATCGCTATTGCTGCTACCAGAGAAGAATGAATCATCCTCAGCTAGCCACTGCTCAGTAATGAACACTGG GCAGCGTAGGGATGGACCTCTTGTACTTATAGGCAGTGGGCTGTCTTCAGAACAACAGAAAATGCTCAGT GAGCTTGCAGTAATTCTTAAGGCTAAAAAATATACTGAGTTTGACAGTACAGTAACTCATGTTGTTGTTC CTGGTGATGCAGTTCAAAGTACCTTGAAGTGTATGCTTGGGATTCTCAATGGATGCTGGATTCTAAAATT TGAATGGGTAAAAGCATGTCTACGAAGAAAAGTATGTGAACAGGAAGAAAAGTATGAAATTCCTGAAGGT CCACGCAGAAGCAGGCTCAACAGAGAACAGCTGTTGCCAAAGCTGTTTGATGGATGCTACTTCTATTTGT GGGGAACCTTCAAACACCATCCAAAGGACAACCTTATTAAGCTCGTCACTGCAGGTGGGGGCCAGATCCT CAGTAGAAAGCCCAAGCCAGACAGTGACGTGACTCAGACCATCAATACAGTCGCATACCATGCGAGACCC GATTCTGATCAGCGCTTCTGCACACAGTATATCATCTATGAAGATTTGTGTAATTATCACCCAGAGAGGG TTCGGCAGGGCAAAGTCTGGAAGGCTCCTTCGAGCTGGTTTATAGACTGTGTGATGTCCTTTGAGTTGCT TCCTCTTGACAGCTGAATATTATACCAGATGAACATTTCAAATTGAATTTGCACGGTTTGTGAGAGCCCA GTCATTGTACTGTTTTTAATGTTCACATTTTTACAAATAGGTAGAGTCATTCATATTTGTCTTTGAATCA AAAAAAAAAAAAAAGTCTAATGCCAGATTAGGAATTCATGTTATGTTTACCATTTAGAAGCTGGGATTGC TTTTAAAGGTTTTTCTTTTTAAAATTGGCATGTTTTTGATTTATCATGTCTTTCTATTCAGATTATTGGG TATCAAAGATTAATGAGGACACCAGAATCTTGGTTAAATAGACAAGTGGTATCATTACTGTTTGAGTCTT TTAATATTCTCCATACCTGCCACCAGTGAAAAAACTTGCCTTTTTTTTTTTTTTTTTTTTAGTAAACAGA ATATTATCAAACAATTTATTTTGGCTTTATTGAAAAAAGAGTATTTGGTCTAAATGTGCCACCATAGGTG TTAAATTCTCCTATCTGCAATTGTCTTTATCCTATATTGTGTTCATTTCTTTTCTTAATAATTTACTTTG TTGTGTGTTTCTACACTTTCATCCCTGTTTTTTATCTTGTATATCATCAGGAAATTGTGATTTAATCATT AACATTGGTTTTTTTGTGTGTGTGGTAAAAATCAACACTAGGCTCATGGTACATATTTTTATTCTGTACA TTTGCTTGTAACTATCAATTTGTAACTCTGTTTATCTACTACATGTGTATATATACTTAGAGCATTTTCT CTAACACATTTTAATGTTAGTATTTTTTAAAAGGTCTGACCAGTCTAGCAAATTGTCAGTCCAACGTCAT TACTTTAAATTAAGAAGCAGTCTTCTTCTGGTAAACCTTGTTGGTATTTGTAAAATAATTTTGAAGGTCT TAATTTCTTCCTTTGTAAAAGGAAAAGGTTTTTTTTAAAGTTTTTAGGTTGGCATGGAGGCAGAAGTTGG TGATTACTTGATTTACAACAGATTTTTTCCAGATCATACAAAAGGCCATACAGTAAGTATAGAAGTAGGT ATGGGGAGGGCTTACTAATATCAAATAGGCAAGGCCTTAGTGAGTGGGCAGGATACCACCTGAGAGTGGC CAGATGTGGGGAGGTTACTCTGCTCTGGGTGCTCTCATTCATGAATCGACAAGGATACATTAGATTATTT TGAAACATTTTTTTAAGAAGCAGAATTCTTTAATAATTCCTTCCTAGACATTGAATATACTTATAAAATT AAAGACTTGGGGAAGGAGACACTGAGAGACTTGCCAGTTTGGTTCCTCATGAACAAAAGAGGACAGTTTG ATAACTACCAGAATAGAATATCCCTAGTTTTAAAATAGTGAGAATCTCTGAAGTTCATCAACATCTTAAG ATGCACTTACTTGAAAGTTTGAGATTCTGTTTATCATTTGAAAACACATTTTGCTTTAATTCTTTCTTTG ACATGTTGTTTTTTCATATCAAGAAATATATGAACAAAATAATAACCTTTTGACCCTGACCTTGCTGGGT GAATTAGCTCTGAAACACTCTCTACAACCAGTAATGCATTTGTCCCACATTTCATTCTGATAGAAAATGA ACACCATAGCACCAAACAAAAATCCGAGGCGTTAGATAATGTCTGGATTAAATAATTTAAGACTCTCTAG GATTTTGGTTGTCATTTTTTATTTATAACAGACTTTAAGTCACTTTCTGTTGCCTCATAGGTCACATTTT AGACAGGTTTGTGTCTGTTCCTTGCATCTGAATTCCTGATTGTAAAGACACCTATGAGGTCTCTTAGTTT TTGTCATTCATTTTCTTGGTTTATCACCCCTCCCTTCTTTTTGTTGTTTTTCCCTGACTGTTAAGCAGTT TCATCTTTGCTTTTGTTAAATATTTGACAGCAGTTAGTTTGTGTTAAGCTCTTGAAACTTGTGATTGTAC TTTCTGTGTAGATATACATGTAATTATTTTTTATTTTTCAATCATAGATTCAAGCTTCCTTCTTTTTTAC CACAAATCATTAAAGTTATTTGTGTTTCCATATACCTGTGTCTTGTATAAAATTGGCTTATTCTGTGCTG TTGAATGAGGCTCAACATGACTTGGTGAGGAAGTCTATTAACTAACAAAAGCTTATCTTTTTTAACATAA TGCTTTTTAATTAATTTTGAATAAAAATATTTCTAAAGTGTACTAGATACTTTATTACCTTAGATTATTC CGAATACAGTATAACTTTGATAGTTTGGAATAGTCATTAAGAAACAATTACACACTGATTGCTTTGTGTC TCTAAAAGTGAGAGGCTGGTAGCTTTTCCACATTCTCATGGCTATTTTCTAGTTCTACTTGAATTTATAA CTGTTTCCCTTTTTCCTTGACAGCTGCCACTTTGTAGCTATTTTTCTGTCTCTGCTAATACTTTACCATA TCTATCTCAATTGTTTTTTCTTTTGACTTGCTGAAAAATAGAAACCAGATGGGAAGTATATTAGCATTAT GATTGAAATAAGGGTAAATGAGCAATGTGTGAAGGTTTTCACTGACTTCACCTAAAAGATAGTTTAGCTA CTTGAATTTTAGTAAATAGAATTTTTCCTTTATTTCATCGGTCCCCCCACCTTTTTTTTTTTTTGCACCT GCCTTGTAAATTTAATAGTTAAGTGACCTCTGCCTAGAGGATGATATTTGGGGAGGTTTGATGTTTCCTG TGGGAATAAGACGATTCACAGGTGAGAGTGGGGCCACATTAGCTGTTATTGTTTCCATGGGTCAGTGTGG AAAATGCATTAATCATATTCTAAACGTTCATGGGCCTCATTACAGTCACAATTGTCTATTCTGTTTCCTA CCCTGAACACATTAAAATGGTAGGAACTAATGCTTGTCTTATTTAATTACTAAAAGCCACCATTTTCTTT GATAGATTGAGCTACAGATTGTAAACTTCATGTATTTCTTTATAAGTCAACCCTTTTCAAAGATACGCAC ATCAAACTGAATGAATAAATAAATATTGAGAAGTTGAAAAAAAAAAAAAAAAA >gi|530384540|ref|XM_005249645.1| PREDICTED: Homo sapiens BRCA1-associated ATM activator 1 (BRAT1), transcript variant X4, mRNA GTGCTGGGACTACAGAGTCCAGTGTCGTGCTGCTGCAGGAGCACCCCTGCCTGGTGGAGCTGCTGTCCCA TGTGCTGAAAGTCCAGGACCTGAGTTCTGGGGTCCTCTCCTTCTCACTGCGCCTGGCAGGAACCTTCGCA GCCCAGGAAAACTGCTTCCAGTATCTTCAGCAGGGGGAGTTACTACCAGGGCTCTTTGGGGAGCCAGGAC CCCTCGGCCGAGCAACCTGGGCCGTCCCCACCGTGCGCAGCGGCTGGATCCAGGGCCTGCGCTCCCTGGC ACAGCACCCCAGCGCCCTGCGCTTCCTGGCCGACCATGGTGCGGTCGACACCATCTTCTCCCTGCAGGGA GACTCCAGCCTGTTTGTGGCCTCGGCGGCCAGTCAGCTCCTGGTGCACGTCCTGGCTTTGTCCATGCGAG GTGGAGCCGAGGGGCAGCCCTGCCTGCCGGGGGGTGACTGGCCCGCGTGTGCCCAGAAGATCATGGATCA CGTTGAAGAGTCCTTGTGCTCCGCGGCCACCCCCAAGGTCACTCAGGCCCTGAACGTCCTGACCACGACC TTCGGGCGCTGCCAGAGCCCCTGGACGGAAGCCCTGTGGGTGCGGCTGAGTCCCCGCGTGGCCTGTCTGC TGGAGAGAGACCCCATCCCCGCCGCACACTCGTTCGTGGACCTGCTTCTCTGTGTGGCTCGTTCTCCCGT GTTCAGTTCTTCCGACGGCAGCCTGTGGGAGACAGTGGCGCGGGCTCTGAGCTGCCTGGGTCCCACCCAC ATGGGACCCCTGGCTTTGGGGATCCTGAAGCTCGAGCACTGTCCACAGGCACTGAGGACCCAGGCCTTCC AGGTCCTTCTCCAGCCCCTGGCCTGTGTCCTGAAGGCCACGGTTCAGGCCCCCGGACCCCCAGGCTTGCT GGACGGGACGGCAGACGATGCCACGACGGTGGACACACTCCTGGCCTCCAAGTCGTCCTGCGCCGGCCTC CTGTGCCGCACCCTGGCTCACCTGGAGGAGCTGCAGCCGCTGCCCCAGCGCCCTTCACCGTGGCCCCAGG CGTCTCTACTGGGGGCTACAGTGACTGTCCTGCGGCTCTGTGACGGCTCGGCTGCCCCTGCCTCCAGTGT GGGGGGCCACCTCTGTGGGACCCTGGCGGGCTGCGTCCGGGTCCAGCGAGCAGCCCTCGACTTCCTGGGG ACGCTGTCACAGGGGACAGGCCCCCAGGAGCTGGTGACGCAGGCGCTTGCTGTCCTCCTGGAGTGCCTCG AGAGCCCCGGCTCCAGCCCCACGGTTCTGAAGAAGGCCTTCCAGGCCACGCTCAGGTGGCTCCTGAGCTC ACCCAAGACCCCCGGCTGCTCTGATCTCGGCCCCCTCATCCCGCAGTTCCTCAGAGAGCTGTTCCCTGTG CTGCAGAAACGCCTGTGCCACCCCTGCTGGGAGGTGAGGGACTCCGCCCTCGAGTTCCTGACCCAGCTGA GCAGGCACTGGGGAGGACAGGCTGACTTCAGATGCGCACTCTTGGCTTCAGAGGTGCCTCAGCTGGCCCT GCAGCTCCTCCAGGACCCTGAGAGTTATGTCCGAGCGAGTGCAGTGACCGCCATGGGGCAGCTGTCCAGC CAGGGCCTGCACGCCCCCACCAGCCCTGAGCATGCAGAGGCCCGGCAGATGGGTAAACTGAGGATTGGAG GGCCGTGTGCTCACTGCGCAGCATGGGAAGGTGTCAGAGCGGGCTGTGGCCCTAGACTGCATGTCCGGGG CCAGCCCCCATCATGTACCGGAGTCCTGTTGCGGGAGCCTCGCTCCTGCCACCCCACCAACCATCCGCAC TTGCTCCCTGTCCCCCAGAGCCTGTTCCTGGAGCTCCTGCACATCCTCTCCGTAGACTCGGAGGGCTTCC CACGGCGGGCGGTCATGCAAGTCTTCACTGAGTGGCTGCGGGACGGCCACGCCGACGCGGCCCAGGACAC GGAGCAGTTCGTGGCCACTGTGCTGCAGGCGGCGAGCCGAGACCTGGACTGGGAGGTCCGCGCCCAGGGC CTGGAGCTGGCCCTCGTGTTCCTGGGCCAGACTTTGGGGCCGCCGCGTACCCACTGCCCCTATGCCGTGG CCCTACCCGAGGTGGCCCCAGCCCAGCCACTCACCGAGGCACTGAGGGCTCTCTGCCACGTGGGGCTCTT TGACTTCGCCTTTTGTGCCTTGTTTGACTGCGACCGCCCTGTGGCGCAGAAGTCTTGTGACCTCCTTCTC TTCCTGAGGGACAAGATTGCTTCCTACAGCAGCCTGCGGGAGGCCAGGGGCAGCCCCAACACTGCCTCCG CAGAGGCCACCCTGCCGAGGTGGCGGGCGGGTGAGCAGGCCCAGCCCCCAGGGGACCAGGAGCCTGAGGC TGTGCTGGCCATGCTCAGGTCCCTAGACCTGGAGGGCCTGCGGAGCACGCTGGCCGAGAGCAGCGACCAC GTGGAAAAGAGTCCCCAGTCCCTCCTGCAGGACATGCTGGCCACGGGAGGCTTCCTGCAGGGGGACGAGG CCGACTGCTACTGAGCAGAACCAGAGTCTGCCACTGGGGCTCAGGACCAAGGGAGGCAGCACCATGTCCT TCTGTGGGACACTGCCAGCCCCAGGGCTCCAGCCCAGCCCGGTGGATCCTCTGGGGAAGCCAGGACCAGG AGAGAAGCAAGGTCAAGAAATCCCACAGTTTGATGTATTAAAGAAATGACTTATTTCTACTCAAAATAAA TGGCATTGAAGTCTTTCTTTAA >gi|530384538|ref|XM_005249644.1| PREDICTED: Homo sapiens BRCA1-associated ATM activator 1 (BRAT1), transcript variant X3, mRNA ACCGGATGCTCGGCATGAACCACTAGGCGCCTGGCGGGGGTGATCTGTCGGAGCGACCGGCTTGGCGCCT GCCTGTCCCCAGCCCCTCTCAGCTTGAACTCCTTCCTTCAAGTCTGGGCCCTCGAGGCTTCCAGAGCGGC CTCCAGGGGTGCAGTCTCAGTTCCCCACGCCAGCCGTCTCCGTCCTCCGCCTCCTCCGGGCCTGGCAGGT GGCACTGTCCGGAGGCGGAGCCTTGGGCGAGGGGTGGTTGCGGCGGAGGACGCAACCGAGCGGGCCTGCG GCCTCACCATGGACCCAGAATGCGCCCAGCTGCTCCCGGCTCTCTGTGCTGTTCTGGTAGATCCCAGGCA GCCGGTGGCAGATGACACCTGTTTGGAGAAGCTCCTGGACTGGTTTAAAACGGTCACTGAAGGAGAGTCC AGTGTCGTGCTGCTGCAGGAGCACCCCTGCCTGGTGGAGCTGCTGTCCCATGTGCTGAAAGTCCAGGACC TGAGTTCTGGGGTCCTCTCCTTCTCACTGCGCCTGGCAGGAACCTTCGCAGCCCAGGAAAACTGCTTCCA GTATCTTCAGGTGCGGTCGACACCATCTTCTCCCTGCAGGGAGACTCCAGCCTGTTTGTGGCCTCGGCGG CCAGTCAGCTCCTGGTGCACGTCCTGGCTTTGTCCATGCGAGGTGGAGCCGAGGGGCAGCCCTGCCTGCC GGGGGGTGACTGGCCCGCGTGTGCCCAGAAGATCATGGATCACGTTGAAGAGTCCTTGTGCTCCGCGGCC ACCCCCAAGGTCACTCAGGCCCTGAACGTCCTGACCACGACCTTCGGGCGCTGCCAGAGCCCCTGGACGG AAGCCCTGTGGGTGCGGCTGAGTCCCCGCGTGGCCTGTCTGCTGGAGAGAGACCCCATCCCCGCCGCACA CTCGTTCGTGGACCTGCTTCTCTGTGTGGCTCGTTCTCCCGTGTTCAGTTCTTCCGACGGCAGCCTGTGG GAGACAGTGGCGCGGGCTCTGAGCTGCCTGGGTCCCACCCACATGGGACCCCTGGCTTTGGGGATCCTGA AGCTCGAGCACTGTCCACAGGCACTGAGGACCCAGGCCTTCCAGGTCCTTCTCCAGCCCCTGGCCTGTGT CCTGAAGGCCACGGTTCAGGCCCCCGGACCCCCAGGCTTGCTGGACGGGACGGCAGACGATGCCACGACG GTGGACACACTCCTGGCCTCCAAGTCGTCCTGCGCCGGCCTCCTGTGCCGCACCCTGGCTCACCTGGAGG AGCTGCAGCCGCTGCCCCAGCGCCCTTCACCGTGGCCCCAGGCGTCTCTACTGGGGGCTACAGTGACTGT CCTGCGGCTCTGTGACGGCTCGGCTGCCCCTGCCTCCAGTGTGGGGGGCCACCTCTGTGGGACCCTGGCG GGCTGCGTCCGGGTCCAGCGAGCAGCCCTCGACTTCCTGGGGACGCTGTCACAGGGGACAGGCCCCCAGG AGCTGGTGACGCAGGCGCTTGCTGTCCTCCTGGAGTGCCTCGAGAGCCCCGGCTCCAGCCCCACGGTTCT GAAGAAGGCCTTCCAGGCCACGCTCAGGTGGCTCCTGAGCTCACCCAAGACCCCCGGCTGCTCTGATCTC GGCCCCCTCATCCCGCAGTTCCTCAGAGAGCTGTTCCCTGTGCTGCAGAAACGCCTGTGCCACCCCTGCT GGGAGGTGAGGGACTCCGCCCTCGAGTTCCTGACCCAGCTGAGCAGGCACTGGGGAGGACAGGCTGACTT CAGATGCGCACTCTTGGCTTCAGAGGTGCCTCAGCTGGCCCTGCAGCTCCTCCAGGACCCTGAGAGTTAT GTCCGAGCGAGTGCAGTGACCGCCATGGGGCAGCTGTCCAGCCAGGGCCTGCACGCCCCCACCAGCCCTG AGCATGCAGAGGCCCGGCAGATGGGTAAACTGAGGATTGGAGGGCCGTGTGCTCACTGCGCAGCATGGGA AGGTGTCAGAGCGGGCTGTGGCCCTAGACTGCATGTCCGGGGCCAGCCCCCATCATGTACCGGAGTCCTG TTGCGGGAGCCTCGCTCCTGCCACCCCACCAACCATCCGCACTTGCTCCCTGTCCCCCAGAGCCTGTTCC TGGAGCTCCTGCACATCCTCTCCGTAGACTCGGAGGGCTTCCCACGGCGGGCGGTCATGCAAGTCTTCAC TGAGTGGCTGCGGGACGGCCACGCCGACGCGGCCCAGGACACGGAGCAGTTCGTGGCCACTGTGCTGCAG GCGGCGAGCCGAGACCTGGACTGGGAGGTCCGCGCCCAGGGCCTGGAGCTGGCCCTCGTGTTCCTGGGCC AGACTTTGGGGCCGCCGCGTACCCACTGCCCCTATGCCGTGGCCCTACCCGAGGTGGCCCCAGCCCAGCC ACTCACCGAGGCACTGAGGGCTCTCTGCCACGTGGGGCTCTTTGACTTCGCCTTTTGTGCCTTGTTTGAC TGCGACCGCCCTGTGGCGCAGAAGTCTTGTGACCTCCTTCTCTTCCTGAGGGACAAGATTGCTTCCTACA GCAGCCTGCGGGAGGCCAGGGGCAGCCCCAACACTGCCTCCGCAGAGGCCACCCTGCCGAGGTGGCGGGC GGGTGAGCAGGCCCAGCCCCCAGGGGACCAGGAGCCTGAGGCTGTGCTGGCCATGCTCAGGTCCCTAGAC CTGGAGGGCCTGCGGAGCACGCTGGCCGAGAGCAGCGACCACGTGGAAAAGAGTCCCCAGTCCCTCCTGC AGGACATGCTGGCCACGGGAGGCTTCCTGCAGGGGGACGAGGCCGACTGCTACTGAGCAGAACCAGAGTC TGCCACTGGGGCTCAGGACCAAGGGAGGCAGCACCATGTCCTTCTGTGGGACACTGCCAGCCCCAGGGCT CCAGCCCAGCCCGGTGGATCCTCTGGGGAAGCCAGGACCAGGAGAGAAGCAAGGTCAAGAAATCCCACAG TTTGATGTATTAAAGAAATGACTTATTTCTACTCAAAATAAATGGCATTGAAGTCTTTCTTTAA >gi|530384536|ref|XM_005249643.1| PREDICTED: Homo sapiens BRCA1-associated ATM activator 1 (BRAT1), transcript variant X2, mRNA TCTGTCGGAGCGACCGGCTTGGCGCCTGCCTGTCCCCAGCCCCTCTCAGCTTGAACTCCTTCCTTCAAGT CTGGGCCCTCGAGGCTTCCAGAGCGGCCTCCAGGGGTGCAGTCTCAGTTCCCCACGCCAGCCGTCTCCGT CCTCCGCCTCCTCCGGGCCTGGCAGGTGGCACTGTCCGGAGGCGGAGCCTTGGGCGAGGGGTGGTTGCGG CGGAGGACGCAACCGAGCGGGCCTGCGGCCTCACCATGGACCCAGAATGCGCCCAGCTGCTCCCGGCTCT CTGTGCTGTTCTGGTAGATCCCAGGCAGCCGGTGGCAGATGACACCTGTTTGGAGAAGCTCCTGGACTGG TTTAAAACGGTCACTGAAGGAGAGTCCAGTGTCGTGCTGCTGCAGGAGCACCCCTGCCTGGTGGAGCTGC TGTCCCATGTGCTGAAAGTCCAGGACCTGAGTTCTGGGGTCCTCTCCTTCTCACTGCGCCTGGCAGGAAC CTTCGCAGCCCAGGAAAACTGCTTCCAGTATCTTCAGCAGGGGGAGTTACTACCAGGGCTCTTTGGGGAG CCAGGACCCCTCGGCCGAGCAACCTGGGCCGTCCCCACCGTGCGCAGCGGCTGGATCCAGGGCCTGCGCT CCCTGGCACAGCACCCCAGCGCCCTGCGCTTCCTGGCCGACCATGGTGCGGTCGACACCATCTTCTCCCT GCAGGGAGACTCCAGCCTGTTTGTGGCCTCGGCGGCCAGTCAGCTCCTGGTGCACGTCCTGGCTTTGTCC ATGCGAGGTGGAGCCGAGGGGCAGCCCTGCCTGCCGGGGGGTGACTGGCCCGCGTGTGCCCAGAAGATCA TGGATCACGTTGAAGAGTCCTTGTGCTCCGCGGCCACCCCCAAGGTCACTCAGGCCCTGAACGTCCTGAC CACGACCTTCGGGCGCTGCCAGAGCCCCTGGACGGAAGCCCTGTGGGTGCGGCTGAGTCCCCGCGTGGCC TGTCTGCTGGAGAGAGACCCCATCCCCGCCGCACACTCGTTCGTGGACCTGCTTCTCTGTGTGGCTCGTT CTCCCGTGTTCAGTTCTTCCGACGGCAGCCTGTGGGAGACAGTGGCGCGGGCTCTGAGCTGCCTGGGTCC CACCCACATGGGACCCCTGGCTTTGGGGATCCTGAAGCTCGAGCACTGTCCACAGGCACTGAGGACCCAG GCCTTCCAGGTCCTTCTCCAGCCCCTGGCCTGTGTCCTGAAGGCCACGGTTCAGGCCCCCGGACCCCCAG GCTTGCTGGACGGGACGGCAGACGATGCCACGACGGTGGACACACTCCTGGCCTCCAAGTCGTCCTGCGC CGGCCTCCTGTGCCGCACCCTGGCTCACCTGGAGGAGCTGCAGCCGCTGCCCCAGCGCCCTTCACCGTGG CCCCAGGCGTCTCTACTGGGGGCTACAGTGACTGTCCTGCGGCTCTGTGACGGCTCGGCTGCCCCTGCCT CCAGTGTGGGGGGCCACCTCTGTGGGACCCTGGCGGGCTGCGTCCGGGTCCAGCGAGCAGCCCTCGACTT CCTGGGGACGCTGTCACAGGGGACAGGCCCCCAGGAGCTGGTGACGCAGGCGCTTGCTGTCCTCCTGGAG TGCCTCGAGAGCCCCGGCTCCAGCCCCACGGTTCTGAAGAAGGCCTTCCAGGCCACGCTCAGGTGGCTCC TGAGCTCACCCAAGACCCCCGGCTGCTCTGATCTCGGCCCCCTCATCCCGCAGTTCCTCAGAGAGCTGTT CCCTGTGCTGCAGAAACGCCTGTGCCACCCCTGCTGGGAGGTGAGGGACTCCGCCCTCGAGTTCCTGACC CAGCTGAGCAGGCACTGGGGAGGACAGGCTGACTTCAGATGCGCACTCTTGGCTTCAGAGGTGCCTCAGC TGGCCCTGCAGCTCCTCCAGGACCCTGAGAGTTATGTCCGAGCGAGTGCAGTGACCGCCATGGGGCAGCT GTCCAGCCAGGGCCTGCACGCCCCCACCAGCCCTGAGCATGCAGAGGCCCGGCAGATGGGTAAACTGAGG ATTGGAGGGCCGTGTGCTCACTGCGCAGCATGGGAAGGTGTCAGAGCGGGCTGTGGCCCTAGACTGCATG TCCGGGGCCAGCCCCCATCATGTACCGGAGTCCTGTTGCGGGAGCCTCGCTCCTGCCACCCCACCAACCA TCCGCACTTGCTCCCTGTCCCCCAGAGCCTGTTCCTGGAGCTCCTGCACATCCTCTCCGTAGACTCGGAG GGCTTCCCACGGCGGGCGGTCATGCAAGTCTTCACTGAGTGGCTGCGGGACGGCCACGCCGACGCGGCCC AGGACACGGAGCAGTTCGTGGCCACTGTGCTGCAGGCGGCGAGCCGAGACCTGGACTGGGAGGTCCGCGC CCAGGGCCTGGAGCTGGCCCTCGTGTTCCTGGGCCAGACTTTGGGGCCGCCGCGTACCCACTGCCCCTAT GCCGTGGCCCTACCCGAGGTGGCCCCAGCCCAGCCACTCACCGAGGCACTGAGGGCTCTCTGCCACGTGG GGCTCTTTGACTTCGCCTTTTGTGCCTTGTTTGACTGCGACCGCCCTGTGGCGCAGAAGTCTTGTGACCT CCTTCTCTTCCTGAGGGACAAGATTGCTTCCTACAGCAGCCTGCGGGAGGCCAGGGGCAGCCCCAACACT GCCTCCGCAGAGGCCACCCTGCCGAGGTGGCGGGCGGGTGAGCAGGCCCAGCCCCCAGGGGACCAGGAGC CTGAGGCTGTGCTGGCCATGCTCAGGTCCCTAGACCTGGAGGGCCTGCGGAGCACGCTGGCCGAGAGCAG CGACCACGTGGAAAAGAGTCCCCAGTCCCTCCTGCAGGACATGCTGGCCACGGGAGGCTTCCTGCAGGGG GACGAGGCCGACTGCTACTGAGCAGAACCAGAGTCTGCCACTGGGGCTCAGGACCAAGGGAGGCAGCACC ATGTCCTTCTGTGGGACACTGCCAGCCCCAGGGCTCCAGCCCAGCCCGGTGGATCCTCTGGGGAAGCCAG GACCAGGAGAGAAGCAAGGTCAAGAAATCCCACAGTTTGATGTATTAAAGAAATGACTTATTTCTACTCA AAATAAATGGCATTGAAGTCTTTCTTTAA >gi|530384534|ref|XM_005249642.1| PREDICTED: Homo sapiens BRCA1-associated ATM activator 1 (BRAT1), transcript variant X1, mRNA GCGACCGGCTTGGCGCCTGCCTGTCCCCAGCCCCTCTCAGCTTGAACTCCTTCCTTCAAGTCTGGGCCCT CGAGGCTTCCAGAGCGGCCTCCAGGGGTGCAGTCTCAGTTCCCCACGCCAGCCGTCTCCGTCCTCCGCCT CCTCCGGGCCTGGCAGGTGGCACTGTCCGGAGGCGGAGCCTTGGGCGAGGGGTGGTTGCGGCGGAGGACG CAACCGAGCGGGCCTGCGGCCTCACCATGGACCCAGAATGCGCCCAGCTGCTCCCGGCTCTCTGTGCTGT TCTGGTAGATCCCAGGCAGCCGGTGGCAGATGACACCTGTTTGGAGAAGCTCCTGGACTGGTTTAAAACG GTCACTGAAGGAGAGTCCAGTGTCGTGCTGCTGCAGGAGCACCCCTGCCTGGTGGAGCTGCTGTCCCATG TGCTGAAAGTCCAGGACCTGAGTTCTGGGGTCCTCTCCTTCTCACTGCGCCTGGCAGGAACCTTCGCAGC CCAGGAAAACTGCTTCCAGTATCTTCAGGGGGAGTTACTACCAGGGCTCTTTGGGGAGCCAGGACCCCTC GGCCGAGCAACCTGGGCCGTCCCCACCGTGCGCAGCGGCTGGATCCAGGGCCTGCGCTCCCTGGCACAGC ACCCCAGCGCCCTGCGCTTCCTGGCCGACCATGGTGCGGTCGACACCATCTTCTCCCTGCAGGGAGACTC CAGCCTGTTTGTGGCCTCGGCGGCCAGTCAGCTCCTGGTGCACGTCCTGGCTTTGTCCATGCGAGGTGGA GCCGAGGGGCAGCCCTGCCTGCCGGGGGGTGACTGGCCCGCGTGTGCCCAGAAGATCATGGATCACGTTG AAGAGTCCTTGTGCTCCGCGGCCACCCCCAAGGTCACTCAGGCCCTGAACGTCCTGACCACGACCTTCGG GCGCTGCCAGAGCCCCTGGACGGAAGCCCTGTGGGTGCGGCTGAGTCCCCGCGTGGCCTGTCTGCTGGAG AGAGACCCCATCCCCGCCGCACACTCGTTCGTGGACCTGCTTCTCTGTGTGGCTCGTTCTCCCGTGTTCA GTTCTTCCGACGGCAGCCTGTGGGAGACAGTGGCGCGGGCTCTGAGCTGCCTGGGTCCCACCCACATGGG ACCCCTGGCTTTGGGGATCCTGAAGCTCGAGCACTGTCCACAGGCACTGAGGACCCAGGCCTTCCAGGTC CTTCTCCAGCCCCTGGCCTGTGTCCTGAAGGCCACGGTTCAGGCCCCCGGACCCCCAGGCTTGCTGGACG GGACGGCAGACGATGCCACGACGGTGGACACACTCCTGGCCTCCAAGTCGTCCTGCGCCGGCCTCCTGTG CCGCACCCTGGCTCACCTGGAGGAGCTGCAGCCGCTGCCCCAGCGCCCTTCACCGTGGCCCCAGGCGTCT CTACTGGGGGCTACAGTGACTGTCCTGCGGCTCTGTGACGGCTCGGCTGCCCCTGCCTCCAGTGTGGGGG GCCACCTCTGTGGGACCCTGGCGGGCTGCGTCCGGGTCCAGCGAGCAGCCCTCGACTTCCTGGGGACGCT GTCACAGGGGACAGGCCCCCAGGAGCTGGTGACGCAGGCGCTTGCTGTCCTCCTGGAGTGCCTCGAGAGC CCCGGCTCCAGCCCCACGGTTCTGAAGAAGGCCTTCCAGGCCACGCTCAGGTGGCTCCTGAGCTCACCCA AGACCCCCGGCTGCTCTGATCTCGGCCCCCTCATCCCGCAGTTCCTCAGAGAGCTGTTCCCTGTGCTGCA GAAACGCCTGTGCCACCCCTGCTGGGAGGTGAGGGACTCCGCCCTCGAGTTCCTGACCCAGCTGAGCAGG CACTGGGGAGGACAGGCTGACTTCAGATGCGCACTCTTGGCTTCAGAGGTGCCTCAGCTGGCCCTGCAGC TCCTCCAGGACCCTGAGAGTTATGTCCGAGCGAGTGCAGTGACCGCCATGGGGCAGCTGTCCAGCCAGGG CCTGCACGCCCCCACCAGCCCTGAGCATGCAGAGGCCCGGCAGATGGGTAAACTGAGGATTGGAGGGCCG TGTGCTCACTGCGCAGCATGGGAAGGTGTCAGAGCGGGCTGTGGCCCTAGACTGCATGTCCGGGGCCAGC CCCCATCATGTACCGGAGTCCTGTTGCGGGAGCCTCGCTCCTGCCACCCCACCAACCATCCGCACTTGCT CCCTGTCCCCCAGAGCCTGTTCCTGGAGCTCCTGCACATCCTCTCCGTAGACTCGGAGGGCTTCCCACGG CGGGCGGTCATGCAAGTCTTCACTGAGTGGCTGCGGGACGGCCACGCCGACGCGGCCCAGGACACGGAGC AGTTCGTGGCCACTGTGCTGCAGGCGGCGAGCCGAGACCTGGACTGGGAGGTCCGCGCCCAGGGCCTGGA GCTGGCCCTCGTGTTCCTGGGCCAGACTTTGGGGCCGCCGCGTACCCACTGCCCCTATGCCGTGGCCCTA CCCGAGGTGGCCCCAGCCCAGCCACTCACCGAGGCACTGAGGGCTCTCTGCCACGTGGGGCTCTTTGACT TCGCCTTTTGTGCCTTGTTTGACTGCGACCGCCCTGTGGCGCAGAAGTCTTGTGACCTCCTTCTCTTCCT GAGGGACAAGATTGCTTCCTACAGCAGCCTGCGGGAGGCCAGGGGCAGCCCCAACACTGCCTCCGCAGAG GCCACCCTGCCGAGGTGGCGGGCGGGTGAGCAGGCCCAGCCCCCAGGGGACCAGGAGCCTGAGGCTGTGC TGGCCATGCTCAGGTCCCTAGACCTGGAGGGCCTGCGGAGCACGCTGGCCGAGAGCAGCGACCACGTGGA AAAGAGTCCCCAGTCCCTCCTGCAGGACATGCTGGCCACGGGAGGCTTCCTGCAGGGGGACGAGGCCGAC TGCTACTGAGCAGAACCAGAGTCTGCCACTGGGGCTCAGGACCAAGGGAGGCAGCACCATGTCCTTCTGT GGGACACTGCCAGCCCCAGGGCTCCAGCCCAGCCCGGTGGATCCTCTGGGGAAGCCAGGACCAGGAGAGA AGCAAGGTCAAGAAATCCCACAGTTTGATGTATTAAAGAAATGACTTATTTCTACTCAAAATAAATGGCA TTGAAGTCTTTCTTTAA >gi|530373237|ref|XM_005265508.1| PREDICTED: Homo sapiens BRCA1 associated protein-1 (ubiquitin carboxy-terminal hydrolase) (BAP1), transcript variant X2, mRNA GCATGCCCGCATCTGCTGTCCGACAGGCGGAAGACGAGCCCAGAGGCGGAGCAGGGCCGTCGCGCCTTGG TGACGTCTGCCGCCGGCGCGGGCGGGTGACGCGACTGGGCCCGTTGTCTGTGTGTGGGACTGAGGGGCCC CGGGGGCGGTGGGGGCTCCCGGTGGGGGCAGCGGTGGGGAGGGAGGGCCTGGACATGGCGCTGAGGGGCC GCCCCGCGGGAAGATGAATAAGGGCTGGCTGGAGCTGGAGAGCGACCCAGGCCTCTTCACCCTGCTCGTG GAAGATTTCGGTGTCAAGGGGGTGCAAGTGGAGGAGATCTACGACCTTCAGAGCAAATGTCAGGGCCCTG TATATGGATTTATCTTCCTGTTCAAATGGATCGAAGAGCGCCGGTCCCGGCGAAAGGTCTCTACCTTGGT GGATGATACGTCCGTGATTGATGATGATATTGTGAATAACATGTTCTTTGCCCACCAGCTGATACCCAAC TCTTGTGCAACTCATGCCTTGCTGAGCGTGCTCCTGAACTGCAGCAGCGTGGACCTGGGACCCACCCTGA GTCGCATGAAGGACTTCACCAAGGGTTTCAGCCCTGAGAGCAAAGGATATGCGATTGGCAATGCCCCGGA GTTGGCCAAGGCCCATAATAGCCATGCCAGGCCCGAGCCACGCCACCTCCCTGAGAAGCAGAATGGCCTT AGTGCAGTGCGGACCATGGAGGCGTTCCACTTTGTCAGCTATGTGCCTATCACAGGCCGGCTCTTTGAGC TGGATGGGCTGAAGGTCTACCCCATTGACCATGGGCCCTGGGGGGAGGACGAGGAGTGGACAGACAAGGC CCGGCGGGTCATCATGGAGCGTATCGGCCTCGCCACTGCAGGGATCAAGTATGAGGCCAGGCTGCATGTG CTGAAGGTGAACCGTCAGACAGTACTAGAGGCTCTGCAGCAGCTGATAAGAGTAACACAGCCAGAGCTGA TTCAGACCCACAAGTCTCAAGAGTCACAGCTGCCTGAGGAGTCCAAGTCAGCCAGCAACAAGTCCCCGCT GGTGCTGGAAGCAAACAGGGCCCCTGCAGCCTCTGAGGGCAACCACACAGATGGTGCAGAGGAGGCGGCT GGTTCATGCGCACAAGCCCCATCCCACAGCCCTCCCAACAAACCCAAGCTAGTGGTGAAGCCTCCAGGCA GCAGCCTCAATGGGGTTCACCCCAACCCCACTCCCATTGTCCAGCGGCTGCCGGCCTTTCTAGACAATCA CAATTATGCCAAGTCCCCCATGCAGGAGGAAGAAGACCTGGCGGCAGGTGTGGGCCGCAGCCGAGTTCCA GTCCGCCCACCCCAGCAGTACTCAGATGATGAGGATGACTATGAGGATGACGAGGAGGATGACGTGCAGA ACACCAACTCTGCCCTTAGGTATAAGGGGAAGGGAACAGGGAAGCCAGGGGCATTGAGCGGTTCTGCTGA TGGGCAACTGTCAGTGCTGCAGCCCAACACCATCAACGTCTTGGCTGAGAAGCTCAAAGAGTCCCAGAAG GACCTCTCAATTCCTCTGTCCATCAAGACTAGCAGCGGGGCTGGGAGTCCGGCTGTGGCAGTGCCCACAC ACTCGCAGCCCTCACCCACCCCCAGCAATGAGAGTACAGACACGGCCTCTGAGATCGGCAGTGCTTTCAA CTCGCCACTGCGCTCGCCTATCCGCTCAGCCAACCCGACGCGGCCCTCCAGCCCTGTCACCTCCCACATC TCCAAGGTGCTTTTTGGAGAGGATGACAGCCTGCTGCGTGTTGACTGCATACGCTACAACCGTGCTGTCC GTGATCTGGGTCCTGTCATCAGCACAGGCCTGCTGCACCTGGCTGAGGATGGGGTGCTGAGTCCCCTGGC GCTGACAGAGGGTGGGAAGGGTTCCTCGCCCTCCATCAGACCAATCCAAGGCAGCCAGGGGTCCAGCAGC CCAGTGGAGAAGGAGGTCGTGGAAGCCACGGACAGCAGAGAGAAGACGGGGATGGTGAGGCCTGGCGAGC CCTTGAGTGGGGAGAAATACTCACCCAAGCTGCCTATTGCTCGTGGGGCTTTGTTGCTGGCCCGCCCCGA TCAGAGGTGCAATGCTGGGTTTTGGCAGGAGCTGCTGGCACTGCTGAAGTGTGTGGAGGCTGAGATTGCA AACTATGAGGCGTGCCTCAAGGAGGAGGTAGAGAAGAGGAAGAAGTTCAAGATTGATGACCAGAGAAGGA CCCACAACTACGATGAGTTCATCTGCACCTTTATCTCCATGCTGGCTCAGGAAGGCATGCTGGCCAACCT AGTGGAGCAGAACATCTCCGTGCGGCGGCGCCAAGGGGTCAGCATCGGCCGGCTCCACAAGCAGCGGAAG CCTGACCGGCGGAAACGCTCTCGCCCCTACAAGGCCAAGCGCCAGTGAGGACTGCTGGCCCTGACTCTGC AGCCCACTCTTGCCGTGTGGCCCTCACCAGGGTCCTTCCCTGCCCCACTTCCCCTTTTCCCAGTATTACT GAATAGTCCCAGCTGGAGAGTCCAGGCCCTGGGAATGGGAGGAACCAGGCCACATTCCTTCCATCGTGCC CTGAGGCCTGACACGGCAGATCAGCCCCATAGTGCTCAGGAGGCAGCATCTGGAGTTGGGGCACAGCGAG GTACTGCAGCTTCCTCCACAGCCGGCTGTGGAGCAGCAGGACCTGGCCCTTCTGCCTGGGCAGCAGAATA TATATTTTACCTATCAGAGACATCTATTTTTCTGGGCTCCAACCCAACATGCCACCATGTTGAC >gi|530373235|ref|XM_005265507.1| PREDICTED: Homo sapiens BRCA1 associated protein-1 (ubiquitin carboxy-terminal hydrolase) (BAP1), transcript variant X1, mRNA GCATGCCCGCATCTGCTGTCCGACAGGCGGAAGACGAGCCCAGAGGCGGAGCAGGGCCGTCGCGCCTTGG TGACGTCTGCCGCCGGCGCGGGCGGGTGACGCGACTGGGCCCGTTGTCTGTGTGTGGGACTGAGGGGCCC CGGGGGCGGTGGGGGCTCCCGGTGGGGGCAGCGGTGGGGAGGGAGGGCCTGGACATGGCGCTGAGGGGCC GCCCCGCGGGAAGATGAATAAGGGCTGGCTGGAGCTGGAGAGCGACCCAGGCCTCTTCACCCTGCTCGTG GAAGATTTCGGTGTCAAGGGGGTGCAAGTGGAGGAGATCTACGACCTTCAGAGCAAATGTCAGGGCCCTG TATATGGATTTATCTTCCTGTTCAAATGGATCGAAGAGCGCCGGTCCCGGCGAAAGGTCTCTACCTTGGT GGATGATACGTCCGTGATTGATGATGATATTGTGAATAACATGTTCTTTGCCCACCAGCTGATACCCAAC TCTTGTGCAACTCATGCCTTGCTGAGCGTGCTCCTGAACTGCAGCAGCGTGGACCTGGGACCCACCCTGA GTCGCATGAAGGACTTCACCAAGGGTTTCAGCCCTGAGAGCAAAGGATATGCGATTGGCAATGCCCCGGA GTTGGCCAAGGCCCATAATAGCCATGCCAGGCCCGAGCCACGCCACCTCCCTGAGAAGCAGAATGGCCTT AGTGCAGTGCGGACCATGGAGGCGTTCCACTTTGTCAGCTATGTGCCTATCACAGGCCGGCTCTTTGAGC TGGATGGGCTGAAGGTCTACCCCATTGACCATGGGCCCTGGGGGGAGGACGAGGAGTGGACAGACAAGGC CCGGCGGGTCATCATGGAGCGTATCGGCCTCGCCACTGCAGGGGAGCCCTACCACGACATCCGCTTCAAC CTGATGGCAGTGGTGCCCGACCGCAGGATCAAGTATGAGGCCAGGCTGCATGTGCTGAAGGTGAACCGTC AGACAGTACTAGAGGCTCTGCAGCAGCTGATAAGAGTAACACAGCCAGAGCTGATTCAGACCCACAAGTC TCAAGAGTCACAGCTGCCTGAGGAGTCCAAGTCAGCCAGCAACAAGTCCCCGCTGGTGCTGGAAGCAAAC AGGGCCCCTGCAGCCTCTGAGGGCAACCACACAGATGGTGCAGAGGAGGCGGCTGGTTCATGCGCACAAG CCCCATCCCACAGCCCTCCCAACAAACCCAAGCTAGTGGTGAAGCCTCCAGGCAGCAGCCTCAATGGGGT TCACCCCAACCCCACTCCCATTGTCCAGCGGCTGCCGGCCTTTCTAGACAATCACAATTATGCCAAGTCC CCCATGCAGGAGGAAGAAGACCTGGCGGCAGGTGTGGGCCGCAGCCGAGTTCCAGTCCGCCCACCCCAGC AGTACTCAGATGATGAGGATGACTATGAGGATGACGAGGAGGATGACGTGCAGAACACCAACTCTGCCCT TAGGTATAAGGGGAAGGGAACAGGGAAGCCAGGGGCATTGAGCGGTTCTGCTGATGGGCAACTGTCAGTG CTGCAGCCCAACACCATCAACGTCTTGGCTGAGAAGCTCAAAGAGTCCCAGAAGGACCTCTCAATTCCTC TGTCCATCAAGACTAGCAGCGGGGCTGGGAGTCCGGCTGTGGCAGTGCCCACACACTCGCAGCCCTCACC CACCCCCAGCAATGAGAGTACAGACACGGCCTCTGAGATCGGCAGTGCTTTCAACTCGCCACTGCGCTCG CCTATCCGCTCAGCCAACCCGACGCGGCCCTCCAGCCCTGTCACCTCCCACATCTCCAAGGTGCTTTTTG GAGAGGATGACAGCCTGCTGCGTGTTGACTGCATACGCTACAACCGTGCTGTCCGTGATCTGGGTCCTGT CATCAGCACAGGCCTGCTGCACCTGGCTGAGGATGGGGTGCTGAGTCCCCTGGCGCTGACAGAGGGTGGG AAGGGTTCCTCGCCCTCCATCAGACCAATCCAAGGCAGCCAGGGGTCCAGCAGCCCAGTGGAGAAGGAGG TCGTGGAAGCCACGGACAGCAGAGAGAAGACGGGGATGGTGAGGCCTGGCGAGCCCTTGAGTGGGGAGAA ATACTCACCCAAGCTGCCTATTGCTCGTGGGGCTTTGTTGCTGGCCCGCCCCGATCAGAGGTGCAATGCT GGGTTTTGGCAGGAGCTGCTGGCACTGCTGAAGTGTGTGGAGGCTGAGATTGCAAACTATGAGGCGTGCC TCAAGGAGGAGGTAGAGAAGAGGAAGAAGTTCAAGATTGATGACCAGAGAAGGACCCACAACTACGATGA GTTCATCTGCACCTTTATCTCCATGCTGGCTCAGGAAGGCATGCTGGCCAACCTAGTGGAGCAGAACATC TCCGTGCGGCGGCGCCAAGGGGTCAGCATCGGCCGGCTCCACAAGCAGCGGAAGCCTGACCGGCGGAAAC GCTCTCGCCCCTACAAGGCCAAGCGCCAGTGAGGACTGCTGGCCCTGACTCTGCAGCCCACTCTTGCCGT GTGGCCCTCACCAGGGTCCTTCCCTGCCCCACTTCCCCTTTTCCCAGTATTACTGAATAGTCCCAGCTGG AGAGTCCAGGCCCTGGGAATGGGAGGAACCAGGCCACATTCCTTCCATCGTGCCCTGAGGCCTGACACGG CAGATCAGCCCCATAGTGCTCAGGAGGCAGCATCTGGAGTTGGGGCACAGCGAGGTACTGCAGCTTCCTC CACAGCCGGCTGTGGAGCAGCAGGACCTGGCCCTTCTGCCTGGGCAGCAGAATATATATTTTACCTATCA GAGACATCTATTTTTCTGGGCTCCAACCCAACATGCCACCATGTTGAC >gi|530364726|ref|XR_241081.1| PREDICTED: Homo sapiens Mdm4 p53 binding protein homolog (mouse) (MDM4), transcript variant X4, misc_RNA GTGTGGGAGGCCGGAAGTTGCGGCTTCATTACTCGCCATTTCAAAATGCTGCCGAGGCCCTAGGATCTGT GACTGCCACCCCTCCCCCCACCCGGGCTCGGCGGGGGAGCGACTCATGGAGCTGCCGTAAGTTTTACCAA CAGACTGCAGTTTCTTCACTACCAAAATGACATCATTTTCCACCTCTGCTCAGTGTTCAACATCTGACAG TGCTTGCAGGATCTCTCCTGGACAAATCAATCAGGTACGACCAAAACTGCCGCTTTTGAAGATTTTGCAT GCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAAGAGGTCATGCACTATTTAGGTCAGTACATAATGG TGAAGCAACTTTATGATCAGCAGGAGCAGCATATGGTATATTGTGGTGGAGATCTTTTGGGAGAACTACT GGGACGTCAGAGCTTCTCCGTGAAAGACCCAAGCCCTCTCTATGATATGCTAAGAAAGAATCTTGTCACT TTAGCCACTGCTACTACAGCAAAGTGCAGAGGAAAGTTCCACTTCCAGAAAAAGAACTACAGAAGACGAT ATCCCCACACTGCCTACCTCAGAGCATAAATGCATACATTCTAGAGAAGATGAAGACTTAATTGAAAATT TAGCCCAAGATGAAACATCTAGGCTGGACCTTGGATTTGAGGAGTGGGATGTAGCTGGCCTGCCTTGGTG GTTTTTAGGAAACTTGAGAAGCAACTATACACCTAGAAGTAATGGCTCAACTGATTTACAGACAAATCAG GTGATTGAAGTGGGAAAAAATGATGACCTGGAGGACTCTAAGTCCTTAAGTGATGATACCGATGTAGAGG TTACCTCTGAGGATGAGTGGCAGTGTACTGAATGCAAGAAATTTAACTCTCCAAGCAAGAGGTACTGTTT TCGTTGTTGGGCCTTGAGGAAGGATTGGTATTCAGATTGTTCAAAGTTAACCCATTCTCTCTCCACGTCT GATATCACTGCCATACCTGAAAAGGAAAA >gi|530364725|ref|XR_241080.1| PREDICTED: Homo sapiens Mdm4 p53 binding protein homolog (mouse) (MDM4), transcript variant X3, misc_RNA GTGTGGGAGGCCGGAAGTTGCGGCTTCATTACTCGCCATTTCAAAATGCTGCCGAGGCCCTAGGATCTGT GACTGCCACCCCTCCCCCCACCCGGGCTCGGCGGGGGAGCGACTCATGGAGCTGCCGTAAGTTTTACCAA CAGACTGCAGTTTCTTCACTACCAAAATGACATCATTTTCCACCTCTGCTCAGTGTTCAACATCTGACAG TGCTTGCAGGATCTCTCCTGGACAAATCAATCAGGTACGACCAAAACTGCCGCTTTTGAAGATTTTGCAT GCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAAGAGGTCATGCACTATTTAGGTCAGTACATAATGG TGAAGCAACTTTATGATCAGCAGGAGCAGCATATGGTATATTGTGGTGGAGATCTTTTGGGAGAACTACT GGGACGTCAGAGCTTCTCCGTGAAAGACCCAAGCCCTCTCTATGATATGCTAAGAAAGAATCTTGTCACT TTAGCCACTGCTACTACAGCAAAGTGCAGAGGAAAGTTCCACTTCCAGAAAAAGAACTACAGAAGACGAT ATCCCCACACTGCCTACCTCAGAGCATAAATGCATACATTCTAGAGAAGATGAAGACTTAATTGAAAATT TAGCCCAAGATGAAACATCTAGGCTGGACCTTGGATTTGAGGAGTGGGATGTAGCTGGCCTGCCTTGGTG GTTTTTAGGAAACTTGAGAAGCAACTATACACCTAGAAGTAATGGCTCAACTGATTTACAGACAAATCAG GATGTGGGTACTGCCATTGTTTCAGATACTACAGATGACTTGTGGTTTTTGAATGAGTCAGTATCAGAGC AGTTAGGTGTTGGAATAAAAGTTGAAGCTGCTGATACTGAACAAACAAGTGAAGAAGTAGGGAAAGTAAG TGACAAAAAGGTGATTGAAGTGGGAAAAAATGATGACCTGGAGGACTCTAAGTCCTTAAGTGATGATACC GATGTAGAGGTTACCTCTGAGGATGAGTGGCAGTGTACTGAATGCAAGAAATTTAACTCTCCAAGCAAGA GGTACTGTTTTCGTTGTTGGGCCTTGAGGAAGGATTGGTATTCAGATTGTTCAAAGTTAACCCATTCTCT CTCCACGTCTGATATCACTGCCATACCTGAAAAGGAAAATGAAGGAAATGATGTCCCTGATTGTCGAAGA ACCATTTCGGCTCCTGTCGTTAGACCTAAAGATGCGTATATAAAGAAAGAAAACTCCAAACTTTTTGATC CCTGCAACTCAGTGGAATTCTTGGATTTGGCTCACAGTTCTGAAAGCCAAGAGACCATCTCAAGCATGGG AGAACAGTTAGATAACCTTTCTGAACAGAGAACAGATACAGAAAACATGGAGGATTGCCAGAATCTCTTG AAGCCATGTAGCTTATGTGAGAAAAGACCACGAGACGGGAACATTATTCATGGAAGGACGGGCCATCTTG TCACTTGTTTTCACTGTGCCAGAAGACTAAAGAAGGCTGGGGCTTCATGCCCTATTTGCAAGAAAGAGAT TCAGCTGGATGCCAAAGAAGAGTGAATGGCCCACAAAGAGCCTGGTAGCACATACGCTTTTCAAAAGGTC ATGCACTTACAGCTAAAGCCATTAAGGCTGAAGTGCAGTGGCGAGAGGTTCACGGCAGCCTTGACCTCCT GGCTGAAGCGATCCAGCCATCTCAGCCCCCCGAGTAGCTGAGACCACAGGAGGGGGCTGATTGAAACTGA AGAATAGTACAGTAGGAGGAGAGGACCAGGAGCTGAAAAGACAGGTCGCTATGTTGAGAGAGAGAGAGAG GAAGAAAGATCTAATAGGACTTCAAAGGCTGTGGTAGATGTATTACTGTCAAAACCTGCGCAGCTTTTCT CTACCAGGCCTTGGAAAAGATTGCACTTCCTGCACCACTGGCAGCGGGCTGGCCAATGGGATGCAAGTGG AAATGAACTGTGCTATTCTGAGCAGAGGCTTAGGGACCATTGTGTGGGCTTAGGCAGATACTCCAATATT TCTGACACATACATACACGGAAAACCTTGCAAGAGTGGAGAAAAGAAGGGAGAGGGTCTCACTCTGTCAC CAGGCTGGAGTGCAGTGGCACAATCTAGGCTCACTGCAGCCTCGACCTCCCAGGTTCAAGCAATCCTCCC ACCTCAGCCTCCCGGTTAGCTGGGACTATAGCTATGCGCCACCATGTCCCTATGTTGCCCAGCCTCGGTG TCTGGATGCCCAGCCTAACCAAGTCAGCTTCCCATCTTTGGCTGAGACAAGGAGAACCCTGCTGGGCTAG GGGACCCAGATAGTGACCAGGTTCTGCATGTGATTTCCCTGTGGAATTCCAACCAAGGACAGACAGTTAG CCTAAAAACAACAGCAGAAGCAGCAGCAACAACGATGCTGAGTGCTGACTGCGAGCCTGGCTTCCTCGGA GGGAGTTTACCGTGCGCTGCCTCCTTGGACCCTCATCACTGCCCTGCGAAGCAAGCACTTTCCTCACCCC CTCTGTCTGGAGGAGGGCACTGAGGCACCGAGAAAACTGGGCAGGGGAGGCCCGAGAAGGAGAGGGTGGC ACCGTCATTCTCACTTTCCAGCTGAGGACACGGATGGTTTCTATAACAGTGAATTTGCAAATAGTTGGAA CCTCTGAAGTGCTTCCTCTCCTGGACTGGAAACCCCTTGAGGATGTGTACGGCACCCGCATCCCCTCCAT CTGCACCCGCAGCCACAGCCACAGCCACAGCCAGCGCTATGTCCCGTTGCCATTCACATTCATACCTGCA ACGTACACTCATACATGTGTCGGATATTTGCGAAGAAGCTCCCTTTCCCACCTAGGCCCCTCTTCTTTCC TTTCCTTTCCTTTCCCTCCTCTACCTCTTTCCCTTCCTATTCTTCTGCTCCTCCTCCCTCCCAGCTGGTT CCCTATTTCCCTTACCCCCTCAAACATCTCCCCTCTCTCCATCCCCACTCCCAATCTGCCAAACCCACCC CCACCTAAAAATGTGGACCGTGGAGTCTCTGACCGAGGTTTCCTTTCCCAACATGGGGAGCCCGGGCTGG CTGCGATTTGTTGGGGACAGAGATGGGATCTTGCTCTGTTGTTCAGGTGGTGGTTTCAAACTCCTGGCCT CAAGTGATCCTCCTGCCTTGGCCTCCCAAAGCGCTGGGATTACAGGTGTGAGCCGCTGTGCCCAGGCCAA TCCCAGAGATTTTGTTTTATTTTATGGCCCAGAAGATGATTTCTCGATACGAGTTTCACGAAGACTTGAA AAGAATGTGTCCTCTGTTGTTGGATGGAGTGTCCTTGAAATGTTCATTAGCCTTCTAGCTCCATTCAGAA GAGCCTCCGAAGTAGAGACCAGAAATCCTTCTAGTGGGCTGTGCTTTGAGCAGTACTGCTTGTTGACTGC TTTACTTGGAAGGAGAGATCGACTGAGAATGTATAACATCAAGAGCTGCCCTAATGTGAACTGGAGACTT CGAGTGACAACAATGTGCCCATGGAAAGAAGTGGACAAGACTCTGCTCTCTTCATGGAACCGAGTATTCT AAGGACACAGCCAAGTCAGGAGACTACACCCCTAGTATAATAAGTCCTGTGGCTGTACTGAGAAGAGGTC CTGACTCAGAACTGGAGGACATCATGGAAGGCTTCCTGGAGGAAGTGCCATCTAGGCTGAAACCTAAAGG ATGAGTAGAACTAACCAGATGAAAAGGACAGCACTGGATTTGACTCATCCCTGCATCCCCCGAGCACCTC GTGGGTGCCGTAAAGGCAGCTGGGTTGATGATGACTGAGTGAAGGAGCGCCTGAGTGGATGAGCCACTGA GTGAATGAACTGGAGTTCATCTTCCACGTGGTCCTCAGCATCCACTCTAGAAGCCAAAGCCAAGCCTGAG GGATCTAAAGCCTTGGGACTTCTGGATCTGCAAGTGGTCCCTGTTTTGGTAGCTATTGACTGACGAGGGG CTCTTCGCCCCACAGGTGACTGCTGTAGCCTTGAGTGAGGACCTCGGCCAAAAAGAAGGCTCCTACCGTG GCTGTTTGCTGATGGTCTTCGCAGAGCCTGCTGTCTTTGAGCTTCCTGAGAGAGGGACACTACCCTCGCT TAGCCTGGCAGTGTTGCCCAGGAGGAGGCAGTGGAGTTAAGAAGCCTGGGTCTGAGCTCCTCAGCTGTGC AGACAACTCCTACTTGTTCTTCAACGCTCAACTTTAAGTTCAGTCACCACCTGCAGAAGTCTTCTCCAAA ACCTCCCCACCTGGCTGACTAAGGGGCTGGCTTTATGCTCTTGCAGTACTCATGCTTCCTACTGTCACAG TTCTGACCACACCGTGGGAAAACGTCTCTAACTAGAGACCTGTCTTGCCTCTTGTGCCTGTAGTACGGGA TGGGTGCCCAGTGTGTGTTGATTGTATGAATCAATCTCTGTGACTCCAGAGTTCCTTTCTTCAGGAGATT AGACATCACCCCTGCAATCAACAATGCAAGCCACTGCTGTTTCCTCCATCCTGAGCATGAGGAACCTATC CAGTTTCTCTCTCAGATGCCAGGGCCATGAGGCAAGTCCAGCCTTGGCCTAGAACCAAAGATGGAAACAA AAAGGGGCCAGACTGTGTTGCCTTCTTGAGCCTGGTCTGACTCCTGAGTGGAAGTCTGATTCCAGGTACA TGAGATAAGCACTAATACCTCCAGTTTGCAGATTAAGAGACTGAGGTCCTGAAGAGGTTAAAGAACTTGG CTCAAGTCACATAGCTGGTGAGCAGCAAGATACAAGAATCAACCCAAGTCCAGGGGGCTGTGTGCCGTTT ACACTTCACATCTGTGCTGCCAGGGCTGTAGCTATAAAAGCTTGAAAACCATTA >gi|530364724|ref|XR_241079.1| PREDICTED: Homo sapiens Mdm4 p53 binding protein homolog (mouse) (MDM4), transcript variant X2, misc_RNA AAGTTGCGGCTTCATTACTCGCCATTTCAAAATGCTGCCGAGGCCCTAGGATCTGTGACTGCCACCCCTC CCCCCACCCGGGCTCGGCGGGGGAGCGACTCATGGAGCTGCCGTAAGTTTTACCAACAGACTGCAGTTTC TTCACTACCAAAATGACATCATTTTCCACCTCTGCTCAGTGTTCAACATCTGACAGTGCTTGCAGGATCT CTCCTGGACAAATCAATCAGGTACGACCAAAACTGCCGCTTTTGAAGATTTTGCATGCAGCAGGTGCGCA AGGTGAAATGTTCACTGTTAAAGAGGTCATGCACTATTTAGGTCAGTACATAATGGTGAAGCAACTTTAT GATCAGCAGGAGCAGCATATGGTATATTGTGGTGGAGATCTTTTGGGAGAACTACTGGGACGTCAGAGCT TCTCCGTGAAAGACCCAAGCCCTCTCTATGATATGCTAAGAAAGAATCTTGTCACTTTAGCCACTGCTAC TACAGGATCACAGTATGGATATTCCAAGTCAAGACCAACTGAAGCAAAGTGCAGAGGAAAGTTCCACTTC CAGAAAAAGAACTACAGAAGACGATATCCCCACACTGCCTACCTCAGAGCATAAATGCATACATTCTAGA GAAGATGAAGACTTAATTGAAAATTTAGCCCAAGATGAAACATCTAGGCTGGACCTTGGATTTGAGGAGT GGGATGTAGCTGGCCTGCCTTGGTGGTTTTTAGGAAACTTGAGAAGCAACTATACACCTAGAAGTAATGG CTCAACTGATTTACAGACAAATCAGGATGTGGGTACTGCCATTGTTTCAGATACTACAGATGACTTGTGG TTTTTGAATGAGTCAGTATCAGAGCAGTTAGGTGTTGGAATAAAAGTTGAAGCTGCTGATACTGAACAAA CAAGTGAAGAAGTAGGGAAAGTAAGTGACAAAAAGGTGATTGAAGTGGGAAAAAATGATGACCTGGAGGA CTCTAAGTCCTTAAGTGATGATACCGATGTAGAGGTTACCTCTGAGGATGAGTGGCAGTGTACTGAATGC AAGAAATTTAACTCTCCAAGCAAGAGGTACTGTTTTCGTTGTTGGGCCTTGAGGAAGGATTGGTATTCAG ATTGTTCAAAGTTAACCCATTCTCTCTCCACGTCTGATATCACTGCCATACCTGAAAAGGAAAATGAAGG AAATGATGTCCCTGATTGTCGAAGAACCATTTCGGCTCCTGTCGTTAGACCTAAAGATGCGTATATAAAG AAAGAAAACTCCAAACTTTTTGATCCCTGCAACTCAGTGGAATTCTTGGATTTGGCTCACAGTTCTGAAA GCCAAGAGACCATCTCAAGCATGGGAGAACAGTTAGATAACCTTTCTGAACAGAGAACAGATACAGAAAA CATGGAGGATTGCCAGAATCTCTTGAAGCCATGTAGCTTATGTGAGAAAAGACCACGAGACGGGAACATT ATTCATGGAAGGACGGGCCATCTTGTCACTTGTTTTCACTGTGCCAGAAGACTAAAGAAGGCTGGGGCTT CATGCCCTATTTGCAAGAAAGAGATTCAGCTGGTTATTAAGGTTTTTATAGCATAATGGTAGTACGAACA TAAAAATGCATTTATTCCGTTCACTTACCACATTATTTGAAAATCAATCCTTTATTTAATTTTATTTCCA ACCTGTCAGAGAATGTTCTTAGGCATCAAAATCCAAGGTAGCTGTAAGAAAAATACTGGAGCTAACAATG AAGAACAGAAGTAATCTGATTAGTCAAATTATTAAGTGCCATGGATTACTTTATGCAGCAGTCAGGTACA TAGTTAGGTGAACCCAAAAGAAAAACTCTTGAAAACAAGAGATTTCTTCCATGCACATTTACAATATTGA GGTATAATTAACATGATAAAGTGTTTCCTTCTAACGAGTTGTAGAAATCTGAGTAACCACCCAAAAAAGC AATAGAATGTTTCTGTCACCCCAAAACACTCCCTTCTGCCCCTCTTCAGACAGTCCTTCAGCTATTTCAT GGCTCTCACCCTAGTTTTTTTTTTTTTTGCACTTTTTTTTTTCCGGGGGTATAGGGGAGGTGTGGGGCGA CAGGGTCTGTCTTGTTCTGTCTCCCAGGCTGAAGTGCAGTGCAGTGGTATGATCATGGCTCACTGCAGCC TTGGTTTCCTGGGCATAAGTGGTCTTCCCACTTCAGCCTCCTGAGTAGCTGAGACTATAGACTAGCATAA CCACACTGGCTAATTTTTTGTGGAGATGAAGTCTCACTATGTTGCCCAGGCTGGTCTCGAACTCCTGGGC TCAAACAATCCTCCCGCCTCAGCCTTCCAAATTGCTGGGATTATAGTCATGAGGCACCTAGTCTGGCCCT TTTGCAAGACTTTAATCTGAAATCTAAATTTTTAAAATTTAAGTACTTACAAAGGATATACTATCCAACA TATTGCATATTATATATGTGCTTTAAAGTTTTTTTTTTTTTTTGAGAGACGGTCTCACTTTGTCATCCAA GCTGGAGTGCAGTGGTGCAAACACGGCCCACCTCCTGGGCTCAAGTGATCCTCCAGCCTCAGCTTCCCTC ACAGGCATTCACTATCACTCCCAGCTAATTAAAATAATTTGTAGACGGTGTCTCGTTATGTTGCCCAGGC TGGTCTCGAACTCCTGGGTTTAAGTGATTCCCCCGCCTCAGCCTCCCAAAGTGTTGGGCTTACAGCCTTG AGCCACTATGCTTGGCTCAAAGATATTTTTATGAAAGCCCTGGGACTATAGATTTAGCTGATTAAATTTA TAGAAAAAGTCCTGTCATA pyfaidx-0.6.4/tests/data/issue_83.fasta000066400000000000000000000003701417603162300177250ustar00rootroot00000000000000>MT CTCCGGGCCCATAACACTTGGGGGTAGCTAAAGTGAACTGTATCCGACATCTGGTTCCTACTTCAGGGTC ATAAAGCCTAAATAGCCCACACGTTCCCCTTAAATAAGACATCACGATG >GL000207.1 dna:supercontig supercontig::GL000207.1:1:4262:1 CATACATTTAATATACCCTCACCATACAGAATGTTCTTTCCCTATTACATAAGGAGTATA pyfaidx-0.6.4/tests/data/malformed.bed000066400000000000000000000001051417603162300176610ustar00rootroot00000000000000gi|563317589|dbj|AB821309.1| 0 gi|543583785|ref|NM_000465.3| 99 5522 pyfaidx-0.6.4/tests/data/regions.bed000066400000000000000000000001111417603162300173560ustar00rootroot00000000000000gi|563317589|dbj|AB821309.1| 0 999 gi|543583785|ref|NM_000465.3| 99 5522 pyfaidx-0.6.4/tests/test_FastaRecord.py000066400000000000000000000131261417603162300201430ustar00rootroot00000000000000import os import sys import pytest from pyfaidx import Fasta from tempfile import NamedTemporaryFile from difflib import Differ path = os.path.dirname(__file__) os.chdir(path) @pytest.fixture def remove_index(): yield try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file def test_sequence_uppercase(remove_index): """Test that the sequence is always returned in uppercase, even if it is in lowercase in the reference genome. """ filename = "data/genes.fasta.lower" reference_upper = Fasta(filename, sequence_always_upper=True) reference_normal = Fasta(filename) os.remove('data/genes.fasta.lower.fai') assert reference_upper['gi|557361099|gb|KF435150.1|'][ 1:100].seq == reference_normal['gi|557361099|gb|KF435150.1|'][ 1:100].seq.upper() def test_long_names(remove_index): """ Test that deflines extracted using FastaRecord.long_name are identical to deflines in the actual file. """ deflines = [] with open('data/genes.fasta') as fasta_file: for line in fasta_file: if line[0] == '>': deflines.append(line[1:-1]) fasta = Fasta('data/genes.fasta') long_names = [] for record in fasta: long_names.append(record.long_name) print(tuple(zip(deflines, long_names))) assert deflines == long_names def test_issue_62(remove_index): """ Check for pathogenic FastaRecord.long_name behavior in mdshw5/pyfaidx#62 """ deflines = [] line_len = None with open('data/genes.fasta', 'rb') as fasta_file: with open('data/issue_62.fa', 'wb') as fasta_uniform_len: for line in fasta_file: if line.startswith(b'>'): deflines.append(line[1:-1].decode('ascii')) fasta_uniform_len.write(line) elif line_len is None: line_len = len(line) fasta_uniform_len.write(line) elif line_len > len(line): fasta_uniform_len.write(line.rstrip() + b'N' * (line_len - len(line)) + b'\n') else: fasta_uniform_len.write(line) fasta = Fasta('data/issue_62.fa', as_raw=True) long_names = [] for record in fasta: long_names.append(record.long_name) try: os.remove('data/issue_62.fa') os.remove('data/issue_62.fa.fai') except EnvironmentError: pass sys.stdout.writelines(tuple(Differ().compare(deflines, long_names))) assert deflines == long_names def test_unpadded_length(remove_index): filename = "data/padded.fasta" with open(filename, 'w') as padded: padded.write(">test_padded\n") for n in range(10): padded.write("N" * 80) padded.write("\n") padded.write("N" * 30) padded.write("A" * 20) padded.write("N" * 30) padded.write("\n") for n in range(10): padded.write("N" * 80) padded.write("\n") fasta = Fasta(filename) expect = 20 result = fasta["test_padded"].unpadded_len print(expect, result) assert expect == result os.remove('data/padded.fasta') os.remove('data/padded.fasta.fai') def test_numpy_array(remove_index): """ Test the __array_interface__ """ import numpy filename = "data/genes.fasta.lower" reference = Fasta(filename) np_array = numpy.asarray(reference[0]) assert isinstance(np_array, numpy.ndarray) @pytest.fixture def remove_index_mutable(): with open('data/genes_mutable.fasta', 'wb') as mutable: mutable.write(open('data/genes.fasta', 'rb').read()) mutable_fasta = Fasta('data/genes_mutable.fasta', mutable=True) yield try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file try: os.remove('data/genes_mutable.fasta') except EnvironmentError: pass # some tests may delete this file try: os.remove('data/genes_mutable.fasta.fai') except EnvironmentError: pass # some tests may delete this file def test_mutate_fasta_to_same(remove_index_mutable): mutable = Fasta('data/genes_mutable.fasta', mutable=True) fasta = Fasta('data/genes.fasta', mutable=False) chunk = fasta['gi|557361099|gb|KF435150.1|'][0:100] mutable['gi|557361099|gb|KF435150.1|'][0:100] = chunk.seq assert str(fasta['gi|557361099|gb|KF435150.1|']) == str( mutable['gi|557361099|gb|KF435150.1|']) def test_mutate_fasta_to_N(remove_index_mutable): mutable = Fasta('data/genes_mutable.fasta', mutable=True) chunk = 100 * 'N' mutable['gi|557361099|gb|KF435150.1|'][0:100] = chunk assert mutable['gi|557361099|gb|KF435150.1|'][0:100].seq == chunk def test_mutate_single_position(remove_index_mutable): mutable = Fasta('data/genes_mutable.fasta', mutable=True) chunk = 'N' mutable['gi|557361099|gb|KF435150.1|'][0] = chunk assert mutable['gi|557361099|gb|KF435150.1|'][0].seq == chunk @pytest.mark.xfail(raises=TypeError) def test_mutate_immutable_fasta(remove_index_mutable): mutable = Fasta('data/genes_mutable.fasta', mutable=False) chunk = 100 * 'N' mutable['gi|557361099|gb|KF435150.1|'][0:100] = chunk @pytest.mark.xfail(raises=IOError) def test_mutate_too_long(remove_index_mutable): mutable = Fasta('data/genes_mutable.fasta', mutable=True) chunk = 101 * 'N' mutable['gi|557361099|gb|KF435150.1|'][0:100] = chunk pyfaidx-0.6.4/tests/test_FastaRecord_iter.py000066400000000000000000000021211417603162300211570ustar00rootroot00000000000000import os import pytest from pyfaidx import Fasta from itertools import chain path = os.path.dirname(__file__) os.chdir(path) @pytest.fixture def remove_index(): yield try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file def test_fetch_whole_fasta(remove_index): expect = [line.rstrip('\n') for line in open('data/genes.fasta') if line[0] != '>'] result = list(chain(*([line for line in record] for record in Fasta('data/genes.fasta', as_raw=True)))) assert expect == result def test_line_len(remove_index): fasta = Fasta('data/genes.fasta') for record in fasta: assert len(next(iter(record))) == fasta.faidx.index[record.name].lenc def test_reverse_iter(remove_index): expect = list(chain(*([line[::-1] for line in record][::-1] for record in Fasta('data/genes.fasta', as_raw=True)))) result = list(chain(*([line for line in reversed(record)] for record in Fasta('data/genes.fasta', as_raw=True)))) for a, b in zip(expect, result): print(a, b) assert expect == result pyfaidx-0.6.4/tests/test_FastaVariant.py000066400000000000000000000051071417603162300203310ustar00rootroot00000000000000import os import pytest from pyfaidx import FastaVariant, Fasta path = os.path.dirname(__file__) os.chdir(path) @pytest.fixture def remove_index(): yield try: os.remove('data/chr22.fasta.fai') except EnvironmentError: pass # some tests may delete this file def test_fetch_variant(remove_index): try: import pysam fasta = FastaVariant('data/chr22.fasta', 'data/chr22.vcf.gz', hom=True, het=True, as_raw=True) assert fasta['22'][32330458:32330462] == 'CAGG' # het assert fasta['22'][32352282:32352286] == 'CAGC' # hom except (ImportError, IOError): pytest.skip("pysam not installed.") def test_fetch_hom_variant(remove_index): try: import pysam fasta = FastaVariant('data/chr22.fasta', 'data/chr22.vcf.gz', hom=True, het=False, as_raw=True) assert fasta['22'][32330458:32330462] == 'CGGG' # het assert fasta['22'][32352282:32352286] == 'CAGC' # hom except (ImportError, IOError): pytest.skip("pysam not installed.") def test_fetch_het_variant(remove_index): try: import pysam fasta = FastaVariant('data/chr22.fasta', 'data/chr22.vcf.gz', hom=False, het=True, as_raw=True) assert fasta['22'][32330458:32330462] == 'CAGG' # het assert fasta['22'][32352282:32352286] == 'CGGC' # hom except (ImportError, IOError): pytest.skip("pysam not installed.") def test_fetch_chr_not_in_vcf(remove_index): try: import pysam fasta = FastaVariant('data/chr22andfake.fasta', 'data/chr22.vcf.gz', hom=True, het=True, as_raw=True) assert fasta['fake'][:10] == 'ATCG' # fake is not in vcf except (ImportError, IOError): pytest.skip("pysam not installed.") def test_all_pos(remove_index): try: import pysam fasta = FastaVariant('data/chr22.fasta', 'data/chr22.vcf.gz', hom=True, het=True, as_raw=True) assert fasta['22'].variant_sites == (16042793, 21833121, 29153196, 29187373, 29187448, 29194610, 29821295, 29821332, 29993842, 32330460, 32352284) except (ImportError, IOError): pytest.skip("pysam not installed.") def test_all_diff(remove_index): try: fasta = FastaVariant('data/chr22.fasta', 'data/chr22.vcf.gz', hom=True, het=True, as_raw=True) ref = Fasta('data/chr22.fasta', as_raw=True) print([(ref['22'][pos-1], fasta['22'][pos-1]) for pos in fasta['22'].variant_sites]) assert all(ref['22'][pos-1] != fasta['22'][pos-1] for pos in fasta['22'].variant_sites) except (ImportError, IOError): pytest.skip("pysam not installed.") pyfaidx-0.6.4/tests/test_Fasta_bgzip.py000066400000000000000000000231671417603162300202050ustar00rootroot00000000000000import os import pytest from pyfaidx import Fasta, Faidx, UnsupportedCompressionFormat, FetchError from itertools import chain path = os.path.dirname(__file__) os.chdir(path) try: from Bio import SeqIO bio = True except ImportError: bio = False @pytest.fixture def remove_index(): yield try: os.remove('data/genes.fasta.gz.fai') except EnvironmentError: pass # some tests may delete this file @pytest.mark.skipif(not bio, reason="Biopython is not installed.") @pytest.mark.xfail def test_build_issue_126(remove_index): """ Samtools BGZF index should be identical to pyfaidx BGZF index """ expect_index = ("gi|563317589|dbj|AB821309.1| 3510 114 70 71\n" "gi|557361099|gb|KF435150.1| 481 3789 70 71\n" "gi|557361097|gb|KF435149.1| 642 4368 70 71\n" "gi|543583796|ref|NR_104216.1| 4573 5141 70 71\n" "gi|543583795|ref|NR_104215.1| 5317 9901 70 71\n" "gi|543583794|ref|NR_104212.1| 5374 15415 70 71\n" "gi|543583788|ref|NM_001282545.1| 4170 20980 70 71\n" "gi|543583786|ref|NM_001282543.1| 5466 25324 70 71\n" "gi|543583785|ref|NM_000465.3| 5523 30980 70 71\n" "gi|543583740|ref|NM_001282549.1| 3984 36696 70 71\n" "gi|543583738|ref|NM_001282548.1| 4113 40851 70 71\n" "gi|530384540|ref|XM_005249645.1| 2752 45151 70 71\n" "gi|530384538|ref|XM_005249644.1| 3004 48071 70 71\n" "gi|530384536|ref|XM_005249643.1| 3109 51246 70 71\n" "gi|530384534|ref|XM_005249642.1| 3097 54528 70 71\n" "gi|530373237|ref|XM_005265508.1| 2794 57830 70 71\n" "gi|530373235|ref|XM_005265507.1| 2848 60824 70 71\n" "gi|530364726|ref|XR_241081.1| 1009 63849 70 71\n" "gi|530364725|ref|XR_241080.1| 4884 65009 70 71\n" "gi|530364724|ref|XR_241079.1| 2819 70099 70 71\n") index_file = Faidx('data/genes.fasta.gz').indexname result_index = open(index_file).read() assert result_index == expect_index def test_integer_slice(remove_index): fasta = Fasta('data/genes.fasta.gz') expect = fasta['gi|563317589|dbj|AB821309.1|'][:100].seq result = fasta[0][:100].seq assert expect == result def test_integer_index(remove_index): fasta = Fasta('data/genes.fasta.gz') expect = fasta['gi|563317589|dbj|AB821309.1|'][100].seq result = fasta[0][100].seq assert expect == result def test_fetch_whole_fasta(remove_index): expect = [line.rstrip('\n') for line in open('data/genes.fasta') if line[0] != '>'] result = list(chain(*([line for line in record] for record in Fasta('data/genes.fasta.gz', as_raw=True)))) assert expect == result def test_line_len(remove_index): fasta = Fasta('data/genes.fasta.gz') for record in fasta: assert len(next(iter(record))) == fasta.faidx.index[record.name].lenc @pytest.mark.xfail(raises=UnsupportedCompressionFormat) def test_mutable_bgzf(remove_index): fasta = Fasta('data/genes.fasta.gz', mutable=True) @pytest.mark.xfail(raises=NotImplementedError) def test_long_names(remove_index): """ Test that deflines extracted using FastaRecord.long_name are identical to deflines in the actual file. """ deflines = [] with open('data/genes.fasta') as fasta_file: for line in fasta_file: if line[0] == '>': deflines.append(line[1:-1]) fasta = Fasta('data/genes.fasta.gz') long_names = [] for record in fasta: long_names.append(record.long_name) assert deflines == long_names def test_fetch_whole_entry(remove_index): faidx = Faidx('data/genes.fasta.gz') expect = ('ATGACATCATTTTCCACCTCTGCTCAGTGTTCAACATCTGA' 'CAGTGCTTGCAGGATCTCTCCTGGACAAATCAATCAGGTACGACCA' 'AAACTGCCGCTTTTGAAGATTTTGCATGCAGCAGGTGCGCAAGG' 'TGAAATGTTCACTGTTAAAGAGGTCATGCACTATTTAGGTCAGTACAT' 'AATGGTGAAGCAACTTTATGATCAGCAGGAGCAGCATATGGTATATTG' 'TGGTGGAGATCTTTTGGGAGAACTACTGGGACGTCAGAGCTTCTCCGTG' 'AAAGACCCAAGCCCTCTCTATGATATGCTAAGAAAGAATCTTGTCACTTT' 'AGCCACTGCTACTACAGCAAAGTGCAGAGGAAAGTTCCACTTCCAGAAAAA' 'GAACTACAGAAGACGATATCCCCACACTGCCTACCTCAGAGCATAAATGCA' 'TACATTCTAGAGAAGGTGATTGAAGTGGGAAAAAATGATGACCTGGAGGACTC') result = faidx.fetch('gi|557361099|gb|KF435150.1|', 1, 481) assert str(result) == expect def test_fetch_middle(remove_index): faidx = Faidx('data/genes.fasta.gz') expect = 'TTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAA' result = faidx.fetch('gi|557361099|gb|KF435150.1|', 100, 150) assert str(result) == expect def test_fetch_end(remove_index): faidx = Faidx('data/genes.fasta.gz') expect = 'TC' result = faidx.fetch('gi|557361099|gb|KF435150.1|', 480, 481) assert str(result) == expect @pytest.mark.xfail(raises=FetchError) def test_fetch_border(remove_index): """ Fetch past the end of a gene entry """ faidx = Faidx('data/genes.fasta.gz') expect = 'TC' result = faidx.fetch('gi|557361099|gb|KF435150.1|', 480, 500) print(result) assert str(result) == expect def test_rev(remove_index): faidx = Faidx('data/genes.fasta.gz') expect = 'GA' result = faidx.fetch('gi|557361099|gb|KF435150.1|', 480, 481) assert str(-result) == expect, result @pytest.mark.xfail(raises=FetchError) def test_fetch_past_bounds(remove_index): """ Fetch past the end of a gene entry """ faidx = Faidx('data/genes.fasta.gz', strict_bounds=True) result = faidx.fetch('gi|557361099|gb|KF435150.1|', 480, 5000) @pytest.mark.xfail(raises=FetchError) def test_fetch_negative(remove_index): """ Fetch starting with a negative coordinate """ faidx = Faidx('data/genes.fasta.gz', strict_bounds=True) result = faidx.fetch('gi|557361099|gb|KF435150.1|', -10, 10) @pytest.mark.xfail(raises=FetchError) def test_fetch_reversed_coordinates(remove_index): """ Fetch starting with a negative coordinate """ faidx = Faidx('data/genes.fasta.gz', strict_bounds=True) result = faidx.fetch('gi|557361099|gb|KF435150.1|', 50, 10) @pytest.mark.xfail(raises=FetchError) def test_fetch_keyerror(remove_index): """ Fetch a key that does not exist """ faidx = Faidx('data/genes.fasta.gz', strict_bounds=True) result = faidx.fetch('gi|joe|gb|KF435150.1|', 1, 10) def test_blank_string(remove_index): """ seq[0:0] should return a blank string mdshw5/pyfaidx#53 """ fasta = Fasta('data/genes.fasta.gz', as_raw=True) assert fasta['gi|557361099|gb|KF435150.1|'][0:0] == '' def test_slice_from_beginning(remove_index): fasta = Fasta('data/genes.fasta.gz', as_raw=True) assert fasta['gi|557361099|gb|KF435150.1|'][:4] == 'ATGA' def test_slice_from_end(remove_index): fasta = Fasta('data/genes.fasta.gz', as_raw=True) assert fasta['gi|557361099|gb|KF435150.1|'][-4:] == 'ACTC' def test_issue_74_start(remove_index): f0 = Fasta('data/genes.fasta.gz', one_based_attributes=False) f1 = Fasta('data/genes.fasta.gz', one_based_attributes=True) assert f0['gi|557361099|gb|KF435150.1|'][0:90].start == f1['gi|557361099|gb|KF435150.1|'][0:90].start - 1 def test_issue_74_consistency(remove_index): f0 = Fasta('data/genes.fasta.gz', one_based_attributes=False) f1 = Fasta('data/genes.fasta.gz', one_based_attributes=True) assert str(f0['gi|557361099|gb|KF435150.1|'][0:90]) == str(f1['gi|557361099|gb|KF435150.1|'][0:90]) def test_issue_74_end_faidx(remove_index): f0 = Faidx('data/genes.fasta.gz', one_based_attributes=False) f1 = Faidx('data/genes.fasta.gz', one_based_attributes=True) end0 = f0.fetch('gi|557361099|gb|KF435150.1|', 1, 90).end end1 = f1.fetch('gi|557361099|gb|KF435150.1|', 1, 90).end assert end0 == end1 def test_issue_74_end_fasta(remove_index): f0 = Fasta('data/genes.fasta.gz', one_based_attributes=False) f1 = Fasta('data/genes.fasta.gz', one_based_attributes=True) end0 = f0['gi|557361099|gb|KF435150.1|'][1:90].end end1 = f1['gi|557361099|gb|KF435150.1|'][1:90].end print((end0, end1)) assert end0 == end1 def test_issue_79_fix(remove_index): f = Fasta('data/genes.fasta.gz') s = f['gi|557361099|gb|KF435150.1|'][100:105] print((s.start, s.end)) assert (101, 105) == (s.start, s.end) def test_issue_79_fix_negate(remove_index): f = Fasta('data/genes.fasta.gz') s = f['gi|557361099|gb|KF435150.1|'][100:105] s = -s print((s.start, s.end)) assert (105, 101) == (s.start, s.end) def test_issue_79_fix_one_based_false(remove_index): f = Fasta('data/genes.fasta.gz', one_based_attributes=False) s = f['gi|557361099|gb|KF435150.1|'][100:105] print((s.start, s.end)) assert (100, 105) == (s.start, s.end) def test_issue_79_fix_one_based_false_negate(remove_index): f = Fasta('data/genes.fasta.gz', one_based_attributes=False) s = f['gi|557361099|gb|KF435150.1|'][100:105] print(s.__dict__) s = -s print(s.__dict__) assert (105, 100) == (s.start, s.end) @pytest.mark.xfail(raises=FetchError) def test_fetch_border_padded(remove_index): """ Fetch past the end of a gene entry """ faidx = Faidx('data/genes.fasta.gz', default_seq='N') expect = 'TCNNNNNNNNNNNNNNNNNNN' result = faidx.fetch('gi|557361099|gb|KF435150.1|', 480, 500) print(result) assert str(result) == expect pyfaidx-0.6.4/tests/test_Fasta_integer_index.py000066400000000000000000000012401417603162300217020ustar00rootroot00000000000000import os import pytest from pyfaidx import Fasta path = os.path.dirname(__file__) os.chdir(path) @pytest.fixture def remove_index(): yield try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file def test_integer_slice(remove_index): fasta = Fasta('data/genes.fasta') expect = fasta['gi|563317589|dbj|AB821309.1|'][:100].seq result = fasta[0][:100].seq assert expect == result def test_integer_index(remove_index): fasta = Fasta('data/genes.fasta') expect = fasta['gi|563317589|dbj|AB821309.1|'][100].seq result = fasta[0][100].seq assert expect == result pyfaidx-0.6.4/tests/test_Fasta_synchronization.py000066400000000000000000000175651417603162300223400ustar00rootroot00000000000000import os import pytest try: from collections import OrderedDict except ImportError: #python 2.6 from ordereddict import OrderedDict import threading from pyfaidx import Fasta import random import tempfile import time import shutil from unittest import TestCase path = os.path.dirname(__file__) os.chdir(path) class _ThreadReadSequence(threading.Thread): def __init__(self, rand, result_map, result_lock, name, seq): super(_ThreadReadSequence, self).__init__() seq_len = len(seq) sub_seq_slices = list(slice(i, min(i + 20, seq_len)) for i in range(0, seq_len, 20)) random.shuffle(sub_seq_slices) self.result_map = result_map self.result_lock = result_lock self.name = name self.seq = seq self.sub_seq_slices = sub_seq_slices def run(self): name = self.name seq = self.seq sub_seqs = [''] * len(self.sub_seq_slices) for sub_seq_slice in self.sub_seq_slices: sub_seqs[sub_seq_slice.start//20] = seq[sub_seq_slice] time.sleep(0) # Put sub-sequences in correct order seq_str = ''.join(sub_seqs) with self.result_lock: self.result_map[name] = seq_str class _ThreadWriteSequence(threading.Thread): def __init__(self, rand, name, seq): super(_ThreadWriteSequence, self).__init__() seq_len = len(seq) sub_seq_slices = list(slice(i, min(i + 20, seq_len)) for i in range(0, seq_len, 20)) random.shuffle(sub_seq_slices) self.name = name self.seq = seq self.sub_seq_slices = sub_seq_slices def run(self): seq = self.seq seq_len = len(seq) seq_str = seq[:].lower() for sub_seq_slice in self.sub_seq_slices: try: seq[sub_seq_slice] = seq_str[sub_seq_slice] time.sleep(0) except Exception: # Conflicting simultaneous writes are likely to cause exceptions # We test for the expected string at the end, so ignore interim # failures. pass class TestFastaIntIndex(TestCase): def setUp(self): self.longMessage = True self.maxDiff = None self.tmp_dir = tempfile.mkdtemp() # Use a seeded random orders are randomish within a test, but the same across test runs self.rand = random.Random(8903423147) def tearDown(self): tmp_dir = getattr(self, 'tmp_dir', None) if tmp_dir: shutil.rmtree(tmp_dir) try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file def test_simultaneous_reads(self): """ Test that each read of a sequence range is atomic. To do this, spawn several threads to simultaneously read the sequences in a Fasta file in pieces. If the reads are not atomic, then it is reasonably likely (with sufficient concurrency) that a read from one thread will affect that in another, so the sequences will not be read properly. """ # Read in original file data ref_seq_map = OrderedDict() with Fasta('data/genes.fasta', as_raw=True, strict_bounds=True) as fasta: for name, seq in fasta.records.items(): ref_seq_map[name] = seq[:] # Initialize map with fasta sequence names to enforce same ordering as 'ref_seq_map' thread_result_lock = threading.Lock() thread_read_seq_map = OrderedDict((name, None) for name in ref_seq_map) # Read file again, using many threads and simultaneously reading each sequence in pieces with Fasta('data/genes.fasta', as_raw=True, strict_bounds=True) as fasta: threads = [] for name, seq in fasta.records.items(): threads.append(_ThreadReadSequence(self.rand, thread_read_seq_map, thread_result_lock, name, seq)) for thread in threads: thread.start() for thread in threads: thread.join() self.assertEqual(thread_read_seq_map, ref_seq_map) def test_simultaneous_writes(self): """ Test that each write of a sequence range is atomic. To do this, spawn several threads to simultaneously write sequences to a Fasta file in pieces. If the writes are not atomic, then it is reasonably likely (with sufficient concurrency) that a write from one thread will affect that in another, so the sequences will not be written properly. To make sure all sequences are mutated, the writes will transform the sequence to lower-case. """ tmp_dir = self.tmp_dir tmp_fasta = os.path.join(tmp_dir, 'genes_write.fasta') shutil.copyfile('data/genes.fasta', tmp_fasta) # Read in original file data ref_seq_map = OrderedDict() with Fasta('data/genes.fasta', as_raw=True, strict_bounds=True) as fasta: for name, seq in fasta.records.items(): ref_seq_map[name] = seq[:].lower() # Now write file, using many threads and simultaneously reading each sequence in pieces with Fasta(tmp_fasta, as_raw=True, strict_bounds=True, mutable=True) as fasta: threads = [] for name, seq in fasta.records.items(): threads.append(_ThreadWriteSequence(self.rand, name, seq)) for thread in threads: thread.start() for thread in threads: thread.join() fasta.faidx.file.flush() # Now read written Fasta file, and compare it to the original thread_write_seq_map = OrderedDict() with Fasta(tmp_fasta, as_raw=True, strict_bounds=True) as fasta: for name, seq in fasta.records.items(): thread_write_seq_map[name] = seq[:] self.assertEqual(thread_write_seq_map, ref_seq_map) def test_simultaneous_reads_and_writes(self): """ Combine the above two tests to check that interleaved reads and writes don't conflict. """ tmp_dir = self.tmp_dir tmp_fasta = os.path.join(tmp_dir, 'genes_write.fasta') shutil.copyfile('data/genes.fasta', tmp_fasta) # Read in original file data ref_seq_map = OrderedDict() with Fasta('data/genes.fasta', as_raw=True, strict_bounds=True) as fasta: for name, seq in fasta.records.items(): ref_seq_map[name] = seq[:].lower() # Initialize map with fasta sequence names to enforce same ordering as 'ref_seq_map' thread_result_lock = threading.Lock() thread_read_seq_map = OrderedDict((name, None) for name in ref_seq_map) # Now write file, using many threads and simultaneously reading each sequence in pieces with Fasta(tmp_fasta, as_raw=True, strict_bounds=True, mutable=True) as fasta: threads = [] for name, seq in fasta.records.items(): threads.append(_ThreadWriteSequence(self.rand, name, seq)) threads.append(_ThreadReadSequence(self.rand, thread_read_seq_map, thread_result_lock, name, seq)) for thread in threads: thread.start() for thread in threads: thread.join() fasta.faidx.file.flush() # Now read written Fasta file, and compare it to the original thread_write_seq_map = OrderedDict() with Fasta(tmp_fasta, as_raw=True, strict_bounds=True) as fasta: for name, seq in fasta.records.items(): thread_write_seq_map[name] = seq[:] # Change read strings to lower-case (may be a mixture of lower and upper) for name in ref_seq_map.keys(): thread_read_seq_map[name] = thread_read_seq_map[name].lower() self.assertEqual(thread_write_seq_map, ref_seq_map) self.assertEqual(thread_read_seq_map, ref_seq_map) pyfaidx-0.6.4/tests/test_bio_seqio.py000066400000000000000000000030621417603162300177150ustar00rootroot00000000000000import os import pytest from pyfaidx import Fasta, FetchError path = os.path.dirname(__file__) os.chdir(path) try: from Bio import SeqIO bio = True except ImportError: bio = False @pytest.fixture def remove_index(): yield try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file @pytest.mark.skipif(not bio, reason="Biopython is not installed.") def test_fetch_whole_entry(remove_index): fasta = Fasta('data/genes.fasta') with open('data/genes.fasta', "r") as fh: seqio = SeqIO.to_dict(SeqIO.parse(fh, "fasta")) assert str(fasta['gi|557361099|gb|KF435150.1|']) == str(seqio['gi|557361099|gb|KF435150.1|'].seq) assert fasta['gi|557361099|gb|KF435150.1|'].name == str(seqio['gi|557361099|gb|KF435150.1|'].name) @pytest.mark.skipif(not bio, reason="Biopython is not installed.") def test_slice_whole_entry(remove_index): fasta = Fasta('data/genes.fasta') with open('data/genes.fasta', "r") as fh: seqio = SeqIO.to_dict(SeqIO.parse(fh, "fasta")) assert str(fasta['gi|557361099|gb|KF435150.1|'][::3]) == str(seqio['gi|557361099|gb|KF435150.1|'].seq[::3]) @pytest.mark.skipif(not bio, reason="Biopython is not installed.") def test_revcomp_whole_entry(remove_index): fasta = Fasta('data/genes.fasta') with open('data/genes.fasta', "r") as fh: seqio = SeqIO.to_dict(SeqIO.parse(fh, "fasta")) assert str(fasta['gi|557361099|gb|KF435150.1|'][:].reverse.complement) == str(seqio['gi|557361099|gb|KF435150.1|'].reverse_complement().seq)pyfaidx-0.6.4/tests/test_faidx.py000066400000000000000000000036131417603162300170410ustar00rootroot00000000000000import os import filecmp import pytest from pyfaidx import BedError, FetchError from pyfaidx.cli import main from tempfile import NamedTemporaryFile path = os.path.dirname(__file__) os.chdir(path) @pytest.fixture def remove_index(): yield try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file @pytest.mark.xfail(raises=BedError) def test_short_line_lengths(remove_index): main(['data/genes.fasta', '--bed', 'data/malformed.bed']) def test_fetch_whole_file(remove_index): main(['data/genes.fasta']) def test_split_entry(remove_index): main(['--split-files', 'data/genes.fasta', 'gi|557361099|gb|KF435150.1|']) assert os.path.exists('gi557361099gbKF435150.1.fasta') os.remove('gi557361099gbKF435150.1.fasta') @pytest.mark.xfail(raises=FetchError) def test_fetch_error(remove_index): main(['data/genes.fasta', 'gi|557361099|gb|KF435150.1|:1-1000']) def test_key_warning(remove_index): main(['data/genes.fasta', 'foo']) def test_auto_strand(remove_index): """ Test that --auto-strand produces the same output as --reverse --complement""" with NamedTemporaryFile() as auto_strand: with NamedTemporaryFile() as noto_strand: main(['--auto-strand', '-o', auto_strand.name, 'data/genes.fasta', 'gi|557361099|gb|KF435150.1|:100-1']) main(['--reverse', '--complement', '-o', noto_strand.name, 'data/genes.fasta', 'gi|557361099|gb|KF435150.1|:1-100']) print(auto_strand.read()) print() print(noto_strand.read()) assert filecmp.cmp(auto_strand.name, noto_strand.name) def test_regexp(remove_index): main(['data/genes.fasta', '-g', 'XR']) def test_not_regexp(remove_index): main(['data/genes.fasta', '-g', 'XR','-v']) def test_not_regexp_multi(remove_index): main(['data/genes.fasta', '-g', 'XR', '-g', 'XM', '-v']) pyfaidx-0.6.4/tests/test_feature_bounds_check.py000066400000000000000000000152331417603162300221110ustar00rootroot00000000000000import os import pytest from pyfaidx import Faidx, Fasta, FetchError path = os.path.dirname(__file__) os.chdir(path) @pytest.fixture def setup_zero(): with open('data/zero_length.fasta', 'w') as fasta: fasta.write(""">A ATCG >B >C >D GTA GC""") yield os.remove('data/zero_length.fasta') os.remove('data/zero_length.fasta.fai') def test_index_zero_length(setup_zero): fasta = Fasta('data/zero_length.fasta') def test_fetch_zero_length(setup_zero): fasta = Fasta('data/zero_length.fasta') b = fasta["B"] assert str(b) == '' @pytest.fixture def remove_index(): yield try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file def test_as_raw_zero_length_subsequence(remove_index): fasta = Fasta('data/genes.fasta', as_raw=True, strict_bounds=True) expect = '' result = fasta['gi|557361099|gb|KF435150.1|'][100:100] assert result == expect def test_zero_length_subsequence(remove_index): fasta = Fasta('data/genes.fasta', strict_bounds=True) expect = '' result = fasta['gi|557361099|gb|KF435150.1|'][100:100] assert result.seq == expect def test_fetch_whole_entry(remove_index): faidx = Faidx('data/genes.fasta') expect = ('ATGACATCATTTTCCACCTCTGCTCAGTGTTCAACATCTGA' 'CAGTGCTTGCAGGATCTCTCCTGGACAAATCAATCAGGTACGACCA' 'AAACTGCCGCTTTTGAAGATTTTGCATGCAGCAGGTGCGCAAGG' 'TGAAATGTTCACTGTTAAAGAGGTCATGCACTATTTAGGTCAGTACAT' 'AATGGTGAAGCAACTTTATGATCAGCAGGAGCAGCATATGGTATATTG' 'TGGTGGAGATCTTTTGGGAGAACTACTGGGACGTCAGAGCTTCTCCGTG' 'AAAGACCCAAGCCCTCTCTATGATATGCTAAGAAAGAATCTTGTCACTTT' 'AGCCACTGCTACTACAGCAAAGTGCAGAGGAAAGTTCCACTTCCAGAAAAA' 'GAACTACAGAAGACGATATCCCCACACTGCCTACCTCAGAGCATAAATGCA' 'TACATTCTAGAGAAGGTGATTGAAGTGGGAAAAAATGATGACCTGGAGGACTC') result = faidx.fetch('gi|557361099|gb|KF435150.1|', 1, 481) assert str(result) == expect def test_fetch_middle(remove_index): faidx = Faidx('data/genes.fasta') expect = 'TTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAA' result = faidx.fetch('gi|557361099|gb|KF435150.1|', 100, 150) assert str(result) == expect def test_fetch_end(remove_index): faidx = Faidx('data/genes.fasta') expect = 'TC' result = faidx.fetch('gi|557361099|gb|KF435150.1|', 480, 481) assert str(result) == expect def test_fetch_border(remove_index): """ Fetch past the end of a gene entry """ faidx = Faidx('data/genes.fasta') expect = 'TC' result = faidx.fetch('gi|557361099|gb|KF435150.1|', 480, 500) assert str(result) == expect def test_rev(remove_index): faidx = Faidx('data/genes.fasta') expect = 'GA' result = faidx.fetch('gi|557361099|gb|KF435150.1|', 480, 481) assert str(-result) == expect, result @pytest.mark.xfail(raises=FetchError) def test_fetch_past_bounds(remove_index): """ Fetch past the end of a gene entry """ faidx = Faidx('data/genes.fasta', strict_bounds=True) result = faidx.fetch('gi|557361099|gb|KF435150.1|', 480, 5000) @pytest.mark.xfail(raises=FetchError) def test_fetch_negative(remove_index): """ Fetch starting with a negative coordinate """ faidx = Faidx('data/genes.fasta', strict_bounds=True) result = faidx.fetch('gi|557361099|gb|KF435150.1|', -10, 10) @pytest.mark.xfail(raises=FetchError) def test_fetch_reversed_coordinates(remove_index): """ Fetch starting with a negative coordinate """ faidx = Faidx('data/genes.fasta', strict_bounds=True) result = faidx.fetch('gi|557361099|gb|KF435150.1|', 50, 10) @pytest.mark.xfail(raises=FetchError) def test_fetch_keyerror(remove_index): """ Fetch a key that does not exist """ faidx = Faidx('data/genes.fasta', strict_bounds=True) result = faidx.fetch('gi|joe|gb|KF435150.1|', 1, 10) def test_blank_string(remove_index): """ seq[0:0] should return a blank string mdshw5/pyfaidx#53 """ fasta = Fasta('data/genes.fasta', as_raw=True) assert fasta['gi|557361099|gb|KF435150.1|'][0:0] == '' def test_slice_from_beginning(remove_index): fasta = Fasta('data/genes.fasta', as_raw=True) assert fasta['gi|557361099|gb|KF435150.1|'][:4] == 'ATGA' def test_slice_from_end(remove_index): fasta = Fasta('data/genes.fasta', as_raw=True) assert fasta['gi|557361099|gb|KF435150.1|'][-4:] == 'ACTC' def test_issue_74_start(remove_index): f0 = Fasta('data/genes.fasta', one_based_attributes=False) f1 = Fasta('data/genes.fasta', one_based_attributes=True) assert f0['gi|557361099|gb|KF435150.1|'][0:90].start == f1['gi|557361099|gb|KF435150.1|'][0:90].start - 1 def test_issue_74_consistency(remove_index): f0 = Fasta('data/genes.fasta', one_based_attributes=False) f1 = Fasta('data/genes.fasta', one_based_attributes=True) assert str(f0['gi|557361099|gb|KF435150.1|'][0:90]) == str(f1['gi|557361099|gb|KF435150.1|'][0:90]) def test_issue_74_end_faidx(remove_index): f0 = Faidx('data/genes.fasta', one_based_attributes=False) f1 = Faidx('data/genes.fasta', one_based_attributes=True) end0 = f0.fetch('gi|557361099|gb|KF435150.1|', 1, 90).end end1 = f1.fetch('gi|557361099|gb|KF435150.1|', 1, 90).end assert end0 == end1 def test_issue_74_end_fasta(remove_index): f0 = Fasta('data/genes.fasta', one_based_attributes=False) f1 = Fasta('data/genes.fasta', one_based_attributes=True) end0 = f0['gi|557361099|gb|KF435150.1|'][1:90].end end1 = f1['gi|557361099|gb|KF435150.1|'][1:90].end print((end0, end1)) assert end0 == end1 def test_issue_79_fix(remove_index): f = Fasta('data/genes.fasta') s = f['gi|557361099|gb|KF435150.1|'][100:105] print((s.start, s.end)) assert (101, 105) == (s.start, s.end) def test_issue_79_fix_negate(remove_index): f = Fasta('data/genes.fasta') s = f['gi|557361099|gb|KF435150.1|'][100:105] s = -s print((s.start, s.end)) assert (105, 101) == (s.start, s.end) def test_issue_79_fix_one_based_false(remove_index): f = Fasta('data/genes.fasta', one_based_attributes=False) s = f['gi|557361099|gb|KF435150.1|'][100:105] print((s.start, s.end)) assert (100, 105) == (s.start, s.end) def test_issue_79_fix_one_based_false_negate(remove_index): f = Fasta('data/genes.fasta', one_based_attributes=False) s = f['gi|557361099|gb|KF435150.1|'][100:105] print(s.__dict__) s = -s print(s.__dict__) assert (105, 100) == (s.start, s.end)pyfaidx-0.6.4/tests/test_feature_default_seq.py000066400000000000000000000011061417603162300217500ustar00rootroot00000000000000import os import pytest from pyfaidx import Faidx path = os.path.dirname(__file__) os.chdir(path) @pytest.fixture def remove_index(): yield try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file def test_fetch_border_padded(remove_index): """ Fetch past the end of a gene entry """ faidx = Faidx('data/genes.fasta', default_seq='N') expect = 'TCNNNNNNNNNNNNNNNNNNN' result = faidx.fetch('gi|557361099|gb|KF435150.1|', 480, 500) assert str(result) == expect pyfaidx-0.6.4/tests/test_feature_indexing.py000066400000000000000000000345251417603162300212740ustar00rootroot00000000000000import os import pytest from os.path import getmtime from pyfaidx import Faidx, FastaIndexingError, IndexNotFoundError, FastaNotFoundError from tempfile import NamedTemporaryFile, mkdtemp import time import platform import shutil try: from unittest import mock except ImportError: import mock import six.moves.builtins as builtins path = os.path.dirname(__file__) os.chdir(path) @pytest.fixture def remove_index(): yield try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file def test_build(remove_index): expect_index = ("gi|563317589|dbj|AB821309.1| 3510 114 70 71\n" "gi|557361099|gb|KF435150.1| 481 3789 70 71\n" "gi|557361097|gb|KF435149.1| 642 4368 70 71\n" "gi|543583796|ref|NR_104216.1| 4573 5141 70 71\n" "gi|543583795|ref|NR_104215.1| 5317 9901 70 71\n" "gi|543583794|ref|NR_104212.1| 5374 15415 70 71\n" "gi|543583788|ref|NM_001282545.1| 4170 20980 70 71\n" "gi|543583786|ref|NM_001282543.1| 5466 25324 70 71\n" "gi|543583785|ref|NM_000465.3| 5523 30980 70 71\n" "gi|543583740|ref|NM_001282549.1| 3984 36696 70 71\n" "gi|543583738|ref|NM_001282548.1| 4113 40851 70 71\n" "gi|530384540|ref|XM_005249645.1| 2752 45151 70 71\n" "gi|530384538|ref|XM_005249644.1| 3004 48071 70 71\n" "gi|530384536|ref|XM_005249643.1| 3109 51246 70 71\n" "gi|530384534|ref|XM_005249642.1| 3097 54528 70 71\n" "gi|530373237|ref|XM_005265508.1| 2794 57830 70 71\n" "gi|530373235|ref|XM_005265507.1| 2848 60824 70 71\n" "gi|530364726|ref|XR_241081.1| 1009 63849 70 71\n" "gi|530364725|ref|XR_241080.1| 4884 65009 70 71\n" "gi|530364724|ref|XR_241079.1| 2819 70099 70 71\n") index_file = Faidx('data/genes.fasta').indexname result_index = open(index_file).read() assert result_index == expect_index def test_build_issue_141(remove_index): expect_index = ("gi|563317589|dbj|AB821309.1| 3510 115 70 72\n" "gi|557361099|gb|KF435150.1| 481 3842 70 72\n" "gi|557361097|gb|KF435149.1| 642 4429 70 72\n" "gi|543583796|ref|NR_104216.1| 4573 5213 70 72\n" "gi|543583795|ref|NR_104215.1| 5317 10040 70 72\n" "gi|543583794|ref|NR_104212.1| 5374 15631 70 72\n" "gi|543583788|ref|NM_001282545.1| 4170 21274 70 72\n" "gi|543583786|ref|NM_001282543.1| 5466 25679 70 72\n" "gi|543583785|ref|NM_000465.3| 5523 31415 70 72\n" "gi|543583740|ref|NM_001282549.1| 3984 37211 70 72\n" "gi|543583738|ref|NM_001282548.1| 4113 41424 70 72\n" "gi|530384540|ref|XM_005249645.1| 2752 45784 70 72\n" "gi|530384538|ref|XM_005249644.1| 3004 48745 70 72\n" "gi|530384536|ref|XM_005249643.1| 3109 51964 70 72\n" "gi|530384534|ref|XM_005249642.1| 3097 55292 70 72\n" "gi|530373237|ref|XM_005265508.1| 2794 58640 70 72\n" "gi|530373235|ref|XM_005265507.1| 2848 61675 70 72\n" "gi|530364726|ref|XR_241081.1| 1009 64742 70 72\n" "gi|530364725|ref|XR_241080.1| 4884 65918 70 72\n" "gi|530364724|ref|XR_241079.1| 2819 71079 70 72\n") index_file = Faidx('data/issue_141.fasta').indexname result_index = open(index_file).read() os.remove('data/issue_141.fasta.fai') print(result_index) assert result_index == expect_index def test_build_issue_111(remove_index): expect_index = ("gi|563317589|dbj|AB821309 3510 114 70 71\n" "gi|557361099|gb|KF435150 481 3789 70 71\n" "gi|557361097|gb|KF435149 642 4368 70 71\n" "gi|543583796|ref|NR_104216 4573 5141 70 71\n" "gi|543583795|ref|NR_104215 5317 9901 70 71\n" "gi|543583794|ref|NR_104212 5374 15415 70 71\n" "gi|543583788|ref|NM_001282545 4170 20980 70 71\n" "gi|543583786|ref|NM_001282543 5466 25324 70 71\n" "gi|543583785|ref|NM_000465 5523 30980 70 71\n" "gi|543583740|ref|NM_001282549 3984 36696 70 71\n" "gi|543583738|ref|NM_001282548 4113 40851 70 71\n" "gi|530384540|ref|XM_005249645 2752 45151 70 71\n" "gi|530384538|ref|XM_005249644 3004 48071 70 71\n" "gi|530384536|ref|XM_005249643 3109 51246 70 71\n" "gi|530384534|ref|XM_005249642 3097 54528 70 71\n" "gi|530373237|ref|XM_005265508 2794 57830 70 71\n" "gi|530373235|ref|XM_005265507 2848 60824 70 71\n" "gi|530364726|ref|XR_241081 1009 63849 70 71\n" "gi|530364725|ref|XR_241080 4884 65009 70 71\n" "gi|530364724|ref|XR_241079 2819 70099 70 71\n") index = Faidx( 'data/genes.fasta', read_long_names=True, key_function=lambda x: x.split('.')[0]) result_index = ''.join(index._index_as_string()) assert result_index == expect_index def test_order(remove_index): order = ("gi|563317589|dbj|AB821309.1|", "gi|557361099|gb|KF435150.1|", "gi|557361097|gb|KF435149.1|", "gi|543583796|ref|NR_104216.1|", "gi|543583795|ref|NR_104215.1|", "gi|543583794|ref|NR_104212.1|", "gi|543583788|ref|NM_001282545.1|", "gi|543583786|ref|NM_001282543.1|", "gi|543583785|ref|NM_000465.3|", "gi|543583740|ref|NM_001282549.1|", "gi|543583738|ref|NM_001282548.1|", "gi|530384540|ref|XM_005249645.1|", "gi|530384538|ref|XM_005249644.1|", "gi|530384536|ref|XM_005249643.1|", "gi|530384534|ref|XM_005249642.1|", "gi|530373237|ref|XM_005265508.1|", "gi|530373235|ref|XM_005265507.1|", "gi|530364726|ref|XR_241081.1|", "gi|530364725|ref|XR_241080.1|", "gi|530364724|ref|XR_241079.1|") result = tuple(Faidx('data/genes.fasta').index.keys()) assert result == order def test_valgrind_short_lines(remove_index): """ Makes all full-length lines short and checks that error is raised in all appropriate circumstances. """ # http://stackoverflow.com/a/23212515/717419 if platform.system() == 'Windows': raise SkipTest indexed = [] with open('data/genes.fasta') as genes: fasta = genes.readlines() n_lines = sum(1 for line in fasta) for n in range(n_lines): with NamedTemporaryFile(mode='w') as lines: for i, line in enumerate(fasta): if i == n and line[0] != '>' and len(line) == 71: line = line[:-3] + '\n' full_line = True elif i == n: full_line = False lines.write(line) lines.flush() name = lines.name if full_line: try: Faidx(name) indexed.append(True) except FastaIndexingError: indexed.append(False) assert not any(indexed) def test_valgrind_long_lines(remove_index): """ Makes all full-length lines long and checks that error is raised in all appropriate circumstances. """ # http://stackoverflow.com/a/23212515/717419 if platform.system() == 'Windows': raise SkipTest indexed = [] with open('data/genes.fasta') as genes: fasta = genes.readlines() n_lines = sum(1 for line in fasta) for n in range(n_lines): with NamedTemporaryFile(mode='w') as lines: for i, line in enumerate(fasta): if i == n and line[0] != '>' and len(line) == 71: line = line.rstrip('\n') + 'NNN' + '\n' full_line = True elif i == n: full_line = False lines.write(line) lines.flush() name = lines.name if full_line: try: Faidx(name) indexed.append(True) except FastaIndexingError: indexed.append(False) assert not any(indexed) def test_valgrind_blank_lines(remove_index): """ Makes all full-length lines blank and checks that error is raised in all appropriate circumstances. """ # http://stackoverflow.com/a/23212515/717419 if platform.system() == 'Windows': raise SkipTest indexed = [] with open('data/genes.fasta') as genes: fasta = genes.readlines() n_lines = sum(1 for line in fasta) for n in range(n_lines): with NamedTemporaryFile(mode='w') as lines: for i, line in enumerate(fasta): if i == n and line[0] != '>' and len(line) == 71: line = '\n' full_line = True elif i == n: full_line = False lines.write(line) lines.flush() name = lines.name if full_line: try: Faidx(name) indexed.append(True) except FastaIndexingError: indexed.append(False) assert not any(indexed) def test_reindex_on_modification(remove_index): """ This test ensures that the index is regenerated when the FASTA modification time is newer than the index modification time. mdshw5/pyfaidx#50 """ faidx = Faidx('data/genes.fasta') index_mtime = getmtime(faidx.indexname) faidx.close() os.utime('data/genes.fasta', (index_mtime + 10, ) * 2) time.sleep(2) faidx = Faidx('data/genes.fasta') assert getmtime(faidx.indexname) > index_mtime def test_build_issue_83(remove_index): """ Ensure that blank lines between entries are treated in the same way as samtools 1.2. See mdshw5/pyfaidx#83. """ expect_index = ("MT 119 4 70 71\nGL000207.1 60 187 60 61\n") index_file = Faidx('data/issue_83.fasta').indexname result_index = open(index_file).read() os.remove('data/issue_83.fasta.fai') assert result_index == expect_index def test_build_issue_96_fail_build_faidx(remove_index): """ Ensure that the fasta file is closed if construction of the 'Faidx' file when attempting to build an index. See mdshw5/pyfaidx#96 """ tmp_dir = mkdtemp() try: fasta_path = os.path.join(tmp_dir, 'issue_96.fasta') # Write simple fasta file with inconsistent sequence line lengths, # so building an index raises a 'FastaIndexingError' with open(fasta_path, 'w') as fasta_out: fasta_out.write( ">seq1\nCTCCGGGCCCAT\nAACACTTGGGGGTAGCTAAAGTGAA\nATAAAGCCTAAA\n" ) builtins_open = builtins.open opened_files = [] def test_open(*args, **kwargs): f = builtins_open(*args, **kwargs) opened_files.append(f) return f with mock.patch('six.moves.builtins.open', side_effect=test_open): try: Faidx(fasta_path) remove_index.assertFail( "Faidx construction should fail with 'FastaIndexingError'." ) except FastaIndexingError: pass assert all(f.closed for f in opened_files) finally: shutil.rmtree(tmp_dir) def test_build_issue_96_fail_read_malformed_index_duplicate_key(remove_index): """ Ensure that the fasta file is closed if construction of the 'Faidx' file fails when attempting to read a pre-existing index. The index is malformed because it contains mulitple occurrences of the same index. See mdshw5/pyfaidx#96 """ tmp_dir = mkdtemp() try: fasta_path = os.path.join(tmp_dir, 'issue_96.fasta') faidx_path = os.path.join(tmp_dir, 'issue_96.fasta.fai') # Write simple fasta file with open(fasta_path, 'w') as fasta_out: fasta_out.write(">seq1\nCTCCGGGCCCAT\nATAAAGCCTAAA\n") with open(faidx_path, 'w') as faidx_out: faidx_out.write("seq1\t24\t6\t12\t13\nseq1\t24\t6\t12\t13\n") builtins_open = builtins.open opened_files = [] def test_open(*args, **kwargs): f = builtins_open(*args, **kwargs) opened_files.append(f) return f with mock.patch('six.moves.builtins.open', side_effect=test_open): try: Faidx(fasta_path) remove_index.assertFail( "Faidx construction should fail with 'ValueError'.") except ValueError: pass assert all(f.closed for f in opened_files) finally: shutil.rmtree(tmp_dir) def test_read_back_index(remove_index): """Ensure that index files written with write_fai() can be read back""" import locale import platform if platform.system() == "Linux": new_locale = 'en_US.utf8' elif platform.system() == "Darwin": new_locale = 'en_US.UTF-8' old_locale = locale.getlocale(locale.LC_NUMERIC) try: locale.setlocale(locale.LC_NUMERIC, new_locale) faidx = Faidx('data/genes.fasta') faidx.write_fai() faidx = Faidx('data/genes.fasta', build_index=False) finally: locale.setlocale(locale.LC_NUMERIC, old_locale) @pytest.mark.xfail(raises=IndexNotFoundError) def test_issue_134_no_build_index(remove_index): """ Ensure that index file is not built when build_index=False. See mdshw5/pyfaidx#134. """ faidx = Faidx('data/genes.fasta', build_index=False) @pytest.mark.xfail(raises=FastaIndexingError) def test_issue_144_no_defline(remove_index): """ Ensure that an exception is raised when a file contains no deflines. See mdshw5/pyfaidx#144. """ tmp_dir = mkdtemp() try: fasta_path = os.path.join(tmp_dir, 'issue_144.fasta') # Write simple fasta file with open(fasta_path, 'w') as fasta_out: fasta_out.write("CTCCGGGCCCAT\nATAAAGCCTAAA\n") faidx = Faidx(fasta_path) finally: shutil.rmtree(tmp_dir)pyfaidx-0.6.4/tests/test_feature_key_function.py000066400000000000000000000065071417603162300221630ustar00rootroot00000000000000import os import pytest from pyfaidx import Faidx, Fasta path = os.path.dirname(__file__) os.chdir(path) ACCESSION_TO_GENE_NAME_DICT = { 'gi|563317589|dbj|AB821309.1|': 'FGFR2', 'gi|557361099|gb|KF435150.1|': 'MDM4', 'gi|543583796|ref|NR_104216.1|': 'BARD1', # The rest are deliberately omitted # KF435149.1, NR_104215.1, NR_104212.1, NM_001282545.1 ... } ACCESSION_TO_DUPLICATED_GENE_NAME_DICT = { 'gi|563317589|dbj|AB821309.1|': 'FGFR2', 'gi|557361099|gb|KF435150.1|': 'MDM4', 'gi|543583796|ref|NR_104216.1|': 'BARD1', 'gi|543583795|ref|NR_104215.1|': 'BARD1', # Duplicated gene names will trigger a warning # The rest are deliberately omitted # KF435149.1, NR_104212.1, NM_001282545.1 ... } def get_gene_name(accession): '''Return the gene name if found in ACCESSION_TO_GENE_NAME_DICT else return the original accession.''' return ACCESSION_TO_GENE_NAME_DICT.get(accession, accession) def get_duplicated_gene_name(accession): '''Return the gene name if found in ACCESSION_TO_GENE_NAME_DICT else return the original accession.''' return ACCESSION_TO_DUPLICATED_GENE_NAME_DICT.get(accession, accession) @pytest.fixture def remove_index(): genes = Fasta('data/genes.fasta') del genes # Support feature introduced in #111 yield try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file def test_keys(remove_index): genes = Fasta('data/genes.fasta', key_function=get_gene_name) expect = ['BARD1', 'FGFR2', 'MDM4', 'gi|530364724|ref|XR_241079.1|', 'gi|530364725|ref|XR_241080.1|', 'gi|530364726|ref|XR_241081.1|', 'gi|530373235|ref|XM_005265507.1|', 'gi|530373237|ref|XM_005265508.1|', 'gi|530384534|ref|XM_005249642.1|', 'gi|530384536|ref|XM_005249643.1|', 'gi|530384538|ref|XM_005249644.1|', 'gi|530384540|ref|XM_005249645.1|', 'gi|543583738|ref|NM_001282548.1|', 'gi|543583740|ref|NM_001282549.1|', 'gi|543583785|ref|NM_000465.3|', 'gi|543583786|ref|NM_001282543.1|', 'gi|543583788|ref|NM_001282545.1|', 'gi|543583794|ref|NR_104212.1|', 'gi|543583795|ref|NR_104215.1|', 'gi|557361097|gb|KF435149.1|'] result = sorted(genes.keys()) assert result == expect def test_key_function_by_dictionary_get_key(remove_index): genes = Fasta('data/genes.fasta', key_function=get_gene_name) expect = 'TTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAA' result = genes['MDM4'][100-1:150] assert str(result) == expect def test_key_function_by_fetch(remove_index): faidx = Faidx('data/genes.fasta', key_function=get_gene_name) expect = 'TTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAA' result = faidx.fetch('MDM4', 100, 150) assert str(result) == expect @pytest.mark.xfail(raises=ValueError) def test_duplicated_keys(remove_index): genes = Fasta('data/genes.fasta', key_function=get_duplicated_gene_name) def test_duplicated_keys_shortest(remove_index): genes = Fasta('data/genes.fasta', key_function=get_duplicated_gene_name, duplicate_action="shortest") expect = 4573 result = len(genes["BARD1"]) assert expect == result def test_duplicated_keys_longest(remove_index): genes = Fasta('data/genes.fasta', key_function=get_duplicated_gene_name, duplicate_action="longest") expect = 5317 result = len(genes["BARD1"]) assert expect == result pyfaidx-0.6.4/tests/test_feature_read_ahead_buffer.py000066400000000000000000000034401417603162300230450ustar00rootroot00000000000000import os import pytest from pyfaidx import Faidx, Fasta, FetchError path = os.path.dirname(__file__) os.chdir(path) @pytest.fixture def remove_index(): yield try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file def test_buffer_false(remove_index): fasta = Fasta('data/genes.fasta', strict_bounds=True) expect = 'TTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAA'.lower() result = fasta['gi|557361099|gb|KF435150.1|'][100-1:150].seq.lower() assert result == expect def test_buffer_true(remove_index): fasta = Fasta('data/genes.fasta', read_ahead=300, strict_bounds=True) expect = 'TTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAA'.lower() result = fasta['gi|557361099|gb|KF435150.1|'][100-1:150].seq.lower() assert result == expect def test_buffer_exceed(remove_index): fasta = Fasta('data/genes.fasta', read_ahead=300, strict_bounds=True) expect = 'atgacatcattttccacctctgctcagtgttcaacatctgacagtgcttgcaggatctctcctggacaaatcaatcaggtacgaccaaaactgccgcttttgaagattttgcatgcagcaggtgcgcaaggtgaaatgttcactgttaaagaggtcatgcactatttaggtcagtacataatggtgaagcaactttatgatcagcaggagcagcatatggtatattgtggtggagatcttttgggagaactactgggacgtcagagcttctccgtgaaagacccaagccctctctatgatatgctaagaaagaatcttgtcactttagccactgctactacagcaaagtgcagaggaaagttccacttccagaaaaagaactacagaagacgatatcccc' result = fasta['gi|557361099|gb|KF435150.1|'][0:400].seq.lower() assert result == expect @pytest.mark.xfail(raises=FetchError) def test_bounds_error(remove_index): fasta = Fasta('data/genes.fasta', read_ahead=300, strict_bounds=True) result = fasta['gi|557361099|gb|KF435150.1|'][100-1:15000].seq.lower() @pytest.mark.xfail(raises=ValueError) def test_buffer_value(remove_index): Fasta('data/genes.fasta', read_ahead=0.5)pyfaidx-0.6.4/tests/test_feature_sequence_as_raw.py000066400000000000000000000026031417603162300226230ustar00rootroot00000000000000import os import pytest from pyfaidx import Faidx, Fasta path = os.path.dirname(__file__) os.chdir(path) @pytest.fixture def remove_index(): yield try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file def test_as_raw_false(remove_index): fasta = Fasta('data/genes.fasta') expect = 'TTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAA'.lower() result = fasta['gi|557361099|gb|KF435150.1|'][100-1:150].seq.lower() assert result == expect def test_as_raw_true(remove_index): fasta = Fasta('data/genes.fasta', as_raw=True) expect = 'TTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAA'.lower() result = fasta['gi|557361099|gb|KF435150.1|'][100-1:150].lower() assert result == expect @pytest.mark.xfail(raises=AttributeError) def test_as_raw_false_error(remove_index): fasta = Fasta('data/genes.fasta') result = fasta['gi|557361099|gb|KF435150.1|'][100-1:150].lower() @pytest.mark.xfail(raises=AttributeError) def test_as_raw_true_error(remove_index): fasta = Fasta('data/genes.fasta', as_raw=True) result = fasta['gi|557361099|gb|KF435150.1|'][100-1:150].seq.lower() def test_as_raw_type_when_blen_lt_0(remove_index): fasta = Fasta('data/genes.fasta', as_raw=True) expect = '' result = fasta.faidx.fetch('gi|557361099|gb|KF435150.1|', 10, 0) assert result == expect pyfaidx-0.6.4/tests/test_feature_spliced_seq.py000066400000000000000000000034741417603162300217610ustar00rootroot00000000000000import os import pytest from pyfaidx import Fasta path = os.path.dirname(__file__) os.chdir(path) @pytest.fixture def remove_index(): yield fais = [ "data/gene.bed12.fasta.fai", "data/chr17.hg19.part.fa.fai" ] for fai in fais: try: os.remove(fai) except EnvironmentError: pass # some tests may delete this file def test_split_seq(remove_index): """ Fetch sequence by blocks """ fa = Fasta('data/chr17.hg19.part.fa') gene = Fasta("data/gene.bed12.fasta") expect = gene[list(gene.keys())[0]][:].seq bed = "data/gene.bed12" with open(bed) as fi: record = fi.readline().strip().split("\t") chrom = record[0] start = int(record[1]) strand = record[5] # parse bed12 format starts = [int(x) for x in record[11].split(",")[:-1]] sizes = [int(x) for x in record[10].split(",")[:-1]] starts = [start + x for x in starts] ends = [start + size for start,size in zip(starts, sizes)] # bed half-open if strand == "-": starts = [start + 1 for start in starts] else: ends = [end - 1 for end in ends] intervals = zip(starts, ends) result = fa.get_spliced_seq(chrom, intervals, rc=True) print(result.seq) print("====") print(expect) assert result.seq == expect def test_get_seq_rc(remove_index): """ Check get_seq with rc argument """ fa = Fasta('data/chr17.hg19.part.fa') result = fa.get_seq("chr17", 11, 20, rc=False) expect = "CCCTGTTCCT" print("normal") print(result.seq) print(expect) assert result.seq == expect result = fa.get_seq("chr17", 11, 20, rc=True) expect = "AGGAACAGGG" assert result.seq == expect print("rc") print(result.seq) print(expect) pyfaidx-0.6.4/tests/test_feature_split_char.py000066400000000000000000000033521417603162300216110ustar00rootroot00000000000000import os import pytest from pyfaidx import Faidx, Fasta path = os.path.dirname(__file__) os.chdir(path) @pytest.fixture def remove_index(): yield try: os.remove('data/genes.fasta.fai') except EnvironmentError: pass # some tests may delete this file def test_keys(remove_index): fasta = Fasta('data/genes.fasta', split_char='|', duplicate_action="drop") expect = ['530364724', '530364725', '530364726', '530373235', '530373237', '530384534', '530384536', '530384538', '530384540', '543583738', '543583740', '543583785', '543583786', '543583788', '543583794', '543583795', '543583796', '557361097', '557361099', '563317589', 'AB821309.1', 'KF435149.1', 'KF435150.1', 'NM_000465.3', 'NM_001282543.1', 'NM_001282545.1', 'NM_001282548.1', 'NM_001282549.1', 'NR_104212.1', 'NR_104215.1', 'NR_104216.1', 'XM_005249642.1', 'XM_005249643.1', 'XM_005249644.1', 'XM_005249645.1', 'XM_005265507.1', 'XM_005265508.1', 'XR_241079.1', 'XR_241080.1', 'XR_241081.1', 'dbj'] result = sorted(fasta.keys()) assert result == expect def test_key_function_by_dictionary_get_key(remove_index): fasta = Fasta('data/genes.fasta', split_char='|', duplicate_action="drop") expect = 'TTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAA' result = fasta['KF435150.1'][100-1:150] assert str(result) == expect def test_key_function_by_fetch(remove_index): faidx = Faidx('data/genes.fasta', split_char='|', duplicate_action="drop") expect = 'TTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAA' result = faidx.fetch('KF435150.1', 100, 150) assert str(result) == expect @pytest.mark.xfail(raises=ValueError) def test_stop(remove_index): fasta = Fasta('data/genes.fasta', split_char='|') pyfaidx-0.6.4/tests/test_sequence_class.py000066400000000000000000000027271417603162300207500ustar00rootroot00000000000000import pytest from pyfaidx import Sequence, complement seq = Sequence(name='gi|557361099|gb|KF435150.1|', seq='TTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAA', start=100, end=150) seq_invalid = Sequence(name='gi|557361099|gb|KF435150.1|', seq='TTGAAGATTTPGCATGCAGCAGGTGCGCAAGGTGAAATNTTCACTGTTAAA', start=100, end=150) comp_valid = 'TTGAAGATTTnGCATGCAGCAGGtgccaAGGTGAAATGTTNACTGTTAAA' comp_invalid = 'TTGAAGATTTnGCATGCAGCPQGtgccaAGGTGAAATGTTNACTGTTAAA' def test_negate(): assert str(-seq) == str(seq.complement[::-1]) def test_negate_metadata(): # Negate should affect __repr__ the same way as reverse and complement seq_neg = -seq assert seq_neg.__repr__() == seq.complement[::-1].__repr__() @pytest.mark.xfail(raises=ValueError) def test_seq_invalid(): seq_invalid.complement() def test_integer_index(): assert seq[1].seq == 'T' def test_slice_index(): assert seq[0:10].seq == 'TTGAAGATTT' @pytest.mark.xfail(raises=ValueError) def test_comp_invalid(): complement(comp_invalid) @pytest.mark.xfail(raises=ValueError) def test_check_coordinates(): x = Sequence(name='gi|557361099|gb|KF435150.1|', seq='TTGAAGATTTTGCATGCAGCAGGTGCGCAAGGTGAAATGTTCACTGTTAAA', start=100, end=110) x[:] def test_comp_valid(): assert complement(comp_valid).startswith("AACTTCTAAAnCG") assert complement(complement(comp_valid)) == comp_valid def test_comp_empty(): assert complement('') == ''