Browse Source

Initial commit adding data, analysis scripts and results

pietroquaglio 5 years ago
parent
commit
a4ec7d91b6
66 changed files with 1297 additions and 1 deletions
  1. 1 1
      .gitignore
  2. 1063 0
      generate_validation_results.ipynb
  3. 9 0
      requirements.txt
  4. 1 0
      simulation_data/iteration_I/60s_simulation_runs/C/out_firings_after5h.dat
  5. 1 0
      simulation_data/iteration_I/60s_simulation_runs/SpiNNaker_i/out_firings_after5h.dat
  6. 1 0
      simulation_data/iteration_I/60s_simulation_runs/SpiNNaker_ii/out_firings_after5h.dat
  7. 1 0
      simulation_data/iteration_I/60s_simulation_runs/SpiNNaker_iii/out_firings_after5h.dat
  8. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_conMatrix.dat
  9. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_delayMatrix.dat
  10. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_firings.dat.tar.gz
  11. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_input.dat
  12. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_pythonConWeightDelay_after1h.py
  13. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_pythonConWeightDelay_after2h.py
  14. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_pythonConWeightDelay_after3h.py
  15. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_pythonConWeightDelay_after4h.py
  16. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_pythonConWeightDelay_after5h.py
  17. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_pythonConWeightDelay_initial.py
  18. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_weightMatrix_after1h.dat
  19. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_weightMatrix_after2h.dat
  20. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_weightMatrix_after3h.dat
  21. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_weightMatrix_after4h.dat
  22. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_weightMatrix_after5h.dat
  23. 1 0
      simulation_data/iteration_I/initial_5h_C_simulation/out_weightMatrix_initial.dat
  24. 1 0
      simulation_data/iteration_II/60s_simulation_runs/C/out_firings_after1h.dat
  25. 1 0
      simulation_data/iteration_II/60s_simulation_runs/C/out_firings_after2h.dat
  26. 1 0
      simulation_data/iteration_II/60s_simulation_runs/C/out_firings_after3h.dat
  27. 1 0
      simulation_data/iteration_II/60s_simulation_runs/C/out_firings_after4h.dat
  28. 1 0
      simulation_data/iteration_II/60s_simulation_runs/C/out_firings_after5h.dat
  29. 1 0
      simulation_data/iteration_II/60s_simulation_runs/SpiNNaker/out_firings_after1h.dat
  30. 1 0
      simulation_data/iteration_II/60s_simulation_runs/SpiNNaker/out_firings_after2h.dat
  31. 1 0
      simulation_data/iteration_II/60s_simulation_runs/SpiNNaker/out_firings_after3h.dat
  32. 1 0
      simulation_data/iteration_II/60s_simulation_runs/SpiNNaker/out_firings_after4h.dat
  33. 1 0
      simulation_data/iteration_II/60s_simulation_runs/SpiNNaker/out_firings_after5h.dat
  34. 1 0
      simulation_data/iteration_II/initial_5h_C_simulation/out_conMatrix.dat
  35. 1 0
      simulation_data/iteration_II/initial_5h_C_simulation/out_delayMatrix.dat
  36. 1 0
      simulation_data/iteration_II/initial_5h_C_simulation/out_pythonConWeightDelay.py
  37. 1 0
      simulation_data/iteration_II/initial_5h_C_simulation/out_weightMatrix_after1h.dat
  38. 1 0
      simulation_data/iteration_II/initial_5h_C_simulation/out_weightMatrix_after2h.dat
  39. 1 0
      simulation_data/iteration_II/initial_5h_C_simulation/out_weightMatrix_after3h.dat
  40. 1 0
      simulation_data/iteration_II/initial_5h_C_simulation/out_weightMatrix_after4h.dat
  41. 1 0
      simulation_data/iteration_II/initial_5h_C_simulation/out_weightMatrix_after5h.dat
  42. 1 0
      simulation_data/iteration_II/initial_5h_C_simulation/out_weightMatrix_initial.dat
  43. 1 0
      simulation_data/iteration_III/60s_simulation_runs/C/out_firings_after1h.dat
  44. 1 0
      simulation_data/iteration_III/60s_simulation_runs/C/out_firings_after2h.dat
  45. 1 0
      simulation_data/iteration_III/60s_simulation_runs/C/out_firings_after3h.dat
  46. 1 0
      simulation_data/iteration_III/60s_simulation_runs/C/out_firings_after4h.dat
  47. 1 0
      simulation_data/iteration_III/60s_simulation_runs/C/out_firings_after5h.dat
  48. 1 0
      simulation_data/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after1h.dat
  49. 1 0
      simulation_data/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after2h.dat
  50. 1 0
      simulation_data/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after3h.dat
  51. 1 0
      simulation_data/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after4h.dat
  52. 1 0
      simulation_data/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after5h.dat
  53. 24 0
      spade_analysis/Snakefile
  54. 9 0
      spade_analysis/cluster.json
  55. 9 0
      spade_analysis/configfile_spade.yaml
  56. 1 0
      spade_analysis/patterns_results/iteration_III/60s_simulation_runs/C/out_firings_after1h/patterns.npy
  57. 1 0
      spade_analysis/patterns_results/iteration_III/60s_simulation_runs/C/out_firings_after2h/patterns.npy
  58. 1 0
      spade_analysis/patterns_results/iteration_III/60s_simulation_runs/C/out_firings_after3h/patterns.npy
  59. 1 0
      spade_analysis/patterns_results/iteration_III/60s_simulation_runs/C/out_firings_after4h/patterns.npy
  60. 1 0
      spade_analysis/patterns_results/iteration_III/60s_simulation_runs/C/out_firings_after5h/patterns.npy
  61. 1 0
      spade_analysis/patterns_results/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after1h/patterns.npy
  62. 1 0
      spade_analysis/patterns_results/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after2h/patterns.npy
  63. 1 0
      spade_analysis/patterns_results/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after3h/patterns.npy
  64. 1 0
      spade_analysis/patterns_results/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after4h/patterns.npy
  65. 1 0
      spade_analysis/patterns_results/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after5h/patterns.npy
  66. 123 0
      spade_analysis/spade_analysis.py

