금요일, 3월 15, 2019

간만에 de novo RNA-Seq 해보기 -조립편-

Trinity를 사용한 de novo RNA-seq은 별거없습니다.

다음과 같은 명령어를 사용하면 끝!

기본 Assembly 방법:
$ ~/trinityrnaseq-Trinity-v2.6.6/Trinity --seqType fq --max_memory <memory_size> --samples_file <sample.txt> --SS_lib_type <library type> --CPU <thread_num> --full_cleanup
$ ~/trinityrnaseq-Trinity-v2.6.6/Trinity --seqType fq --max_memory <memory_size> --left <left.fq.gz> --right <right.fq.gz> --SS_lib_type <library type> --CPU <thread_num> --full_cleanup



Genome Guide Assembly 방법:
$ ~/trinityrnaseq-Trinity-v2.6.6/Trinity --seqType fq --max_memory <memory_size> --samples_file <sample.txt> --SS_lib_type <library type> --CPU <thread_num> --genome_guided_bam <align.bam> --genome_guided_max_intron <max_intron> --full_cleanup


유경험자면 아시겠지만 RNA-Seq 데이터만 있으면 걍 default assembly방법을 사용하시는게 제일 좋은 결과를 얻으실 수 있으실겁니다.
어설프지만 genome 데이터가 있는데 그냥 하는것 보다 어설프더라도 genome을 활용하는게 좋지 않을까? 응 하지 마세요
어설픈 input은 어설픈 output을 너님의 손에 가져다 줍니다.

하실꺼면 Reference Genome 만드실때 genome을 탄탄하게 만들고 다양한 단계의 RNA-Seq을 하셔서 gene prediction할 때 RNA-Seq 데이터를 활용하세요
그게 맞는 방법입니다. :)

그리고 --SS_lib_type에 어떤 걸 넣어야 할지 난 모르겠다 하시는분은 여기 biostars를 참고하세요 :)

좀 더 자세한 wiki >여기<



출처: JYP



일요일, 3월 10, 2019

간만에 denovo RNA-Seq 해보기 -설치편-

최근 간만에 해보기가 올라가고 있는데...
진짜 2년만에 RNA-seq 분석을 해봐서..

걍 분석하는 단계나 프로그램 사용법 정리 차원에서 글을 올리고 있습니다.

4짜 산업 시대에 발맞춰 유전체 데이터 전문 설거지팀 하나 꾸리는것도 나쁘지 않을듯.... (대신 건당 비용때문에 수주가 안들어올 것 같다는게 함정 ㅎㅎ )

여튼 오늘은 de novo RNA-Seq 분석입니다.

일단 de novo RNAseq 시장을 석권했던.. 지금도 지배하고 있는 것으로 보이는데..
제가 사용했던 버전은 2.0.6이었는데.. ㄷㄷㄷ 벌써 2.8.4네요..
다들 아시는 삼위일체 Trinity 입니다.

지금 사용하는 서버에서는 cmake버전이 2.x라서 2.8.4대신 낮은 버전인 2.6.6버전으로 테스트를 수행하고 있습니다.
같은 input에 옵션이 비슷한데 2.6과 2.8의 결과가 많이 달라질지는 잘 모르겠습니다.
버전별 output 비교는 나중에 한번 기회되면 도전해보는것으로!!

$ wget https://github.com/trinityrnaseq/trinityrnaseq/archive/Trinity-v2.6.6.tar.gz
$ tar zxf Trinity-v2.6.6.tar.gz
$ cd trinityrnaseq-Trinity-v2.6.6/
$ make && make install

참고로 make했을때 어쩌구 저쩌구 /usr/local/bin 권한없다라는 메세지를 보여주고 에러를 밷어낸다면 trinityrnaseq-Trinity-v2.6.6/util/support_scripts/ 밑에 있는 trinity_installer.py 파일의 destination_package_dir 변수명의 내용을 수정해주시면됩니다.
(제 경우 make할때 DESTDIR 설정을 해주어도 계속 /usr/local/bin을 요구해서... trinity_install.py 파일을 직접 수정했습니다. ㅎㅎ 다른 방법이 분명 있을거 같은데.. )

여튼 에러가 발생한다면 해당 에러를 잡고 설치하면(당연한 소리를..) 문제 없을것이라고 말씀드릴 수 있습니다!!



출처: SM 



목요일, 3월 07, 2019

간만에 RNAseq 분석 해보기 -Align-

