2018-10-15

生信學(xué)習(xí)筆記

linux部分功能

查看文件夾

linux查看文件夾

工具 選項 可以設(shè)置鼠標(biāo)功能 可以設(shè)置右鍵粘貼

雙擊這個窗口可以再打開一個窗口 互不干擾

雙擊



Rnaseq數(shù)據(jù)挖掘

觀看陳魏學(xué)視頻 了解RNAseq?

測序技術(shù)介紹及基本流程

我們能做什么:火山圖 熱圖差異基因分析

? ? ? ? ? ? ? ? ? ? ? ? ? 蛋白互作圖

? ? ? ? ? ? ? ? ? ? ? ? ? ?kegg

? ? ? ? ? ? ? ? ? ? ? ? ? ?GO? ? ? ? ? 生物學(xué)功能和表達(dá)位置

? ? ? ? ? ? ? ? ? ? ? ? ? ?泡泡圖 分析結(jié)構(gòu)差異

這幾個圖回頭還得再好好研究研究?

學(xué)習(xí)材料:簡書原創(chuàng)10000+生信教程大神給你的RNA實戰(zhàn)視頻演練

實例分析

安裝conda?

https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/? 下載需要的版本(conda2 linux版本)

更改鏡像 翻墻也行應(yīng)該

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda

conda config --set show_channel_urls yes

安裝軟件

創(chuàng)建一個軟件安裝環(huán)境? 放置污染大環(huán)境?

conda create -n rna python=2 # 環(huán)境名字是rna 可以自己隨便改別的?

查看conda環(huán)境?conda info --envs

工作時候載入環(huán)境source activate rna

安裝軟件

質(zhì)控?

fastqc 查看fastq文件質(zhì)量

multiqc 合成不同樣本的質(zhì)控報告 一起查看

trim-galore 過濾低質(zhì)量數(shù)據(jù)

trimmomatic, cutadapt 好像沒用到

比對

star, hisat2(這個最好), bowtie2, tophat, bwa, subread

計數(shù)

htseq, bedtools, deeptools, salmon

https://bioconda.github.io/recipes.html?這個地址可以查看conda是否有你要安裝的軟件

conda安裝成功后? 以下是安裝RNAseq用到的軟件的代碼

conda install -y sra-tools

conda install -y trimmomatic

conda install -y cutadapt multiqc

conda install -y trim-galore

conda install -y star hisat2 bowtie2

conda install -y subread tophat htseq bedtools deeptools

conda install -y salmon

轉(zhuǎn)錄組流程

1. 下載sra數(shù)據(jù)

NCBI可以下載SRR list? 里面有SRR號碼? ?一個一排? 也可以新建一個SRR_Acc_List.txt文檔? 也是一個號碼一行。這個list是讓代碼讀取SRR號碼以在網(wǎng)上下載用的

下載SRA數(shù)據(jù)代碼

wkd=/home/zhaowei/project/airway/ #設(shè)置工作目錄

source activate rna? 載入工作環(huán)境

cat SRR_Acc_List.txt | while read id; do (prefetch ${id} &);done

ps -ef | grep prefetch | awk '{print $2}' | while read id; do kill ${id}; done #沒太看懂這個 prefetch是下載SRA用的

2.將SRA格式轉(zhuǎn)成fastq格式

用fastq-dump軟件

單個文件轉(zhuǎn)換

nohup fastq-dump --split-3 --skip-technical --clip --gzip $i &? ?#把$i換成文件名

批量轉(zhuǎn)換(循環(huán))

for i in $wkd/*sra

do

? ? ? ? echo $i

? ? ? ? nohup fastq-dump --split-3 --skip-technical --clip --gzip $i &?

? ? ? ? done? ? ?# 循環(huán)代碼沒看懂 nohup可以讓進(jìn)程在后臺運行 不影響前臺操作

因為現(xiàn)在大部分原始數(shù)據(jù)為雙端測序 即從3和5兩端測序? 所以一個SRA文件可以轉(zhuǎn)換成兩個fastq文件即_1和_2,--split-3 這個參數(shù)就是轉(zhuǎn)換雙端測序文件用的? 如果是單端測序文件  就不加這參數(shù)

生成的文件格式例子:SRR1039522_1.fastq.gz? ? SRR1039522_2.fastq.gz

3.數(shù)據(jù)的質(zhì)量檢查

ls *gz | xargs fastqc -t 10 # 用fastqc進(jìn)行檢查 并且生成一個html的報告? 用打開文件夾的那個按鈕打開查看

linux查看文件夾的按鈕

multiqc ./? ?#整合生成的質(zhì)控報告 html結(jié)果查看方法同上

4.過濾低質(zhì)量數(shù)據(jù)

mkdir $wkd/clean

cd $wkd/clean

ls /home/jmzeng/project/airway/raw/*_1.fastq.gz >1

ls /home/jmzeng/project/airway/raw/*_2.fastq.gz >2

paste 1 2? > config?

#把兩個fastq.gz文件賦值? ?粘貼到config中并形成2列

用trim_galore過濾

source activate rna

bin_trim_galore=trim_galore #把bin_trim_galore賦值? 下面有代碼

dir='/home/zhaowei/project/airway/clean'? ?#輸出文件夾 自己設(shè)定

cat $1 |while read id

do

? ? ? ? arr=(${id})

? ? ? ? fq1=${arr[0]}? # 如果fq1在第二列? 把0換成1

? ? ? ? fq2=${arr[1]}? #道理同上

nohup $bin_trim_galore -q 25 --phred33 --length 36 --stringency 3 --paired -o $dir? $fq1 $fq2 &

done

source deactivate #退出環(huán)境? 也可以不退

#以上代碼可以保存成 .sh結(jié)尾的文件 下次用bash一下就行? ?不用總寫了? vim進(jìn)去改改就行

5.比對

實際用時候感覺用一個軟件就行 hisat2

1.運行單個樣本 測試

mkdir $wkd/test

cd $wkd/test

source activate rna

ls $wkd/clean/*gz |while read id;do (zcat ${id}|head -1000>? $(basename ${id} ".gz"));done

id=SRR1039508 # id寫成需要的id

hisat2 -p 10 -x /public/reference/index/hisat/hg38/genome -1 ${id}_1_val_1.fq? -2 ${id}_2_val_2.fq? -S ${id}.hisat.sam #注意看軟件說明書 輸出的是sam還是bam 這里寫的只是我們自己起的名.sam 線程分配的數(shù)字可以改(-p 10那地方) 如果只用一個軟件比對下面就不用了

subjunc -T 5? -i /public/reference/index/subread/hg38 -r ${id}_1_val_1.fq -R ${id}_2_val_2.fq -o ${id}.subjunc.sam?

bowtie2 -p 10 -x /public/reference/index/bowtie/hg38? -1 ${id}_1_val_1.fq? -2 ${id}_2_val_2.fq? -S ${id}.bowtie.sam

bwa mem -t 5 -M? /public/reference/index/bwa/hg38? ${id}_1_val_1.fq? ${id}_2_val_2.fq > ${id}.bwa.sam

2.批量代碼

cd $wkd/clean

ls *gz|cut -d"_" -f 1 |sort -u |while read id;do

ls -lh ${id}_1_val_1.fq.gz? ${id}_2_val_2.fq.gz

hisat2 -p 10 -x /public/reference/index/hisat/hg38/genome -1 ${id}_1_val_1.fq.gz? -2 ${id}_2_val_2.fq.gz? -S ${id}.hisat.sam

subjunc -T 5? -i /public/reference/index/subread/hg38 -r ${id}_1_val_1.fq.gz -R ${id}_2_val_2.fq.gz -o ${id}.subjunc.sam

bowtie2 -p 10 -x /public/reference/index/bowtie/hg38? -1 ${id}_1_val_1.fq.gz? -2 ${id}_2_val_2.fq.gz? -S ${id}.bowtie.sam

bwa mem -t 5 -M? /public/reference/index/bwa/hg38? ${id}_1_val_1.fq.gz? ${id}_2_val_2.fq.gz > ${id}.bwa.sam

done

6.sam文件轉(zhuǎn)換成bam

ls *.sam|while read id ;do (samtools sort -O bam -@ 5 -o $(basename ${id} ".sam").bam ${id});done

rm *.sam

#報錯時候看看sam文件到底轉(zhuǎn)完沒有? 我這次就是比對到一半就運行了這個命令結(jié)果失敗

7.建立bam文件索引

ls *.bam |xargs -i samtools index {}? ?#每個文件都有索引喲

8.reads比對情況統(tǒng)計

ls *.bam |xargs -i samtools flagstat -@ 10 {} >

ls *.bam |while read id ;do ( nohup samtools flagstat -@ 1 $id >? $(basename ${id} ".bam").flagstat & );done

source deactivate

最終結(jié)果示例:

轉(zhuǎn)換,索引完成后結(jié)果示例

9.計數(shù)

mkdir $wkd/align

cd $wkd/align

source activate rna #建文件夾 激活環(huán)境 (好像是可選)

一個一個樣本計數(shù)? 輸出多個文件

for fn in {508..523}

do

featureCounts -T 5 -p -t exon -g gene_id? -a /public/reference/gtf/gencode/gencode.v25.annotation.gtf.gz -o $fn.counts.txt SRR1039$fn.bam? ? ? ? ? #SRR這地方似乎可以根據(jù)實際情況改一下

done

一起計數(shù) 輸出一個文件

mkdir $wkd/align

cd $wkd/align

source activate rna

gtf="/public/reference/gtf/gencode/gencode.v25.annotation.gtf.gz"?

featureCounts -T 5 -p -t exon -g gene_id? -a $gtf -o? all.id.txt? *.bam? 1>counts.id.log 2>&1 &

# 代碼看不懂? ?輸出的all.id.txt文件就是表達(dá)矩陣? 可以用來進(jìn)行下一步差異分析畫圖等等? 用R

count后文件示例

count后數(shù)據(jù)顯示

10.數(shù)據(jù)檢查

rm(list = ls())options(stringsAsFactors =F)a=read.table('all.id.txt',header =T)tmp=a[1:14,1:7]meta=a[,1:6]exprSet=a[,7:ncol(a)]colnames(exprSet)a2=exprSet[,'SRR1039516.hisat.bam']library(airway)data(airway)exprSet=assay(airway)colnames(exprSet)a1=exprSet[,'SRR1039516']group_list=colData(airway)[,3]a2=data.frame(id=meta[,1],a2=a2)a1=data.frame(id=names(a1),a1=as.numeric(a1))library(stringr)a2$id <- str_split(a2$id,'\\.',simplify =T)[,1]tmp=merge(a1,a2,by='id')png('tmp.png')plot(tmp[,2:3])dev.off()library(corrplot)png('cor.png')corrplot(cor(log2(exprSet+1)))dev.off()library(pheatmap)png('heatmap.png')m=cor(log2(exprSet+1))pheatmap(scale(cor(log2(exprSet+1))))dev.off()? ? #一點也看不懂? SRR應(yīng)該是能改的


小TIPS

軟鏈接 ln -s /路徑/文件 ./? ? ? ? ? 這個./別忘了打了? ?表示鏈接到當(dāng)前文件夾

vim后點i 可以編輯? ?退出時候 用shift:qw? ?退出并保存

每次用軟件命令之前 看看自己文件是不是那么回事 less -SN 整齊的看? 別用cat 太大了

設(shè)置好變量用echo $看一看 對不對?

vim用 :set paste命令可以用粘貼模式? 格式無損

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,505評論 6 533
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,556評論 3 418
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,463評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,009評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,778評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,218評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,281評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,436評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,969評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,795評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,993評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,537評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,229評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,659評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,917評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,687評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 47,990評論 2 374

推薦閱讀更多精彩內(nèi)容