在多核系统中更有效地运行blast的简单程序,以及使用BASTA LCA的粗略分类注释
justblast的Python项目详细描述
正义爆破
这是一个简单的程序,可以更有效地在多核上运行blast 机器,有一个简单的扩展来运行和绘制最后一个公共 祖先(LCA)使用Tim Kahlke的BASTA,并允许输入 fastq格式。在
要求
安装
{a2需要运行这个程序} 安装到您的机器中。转到上面的链接,然后按照 说明。下面的安装说明应该尝试安装 然而,BASTA要求数据库LevelDB 需要安装在您的系统上。在Linux系统上,您可以执行以下操作:
sudo apt-get update
sudo apt-get install python-leveldb
如果您没有管理权限,请与系统管理员联系。在
在mac OS上:
^{pr2}$加拿大计算机用户注意事项
在安装之前,您需要加载python包和 levelDB模块:
module load nixpkgs/16.09 scipy-stack/2018b # python modules
module load gcc/5.4.0 leveldb/1.20 # leveldb
安装
justblast安装在PyPI存储库中,可以通过以下方式安装:
python3 -m pip install justblast
或者您可以克隆这个存储库并运行setup.py install
命令。在
如果您没有管理员权限,可以添加--user
选项。在
使用
您可以通过键入以下内容来浏览选项:
justblast -h
你会得到
usage: justblast [-h] [-e EVALUE] [-p PERCENT_ID] [-m MAX_TARGET_SEQS]
[-q QUERY_COVERAGE] [-c CPUS] [-i] [-o OUT_FILENAME] [-f OUTFMT]
query db
positional arguments:
query Fasta file with query sequences
db path to blast database
optional arguments:
-h, --help show this help message and exit
-e EVALUE, --evalue EVALUE
evalue for blast search (default: 10)
-p PERCENT_ID, --percent_id PERCENT_ID
Minimum percent identity on blast search (default: 0)
-m MAX_TARGET_SEQS, --max_target_seqs MAX_TARGET_SEQS
Number of aligned sequences to keep (default: 500)
-q QUERY_COVERAGE, --query_coverage QUERY_COVERAGE
Minimum query coverage to retain (default: None)
-c CPUS, --cpus CPUS Number of cpus to use (default: -1)
-i, --identify Whether to use basta to assign taxopnomy to the hits
based on LCA. This is a rough estimate and should be
revised carefully (default: False)
-o OUT_FILENAME, --out_filename OUT_FILENAME
name of output (filtered) file (default: hit.hits)
-f OUTFMT, --outfmt OUTFMT
Custom format for BLAST (default: qseqid sseqid pident
evalue qcovs qlen length staxid stitle)
只有两个位置参数,查询文件和
BLAST数据库。大多数可选字符将筛选和/或
修改爆炸搜索。两个例外是identify
,它将
运行basta和cpu,它们可以根据您的机器(默认情况下)进行定制
使用机器中的所有核心)。注意:如果您在加拿大计算
您必须传递与您请求的核心数匹配的值。在
关于BASTA run的注释
justblast基于BASTA执行rough分类法的赋值。在这里我用 以下参数:
- -m 10:至少有10次点击必须同意指定的分类法
- -n 50:使用前50个命中率来完成分配,而不管你的最大目标是什么
- 其余参数要么是默认参数,要么与爆炸使用相同的参数。在
{str}至少要有一个
- 质量标准
- sseqid公司
- 长度
- 评价
- 皮登特
虚拟示例
假设您有一个名为seqs.fasta
的fasta文件,并且您希望
对主文件夹中的核苷酸数据库(nt)运行blast
(/home/user)。你想把你的爆炸限制在1E-10,一个百分比id
,并且只检索50个查询覆盖率超过90%的目标序列。
您还需要使用BASTA粗略地探索分类环境。那你就可以了
通过以下方式调用程序:
justblast.py seqs.fasta /home/user/nt -e 1E-10 -p 95 -m 50 -q 90 -i -o results.hits
这将生成一个名为results.hits
的hits文件,并将包含以下内容
列(请注意,outfmt为默认值):
- 质量标准
- sseqid公司
- 皮登特
- 评价
- qcovs公司
- 昆仑
- 长度
- 喜达屋
- 针线
还有一个名为results_annotated.hits
的文件,除了上面的列之外,还将
包含列沿袭。在
它还将包含一个PDF文件,其中包含所有分类级别的直方图 调用`results_税务局.pdf'
- 项目
标签: