Macro AA_Convert_3to1Converts sequence alignment from 3-letter code to 1-letter-code. Before conversion, each code triplett has to be placed in a separate cell , e.g. by using the macro "AA_Parse_3Letter". Usage:
Sub AA_Convert_3to1() 'Converts sequence alignment from 3-letter code to 1-letter-code (for KABAT database) 'replaces input triplett by output letter => copy sheet before translating 'Color highlighting of uninterpretable data or Comment indicators If Selection.Columns.Count = 0 Then 'Error, nothing selected MsgBox Prompt:="No cells selected, please select the sequences you wish to color" Exit Sub End If 'get extent of current selection i1 = Selection.Row i2 = i1 + Selection.Rows.Count - 1 j1 = Selection.Column j2 = j1 + Selection.Columns.Count - 1 For i = i1 To i2 Step 1 For j = j1 To j2 Step 1 If (VarType(Cells(i, j)) <> 8) Then Cells(i, j) = "?" 'Cell does not contain a text string, highlight in red Cells(i, j).Select With Selection.Interior .ColorIndex = 3 .Pattern = xlSolid End With ElseIf ((Cells(i, j) Like " ") Or (Cells(i, j) Like " ") Or (Cells(i, j) Like " ")) Then Cells(i, j) = "" ElseIf Cells(i, j) Like "---" Then Cells(i, j) = "." ElseIf Cells(i, j) Like "ALA" Then Cells(i, j) = "A" ElseIf Cells(i, j) Like "ASX" Then Cells(i, j) = "B" ElseIf Cells(i, j) Like "CYS" Then Cells(i, j) = "C" ElseIf Cells(i, j) Like "ASP" Then Cells(i, j) = "D" ElseIf Cells(i, j) Like "GLU" Then Cells(i, j) = "E" ElseIf Cells(i, j) Like "PHE" Then Cells(i, j) = "F" ElseIf Cells(i, j) Like "GLY" Then Cells(i, j) = "G" ElseIf Cells(i, j) Like "HIS" Then Cells(i, j) = "H" ElseIf Cells(i, j) Like "ILE" Then Cells(i, j) = "I" ElseIf Cells(i, j) Like "LYS" Then Cells(i, j) = "K" ElseIf Cells(i, j) Like "LEU" Then Cells(i, j) = "L" ElseIf Cells(i, j) Like "MET" Then Cells(i, j) = "M" ElseIf Cells(i, j) Like "ASN" Then Cells(i, j) = "N" ElseIf Cells(i, j) Like "PRO" Then Cells(i, j) = "P" ElseIf Cells(i, j) Like "GLN" Then Cells(i, j) = "Q" ElseIf Cells(i, j) Like "ARG" Then Cells(i, j) = "R" ElseIf Cells(i, j) Like "SER" Then Cells(i, j) = "S" ElseIf Cells(i, j) Like "THR" Then Cells(i, j) = "T" ElseIf Cells(i, j) Like "VAL" Then Cells(i, j) = "V" ElseIf Cells(i, j) Like "TRP" Then Cells(i, j) = "W" ElseIf Cells(i, j) Like "TYR" Then Cells(i, j) = "Y" ElseIf Cells(i, j) Like "GLX" Then Cells(i, j) = "Z" ElseIf Cells(i, j) Like "PCA" Then Cells(i, j) = "E" 'N-terminal pyroglutamic acid ElseIf ((Cells(i, j) Like " # ") Or (Cells(i, j) Like "#")) Then 'Cells containing comment marks in KABAT Database potentially indicating insertions 'Hash mark has special significance in Excel, cannot be used, replace by "&" Cells(i, j) = "&" 'Highlight Cell: Cells(i, j).Select With Selection.Interior .ColorIndex = 4 .Pattern = xlSolid End With Else 'Unidentified, highlight cell: Cells(i, j) = "?" Cells(i, j).Select With Selection.Interior .ColorIndex = 3 .Pattern = xlSolid End With End If Next j Next i End Sub |
|
|||||||||||||||||
Last Modified by A.Honegger |