Spatkin: Difference between revisions

From Laboratory of Modeling in Biology and Medicine
Jump to: navigation, search
mNo edit summary
mNo edit summary
 
(6 intermediate revisions by the same user not shown)
Line 19: Line 19:
====Source code====
====Source code====
* C++ source code:   [{{SERVER}}/software/spatkin/release/spatkin-1.0.0-source.tar.gz spatkin-1.0.0-source.tar.gz]
* C++ source code:   [{{SERVER}}/software/spatkin/release/spatkin-1.0.0-source.tar.gz spatkin-1.0.0-source.tar.gz]
<accordion parent="accordion" heading="How to compile">Compilation on Linux, Mac, and Windows is managed by [http://www.cmake.org/ CMake] – see file COMPILING.txt in the source code for building instructions.</accordion>
* Compilation instructions&nbsp;<div class="toccolors mw-collapsible mw-collapsed"><div class="mw-collapsible-content"><br/>Compilation on Linux, Mac, and Windows is managed by [http://www.cmake.org/ CMake] – see file COMPILING.txt in the source code for detailed building instructions.</div></div>
<br/>
<br/>
====Stand-alone executables====
====Stand-alone executables====
* Mac application bundle (zipped "app"): &nbsp; [{{SERVER}}/software/spatkin/release/spatkin-1.0.0-x86_64-darwin16.zip spatkin-1.0.0-x86_64-darwin16.zip]<accordion parent="accordion" heading="How to verify and run">COMPATIBILITY:&nbsp; This software was built with XCode 8 and tested under macOS 10.12 (Sierra). It is likely incompatible with previous Mac operating system releases.<br/><br/>SECURITY:&nbsp; MD5 sum of the downloadable ZIP archive can be checked in Terminal:<div align="center"> <span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">md5 <i>path_to_zip</i></span></div>MD5 sum of untainted spatkin-1.0.0-x86_64-darwin16.zip is b841ced9da16a6cff9ab2f25654c9334<br/><br/>EXAMPLES:&nbsp; Example S<span style="font-variant:small-caps">patkin</span> input files can be found inside Spatkin.app, in folder Documentation. Independently, they can be downloaded [{{SERVER}}/software/spatkin/release/spatkin-1.0.0-examples.zip here].</accordion>
* macOS: application bundle (zipped "app"): &nbsp; [{{SERVER}}/software/spatkin/release/spatkin-1.0.0-x86_64-darwin16.zip spatkin-1.0.0-x86_64-darwin16.zip]
* macOS: verification and running&nbsp;<div class="toccolors mw-collapsible mw-collapsed"><div class="mw-collapsible-content"><br/>COMPATIBILITY:&nbsp; This software was built with XCode 8 and tested under macOS 10.12 (Sierra). It is likely incompatible with previous Mac operating system releases.<br/><br/>SECURITY:&nbsp; MD5 sum of the downloadable ZIP archive can be checked in Terminal:<div align="center"> <span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">md5 <i>path_to_zip</i></span></div>MD5 sum of untainted spatkin-1.0.0-x86_64-darwin16.zip is b841ced9da16a6cff9ab2f25654c9334<br/><br/>EXAMPLES:&nbsp; Example S<span style="font-variant:small-caps">patkin</span> input files can be found inside Spatkin.app, in folder Documentation. Independently, they can be downloaded [{{SERVER}}/software/spatkin/release/spatkin-1.0.0-examples.zip here].</div></div>


* Windows 64-bit installer: &nbsp; [{{SERVER}}/software/spatkin/release/spatkin-1.0.0-x86_win64-setup.exe spatkin-1.0.0-x86_win64-setup.exe]<accordion parent="accordion" heading="How to verify and run">COMPATIBILITY:&nbsp; This software was built with MSYS2/MinGW64 on Windows&nbsp;10, and tested on Windows&nbsp;10 and Windows&nbsp;8.<br/><br/>SECURITY:&nbsp; The downloadable installer is not signed with a certificate (so in windows terms it comes from an "unknown publisher") but its integrity can be checked manually in command line using a Windows pre-installed utility:<br/><div align="center"><span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">certUtil -hashfile <i>path_to_installer</i> MD5</span></div>MD5 sum of untainted spatkin-1.0.0-x86_win64-setup.exe is e3 27 16 0b 5a 0e a1 b7 f8 b8 e7 7b 46 c0 26 ec<br/><br/>EXAMPLES:&nbsp; After installation, example S<span style="font-variant:small-caps">patkin</span> input files can be found in the windows user directory Documents/SpatkinModels. (There is a new set of examples; installer asks whether the previously installed set of examples should be removed; it's recommended to remove previous examples.) Independently, the same set of examples can be downloaded [{{SERVER}}/software/spatkin/release/spatkin-1.0.0-examples.zip here].</accordion>
* Windows 64-bit: installer: &nbsp; [{{SERVER}}/software/spatkin/release/spatkin-1.0.0-x86_win64-setup.exe spatkin-1.0.0-x86_win64-setup.exe]
* Windows 64-bit: verification and running&nbsp;<div class="toccolors mw-collapsible mw-collapsed"><div class="mw-collapsible-content"><br/>COMPATIBILITY:&nbsp; This software was built with MSYS2/MinGW64 on Windows&nbsp;10, and tested on Windows&nbsp;10 and Windows&nbsp;8.<br/><br/>SECURITY:&nbsp; The downloadable installer is not signed with a certificate (so in windows terms it comes from an "unknown publisher") but its integrity can be checked manually in command line using a Windows pre-installed utility:<br/><div align="center"><span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">certUtil -hashfile <i>path_to_installer</i> MD5</span></div>MD5 sum of untainted spatkin-1.0.0-x86_win64-setup.exe is:<br/>e3 27 16 0b 5a 0e a1 b7 f8 b8 e7 7b 46 c0 26 ec<br/><br/>EXAMPLES:&nbsp; After installation, example S<span style="font-variant:small-caps">patkin</span> input files can be found in the windows user directory Documents/SpatkinModels. (There is a new set of examples; installer asks whether the previously installed set of examples should be removed; it's recommended to remove previous examples.) Independently, the same set of examples can be downloaded [{{SERVER}}/software/spatkin/release/spatkin-1.0.0-examples.zip here].</div></div>
<br/>
<br/>
====Virtual machines with pre-installed S<span style="font-variant:small-caps">patkin</span>====
====Virtual machines with pre-installed S<span style="font-variant:small-caps">patkin</span>====
* Virtual machine hosting Ubuntu Linux: [{{SERVER}}/software/spatkin/release/Virtual_machine_with_spatkin.7z Virtual_machine_with_spatkin.7z]<accordion parent="accordion" heading="How to set up and run">The [http://www.7-zip.org 7-zip] archive contains a configured virtual machine that was created under VirtualBox 5.1.22.  Virtual disk format is VMDK; the guest operating system installed on the disk should thus run not only under VirtualBox but also under VMWare, QEMU, and other virtualization solutions. The machine hosts Ubuntu Linux 16.04.2 LTS.<br/><br/>PLATFORM:&nbsp; VirtualBox for the major operating systems (as hosts) can be downloaded free of charge from [http://www.virtualbox.org/wiki/Downloads http://www.virtualbox.org/wiki/Downloads].<br/><br/>LAUNCHING:&nbsp; After downloading, the archive should be decompressed (command-line: 7z x Virtual_machine_with_spatkin.7z). In Oracle VirtualBox Manager, one should choose from the menu Machine -> Add and point to the SpatkinLinuxBox.vbox file. In the guest Linux system, the default user is ubuntu (password: ubuntu); this user is automatically logged after startup. S<span style="font-variant:small-caps">patkin</span> can be launched via a desktop shortcut or by opening terminal and typing <span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">spatkin</span>.<br/><br/>EXAMPLES:&nbsp;  Example SPATKIN input files can be found in /home/ubuntu/local/spatkin/share/doc. Independently, they can be retrieved, most easily, using wget in Terminal:<br/><span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">wget {{SERVER}}/software/spatkin/release/spatkin-1.0.0-examples.zip</span><br/><br/>POSSIBLE ISSUES:&nbsp; An issue that often arises when launching a virtual machine within VirtualBox for the first time is the lack of hardware-accelerated virtualization technologies such as VT-x or AMD-V. Please note that you may need to enable this feature by changing advanced CPU settings in BIOS of your computer (support for virtualization is often disabled by default).</accordion>
* Virtual machine hosting Ubuntu Linux: [{{SERVER}}/software/spatkin/release/Virtual_machine_with_spatkin.7z Virtual_machine_with_spatkin.7z]
* Setup instructions <div class="toccolors mw-collapsible mw-collapsed"><div class="mw-collapsible-content"><br/>The [http://www.7-zip.org 7-zip] archive contains a configured virtual machine that was created under VirtualBox 5.1.22.  Virtual disk format is VMDK; the guest operating system installed on the disk should thus run not only under VirtualBox but also under VMWare, QEMU, and other virtualization solutions. The machine hosts Ubuntu Linux 16.04.2 LTS.<br/><br/>PLATFORM:&nbsp; VirtualBox for the major operating systems (as hosts) can be downloaded free of charge from [http://www.virtualbox.org/wiki/Downloads http://www.virtualbox.org/wiki/Downloads].<br/><br/>LAUNCHING:&nbsp; After downloading, the archive should be decompressed (command-line: 7z x Virtual_machine_with_spatkin.7z). In Oracle VirtualBox Manager, one should choose from the menu Machine -> Add and point to the SpatkinLinuxBox.vbox file. In the guest Linux system, the default user is ubuntu (password: ubuntu); this user is automatically logged after startup. S<span style="font-variant:small-caps">patkin</span> can be launched via a desktop shortcut or by opening terminal and typing <span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">spatkin</span>.<br/><br/>EXAMPLES:&nbsp;  Example SPATKIN input files can be found in /home/ubuntu/local/spatkin/share/doc. Independently, they can be retrieved, most easily, using wget in Terminal:<br/><span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">wget {{SERVER}}/software/spatkin/release/spatkin-1.0.0-examples.zip</span><br/><br/>POSSIBLE ISSUES:&nbsp; An issue that often arises when launching a virtual machine within VirtualBox for the first time is the lack of hardware-accelerated virtualization technologies such as VT-x or AMD-V. Please note that you may need to enable this feature by changing advanced CPU settings in BIOS of your computer (support for virtualization is often disabled by default).</div></div>
<br/>
<br/>
====[<b>new</b>] Containers====
====[<b>new</b>] Containers====
* A docker-based recipe for a singularity container: &nbsp;[{{SERVER}}/software/spatkin/release/spatkin-1.0.0-singularity.recipe spatkin-1.0.0-singularity.recipe]<accordion parent="accordion" heading="How to set up and run">BUILDING a container (in terminal):<div align="left"> <span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">singularity build spatkin.simg spatkin-1.0.0-singularity.recipe </span></div><br/>LAUNCHING the simulator within a container (in terminal):<div align="left"> <span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">singularity exec spatkin.simg /opt/local/bin/Spatkin</span></div></accordion>
* Dockerfile to build a Docker container image: &nbsp;[{{SERVER}}/software/spatkin/release/spatkin-1.0.0-Dockerfile spatkin-1.0.0-Dockerfile]
* A docker-based recipe for a singularity container: &nbsp;[{{SERVER}}/software/spatkin/release/spatkin-1.0.0-singularity.recipe spatkin-1.0.0-singularity.recipe]
* Setup instructions&nbsp;<div class="toccolors mw-collapsible mw-collapsed"><div class="mw-collapsible-content"><br/><br/>BUILDING a Singularity container (in terminal):<div align="left"> <span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">$ singularity build spatkin.simg spatkin-1.0.0-singularity.recipe </span></div><br/>LAUNCHING the simulator within the sinfularity container (in terminal):<div align="left"> <span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">export LC_ALL=C<br/>$ singularity exec spatkin.simg /opt/local/bin/Spatkin</span></div><br/><br/>BUILDING a Docker container (in terminal):<div align="left"> <span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">$ docker build --build-arg user=$USER --build-arg uid=$(id -u) --build-arg gid=$(id -g) -t spatkin .</span></div><br/>RUNNING the Docker container (in terminal):<div align="left"> <span style="font-family: Lucida Sans Typewriter,Lucida Console,monaco,Bitstream Vera Sans Mono,Consolas,Inconsolata,monospace;">$ xauth nlist $DISPLAY | sed -e 's/^..../ffff/' | xauth -f /tmp/.docker.xauth nmerge -<br/>$ docker run -e DISPLAY=unix$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v /tmp/.docker.xauth:/tmp/.docker.xauth:rw -e XAUTHORITY=/tmp/.docker.xauth -v $HOME:$HOME spatkin </span></div><br/>
 
<br/>
<br/>
====Documentation====
====Documentation====

Latest revision as of 20:18, 28 June 2023

A simulator for rule-based modeling on surfaces


Spatkin implements a direct, lattice-based method, which avoids enumeration of the reaction network implied by a set of rules. Models are specified using an extension of the BioNetGen language, which adds features necessary for characterizing diffusion properties of biomolecules. The tool is capable of simulating biomolecular interactions occurring on or at a two-dimensional surface, such as interactions of the kind commonly involved in receptor signaling.


A diffusion-limited aggregation simulated in Spatkin.


Downloads

Spatkin is distributed under GNU GPL v3.0. The latest Spatkin version is 1.0.0.


Source code

  • C++ source code:   spatkin-1.0.0-source.tar.gz
  • Compilation instructions 

    Compilation on Linux, Mac, and Windows is managed by CMake – see file COMPILING.txt in the source code for detailed building instructions.


Stand-alone executables

  • macOS: application bundle (zipped "app"):   spatkin-1.0.0-x86_64-darwin16.zip
  • macOS: verification and running 

    COMPATIBILITY:  This software was built with XCode 8 and tested under macOS 10.12 (Sierra). It is likely incompatible with previous Mac operating system releases.

    SECURITY:  MD5 sum of the downloadable ZIP archive can be checked in Terminal:
    md5 path_to_zip
    MD5 sum of untainted spatkin-1.0.0-x86_64-darwin16.zip is b841ced9da16a6cff9ab2f25654c9334

    EXAMPLES:  Example Spatkin input files can be found inside Spatkin.app, in folder Documentation. Independently, they can be downloaded here.
  • Windows 64-bit: installer:   spatkin-1.0.0-x86_win64-setup.exe
  • Windows 64-bit: verification and running 

    COMPATIBILITY:  This software was built with MSYS2/MinGW64 on Windows 10, and tested on Windows 10 and Windows 8.

    SECURITY:  The downloadable installer is not signed with a certificate (so in windows terms it comes from an "unknown publisher") but its integrity can be checked manually in command line using a Windows pre-installed utility:
    certUtil -hashfile path_to_installer MD5
    MD5 sum of untainted spatkin-1.0.0-x86_win64-setup.exe is:
    e3 27 16 0b 5a 0e a1 b7 f8 b8 e7 7b 46 c0 26 ec

    EXAMPLES:  After installation, example Spatkin input files can be found in the windows user directory Documents/SpatkinModels. (There is a new set of examples; installer asks whether the previously installed set of examples should be removed; it's recommended to remove previous examples.) Independently, the same set of examples can be downloaded here.


Virtual machines with pre-installed Spatkin

  • Virtual machine hosting Ubuntu Linux: Virtual_machine_with_spatkin.7z
  • Setup instructions

    The 7-zip archive contains a configured virtual machine that was created under VirtualBox 5.1.22. Virtual disk format is VMDK; the guest operating system installed on the disk should thus run not only under VirtualBox but also under VMWare, QEMU, and other virtualization solutions. The machine hosts Ubuntu Linux 16.04.2 LTS.

    PLATFORM:  VirtualBox for the major operating systems (as hosts) can be downloaded free of charge from http://www.virtualbox.org/wiki/Downloads.

    LAUNCHING:  After downloading, the archive should be decompressed (command-line: 7z x Virtual_machine_with_spatkin.7z). In Oracle VirtualBox Manager, one should choose from the menu Machine -> Add and point to the SpatkinLinuxBox.vbox file. In the guest Linux system, the default user is ubuntu (password: ubuntu); this user is automatically logged after startup. Spatkin can be launched via a desktop shortcut or by opening terminal and typing spatkin.

    EXAMPLES:  Example SPATKIN input files can be found in /home/ubuntu/local/spatkin/share/doc. Independently, they can be retrieved, most easily, using wget in Terminal:
    wget https://pmbm.ippt.pan.pl/software/spatkin/release/spatkin-1.0.0-examples.zip

    POSSIBLE ISSUES:  An issue that often arises when launching a virtual machine within VirtualBox for the first time is the lack of hardware-accelerated virtualization technologies such as VT-x or AMD-V. Please note that you may need to enable this feature by changing advanced CPU settings in BIOS of your computer (support for virtualization is often disabled by default).


[new] Containers

  • Dockerfile to build a Docker container image:  spatkin-1.0.0-Dockerfile
  • A docker-based recipe for a singularity container:  spatkin-1.0.0-singularity.recipe
  • Setup instructions 


    BUILDING a Singularity container (in terminal):
    $ singularity build spatkin.simg spatkin-1.0.0-singularity.recipe

    LAUNCHING the simulator within the sinfularity container (in terminal):
    export LC_ALL=C
    $ singularity exec spatkin.simg /opt/local/bin/Spatkin


    BUILDING a Docker container (in terminal):
    $ docker build --build-arg user=$USER --build-arg uid=$(id -u) --build-arg gid=$(id -g) -t spatkin .

    RUNNING the Docker container (in terminal):
    $ xauth nlist $DISPLAY | sed -e 's/^..../ffff/' | xauth -f /tmp/.docker.xauth nmerge -
    $ docker run -e DISPLAY=unix$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v /tmp/.docker.xauth:/tmp/.docker.xauth:rw -e XAUTHORITY=/tmp/.docker.xauth -v $HOME:$HOME spatkin


Documentation


Example models




Contact

The lead software developer is Marek Kochańczyk. For both user's and developer's queries please use the following e-mail address: spatkin.simulator@gmail.com


References


Primary software citation

  • Kochańczyk M, Hlavacek WS, Lipniacki T. Spatkin: a simulator for rule-based modeling of biomolecular site dynamics on surfaces, Bioinformatics (2017) 33(22):3667–3669 PubMed CrossRef


Spatkin simulation-based studies

  • Nałęcz-Jawecki P, Szymańska P, Kochańczyk M, Miękisz J, Lipniacki T. Effective reaction rates for diffusion-limited reaction cycles, J Chem Phys 143(21):215102 (2015) PubMed CrossRef | PDF-ms
  • Szymańska P, Kochańczyk M, Miększ J, Lipniacki T. Effective reaction rates in diffusion-limited phosphorylation–dephosphorylation cycles, Phys Rev E 91:022702 (2015) PubMed CrossRef | PDF-ms
  • Kochańczyk M, Jaruszewicz J, Lipniacki T. Stochastic transitions in a bistable reaction system on the membrane, J R Soc Interface 10(84):20130151 (2013) PubMed CrossRef | PDF Supp-PDF Supp-movies
  • Żuk PJ, Kochańczyk M, Jaruszewicz J, Bednorz W, Lipniacki T. Dynamics of a stochastic spatially extended system predicted by comparing deterministic and stochastic attractors of the corresponding birth-death process, Phys Biol 5(9):055002 (2012) PubMed CrossRef | PDF-ms