Organelle_PBAを使ってみた

ちょっと古いですがOrganelle_PBA (https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5219736/) というPacBioロングリードシーケンスのオルガネラ用アセンブラを使ってみました。Organelle_PBAはさまざまなアセンブリに関するプログラムを組み合わせて自動的にオルガネラゲノムを構築してくれる便利なツールです。

ただし、内部で用いられているプログラムが結構古く開発が終わっているものもあるので将来性という面では少々あれかもしれません。

最近のブログの記事ではDockerによくお世話になっていますが、今回もDockerを使って実行環境を構築していきたいと思います。

まずは、以下の内容でDockerfileを作成しました。

FROM centos:latest

RUN yum update -y && yum install -y wget glibc-locale-source glibc-langpack-en \
    bzip2 bzip2-devel make gcc gcc-c++ perl perl-libwww-perl zlib zlib-devel \
    expat-devel libxml2-devel java-1.8.0-openjdk

ENV LANG='en_US.UTF-8'

RUN cpan App::cpanminus
RUN cpanm Bio::SeqIO
RUN cpanm Bio::DB::EUtilities
RUN cpanm Bio::Tools::Run::StandAloneBlastPlus
RUN cpanm -f Perl4::CoreLibs

RUN mkdir /opt/miniconda2 && mkdir /opt/sspace_longread && mkdir /opt/Organelle_PBA
COPY Miniconda2-latest-Linux-x86_64.sh /opt/miniconda2/
WORKDIR /opt/miniconda2
ENV PATH=$PATH:/opt/miniconda2/bin
RUN bash ./Miniconda2-latest-Linux-x86_64.sh -bfp /opt/miniconda2 && \
    conda update -y -n base -c defaults conda && \
    conda install -y -n base -c bioconda blast blasr samtools bedtools seqtk


ADD sprai-0.9.9.23.tar.gz /opt
WORKDIR /opt/sprai-0.9.9.23
RUN python2 ./waf configure && python2 ./waf build && python2 ./waf install

ADD wgs-8.3rc2.tar.bz2 /opt
WORKDIR /opt/wgs-8.3rc2
RUN cd kmer && make install && cd .. && cd src && make && cd ..

COPY SSPACE-LongRead.pl /opt/sspace_longread 
COPY OrganelleRef_PBA /opt/Organelle_PBA
    
ENV CA_PATH=/opt/wgs-8.3rc2/Linux-amd64/bin
ENV SSPACELONG_PATH=/opt/sspace_longread
ENV PATH=/opt/Organelle_PBA:$PATH

RUN mkdir -p /home/testdata/inputs
COPY artha_pacbioSRR1284093_c025k.fastq.gz /home/testdata/inputs/
COPY artha_refchl01_artha.fa.gz /home/testdata/inputs/
RUN gunzip /home/testdata/inputs/*
RUN mkdir /home/testdata/outputs
RUN OrganelleRef_PBA -i /home/testdata/inputs/artha_pacbioSRR1284093_c025k.fastq \
    -r /home/testdata/inputs/artha_refchl01_artha.fa -o /home/testdata/outputs

WORKDIR /data
CMD OrganelleRef_PBA -h

Dockerfile以外のファイルとしては、Miniconda2のインストールスクリプト、wgs-assembler及びspraiのソースコード、SSPACE_LONGREAD及びOrganelle_PBAのパールスクリプト、テストデータを同じディレクトリにダンロードしておきます。lsコマンドの結果は以下のようになります。

Dockerfile                            artha_refchl01_artha.fa.gz
Miniconda2-latest-Linux-x86_64.sh     organelle_pba
OrganelleRef_PBA                      sprai-0.9.9.23.tar.gz
SSPACE-LongRead.pl                    wgs-8.3rc2.tar.bz2
artha_pacbioSRR1284093_c025k.fastq.gz 

次にDockerfile及び各種ダウンロードファイルがあるディレクトリでDockerイメージをビルドしていきます。

docker build -t organelle_pba .

Dockerコンテナを立ち上げてコンテナ内に入ります。ついでにインプットデータが入っているディレクトリをマウントしておきます。

docker run -it -v /host/data/path:/data organelle_pba /bin/bash

コンテナ内に入ったらあとはOrganelle_PBAを使ってアセンブルを行うだけです。

OrganelleRef_PBA -i <pacbio.fastq> -r <reference.fasta> -o <output dir>

20210314修正: SSPACE-Longread.plがうまく動かない不具合があったのでDockerfileに修正を加えました。

参考文献

  • Soorni A, Haak D, Zaitlin D, Bombarely A. Organelle_PBA, a pipeline for assembling chloroplast and mitochondrial genomes from PacBio DNA sequencing data. BMC Genomics. 2017;18(1):49. Published 2017 Jan 7. doi:10.1186/s12864-016-3412-9
  • https://github.com/aubombarely/Organelle_PBA