Trinity
#
Find similar titles
- 최초 작성자
- 최근 업데이트
Structured data
- Category
- Software
Table of Contents
Trinty #
Introduction #
Trinity는 RNA-seq 데이터의 de novo transcriptome을 효율적으로 de novo reconstruction 하기 위한 novel method이다.
3가지 독립적인 소프트웨어 모듈인 Inchworm, Chrysalis, Butterfly를 결합, 순차적으로 적용하여 방대한 RNA-seq read를 처리한다.
Module #
- Inchworm: Transcripts unique 시퀀스의 RNA-seq 데이터를 assembly (우점하는 isoform에 대한 full-length transcripts를 생성하기도 하지만, 단지 접합된 transcrips의 unique 부분을 생성).
- Chrysalis: 각 cluster를 구성하는 Inchworm contig와 각 cluster에 대한 완전한 de Bruijn 그래프 구축 (각 cluster는 정해진 유전자의 전체 transcription의 복잡성을 나타낸다).
- Butterfly: 병행으로 각각의 그래프들 처리. 생성된 요소에 read를 대입하여 가능한 모든 full-length transcript를 찾는다.
Running #
- Installing: 리눅스 서버에 소프트웨어를 다운로드 한 후, tar와 gzip을 풀고, install (Inchworm과 Chrysalis: compiled, Butterfly: precompiled). Inchworm과 Chrysalis는 single 서버에서 single 프로세서로 실행한다. Butterfly는 computing grid에서 병렬로 실행한다.
- Command line: Trinity --seqType fq --JM 50G --left reads_1.fq --right reads_2.fq --CPU 6, 다양한 유형의 다수 fastq file일 경우에는 Trinity --seqType fq --JM 50G --left condA_1.fq,condB_1.fq,condC_1.fq --right condA_2.fq,condB_2.fq,condC_2.fq --CPU 6.
- Option:
--seqType : read file format의 종류 (fa 또는 fq).
--JM : (Jellyfish Memory) jellyfish를 사용하여 k-mer를 계산할 때, 사용되는 system memory의 GB의 수.
--SS_lib_type : Strand 특이적 RNA-seq read의 orientation.
만약 paired : RF 또는 FR,
만약 single : F 또느 R. (dUTP method = RF)
--CPU : 사용 CPU의 수 (default = 2)
--min_contig_length : 최소 assembled contig length를 보고하는 것 ( default = 200).
--genome : genome guided mode, genome fasta file 경로를 제공.
--jaccard_clip: UTR 부분에서 overlap으로 높은 gene density를 기대할 수 있다면 설정
(Note: jaccard_clip은 Bowtie가 있어야 하고, 시간이 오래 걸린다).
--trimmomatic: Quality trim reads를 위한 Trimmomatic을 run.
--normalize_reads: reads들의 in silico 정규화. Default는 max. 50의 read coverage.
--output : output의 디렉토리 이름 (option을 사용하지 않을 경우에는 새롭게 생성하여야 한다)
--cite: Trinity 문헌 citation을 보여준다.
Input & Output #
- Inchworm: 입력된 시퀀스의 contig를 어셈블리하여, output_dir/inchworm.K25.L48.fa 파일 (25mer, length 48↑ contig만 포함)에 표시.
Fasta 파일 내 accession에는 다음 단계인 Chrysalis에서 필요한 정보가 포함되어 있다. - Crysalis: Inchworm 단계에서 생성된 contig들을 서로 관련된 것들끼리 grouping 함 (transcript일 가능성이 있거나, 시퀀스 일부를 공유하는 paralogous transcript일 가능성이 있을 경우).
생성되는 파일은: chrysalis/RawComps.0/comp9.raw.graph - Inchworm contigs만을 기반으로 한 그래프. chrysalis/RawComps.0/comp9.raw.fasta - k-mer를 기반으로 생성된 Inchworm contig에 mapping 된 raw read들의 fasta 파일. - Butterfly: Chrysalis의 output을 사용하여 Trinity_dir 폴더 안에 Trinity.fasta 파일이 생성.
이것은 full-length transcript의 fasta 파일.
Workflow #
- Inchworm: greedy k-mer-based approach 방식.
read를 k-mer로 profiling해서 딕셔너리 형식 (key : value)으로 만들고 가장 frequency가 높은 k-mer를 seed로 삼아서 이 seed를 양방향으로 overlap 되는 것끼리(k-1 mer overlap) 연결시켜 contig를 생성한다. (if, k-1 overlap이 k-mer가 많을 시 k-mer 중 frequency가 높은 것을 연결).
seed 선정부터 contig extend 까지 계속적으로 반복한다. - Chrysalis: clustering 후 complete de Bruijn graph를 생성한다.
Inchworm 단계에서 생성된 contig를 clustering하는데 k-1 mer 이상 겹치는 contig들 또는 read에 의해 바로 연결되는 contig들을 grouping.
각 cluster(component)마다 de Bruijn graph를 생성 (node = k-1mer, edge = k mer).
각 edge는 read frequency로 weight를 계산한다.
각 read들을 가장 많은 k-mer가 공통이 되는 component에 할당한다. - Butterfly: 생성된 component들에 read를 대입해서 가능한 모든 full-length transcript를 찾는다.
- graph simplification을 수행. graph simplification은 Chrysalis에서 만든 graph의 node를 더하고 error로 판단되는 edge를 제거하는 것으로 이루어진다.
- plausible path scoring 작업. 이는 실제 read를 simplified 된 graph에 대입함으로써 path를 찾게 되어 full-length transcript를 생성하는 것이다.