Skip to content

Commit 0b4e196

Browse files
committed
missing files
1 parent 03eb5aa commit 0b4e196

File tree

4 files changed

+135
-0
lines changed

4 files changed

+135
-0
lines changed

compartmentTree.py

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import treelib3
2+
3+
def getCompartmentHierarchy(compartmentList):
4+
'''
5+
constructs a tree structure containing the
6+
compartment hierarchy excluding 2D compartments
7+
@param:compartmentList
8+
'''
9+
def removeMembranes(tree,nodeID):
10+
node = tree.get_node(nodeID)
11+
if node.data == 2:
12+
parent = tree.get_node(nodeID).bpointer
13+
if parent == None:
14+
#accounting for the case where the topmost node is a membrane
15+
newRoot = tree.get_node(nodeID).fpointer[0]
16+
tree.root = newRoot
17+
node = tree.get_node(newRoot)
18+
else:
19+
tree.link_past_node(nodeID)
20+
nodeID = parent
21+
node = tree.get_node(nodeID)
22+
for element in node.fpointer:
23+
removeMembranes(tree,element)
24+
25+
from copy import deepcopy
26+
tree = treelib3.Tree()
27+
c2 = deepcopy(compartmentList)
28+
while len(c2) > 0:
29+
removeList = []
30+
for element in c2:
31+
if c2[element][2] in ['', None]:
32+
try:
33+
tree.create_node(element,element,data=c2[element][0])
34+
except treelib3.tree.MultipleRootError:
35+
#there's more than one top level element
36+
tree2 = treelib3.Tree()
37+
tree2.create_node('dummyRoot','dummyRoot',data=3)
38+
tree2.paste('dummyRoot',tree)
39+
tree2.create_node(element,element,parent='dummyRoot',data=c2[element][0])
40+
tree = tree2
41+
removeList.append(element)
42+
elif tree.contains(c2[element][2]):
43+
tree.create_node(element,element,parent=c2[element][2],data=c2[element][0])
44+
removeList.append(element)
45+
for element in removeList:
46+
c2.pop(element)
47+
removeMembranes(tree,tree.root)
48+
return tree
49+
50+
51+
def getOutsideInsideCompartment(compartmentList,compartment):
52+
outside = compartmentList[compartment][2]
53+
for comp in compartmentList:
54+
if compartmentList[comp][2] == compartment:
55+
return outside, comp

grammarTester.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import grammarDefinition as g
2+
3+
if __name__ == "__main__":
4+
s= g.hashed_observable_section.parseString('''#REACTION_DATA_OUTPUT
5+
{
6+
STEP = 1e-6
7+
Species Clusters R(l!0).L(r!0,r!1).R(l!1) // Any species with crosslinked receptors
8+
Molecules LRmotif L(r!0).R(l!0)
9+
Molecules Lfreesite L(r)
10+
Molecules Rfreesite R(l)
11+
Species Lmonomer L(r,r,r)
12+
Species Rmonomer R(l,l)
13+
Molecules Ltot L()
14+
Molecules Rtot R()
15+
}
16+
''')
17+
print s

nfsimClient.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import xmlrpclib
2+
import splitBNGXML
3+
4+
5+
def getCannonicalLabels(seeds):
6+
pass
7+
8+
seed, _ = splitBNGXML.extractSeedBNG('example.mdlr.xml')
9+
#print seed
10+
11+
12+
13+
14+
proxy = xmlrpclib.ServerProxy("http://localhost:8080/RPC2")
15+
proxy.nfsim.reset()
16+
#print seed
17+
18+
initMap = {"c:a~NO_STATE!4!2,c:l~NO_STATE!3,c:l~NO_STATE!3!0,m:Lig!2!1,m:Rec!0,":1}
19+
proxy.nfsim.initNauty(initMap)
20+
#proxy.nfsim.step()
21+
#proxy.nfsim.init(seed)
22+
print '---'
23+
print proxy.nfsim.query(2)
24+
print '---'
25+
print proxy.nfsim.query(1)
26+
print proxy.nfsim.printInfo("complex")

test.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
from pyparsing import *
2+
3+
identifier = Word(alphas, alphanums + "_")
4+
plusorminus = Literal('+') | Literal('-')
5+
point = Literal('.')
6+
equal = Suppress("=")
7+
statement = Group(identifier + equal + (quotedString | restOfLine))
8+
e = CaselessLiteral('E')
9+
number = Word(nums)
10+
integer = Combine(Optional(plusorminus) + number)
11+
real = Combine(integer +
12+
Optional(point + Optional(number)) +
13+
Optional(e + integer))
14+
15+
section_enclosure_ = Forward()
16+
nestedParens = nestedExpr('(', ')', content=section_enclosure_)
17+
nestedBrackets = nestedExpr('[', ']', content=section_enclosure_)
18+
nestedCurlies = nestedExpr('{', '}', content=section_enclosure_)
19+
section_enclosure_ << (statement | Group(identifier + ZeroOrMore(identifier) + nestedCurlies) | Group(identifier + '@' + restOfLine) | Word(alphas, alphanums + "_[]") | identifier | Suppress(',') | '@' | real)
20+
21+
22+
23+
data = '''
24+
VIZ_OUTPUT {
25+
MODE = CELLBLENDER
26+
FILENAME = "./viz_data/rec_dim"
27+
MOLECULES
28+
{
29+
NAME_LIST {ALL_MOLECULES}
30+
ITERATION_NUMBERS {
31+
ALL_DATA @ [1, 100, [200 TO 100000 STEP 100]]
32+
}
33+
}
34+
} '''
35+
36+
37+
print section_enclosure_.parseString(data)

0 commit comments

Comments
 (0)