+ 1 - 1
.gitignore

@@ -16,7 +16,7 @@ nosetests.xml
 .settings
 *.tmp*
 .idea
-
+.snakemake
 # Compiled source #
 ###################
 *.a

File diff suppressed because it is too large
+ 1063 - 0
generate_validation_results.ipynb


+ 9 - 0
requirements.txt

@@ -0,0 +1,9 @@
+elephant == 0.5.0
+sciunit == 0.2.0.2
+jupyter == 1.0.0
+tabulate == 0.8.2
+networkx == 2.1
+fastcluster == 1.1.24
+seaborn == 0.8.1
+pyyaml == 3.12
+argparse == 1.1

+ 1 - 0
simulation_data/iteration_I/60s_simulation_runs/C/out_firings_after5h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/ZJ/g1/SHA256E-s7373895--30359f23edb7004803acdc3d407ee9dd695dacc88b1508d7338e737d60016bef.dat/SHA256E-s7373895--30359f23edb7004803acdc3d407ee9dd695dacc88b1508d7338e737d60016bef.dat

+ 1 - 0
simulation_data/iteration_I/60s_simulation_runs/SpiNNaker_i/out_firings_after5h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/M5/zM/SHA256E-s2943708--e4ee6287fdb6ecbfb6641a678a65241bf82b50fecfc4c830f3d46f650eddb121.dat/SHA256E-s2943708--e4ee6287fdb6ecbfb6641a678a65241bf82b50fecfc4c830f3d46f650eddb121.dat

+ 1 - 0
simulation_data/iteration_I/60s_simulation_runs/SpiNNaker_ii/out_firings_after5h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/GK/8Q/SHA256E-s6644186--035902b79ae5684e403ce6a6b50d7a12cafc147339cb1712939b5c45c46df532.dat/SHA256E-s6644186--035902b79ae5684e403ce6a6b50d7a12cafc147339cb1712939b5c45c46df532.dat

+ 1 - 0
simulation_data/iteration_I/60s_simulation_runs/SpiNNaker_iii/out_firings_after5h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/Qk/0g/SHA256E-s7638703--bbad169d28e8e662acb6950c2438882dd12fb6d01f426d448fcbea2dc543c261.dat/SHA256E-s7638703--bbad169d28e8e662acb6950c2438882dd12fb6d01f426d448fcbea2dc543c261.dat

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_conMatrix.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/XF/zQ/SHA256E-s401000--6ad53a886bc33ba24981713ebe49f9a948f08c0d0d874b8fa2ebbae04ecb92a3.dat/SHA256E-s401000--6ad53a886bc33ba24981713ebe49f9a948f08c0d0d874b8fa2ebbae04ecb92a3.dat

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_delayMatrix.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/Fm/4k/SHA256E-s401000--bf3cc474b47de2f53963ca0dc58b36f4680ceb1b1311a6c40f3ba7f17665ed6d.dat/SHA256E-s401000--bf3cc474b47de2f53963ca0dc58b36f4680ceb1b1311a6c40f3ba7f17665ed6d.dat

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_firings.dat.tar.gz

