- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:条件に一致した塩基配列を含むデータを抽出するには?)
条件に一致した塩基配列のデータ抽出方法
このQ&Aのポイント
- 条件に一致した塩基配列を含むデータを抽出する方法を教えてください。(perl)
- CGCTGCCGGGGAACGGTCTGGTCAGGGATCTATCATGAGGという塩基配列を含むデータを、fasta形式のファイルから抽出するには、BioPerlのSeqIOオブジェクトを使用すると便利です。
- Perlでデータの処理を行う際には、条件に合致する塩基配列を正規表現を使って検索し、そのデータを別のファイルに出力するような処理を行います。具体的な方法は、コードを見る必要がありますが、基本的な記述としては、ファイルを読み込んでデータを処理し、条件に一致したデータを別のファイルに出力する手順を追っていくことになります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
少々泥臭いですすみません #!/usr/bin/perl # 使い方の例 # perl このスクリプト.pl TGAAGTGCA # TODO 要件に合わせて改造 $pattern = (@ARGV == 1)? $ARGV[0]: 'TGAAGTGCA'; open(F, 'foo.fasta') || die "no file error"; $cache = ''; $match = 0; foreach (<F>) { # シーケンスデータの始まり if (/^>/) { $match = 0; $cache = $_; next; } # シーケンス文字列に該当パターンが含まれるか検証 if (!$match && /$pattern/) { $match = 1; print $cache; # ここまでのシーケンスデータを出力 } # 入力行を出力またはキャッシュ if ($match) { print $_; } else { $cache .= $_; } } close(F);
お礼
ありがとうございます! しっかり理解して、今後に役立てていこうと思います。