编者按:
在金庸武学体系的众多武功之中,独孤九剑并不是最强劲的武功,它与其他武林绝学有很大的不同,可以说是鹤立鸡群。比如乔峰的降龙十八掌,段誉的六脉神剑,张无忌的九阳神功,石破天的罗汉伏魔神功,这些神功都需要强大的内力支撑,而独孤九剑则不同,不需要内力,这点其实可以从华山派气宗与剑宗的分歧就可以看出来。独孤九剑传人风清扬属于剑宗,更注重招式,而不是像剑宗注重练气。独孤九剑分为总诀式,破剑式,破刀式,破枪式,破鞭式,破索式,破箭式,破掌式,破气式,遇到不同的场景使用关不同的招式,因此,独孤九剑更加注重问题的解决,本质上就是就是通过工具来解决问题。只要学会这九剑,就可以处理很多的问题。学习生物信息也是同样的道理,当然练好内功,掌握很好的基础是非常必要的,但是也可以学习一些小工具,解决一些实际问题。那么从这次内容开始,我们就来给大家介绍生物信息之独孤九剑。
![a6ff2d83f449d25bb4a070f8675cc47a.png](https://i-blog.csdnimg.cn/blog_migrate/dfa338523089c247b96706e6040ff0a2.jpeg)
sed是linux下强大的文本编辑工具,sed全称是Stream EDitor,是一种流编辑器,什么是流编辑器呢。也就是相当于一个格式化的工具。当数据流过这个工具时,都被格式化成固定的格式。比如一个流水线中的一个模具,原材料是各种形状的,但是结果模具处理之后都变成同一的形状,这就是流编辑器。sed默认一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。原文件内容并没有改变。sed主要用来自动编辑一个或多个文件,简化对文件的反复操作。而不需要编写转换程序来完成。
案例一:输出固定的行
sed -n '1307p' seq.fna #输出文件第1307行;
![297d22ae4d767bdbdf0f13c648edf4dd.png](https://i-blog.csdnimg.cn/blog_migrate/a576ca11744030a4432535a1368043a2.jpeg)
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关键字的行;
![297d22ae4d767bdbdf0f13c648edf4dd.png](https://i-blog.csdnimg.cn/blog_migrate/a576ca11744030a4432535a1368043a2.jpeg)
![fa27de560c18acfb999ae0a41009d199.png](https://i-blog.csdnimg.cn/blog_migrate/2e3af1cb549dab3b45a61b2b215c6dc1.jpeg)
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 #修改大小写
![053b47191a09f8896edde7c0161c58b6.png](https://i-blog.csdnimg.cn/blog_migrate/1243edb514e6bd80af54ced0ef54ba7e.jpeg)
sed -e '/>/!y/ATCG/atcg/' seq.fna #DNA序列反向互补配对,并修改大小写
![fa27de560c18acfb999ae0a41009d199.png](https://i-blog.csdnimg.cn/blog_migrate/2e3af1cb549dab3b45a61b2b215c6dc1.jpeg)
![c700e92df54c3dd4f9c786c5e357cd64.png](https://i-blog.csdnimg.cn/blog_migrate/5497ca4961abec690fcc368817afda08.jpeg)
欢迎订阅微信公众号:基因学苑