macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

包括的なマイクロRNAおよびtRFシーケンシング解析パイプライン miRge3.0

 

 マイクロRNAtRFは、遺伝子の翻訳制御に関与することで知られる低分子ノンコーディングRNAの一種である。次世代シーケンサー(NGS)の進歩により、high-throughput small RNA-seq研究が可能になったが、これには強固なアラインメントパイプラインが必要である。当研究室では、miRgeおよびmiRge2.0を開発した。このツールは、シーケンスデータを処理してmiRNAやその他の低分子RNAアノテーションを行い、さらにサポートベクターマシンの手法を用いて新規のmiRNAを予測する柔軟なツールである。miRge2.0は、独自の定量機能とアノテーション機能を備え、スピードの面でも優れた解析ツールだが、いくつかの制限があった。miRge3.0は、CutadaptとPythonの新バージョンとの互換性に加え、追加機能を提供する。miRge3.0では、データセット中のmiRNAを定量する際にPCRの重複を考慮するためのUMIの処理、miRECによるmiRNAの誤った一塩基置換の修正、正確なmirGFF3フォーマットのisomiRツールなどの機能が追加された。最後に、miRge3.0の出力は、他のパッケージと統合して解析プロセスを効率化し、クロスプラットフォームGUI(グラフィカル・ユーザー・インターフェイス)を提供する。miRge3.0は、スピード、汎用性、機能性が向上した第3世代のsmall RNA-seqアライナーである。

 

 miRge3.0の最初のステップは、Cutadaptを用いた品質の悪いリードとアダプター配列の除去である。miRge3.0では、幅広い種類のアダプター(5′と3′の両方のタイプ)をネイティブに呼び出して除去することができる。このステップでは、UMIが存在する場合、ユーザーが指定した固定長でトリミングすることができ、UMIとリード配列の組み合わせのユニークカウントのみを考慮して、PCRの重複を除去することができる。この最初のステップの後、同一のリードは1つのリードに折りたたまれ、カウントはPandasデータフレームに取り込まれる。Pandasデータフレームは、2つ以上のFASTQサンプルのリードと対応するリードカウントを結合し、完全なデータフレームを作成する。このデータフレームは、下流のアラインメントや、さまざまなサマリー結果の生成に使用される。ワークフローの概要は論文図1に示されている。詳細なワークフローは、論文の補足データS1のセクションS1に記載されている。

 

Documentation


インストール

pipを使ってpython3.8の環境に導入した(docker使用, ubuntu18)。

Github

#pypi(link)(オプションによって、bowtie, samtools, RNAfoldも導入する必要がある)
pip install mirge3

#conda (link)
mamba install -c bioconda mirge3

> miRge3.0 -h

# miRge3.0 -h

usage: miRge3.0 [options]

 

miRge3.0 (Comprehensive analysis of small RNA sequencing Data)

 

optional arguments:

  -h, --help  show this help message and exit

  --version   show program's version number and exit

 

Options:

  -s,    --samples            list of one or more samples separated by comma or a file with list of samples separated by new line (accepts *.fastq, *.fastq.gz) 

  -db,   --mir-DB             the reference database of miRNA. Options: miRBase and miRGeneDB (Default: miRBase) 

  -lib,  --libraries-path     the path to miRge libraries 

  -on,   --organism-name      the organism name can be human, mouse, fruitfly, nematode, rat or zebrafish

  -ex,   --crThreshold        the threshold of the proportion of canonical reads for the miRNAs to retain. Range for ex (0 - 0.5), (Default: 0.1)

  -phr,  --phred64            phred64 format (Default: 33)

  -spk,  --spikeIn            switch to annotate spike-ins if spike-in bowtie index files are located at the path of bowtie's index files (Default: off)

  -ie,   --isoform-entropy    switch to calculate isomir entropy (default: off)

  -cpu,  --threads            the number of processors to use for trimming, qc, and alignment (Default: 1)

  -ai,   --AtoI               switch to calculate A to I editing (Default: off)

  -tcf   --tcf-out            switch to write trimmed and collapsed fasta file (Default: off)

  -gff   --gff-out            switch to output isomiR results in gff format (Default: off) 

  -bam   --bam-out            switch to output results in bam format (Default: off) 

  -trf   --tRNA-frag          switch to analyze tRNA fragment and halves (Default: off)

  -o     --outDir             the directory of the outputs (Default: current directory) 

  -dex   --diffex             perform differential expression with DESeq2 (Default: off)

  -mdt   --metadata           the path to metadata file (Default: off, require '.csv' file format if -dex is opted)

  -cms   --chunkmbs           chunk memory in megabytes per thread to use during bowtie alignment (Default: 256)

  -shh   --quiet              enable quiet/silent mode, only show warnings and errors (Default: off)

 

