//------------description of the file format used in ---------- 'cytosim -t' produces in text mode, which is easier to read However, cytosim usually produces binary files, which follow a similar format, but more compact and faster to read. This file describe the text mode of fileformat = 16 //-------------------------------------------------------------------------- The parsers looks for the first character of the line to decide what to read: # : a comment #frm : the beginning of the frame #end : the end of the frame T : the simulated time in seconds H : the file format (an integer, currently 16) S : the box shape (an integer) and size (6 floats) D : the dimensions of the space, an integer from 1 to 3 B : binary tag, also used to decide if the the bytes should be swapped F : the number of filament, and one above the highest name f : a filament C : the number of complex, and one above the highest name c : a complex A : the number of asters, and one above the highest name a : an aster The filament's format is as follows: f(name) : name of the filament, an hexadecimal integer > 0 type1 : an integer (not used: 0) type2 : an integer (not used: 0) nbpoints : the number of points defining the filaments, an integer > 0 cut : the actual section length, a float bestcut : the ideal section length, a float absminus : the abscisse of the minus end, a float state1 : the state of the minus-end: 0 is growing, 1 is shrinking state2 : the state of the plus-end s(name) : the name of the aster it belongs to on the next line follows the points defining the filament: pos : 2 or 3 floats defining a vector Example of a minimal filament, with two points only: f94 0 0 2 1.0000 1.0000 0.0000 0 0 s2 -2.8206 2.6025 -1.9622 2.0896 The motor complex format is as follows: c(name) : name of the complex, an hexadecimal integer > 0 type : type of the complex, an integer > 0. hand1 : the first motor making the complex hand2 : the second motor making the complex pos : if both hands are free, the position of the complex (2 or 3 floats) The hand format is as follows: type : the type of the hand M(name) : the filament it is attached to, an hexadecimal integer > 0 if ( name == 0 ), the motor is not bound if ( name > 0 ) the motor is attached, then the definition includes also: abs : the abscisse defining the binding position on the filament end : an integer, which defines if the motor is attached at the end of the filament or not: 0: not at any end, 1: at minus-end 2: at the plus-end Examples of hands: 0 M0 : a free hand of type 0 0 M1 5.01 0 : a hand bound to Microtub '1', at abscisse 5.01, not at the end 1 M1 0 1 : a hand bound to the minus-end of Microtub '1'. Example of complex: c1 0 1 M0 2 M0 1.4 0.3 -0.5 : complex '1', made of a hand of type 1, and a hand of type 2, which is free at position (1.4 0.3 -0.5) ca 0 0 M0 0 M1 0 1 : complex 'a' bound by its second hand to the minus-end of microtubule '1'. c1 0 0 M1 0.5 0 M2 3 0 : complex '1' binding Microtub 1 and 2, at abscisse 05 and 3 Format of asters: a(name) : the name of the aster, hexadecial integer > 0 size : the distance from the center of the lateral links polarity : the focussed ends (1: minus-end, 2: plus-end) nbmts : the number of filaments then follows the list of the filament's names (e.g. M1 M3 M4 ...)