/** * create a new vertex, with the exact same name and weights, and only the depth is like the old * one + its length * * @param id * @param v */ public SeqVertex(int id, SeqVertex v) { this(id, v.getName()); int len = v.getWeights().size(); _weights.ensureCapacity(len); for (int i = 0; i < len; i++) _weights.add(i, v.getWeights().get(i)); _depth = v.getDepth() + v.getName().length(); }
/* * add the given vertex info into this vertex * combine name and weights */ public void concatVertex(SeqVertex vertex, Double w, int lastRealID) { int prevLen = getName().length(); setName(getName() + vertex.getName()); _weights.add(w); _weights.addAll(vertex.getWeights()); // System.out.println(toStringWeights()); Vector<Integer> newV = new Vector<Integer>(); if (vertex.getID() <= lastRealID) { newV.add(vertex.getID()); _prevVerticesID.add(newV); } _prevVerticesID.addAll(vertex.getPrevVerIDs()); if (vertex.getDegenerativeFreq().size() > 0) { // System.err.println(vertex.getID()+":"+vertex.getDegenerativeFreq()); // System.err.println(vertex.getID()+":"+vertex.getDegenerativeLocations()); // System.err.println(vertex.getID()+":"+vertex.getDegenerativeLetters()); // System.err.println(getID()+":"+getName()); // System.err.println(prevLen); _degenerativeLocations.add(prevLen + 1); _degenerativeFreq.addAll(vertex.getDegenerativeFreq()); _degenerativeLetters.addAll(vertex.getDegenerativeLetters()); } }
/** * add the name of v1 to this name * * @param v1 */ public void addToName(SeqVertex v1) { _name = _name + v1.getName(); }