Many thanks to clarify me about it. I think the more read coverage is better, so we don't need to change this parameter, isn't it or is there another story here?
Hi all,
I want to do read normalization using trinity, actually with looking the written command in the trinity's site, I'm confused about the allocated RAM to Jellyfish and coverage. It says:
TRINITY_RNASEQ_ROOT/util/insilico_read_normalization.pl \
--seqType fq \
--JM 100G \
--max_cov 30 \
--left left.fq \
--right right.fq \
--pairs_together \
--PARALLEL_STATS \
--CPU 10
Could anybody help me to know what --JM 100G --max_cov 30 means. From what I understand, 100GB RAM is allocated to Jellyfish that seems is high for computer with 64GB RAM. please let me know the exact command for read normalization in my computer (64GB RAM). Thank a lot in advance
2 answers
If you want to normalize reads and assemble the transcript with normalized reads (default 50x coverage):
TRINITY_RNASEQ_ROOT/Trinity --normalize_reads --seqType fq --JM 60G --left left.fq --right right.fq --CPU 6
If you want to change the parameter, say --normalize_max_read_cov to 30, add the following to the above command: --normalize_max_read_cov 30
Yes, default 50x is good for many species. See Figure 4 in Trinity Nature Protocols
thanks a lot rtliu.
BBNorm can do normalization with an arbitrarily low amount of memory, and faster than Jellyfish+Trinity. The exact command to normalize to depth 30 would be:
bbnorm.sh in1=reads1.fq in2=reads2.fq out1=norm1.fq out2=norm2.fq target=30
It will autodetect the amount of memory available and use all of it, but you can add the flag -Xmx50g if you want to restrict it to 50 gigs, for example, or if the autodetection fails due to the system configuration.
After normalizing with BBNorm can it then be assembled with Trinity?
Log in to answer this question.