@@ -0,0 +1 @@
+../../../.git/annex/objects/71/zG/SHA256E-s503610627--21269af4ae7c9af314aae58db210228e7a389976d762dbbebea863d96910fb4d.tar.gz/SHA256E-s503610627--21269af4ae7c9af314aae58db210228e7a389976d762dbbebea863d96910fb4d.tar.gz

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_input.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/PP/Wz/SHA256E-s271800000--346e3304ab642c952f340686e8a3458714a525bccf6d5dbc19fa0b1be6dbe1a5.dat/SHA256E-s271800000--346e3304ab642c952f340686e8a3458714a525bccf6d5dbc19fa0b1be6dbe1a5.dat

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_pythonConWeightDelay_after1h.py

@@ -0,0 +1 @@
+../../../.git/annex/objects/vj/ZM/SHA256E-s3012580--0d0db98a088487370d8455973c40c01672203dec045a89127504594428472138.py/SHA256E-s3012580--0d0db98a088487370d8455973c40c01672203dec045a89127504594428472138.py

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_pythonConWeightDelay_after2h.py

@@ -0,0 +1 @@
+../../../.git/annex/objects/Jf/50/SHA256E-s3012580--73b63acecc60a09fe046de833ffe03d9fd1ac82a5575b4e7fa5680b071b73805.py/SHA256E-s3012580--73b63acecc60a09fe046de833ffe03d9fd1ac82a5575b4e7fa5680b071b73805.py

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_pythonConWeightDelay_after3h.py

@@ -0,0 +1 @@
+../../../.git/annex/objects/zZ/Zj/SHA256E-s3012580--e30e6b64dfaa3914f2e41349c6dec460d71c94646a594dfc0fbf83c432658fa0.py/SHA256E-s3012580--e30e6b64dfaa3914f2e41349c6dec460d71c94646a594dfc0fbf83c432658fa0.py

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_pythonConWeightDelay_after4h.py

@@ -0,0 +1 @@
+../../../.git/annex/objects/mQ/PW/SHA256E-s3012580--7fd9a24ef25d593083202a585041bca6b594a67ce68e36cb1fa606130e9e5493.py/SHA256E-s3012580--7fd9a24ef25d593083202a585041bca6b594a67ce68e36cb1fa606130e9e5493.py

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_pythonConWeightDelay_after5h.py

@@ -0,0 +1 @@
+../../../.git/annex/objects/2x/3P/SHA256E-s3012580--236ea14d5aa7e5e0f1c68143340bab3c627107a7f522c804e5d3cc301158ae31.py/SHA256E-s3012580--236ea14d5aa7e5e0f1c68143340bab3c627107a7f522c804e5d3cc301158ae31.py

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_pythonConWeightDelay_initial.py

@@ -0,0 +1 @@
+../../../.git/annex/objects/5Z/pp/SHA256E-s3012580--fcec56c6c287202ba975b79ddef8f8759ebb020bd50168a932c13f6660685bf0.py/SHA256E-s3012580--fcec56c6c287202ba975b79ddef8f8759ebb020bd50168a932c13f6660685bf0.py

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_weightMatrix_after1h.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/M1/4F/SHA256E-s958330--e32146c802ee0fbf68e4fbb93610d383588115d29d17984a81ffe630b33e6e80.dat/SHA256E-s958330--e32146c802ee0fbf68e4fbb93610d383588115d29d17984a81ffe630b33e6e80.dat

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_weightMatrix_after2h.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/Vg/43/SHA256E-s956585--afa173a9dbbf30df35fdcdcc6421b6e93ec33638e76049ebc6a7fec372b5e240.dat/SHA256E-s956585--afa173a9dbbf30df35fdcdcc6421b6e93ec33638e76049ebc6a7fec372b5e240.dat

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_weightMatrix_after3h.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/xV/7p/SHA256E-s956448--020ecd5c340b13b8561a2deb57a9d5375abea79c87b119ebd4056ab121de5c24.dat/SHA256E-s956448--020ecd5c340b13b8561a2deb57a9d5375abea79c87b119ebd4056ab121de5c24.dat

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_weightMatrix_after4h.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/KK/WZ/SHA256E-s956434--95c9ff29a9ccaa1e36bee1e38a64dea266f5b3a6b90ab9a7c1c79a5c9a4544bf.dat/SHA256E-s956434--95c9ff29a9ccaa1e36bee1e38a64dea266f5b3a6b90ab9a7c1c79a5c9a4544bf.dat

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_weightMatrix_after5h.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/xf/Kk/SHA256E-s956309--3e199534fac9658382b65f5d48277112a2eba06ce2cedc64ca3fe93e7e0b254f.dat/SHA256E-s956309--3e199534fac9658382b65f5d48277112a2eba06ce2cedc64ca3fe93e7e0b254f.dat

