1 个不稳定版本

0.8.2 2023年12月6日

#113生物学

GPL-3.0 许可证

2MB
37K SLoC

Lorikeet

Lorikeet 是一个用于宏基因组群落物种内变异分析的流程,它利用长读和短读。Lorikeet 使用 GATK HaplotypeCaller 算法的重实现,对候选基因组内可能活跃的区域进行局部组装。调用到的变异可以通过结合 UMAP 和 HDBSCAN 进行聚类,以形成可能的菌株。

文档

有关 Lorikeet 及其涉及的各种算法和概念的详细文档,请访问 Lorikeet 文档

快速入门

安装

选项 1:手动构建

如果系统上找不到,您可能需要手动设置 C_INCLUDE_PATHLIBRARY_PATHLIBCLANG_PATHOPENSSL_DIR 的路径,以匹配您的 conda 环境中的相应路径。此方法还假定您已在系统上通过 rustup 安装了 rust。

GIT_LFS_SKIP_SMUDGE=1 git clone --recursive https://github.com/rhysnewell/Lorikeet.git;
cd Lorikeet;
conda env create -n lorikeet -f lorikeet.yml; 
conda activate lorikeet;
pip install --upgrade cmake;
bash install.sh # or run without installing e.g. `cargo run --release -- call -h`;
lorikeet call -h

根据您的本地网络配置,您可能无法通过 git 获取 Lorikeet。如果您看到类似的内容,您可能位于一个代理后面,该代理阻止了对标准 git:// 端口(9418)的访问。

$ git clone --recursive git://github.com/rhysnewell/Lorikeet.git
Cloning into 'Lorikeet'...
fatal: Unable to look up github.com (port 9418) (Name or service not known)

幸运的是,多亏了 Freebayes 开发者提供的这个实用技巧,我们可以解决这个问题。如果您可以通过端口 443 访问 https://,则可以使用此“魔法”命令作为解决方案,以启用子模块的下载

git config --global url.https://github.com/.insteadOf git://github.com/

选项 2:Conda

安装到当前 conda 环境

conda install -c conda-forge bioconda lorikeet-genome

创建新的 conda 环境,并在其中安装 lorikeet

conda create -n lorikeet -c conda-forge bioconda lorikeet-genome && \
conda activate lorikeet

静态二进制文件最容易使用,但它是用 musl 编译的,这使 Lorikeet(以及其他 rust 二进制文件)的运行速度比通常应该慢得多。因此,我们不推荐在解决这个问题之前使用此静态二进制文件。

您可以使用此存储库中提供的预编译静态二进制文件。您必须使用 lorikeet.yml 安装 lorikeet conda 环境。

GIT_LFS_SKIP_SMUDGE=1 git clone --recursive https://github.com/rhysnewell/Lorikeet.git;
cd Lorikeet;
conda env create -n lorikeet -f lorikeet.yml;
conda activate lorikeet

创建conda环境后,从GitHub下载并安装最新版本的发布文件。

wget https://github.com/rhysnewell/Lorikeet/releases/download/latest/lorikeet-x86_64-unknown-linux-musl-v0.6.1.tar.gz;
tar -xvzf lorikeet-x86_64-unknown-linux-musl-v*.tar.gz;
cp release/lorikeet $CONDA_PREFIX/bin;

用法

输入可以是reads和参考基因组,或者是MAG。也可以是BAM文件和相关基因组。

Strain genotyping analysis for metagenomics

Usage: lorikeet <subcommand> ...

Main subcommands:
    genotype    *Experimental* Resolve strain-level genotypes of MAGs from microbial communities
    consensus   Creates consensus genomes for each input reference and for each sample
    call        Performs variant calling with no downstream analysis
    evolve      Calculate dN/dS values for genes from read mappings

Other options:
    -V, --version   Print version information

Rhys J. P. Newell <r.newell near uq.edu.au>

从bam文件调用变异

lorikeet调用--bam-文件 my.bam--longread-bam-文件 my-longread.bam--基因组-fasta-基因组目录/ -x fna--bam-文件-缓存-已保存的bam文件目录--输出-lorikeet_out目录/ --线程数10 --绘图

从短读和长读bam文件调用变异

lorikeet调用-r 输入基因组.fna-1正向reads.fastq-2反向reads.fastq-l longread.bam

Shell完成

为各种shell生成完成脚本,例如BASH(这需要root权限)。例如,要全局安装bash完成脚本(需要root权限)

lorikeet shell-completion --output-file lorikeet --shell bash
mv lorikeet /etc/bash_completion.d/

也可以安装到用户的家目录中(不需要root权限)

lorikeet shell-completion --shell bash --output-file /dev/stdout >>~/.bash_completion

在两种情况下,要生效,可能需要重启终端。要测试,请输入lorikeet ca,按TAB键后应自动完成。

许可证

代码遵循GPL-3.0

依赖项

~34–47MB
~817K SLoC