kuroの覚え書き

96の個人的覚え書き

RNA-seq のde novo assembly

通常RNA-seqしたらreferenceのfastaファイルを使ってmappingして発現解析なりするわけだが、referenceが完備されていない種のseqはどうするのか?
近縁種のreferenceを使う、というのが簡単な手段なわけだが、今回mappingしてみるとmap rateが30%くらいしかなくて、ほとんどまともにマッピングできない、という事態となったので、次の手としてRNAのde novo assemblyを行って独自referenceを作ってしまおう、と考えた。
以前にも一度その近縁種のreferenceをガイドに使ってTrinityによるgenome guided assemblyを試していたのだが、これによって出来上がったreferenceではやはり30%くらいしかマップできなかった。要するにguideに使ったgenome referenceが全体の30%くらいしかカバーしていないので残りのread は結局mappingされないという訳のようだ。
なので、ガイドなしのde novo assemblyとなった。

Trinity - 井上 潤
とか
Trinity | de novo アセンブリー
とか
shortreadbrothers.blogspot.com
などを参考に

#!/bin/sh

Trinity --seqType fq \
        --single L001_trim.fastq.gz,L002_trim.fastq.gz,L003_trim.fastq.gz,L004_trim.fastq.gz \
        --CPU 8 \
        --max_memory 60G \
        --output ref/trinity \
        --monitoring \
        --no_cleanup 

こんな感じのスクリプトを作成し、実行。
メモリは100万リードあたり1Gくらいいるよ!という情報だったので60G盛ってるが、3000万リードを4分割してあるfastqを処理するとピークで15Gくらいメモリを消費している模様。まとめて3000万リード読み込むわけじゃないのかな。
というわけで16Gメモリのノードでもなんとかなりそうな感じ。
処理時間はかなり要することは間違いない。E3-1230v6の4コア8スレッド全部使っても丸1日?


出た。
単純なCPUスペック的にはE3-1230v6のほうが勝っているのだが、E5-2667の6コア12スレッド*2CPUのほうが早く終わったよ。

18/11/06 19:24:10
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
	LANGUAGE = (unset),
	LC_ALL = (unset),
	LANG = "ja_JP.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").


     ______  ____   ____  ____   ____  ______  __ __
    |      ||    \ |    ||    \ |    ||      ||  |  |
    |      ||  D  ) |  | |  _  | |  | |      ||  |  |
    |_|  |_||    /  |  | |  |  | |  | |_|  |_||  ~  |
      |  |  |    \  |  | |  |  | |  |   |  |  |___, |
      |  |  |  .  \ |  | |  |  | |  |   |  |  |     |
      |__|  |__|\_||____||__|__||____|  |__|  |____/


Single read files: $VAR1 = [
          './fastq_trimmed/L001_R1_001_trim.fastq.gz',
          './fastq_trimmed/L002_R1_001_trim.fastq.gz',
          './fastq_trimmed/L003_R1_001_trim.fastq.gz',
          './fastq_trimmed/L004_R1_001_trim.fastq.gz'
        ];
Trinity version: Trinity-v2.5.1
** NOTE: Latest version of Trinity is Trinity-v2.8.4, and can be obtained at:
	https://github.com/trinityrnaseq/trinityrnaseq/releases

Tuesday, November 6, 2018: 19:24:12	CMD: java -Xmx64m -XX:ParallelGCThreads=2  -jar /home/linuxbrew/.linuxbrew/Cellar/trinity/2.5.1/util/support_scripts/ExitTester.jar 0
Tuesday, November 6, 2018: 19:24:12	CMD: java -Xmx64m -XX:ParallelGCThreads=2  -jar /home/linuxbrew/.linuxbrew/Cellar/trinity/2.5.1/util/support_scripts/ExitTester.jar 1
Tuesday, November 6, 2018: 19:24:12	CMD: mkdir -p /mnt/nfs/rnaseq/ref/trinity
Tuesday, November 6, 2018: 19:24:13	CMD: mkdir -p /mnt/nfs/rnaseq/ref/trinity/chrysalis
STARTING COLLECTL
Tuesday, November 6, 2018: 19:24:13	CMD: rm -rf /mnt/nfs/rnaseq/collectl
I'M THE PARENT, COLLECTL_PID=17752
I'M THE CHILD RUNNING TRINITY
Running CMD: bash -c "set -eou pipefail && cd /mnt/nfs/rnaseq/collectl && exec nohup /home/linuxbrew/.linuxbrew/Cellar/trinity/2.5.1/trinity-plugins/COLLECTL/collectl/collectl --procopts w  --procfilt u1001 --interval :60 -sZ -oD | egrep 'Trinity|trinityrnaseq|Inchworm|Chrysalis|Butterfly|jellyfish|samtools|sort|bowtie' | egrep -v 'egrep' > /mnt/nfs/rnaseq/collectl/collectl.dat " 


----------------------------------------------------------------------------------
-------------- Trinity Phase 1: Clustering of RNA-Seq Reads  ---------------------
----------------------------------------------------------------------------------

---------------------------------------------------------------
------------ In silico Read Normalization ---------------------
-- (Removing Excess Reads Beyond 50 Coverage --
---------------------------------------------------------------

中略

/Trinity.fasta.tmp to /mnt/nfs/rnaseq/ref/trinity/read_partitions/Fb_0/CBin_270/c27066.trinity.reads.fa.out/Trinity.fasta
succeeded(90209)   100% completed.    

All commands completed successfully. :-)



** Harvesting all assembled transcripts into a single multi-fasta file...

Wednesday, November 7, 2018: 08:58:51	CMD: find /mnt/nfs/rnaseq/ref/trinity/read_partitions/ -name '*inity.fasta'  | /home/linuxbrew/.linuxbrew/Cellar/trinity/2.5.1/util/support_scripts/partitioned_trinity_aggregator.pl TRINITY_DN > /mnt/nfs/rnaseq/ref/trinity/Trinity.fasta.tmp
-relocating /mnt/nfs/rnaseq/ref/trinity/Trinity.fasta.tmp to /mnt/nfs/rnaseq/ref/trinity/Trinity.fasta
Wednesday, November 7, 2018: 13:53:19	CMD: mv /mnt/nfs/rnaseq/ref/trinity/Trinity.fasta.tmp /mnt/nfs/rnaseq/ref/trinity/Trinity.fasta
Wednesday, November 7, 2018: 13:53:19	CMD: /home/linuxbrew/.linuxbrew/Cellar/trinity/2.5.1/util/support_scripts/get_Trinity_gene_to_trans_map.pl /mnt/nfs/rnaseq/ref/trinity/Trinity.fasta > /mnt/nfs/rnaseq/ref/trinity/Trinity.fasta.gene_trans_map


###################################################################
Trinity assemblies are written to /mnt/nfs/rnaseq/ref/trinity/Trinity.fasta
###################################################################


TERMINATING COLLECTL, PID = 17752
finish
18/11/07 13:53:36

417.1MB+422.5MB+422.4MB+412.1MB=1673.1MB

start:18/11/06 19:24:10
end: 18/11/07 13:53:36

1.67GBのファイルで18時間29分26秒
出来上がったfastaファイルは144.5MB
logファイルだけで43.3MBのテキストという超大仕事だな。