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

编者按:

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

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的任务。

在这里插入图片描述
欢迎订阅微信公众号:基因学苑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值