biocham.pl 2.27 KB
 Thierry Martinez committed Oct 08, 2015 1 2 3 :- module( biocham, [  Thierry Martinez committed Oct 09, 2015 4 5  start/0, initialize/0,  Thierry Martinez committed Oct 15, 2015 6  biocham_command/0,  Thierry Martinez committed Oct 15, 2015 7 8  biocham_command/1, library_path/1  Thierry Martinez committed Oct 08, 2015 9 10  ]).  Thierry Martinez committed Oct 15, 2015 11 12 13 :- doc(' The Biochemical Abstract Machine (Biocham) is a software environment for modeling and analyzing biochemical systems.  Thierry Martinez committed Apr 01, 2016 14  Biocham is mainly composed of:  Thierry Martinez committed Oct 15, 2015 15 16 17  \\begin{itemize} \\item a rule-based language for modeling biochemical systems (compatible with SBML and SBGN),  FAGES Francois committed Apr 01, 2016 18 19 20 21 22 23  \\item static analysers for inferring various dynamical properties from the structure of the model; \\item simulators for the different semantics: continuous (differential equations), stochastic, asynchronous Boolean; \\item a temporal logic based language to formalize the temporal behaviours of biological systems, validate models with respect to such specifications by model-checking methods, infer parameter values in high dimension with temporal logic constraints, measure parameter sensitivity indices and robustness of temporal properties;  Thierry Martinez committed Oct 15, 2015 24  \\item unique features for developing/correcting/completing/reducing/coupling  FAGES Francois committed Apr 01, 2016 25  models.  Thierry Martinez committed Oct 15, 2015 26 27 28 29  \\end{itemize} Biocham is a free software protected by the GNU General Public License GPL version 2. This is an Open Source license that allows free usage of this software.  Thierry Martinez committed Oct 15, 2015 30 ').  Thierry Martinez committed Oct 09, 2015 31 32 33 34 35 36 37 38  start :- about, initialize, do_arguments. initialize :-  Thierry Martinez committed Oct 15, 2015 39  initialize_library_path,  Thierry Martinez committed Oct 16, 2015 40  set_prolog_flag(allow_variable_name_as_functor, true),  Thierry Martinez committed Oct 09, 2015 41  prolog_history(enable),  Thierry Martinez committed Oct 09, 2015 42  set_counter(item_id, 0),  Thierry Martinez committed Oct 16, 2015 43  set_plot_driver(gnu_plot),  Thierry Martinez committed Oct 23, 2015 44 45 46  set_image_viewer_driver(open_file), set_draw_graph_driver(graph_pdf), nb_setval(graph_pdf, 0),  Thierry Martinez committed Oct 25, 2015 47 48  nb_setval(current_models, []), load_biocham('library:initial'),  Thierry Martinez committed Oct 09, 2015 49  new_model.  Thierry Martinez committed Oct 09, 2015 50 51   Thierry Martinez committed Oct 15, 2015 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 :- dynamic(library_path/1). initialize_library_path :- ( getenv('BIOCHAMLIB', LibraryPath) -> true ; executable_filename(ExecutableFilename), absolute_file_name( 'library/gsl_solver.c', LibraryFile, [relative_to(ExecutableFilename)] ), file_directory_name(LibraryFile, LibraryPath) ), assertz(library_path(LibraryPath)).  Thierry Martinez committed Oct 16, 2015 72 73 biocham_command :- doc('Declares a command for the top-level.').  Thierry Martinez committed Oct 15, 2015 74 75   Thierry Martinez committed Oct 16, 2015 76 77 78 79 80 biocham_command(_) :- doc(' With a * : declares a command for the top-level that can take an unlimited number of arguments. The additional arguments are given as a list in the last parameter.').