マイクロRNAとtRFは、遺伝子の翻訳制御に関与することで知られる低分子ノンコーディング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)。
#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
出力
miRge3_visualization.html
Read length
isomiR results
isomiR results
miR.Counts.csv
annotation.report.html
複数サンプルある場合、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
引用
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