Confirming Mike's assertion... load 'stats' $'acgt' {~ 3 permrep 4 64 3
On Sun, 13 Oct 2019, 11:59 'Jim Russell' via Programming, < programm...@jsoftware.com> wrote: > Only 64? So worst case ascii text summaries would be 64^ 3 rows? > > > On Oct 12, 2019, at 6:36 PM, 'Mike Day' via Programming < > programm...@jsoftware.com> wrote: > > > > Yes, that’s me. > > > > Sorry about the “Nb”s ... I was adding comments and trying to make the > lines runnable. > > > > I should have said that I wrote these example functions just for this > discussion. They’re not well tested, nor, likely/possibly, proof against > edge conditions such as empty datasets. > > > > BTW, I guess the “alphabet” for trigrams of DNA sequences has 4^3 = 64 > elements. > > > > Mike > > > > > > > > Sent from my iPad > > > >>> On 12 Oct 2019, at 21:00, 'Jim Russell' via Programming < > programm...@jsoftware.com> wrote: > >>> > >>> > >>> > >>>> On Oct 12, 2019, at 1:52 PM, 'Mike Day' via Programming < > programm...@jsoftware.com> wrote: > >>> > >>> Sorry, I wasn’t considering trigrams in my off the cuff stuff, > >>> > >>> Mike > >> > >> Thanks Mike (Day?). Can’t always tell with fourm replies until I reply… > >> > >> I appreciate (and am still studying) your stuff, and learning a lot > from all these exchanges. I converted your reply to a script also, and so > far have {with my comments enclosed like this}: > >> > >> NB.> eg for Ric Sherlock’s example, modified for unequal sample sizes: > >> NB.> Apologies for non-alignment, as seen on iPad anyway. > >> > >> NB. {Defs moved to front, earlier results commented, and expected to > >> NB. change -- due to ?, but kept to sompare shape and type.} > >> NB. {Still trying to understand the monad/duad stuff...} > >> NB. {Changed a couple of Nb.'s t0 NB.} > >> > >> 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 > >> ) > >> ]'X Y'=: 'actg' {~ 2 30 ?@$ 4 > >> tttgcctataaacaatgcagaccagcacgt > >> ggcttcaacgactccagagtcttgctgagt > >> NB.catctaagtcgataatccacttacttccgg > >> NB.cagcaaggacaggtgctaatacacactcgc > >> [X =: 'actg' {~ 40?@$ 4 > >> attaggtgccgacagaagtggccaacctcatcgacaaagg > >> NB.ttagcacttccctcagagttacccacactagctggtgcag > >> [each NB. in Z? > >> [&.> > >> fr1 each X;Y NB. Absolute frequencies, using sorted nubs as base > >> +----------+-------+ > >> |13 10 11 6|6 8 8 8| > >> +----------+-------+ > >> NB.+---------+--------+ > >> NB.|9 13 8 10|10 9 7 4| > >> NB.+---------+--------+ > >> rfr1 each X;Y NB. Relative freqs > >> +---------------------+------------------------------+ > >> |0.325 0.25 0.275 0.15|0.2 0.266667 0.266667 0.266667| > >> +---------------------+------------------------------+ > >> NB.+--------------------+------------------------------+ > >> NB.|0.225 0.325 0.2 0.25|0.333333 0.3 0.233333 0.133333| > >> NB.+--------------------+------------------------------+ > >> NB. Comparisons > >> crfr X;Y NB. Absolute > >> 0.325 0.25 0.275 0.15 > >> 0.2 0.266667 0.266667 0.266667 > >> NB.9 13 8 10 > >> NB.10 9 7 4 > >> NB. load'~/user/temp.ijs' > >> crfr X;Y NB. Relative > >> 0.325 0.25 0.275 0.15 > >> 0.2 0.266667 0.266667 0.266667 > >> NB. 0.225 0.325 0.2 0.25 > >> NB.0.333333 0.3 0.233333 0.133333 > >> NB.You can supply your “alphabet” as Left argument.. > >> 'tagc' fr1 X NB. In your preferred order! > >> 6 13 11 10 > >> NB.10 9 8 13 > >> NB.fns below sign off,{now moved to front} > >> NB.Mike > >> NB. > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm