次のファイルから:
(AJirio_TR15329|c4_g1_i4|m.30470:0.00230,(AJama_TR16613|c5_g2_i2|m.30203:0.00171,(AJkago_TR11651|c5_g2_i1|m.3847:0.00057,AJtok_TR11413|c7_g1_i1|m.3527:0.00033)1.00 :0.00080)0.94 :0.00085,Atab_TR15364|c0_g1_i1|m.4073:0.27697);
このファイルをインポートする必要があります。
AJirio_TR15329|c4_g1_i4|m.30470"AJirio"
AJama_TR16613|c5_g2_i2|m.30203"AJama"
AJkago_TR11651|c5_g2_i1|m.3847"AJkago"
AJtok_TR11413|c7_g1_i1|m.3527"AJtok"
Atab_TR15364|c0_g1_i1|m.4073"Atab"
したがって、基本的に系統発生水からDNA配列の名前を抽出し、ここに種名を引用符(AJirio、AJkama..)として追加します。
ベストアンサー1
Awk
解決策:
awk -v RS=',' -F':' '{
sub(/^\(/, "", $1);
printf "%s\042%s\042\n", $1, substr($1, 1, index($1,"_")-1)
}' file
RS=','
-,
レコード区切り文字として扱われます。-F':'
-:
フィールド区切り文字として扱われます。sub(/^\(/, "", $1)
- 最初のフィールドから先行する角かっこを削除します。$1
\042
- 二重引用符文字の8進数ASCIIコード"
substr($1, 1, index($1,"_")-1)
- 抜粋種名最初のフィールドで始まる(開始位置からchar1
の最初の発生まで_
)
出力:
AJirio_TR15329|c4_g1_i4|m.30470"AJirio"
AJama_TR16613|c5_g2_i2|m.30203"AJama"
AJkago_TR11651|c5_g2_i1|m.3847"AJkago"
AJtok_TR11413|c7_g1_i1|m.3527"AJtok"
Atab_TR15364|c0_g1_i1|m.4073"Atab"