用于不同数据组合的更高效的awk解析器

用户名

我有一个awk解析器,如果数据为NC_0000(四位数),则效果很好,但是如果不是,则对数据进行解析。我不确定获取所需输出的最有效方法。谢谢 :)。

代码:

awk 'FNR > 1 && match($0, /NC_0000([0-9]*)\..*g\.([0-9]+)(.)>(.)/, a){ print a[1], a[2], a[2], a[3], a[4] }' OFS='\t' ${id}.txt > ${id}_parse.txt

例如:

NC_000013.10:g.20763466G>A
NC_00001.10:g.20763477C>G 

将被解析为所需的输出

13  20763466    20763466    G   A 
1   20763477    20763477    C   G

但是这个

NC_000004.11:g.41749507G>T

将无法正常工作。所需的输出格式在下面列出,并且始终是这种方式。谢谢 :)。

解析规则:

  1. 在NC_之后的4个零(并非总是如此),在。之前的数字。

  2. g之后的数字。重复两次,用制表符分隔

  3. >之前的字母

  4. >后的字母

添加使用

awk -F"[_.>]" '{a=length($4);b=substr($4,1,a-1);print $2+0,b,b,substr($4,a),$5}' OFS="\t" Target.txt
0
4004    244     244     G       A               NC
3924    288     288     C       A               NC
3924    385     385     G       A               NC

谢谢:)

乔特尼

awk应该做:

cat file
NC_000013.10:g.20763466G>A
NC_00001.10:g.20763477C>G
NC_000004.11:g.41749507G>T

awk -F"[_.>]" '{print $2+0,substr($4,1,8),substr($4,1,8),substr($4,9,1),$5}' OFS="\t" file
13      20763466        20763466        G       A
1       20763477        20763477        C       G
4       41749507        41749507        G       T

如果之后的位数g.可能会更改,请使用以下命令:

awk -F"[_.>]" '{a=length($4);b=substr($4,1,a-1);print $2+0,b,b,substr($4,a),$5}' OFS="\t" file

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

适用于cocos2d-x的高效稳定的YAML解析器

来自分类Dev

使用andThe组合解析器以创建另一个不同类型的解析器

来自分类Dev

了解解析器组合器〜输出

来自分类Dev

在解析器组合器中了解`not`

来自分类Dev

Haskell解析器组合器

来自分类Dev

解析器组合器的类型

来自分类Dev

Idris解析器组合器GADT

来自分类Dev

Idris解析器组合器GADT

来自分类Dev

Haskell Parsec组合器“很多”应用于接受空字符串的解析器

来自分类Dev

Haskell Parsec组合器“很多”应用于接受空字符串的解析器

来自分类Dev

Scala解析器组合器:与“ into”组合时,如何返回中间解析器的内容?

来自分类Dev

Scala解析器组合器:与“ into”组合时,如何返回中间解析器的内容?

来自分类Dev

Android SimpleXml解析器数据解析器错误

来自分类Dev

Scala解析器组合器:在流中解析

来自分类Dev

使用Scala解析器组合器解析句子

来自分类Dev

用解析器组合器解析Haskell本身

来自分类Dev

Scala解析器组合器:按行解析

来自分类Dev

使用Scala解析器组合器解析句子

来自分类Dev

Jerkson Json解析器,用于scala。

来自分类Dev

用于Matlab的快速JSON解析器

来自分类Dev

用于 stax 解析器的 Junit

来自分类Dev

哪个解析器组合器适用于Data.Text,并且包含在香草GHC中?

来自分类Dev

树而不是字符串的解析器组合器

来自分类Dev

Scala JS中的Scala解析器组合器(json)

来自分类Dev

解析器组合器,分离语法和AST构造

来自分类Dev

始终丢弃解析器组合器的结果

来自分类Dev

Scala解析器组合器-消耗直至匹配

来自分类Dev

Scala解析器组合器:使用packratparsers获得stackoverflow

来自分类Dev

使用解析器组合器时堆栈溢出

Related 相关文章

热门标签

归档