eg for Ric Sherlock’s example, modified for unequal sample sizes: Apologies for non-alignment, as seen on iPad anyway.
]'X Y'=: 'actg' {~ 2 30 ?@$ 4 catctaagtcgataatccacttacttccgg cagcaaggacaggtgctaatacacactcgc [X =: 'actg' {~ 40?@$ 4 ttagcacttccctcagagttacccacactagctggtgcag fr1 each X;Y Nb. Absolute frequencies, using sorted nubs as base +---------+--------+ |9 13 8 10|10 9 7 4| +---------+--------+ rfr1 each X;Y. NB. Relative freqs +--------------------+------------------------------+ |0.225 0.325 0.2 0.25|0.333333 0.3 0.233333 0.133333| +--------------------+------------------------------+ NB. Comparisons crfr X;Y Nb. Absolute 9 13 8 10 10 9 7 4 load'~/user/temp.ijs' crfr X;Y. NB. Relative 0.225 0.325 0.2 0.25 0.333333 0.3 0.233333 0.133333 You can supply your “alphabet” as Left argument.. 'tagc' fr1 X NB. In your preferred order! 10 9 8 13 fns below sign off, Mike NB. absolute frequencies for one set fr1 =: 3 : 0 y fr1~ /:~ ~. y : alf =. x ser =. y <:@#/.~ alf, ser ) NB. relative frequencies for one set rfr1 =: (%+/)@:fr1 NB. compare frequencies cfr =: 3 : 0 y cfr~ /:~ ~.;y : alf =. x sers=. y alf&fr1 every y ) NB. compare relative frequencies crfr =: 3 : 0 y crfr~ /:~ ~.;y NB. Default base is sorted nub of all inputs. : alf =. x sers=. y alf&rfr1 every y ) Sent from my iPad NB ... lost previous posts here! ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm