小编Gaw*_*ain的帖子

如何将整数添加到差异计算中并将其打印到行尾?

目标:打印由分号 ($3$2)分隔的两个字段之间的差异,并+1在以“ >”开头的每行末尾添加一个整数 ( ) 到该计算值。

我的文件的代表性示例:

>lcl|ORF1_      17609   17804   (+):21:131 unnamed protein product
MEKVKNKFDENDIKVPFVPSSLLFNNTGNLNTMDKR
>lcl|ORF2_      17609   17804   (+):70:111 unnamed protein product
MFLLHYYLIIQVI
>lcl|ORF3_      17609   17804   (+):112:147 unnamed protein product
MQWIKDKVLIK
>lcl|ORF4_      17609   17804   (+):129:91 unnamed protein product
MFYPLYLDYLYY
>lcl|ORF5_      17609   17804   (+):90:1 unnamed protein product, partial
MIMKKEQMELLYHSHQIYFLPFPLHQNIHP
Run Code Online (Sandbox Code Playgroud)

期望输出:

>lcl|ORF1_      17609   17804   (+):21:131 unnamed protein product:111
MEKVKNKFDENDIKVPFVPSSLLFNNTGNLNTMDKR
>lcl|ORF2_      17609   17804   (+):70:111 unnamed protein product:42
MFLLHYYLIIQVI
>lcl|ORF3_      17609   17804   (+):112:147 unnamed protein product:36 …
Run Code Online (Sandbox Code Playgroud)

awk sed

6
推荐指数
2
解决办法
642
查看次数

当 file1 中的两个字段匹配 file2 中单个字段的子字符串时打印 file2 的行

目标:当 File1 的字段 1 ( $1) 和字段 4 ( $4)与File2 中$4以 " >"开头的行上的字段 4 ( )中的子字符串匹配时,打印 File2 的行。

重要提示#1:打印到输出的行包括正在搜索的行它后面的所有行,直到下一行带有>”。

示例:当File1 的字段 1 和 4分别为2776& 时2968,应针对 File2 的字段 4 搜索它们以最终找到匹配项2776-2968(+)(因为File1 的两个数字都匹配 File2 的字段 4 中的子字符串)。字符串中数字的顺序无关紧要 -2968-2776(+)也应视为匹配。因为它们匹配,所以 File2 的那一行被打印在它下面的所有行,直到>遇到另一行带有“ ”。

重要说明#2: File1 是制表符分隔的:\t. 文件 2 以冒号分隔::.


文件1:

Transcription_Start     Translation_Start       Translation_Stop        Transcription_Stop      Strand …
Run Code Online (Sandbox Code Playgroud)

awk

1
推荐指数
1
解决办法
645
查看次数

标签 统计

awk ×2

sed ×1