a) |
struct = str <<< comps ||| |
str <<< singlestrand ||| |
str <<< (e <<< empty) ... h |
block = ad <<< singlestrand ~~~ closed ... h |
comps = ad <<< block ~~~ comps ||| |
block |
ad <<< block ~~~ singlestrand ... h |
singlestrand = ss <<< region |
closed = (hl <<< base ~~~ region3 ~~~ base ||| |
sp <<< base ~~~ closed ~~~ base ||| |
sr <<< base ~~~ (bl <<< region ~~~ closed) ~~~ base ||| |
sr <<< base ~~~ (br <<< closed ~~~ region) ~~~ base ||| |
ml <<< base ~~~ (ad <<< block ~~~ comps) ~~~ base ||| |
sr <<< base ~~~ (il <<< region ~~~ closed ~~~ |
region) ~~~ base) |
'with' basepairing ... h |
region3 = region 'with' (minsize 3) |
b) |
struct = comps | |
singlestrand | |
empty |
block = singlestrand closed | |
comps = block comps | |
block | |
block singlestrand |
singlestrand = region |
closed = base region 3 base | |
base closed base | |
base region closed base | |
base closed region base | |
base region closed region base | |
base block comps base |
region3 = base base region |
region = base | |
base region |
base = 'A' | 'C' | 'G' | 'U' |