pxblat


Namepxblat JSON
Version 1.2.1 PyPI version JSON
download
home_pagehttps://github.com/ylab-hi/pxblat
SummaryA native python binding for blat suite
upload_time2024-05-16 05:56:29
maintainerNone
docs_urlNone
authorYangyang Li
requires_python<3.12,>=3.9
licenseLICENSE
keywords bioinformatics sequence aligner blat
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # <img src="https://raw.githubusercontent.com/cauliyang/pxblat/main/docs/_static/logo.png" alt="logo" height=100> **PxBLAT** [![social](https://img.shields.io/github/stars/cauliyang/pxblat?style=social)](https://github.com/cauliyang/pxblat/stargazers)

_An Efficient and Ergonomic Python Binding Library for BLAT_

[![python](https://img.shields.io/badge/Python-3776AB.svg?style=for-the-badge&logo=Python&logoColor=white)](https://www.python.org/)
[![c++](https://img.shields.io/badge/C++-00599C.svg?style=for-the-badge&logo=C++&logoColor=white)](https://en.cppreference.com/w/)
[![c](https://img.shields.io/badge/C-A8B9CC.svg?style=for-the-badge&logo=C&logoColor=black)](https://www.gnu.org/software/gnu-c-manual/)
[![pypi](https://img.shields.io/pypi/v/pxblat.svg?style=for-the-badge)][pypi]
[![conda](https://img.shields.io/conda/vn/bioconda/pxblat?style=for-the-badge)][conda]
![Linux](https://img.shields.io/badge/-Linux-grey?logo=linux&style=for-the-badge)
![macOS](https://img.shields.io/badge/-OSX-black?logo=apple&style=for-the-badge)
[![pyversion](https://img.shields.io/pypi/pyversions/pxblat?style=for-the-badge)][pypi]
[![tests](https://img.shields.io/github/actions/workflow/status/cauliyang/pxblat/tests.yml?style=for-the-badge&logo=github&label=Tests)](https://github.com/cauliyang/pxblat/actions/workflows/tests.yml)
[![Codecov](https://img.shields.io/codecov/c/github/cauliyang/pxblat/main?style=for-the-badge)](https://app.codecov.io/gh/cauliyang/pxblat)
[![docs](https://img.shields.io/readthedocs/pxblat?style=for-the-badge)](https://pxblat.readthedocs.io/en/latest/)
[![download](https://img.shields.io/pypi/dm/pxblat?logo=pypi&label=pypi%20download&style=for-the-badge)][pypi]
[![condadownload](https://img.shields.io/conda/dn/bioconda/pxblat?style=for-the-badge&logo=anaconda&label=Conda%20Download)][conda]
[![precommit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?style=for-the-badge&logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg?style=for-the-badge)](https://github.com/charliermarsh/ruff)
[![release](https://img.shields.io/github/release-date/cauliyang/pxblat?style=for-the-badge)](https://github.com/cauliyang/pxblat/releases)
[![open-issue](https://img.shields.io/github/issues-raw/cauliyang/pxblat?style=for-the-badge)][open-issue]
[![close-issue](https://img.shields.io/github/issues-closed-raw/cauliyang/pxblat?style=for-the-badge)][close-issue]
[![activity](https://img.shields.io/github/commit-activity/m/cauliyang/pxblat?style=for-the-badge)][repo]
[![lastcommit](https://img.shields.io/github/last-commit/cauliyang/pxblat?style=for-the-badge)][repo]
[![opull](https://img.shields.io/github/issues-pr-raw/cauliyang/pxblat?style=for-the-badge)][opull]
[![all contributors](https://img.shields.io/github/all-contributors/cauliyang/pxblat?style=for-the-badge)](#contributors)

<!-- [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)][colab] -->

[repo]: https://github.com/ylab-hi/pxblat
[open-issue]: https://github.com/cauliyang/pxblat/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc
[close-issue]: https://github.com/cauliyang/pxblat/issues?q=is%3Aissue+sort%3Aupdated-desc+is%3Aclosed
[opull]: https://github.com/cauliyang/pxblat/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc
[conda]: https://bioconda.github.io/recipes/pxblat/README.html
[pypi]: https://pypi.org/project/pxblat/
[colab]: https://colab.research.google.com/drive/1TXb9GBmYa2EYezwBKbD-y9Xg6MC2gL36

## Why PxBLAT?

When conducting extensive queries, using the `blat` of `BLAT` suite can prove to be quite inefficient, especially if these operations aren't grouped. The tasks are allocated sporadically, often interspersed among other tasks.
In general, the choice narrows down to either utilizing `blat` or combining `gfServer` with `gfClient`.
Indeed, `blat` is a program that launches `gfServer`, conducts the sequence query via `gfClient`, and then proceeds to terminate the server.

This approach is far from ideal when performing numerous queries that aren't grouped since `blat` repeatedly initializes and shuts down `gfServer` for each query, resulting in substantial overhead.
This overhead consists of the time required for the server to index the reference, contingent on the reference's size.
To index the human genome (hg38), for example, would take approximately five minutes.

A more efficient solution would involve initializing `gfServer` once and invoking `gfClient` multiple times for the queries.
However, `gfServer` and `gfClient` are only accessible via the command line.
This necessitates managing system calls (for instance, `subprocess` or `os.system`), intermediate temporary files, and format conversion, further diminishing performance.

That is why `PxBLAT` holds its position.
It resolves the issues mentioned above while introducing handy features like `port retry`, `use current running server`, etc.

## 📚 **Table of Contents**

- [ **PxBLAT** ](#-pxblat-)
  - [📚 **Table of Contents**](#-table-of-contents)
  - [🔮 **Features**](#-features)
  - [📎 **Citation**](#-citation)
  - [🚀 **Getting Started**](#-getting-started)
  - [🤝 **Contributing**](#-contributing)
  - [🪪 **License**](#-license)
  - [🤗 **Contributors**](#contributors)
  - [🙏 **Acknowledgments**](#-acknowledgments)

## 🔮 **Features**

- **Zero System Calls**: Avoids system calls, leading to a smoother, quicker operation.<br>
- **Ergonomics**: With an ergonomic design, `PxBLAT` aims for a seamless user experience.<br>
- **No External Dependencies**: `PxBLAT` operates independently without any external dependencies.<br>
- **Self-Monitoring**: No need to trawl through log files; `PxBLAT` monitors its status internally.<br>
- **Robust Validation**: Extensively tested to ensure reliable performance and superior stability as BLAT.<br>
- **Format-Agnostic:** `PxBLAT` doesn't require you to worry about file formats.<br>
- **In-Memory Processing**: `PxBLAT` discards the need for intermediate files by doing all its operations in memory, ensuring speed and efficiency.<br>

## 📎 **Citation**

PxBLAT is scientific software, with a published paper in the BioRxiv.
Check the [published](https://www.biorxiv.org/content/10.1101/2023.08.02.551686v2) to read the paper.

```bibtex
@article {Li2023pxblat,
	author = {Yangyang Li and Rendong Yang},
	title = {PxBLAT: An Ergonomic and Efficient Python Binding Library for BLAT},
	elocation-id = {2023.08.02.551686},
	year = {2023},
	doi = {10.1101/2023.08.02.551686},
	publisher = {Cold Spring Harbor Laboratory},
	url = {https://www.biorxiv.org/content/10.1101/2023.08.02.551686v2},
	journal = {bioRxiv}
}
```

## 🚀 **Getting Started**

Welcome to PxBLAT! To kickstart your journey and get the most out of this tool, we have prepared a comprehensive [documentation](https://pxblat.readthedocs.io/en/latest/installation.html).
Inside, you’ll find detailed guides, examples, and all the necessary information to help you navigate and utilize PxBLAT effectively.

### Need Help or Found an Issue?

If you encounter any issues or if something is not clear in the documentation, do not hesitate to [open an issue](https://github.com/ylab-hi/pxblat/issues/new/choose).
We are here to help and appreciate your feedback for improving PxBLAT.

### Show Your Support

If PxBLAT has been beneficial to your projects or you appreciate the work put into it, consider leaving a ⭐️ [Star](https://github.com/ylab-hi/pxblat/stargazers) on our GitHub repository.
Your support means the world to us and motivates us to continue enhancing PxBLAT.

Let’s embark on this journey together and make the most out of PxBLAT! 🎉
Please see the [document](https://pxblat.readthedocs.io/en/latest/installation.html) for details and more examples.

## 🤝 **Contributing**

Contributions are always welcome! Please follow these steps:

1. Fork the project repository. This creates a copy of the project on your account that you can modify without affecting the original project.
2. Clone the forked repository to your local machine using a Git client like Git or GitHub Desktop.
3. Create a new branch with a descriptive name (e.g., `new-feature-branch` or `bugfix-issue-123`).

```bash
git checkout -b new-feature-branch
```

4. Take changes to the project's codebase.
5. Install the latest package

```bash
poetry install
```

6. Test your changes

```bash
pytest -vlsx tests
```

7. Commit your changes to your local branch with a clear commit message that explains the changes you've made.

```bash
git commit -m 'Implemented new feature.'
```

8. Push your changes to your forked repository on GitHub using the following command

```bash
git push origin new-feature-branch
```

Create a pull request to the original repository.
Open a new pull request to the original project repository. In the pull request, describe the changes you've made and why they're necessary.
The project maintainers will review your changes and provide feedback or merge them into the main branch.

## 🪪 **License**

**PxBLAT is modified from blat, the license is the same as blat. The source code and
executables are freely available for academic, nonprofit, and personal use.
Commercial licensing information is available on the Kent Informatics website
(https://kentinformatics.com/).**

## **Contributors**

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tbody>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://yangyangli.top"><img src="https://avatars.githubusercontent.com/u/38903141?v=4?s=100" width="100px;" alt="yangliz5"/><br /><sub><b>yangliz5</b></sub></a><br /><a href="#maintenance-cauliyang" title="Maintenance">🚧</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/mencian"><img src="https://avatars.githubusercontent.com/u/71105179?v=4?s=100" width="100px;" alt="Joshua Zhuang"/><br /><sub><b>Joshua Zhuang</b></sub></a><br /><a href="#infra-mencian" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
    </tr>
  </tbody>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

## 🙏 **Acknowledgments**

- [BLAT](http://genome.ucsc.edu/goldenPath/help/blatSpec.html)
- [UCSC](https://github.com/ucscGenomeBrowser/kent)
- [pybind11](https://github.com/pybind/pybind11/tree/stable)

<!-- github-only -->

<br>
<picture>
  <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=cauliyang/pxblat&type=Date&theme=light" />
  <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=cauliyang/pxblat&type=Date" />
  <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=cauliyang/pxblat&type=Date" />
</picture>


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ylab-hi/pxblat",
    "name": "pxblat",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.9",
    "maintainer_email": null,
    "keywords": "bioinformatics, sequence aligner, blat",
    "author": "Yangyang Li",
    "author_email": "yangyang.li@northwestern.edu",
    "download_url": "https://files.pythonhosted.org/packages/a0/21/e5446a432caba34babf53d21ba211c18fa3c7edbbc11e8ab2a8f1d7718e2/pxblat-1.2.1.tar.gz",
    "platform": null,
    "description": "# <img src=\"https://raw.githubusercontent.com/cauliyang/pxblat/main/docs/_static/logo.png\" alt=\"logo\" height=100> **PxBLAT** [![social](https://img.shields.io/github/stars/cauliyang/pxblat?style=social)](https://github.com/cauliyang/pxblat/stargazers)\n\n_An Efficient and Ergonomic Python Binding Library for BLAT_\n\n[![python](https://img.shields.io/badge/Python-3776AB.svg?style=for-the-badge&logo=Python&logoColor=white)](https://www.python.org/)\n[![c++](https://img.shields.io/badge/C++-00599C.svg?style=for-the-badge&logo=C++&logoColor=white)](https://en.cppreference.com/w/)\n[![c](https://img.shields.io/badge/C-A8B9CC.svg?style=for-the-badge&logo=C&logoColor=black)](https://www.gnu.org/software/gnu-c-manual/)\n[![pypi](https://img.shields.io/pypi/v/pxblat.svg?style=for-the-badge)][pypi]\n[![conda](https://img.shields.io/conda/vn/bioconda/pxblat?style=for-the-badge)][conda]\n![Linux](https://img.shields.io/badge/-Linux-grey?logo=linux&style=for-the-badge)\n![macOS](https://img.shields.io/badge/-OSX-black?logo=apple&style=for-the-badge)\n[![pyversion](https://img.shields.io/pypi/pyversions/pxblat?style=for-the-badge)][pypi]\n[![tests](https://img.shields.io/github/actions/workflow/status/cauliyang/pxblat/tests.yml?style=for-the-badge&logo=github&label=Tests)](https://github.com/cauliyang/pxblat/actions/workflows/tests.yml)\n[![Codecov](https://img.shields.io/codecov/c/github/cauliyang/pxblat/main?style=for-the-badge)](https://app.codecov.io/gh/cauliyang/pxblat)\n[![docs](https://img.shields.io/readthedocs/pxblat?style=for-the-badge)](https://pxblat.readthedocs.io/en/latest/)\n[![download](https://img.shields.io/pypi/dm/pxblat?logo=pypi&label=pypi%20download&style=for-the-badge)][pypi]\n[![condadownload](https://img.shields.io/conda/dn/bioconda/pxblat?style=for-the-badge&logo=anaconda&label=Conda%20Download)][conda]\n[![precommit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?style=for-the-badge&logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg?style=for-the-badge)](https://github.com/charliermarsh/ruff)\n[![release](https://img.shields.io/github/release-date/cauliyang/pxblat?style=for-the-badge)](https://github.com/cauliyang/pxblat/releases)\n[![open-issue](https://img.shields.io/github/issues-raw/cauliyang/pxblat?style=for-the-badge)][open-issue]\n[![close-issue](https://img.shields.io/github/issues-closed-raw/cauliyang/pxblat?style=for-the-badge)][close-issue]\n[![activity](https://img.shields.io/github/commit-activity/m/cauliyang/pxblat?style=for-the-badge)][repo]\n[![lastcommit](https://img.shields.io/github/last-commit/cauliyang/pxblat?style=for-the-badge)][repo]\n[![opull](https://img.shields.io/github/issues-pr-raw/cauliyang/pxblat?style=for-the-badge)][opull]\n[![all contributors](https://img.shields.io/github/all-contributors/cauliyang/pxblat?style=for-the-badge)](#contributors)\n\n<!-- [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)][colab] -->\n\n[repo]: https://github.com/ylab-hi/pxblat\n[open-issue]: https://github.com/cauliyang/pxblat/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc\n[close-issue]: https://github.com/cauliyang/pxblat/issues?q=is%3Aissue+sort%3Aupdated-desc+is%3Aclosed\n[opull]: https://github.com/cauliyang/pxblat/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc\n[conda]: https://bioconda.github.io/recipes/pxblat/README.html\n[pypi]: https://pypi.org/project/pxblat/\n[colab]: https://colab.research.google.com/drive/1TXb9GBmYa2EYezwBKbD-y9Xg6MC2gL36\n\n## Why PxBLAT?\n\nWhen conducting extensive queries, using the `blat` of `BLAT` suite can prove to be quite inefficient, especially if these operations aren't grouped. The tasks are allocated sporadically, often interspersed among other tasks.\nIn general, the choice narrows down to either utilizing `blat` or combining `gfServer` with `gfClient`.\nIndeed, `blat` is a program that launches `gfServer`, conducts the sequence query via `gfClient`, and then proceeds to terminate the server.\n\nThis approach is far from ideal when performing numerous queries that aren't grouped since `blat` repeatedly initializes and shuts down `gfServer` for each query, resulting in substantial overhead.\nThis overhead consists of the time required for the server to index the reference, contingent on the reference's size.\nTo index the human genome (hg38), for example, would take approximately five minutes.\n\nA more efficient solution would involve initializing `gfServer` once and invoking `gfClient` multiple times for the queries.\nHowever, `gfServer` and `gfClient` are only accessible via the command line.\nThis necessitates managing system calls (for instance, `subprocess` or `os.system`), intermediate temporary files, and format conversion, further diminishing performance.\n\nThat is why `PxBLAT` holds its position.\nIt resolves the issues mentioned above while introducing handy features like `port retry`, `use current running server`, etc.\n\n## \ud83d\udcda **Table of Contents**\n\n- [ **PxBLAT** ](#-pxblat-)\n  - [\ud83d\udcda **Table of Contents**](#-table-of-contents)\n  - [\ud83d\udd2e **Features**](#-features)\n  - [\ud83d\udcce **Citation**](#-citation)\n  - [\ud83d\ude80 **Getting Started**](#-getting-started)\n  - [\ud83e\udd1d **Contributing**](#-contributing)\n  - [\ud83e\udeaa **License**](#-license)\n  - [\ud83e\udd17 **Contributors**](#contributors)\n  - [\ud83d\ude4f **Acknowledgments**](#-acknowledgments)\n\n## \ud83d\udd2e **Features**\n\n- **Zero System Calls**: Avoids system calls, leading to a smoother, quicker operation.<br>\n- **Ergonomics**: With an ergonomic design, `PxBLAT` aims for a seamless user experience.<br>\n- **No External Dependencies**: `PxBLAT` operates independently without any external dependencies.<br>\n- **Self-Monitoring**: No need to trawl through log files; `PxBLAT` monitors its status internally.<br>\n- **Robust Validation**: Extensively tested to ensure reliable performance and superior stability as BLAT.<br>\n- **Format-Agnostic:** `PxBLAT` doesn't require you to worry about file formats.<br>\n- **In-Memory Processing**: `PxBLAT` discards the need for intermediate files by doing all its operations in memory, ensuring speed and efficiency.<br>\n\n## \ud83d\udcce **Citation**\n\nPxBLAT is scientific software, with a published paper in the BioRxiv.\nCheck the [published](https://www.biorxiv.org/content/10.1101/2023.08.02.551686v2) to read the paper.\n\n```bibtex\n@article {Li2023pxblat,\n\tauthor = {Yangyang Li and Rendong Yang},\n\ttitle = {PxBLAT: An Ergonomic and Efficient Python Binding Library for BLAT},\n\telocation-id = {2023.08.02.551686},\n\tyear = {2023},\n\tdoi = {10.1101/2023.08.02.551686},\n\tpublisher = {Cold Spring Harbor Laboratory},\n\turl = {https://www.biorxiv.org/content/10.1101/2023.08.02.551686v2},\n\tjournal = {bioRxiv}\n}\n```\n\n## \ud83d\ude80 **Getting Started**\n\nWelcome to PxBLAT! To kickstart your journey and get the most out of this tool, we have prepared a comprehensive [documentation](https://pxblat.readthedocs.io/en/latest/installation.html).\nInside, you\u2019ll find detailed guides, examples, and all the necessary information to help you navigate and utilize PxBLAT effectively.\n\n### Need Help or Found an Issue?\n\nIf you encounter any issues or if something is not clear in the documentation, do not hesitate to [open an issue](https://github.com/ylab-hi/pxblat/issues/new/choose).\nWe are here to help and appreciate your feedback for improving PxBLAT.\n\n### Show Your Support\n\nIf PxBLAT has been beneficial to your projects or you appreciate the work put into it, consider leaving a \u2b50\ufe0f [Star](https://github.com/ylab-hi/pxblat/stargazers) on our GitHub repository.\nYour support means the world to us and motivates us to continue enhancing PxBLAT.\n\nLet\u2019s embark on this journey together and make the most out of PxBLAT! \ud83c\udf89\nPlease see the [document](https://pxblat.readthedocs.io/en/latest/installation.html) for details and more examples.\n\n## \ud83e\udd1d **Contributing**\n\nContributions are always welcome! Please follow these steps:\n\n1. Fork the project repository. This creates a copy of the project on your account that you can modify without affecting the original project.\n2. Clone the forked repository to your local machine using a Git client like Git or GitHub Desktop.\n3. Create a new branch with a descriptive name (e.g., `new-feature-branch` or `bugfix-issue-123`).\n\n```bash\ngit checkout -b new-feature-branch\n```\n\n4. Take changes to the project's codebase.\n5. Install the latest package\n\n```bash\npoetry install\n```\n\n6. Test your changes\n\n```bash\npytest -vlsx tests\n```\n\n7. Commit your changes to your local branch with a clear commit message that explains the changes you've made.\n\n```bash\ngit commit -m 'Implemented new feature.'\n```\n\n8. Push your changes to your forked repository on GitHub using the following command\n\n```bash\ngit push origin new-feature-branch\n```\n\nCreate a pull request to the original repository.\nOpen a new pull request to the original project repository. In the pull request, describe the changes you've made and why they're necessary.\nThe project maintainers will review your changes and provide feedback or merge them into the main branch.\n\n## \ud83e\udeaa **License**\n\n**PxBLAT is modified from blat, the license is the same as blat. The source code and\nexecutables are freely available for academic, nonprofit, and personal use.\nCommercial licensing information is available on the Kent Informatics website\n(https://kentinformatics.com/).**\n\n## **Contributors**\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://yangyangli.top\"><img src=\"https://avatars.githubusercontent.com/u/38903141?v=4?s=100\" width=\"100px;\" alt=\"yangliz5\"/><br /><sub><b>yangliz5</b></sub></a><br /><a href=\"#maintenance-cauliyang\" title=\"Maintenance\">\ud83d\udea7</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/mencian\"><img src=\"https://avatars.githubusercontent.com/u/71105179?v=4?s=100\" width=\"100px;\" alt=\"Joshua Zhuang\"/><br /><sub><b>Joshua Zhuang</b></sub></a><br /><a href=\"#infra-mencian\" title=\"Infrastructure (Hosting, Build-Tools, etc)\">\ud83d\ude87</a></td>\n    </tr>\n  </tbody>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\n## \ud83d\ude4f **Acknowledgments**\n\n- [BLAT](http://genome.ucsc.edu/goldenPath/help/blatSpec.html)\n- [UCSC](https://github.com/ucscGenomeBrowser/kent)\n- [pybind11](https://github.com/pybind/pybind11/tree/stable)\n\n<!-- github-only -->\n\n<br>\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=cauliyang/pxblat&type=Date&theme=light\" />\n  <source media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=cauliyang/pxblat&type=Date\" />\n  <img alt=\"Star History Chart\" src=\"https://api.star-history.com/svg?repos=cauliyang/pxblat&type=Date\" />\n</picture>\n\n",
    "bugtrack_url": null,
    "license": "LICENSE",
    "summary": "A native python binding for blat suite",
    "version": "1.2.1",
    "project_urls": {
        "Documentation": "https://pxblat.readthedocs.io/en/latest/",
        "Homepage": "https://github.com/ylab-hi/pxblat",
        "Repository": "https://github.com/ylab-hi/pxblat"
    },
    "split_keywords": [
        "bioinformatics",
        " sequence aligner",
        " blat"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "314644169b6f41ece1c4936ba6194de19de9e3506b05deac754374557e959fd3",
                "md5": "004254b4511a4395e3a81435ebeea294",
                "sha256": "49026552d66b42a603cab11fff7a0dfce687d44d33828fee8d558616d7ab174f"
            },
            "downloads": -1,
            "filename": "pxblat-1.2.1-cp310-cp310-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "004254b4511a4395e3a81435ebeea294",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.12,>=3.9",
            "size": 3516152,
            "upload_time": "2024-05-16T05:56:11",
            "upload_time_iso_8601": "2024-05-16T05:56:11.850023Z",
            "url": "https://files.pythonhosted.org/packages/31/46/44169b6f41ece1c4936ba6194de19de9e3506b05deac754374557e959fd3/pxblat-1.2.1-cp310-cp310-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8940a1dc3d25b4259b6bbb4fd0714038f370142fc082035ba594c1c3dc3ce3bc",
                "md5": "36f1b906259db59b0a0d66f285c4af22",
                "sha256": "5d578dee8f41119b663086cb9b20538aca2e9395637490fe74956c2ab7281f15"
            },
            "downloads": -1,
            "filename": "pxblat-1.2.1-cp310-cp310-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "36f1b906259db59b0a0d66f285c4af22",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.12,>=3.9",
            "size": 3743536,
            "upload_time": "2024-05-16T05:56:14",
            "upload_time_iso_8601": "2024-05-16T05:56:14.176774Z",
            "url": "https://files.pythonhosted.org/packages/89/40/a1dc3d25b4259b6bbb4fd0714038f370142fc082035ba594c1c3dc3ce3bc/pxblat-1.2.1-cp310-cp310-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "580c84d22c8df17da9a2eb73162dcc95459a37cd358a21980fc2485a827e3627",
                "md5": "110172560f4bfc4edca6bd90427fc8cc",
                "sha256": "9506af2dda6134e220a6b0ace60c1648bf89e724f0d6cf8ad131f3d1aaaabdb0"
            },
            "downloads": -1,
            "filename": "pxblat-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "110172560f4bfc4edca6bd90427fc8cc",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.12,>=3.9",
            "size": 4503705,
            "upload_time": "2024-05-16T05:56:16",
            "upload_time_iso_8601": "2024-05-16T05:56:16.138442Z",
            "url": "https://files.pythonhosted.org/packages/58/0c/84d22c8df17da9a2eb73162dcc95459a37cd358a21980fc2485a827e3627/pxblat-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "43692386fc57c06900a29cacfc0a62e431d7890e924a9280d76e9b8c791aa96b",
                "md5": "e48e470c6e87d36ba031bb78e7c9d290",
                "sha256": "f8752e503e7cf19f51531f19475d2a2d32e29685d0340163128c2175186600ea"
            },
            "downloads": -1,
            "filename": "pxblat-1.2.1-cp311-cp311-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e48e470c6e87d36ba031bb78e7c9d290",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.12,>=3.9",
            "size": 3517422,
            "upload_time": "2024-05-16T05:56:18",
            "upload_time_iso_8601": "2024-05-16T05:56:18.221035Z",
            "url": "https://files.pythonhosted.org/packages/43/69/2386fc57c06900a29cacfc0a62e431d7890e924a9280d76e9b8c791aa96b/pxblat-1.2.1-cp311-cp311-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ec81c19c46c0f4276b14ea7d8b17ba3ac2bbb039ad99ab51fdd3f36bf013c019",
                "md5": "178cf039422720a6c0c0a42bf3bb8766",
                "sha256": "373ceb848f7d80e789c9bef478a10f20dc480d7ee2a4a9d5a61b235d7def1892"
            },
            "downloads": -1,
            "filename": "pxblat-1.2.1-cp311-cp311-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "178cf039422720a6c0c0a42bf3bb8766",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.12,>=3.9",
            "size": 3744756,
            "upload_time": "2024-05-16T05:56:20",
            "upload_time_iso_8601": "2024-05-16T05:56:20.291959Z",
            "url": "https://files.pythonhosted.org/packages/ec/81/c19c46c0f4276b14ea7d8b17ba3ac2bbb039ad99ab51fdd3f36bf013c019/pxblat-1.2.1-cp311-cp311-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b7fc7455176c5b752876913767878d6bc695e083c5c8eb07833c496607d479bf",
                "md5": "787efccf69351b38ad5f0ed819f181e8",
                "sha256": "cdee3203aef0ed7a6d7d4b8ee7869b519f9e19cbebe53e7d0f11bdf754b28cbb"
            },
            "downloads": -1,
            "filename": "pxblat-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "787efccf69351b38ad5f0ed819f181e8",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.12,>=3.9",
            "size": 4505192,
            "upload_time": "2024-05-16T05:56:22",
            "upload_time_iso_8601": "2024-05-16T05:56:22.463372Z",
            "url": "https://files.pythonhosted.org/packages/b7/fc/7455176c5b752876913767878d6bc695e083c5c8eb07833c496607d479bf/pxblat-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e23107cc267909e354ce92d404af104ec4e7970c1754aa5f5441dc1cd6f89c10",
                "md5": "ebfb1d10aca1d93ea36ff0810f5051bc",
                "sha256": "b5a7879483a0651877638cd486752588f58b1cfe336b90f5e7299db92be4bcd6"
            },
            "downloads": -1,
            "filename": "pxblat-1.2.1-cp39-cp39-macosx_13_0_x86_64.whl",
            "has_sig": false,
            "md5_digest": "ebfb1d10aca1d93ea36ff0810f5051bc",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<3.12,>=3.9",
            "size": 3516334,
            "upload_time": "2024-05-16T05:56:23",
            "upload_time_iso_8601": "2024-05-16T05:56:23.822163Z",
            "url": "https://files.pythonhosted.org/packages/e2/31/07cc267909e354ce92d404af104ec4e7970c1754aa5f5441dc1cd6f89c10/pxblat-1.2.1-cp39-cp39-macosx_13_0_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "428ebd4eb86bfa8d64da3998123238f2e68f9fa1427266aa3285b56c31398090",
                "md5": "2580d8ce690ded0acefcac75f5deacf4",
                "sha256": "1dbd612307dd9395b43877085ee322facb6f00e0e3ab729b4107ae340a12dff3"
            },
            "downloads": -1,
            "filename": "pxblat-1.2.1-cp39-cp39-macosx_14_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "2580d8ce690ded0acefcac75f5deacf4",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<3.12,>=3.9",
            "size": 3743607,
            "upload_time": "2024-05-16T05:56:25",
            "upload_time_iso_8601": "2024-05-16T05:56:25.967474Z",
            "url": "https://files.pythonhosted.org/packages/42/8e/bd4eb86bfa8d64da3998123238f2e68f9fa1427266aa3285b56c31398090/pxblat-1.2.1-cp39-cp39-macosx_14_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8dff62228b2fcc6ee33f617d065a67ef8af8accb6bbe4829a1e59e582db1d6b8",
                "md5": "78b33b786dc61fc433560418188dcc50",
                "sha256": "aa92879f97e3808d31e1e28517170780b058ffbf503d7173d8495a172301250a"
            },
            "downloads": -1,
            "filename": "pxblat-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "78b33b786dc61fc433560418188dcc50",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<3.12,>=3.9",
            "size": 4505456,
            "upload_time": "2024-05-16T05:56:27",
            "upload_time_iso_8601": "2024-05-16T05:56:27.465021Z",
            "url": "https://files.pythonhosted.org/packages/8d/ff/62228b2fcc6ee33f617d065a67ef8af8accb6bbe4829a1e59e582db1d6b8/pxblat-1.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a021e5446a432caba34babf53d21ba211c18fa3c7edbbc11e8ab2a8f1d7718e2",
                "md5": "11e493e943ebda6ef4971934dc461442",
                "sha256": "b61337bde541be6fc933059d42c51364490775071d96de53a60cefeb0ac16e1a"
            },
            "downloads": -1,
            "filename": "pxblat-1.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "11e493e943ebda6ef4971934dc461442",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.9",
            "size": 629881,
            "upload_time": "2024-05-16T05:56:29",
            "upload_time_iso_8601": "2024-05-16T05:56:29.366432Z",
            "url": "https://files.pythonhosted.org/packages/a0/21/e5446a432caba34babf53d21ba211c18fa3c7edbbc11e8ab2a8f1d7718e2/pxblat-1.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-16 05:56:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ylab-hi",
    "github_project": "pxblat",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pxblat"
}
        
Elapsed time: 0.25776s