Parse output.pl

From Bioinformatikpedia
Revision as of 16:34, 5 May 2013 by Kalemanovm (talk | contribs)

You can find the script parse_output.pl here on biocluster: /mnt/home/student/kalemanovm/master_practical/Assignment2_Alignments/scripts/task1. The usage of the script till now is parsing of (Psi-)BLAST and HHblits hhr output files:

Usage: perl parse_output.pl --out_h <hhblits hhr file> [--out_p <(psi-)blast output file>]
Optional parameters:
--pdb70, if HHblits was done against pdb70
--pdb_full, if HHblits was done against pdb_full

Note:

  • The flag --pdb_full must be given if HHblits run was performed against the pdb_full database and --pdb70 must be given if the clustered pdb70 database was used. If uniprot20 was used, no extra flag has to be given. It is because the databases have different formats of headers of the cluster master sequences, where the IDs of cluster members are listed (and for pdb70 an extra mapping must be used).
  • For (Psi-)BLAST, outputs of searches in big and big80 can be parsed (no flags required).
  • As Psi-BLAST output file contains results for each iteration, it must be devided according to iterations before, which can easily be done with the script devide_psiblast_out.pl (found in the same directory). For example, if the original output file psiblast-big-2iter has results from two iterations, if will be split into two files psiblast-big-2iter_1 (first iteration) and psiblast-big-2iter_2 (second iterations). The files will be written into the same directory. Then you can be parse the iteration you need with parse_output.pl.
Usage: perl devide_psiblast_out.pl <psiblast output file>

The output of parse_output.pl is a tab-separated file with the columns:

  • id
  • evalue
  • identity
  • similarity
  • length
  • score
  • probabilty (only for HHblits)

The number of found hits is outputted onto stdout. If both HHblits and (Psi-)BLAST files are given, the overlap of hits with the same ID is calculated.
Note: The script "filters the duplicates": if more than one HSPs with the same ID are found in one output file, only one HSP with the lowest E-value is taken (for both the calculations and the output).

For evaluation of PDB hits against COPS and creation of files for plotting these additional parameters should be given:

Mandatory:
--query <query (equivalent) PDB chain> for validation - results must contain PDB hits!
--sot <standard of truth COPs group: L30, L40 or L60>
Optional:
--e <evalue cutoff for inclusion in the evaluation>

Output:

  • stdout:
Number of hits (L30, L40, L60)
True positives (= TP; same ".$sot.")
False positives (= FP; different ".$sot.")
Predicted positives (= TP+FP)
Positives (= TP+FN)
precision TP/(TP+FP)
sensitivity(TPR) = TP/(TP+FN)					
  • files:
_L60, _L40, _L30, _NoL30 (#query_id  hit_id  evalue  identity  length)
_LXX_TP_FP (#evalue  TP/FP  query_id  hit_id)
_LXX_positives (#query_id  positives  predicted_positives)