0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

M1 Macにdocker版 fuannotateの環境を作る

Last updated at Posted at 2024-12-05

菌類を初めとする真核生物の遺伝子予測を行うfunannotateをMacで行う場合には、dockerまたはconda環境で使用可能です。ここではdocker版をM1 Macにインストールする方法を解説します。

Fuannotateの説明は
Github: https://github.com/nextgenusfs/funannotate
公式ガイド: https://funannotate.readthedocs.io/en/latest/index.html
を参考にしてください。

準備

brewやwgetがインストールされていなければ、インストールする。

brewのインストール

ターミナルにbrewがインストールされている場合はスキップしてください。

brewがインストールされているか確かめる方法

$ which brew
/opt/homebrew/bin/brew

インストールされていればパスが(上記とは異なるかもしれませんが)、インストールされていない場合は、

command not found

と出ます。
インストールされていない場合には、こちらのHPから
https://brew.sh/ja/ 
インストールできます。
インストール方法は2つあり、どちらか選んでください。

①コマンドを打つ方法
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

これで完了。

② pkgからインストールする方法(少し手間です)

こちらから .pkg版をダウンロードします。
https://github.com/Homebrew/brew/releases/tag/4.4.9
インストーラーを起動すると、最後に小さなポップアップが出て、PATHを足すようにメッセージが出ますので、ウインドウを閉じずにそれをコピーしておいてください。
私の場合は、ターミナルのシェルがbashでしたので、

$ echo $SHELL
/bin/bash
$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' > .bashprofile
$ source .bashrc

をターミナルで打ちます。デフォルトでzshを使用している場合は、

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' > .zprofile
source .zshrc

となります。
インストールが成功していれば

which brew

でパスが出てくるはずです。

wgetのインストール

whichコマンドでインストールされているか確認。

$ which wget
/usr/local/bin/wget

コマンドが見つからないというメッセージが出たら、brewでインストールします。

brew install wget

メッセージがダラダラでると思いますが、warningとかerrorとか怪しい感じのメッセージが出ず、which wgetをしてパスが表示されたらインストール完了です。

dockerのインストール

最新版を https://www.docker.com/ja-jp/ から ダウンロードします。

docker版 fuannotateのインストール

そのままdocker pullをするとM1 macはアーキテクチャがamd64対応でないため、インストールできません。そこで以下の方法で対応します。

Dockerアプリケーションの設定

Dockerのアプリケーションを開き、Settings(右上の歯車マーク)をクリックし、General のページを下の方にスクロールすると、Virtual Machine Options があります。
ここが
✓ “Apple Virtualization framework”
✓ Use Rosetta for x86_64/amd64 emulation on Apple Silicon
にチェックされていることを確認します。チェックされていなければチェックして、右下の "apply & restart" をクリックします。

funannotateをインストールする

以下のコマンドを打ちます。--platformオプションが必須です。

docker pull --platform linux/amd64 nextgenusfs/funannotate

ダウンロードが始まります。何分かかかると思います。
終わったら、ラッパーであるfunannotate-dockerをインストールします。

$ wget -O funannotate-docker https://raw.githubusercontent.com/nextgenusfs/funannotate/master/funannotate-docker

実行権限を付加

$ chmod +x funannotate-docker

実行権限が変更されているか確認

$ ls -al
total 8
drwx------+  3 PC01  staff   96B  3 27  2024 Desktop
drwx------+  3 PC01  staff   96B  3 27  2024 Documents
drwx------+  5 PC01  staff   160B 12  3 14:47 Downloads
drwx------@ 86 PC01  staff   2.7K 12  3 10:11 Library
drwx------   4 PC01  staff   128B  3 29  2024 Movies
drwx------+  4 PC01  staff   128B 12  2 21:41 Music
drwx------+  4 PC01  staff   128B  3 27  2024 Pictures
drwxr-xr-x+  4 PC01  staff   128B  3 27  2024 Public
-rwxr-xr-x   1 PC01  staff   930B 12  3 14:52 funannotate-docker

funannotate-dockerの左側が、こんな感じになっていれば大丈夫です。

fuannotateのテスト

ヘルプ画面を出してみます。

$ ./funannotate-docker -help
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

Usage:       funannotate <command> <arguments>
version:     1.8.17

Description: Funannotate is a genome prediction, annotation, and comparison pipeline.

Commands:  
  clean       Find/remove small repetitive contigs  
  sort        Sort by size and rename contig headers  
  mask        Repeatmask genome assembly
  
  train       RNA-seq mediated training of Augustus/GeneMark  
  predict     Run gene prediction pipeline  
  fix         Fix annotation errors (generate new GenBank file)  
  update      RNA-seq/PASA mediated gene model refinement  
  remote      Partial functional annotation using remote servers  
  iprscan     InterProScan5 search (Docker or local)  
  annotate    Assign functional annotation to gene predictions  
  compare     Compare funannotated genomes
  
  util        Format conversion and misc utilities  
  setup       Setup/Install databases  
  test        Download/Run funannotate installation tests  
  check       Check Python, Perl, and External dependencies [--show-versions]  
  species     list pre-trained Augustus species  
  database    Manage databases  
  outgroups   Manage outgroups for funannotate compare

Written by Jon Palmer (2016-2022) nextgenusfs@gmail.com with contributions by Jason Stajich jasonstajich.phd@gmail.com

アーキテクチャに関する警告が出ますが、ヘルプ画面が出ればOKです。

