生物信息学常见数据格式

fasta:一种基于文本用于表示核酸序列或多肽序列的格式,缩写为 fa

特征: 分为两部分, id行和序列行.
- id行:以“>”开头, 有时候会包含注释信息,如 chr1、chr2 …
- 序列行: 一个字母表示一个碱基/氨基酸,ATCG 或 20种氨基酸
一般保存参考基因组信息

fastq:一种保存生物序列(通常为核酸序列)及其测序质量得分信息的文本格式,缩写为 fq

FASTQ文件中,一个序列通常由四行组成:
• 第一行:以 @ 开头,之后为序列的标识符以及描述信息
• 第二行:为序列信息,如 ATCG
• 第三行:以 + 开头,之后可以再次加上序列的标识及描述信息(保留行)
• 第四行:为碱基质量值,与第二行的序列相对应,长度必须与第二行相同

gtf:最常用的基因组注释文件,总共有 9 列,以制表符分隔,分别为

截屏2022-05-12 17.04.37.png
制表符没有固定的长度
column -t 让列对齐显示(经过某种操作,文件已被改动)

文本处理的三架马车

1. grep:一种强大的文本搜索工具,它能使用正则表达式匹配模式搜索文本,并把匹配的行打印出来

格式: grep [options] pattern(关键词) file
常见参数:
-w: word 精确查找某个关键词 pattern
-c: 统计匹配成功的行的数量
-v: 反向选择,即输出没有没有匹配的行
-n: 显示匹配成功的行所在的行号
-r: 从目录中查找pattern (仅限文本文件)
-e: 指定多个匹配模式
-f: 从指定文件中读取要匹配的 pattern (当关键词很多时)
-i: 忽略大小写
截屏2022-05-12 17.20.42.png截屏2022-05-12 17.21.10.png

正则表达式

正则表达式: 是对字符串操作的一种逻辑公式,就是用事先 定义好的一些特定字符、及这些特定字符的组合,组成一个 “规则字符串”,这个“规则字符串”用来表达对字符串的 一种过滤逻辑。
^ 行首
$ 行尾
. 换行符之外的任意单个字符

? 匹配之前项0次或者一次
+ 匹配1次或者多次
* 匹配0次或者多次
{n} 匹配n次
{n,} 匹配至少n次
{m,n} 至少m,最多n
[]匹配任意一个
[^]排除字符
| 或者
截屏2022-05-12 17.34.12.png
grep -E == egrep
zgrep,搜索压缩后的文本文件

2. sed:流编辑器,一般用来对文本进行增删改查

用法:sed [-options] ‘script’ file(s)
常见参数:
-n :禁止显示所有输入内容,只显示经过sed处理的行(常用)
-e :直接在命令模式上进行 sed 的动作编辑,接要执行的一个或者多个命令
-f :执行含有 sed 动作的文件
-r :sed 的动作支持的扩展正则(默认基础正则)
-i :直接修改读取的文件内容,不输出。
截屏2022-05-12 20.32.17.png
截屏2022-05-12 20.34.09.png
sed ‘/^$/d’ 通过关键词匹配删除空白行(^代表行首,$表示行尾,正则表达式的意义)
截屏2022-05-12 21.11.18.png
截屏2022-05-12 21.19.00.png

3. awk: 也称 gawk,编程语言,可对文本和数据进行处理

常见参数: -F,fields,设置字段分隔符;
-v,var=value 定义awk程序中的一个变量及其默认值
用法:awk [options] ‘{script}’ file
截屏2022-05-12 21.55.18.png
awk 在读取一行文本时,会用预定义的字段分隔符划分每个数据字段,并分配给一个变量。
$0 代表整个文本行;
$1 代表文本行中的第1个数据字段;
…..
$NF 代表文本行中的最后一个数据字段
awk 默认的字段分隔符是任意空白字符(如:空格 or 制表符),也可以用 -F 参数自定义分隔符
awk 内置变量:
FS :定义输入字段分隔符,Field Separator,同 –F
RS :定义输入记录分隔符,Record Separator
OFS :定义输出字段分隔符,Out Field Separator
ORS :定义输出记录分隔符,Out Record Separator
NF :数据文件中的字段总数,可以简单理解为列数
NR :已处理的输入记录数,可以简单理解为行数
也可以通过 -v 参数自定义变量或传递外部变量
截屏2022-05-12 22.23.52.png
‘’ 内部如果需要出现引号,用“”进行区别

  1. <br /> <br /> <br />
  2. <br /> <br /> <br /> <br /> <br /> <br /> <br />