Icon representing a recipe

Recipe: Design Models 2.3.3

created by Bruno Kestemont

Profile


Name
Design Models 2.3.3
ID
101066
Shared with
Public
Parent
None
Children
Created on
December 05, 2020 at 11:26 AM UTC
Updated on
December 05, 2020 at 11:26 AM UTC
Description

Proposes a secundary structure for current length

Best for


Code


--Start Design Models by Bruno Kestemont --[[ =================================== ver 1.0.0 ver 1.0.1 added 80 ver 1.0.2 added HHH models (for H-Bond puzzles) ver 1.0.3 debugged dialog for n60 ver 1.0.4 more models like HHSSSS from 60 res. ver 1.0.5 HHSSSS in all lengths ver 1.0.6 debugged ver 1.0.7 added 85 & 90 ver 1.0.8 fixed HHSSS in 80-85-90 ver 1.0.9 added HHSSSSH in 80-85-90 ver 1.0.10 added SSS_SSS and SSSS_SSSS in 75-80-85-90 ver 1.0.11 corrected the length of sheets in order to respect chirality in 85 + test bands ver 1.1.0 Adding different paterns for choice of direction and chirality, e.g. HHSSS, SSSHH, HSSSH ver 2 : SS compatible with blueprint: 2-4-5 segs only for SS(never 3), 1-2-3 only for HH ver 2.0.1: following blueprint rule where it was missing ver 2.0.1: corrected SSs + added notes ver 2.2.1: added 95-120 ver 2.2.2: some bug fixed (including in 65) ver 2.3: identify unlocked ones (at end of protein) ver 2.3.1: better shapes for using BluePrint. I'll add ok bp when the design is immediately ok using ideal SS then bp ver 2.3.2: added some HHHH in short proteins ver 2.3.3: ideal SS Note: in SSS, when the number of residues is pair (for a connecting loop of 3 segments) , we can do a good cake turning left, then right then left ... If it is uneven, it does not work (has to turn always left or always right). That's what I tried to correct in this version Moreover, I've seen in top solutions that HSSSH can be as good as SSSHH or HHSSS As chirality has its importance, I made several similar structures but in opposite directions as well. One segment at each end. From this basic designs, it's possible to idealize each turns by transforming loop segments to sheets. The rules are: SS link: 2-3 => turn left (from residue n to n+1 with sidechains pointing bellow) 4 segs= 50-50 WARNING: you have few choice here: only one Blupoint solution turns left. Only if all SS links are 4, then you may try with right turns. 5 segs: turning right (=> replacing the 2 sheet ends with loops doesn't solve chirality problem) TO DO VERIFY HS link (2-3 loop length): the sidechain of the first sheet seg must point away from helix (use this rule to decide on which side of the plane you put your helix) SH link (2 loop length): the helix is where the latest S seg's sidechain points to SH link (3 loop length): the helix goes opposite of the last sheet sidechain. Helix length is arround double than sheet length. The length of the helix determines the way it turns from the sheet: TO DO verify. You may change the turn by displacing the residue the helix starts from (but it's not elegant, I've to correct this from here). Best shapes for HH: link 1 and 2 forms a V (not parallel helices => to avoid link 3: first model forms a light V => not the best latest model is nice parallel => the best Best shape for SS: link 4 turns right or left => --]] recipename= "Design Models 2.3.3" -- ================================== Begin Function Wrappers by Brown42 -- These must always be at the top of a file -- Remove the problematic molecule e.g. puzzle 471 structure._GetCount = structure.GetCount function structure.HasMolecule() return structure.GetSecondaryStructure(structure._GetCount())=='M' end function structure.GetCountC() local n = structure._GetCount() while structure.GetSecondaryStructure(n) == 'M' do n = n - 1 end return n end function getFirstUnlocked() local first=1 while structure.IsLocked(first) do first = first + 1 end return first end -- ================================== End Function Wrappers structure.HasMolecule() if structure.HasMolecule() then print('Note: structure has a molecule, which will be ignored.') end first= getFirstUnlocked() last = structure.GetCountC() n=last-first+1 sslist = {} tab2= {} saveNote19=structure.GetNote(19) note19libre=true note19Set=false SSreset='' SS="" -- the SS to be assigned and pasted in note 19 BND="" -- the bands to be whritten in note 18 (for import with Band Copy-Paste recipe) print("first, last, n: ",first, " ", last, " ",n) --START SET NOTES BY PD --[[ Set note with author, recipe and big steps -- By Pauldunn This subroutine is used in much group recipe versions in various groups originally in Go Science It traces the various recipes and players that improved the current solution Module to quick copy-paste it in existing recipes, by Bruno Kestemont ]]-- --HOW TO include in a recipe? --1a) COPY from here ================ function InitNotes(recipename) local recipename=recipename or "" note_number=structure.GetCount() for seg=structure.GetCount(),1,-1 do if structure.GetNote(seg)~="" then break end note_number=seg end print(string.format("Recording "..recipename.." results in Note for segment %i",note_number)) starting_score=current.GetScore() --structure.SetNote(note_number,string.format("(%s) %.3f + %s(%i) %.3f",user.GetPlayerName(),starting_score,recipename,loop_count,current.GetScore())) end function SetNote(note_number, starting_score, recipename, loop_count) local recipename=recipename or "" local starting_score=starting_score or 0 local loop_count=loop_count or 1 --print(string.format("Recording "..recipename.." results in Note for segment %i",note_number)) structure.SetNote(note_number,string.format("(%s) %.3f + %s(%i) %.3f",user.GetPlayerName(),starting_score,recipename,loop_count,current.GetScore())) end InitNotes(recipename) -- WARNING: and match "recipename" with the recipename of the recipe --1b) COPY to here. ================ --2) PASTE somewhere to the beginning of your recipe. --3a) COPY from here --------------- SetNote(note_number, starting_score, recipename, 0) -- WARNING: and mach "recipename" and "loop_count" with the names of the recipe --3b) COPY to here -------------- --4) PASTE at the end of the main loop function of your recipe, at the end of the cleanup function, at the end of the recipe --better loop_count a global variable --END SET NOTES BY PD -- ============================== Begin Read Functions -- Read primary and secondary structure function ReadStructure() local tmp = {} local rc, aa for i = first,last do if structure.IsMutable(i) == true then tmp[#tmp + 1] = structure.GetAminoAcid(i) else tmp[#tmp + 1] = ' ' end sslist[#sslist + 1] = structure.GetSecondaryStructure(i) end ConcatenateStructure() local dontprintlist = {M=true} dontprintlist[' '] = true print('Structure read from range:',first,'to',last) print('Secondary Structure:') print(SS) end -- ============================== End Read Functions function ConcatenateStructure() local sstructure='' for i = first,last do sstructure=sstructure..sslist[i] end if (sstructure:find("E") or sstructure:find("H")) then SS=sstructure else SS='' -- avoiding all loops print("No SS found, only loops") end return end -- ============================== Begin Write Functions function note19free() if #saveNote19>0 and (saveNote19:find("E") or saveNote19:find("H")) then note19libre=false note19Set=true elseif #saveNote19>0 then if saveNote19:find("LLL") then print("Only loops in note 19: deleting") structure.SetNote(19,'') note19libre=true -- will erase note 19 note19Set=false else note19libre=false note19Set=false end else note19libre=true note19Set=false end if note19Set==false then print("Note 19 not empty, delete the note and run again") end end function WriteStructure() note19free() if note19libre and not note19Set then print("Copied in note 19") structure.SetNote(19,SS) end if BND~="" then print("Copied bands in note 18") structure.SetNote(18,BND) end end function WriteSecondaryStructure(str) -- by Brown42, BK --local n = structure.GetCount() local tab ={} local input = string.upper(str) print ('input='..input) local ss = { H='H', E='E', L='L', I='L', B='L', S='L', T='L', M=' ', G='H'} ss[' '] = ' ' -- table of allowed SS, reduced to 'EHL ' --tab = StringToTable(input) tab = StringToTable(input, first) if tab == nil then print ('tab is nil') return false else print('tab n= '..#tab) end -- Error check SS input for i = 1,#tab do --for i = first,last do -- initializing to L --local x = tab[i-first] local x = tab[i] print(i..") SS: "..ss[x[1]]..". from:"..x[2]..". to: "..x[3]) if x[2] < first or x[2] > last or x[3] < first or x[3] > last then print ('Your secondary structure is out of range') return false end x[1] = ss[x[1]] if x[1] == nil then print('Unrecognized AA symbol:',x[1],x[2],'Input Error') return false end -- Set SS structure.SetSecondaryStructureSelected('L') end for i = 1,#tab do --for i = first,last do local x = tab[i] --local x = tab[i-first+1] if x[1] ~= ' ' then -- no changes for ' ' if x[2] == x[3] then structure.SetSecondaryStructure(x[2],x[1]) else selection.DeselectAll() selection.SelectRange(x[2],x[3]) structure.SetSecondaryStructureSelected(x[1]) structure.IdealSSSelected() end end end return true end -- ============================== End Write Functions -- ============================== Begin Reset Functions function ResetSS(str) local str=str or SS if str==nil or str=='' then if note19Set then str=structure.GetNote(19) end end if str==nil or str=='' then print ('Nothing found in note 19, nothing to reset') else print('Reseting secundary structure:',str) WriteSecondaryStructure(str) end end function ParseCompressed(str) -- based on Brown42 -- First turn string into letter - number pairs local init = 1 local tab = {} local ranging = false -- true means range extension is disallowed local lower = 0 -- lower value of range, 0 illegal local sym = '' -- symbol being compressed, empty illegal while init <= #str do local a,b,c,d = string.find(str, ' *([%a%-]?) *(%d+) *',init) if a == nil then break end init = b+1 -- continuing a range, check if it's valid if c == '-' then if ranging == true then dialog.ShowMessageBox('Multiple range numbers (a range is number - number)','Input Error') return nil end if sym == '' or lower == 0 then dialog.ShowMessageBox('Initial range (a range continues a structure number pair)','Input Error') return nil end tab[#tab+1] = {sym, lower, tonumber(d)} ranging = true lower = 0 -- starting a new range with explicit symbol elseif c ~= '' then ranging = false if sym ~= '' and lower > 0 then tab[#tab+1] = {sym,lower,lower} end sym = c lower = tonumber(d) ranging = false -- starting a new range with same symbol elseif sym ~= '' then if lower > 0 then tab[#tab+1] = {sym,lower,lower} end lower = tonumber(d) ranging = false else dialog.ShowMessageBox({'Missing structure symbol (a range starts', 'with a structure number pair'},'Input Error') end end if lower > 0 then tab[#tab+1] = {sym,lower,lower} end return tab end -- is there another way to do this? string.subs I guess function string.at(str,i) return string.char(string.byte(str,i)) end -- Group up identical symbols into symbol,range table function Compress(str,start) ---- based on Brown42 local sym = '' local count = 0 local result = {} for i = 1,#str+1 do if string.at(str,i) == sym then count = count + 1 else if count > 0 then result[#result+1] = {sym,start+i-1-count,start+i-2} end count = 1 sym = string.at(str,i) end end return result end -- Turn a string that may or may not be compressed into a symbol,range table, by Brown42 function StringToTable(input,startstr) startstr = startstr or '' local compressed = string.find(input,'%d') ~= nil local tab if compressed then if startstr ~= '' then dialog.ShowMessageBox({'Reminder: the start/range value is ignored','when using compressed notation.'},'Info') end tab = ParseCompressed(input) if (tab == nil) then dialog.ShowMessageBox('Error parsing compressed string.') return nil end else local start = 1 if startstr ~= '' then start = tonumber(startstr) end tab = Compress(input,start) end return tab end certified= false if n== 121 then certified = true end -- to be adapted when new ones come TO DO, not working yet function get_parameters (certified) -- everything is here local certified=certified or false -- the aim is to present only successfull ones at first shot (Not used actually) local dlog = dialog.CreateDialog ( recipename ) dl1=dialog.AddLabel("Choose only one design (S= sheet, H= helix)") if certified == true then dl2=dialog.AddLabel("Designs that have been succesfull in the past:") dlog.SSSSHH = dialog.AddCheckbox ( "SSSSHH" , false ) else if n== 50 then dlog.SHS = dialog.AddCheckbox ( "SHS" , false ) dlog.HHH = dialog.AddCheckbox ( "HHH" , false ) dlog.SSHSS = dialog.AddCheckbox ( "SSHSS" , false ) dlog.HHSSSS = dialog.AddCheckbox ( "HHSSSS" , false ) dlog.SSSSHH = dialog.AddCheckbox ( "SSSSHH" , false ) dlog.HSSSSH = dialog.AddCheckbox ( "HSSSSH" , false ) elseif n==55 then dlog.SHS = dialog.AddCheckbox ( "SHS" , false ) dlog.HSH = dialog.AddCheckbox ( "HSH" , false ) dlog.HHH = dialog.AddCheckbox ( "HHH" , false ) dlog.SSHSS = dialog.AddCheckbox ( "SSHSS" , false ) dlog.HHSSSS = dialog.AddCheckbox ( "HHSSSS" , false ) dlog.SSSSHH = dialog.AddCheckbox ( "SSSSHH" , false ) dlog.HSSSSH = dialog.AddCheckbox ( "HSSSSH" , false ) dlog.SSS_SSS = dialog.AddCheckbox ( "SSS_SSS" , false ) dlog.SSSS_SSSS = dialog.AddCheckbox ( "SSSS_SSSS" , false ) elseif n==60 then dlog.HHH = dialog.AddCheckbox ( "HHH" , false ) dlog.HHHH = dialog.AddCheckbox ( "HHHH" , false ) dlog.SSSHH = dialog.AddCheckbox ( "SSSHH" , false ) dlog.SSSHH2 = dialog.AddCheckbox ( "SSSHH2" , false ) dlog.HHSSS = dialog.AddCheckbox ( "HHSSS" , false ) dlog.HHSSS2 = dialog.AddCheckbox ( "HHSSS2" , false ) dlog.SSSSSH = dialog.AddCheckbox ( "SSSSSH" , false ) dlog.SHHSSS = dialog.AddCheckbox ( "SHHSSS" , false ) dlog.HHSSSS = dialog.AddCheckbox ( "HHSSSS" , false ) dlog.SSSSHH = dialog.AddCheckbox ( "SSSSHH" , false ) dlog.HSSSSH = dialog.AddCheckbox ( "HSSSSH" , false ) dlog.SSS_SSS = dialog.AddCheckbox ( "SSS_SSS" , false ) elseif n==65 then dlog.SSH = dialog.AddCheckbox ( "SSH" , false ) dlog.HSH = dialog.AddCheckbox ( "HSH" , false ) dlog.HHH = dialog.AddCheckbox ( "HHH" , false ) dlog.HHHH = dialog.AddCheckbox ( "HHHH" , false ) dlog.SSHSS = dialog.AddCheckbox ( "SSHSS" , false ) dlog.HHSSS = dialog.AddCheckbox ( "HHSSS" , false ) dlog.HHSSSS = dialog.AddCheckbox ( "HHSSSS" , false ) dlog.SSSSHH = dialog.AddCheckbox ( "SSSSHH" , false ) dlog.HSSSSH = dialog.AddCheckbox ( "HSSSSH" , false ) dlog.HHHSSS = dialog.AddCheckbox ( "HHHSSS" , false ) dlog.SSS_SSS = dialog.AddCheckbox ( "SSS_SSS" , false ) dlog.SSSS_SSSS = dialog.AddCheckbox ( "SSSS_SSSS" , false ) elseif n==70 then dlog.HHH = dialog.AddCheckbox ( "HHH" , false ) dlog.HHHH = dialog.AddCheckbox ( "HHHH" , false ) dlog.SHS = dialog.AddCheckbox ( "SHS" , false ) dlog.HSSS = dialog.AddCheckbox ( "HSSS" , false ) dlog.HHSSS = dialog.AddCheckbox ( "HHSSS" , false ) dlog.SSSHH = dialog.AddCheckbox ( "SSSHH" , false ) dlog.HSSSH = dialog.AddCheckbox ( "HSSSH" , false ) dlog.SSHSS = dialog.AddCheckbox ( "SSHSS" , false ) dlog.HHSSSS = dialog.AddCheckbox ( "HHSSSS" , false ) dlog.SSSSHH = dialog.AddCheckbox ( "SSSSHH" , false ) dlog.HSSSSH = dialog.AddCheckbox ( "HSSSSH" , false ) dlog.SSS_SSS = dialog.AddCheckbox ( "SSS_SSS" , false ) dlog.SSSS_SSSS = dialog.AddCheckbox ( "SSSS_SSSS" , false ) elseif n==75 then dlog.HHH = dialog.AddCheckbox ( "HHH" , false ) dlog.HHHH = dialog.AddCheckbox ( "HHHH" , false ) dlog.HSSS = dialog.AddCheckbox ( "HSSS" , false ) dlog.SSSSH = dialog.AddCheckbox ( "SSSSH" , false ) dlog.SSHSS = dialog.AddCheckbox ( "SSHSS" , false ) dlog.HHSSS = dialog.AddCheckbox ( "HHSSS" , false ) dlog.SSSHH = dialog.AddCheckbox ( "SSSHH" , false ) dlog.HSSSH = dialog.AddCheckbox ( "HSSSH" , false ) dlog.HHSSSS = dialog.AddCheckbox ( "HHSSSS" , false ) dlog.SHSSSS = dialog.AddCheckbox ( "SHSSSS" , false ) dlog.SSS_SSS = dialog.AddCheckbox ( "SSS_SSS" , false ) dlog.SSSS_SSSS = dialog.AddCheckbox ( "SSSS_SSSS" , false ) elseif n==80 or n==85 or n==90 or n==95 or n==100 or n==105 or n==110 or n==115 or n==120 then dlog.HHH = dialog.AddCheckbox ( "HHH" , false ) dlog.HHHH = dialog.AddCheckbox ( "HHHH" , false ) dlog.HSSS = dialog.AddCheckbox ( "HSSS" , false ) dlog.SSSSH = dialog.AddCheckbox ( "SSSSH" , false ) dlog.SSHSS = dialog.AddCheckbox ( "SSHSS" , false ) dlog.HHSSS = dialog.AddCheckbox ( "HHSSS" , false ) dlog.SSSHH = dialog.AddCheckbox ( "SSSHH" , false ) dlog.HSSSH = dialog.AddCheckbox ( "HSSSH" , false ) dlog.HHSSSS = dialog.AddCheckbox ( "HHSSSS" , false ) dlog.SSSSHH = dialog.AddCheckbox ( "SSSSHH" , false ) dlog.HSSSSH = dialog.AddCheckbox ( "HSSSSH" , false ) dlog.HHSSSSH = dialog.AddCheckbox ( "HHSSSSH" , false ) dlog.SSS_SSS = dialog.AddCheckbox ( "SSS_SSS" , false ) dlog.SSSS_SSSS = dialog.AddCheckbox ( "SSSS_SSSS" , false ) else print("Puzzle length not implemented") return false end end dlog.ok = dialog.AddButton ( "OK" , 1 ) if certified == true then dlog.ok = dialog.AddButton ( "More" , 2 ) end dlog.cancel = dialog.AddButton ( "Cancel" , 0 ) if ( dialog.Show ( dlog ) > 1 ) then return get_parameters (false) end if ( dialog.Show ( dlog ) > 0 ) then if certified == true then if dlog.SSSSHH.value then SS="LEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLLLEEEEEEEEEELLHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHL" -- ok end else if n== 50 then if dlog.HHH.value then SS="LHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHL" --ok elseif dlog.SHS.value then SS="LEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEL" --ok elseif dlog.SSHSS.value then SS="LEEEEEELLEEEEEELLLHHHHHHHHHHHHLLLEEEEEELLLLEEEEEEL" --ok elseif dlog.SSSSHH.value then SS="LEEEELLLLEEEELLLLEEEELLEEEELLLHHHHHHHHLLLHHHHHHHHL" --ok elseif dlog.HHSSSS.value then SS="LHHHHHHHHLLLHHHHHHHHLLLEEEELLEEEELLLLEEEELLLLEEEEL" elseif dlog.HSSSSH.value then SS="LHHHHHHHLLEEEELLLLEEEEEELLLLEEEELLLLEEEELLHHHHHHHL" --ok end elseif n==55 then if dlog.SHS.value then SS="LEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEL" --ok elseif dlog.HSH.value then SS="LHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHL" --ok elseif dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHL" --ok elseif dlog.SSHSS.value then SS="LEEEEEELLLLLEEEEEELLLHHHHHHHHHHHHHLLLEEEEEELLLLLEEEEEEL" --ok elseif dlog.HHSSSS.value then SS="LHHHHHHHHHLLLHHHHHHHHHLLLEEEELLLLEEEELLLLEEEELLLLLEEEEL" --ok verify 5 turns right elseif dlog.SSSSHH.value then SS="LEEEELLLLLEEEELLLLEEEELLLLEEEELLLHHHHHHHHHLLLHHHHHHHHHL" --ok verify 5 turns right elseif dlog.HSSSSH.value then SS="LHHHHHHHHHLLLEEEELLLLEEEELLLLLEEEELLLLEEEELLLHHHHHHHHHL" --ok verify 5 turns right elseif dlog.SSS_SSS.value then SS="LEEEEEELLEEEEEELLEEEEEELLLLLLEEEEEELLLLLEEEEEELLEEEEEEL" --ok verify 5 turns right end elseif n==60 then if dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHL" --ok bp elseif dlog.HHHH.value then SS="LHHHHHHHHHHHHLLLHHHHHHHHHHHHHLLLHHHHHHHHHHHLLLHHHHHHHHHHHHHL" --ok bp elseif dlog.HHSSS.value then SS="LHHHHHHHHHHHHHLLLHHHHHHHHHHHHHLLLEEEEEELLLLEEEEEELLLLEEEEEEL" --ok bp bof elseif dlog.SSSHH.value then SS="LEEEEEELLEEEEEELLEEEEEELLLHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHL" -- ok bp bof elseif dlog.HHSSS2.value then SS="LHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHLLLEEEEEELLEEEEEELLEEEEEEL" -- ok bp bof elseif dlog.SSSHH2.value then SS="LEEEEEELLEEEEEELLEEEEEELLLHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHL" elseif dlog.SSSSSH.value then SS="LEEEEEELLEEEEEELLEEEEEELLLLEEEEEELLLLLEEEEEELLLHHHHHHHHHHHHL" --ok elseif dlog.SHHSSS.value then SS="LEEEEEELLLHHHHHHHHHHHHLLLHHHHHHHHHHLLLEEEEELLEEEEEELLEEEEEEL" --ok elseif dlog.SSSSHH.value then SS="LEEEEEELLEEEEEELLEEEEEELLEEEEEELLLHHHHHHHHHHHLLLHHHHHHHHHHHL" --ok elseif dlog.HHSSSS.value then SS="LHHHHHHHHHHHLLLHHHHHHHHHHHLLLEEEEEELLEEEEEELLEEEEEELLEEEEEEL" --ok elseif dlog.HSSSSH.value then SS="LHHHHHHHHHHHLLLEEEEEELLEEEEEELLEEEEEELLEEEEEELLLHHHHHHHHHHHL" --ok elseif dlog.SSS_SSS.value then SS="LEEEEEELLLLEEEEEELLLLEEEEEELLLLLLEEEEEELLLLEEEEEELLLLEEEEEEL" --ok end elseif n==65 then if dlog.SSH.value then SS="LEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" --ok elseif dlog.HSH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHL" elseif dlog.HHHH.value then SS="LHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHL" elseif dlog.SSHSS.value then SS="LEEEEEEEELLLLEEEEEEEELLLHHHHHHHHHHHHHHHHHLLLEEEEEEEELLLLEEEEEEEEL" --ok elseif dlog.HHSSS.value then SS="LHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHLLLEEEEEEELLLLEEEEEEEELLEEEEEEEEL" --ok elseif dlog.HHHSSS.value then SS="LHHHHHHHHHHLLLHHHHHHHHHHLLLHHHHHHHHHHLLLEEEEEELLEEEEEELLLLEEEEEEL" --ok elseif dlog.HSSSSH.value then SS="LHHHHHHHHHHHHLLEEEEEELLLLEEEEEELLLLEEEEEELLEEEEEELLLHHHHHHHHHHHHL" --ok elseif dlog.HHSSSS.value then SS="LHHHHHHHHHHHLLLHHHHHHHHHHHHLLLEEEEEELLLLEEEEEELLLLEEEEEELLEEEEEEL" elseif dlog.SSSSHH.value then SS="LEEEEEELLEEEEEELLLLLEEEEEELLEEEEEELLLHHHHHHHHHHHHLLLHHHHHHHHHHHHL" --ok elseif dlog.SSS_SSS.value then SS="LEEEEEELLLLLEEEEEELLLLLEEEEEELLLLLLLEEEEEELLLLLEEEEEELLLLLEEEEEEL" --ok elseif dlog.SSSS_SSSS.value then SS="LEEEEEELLEEEEEELLEEEEEELLEEEEEELLLEEEEEELLEEEEEELLEEEEEELLEEEEEEL" end elseif n==70 then if dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHL" --ok elseif dlog.HHHH.value then SS="LHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHL" elseif dlog.SHS.value then SS="LEEEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEEL" --ok elseif dlog.HSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLLLLEEEEEEEEEELLLLLEEEEEEEEEEL" --ok elseif dlog.HHSSS.value then SS="HHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHLLLEEEEEEEELLLLEEEEEEEELLLLEEEEEEEEL" --ok elseif dlog.SSSHH.value then SS="LEEEEEEEELLEEEEEEEELLEEEEEEEELLLHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHH" --ok elseif dlog.HSSSH.value then SS="LHHHHHHHHHHHHHHHLLLEEEEEEEELLLLEEEEEEEELLLLEEEEEEEELLLHHHHHHHHHHHHHHHL" --ok elseif dlog.SSSSHH.value then SS="LEEEEEELLEEEEEELLLLEEEEEELLLLEEEEEELLLHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHL" --ok elseif dlog.HHSSSS.value then SS="LHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHLLLEEEEEELLEEEEEELLLLEEEEEELLLLEEEEEEL" --ok elseif dlog.HSSSSH.value then SS="LHHHHHHHHHHHHHHLLLEEEEEELLEEEEEELLEEEEEELLLLLEEEEEELLLHHHHHHHHHHHHHHHL" --ok elseif dlog.SSHSS.value then SS="LEEEEEEEEEELLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLEEEEEEEEEEL" --ok elseif dlog.SSS_SSS.value then SS="EEEEEEEELLLLEEEEEEEELLLLEEEEEEEELLLLLEEEEEEEELLLLEEEEEEEELLLLEEEEEEEEL" --ok elseif dlog.SSSS_SSSS.value then SS="EEEELLLLLEEEELLLLLEEEELLLLLEEEELLLLLLLLEEEELLLLLEEEELLLLLEEEELLLLLEEEE" --ok end elseif n==75 then if dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHL" --ok elseif dlog.HHHH.value then SS="LHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHL" --ok elseif dlog.HSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHEEEEEEEEEELLLLLEEEEEEEEEEEELLLLEEEEEEEEEEEEL" --ok elseif dlog.SSSSH.value then SS="LEEEEEEEEEELLEEEEEEEEEELLLLEEEEEEEEEELLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHL" --ok elseif dlog.SSHSS.value then SS="LEEEEEEEEEELLLLLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLLLEEEEEEEEEEL" --ok elseif dlog.HHSSS.value then SS="LHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHLLLEEEEEEEELLLLLEEEEEEEELLLLEEEEEEEEL" --ok elseif dlog.SSSHH.value then SS="LEEEEEEEELLEEEEEEEELLLLLEEEEEEEELLLHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHL" --ok elseif dlog.HSSSH.value then SS="LHHHHHHHHHHHHHHHHHLLLEEEEEEEELLLLEEEEEEEELLLLLEEEEEEEELLLHHHHHHHHHHHHHHHHHL" --ok elseif dlog.SHSSSS.value then SS="LEEEEEEEELLLHHHHHHHHHHHHHHHHHHLLLEEEEEEEELLEEEEEEEELLEEEEEEEELLLLLEEEEEEEEL" elseif dlog.HHSSSS.value then SS="LHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHLLLEEEEEEEELLEEEEEEEELLLLEEEEEEEELLEEEEEEEEL" --ok elseif dlog.SSS_SSS.value then SS="EEEEEEEEEELLLLLEEEEEEEELLLLLEEEEEEEELLLLLEEEEEEEELLLLEEEEEEEELLLLLEEEEEEEEL" --ok elseif dlog.SSSS_SSSS.value then SS="LEEEEEELLEEEEEELLLLEEEEEELLLLEEEEEELLLLLEEEEEELLLLEEEEEELLLLEEEEEELLEEEEEEL" --ok end elseif n==80 then if dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHHH.value then SS="LHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHL" --ok bp elseif dlog.HSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLEEEEEEEEEEEEEEL" elseif dlog.SSSSH.value then SS="LEEEEEEEEEELLLLLEEEEEEEEEELLLLLEEEEEEEEEELLLLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.SSHSS.value then SS="LEEEEEEEEEEELLLLEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEELLLLEEEEEEEEEEEL" elseif dlog.HHSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHLLEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEEL" elseif dlog.HSSSH.value then SS="LHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLEEEEEEEEEELLLLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHL" elseif dlog.SSSHH.value then SS="LEEEEEEEEEELLLLEEEEEEEEEELLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSS.value then SS="LHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHLLLEEEEEEEELLEEEEEEEELLEEEEEEEELLLLEEEEEEEEL" elseif dlog.SSSSHH.value then SS="LEEEEEELLLLLEEEEEELLLLEEEEEELLLLLEEEEEELLLHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHL" elseif dlog.HSSSSH.value then SS="LHHHHHHHHHHHHHHHHLLEEEEEEEELLLLEEEEEEEELLEEEEEEEELLLLEEEEEEEELLLHHHHHHHHHHHHHHHL" elseif dlog.HHSSSSH.value then SS="LHHHHHHHHHHHHLLLHHHHHHHHHHHHLLLEEEEEELLEEEEEELLLLLEEEEEELLEEEEEELLLHHHHHHHHHHHHL" elseif dlog.SSS_SSS.value then SS="LEEEEEEEEEELLEEEEEEEEEELLLLEEEEEEEEEELLLLLLEEEEEEEEEELLEEEEEEEEEELLLLEEEEEEEEEEL" elseif dlog.SSSS_SSSS.value then SS="LEEEEEEELLLLEEEEEELLLLEEEEEELLLLEEEEEELLLLLEEEEEELLLLEEEEEELLLLEEEEEELLLLEEEEEEL" end elseif n==85 then if dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHHH.value then SS="LHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEELLLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEL" elseif dlog.SSSSH.value then SS="LEEEEEEEEEEEELLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHL" elseif dlog.SSHSS.value then SS="LEEEEEEEEEEEELLLLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEELLEEEEEEEEEEEEL" elseif dlog.HHSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLLLEEEEEEEEEELLLLEEEEEEEEEEL" elseif dlog.SSSHH.value then SS="LEEEEEEEEEELLEEEEEEEEEELLLLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSSH.value then SS="LHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLLLEEEEEEEEEELLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSS.value then SS="LHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEEL" elseif dlog.SSSSHH.value then SS="LEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLLHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHL" elseif dlog.HSSSSH.value then SS="LHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLLHHHHHHHHHHHHHHHL" elseif dlog.HHSSSSH.value then SS="LHHHHHHHHHHHHHLLLHHHHHHHHHHHHHLLLEEEEEELLLLEEEEEELLLLEEEEEELLEEEEEELLLHHHHHHHHHHHHHHL" elseif dlog.SSS_SSS.value then SS="LEEEEEEEEEELLLLEEEEEEEEEELLLLLEEEEEEEEEELLLLLEEEEEEEEEELLLLLEEEEEEEEEELLLLEEEEEEEEEEL" elseif dlog.SSSS_SSSS.value then SS="EEEEEEEELLEEEEEEEELLEEEEEEEELLLLEEEEEEEELLLLEEEEEEEELLEEEEEEEELLLLEEEEEEEELLEEEEEEEEL" end elseif n==90 then if dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHHH.value then SS="LHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEEL" elseif dlog.SSSSH.value then SS="LEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.SSHSS.value then SS="LEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEELLEEEEEEEEEEEEEEL" elseif dlog.HHSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEEL" elseif dlog.SSSHH.value then SS="LEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSSH.value then SS="LHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLLLEEEEEEEEEELLLLLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSS.value then SS="LHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLEEEEEEEEEELLLLEEEEEEEEELLEEEEEEEEEEL" elseif dlog.SSSSHH.value then SS="LEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSSSH.value then SS="LHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLLLEEEEEEEEEELLLLEEEEEEEEEELLEEEEEEEEEELLLHHHHHHHHHHHHHHHL" elseif dlog.HHSSSSH.value then SS="LHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHLLLEEEEEELLLEEEEEELLLEEEEEELLLEEEEEELLLHHHHHHHHHHHHHHHL" elseif dlog.SSS_SSS.value then SS="EEEEEEEEEEEELLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLEEEEEEEEEEEE" elseif dlog.SSSS_SSSS.value then SS="LEEEEEEEELLEEEEEEEELLLLEEEEEEEELLLLEEEEEEEELLLLEEEEEEEELLLLEEEEEEEELLLLEEEEEEEELLEEEEEEEEL" end elseif n==95 then if dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHHH.value then SS="LHHHHHHHHHHHHHHHHHHHHLLLLHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEEL" elseif dlog.SSSSH.value then SS="LEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.SSHSS.value then SS="LEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEL" elseif dlog.HHSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHLHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLLLEEEEEEEEEEEEL" elseif dlog.SSSHH.value then SS="LEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHLLHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSSH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHLLEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLEEEEEEEEEELLLLEEEEEEEEEELLEEEEEEEEEEL" elseif dlog.SSSSHH.value then SS="LEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLLLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSSSH.value then SS="LHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLLLLEEEEEEEEEELLLLLEEEEEEEEEELLLLEEEEEEEEEELLLHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSSH.value then SS="LHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHLLLEEEEEEEELLEEEEEEEELLEEEEEEEELLLLEEEEEEEELLLHHHHHHHHHHHHHHL" elseif dlog.SSS_SSS.value then SS="EEEEEEEEEEEELLEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLLLLEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLEEEEEEEEEEEEEE" elseif dlog.SSSS_SSSS.value then SS="LEEEEEEEELLLLEEEEEEEELLLLEEEEEEEELLLLEEEEEEEELLLLLEEEEEEEELLLLEEEEEEEELLLLEEEEEEEELLLLEEEEEEEEL" end elseif n==100 then-- nok if dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEEEEL" elseif dlog.SSSSH.value then SS="LEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.SSHSS.value then SS="LEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEL" elseif dlog.HHSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLLLEEEEEEEEEEEEL" -- ok elseif dlog.SSSHH.value then SS="LEEEEEEEEEEEELLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSSH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEELLEEEEEEEEEEEELLLLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLLLEEEEEEEEEELLLLEEEEEEEEEELLLLEEEEEEEEEEL" elseif dlog.SSSSHH.value then SS="LEEEEEEEEEELLLLEEEEEEEEEELLLLEEEEEEEEEELLLLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHL" -- ok elseif dlog.HSSSSH.value then SS="LHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLLLLEEEEEEEEEELLLLLEEEEEEEEEELLLLLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSSH.value then SS="LHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHLLLEEEEEEEELLEEEEEEEELLLLEEEEEEEELLLLEEEEEEEELLLHHHHHHHHHHHHHHL" elseif dlog.SSS_SSS.value then SS="EEEEEEEEEEEELLLLEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLLLLLEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEE" elseif dlog.SSSS_SSSS.value then SS="LEEEEEEEEEELLEEEEEEEEEELLLLEEEEEEEEEELLEEEEEEEEEELLLLEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEEL" end elseif n==105 then-- nok if dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEEEEL" elseif dlog.SSSSH.value then SS="LEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.SSHSS.value then SS="LEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEEL" elseif dlog.HHSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEL" elseif dlog.SSSHH.value then SS="LEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSSH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEELLLLLEEEEEEEEEEEELLLLLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEEL" elseif dlog.SSSSHH.value then SS="LEEEEEEEEEELLLLLEEEEEEEEEELLLLLEEEEEEEEEELLLLLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSSSH.value then SS="LHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLEEEEEEEEEEEELLLLLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSSH.value then SS="LHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLLHHHHHHHHHHHHHHL" elseif dlog.SSS_SSS.value then SS="EEEEEEEEEEEELLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLLLLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEE" elseif dlog.SSSS_SSSS.value then SS="LEEEEEEEEEELLEEEEEEEEEELLLLEEEEEEEEEELLEEEEEEEEEELLLLLEEEEEEEEEELLEEEEEEEEEELLLLEEEEEEEEEELLLLEEEEEEEEEEL" end elseif n==110 then-- nok if dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEEEEEEL" elseif dlog.SSSSH.value then SS="LEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.SSHSS.value then SS="LEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEEL" elseif dlog.HHSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLEEEEEEEEEEEEEEL" -- ok elseif dlog.SSSHH.value then SS="LEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSSH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEELLLLLEEEEEEEEEEEEEELLLEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHLLHHHHHHHHHHHHHHHHHHHHHHHLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLEEEEEEEEEEEEL" elseif dlog.SSSSHH.value then SS="LEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHL" -- ok elseif dlog.HSSSSH.value then SS="LHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLEEEEEEEEEEEELLLLLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSSH.value then SS="LHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHL" elseif dlog.SSS_SSS.value then SS="EEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLLLLLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEE" elseif dlog.SSSS_SSSS.value then SS="LEEEEEEEEEELLLLEEEEEEEEEELLLLEEEEEEEEEELLEEEEEEEEEELLLLLLEEEEEEEEEELLLLEEEEEEEEEELLLLEEEEEEEEEELLLLEEEEEEEEEEL" end elseif n==115 then-- nok if dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEEEEEEL" elseif dlog.SSSSH.value then SS="LEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.SSHSS.value then SS="LEEEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEEEEL" elseif dlog.HHSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEELLLLLEEEEEEEEEEEEEELLLLLEEEEEEEEEEEEEEL" -- ok elseif dlog.SSSHH.value then SS="LEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSSH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLLEEEEEEEEEEEEEELLLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLLLEEEEEEEEEEEEL" elseif dlog.SSSSHH.value then SS="LEEEEEEEEEEEELLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHL" -- ok elseif dlog.HSSSSH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLEEEEEEEEEEEELLLLLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSSH.value then SS="LHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLLLEEEEEEEEEELLLLEEEEEEEEEELLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHL" elseif dlog.SSS_SSS.value then SS="EEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEELLLLLEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEE" elseif dlog.SSSS_SSSS.value then SS="LEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEELLLLLEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEEL" end elseif n==120 then-- nok if dlog.HHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHHH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEEEEEEEEL" elseif dlog.SSSSH.value then SS="LEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.SSHSS.value then SS="LEEEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEEEEEL" elseif dlog.HHSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEEL" -- nok elseif dlog.SSSHH.value then SS="LEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSSH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSS.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEEEELLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEELLLLEEEEEEEEEEEEEEL" elseif dlog.SSSSHH.value then SS="LEEEEEEEEEEEELLLLLEEEEEEEEEEEELLLLLEEEEEEEEEEEELLLLLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHLLLHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HSSSSH.value then SS="LHHHHHHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEEEELLLLEEEEEEEEEEEELLLLLEEEEEEEEEEEELLLLLEEEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHHHHHHL" elseif dlog.HHSSSSH.value then SS="LHHHHHHHHHHHHHHHHHHLLHHHHHHHHHHHHHHHHHHHHLLLEEEEEEEEEELLLLEEEEEEEEEELLLLEEEEEEEEEELLLLEEEEEEEEEELLLHHHHHHHHHHHHHHHHHHHHL" elseif dlog.SSS_SSS.value then SS="EEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEEEELLLLLLEEEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEEEELLEEEEEEEEEEEEEEEEEE" elseif dlog.SSSS_SSSS.value then SS="LEEEEEEEEEEEELLLLEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEELLLLLLEEEEEEEEEEEELLEEEEEEEEEEEELLEEEEEEEEEEEELLLLEEEEEEEEEEEEL" end end end return true else return false end end -- ============================== End Reset Functions function MAIN() if get_parameters (certified) then --ReadStructure() WriteStructure() -- into note 19 ResetSS() -- actually, writes the SS read from note 19 SetNote(note_number, starting_score, recipename, 0) -- WARNING: and mach "recipename" and "loop_count" with the names of the recipe end end MAIN()

Comments


jawz101 Lv 1

I am not sure how to name the Greek key with the current naming convention. It woud be nice to have some hint, though, that it is intended for it. S-SSSHH (greekKey) or S-SSSHH (GK).

Mike Cassidy Lv 1

I think having a loop at the end of your beginning or end sheet is not a good idea. It is very hard to get ideal loops because Foldit thinks the loop is a sheet and wants it to bond to the sheet next to it.

Bruno Kestemont Lv 1

Triyng (but not succeeding) Automatic ideal SS at end of process.

Now what you still need to do:

-use Blue Print in order to idealize the loops
-verify the core monomer filter: if it's too low, freeze backbones, unfreeze some strategic loops, add bands in order to compact the protein, clashing importance 0.9, wiggle backbones untill the core monomer filter is ok. Freeze all backbones, clashing importance 1. Put the protein at right place (near to symmetrics or binding partner), mutate, shake etc.

Dudit Lv 1

I have a suggestion:

How about running Idealize after Ideal SS in the script.

Bruno Kestemont Lv 1

I think the risk is breaking the design appart. Better to do so after the script finishes, runing quickfix or microidealize.