Skip to main content

logo PxBLAT social

An Efficient and Ergonomic Python Binding Library for BLAT

python c++ c pypi conda Linux macOS pyversion tests Codecov docs download condadownload precommit ruff release open-issue close-issue activity lastcommit opull all contributors

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

🔮 Features

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

📎 Citation

PxBLAT is scientific software, with a published paper in the BioRxiv. Check the published to read the paper.

@article{li2024pxblat,
	author = {Li, Yangyang and Yang, Rendong},
	title = {{PxBLAT: an efficient python binding library for BLAT}},
	journal = {BMC Bioinf.},
	volume = {25},
	number = {1},
	pages = {1--8},
	year = {2024},
	month = {12},
	issn = {1471-2105},
	publisher = {BioMed Central},
	doi = {10.1186/s12859-024-05844-0}
}

🚀 Getting Started

Welcome to PxBLAT! To kickstart your journey and get the most out of this tool, we have prepared a comprehensive documentation. 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. 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 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 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).
git checkout -b new-feature-branch
  1. Take changes to the project's codebase.
  2. Install the latest package
poetry install
  1. Test your changes
pytest -vlsx tests
  1. Commit your changes to your local branch with a clear commit message that explains the changes you've made.
git commit -m 'Implemented new feature.'
  1. Push your changes to your forked repository on GitHub using the following command
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

yangliz5
yangliz5

🚧
Joshua Zhuang
Joshua Zhuang

🚇

🙏 Acknowledgments


Star History Chart

Metadata

Release files for pxblat 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pxblat 1.3.0
File Size Uploaded
pxblat-1.3.0.tar.gz 628.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for pxblat 1.3.0
File
pxblat-1.3.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
pxblat-1.3.0-cp313-cp313-macosx_15_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 15.0+ x86-64 Details
pxblat-1.3.0-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details
pxblat-1.3.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
pxblat-1.3.0-cp312-cp312-macosx_15_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 15.0+ x86-64 Details
pxblat-1.3.0-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details
pxblat-1.3.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
pxblat-1.3.0-cp311-cp311-macosx_15_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 15.0+ x86-64 Details
pxblat-1.3.0-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details
pxblat-1.3.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
pxblat-1.3.0-cp310-cp310-macosx_15_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 15.0+ x86-64 Details
pxblat-1.3.0-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details
pxblat-1.3.0-cp39-cp39-manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64 Details
pxblat-1.3.0-cp39-cp39-macosx_15_0_x86_64.whl CPython 3.9 CPython 3.9 macOS 15.0+ x86-64 Details
pxblat-1.3.0-cp39-cp39-macosx_14_0_arm64.whl CPython 3.9 CPython 3.9 macOS 14.0+ ARM64 Details

Total release size: 59.6 MB

Release files / pxblat-1.3.0.tar.gz

Download URL pxblat-1.3.0.tar.gz
Size 628.7 kB
Tags Source
SHA-256 checksum
How to use checksums
06772354e11ef0432987f10865c4be4d5f56f8c3334a937670908d71b7280d70
BLAKE2b-256 checksum
How to use checksums
0971e2f14743d3f58021950659a5b6cc00846032d5e0c57e375b3bbf88b10e72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL pxblat-1.3.0-cp313-cp313-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f9e920a197982b49401c39b5244fd76fb63f8fc1f194203e0dcd1b060d6171df
BLAKE2b-256 checksum
How to use checksums
28364ca6c3b097da82fd3dae74053bc8058b709ce0528deb4d635734648e2118
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp313-cp313-macosx_15_0_x86_64.whl

Download URL pxblat-1.3.0-cp313-cp313-macosx_15_0_x86_64.whl
Size 3.8 MB
Tags CPython 3.13 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
138afb6cd4eaee96c844036c80502d59ef2b75df36bdba2dd3042fecdb867335
BLAKE2b-256 checksum
How to use checksums
ecba0bbc4cfc4d7130faf67f6ceb3024a1238b54bed5dbcc5813416bbd215edf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp313-cp313-macosx_14_0_arm64.whl

Download URL pxblat-1.3.0-cp313-cp313-macosx_14_0_arm64.whl
Size 4.0 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
f94c22883ec48c09cf98a8f9dd3bed256497db2e1608ed322095fe37154dc6e6
BLAKE2b-256 checksum
How to use checksums
8a69af10df23801f384f20a1fd6a71841bc50bb68359542138cc0d971cffdb3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL pxblat-1.3.0-cp312-cp312-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bf3e5e6768eab5351b110a3c8bf51242fb1c9eed14473af2a8b874674196a150
BLAKE2b-256 checksum
How to use checksums
23ef2a51aeb2a2c4da8fa1f70134bde9aac2e4d3541bdaf410b510d358823f5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp312-cp312-macosx_15_0_x86_64.whl

