==== BADASP ==== BADASP can produce different measures: * bad: similar the **Type II** of functional divergence. The threshold to choose depend if we want to be stringeant (i.e. BAD > 4) or more relaxed (BAD > 2). * badn = BADN variant of BAD: similar the **Type I** of functional divergence, between __two__ groups. * badx = BADX variant of BAD: similar the **Type II** of functional divergence, between __many__ groups. * ssc = Livingstone & Barton method (SSC) => doesn't use ancestral reconstruction. Was developed prior to BAD. * pdad = Property Difference After Duplication (PDAD) method * eta = Basic Evolutionary Trace Analysis (ETA) => Strictly conserved residues = 1, else = 0. * etaq = Quantitative variant of ETA All these methods are described in details in the manual, **chapter 3.1: Functional Specificity Prediction**. === Installation === Download the badasp archive and unzip it: [[http://www.southampton.ac.uk/~re1u06/software/badasp/index.html]] wget http://www.southampton.ac.uk/~re1u06/software/downloads/badasp.zip unzip badasp.zip === Analysis of the V-type proton ATPase 116 kDa subunit a gene family === We want to identify the residues making differences between the **isoforms 1** and **isoforms 4** of the V-type proton ATPase 116 kDa subunit a. First, visualise briefly the multiple alignment in Jalview. (File "badasp_eg.fas" in the badasp folder. Execute **badasp** by importing the multiple alignment in FASTA format ("badasp_eg.fas") and activating the interactive mode (i=1): cd ./badasp # Folder of installation python badasp.py seqin=badasp_eg.fas i=1 Badasp will ask for the associated tree, in newick format ("badasp_eg.nsf"): Looking for treefile badasp_eg.nsf. Tree: ['seqin=badasp_eg.fas', 'i=1', 'nsfin=badasp_eg.nsf'] to continue => nsfin=badasp_eg.nsf => Press enter Display Tree, with two groups of sequences: V-type proton ATPase 116 kDa subunit a * VPP1 = VPP Isoform 1 (8 genes) * NVL = VPP Isoform 4 (3 genes) Rooted Tree (1000 bootstraps). Branch Lengths given. 21 nodes. to continue. => Press enter Tree is rooted at node 21 => perfect => Press 0, then enter. *** Tree Menu *** Sequence Data are already imported => we quit the menu. Choice [default=Q]: q Quit Tree Menu? (y/n) [default=Y]: y The tree is now loaded and we need to define the two groups to analyse: #*# Grouping Summary #*# Currently 0 groups. (11 Orphans) => Press enter # We need to split the tree on the node 21, # so we need to define two groups from the children nodes 20 (= VPP1 subfamily) and 19 (= VPP4 subfamily) . => Press M, then enter. # Manual grouping (Tree displayed) Choice? [default=Q]: c # We collapse nodes Node [default=0]: 20 => Type VPP1, then Press enter Choice? [default=Q]: c # We collapse nodes Node [default=0]: 19 => Type VPP4, then Press enter Choice? [default=Q]: Q, then enter # We collapse node Quit Tree Edit? (y/n) [default=Y]: y #*# Grouping Summary #*# ENTER> to continue. Choice for Grouping? [default=K]: K, then enter Keep Groups? (y/n) [default=Y]: Y, then enter Save groups? (y/n) [default=Y]: y Name of Groupfile? [default=badasp_eg.grp]: enter Write Group Names? (y/n) [default=N]: N Use badasp_eg for output filenames? (y/n) [default=Y]: enter Use these parameters? (y/n) [default=Y]: enter Badasp will now perform some computations. It will reconstruct the ancestral sequences at each node of the tree, using GASP (ref: http:dx.doi.org/10.1186/1471-2105-5-123 ) Making Ancestral Sequences - Variable PAM Weighting Reading PAM1 matrix from jones.pam # #Start computing Saving Ancestral Sequences in badasp_eg.anc.fas... to continue. Method BADX needs query but none given. Drop BADX from specificity methods? (y/n) [default=Y]: n Method BADX needs query but none given. Use sequence 1 (vpp1_HUMAN/Q8N5G7)? (y/n) [default=N]: y Calculating ['BAD', 'BADN', 'BADX', 'SSC', 'PDAD', 'ETA', 'ETAQ'] scores... (849 residues) ...win(0) to continue. ...Done! to continue. ...win(0) to continue. # (many times !) Now, Badasp will ask you the kind of output you want. Let's say yes to everything. Output additional, filtered results? (y/n) [default=N]: y Name for partial results file? [default=badasp_eg.partial.badasp]: enter Output subfam 1 (VPP4) details (pos,aa & win)? (y/n) [default=Y]: y Output subfam 2 (VPP1) details (pos,aa & win)? (y/n) [default=Y]: y Output BAD results? (y/n) [default=Y]: Output BADN results? (y/n) [default=Y]: y Output BADX results? (y/n) [default=Y]: y Output SSC results? (y/n) [default=Y]: y Output PDAD results? (y/n) [default=Y]: y Output ETA results? (y/n) [default=Y]: y Output ETAQ results? (y/n) [default=Y]: y Output Info results? (y/n) [default=Y]: y Output PCon_Abs results? (y/n) [default=Y]: y Output PCon_Mean results? (y/n) [default=Y]: y Output QPCon_Mean results? (y/n) [default=Y]: y Output QPCon_Abs results? (y/n) [default=Y]: y Filter Rows by Results VALUES? (y/n) [default=Y]: y Min. value for BAD? [default=-6.708333]: => New value = "-6.708333"? (y/n) [default=Y]: Min. value for BADN? [default=-6.708333]: => New value = "-6.708333"? (y/n) [default=Y]: Min. value for BADX? [default=-3.500000]: => New value = "-3.500000"? (y/n) [default=Y]: Min. value for SSC? [default=0.000000]: => New value = "0.000000"? (y/n) [default=Y]: Min. value for PDAD? [default=-0.297619]: => New value = "-0.297619"? (y/n) [default=Y]: Min. value for ETA? [default=0.000000]: => New value = "0.000000"? (y/n) [default=Y]: Min. value for ETAQ? [default=0.000000]: => New value = "0.000000"? (y/n) [default=Y]: Min. value for Info? [default=0.424111]: => New value = "0.424111"? (y/n) [default=Y]: Min. value for PCon_Abs? [default=1.000000]: => New value = "1.000000"? (y/n) [default=Y]: Min. value for PCon_Mean? [default=5.000000]: => New value = "5.000000"? (y/n) [default=Y]: Min. value for QPCon_Mean? [default=9.375000]: => New value = "9.375000"? (y/n) [default=Y]: Min. value for QPCon_Abs? [default=0.000000]: => New value = "0.000000"? (y/n) [default=Y]: BADASP Partial Results Output (badasp_eg.partial.badasp) ... Done! #LOG 00:23:06 BADASP V:1.3 End: Thu Sep 6 13:59:24 2012 === Analysis === Open the file in your spreadsheet (or cut&space). The columns are separated by a tab. Color the "BAD", "BADN" and "BAD" columns with a conditional formating, with value > 3. == In Jalview: == Load multiple alignment: badasp_eg.fas Load tree: badasp_eg.nsf Put a vertical line a the root of the tree to split the tree in two. Some sites are interesting, i.e.: * Positon 3 BAD * Position 762 BAD * Position 223 BADX There are only three genes in the group de VPP4, that explains why the BADX score are very close to the BAD score.