Linuxを使用している場合は、sed
、awk
、およびtail/head
に慣れてください。彼らはあなたに将来の多くの時間を節約します。
我々は
sed -n '/GN=FV3-002L/,/^>/p' uniprot_sprot.fasta | head -n -1
-n
FV3-002L遺伝子を探していると仮定しましょう:あなたの検索用語
^>
:あなたの終わりをそう
GN=FV3-002L
言ったときだけ印刷するsedを指示します検索、^
は、行の先頭です。>
FASTAヘッダーの先頭です。
/p
:試合に
| head -n -1
を印刷するようにsedを伝えます:Pythonの使用
(より良い正規表現を見つけることがあまりにも怠惰な、しかし、あなたのアイデアを得る)のは、最後の行を取り除くみましょう:
gene = 'FV3-002L'
gene_found = False
fasta = ''
with open('uniprot_sprot.fasta') as f:
for line in f:
if gene in line:
gene_found = True
fasta += line
elif gene_found and line.startswith('>'):
break
elif gene_found:
fasta += line
print(fasta)
ユニスクリプトファイルを開き、各行を読み込み、遺伝子名が見つかったかどうかを確認し、存在する場合は、次のヘッダーまですべての行を読み取り、最後にFASTAシーケンスを出力します。
注:これらのスニペットは1つの例で機能しますが、複数の遺伝子にも適用できます。これを日常的に実行したい場合は、データを効率的に処理する方法を検討する価値があります。生物学的データの操作については、BioPythonもご覧ください。
使用しているOSはどれですか? –