📄 profile7.java
字号:
} public void addVerticesToVertexHash(Hashtable theVerticesHash) { for(int i = 0; i < nrVertices; i++) { Vertex v = ((Vertex)theVertices.get(i)); theVerticesHash.put(new Integer(v.getNumber()), v); } } /* adds transition from specified vertex to specified vertex */ public boolean addTransition(int fromVertex, int toVertex) { for(ListIterator i = (ListIterator)theVertices.iterator(); i.hasNext();) { Vertex v = (Vertex)i.next(); if(v.getNumber() == fromVertex) { return v.addTransition(toVertex); } } /* could not find the vertex */ P.INTERNAL_ERROR("Cluster.addTansition: vertex not in module"); return false; } /* adds transitions from all out vertices to specified vertex */ public boolean addTransition(int toVertex) { boolean res = true; for(int i = 0; i < outVertices.length; i++) { if(!theOutVertices[i].addTransition(toVertex)) { res = false; } } return res; } /* adds end transitions from all out vertices to specified vertex */ public boolean addEndTransition(int toVertex) { boolean res = true; for(int i = 0; i < outVertices.length; i++) { if(!theOutVertices[i].addEndTransition(toVertex)) { res = false; } } return res; } public void initializeTransitionProbabilities() { for(ListIterator i = (ListIterator)theVertices.iterator(); i.hasNext();) { Vertex v = (Vertex)i.next(); v.initializeTransitionProbabilities(); } } public void setDistribType(int distribType, double[] distribution) { this.distribType = distribType; for(ListIterator i = (ListIterator)theMatchVertices.iterator();i.hasNext();) { Vertex v = (Vertex)i.next(); v.setInitialEmissionProbs(distribution); } for(ListIterator i = (ListIterator)theInsertVertices.iterator();i.hasNext();) { Vertex v = (Vertex)i.next(); v.setInitialEmissionProbs(distribution); } } public void setDistribType(int nr, int distribType, double[] distribution) { switch(nr) { case 1: this.distribType = distribType; break; case 2: this.distribType_2 = distribType; break; case 3: this.distribType_3 = distribType; break; case 4: this.distribType_4 = distribType; break; } for(ListIterator i = (ListIterator)theMatchVertices.iterator();i.hasNext();) { Vertex v = (Vertex)i.next(); v.setInitialEmissionProbs(nr,distribution); } for(ListIterator i = (ListIterator)theInsertVertices.iterator();i.hasNext();) { Vertex v = (Vertex)i.next(); v.setInitialEmissionProbs(nr,distribution); } } public void setDistribType(int distribType) { this.distribType = distribType; for(ListIterator i = (ListIterator)theMatchVertices.iterator();i.hasNext();) { Vertex v = (Vertex)i.next(); v.setInitialEmissionProbs(distribType); } for(ListIterator i = (ListIterator)theInsertVertices.iterator();i.hasNext();) { Vertex v = (Vertex)i.next(); v.setInitialEmissionProbs(distribType); } } public void setDistribType(int nr, int distribType) { switch(nr) { case 1: this.distribType = distribType; break; case 2: this.distribType_2 = distribType; break; case 3: this.distribType_3 = distribType; break; case 4: this.distribType_4 = distribType; break; } for(ListIterator i = (ListIterator)theMatchVertices.iterator();i.hasNext();) { Vertex v = (Vertex)i.next(); v.setInitialEmissionProbs(nr,distribType); } for(ListIterator i = (ListIterator)theInsertVertices.iterator();i.hasNext();) { Vertex v = (Vertex)i.next(); v.setInitialEmissionProbs(nr,distribType); } } public void setPriorfile(String priorfile) { this.priorfile = priorfile; } public void setPriorfile(int nr, String priorfile) { switch(nr) { case 1: this.priorfile = priorfile; break; case 2: this.priorfile_2 = priorfile; break; case 3: this.priorfile_3 = priorfile; break; case 4: this.priorfile_4 = priorfile; } } public void setTransPriorfile(String priorfile) { this.transPriorfile = priorfile; } public void setInternalInitDistrib(InternalInitDistrib iid) { /* not implemented for this module */ } public boolean write(BufferedWriter writer) { try { String s = "Module: " + name + "\n"; s = s + "Type: Profile7\n"; s = s + "NrVertices: " + nrVertices + "\n"; s = s + "Emission prior file: " + priorfile + "\n"; s = s + "Transition prior file: " + transPriorfile + "\n\n"; writer.write(s); int v_nr = 0; for(ListIterator li = (ListIterator)theVertices.iterator(); li.hasNext(); v_nr++) { Vertex v = (Vertex)li.next(); s = "Vertex " + v.getNumber() + ":\n"; s = s + "Vertex type: " + v.typeAsString() + "\n"; s = s + "Vertex label: " + v.getLabel() + "\n"; s = s + "Transition prior scaler: " + v.getTransPriorScaler() + "\n"; s = s + "Emission prior scaler: " + v.getEmissPriorScaler() + "\n"; s = s + "Nr transitions = " + v.getNrOfTransitions() + "\n"; s = s + "Nr end transitions = " + v.getNrOfEndTransitions() + "\n"; s = s + "Nr emissions = " + HMM.alphabet.length + "\n"; s = s + "Transition probabilities\n"; writer.write(s); for(ListIterator i = v.getTransitions(); i.hasNext();) { Transition t = (Transition)i.next(); s = "\tVertex " + t.toVertex + ": " + t.probability + "\n"; writer.write(s); } s = "End transition probabilities\n"; writer.write(s); for(ListIterator i = v.getEndTransitions(); i.hasNext();) { Transition t = (Transition)i.next(); s = "\tVertex " + t.toVertex + ": " + t.probability + "\n"; writer.write(s); } s = "Emission probabilities\n"; writer.write(s); for(int i = 0; i < HMM.alphabet.length; i++) { s = "\t" + HMM.alphabet[i] + ": " + v.getEmissionProb(i) + "\n"; writer.write(s); } s = "\n"; writer.write(s); } s = "-------------------------------------------------------\n"; writer.write(s); return true; } catch (IOException e) { return false; } } public boolean write(int nrOfAlphabets, BufferedWriter writer) { try { String s = "Module: " + name + "\n"; s = s + "Type: Profile7\n"; s = s + "NrVertices: " + nrVertices + "\n"; if(nrOfAlphabets == 1) { s = s + "Emission prior file: " + priorfile + "\n"; } else { s = s + "Emission prior file 1: " + priorfile + "\n"; s = s + "Emission prior file 2: " + priorfile_2 + "\n"; if(nrOfAlphabets > 2) { s = s + "Emission prior file 3: " + priorfile_3 + "\n"; } if(nrOfAlphabets > 3) { s = s + "Emission prior file 4: " + priorfile_4 + "\n"; } } s = s + "Transition prior file: " + transPriorfile + "\n\n"; writer.write(s); int v_nr = 0; for(ListIterator li = (ListIterator)theVertices.iterator(); li.hasNext(); v_nr++) { Vertex v = (Vertex)li.next(); s = "Vertex " + v.getNumber() + ":\n"; s = s + "Vertex type: " + v.typeAsString() + "\n"; s = s + "Vertex label: " + v.getLabel() + "\n"; s = s + "Transition prior scaler: " + v.getTransPriorScaler() + "\n"; if(nrOfAlphabets == 1) { s = s + "Emission prior scaler: " + v.getEmissPriorScaler() + "\n"; } else { s = s + "Emission prior scaler 1: " + v.getEmissPriorScaler(1) + "\n"; s = s + "Emission prior scaler 2: " + v.getEmissPriorScaler(2) + "\n"; if(nrOfAlphabets > 2) { s = s + "Emission prior scaler 3: " + v.getEmissPriorScaler(3) + "\n"; } if(nrOfAlphabets > 3) { s = s + "Emission prior scaler 4: " + v.getEmissPriorScaler(4) + "\n"; } } s = s + "Nr transitions = " + v.getNrOfTransitions() + "\n"; s = s + "Nr end transitions = " + v.getNrOfEndTransitions() + "\n"; if(nrOfAlphabets == 1) { s = s + "Nr emissions = " + HMM.alphabet.length + "\n"; } else { s = s + "Nr emissions 1 = " + HMM.alphabet.length + "\n"; s = s + "Nr emissions 2 = " + HMM.alphabet_2.length + "\n"; if(nrOfAlphabets > 2) { s = s + "Nr emissions 3 = " + HMM.alphabet_3.length + "\n"; } if(nrOfAlphabets > 3) { s = s + "Nr emissions 4 = " + HMM.alphabet_4.length + "\n"; } } s = s + "Transition probabilities\n"; writer.write(s); for(ListIterator i = v.getTransitions(); i.hasNext();) { Transition t = (Transition)i.next(); s = "\tVertex " + t.toVertex + ": " + t.probability + "\n"; writer.write(s); } s = "End transition probabilities\n"; writer.write(s); for(ListIterator i = v.getEndTransitions(); i.hasNext();) { Transition t = (Transition)i.next(); s = "\tVertex " + t.toVertex + ": " + t.probability + "\n"; writer.write(s); } if(nrOfAlphabets == 1) { s = "Emission probabilities\n"; writer.write(s); for(int i = 0; i < HMM.alphabet.length; i++) { s = "\t" + HMM.alphabet[i] + ": " + v.getEmissionProb(i) + "\n"; writer.write(s); } s = "\n"; writer.write(s); } else { s = "Emission probabilities 1\n"; writer.write(s); for(int i = 0; i < HMM.alphabet.length; i++) { s = "\t" + HMM.alphabet[i] + ": " + v.getEmissionProb(1,i) + "\n"; writer.write(s); } s = "\n"; writer.write(s); s = "Emission probabilities 2\n"; writer.write(s); for(int i = 0; i < HMM.alphabet_2.length; i++) { s = "\t" + HMM.alphabet_2[i] + ": " + v.getEmissionProb(2,i) + "\n"; writer.write(s); } s = "\n"; writer.write(s); if(nrOfAlphabets > 2) { s = "Emission probabilities 3\n"; writer.write(s); for(int i = 0; i < HMM.alphabet_3.length; i++) { s = "\t" + HMM.alphabet_3[i] + ": " + v.getEmissionProb(3,i) + "\n"; writer.write(s); } s = "\n"; writer.write(s); } if(nrOfAlphabets > 3) { s = "Emission probabilities 4\n"; writer.write(s); for(int i = 0; i < HMM.alphabet_4.length; i++) { s = "\t" + HMM.alphabet_4[i] + ": " + v.getEmissionProb(4,i) + "\n"; writer.write(s); } s = "\n"; writer.write(s); } } } s = "-------------------------------------------------------\n"; writer.write(s); return true; } catch (IOException e) { return false; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -