Use File::Find and the file test operators to find the oldest and largest files on the hard drive of your computer. (You can delete them or store them elsewhere if you're running short on disk space.)
Find all the Perl programs on your computer.
Hint: Use File::Find. What do all Perl programs have in common?
Parse the HEADER, TITLE, and KEYWORDS record types of all PDB files on your computer. Make a hash with key as a word from those record types and value as a list of filenames that contained that word. Save it as a DBM file and build a query program for it. In the end, you should be able to ask for, say, sugar, and get a list of all PDB files that contain that word in the HEADER, TITLE, or KEYWORDS records.
Parse out the record types of a PDB file using regular expressions (as used in Chapter 10) instead of iterating through an array of input lines (as in this chapter.)
Write a program that extracts the secondary structure information contained in the HELIX, SHEET, and TURN record types of PDB files. Print out the secondary structure and the primary sequence together, so that it's easy to see by what secondary structure a given residue is included. (Consider using a special alphabet for secondary structure, so that every residue in a helix is represented by H, for example.)
Write a program that finds all PDB files under a given folder and runs a program (such as stride, or the program you wrote in Exercise 11.5) that reports on the secondary structure of each PDB file. Store the results in a DBM file keyed on the filename.
Write a subroutine that, given two strings, prints them out one over the other, but with line breaks (similar to the stride program output). Use this subroutine to print out the strings from Example 11-7.
Write a recursive subroutine to determine the size of an array. You
may want to use the pop
or unshift
functions. (Ignore the fact that
the scalar @
array returns the size
of @array
!)
Write a recursive subroutine that extracts the primary amino acid sequence from the SEQRES record type of a PDB file.
(Extra credit) Given an atom and a distance, find all other atoms in a PDB file that are within that distance of the atom.
(Extra credit) Write a program to find some correlation between the primary amino acid sequence and the location of alpha helices.