+ 1 - 0
simulation_data/iteration_I/initial_5h_C_simulation/out_weightMatrix_initial.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/F5/5W/SHA256E-s921000--4be7e83fcc8f7187dc1f591127cb463a2ee43df9a32568b5ec64ef08a76c77f8.dat/SHA256E-s921000--4be7e83fcc8f7187dc1f591127cb463a2ee43df9a32568b5ec64ef08a76c77f8.dat

+ 1 - 0
simulation_data/iteration_II/60s_simulation_runs/C/out_firings_after1h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/Gv/Q8/SHA256E-s6722340--f609eb068d20611d6dc48fed0366e27164eac3dee815aa5db184758a1bd90c80.dat/SHA256E-s6722340--f609eb068d20611d6dc48fed0366e27164eac3dee815aa5db184758a1bd90c80.dat

+ 1 - 0
simulation_data/iteration_II/60s_simulation_runs/C/out_firings_after2h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/Pq/61/SHA256E-s7238280--b5d393371364657dbf2b6b83f2e0aa7909c83cc0c379dead9a512b869090b332.dat/SHA256E-s7238280--b5d393371364657dbf2b6b83f2e0aa7909c83cc0c379dead9a512b869090b332.dat

+ 1 - 0
simulation_data/iteration_II/60s_simulation_runs/C/out_firings_after3h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/Ww/0q/SHA256E-s7003755--8e4eacdd09a65bbf4163936f9efcd256c18399c4ecddcacf6e607ed7b65a50e3.dat/SHA256E-s7003755--8e4eacdd09a65bbf4163936f9efcd256c18399c4ecddcacf6e607ed7b65a50e3.dat

+ 1 - 0
simulation_data/iteration_II/60s_simulation_runs/C/out_firings_after4h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/3V/Z4/SHA256E-s7134345--373fc28cdc7af93fceb2409fac9b3f2093d1a25cf6b5b639e4fa3c5f3a3f1ca7.dat/SHA256E-s7134345--373fc28cdc7af93fceb2409fac9b3f2093d1a25cf6b5b639e4fa3c5f3a3f1ca7.dat

+ 1 - 0
simulation_data/iteration_II/60s_simulation_runs/C/out_firings_after5h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/0m/p2/SHA256E-s7070640--d607e59fbef3aadd791625ff5d7f0375a793bf2e849b205920e2462eb7e4cabf.dat/SHA256E-s7070640--d607e59fbef3aadd791625ff5d7f0375a793bf2e849b205920e2462eb7e4cabf.dat

+ 1 - 0
simulation_data/iteration_II/60s_simulation_runs/SpiNNaker/out_firings_after1h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/fj/90/SHA256E-s7628196--93f618cae0a3a228af226a8f15f752f029f508d9d5eb58a2248d641b4adb8a42.dat/SHA256E-s7628196--93f618cae0a3a228af226a8f15f752f029f508d9d5eb58a2248d641b4adb8a42.dat

+ 1 - 0
simulation_data/iteration_II/60s_simulation_runs/SpiNNaker/out_firings_after2h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/9f/pQ/SHA256E-s8550836--ec4472d7b1707cb88a63b1e7e4edf5f22f07f285200ce25a7a7e7a18a19f7faa.dat/SHA256E-s8550836--ec4472d7b1707cb88a63b1e7e4edf5f22f07f285200ce25a7a7e7a18a19f7faa.dat

+ 1 - 0
simulation_data/iteration_II/60s_simulation_runs/SpiNNaker/out_firings_after3h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/1g/Qp/SHA256E-s7840825--61511c755ca7861eb26600d5b8e53b71be60dbfd68de230f2444113f044c8f18.dat/SHA256E-s7840825--61511c755ca7861eb26600d5b8e53b71be60dbfd68de230f2444113f044c8f18.dat

+ 1 - 0
simulation_data/iteration_II/60s_simulation_runs/SpiNNaker/out_firings_after4h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/W2/Q1/SHA256E-s8452074--c7eba483a61e7076532deb8d2795183ffe7253f7896c7ef85934b12fc42eebba.dat/SHA256E-s8452074--c7eba483a61e7076532deb8d2795183ffe7253f7896c7ef85934b12fc42eebba.dat

+ 1 - 0
simulation_data/iteration_II/60s_simulation_runs/SpiNNaker/out_firings_after5h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/xM/fM/SHA256E-s8076710--ba10a3f316b9fafc0c0e7ba4512aaad9df20e68b59ed0a3f9921f63fd5fff445.dat/SHA256E-s8076710--ba10a3f316b9fafc0c0e7ba4512aaad9df20e68b59ed0a3f9921f63fd5fff445.dat

