読み取るSDファイルがあります。ファイル全体をアップロードできませんでした。下の画像でスナップショットを作成しました。
分子の構造を説明するSDファイル(構造データファイル)です。803とAMHは2つの分子です。また、同じ分子内にいくつかのフラグメントがあります。各フラグメントは4つのドル記号($$$$)で区切られます。私は生物医学研究の学生なので、perlは初めてです。ただし、$$$$の出現を検出し、その隣に分子コード(ここでは803)の出現を検出するスクリプトを作成しました。
{
open (FILE, '<', "try_803.txt");
my $ligandcode="803";
while (<FILE>) {
my $nextline = <FILE>;
if ( $_=~/\x24\x24\x24\x24/ && $nextline=~/$ligandcode/){
# do something
}
}
}
このコードは、$$$$の最初の出現に続いて803をチェックします。しかし、次の$$$$の出現に続いて803に進む必要があります。このパターンが何回発生するかはわかりません。技術的には、事前にフラグメントの数を指定することはできません。このコードを改善し、問題の解決策を見つけるのを手伝ってくれませんか。ありがたいです。