RNA-seq 전처리 (TopHat, SAMtools, HTSeq) #
#2025-04-21
#
#1 TopHat 실행
$ tophatpy -o tophat_out_33-1 --no-mixed -p 40 \
$ /data3/PUBLIC_DATA/ref_genomes/homo_sapiens/GRCh38/Homo_sapiens.GRCh38.dna.toplevel \
$ /data/home/ysh980101/2306_tophat/data/Bowtie2Index/5-AZA_33-1_1.fastq \
$ /data/home/ysh980101/2306_tophat/data/Bowtie2Index/5-AZA_33-1_2.fastq
tophatpy: tophat2 안먹어서 커스텀한 명령어 (정식 명령어는 tophat2)-o tophat_out_33-1: 출력 디렉토리 설정--no-mixed: 페어 중 하나만 매핑되면 제외-p 40: 멀티스레딩, 40개 스레드 사용/data3/PUBLIC_DATA/...dna.toplevel: reference genome FASTA (Bowtie2 인덱스가 이와 동일한 경로로 있어야 함)- 2개의 paired-end read 입력
cf) tophat alias 확인
view .bashrc
alias tophatpy='/usr/local/src/tophat-2.0.13/src/tophat.py'
cf2) Bowtie Index Build 안했다면?
bowtie2-build /data3/PUBLIC_DATA/ref_genomes/homo_sapiens/GRCh38/Homo_sapiens.GRCh38.dna.toplevel.fa \
/data3/PUBLIC_DATA/ref_genomes/homo_sapiens/GRCh38/Bowtie2Index/Homo_sapiens.GRCh38
#
#2 SAMtools 정렬
samtools sort -n TopHat/tophat_out_33-1/accepted_hits.bam -o TopHat/tophat_out_33-1/accepted_hits.sorted.bam
-n: 이름(name) 기준 정렬 (HTSeq에서 이름 기준 정렬 필요)
#
#3 HTSeq-count 실행
$ python -m HTSeq.scripts.count -s no -a 0 -i transcript_id \
$ --additional-attr=gene_id --additional-attr=gene_name --nonunique=all \
$ -c Count/33-1_count.tsv \
$ TopHat/tophat_out_33-1/accepted_hits.sorted.bam \
$ /data3/PUBLIC_DATA/ref_genomes/homo_sapiens/GRCh38/Homo_sapiens.GRCh38.110.chr_edited.gtf
TopHat/tophat_out_33-2/accepted_hits.sorted.bam: 정렬된 BAM 파일-s no: strand 정보 무시-a 0: 최소 alignment quality 0-c: count 결과 저장 경로Custom Parameters
-i transcript_id: count 기준 feature ID (예: exon이 아닌 transcript 수준으로 count)--additional-attr: gene_id, gene_name 등 추가 정보 기록--nonunique=all: 여러 feature에 매핑된 read는 모두 count