Skip to main content

No project description provided

Project description

hpcblast

hpcblast软件为在HPC环境(Sun Grid Engine)下运行NCBI-BLAST+套件程序提供了简单高效的方法,其通过将比对输入文件进行拆分并利用HPC环境加速blast查找速度。当blast比对输入文件序列较多,运行速度较慢时使用hpcblast有明显的性能提升。

1. 特性

  • hpcblast将比对序列随机拆分成小文件并将任务并发运行在SGE或本地环境中
  • hpcblast兼容全部的NCBI-BLAST+选项和命令,结果和NCBI-BLAST+相同
  • hpcblast支持fa/fq格式,支持gz压缩格式输入,无需将fastq解压并转为fasta步骤
  • hpcblast统一的任务管理调度,自动管理资源,当程序中断或报错情况,自动销毁运行中的任务
  • hpcblast支持自定义并发控制和资源申请

2. 依赖

2.1 运行环境
2.2 其他python模块依赖

3. 安装

git仓库安装 (for recommend)

pip3 install git+https://github.com/yodeng/hpc-blast.git

Pypi安装

pip3 install hpcblast -U

4. 使用

$ hpc-blast -h 
usage: hpc-blast [--split <int> | --size <int>] [--num <int>] [--output <str>] [--log <file>] [--local] [--version] [-h] [--queue [<str> ...]]
                 [--cpu <int>] [--memory <int>]
                 <blast command>

hpc-blast <OPTIONS> <blast command>

positional arguments:
  <blast command>      blast command, required

optional arguments:
  --split <int>        split query into num of chunks, 10 by default
  --size <int>         split query into multi chunks with N sequences
  --num <int>          max number of chunks run parallelly, all chunks by default
  --output <str>       hpc blast output directory
  --log <file>         append hpc-blast log info to file, sys.stdout by default
  --local              run blast in localhost instead of sge
  --version            show program's version number and exit
  -h, --help           show this help message and exit

sge arguments:
  --queue [<str> ...]  sge queue, multi-queue can be sepreated by whitespace, all access queue by default
  --cpu <int>          cpu usage for sge, 1 by default, max(--cpu, -num_threads) will be used
  --memory <int>       memory (GB) usage for sge, 1 by default

相关参数解释如下:

参数 描述
--split 将输入序列拆分为多少份
--size 将输入序列拆分,每份指定多少序列条数
--num hpcblast任务队列,将拆分的块发送到hpcblast任务队列中,代表同时运行的拆分块任务数,默认全部拆分块同时运行
--output hpcblast输出目录,不存在会自动创建
--log hpcblast输出日志文件,默认标准输出
--local 强制hpcblast本地并发运行,不使用sge运行。
--version 打印hpcblast版本并退出
-h, --help 打印hpcblast帮助并退出
--queue 如果运行在sge环境,则传入指定的队列名,多个队列用空白隔开,默认全部可用队列
--cpu 如果运行在sge环境,则任务申请的cpu资源数,默认1,会识别blast参数中的-num_thread参数,使用较大的值
--memory 如果运行在sge环境,则任务申请的内存,默认1,单位GB

说明

  • hpc-blast选项使用两个中划线--blast选项使用一个中划线-
  • hpc-blast命令和选项后面直接跟需要运行的blast命令即可,完全兼容,命令阻塞直到全部任务运行完成
  • hpcblast任务队列为最大允许同时运行的任务块,当某个任务块运行完成时会立即添加一个任务块到任务队列中并启动运行
  • hpcblast主线程管理各并发子任务块,主线程几乎不占用cpu和内存资源,主程序终止,其管理的本地或sge任务自动清空,无需手动销毁
  • hpc-blast识别blast命令中的-query-num_thread参数,-query后面可直接跟fa/fq格式文件(支持*.gz压缩格式)
  • hpc-blast随机拆分输入文件,拆分过程无须将全部序列读入内存,无内存消耗,比对输出结果无序
  • 并发环境,需注意使用的cpu和内存资源

5. 示例

以下命令表示将test.fastq.gz序列随机拆分成200份进行blastn比对,任务投递到sge集群中,投递队列为all.qtest.q,使用资源virtual_free=1g,num_proc=4,允许同时运行的最大任务数为50个,blastn输出结果文件为test.blast.m6hpc-blast输出目录为当前目录下的out目录。

hpc-blast --split 200 --queue all.q test.q --num 50 --output out blastn -query test.fastq.gz -db /data/refdb -num_threads 4 -out test.blast.m6 -outfmt "6 qseqid qlen qstart qend"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

hpcblast-1.0.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

hpcblast-1.0.1-py2.py3-none-any.whl (9.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file hpcblast-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: hpcblast-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.5

File hashes

Hashes for hpcblast-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3feb2536d83739459e16393cbfcdc90da3c5184992dbd1a906f3f484001c85d2
MD5 29721b940af19813b86c20e04e9ee560
BLAKE2b-256 472f2158edf33892d8b18116a417b6004b5370b56bfc05da0b98bc59eef59325

See more details on using hashes here.

File details

Details for the file hpcblast-1.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: hpcblast-1.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.25.1 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/2.7.18

File hashes

Hashes for hpcblast-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5eb16b9537b62f91c5ff5fa8e9b01637e24fe6d3f75dcd2973b87caf7d3375cb
MD5 49cb14568eb5022996507474a5cedb8b
BLAKE2b-256 d8da430bc5e5d305ec7e6dc5399a0b271576da74d1b16532169a6c98bbfc7def

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page