sed 替换_生物信息之独孤九剑——sed
編者按:
在金庸武學體系的眾多武功之中,獨孤九劍并不是最強勁的武功,它與其他武林絕學有很大的不同,可以說是鶴立雞群。比如喬峰的降龍十八掌,段譽的六脈神劍,張無忌的九陽神功,石破天的羅漢伏魔神功,這些神功都需要強大的內力支撐,而獨孤九劍則不同,不需要內力,這點其實可以從華山派氣宗與劍宗的分歧就可以看出來。獨孤九劍傳人風清揚屬于劍宗,更注重招式,而不是像劍宗注重練氣。獨孤九劍分為總訣式,破劍式,破刀式,破槍式,破鞭式,破索式,破箭式,破掌式,破氣式,遇到不同的場景使用關不同的招式,因此,獨孤九劍更加注重問題的解決,本質上就是就是通過工具來解決問題。只要學會這九劍,就可以處理很多的問題。學習生物信息也是同樣的道理,當然練好內功,掌握很好的基礎是非常必要的,但是也可以學習一些小工具,解決一些實際問題。那么從這次內容開始,我們就來給大家介紹生物信息之獨孤九劍。
sed是linux下強大的文本編輯工具,sed全稱是Stream EDitor,是一種流編輯器,什么是流編輯器呢。也就是相當于一個格式化的工具。當數據流過這個工具時,都被格式化成固定的格式。比如一個流水線中的一個模具,原材料是各種形狀的,但是結果模具處理之后都變成同一的形狀,這就是流編輯器。sed默認一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(pattern space),接著用sed命令處理緩沖區中的內容,處理完成后,把緩沖區的內容送往屏幕。接著處理下一行,這樣不斷重復,直到文件末尾。原文件內容并沒有改變。sed主要用來自動編輯一個或多個文件,簡化對文件的反復操作。而不需要編寫轉換程序來完成。
案例一:輸出固定的行
sed -n '1307p' seq.fna #輸出文件第1307行;
sed -n '100,200' seq.fna #輸出文件第100到200行;
案例二:替換操作
sed -e 's/gi/GI/' seq.fna #將文件中gi全部替換為大寫GI;
sed -i 's/gi/GI/g' seq.fna #在原文件上進行替換,并且進行全部替換;
sed -i.bak 's#GI#gi#' seq.fna #在原文件上進行替換,并進行備份;
sed -e 's/gi/GI/2;s/ref/REF/2' seq.fna #只將第二次出現的gi和ref進行替換;
sed -f sed.list cds.list #根據文件中的模式進行替換,可同時進行多條件替換;
sed -n 's/gi/GI/p' seq.fna #打印發生替換的行;
案例三:刪除空白行;
sed -e '/^s*$/d' seq.fna #刪除文件中的空白行;
案例四:行尋址
sed -n '/ref/p' seq.fna #輸出文件中包含ref關鍵字的行;
sed '100,2000s/GI/gi/g' seq.fa #則只替換100行到2000行的內容;
sed '100,2000!s/GI/gi/g' seq.fa #加感嘆號取反,在這個范圍之外的執行操作;
案例五:刪除操作
sed -e '/>/d' seq.fna #刪除包含ref的行;
sed -e 's/:.*//g' seq.fna #刪除冒號之后的所有內容;
案例六:對應替換,類似于tr的功能
sed -e 'y/ATCG/atcg/' seq.fna #修改大小寫
sed -e '/>/!y/ATCG/atcg/' seq.fna #DNA序列反向互補配對,并修改大小寫
歡迎訂閱微信公眾號:基因學苑
總結
以上是生活随笔為你收集整理的sed 替换_生物信息之独孤九剑——sed的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opencv连通域去除小块面积_晋中市建
- 下一篇: 信用卡被盗刷怎么规划责任 出现这种情况需