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;