次にtestコマンドを使って、実行をテストしてみます。

$ ./funannotate-docker test -t predict
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
#########################################################
Running `funannotate predict` unit testing
Downloading: https://osf.io/te2pf/download?version=1 Bytes: 1489808
CMD: funannotate predict -i test.softmasked.fa --protein_evidence protein.evidence.fasta -o annotate --augustus_species saccharomyces --cpus 2 --species Awesome testicus
#########################################################
-------------------------------------------------------
[Dec 03 03:32 PM]: OS: Debian GNU/Linux 10, 8 cores, ~ 8 GB RAM. Python: 3.8.12
[Dec 03 03:32 PM]: Running funannotate v1.8.17
[Dec 03 03:32 PM]: GeneMark not found and $GENEMARK_PATH environmental variable missing. Will skip GeneMark ab-initio prediction.
[Dec 03 03:32 PM]: Skipping CodingQuarry as no --rna_bam passed
[Dec 03 03:32 PM]: Parsed training data, run ab-initio gene predictors as follows:
 Program   Training-Method
 augustus   pretrained   
 glimmerhmm  busco      
 snap     busco      
[Dec 03 03:32 PM]: Loading genome assembly and parsing soft-masked repetitive sequences
[Dec 03 03:32 PM]: Genome loaded: 6 scaffolds; 3,776,588 bp; 19.75% repeats masked
/venv/lib/python3.8/site-packages/funannotate/aux_scripts/funannotate-p2g.py:14: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
 from pkg_resources import parse_version
[Dec 03 03:32 PM]: Mapping 1,065 proteins to genome using diamond and exonerate
[Dec 03 03:32 PM]: Found 1,505 preliminary alignments with diamond in 0:00:03 --> generated FASTA files for exonerate in 0:00:00
   Progress: 1505 complete, 0 failed, 0 remaining      
[Dec 03 03:33 PM]: Exonerate finished in 0:00:56: found 1,270 alignments
[Dec 03 03:33 PM]: Running BUSCO to find conserved gene models for training ab-initio predictors
[Dec 03 03:48 PM]: 373 valid BUSCO predictions found, validating protein sequences
[Dec 03 03:50 PM]: 370 BUSCO predictions validated
[Dec 03 03:50 PM]: Running Augustus gene prediction using saccharomyces parameters
   Progress: 11 complete, 0 failed, 0 remaining     
[Dec 03 03:54 PM]: 1,485 predictions from Augustus
[Dec 03 03:54 PM]: Pulling out high quality Augustus predictions
[Dec 03 03:54 PM]: Found 371 high quality predictions from Augustus (>90% exon evidence)
[Dec 03 03:54 PM]: Running SNAP gene prediction, using training data: annotate/predict_misc/busco.final.gff3
[Dec 03 03:54 PM]: 1,491 predictions from SNAP
[Dec 03 03:54 PM]: Running GlimmerHMM gene prediction, using training data: annotate/predict_misc/busco.final.gff3
[Dec 03 03:58 PM]: 1,771 predictions from GlimmerHMM
[Dec 03 03:58 PM]: Summary of gene models passed to EVM (weights):
 Source     Weight  Count
 Augustus    1    1325 
 Augustus HiQ  2    372  
 GlimmerHMM   1    1771 
 snap      1    1491 
 Total     -    4959 
[Dec 03 03:58 PM]: EVM: partitioning input to ~ 35 genes per partition using min 1500 bp interval
   Progress: 47 complete, 0 failed, 0 remaining     
[Dec 03 04:11 PM]: Converting to GFF3 and collecting all EVM results
[Dec 03 04:11 PM]: 1,687 total gene models from EVM
[Dec 03 04:11 PM]: Generating protein fasta files from 1,687 EVM models
[Dec 03 04:11 PM]: now filtering out bad gene models (< 50 aa in length, transposable elements, etc).
[Dec 03 04:11 PM]: Found 134 gene models to remove: 0 too short; 0 span gaps; 134 transposable elements
[Dec 03 04:11 PM]: 1,553 gene models remaining
[Dec 03 04:11 PM]: Predicting tRNAs
[Dec 03 04:11 PM]: 112 tRNAscan models are valid (non-overlapping)
[Dec 03 04:11 PM]: Generating GenBank tbl annotation file
[Dec 03 04:11 PM]: Collecting final annotation files for 1,665 total gene models
[Dec 03 04:11 PM]: Converting to final Genbank format
[Dec 03 04:11 PM]: Funannotate predict is finished, output files are in the annotate/predict_results folder
[Dec 03 04:11 PM]: Your next step might be functional annotation, suggested commands:
-------------------------------------------------------
Run InterProScan (manual install): 
funannotate iprscan -i annotate -c 2

Run antiSMASH (optional): 
funannotate remote -i annotate -m antismash -e youremail@server.edu

Annotate Genome: 
funannotate annotate -i annotate --cpus 2 --sbt yourSBTfile.txt
-------------------------------------------------------
         
[Dec 03 04:11 PM]: Training parameters file saved: annotate/predict_results/saccharomyces.parameters.json
[Dec 03 04:11 PM]: Add species parameters to database:

 funannotate species -s saccharomyces -a annotate/predict_results/saccharomyces.parameters.json

#########################################################
SUCCESS: `funannotate predict` test complete.
#########################################################

最後に“SUCCESS”が出れば、動作テストが終了し、本番に進めます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?