Download URL pxblat-1.3.0-cp312-cp312-macosx_15_0_x86_64.whl
Size 3.8 MB
Tags CPython 3.12 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
0ba7d2ea584a9dc515bdfc21ca434f4bf1a9317c7f9bc896b70e120944fb1afb
BLAKE2b-256 checksum
How to use checksums
f7be19f2a8856790b82d8c1fb130fc5be04a8f6b259535e9f5eabd23c2de55d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp312-cp312-macosx_14_0_arm64.whl

Download URL pxblat-1.3.0-cp312-cp312-macosx_14_0_arm64.whl
Size 4.0 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
f863c609d28e1e58ff84ed819a862188ddfd64279cf967d850687e7a28f105bb
BLAKE2b-256 checksum
How to use checksums
67fdfe6035adf3eaa77cab263ae1b7142ed4b74fe3bd1e646ee665b488a7bc2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL pxblat-1.3.0-cp311-cp311-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
9341ea09ff818a6cfe91737b0696731262faa4954064b050defe860ca8e5a638
BLAKE2b-256 checksum
How to use checksums
ec87ec6057f69c3235cf45bb6fa1336f92267de759915fe75fb6c370df95b237
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp311-cp311-macosx_15_0_x86_64.whl

Download URL pxblat-1.3.0-cp311-cp311-macosx_15_0_x86_64.whl
Size 3.8 MB
Tags CPython 3.11 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
580ac97ace55a4752cd9a73b9ade25a23798a5f0e91606e1f4750e5ec48cbe58
BLAKE2b-256 checksum
How to use checksums
6a20aa1095ee50087fe22e039fb05b5639e2f78598f17a62616b1c2f95e661ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp311-cp311-macosx_14_0_arm64.whl

Download URL pxblat-1.3.0-cp311-cp311-macosx_14_0_arm64.whl
Size 4.0 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
d7484a78498118dc0c843b8795717de830c30ec708a15a7b515c6ceb81da8d87
BLAKE2b-256 checksum
How to use checksums
31c3b6207b84d30e81f43e69bda5e6ec373683cc9e9f6984adf927d5c8b598da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL pxblat-1.3.0-cp310-cp310-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d5dae431677c528234aeba32f18a2f9de026010625db841c3615d9f5b267b474
BLAKE2b-256 checksum
How to use checksums
8291d078d597d2a37f1f2ce24ad55dff279dd03b8f5bd146e03da9056fcba8bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp310-cp310-macosx_15_0_x86_64.whl

Download URL pxblat-1.3.0-cp310-cp310-macosx_15_0_x86_64.whl
Size 3.8 MB
Tags CPython 3.10 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
67bc675dce5b49abd8295b48d22f3f4ef78f7fbed10e942a69646aae8ad0b16d
BLAKE2b-256 checksum
How to use checksums
11cb59187833e36787501405d7ae1d2ee14e1ad123c4887e52d3d9f642df95b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp310-cp310-macosx_14_0_arm64.whl

Download URL pxblat-1.3.0-cp310-cp310-macosx_14_0_arm64.whl
Size 4.0 MB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
aa9e51dbdeeb8aa45e2b70c744a6e4daa2bd4910ce9ad09c2cb73b85e8719e5e
BLAKE2b-256 checksum
How to use checksums
ea1eb4cfa083f4ea1b329dd3f106f5f2763893853470430994cae629b364fd11
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp39-cp39-manylinux_2_28_x86_64.whl

Download URL pxblat-1.3.0-cp39-cp39-manylinux_2_28_x86_64.whl
Size 4.0 MB
Tags CPython 3.9 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f3506cbe129fd8907d230fe32a06858a34305d07fa0b5987efdd250045ecb2e6
BLAKE2b-256 checksum
How to use checksums
e002338c3952f79e676387c4c9f0009c95e70ffde84d904b4176d7daf40ee038
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp39-cp39-macosx_15_0_x86_64.whl

Download URL pxblat-1.3.0-cp39-cp39-macosx_15_0_x86_64.whl
Size 3.8 MB
Tags CPython 3.9 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
803627923f59a5a256f7d3f3adca5ed5573473dcb67205762a1c4767e315b7d0
BLAKE2b-256 checksum
How to use checksums
cd8d254427c5aa4bbf4c2492c1c1e0a64089380a2688ce6b347d610c77138f1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / pxblat-1.3.0-cp39-cp39-macosx_14_0_arm64.whl

Download URL pxblat-1.3.0-cp39-cp39-macosx_14_0_arm64.whl
Size 4.0 MB
Tags CPython 3.9 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
2e0b4f028ed3bdd15ab43d184e5888957431d86a781836b1212fbc270f485570
BLAKE2b-256 checksum
How to use checksums
76cf9eb0eca50bf37cc8d6c059e6fc84bbb8ae82c17f8d5deff990e60a3aa2ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

1.3.0 This release

16 release files

1.2.8

10 release files

1.2.1

10 release files

1.1.9

10 release files

1.1.8

11 release files

1.1.7

7 release files

1.1.5

7 release files

1.1.2

10 release files

1.1.1

10 release files

1.1.0

10 release files

1.0.3

10 release files

1.0.0

10 release files

0.3.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page