The program must use the file named on the command line as its input file. Suppose the program is named pdbtool. Then if the user types pdbtool 1A36.pdb the program must read the data in 1A36.pdb. If the file argument is missing, or if the file does not exist or cannot be opened for reading, the program should quit with an appropriate error message. The program should be robust enough that if the file is not a PDB file, it will not crash. This will require no extra effort if the program is designed to look only for the ATOM and HETATM records in the file. The program can assume that all ATOM records are in the correct format; it does not have to check that the lines follow that format.
The program should read the data in the PDB file, and for each distinct atom in the file, store a record for that atom in an array of atom records. The program can assume that the file contains only a single model, and that each ATOM record in the file identifies a distinct atom. For each atom, the program will need to store:
_ The atom's serial number
_ The three-letter name of the amino acid to which it belongs (e.g., ARG)
_ The atom's three coordinates (x,y,z)
_ The atom's one- or two-letter element name (e.g. C, O, N, Na)
After reading all of the data the program must display a message indicating how many atom records were created, such as 5285 atoms recorded.
The program will prompt the user to enter a command, with a short and simple prompt such as
The user will be allowed to enter one of the following commands:
If the user enters _freq_ the program displays, for each distinct element in the _le, a line of the form element: n where n is the number of atoms of that element. Sample output could be same.