在多核系统中更有效地运行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为默认值):

  1. 质量标准
  2. sseqid公司
  3. 皮登特
  4. 评价
  5. qcovs公司
  6. 昆仑
  7. 长度
  8. 喜达屋
  9. 针线

还有一个名为results_annotated.hits的文件,除了上面的列之外,还将 包含列沿袭。在

它还将包含一个PDF文件,其中包含所有分类级别的直方图 调用`results_税务局.pdf'

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
来自偏移量的java JavaPairInputStream流   gzip Java TarInputStream读取tar的文件名。包含另一个tar的gz文件。gz文件   如何在Linux shell脚本中确定和使用实际的java路径   java请求太多FirebaseError   java错误json解析   java在localserver上发送安卓应用程序的输出   JavaSpring:启动和停止webapplication时更新DBtable条目   java如何使用JavaFX在矩形处设置文本?   java SQL查询在Hibernate中出现异常   java我无法使用javamail代码通过outlook(hotmail帐户)配置发送邮件,但在gmail中工作正常   java是不同的持久性。测试运行/JPA装置的xml属性   无头Eclipse的java导出战   使用ContentVersionStrategy的java Spring引导缓存禁止使用gzip进行资源压缩   java如何获取计算机的设备令牌?   图像文件的java ImageInfo不包含有效值   继承强制在Java中使用基类方法