IntroductionNumberingSequencesStructuresModellingMacrosPublicationsLinks
ColoringSequence StatisticsRenumberingAccessibilityTorsion AnglesStructural VariabilityHydrogen BondsDownloads

Macro PDB_ExtractSeq

xxx.

Usage:

  • xxx
  • xxx

Cauton:

xxx

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
AAAAA Homepage Zürich University Dept. of Biochemistry Plückthun Group Annemarie Honegger

Last Modified by A.Honegger Wednesday, January 26, 2005