// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // ! This script is provided "as is" by Applied Maths. ! // ! You are free to use and modify this script for your own needs. ! // ! Redistribution or reproduction of the script is prohibited. ! // ! DISCLAIMER: ! // ! Improper use of scripts may corrupt your database. ! // ! Running this script is entirely at your own responsibility. ! // ! Applied Maths accepts no lialibility for any consequences ! // ! resulting from its use. ! // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! //$MENU window=comparison;popup=Clustering;insertafter=Congruence of experiments...;name=Auto collapse branches string expername,str_minsimil,str_mincount; BRANCH root,bra1; integer ok,subcount,mincount; float simil,minsimil; DIALOG dlg; if not(CmpIsPresent) then CmpAttach; expername=CluGetCurrent; str_minsimil="80"; str_mincount="5"; DlgAddText(dlg,"Minimum similarity: (%)",15,15,110,15); DlgAddEdit(dlg,str_minsimil,160,15,50,20); DlgAddText(dlg,"Minimum member count:",15,55,130,15); DlgAddEdit(dlg,str_mincount,160,55,50,20); if not(DlgShow(dlg,"Auto collapse branches",240,220)) then stop; minsimil=val(str_minsimil); mincount=val(str_mincount); CluGetRoot(expername,root); ok=CluEnumStart(root,bra1); while ok do { ok=CluEnumNext(bra1); CluGetInfo(bra1,simil,0.1,subcount,0,0); if (simil>=minsimil) and (subcount>=mincount) then { CluCollapse(bra1,1); CluEnumSkip(bra1); } else { CluCollapse(bra1,0); } }