Data pre-processing:

  -a,    --adapter            Sequence of a 3' adapter. The adapter and subsequent bases are trimmed

  -g,    --front              Sequence of a 5' adapter. The adapter and any preceding bases are trimmed

  -u,    --cut                Remove bases from each read. If LENGTH is positive, remove bases from the beginning. If LENGTH is negative, remove bases from the end

  -nxt,  --nextseq-trim       NextSeq-specific quality trimming (each read). Trims also dark cycles appearing as high-quality G bases

  -q,    --quality-cutoff     Trim low-quality bases from 5' and/or 3' ends of each read before adapter removal. If one value is given, only the 3' end is trimmed

                              If two comma-separated cutoffs are given, the 5' end is trimmed with the first cutoff, the 3' end with the second

  -l,    --length             Shorten reads to LENGTH. Positive values remove bases at the end while negative ones remove bases at the beginning. This and the following

                              modifications are applied after adapter trimming

  -NX,   --trim-n             Trim N's on ends of reads

  -m,    --minimum-length     Discard reads shorter than LEN. (Default: 16)

  -umi,  --uniq-mol-ids       Trim nucleotides of specific length at 5’ and 3’ ends of the read, after adapter trimming. eg: 4,4 or 0,4. (Use -udd to remove PCR duplicates)  

  -udd,  --umiDedup           Specifies argument to removes PCR duplicates (Default: False); if TRUE it will remove UMI and remove PCR duplicates otherwise it only remove UMI and keep the raw counts (Require -umi option)

  -qumi, --qiagenumi          Removes PCR duplicates of reads obtained from Qiagen platform (Default: Illumina; "-umi x,y " Required)

  

  

 

miRNA Error Correction:

  microRNA correction method for single base substitutions due to sequencing errors (Note: Refines reads at the expense of time)

  -mEC,  --miREC              Enable miRNA error correction (miREC)

  -kh,   --threshold          the value for frequency threshold τ (Default kh = 5)

  -ks,   --kmer-start         kmer range start value (k_1, default 15) 

  -ke,   --kmer-end           kmer range end value (k_end, default 20)

 

Predicting novel miRNAs:

  The predictive model for novel miRNA detection is trained on human and mouse!

  -nmir, --novel-miRNA        include prediction of novel miRNAs

  -minl, --minLength          the minimum length of the retained reads for novel miRNA detection (default: 16)

  -maxl, --maxLength          the maximum length of the retained reads for novel miRNA detection (default: 25)

  -c,    --minReadCounts      the minimum read counts supporting novel miRNA detection (default: 2)

  -mloc, --maxMappingLoci     the maximum number of mapping loci for the retained reads for novel miRNA detection (default: 3)

  -sl,   --seedLength         the seed length when invoking Bowtie for novel miRNA detection (default: 25)

  -olc,  --overlapLenCutoff   the length of overlapped seqence when joining reads into longer sequences based on the coordinate 

                              on the genome for novel miRNA detection (default: 14)

  -clc,  --clusterLength      the maximum length of the clustered sequences for novel miRNA detection (default: 30)

 

Optional PATH arguments:

  -pbwt, --bowtie-path        the path to system's directory containing bowtie binary

  -psam, --samtools-path      the path to system's directory containing samtools binary

  -prf,  --RNAfold-path       the path to system's directory containing RNAfold binary

 

 

 

