Wolfram Cloud is behaving erratically for me right now so I cannot test the cloud version. There is a typo. lrn = Length[nucNamesA]
, nucNamesA
is not defined. Here is another (I think simpler) way to create the UI for selecting nucleotides.
numButtons = Length@nucNames;
perRow = 10;
selected = {};
Dynamic@selected
Grid[
Map[Button[#, selected = If[MemberQ[selected, #], DeleteCases[selected, #], Append[selected, #]],
Appearance -> Dynamic@{"Palette", If[MemberQ[selected, #], "Pressed", "Normal"]}] &,
Partition[nucNames, UpTo@perRow], {2}],
Alignment -> {Center, Center},
Spacings -> {0, 0}]