美文网首页生物信息学
生物信息之独孤九剑——grep

生物信息之独孤九剑——grep

作者: 基因学苑 | 来源:发表于2019-07-22 21:33 被阅读0次

编者按:

  在金庸武学体系的众多武功之中,独孤九剑并不是最强劲的武功,它与其他武林绝学有很大的不同,可以说是鹤立鸡群。比如乔峰的降龙十八掌,段誉的六脉神剑,张无忌的九阳神功,石破天的罗汉伏魔神功,这些神功都需要强大的内力支撑,而独孤九剑则不同,不需要内力,这点其实可以从华山派气宗与剑宗的分歧就可以看出来。独孤九剑传人风清扬属于剑宗,更注重招式,而不是像剑宗注重练气。独孤九剑分为总诀式,破剑式,破刀式,破枪式,破鞭式,破索式,破箭式,破掌式,破气式,遇到不同的场景使用关不同的招式,因此,独孤九剑更加注重问题的解决,本质上就是就是通过工具来解决问题。只要学会这九剑,就可以处理很多的问题。学习生物信息也是同样的道理,当然练好内功,掌握很好的基础是非常必要的,但是也可以学习一些小工具,解决一些实际问题。那么从这次内容开始,我们就来给大家介绍生物信息之独孤九剑。

grep是Linux下非常重要的一个工具,grep全称是Global Regular Expression Print,表示全局正则表达式版本。grep是一个文本筛选器,其实也是搜索的功能,grep的工作原理是,给定一个条件,我们也叫作模式,然后从文本中筛选出符合这个条件的内容,然后将这一行输出出来。有点类似于搜索引擎,在一个很大的文本中,筛选出满足设定条件的部分。grep在生物信息分析中,可以快速从文本中筛选出需要的内容。

首先来介绍一下grep的选项参数,grep的选项参数也很多,主要分为四部分,首先是正则表达式相关的选项,然后是Miscellaneous,其余方面,输出控制,以及上下文控制等。

-E或--extended-regexp   扩展功能的grep,也叫作egrep,可以直接敲egrep命令。

-F或--fixed-regexp   将范本样式视为固定字符串的列表,也叫作fgrep,可以直接敲fgrep命令。 

-G或--basic-regexp  将范本样式视为普通的表示法来使用。

-P 或--perl-regexp 使用perl的正则表达式。

不同模式的正则表达式之间稍微有些差别。

-f --file=接一个模式的文件,让grep查找符合范本条件的文件内容,格式为每列一个范本样式;当要搜索条件过多时,可以将条件写入一个文件。

-i或--ignore-case   忽略字符大小写的差别。 

-w或--word-regexp   只显示全字符合的列。

-x或--line-regexp   只显示全列符合的列。

再来看一下输出选项,

-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。

-H 在显示符合范本样式的那一列之前,表示该列所属的文件名称。

-l  列出满足条件的文件名称,而不是具体内容,这个用在文件很多时,筛选出哪些文件包含条件的内容。然后将这些文件筛选出来。

这其中有几个选项是非常重要的。

首先是-v,--revert-match ,显示不匹配模式的行,有时候我们需要输出哪些是不满足条件的行,这时就可以使用-v选项。

-n 是在输出满足条件的内容前加行行号。

-r 和-d类似,用于搜索目录,可以用于搜索目录下的每一个文件;

下面来看一下上下文控制。

-B 是before的意思,后面接一个数字,表示将满足条件的行,前面几行也输出出来。

-A 是After的意思,和-B类似,表示将满足条件的行,下面几行输出出来。

 -C 后面接一个数字, 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。 也可以不用-C,直接连字符接数字。比如-2

输出满足条件的上下几行。

-c或--count   计算符合范本样式的列数。

案例一:统计fasta文件中序列的条数;

案例二:输出满足条件的序列;

这里有一个lastz比对的axt格式文件,这种格式第一列是比对的统计,下面两列是参考序列和待查序列的序列。我们可以使用grep搜索某个序列是否比对上了,加-l选项,则判断出是否比对上,而不列出具体的内容。-n或列出来满足条件的行号。因为这个一次输出满足条件的行,序列在下面两行,这个时候可以添加-A 2,这样就把一个比对的内容全部显示出来了。

案例三:筛选出不满足条件的内容;

grep不仅可以用于文件中筛选,同样可以用于很多命令屏幕输出结果的筛选中。比如ll,ps等。

敲ps -fx 然后使用管道,grep -v “S",不输出进程状态为S的任务。

相关文章

  • 生物信息之独孤九剑——grep

    编者按: 在金庸武学体系的众多武功之中,独孤九剑并不是最强劲的武功,它与其他武林绝学有很大的不同,可以说是鹤立鸡...

  • 生物信息之独孤九剑——awk

    编者按: 在金庸武学体系的众多武功之中,独孤九剑并不是最强劲的武功,它与其他武林绝学有很大的不同,可以说是鹤立鸡...

  • 生物信息之独孤九剑——find

    编者按: 在金庸武学体系的众多武功之中,独孤九剑并不是最强劲的武功,它与其他武林绝学有很大的不同,可以说是鹤立鸡...

  • 生物信息之独孤九剑——sort

    编者按: 在金庸武学体系的众多武功之中,独孤九剑并不是最强劲的武功,它与其他武林绝学有很大的不同,可以说是鹤立鸡...

  • 生物信息之独孤九剑——sed

    编者按: 在金庸武学体系的众多武功之中,独孤九剑并不是最强劲的武功,它与其他武林绝学有很大的不同,可以说是鹤立鸡...

  • 生物信息之独孤九剑——xargs

    前面已经介绍过grep,sed,单行perl,sort,awk,vim,find,cut等8个命令,这次我们来介绍...

  • 生物信息之独孤九剑——cut

    今年到目前写了不少内容,本来想写专题的,而且已经写了两个了,一共写了40篇。结果突然有一天发现,两年前写的一个专题...

  • 生物信息之独孤九剑——单行perl

    编者按: 在金庸武学体系的众多武功之中,独孤九剑并不是最强劲的武功,它与其他武林绝学有很大的不同,可以说是鹤立鸡...

  • Linux批量删除进程

    ps aux|grep 进程相关信息 |grep -v grep|awk'{print $2}'|xargskill-9

  • docker里找不到gpu

    lspci | grep -i nvidia 可以看到显卡信息 dpkg --list | grep nvidia...

网友评论

    本文标题:生物信息之独孤九剑——grep

    本文链接:https://www.haomeiwen.com/subject/fnpglctx.html