ライブラリ

対象となる生物に特化したライブラリをSourceForgeから入手する。ここではコンソールからライブラリをダウンロードする。

mkdir miRge3_Lib
cd miRge3_Lib
wget -O human.tar.gz "https://sourceforge.net/projects/mirge3/files/miRge3_Lib/human.tar.gz/download"
wget -O mouse.tar.gz "https://sourceforge.net/projects/mirge3/files/miRge3_Lib/mouse.tar.gz/download"
wget -O rat.tar.gz "https://sourceforge.net/projects/mirge3/files/miRge3_Lib/rat.tar.gz/download"
wget -O nematode.tar.gz "https://sourceforge.net/projects/mirge3/files/miRge3_Lib/nematode.tar.gz/download"
wget -O fruitfly.tar.gz "https://sourceforge.net/projects/mirge3/files/miRge3_Lib/fruitfly.tar.gz/download"
wget -O zebrafish.tar.gz "https://sourceforge.net/projects/mirge3/files/miRge3_Lib/zebrafish.tar.gz/download"
wget -O hamster.tar.gz "https://sourceforge.net/projects/mirge3/files/miRge3_Lib/hamster.tar.gz/download"

 

ここではヒトのライブラリをダウンロードする。

mkdir miRge3_Lib
cd miRge3_Lib
wget -O human.tar.gz "https://sourceforge.net/projects/mirge3/files/miRge3_Lib/human.tar.gz/download"
tar -xzf human.tar.gz

 

テストラン

wget -O SRR772403.fastq.gz "https://sourceforge.net/projects/mirge3/files/test/SRR772403.fastq.gz/download"

#fastqとデータベースのディレクトリを指定する
miRge3.0 -s SRR772403.fastq.gz -lib /mnt/d/Halushka_lab/Arun/miRge3_Lib -a illumina -on human -db mirbase -o output_dir -gff -cpu 8
  • -lib    the path to miRge libraries
  • -on    the organism name can be human, mouse, fruitfly, nematode, rat or zebrafish
  • -db    the reference database of miRNA. Options: miRBase and miRGeneDB (Default: miRBase)
  • -gff   switch to output isomiR results in gff format (Default: off)
  • -nmir    include prediction of novel miRNAs
  • -trf     switch to analyze tRNA fragment and halves (Default: off)
  • -ai    switch to calculate A to I editing (Default: off)
  • -cpu    the number of processors to use for trimming, qc, and alignment (Default: 1)
  • -a     Sequence of a 3' adapter. The adapter and subsequent bases are trimmed

出力

f:id:kazumaxneo:20211025225137p:plain

miRge3_visualization.html

f:id:kazumaxneo:20211025225209p:plain

Read length

f:id:kazumaxneo:20211025225309p:plain

isomiR results

f:id:kazumaxneo:20211025225332p:plain

isomiR results

f:id:kazumaxneo:20211025225410p:plain

miR.Counts.csv

f:id:kazumaxneo:20211025231029p:plain

 

annotation.report.html

f:id:kazumaxneo:20211025225237p:plain

 

複数サンプルある場合、Documentation例のように同時に指定する。

miRge3.0 -s SRR8557389.fastq,SRR8557396.fastq,SRR8557398.fastq,SRR8557399.fastq -lib miRge3_Lib -on human -db miRGeneDB -o temp -a AACTGTAGGCACCATCAAT -udd --qiagenumi -umi 0,12 -cpu 12 -q 20 -NX -nmir -minl 16 -maxl 25 -c 2 -mloc 3 -sl 25 -olc 14 -clc 30 -gff

fastqファイルは、".fastq"か".fastq.gz"になっている必要がある。

 

GUIバージョンもあります。Documentationを確認して下さい。

https://mirge3.readthedocs.io/en/latest/quick_start.html

f:id:kazumaxneo:20211025224039p:plain

 

引用

miRge3.0: a comprehensive microRNA and tRF sequencing analysis pipeline 
Arun H Patil, Marc K Halushka
NAR Genomics and Bioinformatics, Volume 3, Issue 3, September 2021