Bioinformatics
Blast
- 我在Linux Mint中進(jìn)行數(shù)據(jù)分析,使用linuxbrew和conda安裝生物軟件,用brew install blast和conda install blast安裝了好多次左电,都會(huì)報(bào)錯(cuò),完全沒法用疗韵,后來從Blast的FTP網(wǎng)站下載的預(yù)編譯版本就用的好好的瓣赂。看來有時(shí)還是得自己手動(dòng)下載安裝分析軟件才行鲤竹。
- 使用本地版的Blast主要分三步:安裝浪读,構(gòu)建本地?cái)?shù)據(jù)庫(kù)(makeblastdb)和blastn/x/p等等
- makeblastdb 時(shí)最好帶上-parse_seqids和-hash_index這兩個(gè)參數(shù)
- 核苷酸比對(duì)到核苷酸數(shù)據(jù)庫(kù)的常用代碼:
blastn -db nt -query nt.fasta -out result.out -remote
昔榴,此外還有-task參數(shù)可選,主要有三種模式:- mega-blast 比較較近源物種時(shí)使用
- blastn 比較親緣關(guān)系較遠(yuǎn)的物種時(shí)使用
- dc-megablast 比較親緣關(guān)系很遠(yuǎn)的物種時(shí)使用
- 其他重要的軟件:diamond碘橘,blat互订,FAST(fastal,fastdb)
- 其他重要的參考資料:Wei Shen's Note
-
E值的公式:
- k和lambda與數(shù)據(jù)庫(kù)和算法有關(guān)
- m 代表query長(zhǎng)度
- n 代表數(shù)據(jù)庫(kù)大小
- s 代表序列同源性(越大越好)
通常認(rèn)為E小于10^-5就是對(duì)應(yīng)S值比較可靠的結(jié)果了痘拆。
在一個(gè)數(shù)據(jù)庫(kù)中E=0.001時(shí)仰禽,如果有1000條序列和querry相比對(duì)的S值比現(xiàn)在這個(gè)S值高,那么當(dāng)E為10^-6時(shí)就只有一條序列(subject)的S值比目前這個(gè)S值更高了纺蛆。
E存在的問題
- m過小時(shí)吐葵,因?yàn)镾值偏小,得到的E會(huì)偏大
- 兩序列的同源性高桥氏,但是有較大的Gap時(shí)温峭,這是會(huì)有S值偏低的情況,可以通過調(diào)整Gap scores改善S值
- 有些序列的非功能區(qū)有較低的隨機(jī)性字支,可以造成較高的同源性凤藏。
E的總結(jié)
- E適合有一定長(zhǎng)度,且復(fù)雜度不能太低的序列
- E < 10^-5時(shí)堕伪,兩序列有較高的同源性
- E < 10^-6時(shí)揖庄,兩序列同源性很高,無需再次確認(rèn)
Diamond
- -d
- -q
- -o
- -f
- -k
- -e
- -subject-cover
fasta 格式編輯軟件
- fasta_formatter 可以用于調(diào)整fasta的格式
- bbmap的reformat.sh可以用于fasta和fastq的格式轉(zhuǎn)換和多行與單行格式的互換
- idba_ud de fq2fa 可以做簡(jiǎn)單的fq到fa的格式轉(zhuǎn)換刃跛,加上--merge可以實(shí)現(xiàn)interleaved功能抠艾,加上--filter可以實(shí)現(xiàn)去除包含N的功能
- bedtools getfasta可以根據(jù)gff和bed文件提取FASTA序列
vsearch軟件使用
- 參數(shù)介紹:
- --iddef 指代計(jì)算序列間相似度的方式,我目前用1桨昙,僅僅考慮比對(duì)上區(qū)域的identity
- --id 指代相似度的閾值
- --masout 把cluster放到一個(gè)fasta文件中检号,每個(gè)cluster都包含其多序列比對(duì)和一條consensus
- --clustr-fast filename
- --cluster-smallmem 和下一個(gè)參數(shù)配合使用,可以自定義初始排序由使用者自定義
- --usersort 在cluster中蛙酪,排序時(shí)很重要的齐苛,因?yàn)閏luster一半用的時(shí)懶惰算法,在第一次遇見一個(gè)全新的序列時(shí)就為它開辟一個(gè)新的cluster桂塞,后面每一條序列都只和前面已經(jīng)檢索過的序列進(jìn)行比較(我還不是很確定凹蜂,所以還得再看看usearch的原理)
- --threads 指定所用的cpu數(shù)目
- --cluster string 將每個(gè)cluster分開保存,并加上由string參數(shù)指定的前綴
- --strand both 分析正向和反向序列
- 注意 :指定輸出的參數(shù)只選一個(gè)阁危!上述加粗的參數(shù)用于設(shè)置輸出格式
FAST使用
- 在將3.1GB的數(shù)據(jù)集(fastq)比對(duì)到156.6MB的database時(shí)玛痊,使用1min40s完成單核運(yùn)算的步驟,當(dāng)使用22個(gè)cpu核心計(jì)算剩余數(shù)據(jù)時(shí)狂打,耗時(shí)5min20s擂煞,總物理時(shí)間7min
IGV
[to do]
- 這是一個(gè)可視化variant calling的軟件
GATK
[to do]
Trimmomatic 質(zhì)控軟件使用
- Hiseq和Miseq系列多用Truseq3的接頭
- 現(xiàn)在的質(zhì)量標(biāo)準(zhǔn)都是Phred33,用-phred33指定趴乡,沒有指定時(shí)會(huì)自動(dòng)判斷对省,但是:
the prior is phred64
- Palindrom模式的接頭文件設(shè)置
- >Prefix /1
代表P5端的接頭
蝗拿,使用Neb建庫(kù)試劑盒時(shí),為尿嘧啶U
3端的堿基 - >Prefix /2
代表P7端的接頭
蒿涎,使用Neb建庫(kù)試劑盒時(shí)哀托,是尿嘧啶U
5端的堿基
- >Prefix /1
- ILLIMINACLIP:adapter.fa:最大允許去接頭操作時(shí)的錯(cuò)配數(shù)目(2):Palindrom去接頭時(shí)的最低scores,關(guān)于score的計(jì)算方式見下文(引自Trimmomatic manual):
Each matching base increases the alignment score by 0.6, while each mismatch reduces the alignment score by Q/10. By considering the quality of the base calls, mismatches caused by read errors have less impact. A perfect match of a 12 base sequence will score just over 7, while 25 bases are needed to score 15. As such we recommend values of between 7 - 15 as the threshold value for simple alignment mode
- LEADING:網(wǎng)上有些人錯(cuò)誤理解這個(gè)參數(shù)了劳秋,這個(gè)參數(shù)設(shè)置的是序列5端最低可以接受質(zhì)量仓手,TRAILING類似,指定3端的相應(yīng)參數(shù)
- CROP:指序列最大長(zhǎng)度俗批,超過部分從3端截掉俗或,HEADCROP指無論如何都要從5端去掉的堿基數(shù)目
- AVGQUAL:指序列平均質(zhì)量值的閾值
idba_ud
- --mink 指定最小的kmer值
- --maxk 指定最大的kmer值
- --step 指定kmer每一步增加的值
簡(jiǎn)單易用的小代碼
echo your.fasta | rev | tr ATGC TACG
grep -c '^>'
可以用于計(jì)數(shù)fasta序列數(shù)目
cutadapt
[to do]
- 這是一個(gè)多才多藝的質(zhì)控軟件市怎,有空再學(xué)
bioawk
[這個(gè)是神器]
- 支持sam岁忘,bed,gff区匠,vcf和fastx格式
- 查看幫助文件非常簡(jiǎn)單 bioawk -c help
seqtk
- seq 格式轉(zhuǎn)換
- comp 堿基組成信息
- sample 隨機(jī)取樣
- subseq 取子集
- trimfq
megahit
- --kmin
- --k-step
- -1 -2 -m -t -o --continue
- --k-list
NCBI
- 關(guān)鍵字得好好學(xué)學(xué)啊干像,例如branchiopoda[orgn],就是檢索數(shù)據(jù)的organism那個(gè)filed中包含branchiopoda關(guān)鍵字的record
bbmap
[這個(gè)是神器]
-
mid=97 mo=300 t=4 sort=t
這個(gè)軟件可以直接在geneious中使用
FANse2
這是暨南大學(xué)張弓教授團(tuán)隊(duì)開發(fā)的序列比對(duì)軟件驰弄,使用32bit的mpich2執(zhí)行并行計(jì)算麻汰。
- Maximum read length:限制最大序列長(zhǎng)度
- Maximum error:比對(duì)的最大錯(cuò)配數(shù)
- Mask genome:把參考基因組中所有的小寫堿基都給屏蔽掉
- Best position:
- Min seed length:越短允許越多的error(測(cè)序錯(cuò)誤),14比較合適
- Unidirection:關(guān)閉之后會(huì)mapping正向和反向序列
- Memory reduction:一個(gè)邏輯核心大概使用2GB當(dāng)然RAM戚篙,一般情況可以不用選五鲫,選了之后大約降低20%的性能
- Export all best matches:設(shè)置在有多個(gè)等質(zhì)量的比對(duì)時(shí),是否輸出多個(gè)比多結(jié)果
- Ref.Genome:顧名思義岔擂,指定參考基因組
- Dataset:待分析數(shù)據(jù)集
- Output:輸出文件
- Parallel:并行核數(shù)
- split reference seg size:把待分析文件分成小塊
- work folder:臨時(shí)文件存儲(chǔ)位置
demultiplex的軟件
根據(jù)barcode拆分NGS data的軟件有很多位喂,可以試試seqtk_demultiplex和fastq_multx
brew
- brew cask install 與brew install的安裝方式有一點(diǎn)點(diǎn)區(qū)別,前者主要暗轉(zhuǎn)GUI軟件乱灵,并且時(shí)預(yù)編譯好了的塑崖,軟件安裝僅僅執(zhí)行下載,解壓和添加到PATH的過程痛倚,而后者會(huì)有編譯和安裝的過程规婆,建議使用者先用brew cask安裝,因?yàn)橐话銇碚f這樣的安裝在卸載時(shí)可以很干凈
- brew options formula 可以查看帶安裝軟件有什么可選參數(shù)蝉稳,比如安裝mrbayes時(shí)抒蚜,就可以看到可以指定mpi和BEAGLE參數(shù)
- homebrew/science 不再被建議使用了,大家可以tap brewsci/bio和brewsci/science這兩個(gè)formula集合
cpan
- 這是一個(gè)Perl程序的名字耘戚,讓使用者可以從CPAN上下載嗡髓、安裝、更新以及管理在CPAN上的Perl程序
值得一看的資源
日常生活
windows與Mac共享文件
- windows訪問Mac:打開我的電腦毕莱,映射網(wǎng)絡(luò)驅(qū)動(dòng)器器贩,輸入Mac的IP地址即可
- Mac訪問windows:command + K颅夺,輸入smb://IP,隨后輸入用戶名和密碼
linux shell
- grep技巧
- grep -w 僅僅匹配完整的單詞(模式字符串左右都需要包含空格)
- grep --color=auto 高亮匹配
- -i 忽略大小寫
- -e 可以指定多個(gè)匹配樣式
- -f 利用文件中的模式進(jìn)行匹配
- --include
- --exclude
- --exclude-from
- -B 返回匹配上面的多行
- -A 返回匹配下面的多行
- -l 返回包含匹配的文件名
-
less技巧
- 空格代表前進(jìn)
- b 代表后退
- g 會(huì)到開始處
- G 去到末尾
- q退出
-
ls技巧
- -F /代表文件夾蛹稍,*代表程序
- -d 屏蔽文件夾內(nèi)部信息
- -r 最新的文件或文件夾放在最下面
-
tr 技巧
- tr 'a-z' 'A-Z' 小寫轉(zhuǎn)大寫
-
uniq 技巧
- uniq -c 計(jì)數(shù)每個(gè)字符串出現(xiàn)的次數(shù)
-
qsub 計(jì)算機(jī)集群任務(wù)配置文件
- -I nodes=4:ppn=20,walltime=4:00:00,mem=150G
- -o fastalrun (the output dir)
- -N (the name of this process)
- $PBS_O_WORKDIR (the dir where this process was upload)
- -d (the working directory)
- -q (the priority level of this process)
tmux to do
Top 技巧(linux mint)
t
查看cpu view吧黄,m
查看memory view,f/F
調(diào)整fileds唆姐,z
:顏色拗慨,b
:加粗,u/U
選擇帶查看的用戶奉芦,n
顯示進(jìn)程數(shù)目sort 技巧
-u
-t 指定間隔符號(hào)nohup 服務(wù)器操作小幫手
nohup command > log 2>&1 &
- 上述代碼可以讓你在exit登出或者是意外掉線后赵抢,遠(yuǎn)程服務(wù)器上的程序繼續(xù)穩(wěn)穩(wěn)當(dāng)當(dāng)?shù)倪\(yùn)行,但是tmux可以做到更強(qiáng)大声功,唯一的問題就是需要服務(wù)器安裝了tmux才行烦却,然而我們大多數(shù)時(shí)候都沒有辦法sudo,不可以安裝軟件
-
zip和unzip
- zip -r file.zip file/
- unzip -t 測(cè)試文件是否完整
-
tar
- tar -xf file.tar.gz
- tar -zxvf file.tar.gz
- tar -tf file.tar.gz
-tar -ztvf file.tar.gz
f
參數(shù)需要放在最后先巴,即靠近待處理文件其爵,t
參數(shù)可以用于檢視壓縮文件所包含的內(nèi)容,但是不解壓
-
sed
- sed '2,5d' 刪除第2~5行
- sed -n '5,7p' 打印出第5~7行的內(nèi)容
- sed '/^$/d' 刪除空白行
-
基本概念:
- 使用export的變量是環(huán)境變量伸蚯,沒有使用export的是自定義變量
scp 文件傳輸工具
-
split
- -a 后綴長(zhǎng)度
- -l 行數(shù)
- file 待分解文件
- prefix 分出來的文件塊的前綴