macでインフォマティクス

macでインフォマティクス

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

BRB-seqのデータを扱うBRB-seq Tools

 

 RNA-seqは広く普及しているものの、RT-qPCRに代わるデフォルトの遺伝子発現解析手法としては、まだ手間とコストがかかりすぎるのが現状である。本著者らはBRB-seqという新しいアプローチを紹介する。このアプローチは、早期のmultiplexingによって数十サンプルの3′cDNAライブラリを作成し、わずか2時間のハンズオンで完了するものである。BRB-seqは標準的なTruSeqアプローチと同等の性能を持ちながら、低いRNA品質に対する耐性が高く、最大25倍のコスト削減が可能である。RT-qPCRを用いた4つの遺伝子のプロファイリングと同等のコストでゲノム全体のトランスクリプトームデータを生成できることから、BRB-seqは基本的なラボの実践を変革すると予想される。

 

 BRB-seqは、ルーチンの遺伝子発現解析のための魅力的な代替手段となり、最終的には大規模なRT-qPCRアッセイを置き換えると予想している。現在のqPCR反応1回のコストを1.5~2ドルと仮定すると、3~4個の標的遺伝子の発現を3連で評価する場合(~20回のqPCR反応)、ライブラリ調製とシーケンス費用を伴うBRB-seqによって生成される1回のフルトランスクリプトーム分析とほぼ同じかそれ以上のコストがかかることになる。重要なことは、ライブラリ調製のコストと時間が低いということは、より多くの反復をプロファイリングできることを意味し、これはあらゆるDE解析の基礎となる統計的検出力を大幅に向上させる。重要なのは、簡単なデータ処理と解析ワークフローを提供することで、必要不可欠な情報科学的スキルの必要性を排除していることである。一度導入すれば、実験生物学者はこのセットアップを使用して、簡単な方法でデータを処理することができ、したがって、BRB-seqトランスクリプトミクスを単なるqPCR実験の範囲にまでさらに合理化することができる。

 BRB-seqTools [47]ツールスイートはJavaで実装されており、http://github.com/DeplanckeLab/BRB-seqToolsCreative Commons BY-NC-SA 4.0ライセンスで入手可能である。BRB-seqToolsはリード/UMIカウントマトリックスを作成するまでのシーケンス後の必要な作業をサポートしている。カウントマトリックスファイルは、著者らの研究室で開発した包括的な自動トランスクリプトーム解析のためのウェブベースプラットフォームASAP (https://asap.epfl.ch/) にアップロードして解析することができる。

 

BRB-seqのprotocolはrecount3の論文で詳しく説明されています(PMCアーカイブFig.2リンク)。ここではBRB-seqToolsの使い方について、レポジトリの”Example of full pipeline (using STAR)”の部分を確認します。

インストール

Github

wget https://github.com/DeplanckeLab/BRB-seqTools/releases/download/v1.6.0/BRBseqTools-1.6.jar

$ java -jar BRBseqTools-1.6.jar -h

$ java -jar BRBseqTools-1.6.jar -h

This method is not implemented. Please use one of the following: [CreateDGEMatrix, AnnotateBAM, Demultiplex, Trim].

BRBseq-tools 1.6

 

Options:

CreateDGEMatrix        Create the DGE Matrix (counts + UMI) from R2 aligned BAM and R1 fastq

Demultiplex        Create demultiplexed fastq files from R1+R2 fastq (use this if you want to process them independently, if not, use the CreateDGEMatrix option)

Trim            For trimming BRBseq construct in R2 fastq file or demultiplexed fastq files.

AnnotateBAM        For annotating the BAM file using UMIs/Barcodes from the fastq file.

ExtractReadCountMatrix    For generating a read count matrix from a STAR-aligned BAM file.

 

 

> java -jar BRBseqTools-1.6.jar Trim

BRBSeqTools 1.6 [Trim]

 

-f %s         [Required] Path of FastQ file to trim (or containing folder for processing all fastq files recursively).

-o %s         Output folder

-uniqueBarcode    If the fastq file(s) contain(s) only one barcode (for e.g. after demultiplexing), this option can be used for searching the specific barcode (most occuring) in the construct and trimming it when present.

-polyA %i     Trim polyA strings that have more than this length (without mismatch), and all 3' string that follows [default=6]

-minLength %i     If resulting trimmed reads are < this number, it is removed from the output fastq file  [default=10]

> java -jar BRBseqTools-1.6.jar CreateDGEMatrix 

BRBSeqTools 1.6 [CreateDGEMatrix]

 

-f %s         [Required] Path of R1 FastQ file.

-b %s         [Required] Path of R2 aligned BAM file [do not need to be sorted or indexed].

-c %s         [Required] Path of Barcode/Samplename mapping file.

-gtf %s     [Required] Path of GTF file.

