列の各記号(+/-)の値を置き換えます。

列の各記号(+/-)の値を置き換えます。

ゲノム座標を使用して.bedファイルを作成しようとしていますが、ほぼ同じです。最後のステップだけが残りました。次のファイルがあります。

LQNS02278165.1  13104710        13109495        BEL-1_PH-I      4785
LQNS02278165.1  9139127         9142308         BEL-1_PH-I      3181
LQNS02278165.1  9222957         9221339         BEL-1_PH-I      -1618

5列をゲノムの方向になる記号に置き換える必要があります。理想的には、出力は次のようになります。

LQNS02278165.1  13104710        13109495        BEL-1_PH-I      +
LQNS02278165.1  9139127         9142308         BEL-1_PH-I      +
LQNS02278165.1  9222957         9221339         BEL-1_PH-I      -

awkのアドバイスをいただきありがとうございます!ありがとう

答え1

これで十分です。

awk '{$NF=($NF<0 ? "-" : "+")}1' file
  • $NF=($NF<0 ? "-" : "+")最後のフィールドが負の場合はマイナス記号に置き換え、それ以外の場合はプラス記号に置き換えます。

  • 1この行を印刷してください。

答え2

斑点

awk '{if ($NF ~ "-"){$NF="-";print }else{$NF="+";print }}' filename

出力

LQNS02278165.1 13104710 13109495 BEL-1_PH-I +
LQNS02278165.1 9139127 9142308 BEL-1_PH-I +
LQNS02278165.1 9222957 9221339 BEL-1_PH-I -

関連情報