ちょっと古いですが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