When I run the code below, the final state is:
1 [A:box[0][0](a~0!1), A:box[0][1](a~1!1:link1)]
10 [A:box[1][1](a~1)]
the second line is OK, but the first should have A(a~0) in the second A
Here is the code:
%agent: A(a~0~1~2)
%compartment: box[2][2]
%channel: link1 :box[x][y] -> :box[x][y +1]
%channel: horiz :box[0][1] -> :box[1][1]
'move1' A(a~0?) ->:horiz A(a~1?) @ 1
%init: 1 (A:box[0][1](a~0!1:link1), A:box[0][0](a~0!1))
%init: 10 A:box[0][1](a~0)
%obs: voxel 'A' :box A()
Maybe it is forbidden to change states in a translocation? But what is confusing is that the rule never applies to the dimer, because the channel has only one input voxel. (Actually, the purpose of the example was to test whether, as we say, the complex containing the lhs of a translocation rule has to be contained entirely in the source voxels; so the dimer is meant not to move.)
When I run the code below, the final state is:
the second line is OK, but the first should have A(a~0) in the second A
Here is the code:
Maybe it is forbidden to change states in a translocation? But what is confusing is that the rule never applies to the dimer, because the channel has only one input voxel. (Actually, the purpose of the example was to test whether, as we say, the complex containing the lhs of a translocation rule has to be contained entirely in the source voxels; so the dimer is meant not to move.)