參考:轉(zhuǎn)錄組分析記錄; 轉(zhuǎn)錄組入門和進(jìn)階
以下內(nèi)容為轉(zhuǎn)錄組全部的上游分析,包括下載數(shù)據(jù)、比對(duì)、計(jì)數(shù)得到表達(dá)矩陣。
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE81916
登錄以上網(wǎng)址可直接進(jìn)入目標(biāo)GEO數(shù)據(jù)庫(kù)(可直接更改最后的GSE號(hào)查找其他數(shù)據(jù))
根據(jù)overall design,需要下載第9~15(rna數(shù)據(jù))
進(jìn)入SRA →all run,找到需要下載的數(shù)據(jù),即SRR35899{56..62}
1.下載數(shù)據(jù)
(1)下載原始數(shù)據(jù)
①wget下載
#修改SRR號(hào),逐一下載
wget ftp://ftp-trace.ncbi.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/SRR358/SRR3589956/SRR3589956.sra
#編寫循環(huán)下載
vi wget.sh
for i in `seq 56 62`
do
nohup wget ftp://ftp-trace.ncbi.nih.gov/sra/sra-instant/reads/ByRun/sra/SRR/SRR358/SRR35899${i}/SRR35899${i}.sra &
done
bash wget.sh
②prefetch 下載
a.下載安裝Sratoolkit,并添加到環(huán)境變量
b.打開(kāi)NCBI GEO ---> SRA ---> 任點(diǎn)一個(gè)進(jìn)去 ---> All runs ---> Accession list --->得到需要的下載的所有SRA號(hào)
cat > srr.list
#打開(kāi)Accession list,將里面的SRA號(hào)拷貝進(jìn)srr.list
cat srr.list |while read id;do (nohup $prefetch $id &);done
(2)下載小鼠和人類參考基因組(fa格式)及注釋文件(gtf格式)
以下演示的是小鼠基因組的下載,人類基因組類似
##注意都是從embl上下載
cd ../reference/genome/mm10/embl
for i in `seq 1 19` ;do wget ftp://ftp.ensembl.org/pub/release-96/fasta/mus_musculus/dna/Mus_musculus.GRCm38.dna.chromosome.${i}.fa.gz;done
wget ftp://ftp.ensembl.org/pub/release-96/fasta/mus_musculus/dna/Mus_musculus.GRCm38.dna.chromosome.X.fa.gz
wget ftp://ftp.ensembl.org/pub/release-96/fasta/mus_musculus/dna/Mus_musculus.GRCm38.dna.chromosome.Y.fa.gz
wget ftp://ftp.ensembl.org/pub/release-96/fasta/mus_musculus/dna/Mus_musculus.GRCm38.dna.chromosome.MT.fa.gz
將參考基因組合并為一個(gè)fa文件
cat Mus_musculus* > mm10.fa
#再下載gtf
從網(wǎng)站上直接下載:http://asia.ensembl.org/Mus_musculus/Info/Index
拷貝到../reference/gtf/mm10/embl
2.sra2fq
cd ../rna-seq/raw
ls ../rna-seq/sra/* |while read id;do (nohup fastq-dump --gzip --split-3 -O ./ $id & );done
3.校驗(yàn)
md5sum *fq.gz >md5sum
md5sum -c md5sum
4.對(duì)raw data質(zhì)控(fastqc)
cd ../rna-seq/qc
##單個(gè)做質(zhì)控
fastqc /data1/spider/liupiao/data/rna-seq/raw/SRR1039508.fq.gz -o ~/
##批量做質(zhì)控
ls ~/raw/*gz |xargs fastqc -t 10
multifq ./
##將剛剛生成的qc文件綜合在一起,跑個(gè)multiqc
##將生成的結(jié)果放在網(wǎng)頁(yè)上查看
5.過(guò)濾(去掉接頭和低質(zhì)量序列)
cd ../rna-seq/raw
ls ../rna-seq/raw/*_1.fastq.gz >1
ls../rna-seq/raw/*_2.fastq.gz >2
paste 1 2 >configcat >qc.sh
source /data1/spider/miniconda3/bin/activate
dir='/data1/spider/liupiao/data/rna-seq/clean'
cat config |while read id
do
arr=($id)
fq1=${arr[0]}
fq2=${arr[1]}
nohup trim_galore -q 25 --phred33 --length 36 -e 0.1 --stringency 3 --paired -o $dir $fq1 $fq2 &
done
##length可以根據(jù)qc看到reads的長(zhǎng)度,做適當(dāng)調(diào)整bash qc.sh config
6.比對(duì)(hisat2)
小鼠和人類的數(shù)據(jù)分開(kāi)比對(duì)
①小鼠數(shù)據(jù)的比對(duì)(參考基因組為mm10)
##構(gòu)建索引
cd /data1/spider/liupiao/data/index/hisat2/mm10
hisat2-build -p 4 /data1/spider/liupiao/data/reference/genome/mm10/embl/mm10.fa mm10
##開(kāi)始比對(duì)
#注意小鼠數(shù)據(jù)是59~62。
for i in `seq 59 62` ; do
nohup hisat2 -x /data1/spider/liupiao/data/index/hisat2/mm10/embl/mm10 -1 ../SRR35899${i}_1.fastq.gz -2 ../SRR35899${i}_2.fastq.gz -S ../align/SRR35899${i}.sam &
done
②人類數(shù)據(jù)的比對(duì)(參考基因組為hg38)
7.sam2bam,對(duì)bam排序,生成索引
for i in `seq 59 62`
do
samtools view -S ../SRR35899${i}.sam -b > ./SRR35899${i}.bam
samtools sort ./SRR35899${i}.bam -o ./SRR35899${i}_sorted.bam
samtools index ./SRR35899${i}_sorted.bam
done
8.對(duì)bam進(jìn)行質(zhì)控(samtools flagstat ---> multiqc)
##構(gòu)建索引ls *.bam |xargs -i samtools index {} ##生成.bai的索引文件ls *.bam |while read id ;do (samtools flagstat -@ 10 $id > $(basename ${id} ".bam").flagstat );done mkdir statmv *flagstat /data1/spider/liupiao/data/rna-seq/clean/test/statcd statmultiqc ./##在網(wǎng)站上看統(tǒng)計(jì)結(jié)果
9.計(jì)數(shù)
①htseq-count
文獻(xiàn)中測(cè)序的數(shù)據(jù)是雙末端PE-reads,htseq的計(jì)數(shù)需要進(jìn)行按照reads名稱進(jìn)行排序
cd ../rna-seq/bam
conda /data1/spider/miniconda3/bin/activate
### samtools重新排序
for i in `seq 56 58`; do nohup samtools sort -@ 5 -n ../5_samtools/SRR35899${i}.bam -o SRR35899${i}_nsort.bam & done
###HTSEQ-count腳本
vim HTSEQ-count.sh
for i in `seq 56 58`
dohtseq-count -s no -r name -f bam SRR35899${i}_nsort.bam /data1/spider/liupiao/data/reference/gtf/hg38/embl/Homo_sapiens.GRCh38.95.chr.gtf > SRR35899${i}_matrix.count 2> SRR35899${i}.log
done
bash HTSEQ-count.sh
conda里面安裝的HTSEQ-count總是出現(xiàn)庫(kù)問(wèn)題,無(wú)法運(yùn)行
解決方案:pip
###退出conda環(huán)境
pip --version ##查看pip路徑
###出現(xiàn) pip 18.1 from /data1/spider/python3/lib/python2.7/site-packages/pip (python 2.7)
pip install HTSeq ##開(kāi)始安裝HTSeq及其依賴包
pip install HTSeq ##會(huì)提示已安裝并顯示安裝的位置
###出現(xiàn):Requirement already satisfied: HTSeq in /data1/spider/python3/lib/python2.7/site-packages (0.11.2)
cd /data1/spider/python3/lib/python2.7/site-packages
ls -lt
cd HTSeq
htseq-count ##出現(xiàn)用法等信息表明可以使用了
###因?yàn)槭窃赑ython下下載安裝的,所有可以在任何路徑中不輸入絕對(duì)路徑就能用了
##用前面寫好的腳本
bash HTSEQ-count.sh
②featureCounts
##小鼠轉(zhuǎn)錄組
mm10_gtf=/data1/spider/liupiao/data/reference/gtf/mm10/embl/Mus_musculus.GRCm38.96.chr.gtf.gz
featureCounts -T 5 -p -t exon -g gene_id -a $mm10_gtf -o counts_mm10.txt *.bam
#人類轉(zhuǎn)錄組
hg38_gtf=/data1/spider/liupiao/data/reference/gtf/hg38/embl/Homo_sapiens.GRCh38.95.chr.gtf
featureCounts -T 5 -p -t exon -g gene_id -a $hg38_gtf -o counts_hg38.txt *.bam