Mercurial > repos > rliterman > csp2
view CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/opt/bbmap-39.01-1/current/kmer/KmerBuffer.java @ 68:5028fdace37b
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 16:23:26 -0400 |
parents | |
children |
line wrap: on
line source
package kmer; import structures.ByteBuilder; import structures.IntList; import structures.LongList; /** * @author Brian Bushnell * @date Jul 30, 2015 * */ public class KmerBuffer { public KmerBuffer(int buflen, int k_, boolean initValues){ k=k_; kmers=new LongList(buflen); values=(initValues ? new IntList(buflen) : null); } public int add(long kmer){ assert(values==null); kmers.add(kmer); assert(values==null); return kmers.size; } public int addMulti(long kmer, int times){ assert(values==null); for(int i=0; i<times; i++){kmers.add(kmer);} assert(values==null); return kmers.size; } public int add(long kmer, int value){ kmers.add(kmer); values.add(value); assert(values.size==kmers.size); return kmers.size; } public void clear(){ kmers.clear(); if(values!=null){values.clear();} } //Returns raw size of kmers array, rather than actual number of kmers final int size(){return kmers.size;} @Override public String toString(){ ByteBuilder bb=new ByteBuilder(); for(int i=0; i<kmers.size; i++){ if(i>0){bb.append(',');} bb.appendKmer(kmers.get(i), k); } return bb.toString(); } private final int k; final LongList kmers; final IntList values; }