+ 1 - 0
simulation_data/iteration_II/initial_5h_C_simulation/out_conMatrix.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/XF/zQ/SHA256E-s401000--6ad53a886bc33ba24981713ebe49f9a948f08c0d0d874b8fa2ebbae04ecb92a3.dat/SHA256E-s401000--6ad53a886bc33ba24981713ebe49f9a948f08c0d0d874b8fa2ebbae04ecb92a3.dat

+ 1 - 0
simulation_data/iteration_II/initial_5h_C_simulation/out_delayMatrix.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/Fm/4k/SHA256E-s401000--bf3cc474b47de2f53963ca0dc58b36f4680ceb1b1311a6c40f3ba7f17665ed6d.dat/SHA256E-s401000--bf3cc474b47de2f53963ca0dc58b36f4680ceb1b1311a6c40f3ba7f17665ed6d.dat

+ 1 - 0
simulation_data/iteration_II/initial_5h_C_simulation/out_pythonConWeightDelay.py

@@ -0,0 +1 @@
+../../../.git/annex/objects/5Z/pp/SHA256E-s3012580--fcec56c6c287202ba975b79ddef8f8759ebb020bd50168a932c13f6660685bf0.py/SHA256E-s3012580--fcec56c6c287202ba975b79ddef8f8759ebb020bd50168a932c13f6660685bf0.py

+ 1 - 0
simulation_data/iteration_II/initial_5h_C_simulation/out_weightMatrix_after1h.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/Pk/9f/SHA256E-s955359--72d60cdc1473ec640f124e4c6d8c7c4dfcd54dfc0771267e71b0b8cc8ce69ed9.dat/SHA256E-s955359--72d60cdc1473ec640f124e4c6d8c7c4dfcd54dfc0771267e71b0b8cc8ce69ed9.dat

+ 1 - 0
simulation_data/iteration_II/initial_5h_C_simulation/out_weightMatrix_after2h.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/v5/87/SHA256E-s956002--7ba6be271fa4fea13081e3c2ae6bc4d73efeb046238a31182a0622faa7846159.dat/SHA256E-s956002--7ba6be271fa4fea13081e3c2ae6bc4d73efeb046238a31182a0622faa7846159.dat

+ 1 - 0
simulation_data/iteration_II/initial_5h_C_simulation/out_weightMatrix_after3h.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/GP/Q4/SHA256E-s955713--d69c408a33cd74eb65fd94d005b78ce4c0993f68a3fcba42c19de0e9236b58d1.dat/SHA256E-s955713--d69c408a33cd74eb65fd94d005b78ce4c0993f68a3fcba42c19de0e9236b58d1.dat

+ 1 - 0
simulation_data/iteration_II/initial_5h_C_simulation/out_weightMatrix_after4h.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/Fw/Zx/SHA256E-s955877--6d2a41aae30cc2ee1974ab3080023868f2084b518c1ea21e2e274083b334b217.dat/SHA256E-s955877--6d2a41aae30cc2ee1974ab3080023868f2084b518c1ea21e2e274083b334b217.dat

+ 1 - 0
simulation_data/iteration_II/initial_5h_C_simulation/out_weightMatrix_after5h.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/jV/k6/SHA256E-s955620--4f18d43b9ec73e6023c9a08089f9c652ac253e7cb07713595f83b4119ef23bf6.dat/SHA256E-s955620--4f18d43b9ec73e6023c9a08089f9c652ac253e7cb07713595f83b4119ef23bf6.dat

+ 1 - 0
simulation_data/iteration_II/initial_5h_C_simulation/out_weightMatrix_initial.dat

@@ -0,0 +1 @@
+../../../.git/annex/objects/F5/5W/SHA256E-s921000--4be7e83fcc8f7187dc1f591127cb463a2ee43df9a32568b5ec64ef08a76c77f8.dat/SHA256E-s921000--4be7e83fcc8f7187dc1f591127cb463a2ee43df9a32568b5ec64ef08a76c77f8.dat

+ 1 - 0
simulation_data/iteration_III/60s_simulation_runs/C/out_firings_after1h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/Vp/g6/SHA256E-s6895515--afcf42e5002fa3873929a2ae9961a81d11d8977d0a5c228fe8a3d5462631137b.dat/SHA256E-s6895515--afcf42e5002fa3873929a2ae9961a81d11d8977d0a5c228fe8a3d5462631137b.dat

+ 1 - 0
simulation_data/iteration_III/60s_simulation_runs/C/out_firings_after2h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/1P/2V/SHA256E-s7243995--32936e26a00cf76d30e7871ef39ab9ea880dd2220876acadd1437f92ba1da22c.dat/SHA256E-s7243995--32936e26a00cf76d30e7871ef39ab9ea880dd2220876acadd1437f92ba1da22c.dat

+ 1 - 0
simulation_data/iteration_III/60s_simulation_runs/C/out_firings_after3h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/pm/GZ/SHA256E-s7110930--9e2effd617d8e6ddc5ebbd8721009e698a5aa3d0d4dcd86c17d328ebc6dad9ff.dat/SHA256E-s7110930--9e2effd617d8e6ddc5ebbd8721009e698a5aa3d0d4dcd86c17d328ebc6dad9ff.dat

+ 1 - 0
simulation_data/iteration_III/60s_simulation_runs/C/out_firings_after4h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/p4/GZ/SHA256E-s7253475--bd806e76e13391da9563a9195c0d590f4736708bf0b2340c078ebb3b650646ac.dat/SHA256E-s7253475--bd806e76e13391da9563a9195c0d590f4736708bf0b2340c078ebb3b650646ac.dat

+ 1 - 0
simulation_data/iteration_III/60s_simulation_runs/C/out_firings_after5h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/gM/p6/SHA256E-s7193010--1bb6011c8e427133e101a73e4fc0a33b16f85d6e5caf7a9ae4b846428ff43027.dat/SHA256E-s7193010--1bb6011c8e427133e101a73e4fc0a33b16f85d6e5caf7a9ae4b846428ff43027.dat

+ 1 - 0
simulation_data/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after1h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/kG/m7/SHA256E-s9585519--666038f705d207821c60536e7519e984531e4a1121d63620b8765ff8986b7c21.dat/SHA256E-s9585519--666038f705d207821c60536e7519e984531e4a1121d63620b8765ff8986b7c21.dat

+ 1 - 0
simulation_data/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after2h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/X8/1z/MD5-s10814553--c98fe2c6a296709054ffb497dace5b8f/MD5-s10814553--c98fe2c6a296709054ffb497dace5b8f

+ 1 - 0
simulation_data/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after3h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/Wg/P0/SHA256E-s10329217--41b750b4f80f8b13110811d7c815843353cff15cdabb97034b05cf65a546b836.dat/SHA256E-s10329217--41b750b4f80f8b13110811d7c815843353cff15cdabb97034b05cf65a546b836.dat

+ 1 - 0
simulation_data/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after4h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/Fw/pJ/SHA256E-s10396021--71aa95750c210b933b6af3c86373afde5a0134930bf27f032a33726f4e68f3a9.dat/SHA256E-s10396021--71aa95750c210b933b6af3c86373afde5a0134930bf27f032a33726f4e68f3a9.dat

+ 1 - 0
simulation_data/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after5h.dat

@@ -0,0 +1 @@
+../../../../.git/annex/objects/0Q/2K/SHA256E-s10357356--6bd139ab546cd74ad5f9e625e1c5f20227702e621ba42314a47102d52beb3a65.dat/SHA256E-s10357356--6bd139ab546cd74ad5f9e625e1c5f20227702e621ba42314a47102d52beb3a65.dat

+ 24 - 0
spade_analysis/Snakefile

@@ -0,0 +1,24 @@
+# This Snakefile run the SPADE analysis for all the possible configurations of simulators and hours from which the simulated spike data where recorded
+simulators = ['SpiNNaker', 'C']
+hours = range(1,6)
+
+# Summoning all the output files
+rule all:
+    input:
+        expand('patterns_results/iteration_III/60s_simulation_runs/{simulator}/out_firings_after{hour}h/patterns.npy', simulator=simulators, hour=hours),
+        expand('../simulation_data/iteration_III/60s_simulation_runs/{simulator}/out_firings_after{hour}h.dat', simulator=simulators, hour=hours)
+
+# Tocken rule to check the simulated data exist
+rule check_data:
+    output:
+        protected('../simulation_data/iteration_III/60s_simulation_runs/{simulator}/out_firings_after{hour}h.dat')
+        
+# Rule to pass to spade_analysis.py all the combinations of the parameters simulator and hour
+rule analyze_data:
+    input:
+        data=protected('../simulation_data/iteration_III/60s_simulation_runs/{simulator}/out_firings_after{hour}h.dat'),
+        script='spade_analysis.py'
+    output:
+        'patterns_results/iteration_III/60s_simulation_runs/{simulator}/out_firings_after{hour}h/patterns.npy'
+    shell:
+        'python spade_analysis.py {wildcards.simulator} {wildcards.hour}'

+ 9 - 0
spade_analysis/cluster.json

@@ -0,0 +1,9 @@
+{
+    "__default__": {
+        "time": "72:00:00",
+        "n":1,
+        "mem":"8G",
+        "name"      : "{wildcards}.{rule}"
+
+    },
+}

+ 9 - 0
spade_analysis/configfile_spade.yaml

@@ -0,0 +1,9 @@
+# Parameters SPADE analysis
+binsize : 3
+winlen : 20
+min_spikes : 5
+min_occ : 3
+n_surr : 0
+alpha : 0.05
+psr_param : [0, 0, 0]
+

+ 1 - 0
spade_analysis/patterns_results/iteration_III/60s_simulation_runs/C/out_firings_after1h/patterns.npy

@@ -0,0 +1 @@
+../../../../../../.git/annex/objects/9f/K2/SHA256E-s137235--6f87d25071d005816d7301f7d88ba48281367f142c316b765548e0daff7a767d.npy/SHA256E-s137235--6f87d25071d005816d7301f7d88ba48281367f142c316b765548e0daff7a767d.npy

+ 1 - 0
spade_analysis/patterns_results/iteration_III/60s_simulation_runs/C/out_firings_after2h/patterns.npy

@@ -0,0 +1 @@
+../../../../../../.git/annex/objects/VX/z8/SHA256E-s87054--3390e0df44b118d0b1387e6148874fe5d368a378ce004565e913f96fa9c08d9f.npy/SHA256E-s87054--3390e0df44b118d0b1387e6148874fe5d368a378ce004565e913f96fa9c08d9f.npy

+ 1 - 0
spade_analysis/patterns_results/iteration_III/60s_simulation_runs/C/out_firings_after3h/patterns.npy

@@ -0,0 +1 @@
+../../../../../../.git/annex/objects/fP/mX/SHA256E-s81366--9c26913fd082acacf42990a1c0d0e159bf9973c08273618e6deb5e4d7678b6e5.npy/SHA256E-s81366--9c26913fd082acacf42990a1c0d0e159bf9973c08273618e6deb5e4d7678b6e5.npy

+ 1 - 0
spade_analysis/patterns_results/iteration_III/60s_simulation_runs/C/out_firings_after4h/patterns.npy

@@ -0,0 +1 @@
+../../../../../../.git/annex/objects/FX/vz/SHA256E-s63307--845229ef766c6089be30bd8572c635b27c89e93188d760ab5a2ded71aad8dd7f.npy/SHA256E-s63307--845229ef766c6089be30bd8572c635b27c89e93188d760ab5a2ded71aad8dd7f.npy

+ 1 - 0
spade_analysis/patterns_results/iteration_III/60s_simulation_runs/C/out_firings_after5h/patterns.npy

@@ -0,0 +1 @@
+../../../../../../.git/annex/objects/Kw/2F/SHA256E-s96785--6a948f0fa3d59be2fb849dff688016b087961fa17e4b9692cd71efb364bd875f.npy/SHA256E-s96785--6a948f0fa3d59be2fb849dff688016b087961fa17e4b9692cd71efb364bd875f.npy

+ 1 - 0
spade_analysis/patterns_results/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after1h/patterns.npy

@@ -0,0 +1 @@
+../../../../../../.git/annex/objects/8j/0m/SHA256E-s631259--4daf155a34ad786ff2b1202eb18e74698c23a749d99e1ed66786df637a713a70.npy/SHA256E-s631259--4daf155a34ad786ff2b1202eb18e74698c23a749d99e1ed66786df637a713a70.npy

+ 1 - 0
spade_analysis/patterns_results/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after2h/patterns.npy

@@ -0,0 +1 @@
+../../../../../../.git/annex/objects/WF/Pk/SHA256E-s687832--3b12c96f433f00dd48c2ae85061ba2a1be96a9e240dca361a3a1116e3e29f6fb.npy/SHA256E-s687832--3b12c96f433f00dd48c2ae85061ba2a1be96a9e240dca361a3a1116e3e29f6fb.npy

+ 1 - 0
spade_analysis/patterns_results/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after3h/patterns.npy

@@ -0,0 +1 @@
+../../../../../../.git/annex/objects/7p/Gf/SHA256E-s542570--751c4906df5432f05ab164fad725cb7e62405e4161f178bed11c04da6797789c.npy/SHA256E-s542570--751c4906df5432f05ab164fad725cb7e62405e4161f178bed11c04da6797789c.npy

+ 1 - 0
spade_analysis/patterns_results/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after4h/patterns.npy

@@ -0,0 +1 @@
+../../../../../../.git/annex/objects/Pw/Qg/SHA256E-s403157--4b916dcb780206948d0adbeb677e179b17bfa215c2323667fbe647ad11768e46.npy/SHA256E-s403157--4b916dcb780206948d0adbeb677e179b17bfa215c2323667fbe647ad11768e46.npy

+ 1 - 0
spade_analysis/patterns_results/iteration_III/60s_simulation_runs/SpiNNaker/out_firings_after5h/patterns.npy

