data a;
input  id $ 1-7 primer $ 10-13 @ 19 bands $ 19-58;
l=length(bands);
marker_j=0;
   do until (marker_j = l);
      marker_j=marker_j+1;
      bandi=substr(bands,marker_j,1);
      if bandi='+' then bandiv=100;
      if bandi='-' then bandiv=0;
      drop gel;
   output;
  end;
cards;
7971156  ak02  1  ----+-+-+----------+--------------------
7971157  ak02  2  ----+---+-------------------------------
7971158  ak02  3  ----+-+-+-------------+-----------------
7971162  ak02  5  ------+-+-------------------------------
7971167  ak02  6  ------+-+----------+-----------------+--
7971168  ak02  7  ------+-+-------------------------------
7971169  ak02  8  ----+-+-+-------------------------------
7971171  ak02  9  ----+-+-+----------------------------+--
7971174  ak02 10  ----+-+-+-------------------------------
7971178  ak02 11  ----+-+-+-------------------------------
7971179  ak02 12  ----+---+-------------------------------
7971184  ak02 13  ----+-+-+-------------------------------
7971196  ak02  1  ----+-+-+----------------------------+--
7971198  ak02  2  ----+-+-+----------------------------+--
7971296  ak02  1  --------+-------------+--+-+------------
7971315  ak02  2  --------+------+------+--+--------------
7971317  ak02  3  --------+------+------+--+--------------
7971319  ak02  4  --------+------+------+--+----+---------
7971322  ak02  5  --------+----------------+--------------
7971324  ak02  6  --------+------+---------+----+---------
7971329  ak02  8  --------+------+----+-+--+----+---------
7971332  ak02  9  --------+-------------+--+--------------
7971334  ak02 10  --------+------+---------+----+---------
7971336  ak02 11  --------+-----+----------+----+---------
7971338  ak02 12  ------+++-------------+--+--------------
7971340  ak02 13  ----+---+-------------+--+-+------------
;
run;
proc summary NWAY;
class primer marker_j;
var bandiv;
output out=bands mean=FQ n=n;
id primer marker_j;
run;
proc sort data=bands out=bands;
by descending FQ;
run;
data bands;
set bands;
run;
proc print noobs;
run;