简介
基因组注释文件(gff3) 中,第 9列是以 ; 分隔的键值对,这类键值对需要使用 split() 函数进行拆分来提取
实例
某 gff3 的第 9 列如下,现提取 biotype 对应的内容
ID=transcript:AT1G01010.1;Parent=gene:AT1G01010;Name=NAC001-201;biotype=protein_coding;tag=Ensembl_canonical;transcript_id=AT1G01010.1awk 脚本如下
BEGIN {
FS = "\t"
OFS = "\t"
}
{
split($9, dv_pairs, ";") # 以分号分割第9列,分隔产生数据存储进入dv_pairs数组中
split(dv_pairs[4, biotype_pairs, "="]) # 以等号分割biotype=protein_coding,分隔产生数据存储进入biotype_pairs数组中
print biotype[2] # 数组中第二位是biotype指向的内容
}命令
zcat file.gff3 | awk -f script.awk