@@ -0,0 +1 @@
+../../../../../../.git/annex/objects/7z/76/SHA256E-s602956--3e68ad69a41cbef3720e4d8727a1d66e2f87c773647e455c7561ad12329e7671.npy/SHA256E-s602956--3e68ad69a41cbef3720e4d8727a1d66e2f87c773647e455c7561ad12329e7671.npy

+ 123 - 0
spade_analysis/spade_analysis.py

@@ -0,0 +1,123 @@
+'''
+Script to run the SPADE analysis for Polychronous model 
+validation (Gutzen et al 2018)
+
+authors: Pietro Quaglio, Robin Gutzen, Michael von Papen, Guido Trensch, 
+        Sonja Grün, Michael Denker
+'''
+import neo
+import quantities as pq
+import elephant.spade as spade
+import numpy as np
+import os
+import argparse
+import yaml
+
+# Function to load C and Spinnaker data
+def load(file_path, t_start=0, t_stop=60000, filter_inh=False,
+         **kwargs):
+    f = open(file_path, 'r')
+    lines = f.readlines()
+
+    N = 1000  # neurons
+    # Read Spike Times
+    spike_times = [[]] * N
+    for line in lines:
+        t_s, t_ms, n = line.split()
+        t = int(t_s) * 1000 + int(t_ms)
+        n = int(n)
+        if t > t_stop:
+            break
+        spike_times[n] = spike_times[n] + [t]
+
+    # Fill Spike Trains
+    nbr_neurons = N
+    if filter_inh:
+        nbr_neurons = 800
+    spiketrains = [[]] * nbr_neurons
+
+    for n, st in enumerate(spike_times):
+        if n < 800:
+            n_type = 'exc'
+        else:
+            n_type = 'inh'
+        if not filter_inh or n_type == 'exc':
+            spiketrains[n] = neo.SpikeTrain(np.sort(st), units='ms',
+                                        t_start=t_start, t_stop=t_stop,
+                                        n_type=n_type)
+    return spiketrains
+
+# Functions to create new folders
+def mkdirp(directory):
+    if not os.path.isdir(directory):
+        print(directory)
+        os.mkdir(directory)
+
+def split_path(path):
+    folders = []
+    while 1:
+        path, folder = os.path.split(path)
+        if folder != "":
+            folders.append(folder)
+        else:
+            if path != "":
+                folders.append(path)
+            break
+    folders.reverse()
+    return folders
+
+# The parsing arguments
+parser = argparse.ArgumentParser(description='Running the SPADE analysis for Polychronous model validation')
+# The simulator used to generate data
+parser.add_argument('simulator', metavar='simulator', type=str,
+                   help='The simulator used to generate the data to analyze')
+# The number of simulation hours after which the data are Recorded
+parser.add_argument('hour', metavar='hour', type=int,
+                   help='The number of simulation hours after which the data are Recorded')
+# Getting the arguments
+args = parser.parse_args()
+simulator = args.simulator
+hour = args.hour
+
+# Load general SPADE parameters
+with open("configfile_spade.yaml", 'r') as stream:
+    param = yaml.load(stream)
+
+######## Loading the Data########
+# Paths to data
+experiment = '../simulation_data/iteration_III/60s_simulation_runs/{}'.format(simulator)
+
+# Paths to the data to analyze
+simulation = '/out_firings_after{}h'.format(hour)
+data_path = './{}'.format(experiment + simulation)
+# Loading the .dat containing spike datadata
+spikedata = load(data_path + '.dat', filter_inh=True)
+
+####### Running SPADE analysis #########
+results_spade = spade.spade(
+    spikedata,binsize=param['binsize']*pq.ms,
+    winlen=param['winlen'],
+    min_spikes=param['min_spikes'],
+    min_neu=param['min_spikes'],
+    min_occ=param['min_occ'],
+    n_surr=param['n_surr'],
+    alpha=param['alpha'],
+    psr_param=param['psr_param'],
+    output_format='patterns')
+
+####### Saving the results ########
+# Stripping quantities from lags and times for python 2.7 compatibility
+patterns = results_spade['patterns']
+for patt in patterns:
+    patt['lags'] = list(patt['lags'].magnitude)
+    patt['times'] = list(patt['times'].magnitude)
+# Relative path where to store the results
+res_dir = './patterns_results/iteration_III/60s_simulation_runs/{}{}'.format(
+    simulator, simulation)
+# if not existing creating path to save results
+path_temp = './'
+for folder in split_path(res_dir):
+    path_temp = path_temp + '/' + folder
+    mkdirp(path_temp)
+# Save results
+np.save(res_dir + '/patterns.npy', (results_spade, param))