thanks to all, then something as:
-----------------------------------
Tuple!(size_t[char],size_t) baseCounter( const ref string[] sequences ){
        alias Tuple!(size_t[char], size_t) Result;
        Result result;
        size_t         length       = 0;
size_t[char][] baseNumbers = new size_t[char][](sequences.length);
        foreach(index, ref seq; parallel(sequences)){
            foreach(ref letter; seq ){
if( letter in baseNumbers[index]) baseNumbers[index][letter]++;
                else baseNumbers[index][letter] = 1;
            }
            length += seq.length;
        }
        foreach(baseNumber; baseNumbers){
            foreach( key, value; baseNumber ){
                if( key in result[0] ) result[0][key] += value;
                else result[0][key] = value;
            }
        }
        result[1] = length;
        return result;
    }
-----------------------------------

same code with highlight http://pastebin.com/pVEuWwgr
should be faster, no ?
This code is generic and should be able to count for any letter the frequencies

Reply via email to