void xburo(void) { static class go_rr rek_ras; int metkasort=0; int nomer=0,nomer1=0; iceb_u_str titl; iceb_u_str zagolovok; iceb_u_spisok punkt_m; titl.plus(gettext("Распечатать отчеты")); zagolovok.plus(gettext("Распечатать отчеты")); punkt_m.plus(gettext("Расчет оборотного баланса и главной книги"));//0 punkt_m.plus(gettext("Расчет журнала-ордера по счету"));//1 punkt_m.plus(gettext("Расчет сальдо по всем контрагентам"));//2 punkt_m.plus(gettext("Расчет сальдо по контрагенту"));//3 punkt_m.plus(gettext("Распечатать список лет за которые введена информация"));//4 punkt_m.plus(gettext("Расчет оборотного баланса по забалансовым счетам"));//5 punkt_m.plus(gettext("Распечатать документы для перечисления на карт-счета"));//6 punkt_m.plus(gettext("Распечатать отчёт по комментариям"));//7 punkt_m.plus(gettext("Расчёт шахматки"));//8 punkt_m.plus(gettext("Расчёт по заданным спискам дебетовых и кредитовых счетов"));//9 punkt_m.plus(gettext("Расчёт распределения административных затрат на доходы"));//10 punkt_m.plus(gettext("Расчёт видов затрат по элементам"));//11 punkt_m.plus(gettext("Расчёт по спискам групп контрагентов"));//12 punkt_m.plus(gettext("Расчёт валовых доходов и затрат"));//13 punkt_m.plus(gettext("Расчёт акта сверки по группе контрагента"));//14 punkt_m.plus(gettext("Проверка согласованности данных в подсистемах"));//15 while(nomer >= 0) { nomer=iceb_menu_mv(&titl,&zagolovok,&punkt_m,nomer,NULL); switch (nomer) { case -1: return; case 0: glkniw(); break; break; case 1: if(go_m(&rek_ras) != 0) break; if(rek_ras.saldo != 3) //Свернутое сальдо { if(rek_ras.stat == 0) { if(gosssw_r(&rek_ras,NULL) == 0) iceb_rabfil(&rek_ras.imaf,&rek_ras.naimf,"",0,NULL); } if(rek_ras.stat == 1) go_ss_nbs(&rek_ras); } else // Развернутое сальдо { if(rek_ras.stat == 0) { nomer1=vibor_sr(); if(nomer1 == 0) { if((metkasort=vibor_sosrt()) >= 0) if(gosrsw_r(&rek_ras,metkasort,NULL) == 0) iceb_rabfil(&rek_ras.imaf,&rek_ras.naimf,"",0,NULL); } if(nomer1 == 1) if((metkasort=vibor_sosrt()) >= 0) if(go_srk(&rek_ras,metkasort) == 0) iceb_rabfil(&rek_ras.imaf,&rek_ras.naimf,"",0,NULL); } if(rek_ras.stat == 1) go_srv_nbs(&rek_ras); } break; case 2: rspvk_m(); break; case 3: iceb_salorok("",NULL); break; case 4: rbd(1); break; case 5: glkni_nbs_m(); break; case 6: i_xbu_vibor_rr(); break; case 7: buhkomw(); break; case 8: buhhahw(); break; case 9: buhsdkrw(); break; case 10: buhrpznpw(); break; case 11: buhrpzw(); break; case 12: buhgspw(); break; case 13: buhvdzw(); break; case 14: buhspkw(); break; case 15: buhpsdw(); break; } } }
bool TestANMProteinRRT::test_expansion(){ //------------------------------------ // Load a 3-residue peptide of alanine //------------------------------------ System system; ComplexBuilder complexBuilder; Complex * complex = complexBuilder.build("src/Molecules/Test/Data/ProteinResiduesSamples/plop_ala.pdb"); Solvent* solvent = SolventGenerator::createSolvent(*complex,false); // Get the number of CA vector<Atom*> c_alphas = complex->getAtomsWithName(AtomNames::CA); unsigned int c_alphas_size = c_alphas.size(); // Backup old points vector<Point> old_points; for(unsigned int i =0; i < c_alphas.size();++i){ old_points.push_back(c_alphas[i]->toPoint()); } //------------------------------------- //------------------------------------------ //Create the Minimizer and ANM Calculator //------------------------------------------ PathPlanning::Tools::ANMObjectsPackage pack(&system, complex,solvent); pack.populateANMObjects("src/PathPlanning/RRT/Variations/ANMRRT/ANMProteinRRT/Test/Data/anm_config.conf"); //--------------------------- //---------------------------- // Doing the anm calculation step is mandatory (to compute the eigenvetors) //---------------------------- // In this initial case, as the eigenvector computation and direction computation are coupled vector<double> final_weights; final_weights.push_back(0.8); final_weights.push_back(-0.45); final_weights.push_back(0.73); pack.anmCalculator->getParameters()->setWeights(final_weights); pack.anmCalculator->compute(pack.complex); //--------------------------- // Create a solver //--------------------------- Solver solver(pack.anmCalculator->getParameters()->getNumbermodes(), c_alphas_size*3); //solver.setDistModificator(0.74); //--------------------------- //--------------------------- // Create a boundaries object //--------------------------- RangedBoundDescriptor rbd(-1,1,c_alphas_size*3); rbd.setBoundaries(NULL); //---------------------------- //--------------------------- // Create start and end nodes //--------------------------- vector<double> initial_weights; initial_weights.push_back(0); initial_weights.push_back(0); initial_weights.push_back(0); ANMProteinConfiguration* initial_conf = new ANMProteinConfiguration(complex, pack.anmCalculator, &rbd, initial_weights); ANMProteinConfiguration* final_conf = new ANMProteinConfiguration(complex, pack.anmCalculator, &rbd,final_weights); //--------------------------- //------------------------------------------ //Create Node Expansor //------------------------------------------ RRTNode initial_node; RRTNode objective_node; initial_node.setDataP(initial_conf); objective_node.setDataP(final_conf); ANMProteinRRTExpansionAlgorithm expansor(&pack,&solver); RRTNode* expanded = expansor.expand(&initial_node,&objective_node); ANMProteinConfiguration* expanded_conf = (ANMProteinConfiguration*)(expanded->getData()); vector<double>& x = expanded_conf->getWeights(); for(unsigned int i =0; i < x.size();++i){ cout<<x[i]<<endl; } //------------------------------------------ // Compare configurations delete expanded; return true; }