이번 글은 Align하는 명령어 편! 되겠습니다.

HISAT2
$ ~/hisat2/hisat2 -p num_thread -x /path/to/reference_index --known-splicesite-infile /path/to/splicesite_file --tmo -1 /path/to/pair_1.fastq.gz -2 /path/to/pair_2.fastq.gz | samtools view -Sb - | samtools sort -m memory -@ num_thread - output.sortByCoord
혹은
$~/hisat2/hisat2 -p num_thread -x /path/to/reference_index --known-splicesite-infile /path/to/splicesite_file --dta
-1 /path/to/pair_1.fastq.gz -2 /path/to/pair_2.fastq.gz | samtools view -Sb - | samtools sort -m memory -@ num_thread - output.sortByCoord
혹은
$~/hisat2/hisat2 -p num_thread -x /path/to/reference_index --known-splicesite-infile /path/to/splicesite_file --dta-cufflinks -1 /path/to/pair_1.fastq.gz -2 /path/to/pair_2.fastq.gz | samtools view -Sb - | samtools sort -m memory -@ num_thread - output.sortByCoord


--tmo : Known transcript에 대해서만...
--dta : StringTie를 사용할 경우...
--dta-cufflinks : cufflinks를 사용할 경우...
인것같은 설명이 되어 있는 옵션입니다.
자세한 설명은 메뉴얼 사이트로... (일단 3가지 다 돌리는 걸로)


STAR
$ ~/STAR/STAR --runMode alignReads --genomeDir /path/to/reference_idx --runThreadN num_thread --outSAMtype BAM SortedByCoordinate --outWigType wiggle read1_5p --sjdbGTFfile /path/to/gtf --outBAMsortingThreadN num_thread --readFilesCommand gunzip -c --readFilesIn /path/to/pair_1.fq.gz /path/to/pair_2.fq.gz --outFileNamePrefix /path/to/output/prefix_ --quantMode TranscriptomeSAM --limitBAMsortRAM num_memory

자세한 설명을 원하시면 이곳으로!!


Kallisto

~/kallisto/kallisto quant -i reference_idx -o /path/to/output_dir --bias -t num_thread /path/to/pair_1.fq.gz /path/to/pair_2.fq.gz

Kallisto 메뉴얼은 여기로...


Salmon

~/salmon/salmon quant -i reference_idx -p num_thread -l A -o /path/to/output_dir --validateMappings --seqBias -1 /path/to/pair_1.fq.gz -2 /path/to/pair_2.fq.gz

보다 자세한 설명은 그곳으로..

Align에 필요한 명령어는 이정도면....  현재 명령어에는 각 tools에서 strand specific reads에 대한 옵션은 생략되어 있으니 library를 strand specific으로 했으면 해당 옵션을 활성화 하면됩니다. :) 저는 strand specific한 데이터가 아니라서... ㅎㅎ



출처: JYP


금요일, 3월 01, 2019

간만에 RNAseq 분석 해보기 -Reference편-

Alignment를 수행하기 위해서는 reference가 필요합니다.
모 어떤 alignment 툴에서는 그냥 genome 서열만 있어도 되지만
하이 쓰루풋 시퀀싱 데이터를 다룰 때는 대부분 genome 서열을
나름의 index를 새로 생성하게 됩니다.

앞에서 설치했던 aligner들의 index를 만드는 작업의 로그를 남겨보도록 하겠습니다.

BWA
$ ~/bwa/bwa index -p index_name genome.fa

hisat2
$ ~/hisat2/hisat2_extract_exons.py genome.gtf > genome.exon
$ ~/hisat2/hisat2_extract_splice_sites.py genome.gtf > genome.ss
$ ~/hisat2/hisat2-build -f genome.fa --ss genome.ss --exon genome.exon genome_index_base
STAR
$ ~/STAR/STAR --runThreadN 16 --runMode genomeGenerate --genomeDir genomeOutFolder --genomeFastaFiles genome.fa --genomeSAindexNbases index_base --sjdbGTFfile genome.gtf --sjdbOverhang 99

Kallisto
$ ~/tophat/gtf_to_fasta genome.gtf genome.fa genome.gtf2fa.fa
$ ~/kallisto/kallisto index --index=index_name genome.gtf2fa.fa

Salmon
$ ~/salmon/bin/salmon index -t genome.gtf2fa.fa -i genome_idx --type quasi -k 31



이렇게 하면 각 align tool을 사용하기 위한 reference는 준비되었습니다.


출처: SM