學(xué)習(xí)——數(shù)據(jù)下載及質(zhì)控
數(shù)據(jù)預(yù)處理
1. 準(zhǔn)備工作
1.1 構(gòu)建項(xiàng)目目錄
- “基因組文件”與“注釋信息文件”放在同一個(gè)目錄中
- 原始數(shù)據(jù)目錄
-
結(jié)果文件目錄:包括“比對(duì)結(jié)果”與“定量結(jié)果”
#解決辦法
sudo apt-get update #進(jìn)行升級(jí)
#之后安裝tree
apt install tree
#但是當(dāng)時(shí)沒(méi)考慮用conda直接安裝tree
#安裝完畢后渐裂,運(yùn)行tree時(shí)發(fā)現(xiàn)有亂碼,解決方法:
alias tree='tree --charset ASCII'
1.2 參考序列下載
- 參考基因組 fasta
- 注釋信息 gtf/gff
1.3 原始數(shù)據(jù)上傳
- 檢查數(shù)據(jù)完整性:md5值
- 給自己的文件生成md5值:
- 比對(duì)已有的md5值:
md5sum *gz > md5.txt #生成md5.txt文件
md5sum -c md5.txt #檢查md5文件的一致性
2. 質(zhì)量控制:兩個(gè)軟件
2.1 FastQC
- 安裝:conda
#FastQC為java軟件,需要預(yù)先配置Linux java 環(huán)境
getconf LONG_BIT #查看系統(tǒng)是32位還是64位
wget -c http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz
tar zxf jdk-8u151-linux-x64.tar.gz #解壓縮
mkdir java
mv ./jdk1.8.0_151/ ./java #將解壓縮的文件移入新文件夾
#在profile中加入下面的內(nèi)容
vi .profile
JAVA_HOME=/usr/java/jdk1.8.0_151
export JRE_HOME=/usr/java/jdk1.8.0_151/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
reboot #重啟計(jì)算機(jī)
- 如何批量處理多個(gè)樣品
#方法1:
fastqc sample*gz #fastq文件不需要解壓
rm -f *html #刪除所有html文件(-f (--force): 強(qiáng)制刪除文件或目錄,沒(méi)有提示)
rm -f *zip #刪除所有zip文件
#方法2:
for i in 'ls *gz'; do fastqc $i; done #依次遍歷以gz結(jié)尾的文件,并進(jìn)行fastqc命令
#方法3:
ls *gz | xargs -I [] echo 'nohup fastqc [] &' > fastqc.sh
#并行處理多個(gè)樣本
#解釋?zhuān)?#ls *gz |: 列出文件列表贪惹,并通過(guò)管道操作符傳入后面
#xargs -I: xargs命令是給其他命令傳遞參數(shù)的一個(gè)過(guò)濾器,也是組合多個(gè)命令的一個(gè)工具寂嘉。把前一個(gè)命令的輸出結(jié)果當(dāng)做后一個(gè)命令的輸入文件奏瞬。
#它擅長(zhǎng)將標(biāo)準(zhǔn)輸入數(shù)據(jù)轉(zhuǎn)換成命令行參數(shù),xargs能夠處理管道或者stdin并將其轉(zhuǎn)換成特定命令的命令參數(shù)泉孩。
#[]: 替代符
2.2 MultiQC
- 安裝:conda
- 特點(diǎn):
1. 自動(dòng)檢測(cè)已有輸出結(jié)果
2. 支持多種結(jié)果的整合 - 同時(shí)展示多個(gè)結(jié)果文件
3. 質(zhì)量過(guò)濾
- 軟件:Trimmomatic
- 特點(diǎn):
- 支持多線程硼端,處理數(shù)據(jù)速度快
- 主要用來(lái)去除 Illumina 平臺(tái)接頭
- 根據(jù)堿基質(zhì)量值對(duì) fastq 進(jìn)行篩選
- 支持 SE 和 PE 測(cè)序數(shù)據(jù),支持 gzip 和 bzip2 壓縮文件
- 過(guò)濾依據(jù)
- Illumianclip: 過(guò)濾reads 中的illumina 接頭
- LEADING: 從 reads 開(kāi)頭切除質(zhì)量值低于閾值的堿基
- TRAILING: 從 reads 末尾切除質(zhì)量值低于閾值的堿基
- SLIDINGWINDOW: 從 reads 的 5' 端開(kāi)始寓搬,進(jìn)行滑窗過(guò)濾珍昨,切掉堿基質(zhì)量平均值低于閾值的滑窗
- MINLEN: 丟棄經(jīng)過(guò)剪切后長(zhǎng)度低于閾值的這條 reads
- TOPHRED33: 將 reads 的堿基質(zhì)量體系轉(zhuǎn)為 phred-33
- TOPHRED64: 將 reads 的堿基質(zhì)量體系轉(zhuǎn)為 phred-64
- 使用
- 接頭序列的選擇:
"Illumian Single End" / "Illumian Paired End": "TruSeq2-SE.fa" and "TruSeq2-PE.fa"
"TruSeq Universal Adapter" / "TruSeq Adapter, Index ...": "TruSeq3-SE.fa" and "TruSeq3-PE.fa" - 去接頭參數(shù)的選擇: true; false
- 接頭序列的選擇:
#參數(shù):
trimmomatic PE -threads 4 \
sample1_R1.fastq.gz sample1_R2.fastq.gz \
../02clean_data/sample1_paired_clean_R1.fastq.gz \
../02clean_data/sample1_unpair_clean_R1.fastq.gz \
../02clean_data/sample1_paired_clean_R2.fastq.gz \
../02clean_data/sample1_unpair_clean_R2.fastq.gz \
ILLUMINACLIP:/home/leon/miniconda2/share/trimmomatic-0.36-5/adapters/TruSeq3-PE-2.fa:2:30:10:1:true \
LEADING:3 TRAILING:3 \
SLIDINGWINDOW:4:20 MINLEN:50 TOPHRED33
trimmomatic PE -threads 4 \
sample2_R1.fastq.gz sample2_R2.fastq.gz \
../02clean_data/sample2_paired_clean_R1.fastq.gz \
../02clean_data/sample2_unpair_clean_R1.fastq.gz \
../02clean_data/sample2_paired_clean_R2.fastq.gz \
../02clean_data/sample2_unpair_clean_R2.fastq.gz \
ILLUMINACLIP:/home/leon/miniconda2/share/trimmomatic-0.36-5/adapters/TruSeq3-PE-2.fa:2:30:10:1:true \
LEADING:3 TRAILING:3 \
SLIDINGWINDOW:4:20 MINLEN:50 TOPHRED33
#注意:冒號(hào) ':' 之后沒(méi)有空格,否則會(huì)報(bào)錯(cuò)