入力ファイルの行を列に分割する必要があります。行をそのコンポーネントに分割する
ATOM 0 HB3 ALA C 999 28.811 -7.680 12.279 1.00 57.53 H
ATOM 7637 N PRO C1000 27.299 -5.667 10.647 1.00216.82 N
私が持っているコードは限り6列目は、4桁の数字よりも< 1000年、または短いほど、正常に動作します:しかし、すぐに列6が1000に達すると
($ATOM, $atom_num, $atom_type, $res, $chain, $res_num) = split(" ", $pdb)
、それはもはや意志2つの列を区別する。私はperlの専門家ではありませんが、私が扱っているコードはperlですので、これを分割する方法を理解する必要があります。各列の桁数で表します。 提案がありますか?
位置にスプリット。すべての列が同じ幅を持つように見えます。 –
お寄せいただきありがとうございます。彼らはすべて同じ幅を持っていません。例えば。列5(「C」と記載されています)の長さは1桁です。 –
各列の長さは同じです。列5は、各行に対して1の長さを有する。したがって、各列は常に同じ場所で開始します。そのため、あなたはポジションを分けることができます。これは、あなたが示した例では少なくとも真実です。 –