Demonstrate to yourself that scoring matrices have different target identities and alignment lengths.
On fasta.bioch.virginia.edu/mol_evol/data are sets of results from either SSEARCH or BLASTP searching either a 200 or 800 amino acid random protein sequence against the QFO78 library of 78 Uniprot Reference Proteomes.
Your goal this afternoon will be to write a script that reads each of the sets of data from either the SSEARCH or BLASTP outputs and produces a table with each of the scoring matrices as row, and the percent identity, alignment length, and E()-values for columns, for the top hit from each of the searches.
Download a set of SSEARCH or BLASTP results.
Write a program that will take take an argument from the command line, which you can use to specify either rand5-200 or rand5-800, and concatenate it with a scoring matrix name (BL50, BP62, etc. for SSEARCH, BLOSUM62, BLOSUM80, etc. for BLASTP, so that you can open and each result file and associate the results with a scoring matrix.
skip lines beginning with "#"
As soon as you have a result line, save this_data, close the file, and move to the next result file.
Save the results in a dictionary using the matrix name as the key, and then print out the values you want ('percid', 'alen', and 'evalue').
Does the alignment length, percent identity, or evalue depend on the query sequence length?
Compare the SSEARCH results with the BLAST results. Which program gives a better range of alignment lengths and percent identities?