Using QIIME2 on Linux&Mac

概要

Sparse Cooccurrence Network Investigation for Compositional Data [相関(correlation/Cooccurrence)に基づく])(Shaffer et al. 2020) 

*Single-Cell rEgulatory Network Inference and Clusteringとは別物

仮定条件

ref. : SCNIC解説(日本語)

Compositional dataの解説(日本語): (Ohta and Arai 2006)

plot parameters (ref. Nemoto's web)

ノード

  • vertex.color ノードの色
  • vertex.frame.color ノードの縁の色
  • vertex.shape “none”, “circle”, “square”, “csquare”, “rectangle”, “crectangle”, “vrectangle”, “pie”, “raster”, “sphere”の中から1つ
  • vertex.size ノードの大きさ (デフォルトは15)
  • vertex.size2 ノードの2つ目の大きさ (ノードが長方形の時のもう一方の辺の長さなど)
  • vertex.label ノードにラベルをつけるために用いられる文字列ベクトル
vertex.label=NA(ラベルなし)
  • vertex.label.family ラベルのフォント名 (“Times”, “Helvetica” など)
  • vertex.label.font フォント: 1 プレーン, 2 ボールド, 3, イタリック, 4 ボールドイタリック, 5 シンボル
  • vertex.label.cex フォントのサイズ (倍率)
  • vertex.label.dist ラベルと頂点の距離
  • vertex.label.degree 頂点に対するラベルの位置:0だと右側、“pi”だと左側、“pi/2”だと下、“-pi/2”だと上

エッジ

  • edge.color エッジの色
  • edge.width エッジの太さ (デフォルトは1)
  • edge.arrow.size 矢印のサイズ (デフォルトは1)
  • edge.arrow.width 矢印の太さ (デフォルトは1)
  • edge.lty 線の種類:0 か “blank”, 1か“solid”, 2か“dashed”, 3か“dotted”, 4か“dotdash”, 5か“longdash”, 6か“twodash”
  • edge.label エッジにラベルをつけるために用いられる文字列ベクトル
  • edge.label.family ラベルのフォント名 (ノードに同じ)
  • edge.label.font ノードに同じ
  • edge.label.cex エッジのラベルののフォントサイズ
  • edge.curved エッジの曲がり具合を0-1で表わす(FALSEだと0, TRUEだと0.5に設定される)
  • arrow.mode エッジに矢印があるかどうかを特定するベクトル(0だと矢印なし、1だと後ろ向き、2だと前向き、3だと両方向)

その他

  • margin プロット周囲にある空スペースのマージンで長さ4のベクトル
  • frame もしTRUEなら、プロットは枠付きになる
  • main 設定するとプロットにタイトルが付く
  • sub 設定するとプロットにサブタイトルが付く

CONDA installation

ref.: https://github.com/shafferm/SCNIC

condaコマンドの使い方

ref.: https://qiita.com/yasushi-jp/items/7ce0975db7a7e9ac7991


condaの全てのパッケージをupdateしておく

% conda update --all

仮想環境一覧を表示

% conda info -e


q2-SCNICのインストール

q2-SCNICには2つある?

ref.: https://github.com/shafferm/q2-SCNIC/blob/master/community_tutorial.md

ref.: https://github.com/lozuponelab/q2-SCNIC


fastsparとparallelをインストールしておくとよい?

% conda install -c bioconda -c conda-forge fastspar #(長い...)

新しくSCNIC環境の構築

% conda create -n SCNIC phyton=3 scnic 

←エラー PackagesNotFoundError: not available from current channels: -scnic

% pip install scnic # → OK

% pip install git+https://github.com/lozuponelab/q2-SCNIC.git

% qiime dev refresh-cache #Qiime2のリフレッシュ

% qiime SCNIC --help


QIIME2 on R

QIIME2とRの関係は以下のHPがわかりやすい

https://qiita.com/xvtyzn/items/6a008b61d852dcbaed57

RにQIIME2パッケージをインストールする(GitHub)

https://github.com/jbisanz/qiime2R/blob/master/README.md

R% if (!requireNamespace("devtools", quietly = TRUE)){install.packages("devtools")}

R% devtools::install_github("jbisanz/qiime2R")

QIIME2 on Linux

.qzaファイル

.qzaファイルを可視化するには、.qza → .biom → .tsvへと変換する

.qza → .biom

% qiime tools export 

--input-path [FILE.qza]

--output-path [DIR]

.biom → .tsv

% biom convert

-i [FILE.biom]

-o [FILE.txv]

--to-tsv

-----Yet tested ----- プライマーの除去

% qiime cutadapt trim-paired

--i-demultiplexed-sequences [.qza]

--p-front-f XXXXXXXXXXXXX

--p-front-r XXXXXXXXXXXXX

--o-trimed-sequences [.qza]

----------//


Identifier-based filtering

ref. https://docs.qiime2.org/2020.2/tutorials/filtering/

table.qzaから、特定のsample (Library)、もしくはfeature (ASV)を操作(除去・結合)する

% qiime feature-table filter-features 

--m-metadata-file asv-select.tsv 

--i-table table.qza 

--o-filtered-table table_filtered.qza

例)feature id (feature-id, featureid, id, etc...)

84b789f3932b5283990866d38bfcb05e566c703dfd460566e7a44428e009da52961091ff42243d719d2c30494079ffcc...

q2-SCNICの使い方

ネットワーク表示ソフトが必要: Cytoscape, Gephi, igraph (in R) etc...

データ:.qza形式のtable

全ASVのペアワイズ 相関係数を計算(SparCC法)

% qiime SCNIC calculate-correlations 

--i-table [FILE.qza]

--p-method sparcc

--o-correlation-table [FILE:correls.qza]

% qiime SCNIC make-modules-on-correlations

  --i-correlation-table correls.qza

  --i-feature-table table.qza

  --p-min-r .35

  --o-collapsed-table collapsed.qza \

  --o-correlation-network net.modules.qza \

  --o-module-membership membership.qza


% mkdir [DIR:Extr]

% qiime tools extract 

    --input-path net.modules.qza

    --output-path [DIR:Extr]

Gephiで可視化する(ver 0.9.2)

☞ [DIR:Extr]内に作成された[network.gml]を開く

微生物群集統計解析

Qiime2を用いた16S rRNAアンプリコン解析 

ANCOM (analysis of composition of microbiomes) (Mandal et al 2015)


Additional software

Visualization

ref. (英語) : https://gephi.org

ref.(日本語): http://oss.infoscience.co.jp/gephi/gephi.org/index.html

クイックスタート http://oss.infoscience.co.jp/gephi/gephi.org/users/quick-start.1.html

ユーザー向け http://oss.infoscience.co.jp/gephi/gephi.org/users/index.html

%  ./bin/gephi

☞ java8が正式サポート → java 11もサポートされた(2021.12)

☞  javaの切り替え

% sudo update-alternatives --config java

% sudo update-alternatives --auto java

使い方リンク☞

https://kateto.net/wp-content/uploads/2016/04/Gephi%20Handout%20Sunbelt%202016.pdf


Phyloseq

ref. Ushio's blog (基本的使用方法)

ref. 疫学とR(phyloseqのデータ作成)

ref. GitHub

ref. Phyloseq tutorial (Vaulot's GitHub)

ref. Rで学ぶデータサイエンス8(ネットワーク解析)