Macro PDB_ExtractSeqxxx. Usage:
Cauton:
Sub PDB_ExtractSeq() ' Assumption: Sheet "SEQ" contains sequence labels in first row, ' starting in the fourth column, with no gaps (empty cell signals end of the table), ' followed by residue labels (3-letter-code in a vertical table); ' as defined by "PDB_CollectData" ' Converts this to alignment format (1-letter-code in horizontal table, ' max. 250 residues/line) '!!!Does not work right if multiple conformations are given for a single residue!!! Worksheets("Files").Activate Sheets.Add ActiveSheet.Name = "Alig" Sheets("Alig").Select Cells.Select Selection.ColumnWidth = 1 Columns("A:A").Select Selection.ColumnWidth = 15 For i = 1 To 250 Step 1 If IsEmpty(Sheets("Files").Cells(i, 1)) Then Exit For ' no more sequences Sheets("Alig").Cells(i + 3, 1) = Sheets("SEQ").Cells(1, i + 3) ' copy sequence name For j = 3 To 250 Step 1 If IsEmpty(Sheets("SEQ").Cells(j, i + 3)) Then Exit For ' sequence finished, go to next sequence AA = Sheets("SEQ").Cells(j, i + 3) ' get amino acid and translate If ((AA Like "") Or (AA Like " ") Or (AA Like ".")) Then AA = "." ElseIf AA Like "ALA" Then AA = "A" ElseIf AA Like "CYS" Then AA = "C" ElseIf AA Like "ASP" Then AA = "D" ElseIf AA Like "GLU" Then AA = "E" ElseIf AA Like "PHE" Then AA = "F" ElseIf AA Like "GLY" Then AA = "G" ElseIf AA Like "HIS" Then AA = "H" ElseIf AA Like "ILE" Then AA = "I" ElseIf AA Like "LYS" Then AA = "K" ElseIf AA Like "LEU" Then AA = "L" ElseIf AA Like "MET" Then AA = "M" ElseIf AA Like "ASN" Then AA = "N" ElseIf AA Like "PRO" Then AA = "P" ElseIf AA Like "GLN" Then AA = "Q" ElseIf AA Like "ARG" Then AA = "R" ElseIf AA Like "SER" Then AA = "S" ElseIf AA Like "THR" Then AA = "T" ElseIf AA Like "VAL" Then AA = "V" ElseIf AA Like "TRP" Then AA = "W" ElseIf AA Like "TYR" Then AA = "Y" ElseIf AA Like "ASX" Then AA = "B" ElseIf AA Like "GLX" Then AA = "X" Else: AA = "?" End If Sheets("Alig").Cells(i + 3, j) = AA Next j Next i End Sub |
|
|||||||||||||||||
Last Modified by A.Honegger |