private void ProcessBondAtomIDs(int pos, NewBondInfo newBondInfo) { var line = input.ReadLine(); int bondIndex = 0; while (line != null) { if (line.IndexOf('}') != -1) { // done return; } else { var id = GetValue(line); var atom = (IAtom)atomIDs[id]; if (atom == null) { throw new CDKException($"File is corrupt: atom ID does not exist {id}"); } newBondInfo.Set(bondIndex, pos, atom); bondIndex++; } line = input.ReadLine(); } }
private void ProcessBondBlock() { string line = input.ReadLine(); var newBondInfo = new NewBondInfo(); while (line != null) { if (line.IndexOf('{') != -1) { ProcessBondBlockBlock(line, newBondInfo); } else if (line.IndexOf('}') != -1) { break; } else { Trace.TraceWarning("Skipping non-block: " + line); } line = input.ReadLine(); } foreach (var info in newBondInfo.IndexToAtoms) { SetBondAtoms(info.Key, info.Value[0], info.Value[1]); } }
private void ProcessBondBlockBlock(string line, NewBondInfo newBondInfo) { var command = GetCommand(line); if (string.Equals(command, "aid1", StringComparison.Ordinal)) { // assume this is the first block in the atom block Debug.WriteLine("ASN bonds aid1 found"); ProcessBondAtomIDs(0, newBondInfo); } else if (string.Equals(command, "aid2", StringComparison.Ordinal)) { // assume this is the first block in the atom block Debug.WriteLine("ASN bonds aid2 found"); ProcessBondAtomIDs(1, newBondInfo); } else { Trace.TraceWarning("Skipping atom block block: " + command); SkipBlock(); } }