README 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. The files in this directory test various aspects of macromolecules. The first
  2. test can be validated by checking the equilibrium against an analyically
  3. derived solution. The second test can also be validated against an
  4. analytically derived solution, as well as against a set of internal-consistency
  5. relations between the various counts. The 3rd and 4th tests are mainly for
  6. validating different types of surface release, and are probably best validated
  7. by hand-checking the viz output, though some validation can be done through the
  8. reaction data.
  9. * Test 01: Simple volume macromolecules.
  10. * Test 02: Simple surface macromolecules.
  11. * Test 03: Surface macromolecule list release.
  12. * Test 04: Surface macromolecule init by density/number.
  13. The invalid-?? files have intentional errors to test macromolecule parser error
  14. handling in several categories. The best test for these is to hand-inspect the
  15. error message output, and ensure that it conveys enough information to allow
  16. the user to quickly fix the problem.
  17. SUBUNIT[a, b] = species
  18. Since the topology of the species is 2-dimensional, each assignment must
  19. have a 2-D index (actually a range in each dimension), and each index must
  20. be inside the appropriate bounds for the particular dimension of the
  21. topology. Where ranges are used, they must be non-empty (i.e. first bound
  22. is less than second bound):
  23. * invalid-01: Subunit assignment out of bounds
  24. * invalid-02: Subunit assignment range invalid
  25. * invalid-03: Subunit assignment out of bounds
  26. * invalid-04: Subunit assignment missing dim.
  27. * invalid-05: Subunit assignment extra dim.
  28. * invalid-06: Subunit assignment negative (1st)
  29. * invalid-07: Subunit assignment negative (2nd)
  30. * invalid-34: Subunit assignment missing
  31. SHAPE {
  32. SUBUNIT[a, b] = species
  33. }
  34. Again, the dimensionality of the index for the subunit must match the
  35. dimensionality of the topology of the complex, and none of the index
  36. coordinates may be out-of-bounds for their particular dimension. Each
  37. subunit must have its location specified precisely once.
  38. * invalid-08: Subunit shape out of bounds
  39. * invalid-09: Subunit shape out of bounds
  40. * invalid-10: Subunit shape out of bounds
  41. * invalid-11: Subunit shape out of bounds
  42. * invalid-12: Subunit shape extra dim.
  43. * invalid-13: Subunit shape missing dim.
  44. * invalid-14: Subunit shape missing item
  45. * invalid-15: Subunit shape extra item
  46. SUBUNIT_RELATIONSHIPS {
  47. ring_negative = [ 0, -1]
  48. }
  49. The dimensionality of the subunit offset must match the topology of the
  50. complex. The absolute value of the offset in any index coordinate must be
  51. less than the maximum value for that coordinate. No relationship may
  52. appear more than once. Any relationship which is used in a rate rule or
  53. counting table must be defined.
  54. * invalid-16: Subunit realtionship extra dim.
  55. * invalid-17: Subunit relationship missing dim.
  56. * invalid-18: Subunit relationship range error
  57. * invalid-19: Subunit relationship range error
  58. * invalid-20: Duplicate relationship
  59. * invalid-21: Unknown relationship
  60. RATE_RULES {
  61. coop_binding_rate {
  62. dimer_partner != camkii_subunit : rate_1
  63. DEFAULT : rate_2
  64. }
  65. }
  66. No rate rule may appear more than once. Subunit species may not be
  67. complexes.
  68. * invalid-22: Rate rule uses complex as subunit
  69. * invalid-23: Duplicate rate rule
  70. (camkii_subunit) + cam <-> (camkii_subunitB) [> COMPLEX_RATE camkii coop_binding_rate,
  71. < COMPLEX_RATE camkii coop_unbinding_rate]
  72. A reaction is valid only if neither side includes a subunit (parenthesized
  73. participant) or if both include exactly 1. Complex rate rules must
  74. reference a valid complex and a valid rate rule within the complex.
  75. * invalid-24: Two subunit reactants
  76. * invalid-25: Product missing subunit
  77. * invalid-26: Product has extra subunit
  78. * invalid-27: Complex rate referent is not a complex
  79. * invalid-28: Complex rate rule references non-existent table
  80. {
  81. COUNT[SUBUNIT{
  82. camkii : camkii_subunit
  83. [ dimer_partner == camkii_subunit ]
  84. }, WORLD]
  85. } => "./reaction_data/coop_m00." & seed_str
  86. A complex subunit count is valid only if:
  87. - the complex referenced is a valid complex
  88. - the subunit referenced is a valid molecule (non-complex)
  89. - each relation referenced is a valid relation for the complex
  90. - each subunit referenced in a relation is a valid molecule (non-complex)
  91. - no relation is referenced more than once
  92. * invalid-29: Complex count references non-complex
  93. * invalid-30: Complex count references invalid subunit name
  94. * invalid-31: Complex count references invalid relation
  95. * invalid-32: Complex count references invalid related subunit
  96. * invalid-33: Complex count references the same relation twice
  97. * invalid-36: Extra orientation on volume complex
  98. * invalid-37: Extra orientation on volume subunit
  99. * invalid-38: Extra orientation on volume subunit relation
  100. General errors:
  101. * invalid-35: Complex redefined
  102. * invalid-39: Failure to place molecules (complex too big for region)