2017-10-04 13 views
-2

NCBIでBLAST検索を実行し、その結果をxmlファイルとしてダウンロードしました。このファイルから、対応するシークエンスの種名が必要です。一致シーケンスがパターンとして<Hsp_qseq>を有しているが、これらの両方は、いくつかの行によって分離されている間ファイルから複数のパターンをgrep

種名は、パターンとして<Hit_def>を有しています。 grep(またはawk<Hit_def>の後に<Hsp_qseq>が続き、それが2つのラインに加わり、各種の情報が得られますか?

示唆したように、私は実際の入力ファイルのサンプルを含めています - <Hit_def>タンパク質名[ホモサピエンス] </Hit_def>

<Hit_accession> BAG72649 </Hit_accession>

<Hit_hsps>

<Hsp>

<Hsp_qseq>タンパク質配列</Hsp_qseq>

I期待出力は -

<Hit_def>タンパク質名[ホモ・サピエンス] <\Hit_def>

<Hsp_qseq> protein_sequence <\Hsp_qseq>

<Hit_def>タンパク質名、事前に[ハツカネズミ] <\Hit_def>

<Hsp_qseq> protein_sequence <\Hsp_qseq>

感謝。

+2

が必要<Hsp_qseq>キーワードは、スタックオーバーフローへようこそ。 – RavinderSingh13

+0

''タンパク質名[ホモ・サピエンス] '' '' BAG72649 '' '' 2004 '' '' '' '' 1 ' ' 「」タンパク質配列「」 ありがとうございました。 –

+0

コードタグを使ってあなたの投稿を編集してください。そうすればすべてがあなたの必要条件を認識することができます。 – RavinderSingh13

答えて

0
$ grep '\(<Hit_def>\|<Hsp_qseq>\)' file 
<Hit_def> protein name [Homo sapiens] </Hit_def> 
<Hsp_qseq> protein sequence </Hsp_qseq> 

を説明:

  • grepをEREとは対照的に、パターンの周りgrep
  • '単一引用符(あなたはシェル拡張を必要としない限り)
  • \( BRE(基本的な正規表現を、使用して拡張正規表現grep -E)は、グループ化文字をエスケープする必要があります()だけでなく、OR演算子|
  • <Hit_def>それは明らかではないとして、あなたは、コードタグを使用してサンプルINPUT_FILEを投稿してください可能性があり、あなたが
+0

ありがとう、ジェームス。それはまさに私が探していたものです。 –

関連する問題