# PF00501 in Pfam 30.0 has 3560 columns, 423 sin inserts
@benchgroup "filtercolumns" ["IO", "Pfam", "MSA"] begin

    seq = replace("""
    ........................................................................................
    ........................................................................................
    .m-----.----...--.---..--..........................-------....-..-..-.....-....-....-...
    ......-....-....-....-.....-.......-........-..........-........-..............-....-...
    ............-........G..............V......E.............K.............G.........D.I....
    ...............I.G.......L....K..........G...................R....N........V............
    .P......E..............W.....L.........I..A......D.L.......G..V...Q.........M.....A.....
    ..........G...G......C....S.....L.....N......L.P.Y......................................
    ........Q.Q..K.E..................E...I.....M...V...D.......L.....L....H......E.....I...
    ....G.......T.......-....-....--..........................--..........................-.
    -.--..-..-.......--..-....-.....-.....-.....-......-......-.........-......-........-...
    ....-.....-........-......-........-.......-.......-.......-.........-......-......-....
    ....-....-........-..........-......-........-....-...-..-..-.-.-..-.--.---........---..
    ........................................................................................
    .........................................----.-.--.-......-.-.-.-...-....-.....-...-....
    ..-............-...............-...........-.......-...........-......-.........-.......
    ...-............-...............-.................-.......-.....-.....-...---...........
    ...........--.-.--.-.--.........----.......--..-.--.....................................
    ...--...-.-....--..-....-..-...-...-....-..-....-..-..................-....-....-.-...-.
    ...-....-............-..........-.....-..........-.........-......-............-......-.
    ...-.....-.......-............-.......-...........-......-......-....--..........----...
    ..........................-..-.-..-.........-...........-.........-...........-.........
    -......-.......-.........-......-...-...-..........-...-....-..--..--...................
    ..........--..-.-.---..-.............-----..............................................
    .....................................................................................---
    ...................................-...--..-............................................
    ........................................................................................
    .............................................-.....-...........................-.......-
    -..-...-...-....-....-......-.........-..-...-...-..-..-..-.----........................
    ...................--.-..-..-.-....-..........-.....-.-.-----........--.................
    ...............................................................---.---.-...-...-.-.-....
    .-...-.....-........................--.....-....................................-....-..
    -...-...-..-......-....-..............-.....-.......-........-.......-...-..-.-......-..
    ......................................................--.--..........-.-.............-..
    -..........-....-.....-..-.............-.................-..-............-.............-
    ......-....-.........-...-..................-...--...................-...-..-..-...--..-
    .......................................................-....--..-.-...-...-...-..-..---.
    ...-..-..............-..........-...-................................-...-....-.-..-..-.
    -.-...-..-..-----vvys...................................................................
    ........................................................................................
    ........................................
    """, '\n' => "")

    annot = Annotations()
    setannotresidue!(annot, "K1PKS6_CRAGI/1-58", "SEQ", seq)

    mask = convert(BitArray, Bool[isuppercase(char) || char == '-' for char in seq])
    indexes = collect(1:length(seq))[mask]

    @bench "boolean mask" filtercolumns!(copy($annot), $mask)
    @bench "index array"  filtercolumns!(copy($annot), $indexes)
end
