1、grep文件內(nèi)搜索 (支持正則表達(dá)式)
(1)統(tǒng)計 fasta 文件中序列條數(shù)
grep ">" a.fasta
(2)只顯示自己的文件
ls -l | grep "用戶名"
note:
-i 忽略大小寫
-v 反選,輸出不包含條件的行
-n 顯示結(jié)果所在的行
-Ax 關(guān)鍵字后面的行
-Bx 關(guān)鍵字前面的行
2、sed 流處理器
(1)替換 fasta 文件 ID
將 a 文件中的 a 表頭替換為無
sed -e "s/a//g" a #e代表新窗口顯示
sed -i #源文件修改
(2)fastq 文件替換為 fasta
sed -e "0~4d" 1.fastq | sed -e "0~3d" | sed -e "s/@/>/g" > 1.fasta
(3)可以輸出一個文件的任意行
sed -n "1307p" 1.fna #輸出1307行
sed -n "100,500p" 1.fna #輸出100到500行
3、awk 工具
(1)將 fastq 格式轉(zhuǎn)換為 fasta 格式
awk "{getline seq;getline plus;getline qual;sub("@",">",$0);print $0 "\n"seq}" 1.fastq > 1.fasta
(2)數(shù)據(jù)文件固定的列
awk"{print $2}" blast2.out #$2 表示輸出第二列,若是$0則是表示所有的列,即一整行
(3)按條件過濾輸出
awk "{if($3>=80 && $4 >=100)print$0}" blast1.out
awk "{if($3>=80 && $4 >=100)print$0}" blast1.out | sort -n -k1 | uniq | wc