系統発生ファイルからDNA配列名をコピーし、そこに種名を追加しますか?

系統発生ファイルからDNA配列名をコピーし、そこに種名を追加しますか?

次のファイルから:

(AJirio:0.00230,(AJama.1.1:0.00171,(AJkago.1:0.00057,AJtok:0.00033)1.00:0.00080)0.94:0.00085,Atab.1.1.1:0.2

このファイルをインポートする必要があります。

AJirio"AJirio"  
AJama.1.1"AJama"
AJkago.1"AJkago"
AJtok"AJtok"
Atab.1.1.1"Atab"

したがって、基本的に系統発生水からDNA配列の名前を抽出し、ここに種名を引用符(AJirio、AJkama..)として追加します。

ベストアンサー1

2つの方法:

Awk方法:

awk -v RS=',' -F':' '{ 
       sub(/\(*/, ""); dna = $1;
       gsub(/[^a-zA-Z]/, "", $1);
       printf "%s\042%s\042\n", dna, $1 
}' file

sed方法:

sed -En 's/\(*?(([a-zA-Z]+)[^:]*):[^,]+/\1"\2"/g; s/,/\n/gp' file

出力:

AJirio"AJirio"
AJama.1.1"AJama"
AJkago.1"AJkago"
AJtok"AJtok"
Atab.1.1.1"Atab"

おすすめ記事