Skip to content

Database mode

AlexanderGress edited this page Nov 8, 2021 · 5 revisions

The default configuration of StructMAn is the so-called database mode. Alternatively, one can deactivate the database mode with the -l flag. In database mode the pipeline locally stores processed data and results. Thus, we expect some overhead here for data the pipeline never has processed, but it will amortize when the pipeline is frequently used. In the following, we investigate some examples to better understand the differences between the lite mode and the database mode.


In the first example, we process P53 using the lite mode (command line input uses lite mode per default):
structman -i P53_HUMAN
The completion of this command took 10 minutes and 19 seconds.
Subsequently, we want to process one specific mutation in P53, so we call:
structman -i P53_HUMAN T140G
This time StructMAn returns after 8 minutes and 45 seconds.
Now, let's repeat the same examples using the database mode. Since the database mode is compatible with single-line inputs, we have to create two input files here: p53.smlf and p53_t140g.smlf, which contain the same input as given the two examples above using the lite mode with single-line inputs.
structman -i structman/input_data/p53.smlf
The first command now took exactly 14 minutes. So the database mode comes with an overhead for unseen data. But now calling the second command:
structman -i structman/input_data/p53_t140g.smlf
Which returns after 16 seconds. Showing that known data amortize well for the overhead of unseen data.


For the unlikely case, one wants to empty the contents in the database, one can do so via:
structman database reset
For removing session, proteins, positions, mutations, alignments and results aggregations, but keeping structural analysis results, one has to call:
structman database clear
If one wants to completely remove the database from the container, one has to call:
structman database destroy
After that one can recreate it, using:
structman database create

Clone this wiki locally