Load/Save History of Events

All the events the user is performing are shown as a tree of events in the History? Panel. The user can save and later reload this tree to retrieve and/or replay previous analysis. The file format is a simple JSON that can be edited manually.

In the History? Panel, the button "Save" will extract and save a file called "History.json". The button "Load" allows to load previous saved JSON files. After loading, the application should go back to the "selected" state of the previous session. To exit the load session, either press "Escap", click anywhere in the background, or click on the button "Cancel".

Note that the application is still in development and did not reach a "stable" version. Hence, past history may not work anymore due to a change of what the application expects.

Modifying the History

The History is a simple JSON file format that describe a tree. Each JSON object in the "tree" object possesses the following attributes:

  • timestamp : When did the event occures? (localtime)
  • type: The type of the event. It should not be renamed
  • label: The displayed label for further analysis. It can be renamed.
  • ephemeral: Modify only events where "ephemeral" is false, as ephemeral objects are here for logging purposes but are not meant for the user
  • children: The children of this node (remember, the JSON object described a tree)
  • data: The internal data of this node to be replayed. We have the following data:
    • filter: Specify the new filter to apply. See the Filter Panel for a better description of each attributes:
      • duration: Array [Min, Max] (numbers, in days)
      • age: Array [Min, Max] (numbers, in years)
      • no_treatment_duration: Number (in days)
      • interruption_duration: Number (in days)
      • depth: Number (in nodes). Refers to the "Number events in the record" as shown in the Filter Panel.
      • prune_threshold (in number of patients). Refers to the "Minimum number of patients per sequence" as shown in the Filter Panel.
      • diseases: Array of {name, status}. The name should not be touched. Status can either be "yes", "no", or "both".
    • align_sequence: Specify the alignement to apply. See the Sequence Alignement for more information.
      • sequence: Array of [names] (String). Specify the sequence of the alignment. Empty array ==> no alignement should be performed (i.e., cancel the alignement)
      • nOccurence: Corresponds to the "Occurence #" as shown in the Sidebar Interface (see also the Sequence Alignement interface). nOccurence counts from 0 (i.e., 0 == align with the first occurence, 1 == align with the second occurence, etc.). Set nOccurence to -1 to align with the last occurence.

A simple solution for novice users to modify the history manually would be to search for a specific label and modify its internal data.