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

Reply via email to