タグ間情報抽出[重複]

タグ間情報抽出[重複]

テキストファイルがあり、次にファイルの内容の例を示します。

第1234章新しいホメオドメインをコードする遺伝子は、<category="Modifier">筋緊張性異栄養症</category>不安定(CTG)n反復によって中断された大きなCpG島に関連しています。 <category="SpecificDisease">筋緊張性二栄養症</category>(<category="SpecificDisease">DM</category>)および(CTG)プロテインキナーゼをコードする3つの非翻訳領域におけるnトリヌクレオチド反復関連遺伝子DMPKが増幅されマッピングされた。染色体19q13に。 3.現在まで、患者組織におけるこの遺伝子発現の特徴付けは、DMPK mRNAの定常状態レベルの変化および最終的に増幅の存在下でのDMPKタンパク質レベルの変化に関して矛盾するデータをもたらした。第19番染色体の<category="Modifier">DM</category>領域は遺伝子が豊富で、反復的な拡張は近くの多くの転写単位の機能障害につながる可能性があり、これはクロマチン損傷の結果である可能性があります。 。 DMPKの3末端CpG島に関連する遺伝子を検索しました。この領域の配列決定により、島は3.5kb以上に拡張され(CTG)n反復によって中断されることが示された。ヒトとマウスの反復のゲノム配列の下流(中心節)を比較して、かなりの相同性を有する領域を同定した。これは、ホメオドメインタンパク質をコードすると予測される遺伝子のエクソンに対応する。 RT-PCR分析によると、<category="Modifier">DM</category>遺伝子座関連ホメオドメインタンパク質(DMAHP)と呼ばれるこの遺伝子は、骨格筋、心臓および脳を含む多くのヒト組織で発現されることが示されています。 。

タグ間のコンテンツを抽出する必要があります。たとえば、次のようになります。

<category="SpecificDisease">Myotonic dystrophy</category>

抽出する必要があります「筋緊張性異栄養症」新しいテキストファイルに書き込みます。

答え1

grepタグ間のテキストを見つけて、タグ自体を削除してsedこれを行うことができます。

$ grep -oP '<category.+?>.*?</category>' file.txt | sed 's/<.*>\(.*\)<.*>/\1/'
myotonic dystrophy
Myotonic dystrophy
DM
DM
DM

説明する

  • grep -oP-Pできるようにするポリメラーゼ連鎖反応grep一致する文字列のみを印刷するようにします-o
  • '<category.+?>.*?</category>':grep開くタグと閉じるタグcategoryの間のすべての項目を検索することを意味します。
  • sed 's/<.*>\(.*\)<.*>/\1/':上記の出力はgrepパイプで接続されており、sedタグをその内容に置き換えて簡単に削除します(ここでは\1タグをキャプチャするために括弧が使用されるため)。

答え2

これはPCREを介して行うことができます。今まで試してみましたが、まだ完全に理解していません。

以下は、私が試して動作しているタスクの例です。

grep -oP '(?:<category=[A-Za-z\"\s]*>)[A-Za-z\s]+(?:<\/category>)' input|\
awk -F">" '{split($2,a,"<"); print a[1]}'

関連情報