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