-s %s         Do you want to count only reads falling on same strand than gene? [no, yes, reverse] [default = yes, since BRB-seq is stranded protocol].

-nb %i         Number of allowed difference (hamming distance) with the given barcodes in config file [default = 1].

-nu %i         Number of allowed difference (hamming distance) for two UMIs to be counted only once [default = 1].

-o %s         Output folder [default = folder of BAM file]

-t %s         Path of existing folder for storing temporary files [default = folder of BAM file]

--multiple_mapped %s         Keep multiple mapped read [default = discard them]

-chunkSize %i    Maximum number of reads to be stored in RAM [default = 1000000]

-p %s         Barcode pattern/order found in the reads of the R1 FastQ file. Barcode names should match the barcode file [default = 'BU', i.e. barcode followed by the UMI].

            'B' [Required] is used for specifying the barcode position.

            'U' can be used for specifying a UMI value position.

            '?' can be used to ignore specific nucleotides.

-UMI %i     If your barcode pattern contains UMI ('U'), you should specify this parameter as the length of the UMI.

 

 

実行方法

1、ヒトのゲノム配列とGTFファイルをダウンロードし、STARでマッピングするためindexを作る。

wget ftp://ftp.ensembl.org/pub/release-90/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
gzip -d Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
wget ftp://ftp.ensembl.org/pub/release-90/gtf/homo_sapiens/Homo_sapiens.GRCh38.90.gtf.gz
gzip -d Homo_sapiens.GRCh38.90.gtf.gz

mkdir STAR_Index/
#create index (20 threads)
STAR --runMode genomeGenerate --genomeDir STAR_Index/ --genomeFastaFiles Homo_sapiens.GRCh38.dna.primary_assembly.fa --sjdbGTFfile Homo_sapiens.GRCh38.90.gtf --runThreadN 20

 

2、マッピングする側になるR2のリードをトリミングする。これには、R2 fastqファイルのトリミングを行うTrimコマンドを使う。レポジトリに含まれるexampleデータを使う。

git clone https://github.com/DeplanckeLab/BRB-seqTools.git
java -jar BRBseqTools.jar Trim -f BRB-seqTools/examples/lib_example_R2.fastq.gz

出力

f:id:kazumaxneo:20220209015433p:plain

 

3、STARでマッピングする。2でトリミングして得られたlib_example_R2.trimmed.fastq.gzを指定する。"--outFilterMultimapNmax 1"オプションは、出力BAMから複数のマッピングリードを除去するために推奨されている。

mkdir BAM/
STAR --runMode alignReads --genomeDir STAR_Index/ --runThreadN 8 --outFilterMultimapNmax 1 --readFilesCommand zcat --outSAMtype BAM Unsorted --outFileNamePrefix BAM/ --readFilesIn lib_example_R2.trimmed.fastq.gz

出力のBAM/

f:id:kazumaxneo:20220209015845p:plain

 

4、R1.fastq.gzとR2.bamからDGE Matrix (counts + UMI)を作成する。この例では、R1がバーコードの後に14bpのUMIを持つものとする。

#rename bam
mv BAM/Aligned.out.bam BAM/lib_example_R2.bam
cp BRB-seqTools/examples/lib_example_R1.fastq.gz .
cp BRB-seqTools/examples/lib_example_barcodes.txt .

#CreateDGEMatrix
java -jar BRBseqTools.jar CreateDGEMatrix -f lib_example_R1.fastq.gz -b BAM/lib_example_R2.bam -c lib_example_barcodes.txt -gtf Homo_sapiens.GRCh38.90.gtf -p BU -UMI 14
  • -f      [Required] Path of R1 FastQ file.
  • -b     [Required] Path of R2 aligned BAM file [do not need to be sorted or indexed].
  • -gtf   [Required] Path of GTF file.
  • -c     [Required] Path of Barcode/Samplename mapping file.
  • -p     Barcode pattern/order found in the reads of the R1 FastQ file. Barcode names should match the barcode file [default = 'BU', i.e. barcode followed by the UMI].
                'B' [Required] is used for specifying the barcode position.
                'U' can be used for specifying a UMI value position.
                '?' can be used to ignore specific nucleotides.
  • -UMI     If your barcode pattern contains UMI ('U'), you should specify this parameter as the length of the UMI.

指定したlib_example_barcodes.txt

f:id:kazumaxneo:20220209022040p:plain

 

出力

f:id:kazumaxneo:20220209020922p:plain

 

引用

BRB-seq: ultra-affordable high-throughput transcriptomics enabled by bulk RNA barcoding and sequencing
Daniel Alpern, Vincent Gardeux, Julie Russeil, Bastien Mangeat, Antonio C. A. Meireles-Filho, Romane Breysse, David Hacker, and Bart Deplancke

Genome Biol. 2019; 20: 71

 

参考