【生信技能樹】sam和bam格式文件的shell小練習(xí)

【生信技能樹】sam和bam格式文件的shell小練習(xí)

LINUX練習(xí)題

1) 統(tǒng)計共多少條reads(pair-end reads這里算一條)參與了比對參考基因組

$grep -v  '^@' tmp.sam |cut -f 1|sort -V | uniq -c | wc -l
10000 
  1. 統(tǒng)計共有多少種比對的類型(即第二列數(shù)值有多少種)及其分布。
$grep -v '^@' tmp.sam | cut -f 2 | sort  -V |uniq -c
     24 65
    165 69
    153 73
    213 77
      2 81
   4650 83
    136 89
   4516 99
    125 101
     16 113
     24 129
    153 133
    165 137
    213 141
   4516 147
    125 153
      2 161
   4650 163
    136 165
     16 177
$grep -v  '^@' tmp.sam |cut -f 2|sort -V | uniq -c | wc -l
20 

3)篩選出比對失敗的reads芙盘,看看序列特征谤逼。

$grep -v '^@' tmp.sam | awk 'match($3,"*"){print;}'
$grep -v '^@' tmp.sam | awk 'match($3,"*"){print;}' | wc -l
426
$grep -v '^@' tmp.sam | awk 'match($3,"*"){print;}' | head -10 |less -SN
  1. 比對失敗的reads區(qū)分成單端失敗和雙端失敗情況豫缨,并且拿到序列ID
$grep -v '^@' tmp.sam | awk 'match($3,"*"){print($1);}' |\
 sort -V | uniq -c | awk '$1==2{print($2);}' #雙端失敗
$grep -v '^@' tmp.sam | awk 'match($3,"*"){print($1);}' |\
 sort -V | uniq -c | awk '$1==2{print($2);}' | wc -l
213
$grep -v '^@' tmp.sam | awk 'match($3,"*"){print($1);}' |\
 sort -V | uniq -c | awk '$1==1{print($2);}' #單端失敗
$grep -v '^@' tmp.sam | awk 'match($3,"*"){print($1);}' |\
 sort -V | uniq -c | awk '$1==1{print($2);}' | wc -l
0
  1. 篩選出比對質(zhì)量值大于30的情況(看第5列)
$grep -v '^@' tmp.sam | awk '$5>30{print;}'
$grep -v '^@' tmp.sam | awk '$5>30{print;}' | wc -l
18632
$grep -v '^@' tmp.sam | awk '$5>30{print;}'| head -10 |less -SN
  1. 篩選出比對成功,但是并不是完全匹配的序列
  1. 篩選出inset size長度大于1250bp的 pair-end reads
  1. 統(tǒng)計參考基因組上面各條染色體的成功比對reads數(shù)量
$grep -v '^@' tmp.sam | awk '!match($6,"*"){print($3);}' | sort | uniq -c
  18995 gi|9626243|ref|NC_001416.1|
  1. 篩選出原始fq序列里面有N的比對情況
$grep -v '^@' tmp.sam | awk 'match($10,"N"){print}'
$grep -v '^@' tmp.sam | awk 'match($10,"N"){print}'| wc -l
12934
$grep -v '^@' tmp.sam | awk 'match($10,"N"){print}' | \
 head -10 | cut -f 10 | grep "N"
  1. 篩選出原始fq序列里面有N毁腿,但是比對的時候卻是完全匹配的情況
$grep -v '^@' tmp.sam | awk 'match($6,length($10)){print}'
$grep -v '^@' tmp.sam | awk 'match($6,length($10)){print}'| wc -l
17095
$grep -v '^@' tmp.sam | awk 'match($6,length($10)){print}'| head -10 | less -SN
  1. sam文件里面的頭文件行數(shù)
$grep '^@' tmp.sam | wc -l
3
  1. sam文件里每一行的tags個數(shù)一樣嗎
$grep -v  '^@' tmp.sam |awk '{print(NF-12+1)}'| sort | uniq -c
    457 1
    548 2
    579 8
  18416 9
  1. sam文件里每一行的tags個數(shù)分別是多少個
