📄 standardtmhmmcreator.java
字号:
m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[4]); m = modelmaker.getModule("outglob24"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[4]); m = modelmaker.getModule("outglob25"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[4]); m = modelmaker.getModule("outglob26"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[4]); m = modelmaker.getModule("outglob27"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[4]); m = modelmaker.getModule("outglob28"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[4]); m = modelmaker.getModule("outglob29"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[4]); } if(priorfiles.size() >= 3 && !((String)priorfiles.get(2)).equals("null")) { String prifile = ((String)priorfiles.get(2)); double priScaler = Double.parseDouble(((String)priorScalers.get(2))); modelmaker.addPriorfile(prifile); Module m = modelmaker.getModule("out10"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out11"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out12"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out13"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out14"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out15"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out16"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out17"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out18"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out19"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out20"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out21"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out22"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out23"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out24"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out25"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out26"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out27"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out28"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); m = modelmaker.getModule("out29"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[5]); } if(priorfiles.size() >= 4 && !((String)priorfiles.get(3)).equals("null")) { String prifile = ((String)priorfiles.get(3)); double priScaler = Double.parseDouble(((String)priorScalers.get(3))); modelmaker.addPriorfile(prifile); Module m = modelmaker.getModule("ohelixo2"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); m = modelmaker.getModule("ohelixo2"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); m = modelmaker.getModule("ohelixo3"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); m = modelmaker.getModule("ohelixo4"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); m = modelmaker.getModule("ohelixo5"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); m = modelmaker.getModule("ohelixo6"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); m = modelmaker.getModule("ohelixo7"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); m = modelmaker.getModule("ihelixo1"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); m = modelmaker.getModule("ihelixo2"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); m = modelmaker.getModule("ihelixo3"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); m = modelmaker.getModule("ihelixo4"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); m = modelmaker.getModule("ihelixo5"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); m = modelmaker.getModule("ihelixo6"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); m = modelmaker.getModule("ihelixo7"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[2]); } if(priorfiles.size() >= 5 && !((String)priorfiles.get(4)).equals("null")) { String prifile = ((String)priorfiles.get(4)); double priScaler = Double.parseDouble(((String)priorScalers.get(4))); modelmaker.addPriorfile(prifile); Module m = modelmaker.getModule("ihelixi2"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); m = modelmaker.getModule("ihelixi2"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); m = modelmaker.getModule("ihelixi3"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); m = modelmaker.getModule("ihelixi4"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); m = modelmaker.getModule("ihelixi5"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); m = modelmaker.getModule("ihelixi6"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); m = modelmaker.getModule("ihelixi7"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); m = modelmaker.getModule("ohelixi1"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); m = modelmaker.getModule("ohelixi2"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); m = modelmaker.getModule("ohelixi3"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); m = modelmaker.getModule("ohelixi4"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); m = modelmaker.getModule("ohelixi5"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); m = modelmaker.getModule("ohelixi6"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); m = modelmaker.getModule("ohelixi7"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[1]); } if(priorfiles.size() >= 6 && !((String)priorfiles.get(5)).equals("null")) { String prifile = ((String)priorfiles.get(5)); double priScaler = Double.parseDouble(((String)priorScalers.get(5))); modelmaker.addPriorfile(prifile); Module m = modelmaker.getModule("ihelix"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[0]); m = modelmaker.getModule("ohelix"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[0]); } if(priorfiles.size() >= 7 && !((String)priorfiles.get(6)).equals("null")) { String prifile = ((String)priorfiles.get(6)); double priScaler = Double.parseDouble(((String)priorScalers.get(6))); modelmaker.addPriorfile(prifile); Module m = modelmaker.getModule("inglob1"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[6]); m.lockVertexEmissions(); m = modelmaker.getModule("outglobShort"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[6]); m.lockVertexEmissions(); m = modelmaker.getModule("outglobLong"); m.setPriorfile(prifile); m.setEmissPriorScaler(priScaler); m.setDistribType(HMM.MANUAL, emissionProbs[6]); m.lockVertexEmissions(); } } private void saveHMM(String outdir) { int res = modelmaker.saveHMM(outdir); } private double setChiSquareDistrib(String mod, int i_1, int i_2, int f_i, int q_i, double tot, double distribSum) { Module m1 = modelmaker.getModule(mod); ListIterator li_vert = m1.getVertices().listIterator(); Vertex cur = ((Vertex)li_vert.next()); ListIterator li_trans = cur.getTransitions(); double restProb = 1.0; double prob = getChiSquareProb(f_i, q_i, i_2, distribSum); Transition t1 = ((Transition)li_trans.next()); Transition t = ((Transition)li_trans.next()); t.probability = prob/tot; t.lock(); restProb = restProb - prob/tot; prob = getChiSquareProb(f_i, q_i, i_1, distribSum); t = ((Transition)li_trans.next()); t.probability = prob/tot; t.lock(); restProb = restProb - prob/tot; t1.probability = restProb; t1.lock(); tot = restProb; return tot; } private double getChiSquareProb(int f_i, int q_i, int i, double distribSum) { return Math.pow(((double)i),(((double)f_i)/2 - 1)) * Math.exp((0.0 - ((double)i) / ((double)q_i))) / distribSum; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -