Linux | March 24, 2019
markdown語法
3個(gè)實(shí)用的markdown語法
- 標(biāo)題: ###
- 引用: >號(hào)
- 代碼塊:```
This is where you put your codes.
xshell簡介
服務(wù)器登錄的三種方式
### windows電腦
# 1. ssh usrID@ip
# 2. 使用xshell輸入
# 3. 點(diǎn)擊收藏夾
### mac電腦
# 1. 使用終端登錄
# 2. 傳輸文件使用FIlezilla
linux相關(guān)詞匯
-
環(huán)境變量
- $PATH:都是由路徑組成的環(huán)境變量
- 軟件的路徑加到環(huán)境變量中就可以在任意地方調(diào)用
任務(wù)祠汇、權(quán)限沪饺、ftp傳輸硫痰、通配符等
-
linux命令
命令 空 [argument][info] 空 操作對(duì)象
-
默認(rèn)標(biāo)準(zhǔn):
- $PATH一定要以':'分割挥等,且有前后順序(調(diào)用的時(shí)候可能會(huì)因?yàn)轫樞螂铮l(fā)生錯(cuò)誤)
- 變量賦值:PATH="$PATH:/home/bin"
對(duì)變量進(jìn)行操作的一個(gè)例子
# 變量需要加上$符號(hào)
a=1
a #會(huì)報(bào)錯(cuò):command not found
echo $a
-
linux的目錄結(jié)構(gòu)
- /:根目錄;即再無上層目錄
- 其它目錄做了解
-
linux系統(tǒng)
- 不同的發(fā)行版
- 優(yōu)勢
- 批量處理
- 處理大文本
- 運(yùn)行速度快
- 遠(yuǎn)程登錄
-
報(bào)錯(cuò)
- 權(quán)限
- 命令輸錯(cuò)
- 學(xué)會(huì)搜索解決報(bào)錯(cuò)
-
常見分隔符
- Tab 分割:\t
- cut命令默認(rèn)\t切割文件
- 換行符\n:即enter鍵
- csv常用","分割
- Tab 分割:\t
-
小技巧
- tab快速匹配
#命令+tab補(bǔ)全 ## 包括命令的補(bǔ)全以及路徑的補(bǔ)全 mk + tab #mac 下可能需要按兩次 mkd + tab # 可以出現(xiàn)相關(guān)命令 # 能匹配就不要復(fù)制,能復(fù)制不要手打 cd /tea # +tab
- mac的跳到行尾冻押、行首、Home盛嘿、end鍵以及刪除的快捷鍵
# ctrl+A: 到句首洛巢,到Home鍵的效果 # Ctrl+E: 到句尾,達(dá)到End鍵的效果 # Ctrl+N: 到下一行 # Ctrl+P: 到上一行 # Ctrl+K: 從光標(biāo)處開始刪除次兆,直到行尾 # fn+←:HOME # fn+→:END # fn+↑:page up # fn+↓:page down
-
linxu常用命令
#創(chuàng)建文件夾 mkdir mkdir test # + [參數(shù)] 目錄名 mkdir -p # 建多層目錄 #目錄切換 cd cd ~ #家目錄 cd / #根目錄 cd .. #后退 # 目錄展示 ls ls # + [參數(shù)][目錄] ## 參數(shù) ## -l: 顯示長的完整細(xì)膩 ## -a: 顯示隱藏文件(all) ## -tr:按修改時(shí)間反向排序 ## -h: 查看文本大小 # 創(chuàng)建文本 touch touch new.txt touch del{1..10}.txt #批量操作 # 注意權(quán)限 # 文件狼渊、目錄刪除: rm rm txt.txt ## 參數(shù): # -i: 刪除前詢問 # -r: 遞歸刪除|刪除路徑 # -f: 強(qiáng)制刪除 # 刪除后不能修復(fù),要慎重,可以用ls確認(rèn)之后狈邑,再進(jìn)行刪除 # 拷貝/改名 cp cp [參數(shù)] 源文件 目標(biāo)文件 ## 參數(shù) # -i :覆蓋前詢問城须,防止同名文件覆蓋 # -r :復(fù)制目錄及目錄內(nèi)的所有內(nèi)容 # -f :強(qiáng)制覆蓋 # 需要兩個(gè)路徑 # 拷貝與軟連接的區(qū)別:不要拷貝只存在一份的東西,占內(nèi)存米苹,可以直接調(diào)用 # 查看文本(只能查看不能編輯) less ## 參數(shù) ## -S:單行顯示 ## -N:行號(hào)加入編號(hào) ## 查看大文本時(shí)必用糕伐,不能編輯 # 輸出/入文本 cat cat [參數(shù)] 文本 ## 查看小文本 cat >newfile cat >>test.txt #追加 # 從頭從尾展示文件- head/tail ## 參數(shù) ## -n num: 展示文本前num行
-
Linux 命令進(jìn)階
cut # 切割文件,按照要求對(duì)列進(jìn)行選擇蘸嘶,默認(rèn)分割是\t less 文件 | cut -f 1,3-5|less -S # zless 看壓縮文件 paste #可以對(duì)文件進(jìn)行左右合并的功能 seq10 seq10 >t1.txt seq20 >t2.txt paste t1.txt t2.txt #默認(rèn)分隔符是\t # 使用參數(shù) -d:可以指定分隔符良瞧。 也可以使用tr的轉(zhuǎn)換功能 paste t1.txt t2.txt |tr '\t' '#' # less -S/teach/database/gtf/gencode.v29.annotation.gtf.gz |cut -f 1,3-5|less -S # zless -S /teach/project/1.rna/3.raw_fq_25000reads/SRR1039512_2_100000.rawfq.gz|paste - - - - |cut -f 1-2|tr '\t' '\n'| tr '@' '>'|less -S ## - - - - 代表的是每一行的轉(zhuǎn)置,由于fq的格式是四行训唱,space把每一行進(jìn)行分割 sort uniq # 搭配褥蚯,uniq去重功能只去掉臨近功能 # sort按照ASCII碼排序,-n可以按照數(shù)字 # 指定區(qū)域 -k况增;按照數(shù)字相反的: -n -r # sort -r -n -k 3 tmp == sort -k 3nr tmp uniq #去除文件中的重復(fù)行 #參數(shù): -c: 顯示每行連續(xù)出現(xiàn)的次數(shù) find [參數(shù)] 目錄/文本 find / -name '*fa' >~/tmp.txt find /teach/ -name '*gz' find ~/ -size +500M tr # 替換 例子:堿基互補(bǔ)配對(duì) cat seq.txt cat seq.txt|tr [atcg] [tagc]|cat >seq2.txt wc #統(tǒng)計(jì)行數(shù)赞庶、字符、文本大小 bc #數(shù)學(xué)運(yùn)算 scale =2 #保存兩個(gè)小數(shù)點(diǎn) quit 退出
-
文本處理的三個(gè)工具:sed, grep, awk
vim:http://www.reibang.com/p/8c150a68a277
通配符:http://www.reibang.com/p/b7f8c97b2ba6
grep :http://www.reibang.com/p/22a4324ddfdf
sed:http://www.reibang.com/p/1a853a0315d5
awk:http://www.reibang.com/p/b6aec932adcf
vim .bashrc # 用vim 打開.bashrc,GG到最后一行澳骤,粘貼以下內(nèi)容歧强。 PS1="\[\033]2;\h:\u \w\007\033[33;1m\]\u \033[35;1m\t\033[0m \[\033[36;1m\]\w\[\033[0m\]\n\[\e[32;1m\]$ \[\e[0m\] source .bashrc #source之后才能生成
less .bashrc |grep 'ing$'|less -S less .bashrc |grep '^#'|less -S
http://www.reibang.com/p/22a4324ddfdf # 實(shí)例: 對(duì)gtf來進(jìn)行操作,gtf是fq的注釋文件为肮,-w 參數(shù)摊册,精確匹配第三列是'gene'的行 # -i 忽略大小寫 # -ie either,忽略大小寫并且可以多搜幾個(gè) nl /etc/passwd | grep -ie 'Server' -e 'root' -e 'qmcui'
http://www.reibang.com/p/1a853a0315d5 # 對(duì)文本的行了進(jìn)行處理
http://www.reibang.com/p/b6aec932adcf #awk echo 1 2 3 |awk '{ print "total pay for", $1, "is", $2 * $3 }' echo $PATH|awk -F ':' '{print $1}' echo $PATH|awk -v FS=":" '{print $1}' cat /etc/passwd |awk -F ':' -v OFS="\t" '{print $1,$7}' cat /etc/passwd |awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}' echo 1 2 3 |awk '{ print "total pay for", $1, "is", $2 * $3 }' echo $PATH|awk -F ':' '{print $1}' echo $PATH|awk -v FS=":" '{print $1}' cat /etc/passwd |awk -F ':' -v OFS="\t" '{print $1,$7}' cat /etc/passwd |awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}' 對(duì)第四列求和: zless -S /teach/database/gtf/gencode.v29.annotation.gtf.gz |grep -v '^#'|head -n 5|awk '{sum=sum+$4}END{print sum}' 準(zhǔn)確輸入第100行: zless -S /teach/database/gtf/gencode.v29.annotation.gtf.gz|nl|awk 'NR==100{print $0}' zless -S /teach/database/gtf/gencode.v29.annotation.gtf.gz |awk '$1=="chr1" && $3=="gene" && $4>10000 && $5<50000{print $14}' zless -S /teach/database/gtf/gencode.v29.annotation.gtf.gz |awk '{if($1=="chr1" && $3=="gene" && $4>10000 && $5<50000)print $14}'
-
軟件安裝
#使用conda安裝軟件 # 安裝miniconda # 配置鏡像 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)境 conda create -n rna python=2 # 由于很多生信軟件基于python2颊艳,所以安裝python2茅特,如果碰到不兼容的軟件,則可以重新安裝新的環(huán)境來安裝棋枕,小環(huán)境可以無限安裝(激活特定的python) # 查看當(dāng)前的conda環(huán)境 conda info -envs # 激活進(jìn)入conda的rna環(huán)境
RNA-seq分析
#mapping
hisat2 -x /teach/database/index/hisat/hg38/genome -1 /teach/project/1.rna/4.clean_data_25000reads/SRR1039512_1_val_1.100000.fq.gz -2 /teach/project/1.rna/4.clean_data_25000reads/SRR1039512_2_val_2.100000.fq.gz | samtools sort -o ~/SRR1039512.sort.bam -
# 查看bam
samtools view -h SRR1039512.sort.bam|less -S
# 計(jì)數(shù)温治,拿到表達(dá)矩陣
## 需要一個(gè)注釋文件以及所有樣品的bam文件
featureCounts -T 5 -p -t exon -g gene_id -a /teach/database/gtf/gencode.v29.annotation.gtf.gz -o ~/all.id.txt /teach/project/1.rna/5.sort.bam/*sort.bam
## 對(duì)數(shù)據(jù)進(jìn)行提取
less -S /home/qmcui/all.id.txt|cut -f 1,7-|grep -v '^#'|less -S