$grep -v '^@' tmp.sam |awk '{print(NF-12+1)}'
$grep -v '^@' tmp.sam |awk '{print(NF-12+1)}'|head -1
9
$grep -v '^@' tmp.sam |head -1 |\
 awk '{for(i=12;i<NF;i++){printf("%s\n",$i)}}' | less -SN
013-2.png
  1. sam文件里記錄的參考基因組染色體長度分別是墅冷?
$grep "LN:" tmp.sam
@SQ     SN:gi|9626243|ref|NC_001416.1|  LN:48502
  1. 找到比對情況有insertion情況的
$grep -v  '^@' tmp.sam | awk '{if (match($6,"[Ii]")) print;}'
$grep -v  '^@' tmp.sam | awk '{if (match($6,"[Ii]")) print;}'| wc -l
66
$grep -v  '^@' tmp.sam | awk '{if (match($6,"[Ii]")) print;}'|\
 head -10 | less -SN
015.png
  1. 找到比對情況有deletion情況的
$grep -v  '^@' tmp.sam | awk '{if (match($6,"[Dd]")) print;}'
$grep -v  '^@' tmp.sam | awk '{if (match($6,"[Dd]")) print;}'| wc -l
1843
$grep -v  '^@' tmp.sam | awk '{if (match($6,"[Dd]")) print;}'|\
 head -10 | less -SN

17)取出位于參考基因組某區(qū)域的比對記錄,比如 5013到50130 區(qū)域

$grep -v  '^@' tmp.sam | awk '{if ($4>=5013 && $4<=50130) print;}'
$grep -v  '^@' tmp.sam | awk '{if ($4>=5013 && $4<=50130) print;}'| wc -l
17645
$grep -v  '^@' tmp.sam | awk '{if ($4>=5013 && $4<=50130) print;}'|\
head -10 | less -SN
  1. 把sam文件按照染色體以及起始坐標(biāo)排序
$grep -v  '^@' tmp.sam | sort -k3,4 -V
$grep -v  '^@' tmp.sam | sort -k3,4 -V |head -20 |less -SN
$grep -v  '^@' tmp.sam | sort -k3,4 -V |tail -20 |less -SN
head -20結(jié)果

tail - 20結(jié)果
  1. 找到 102M3D11M 的比對情況宛瞄,計算其reads片段長度。
$grep -v  '^@' tmp.sam | awk '{if($6=="102M3D11M") print length($10);}'
113
  1. 安裝samtools軟件后使用samtools軟件的各個功能嘗試把上述題目重新做一遍交胚。

另開一篇文章寫作業(yè)份汗。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蝴簇,隨后出現(xiàn)的幾起案子杯活,更是在濱河造成了極大的恐慌,老刑警劉巖熬词,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旁钧,死亡現(xiàn)場離奇詭異,居然都是意外死亡互拾,警方通過查閱死者的電腦和手機歪今,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颜矿,“玉大人寄猩,你說我怎么就攤上這事∑锝” “怎么了田篇?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長封断。 經(jīng)常有香客問我斯辰,道長,這世上最難降的妖魔是什么坡疼? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮衣陶,結(jié)果婚禮上柄瑰,老公的妹妹穿的比我還像新娘闸氮。我一直安慰自己,他們只是感情好教沾,可當(dāng)我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布蒲跨。 她就那樣靜靜地躺著,像睡著了一般授翻。 火紅的嫁衣襯著肌膚如雪或悲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天堪唐,我揣著相機與錄音巡语,去河邊找鬼。 笑死淮菠,一個胖子當(dāng)著我的面吹牛男公,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播合陵,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼枢赔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了拥知?” 一聲冷哼從身側(cè)響起踏拜,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎低剔,沒想到半個月后执隧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡户侥,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年镀琉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蕊唐。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡屋摔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出替梨,到底是詐尸還是另有隱情钓试,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布副瀑,位于F島的核電站弓熏,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏糠睡。R本人自食惡果不足惜挽鞠,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧信认,春花似錦材义、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至潦蝇,卻和暖如春款熬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背攘乒。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工贤牛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人持灰。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓盔夜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親堤魁。 傳聞我的和親對象是個殘疾皇子喂链,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,055評論 2 355

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