Snakefile 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import config
  2. rule create_correlation_matrix_from_spikes:
  3. input:
  4. script = 'scripts/correlation_matrix_from_spikes.py',
  5. spikes = 'simulation_output/{simulator}/out_firings_after{t}h.dat',
  6. output:
  7. correlation = 'simulation_output/{simulator}/correlations_after{t}h.npy'
  8. params:
  9. t_start = config.t_start,
  10. t_stop = config.t_stop,
  11. bin_size = config.bin_size
  12. shell:
  13. """
  14. python {input.script} --spikes "{input.spikes}" \
  15. --output "{output.correlation}" \
  16. --t_stop {params.t_stop} \
  17. --t_start {params.t_start} \
  18. --bin_size {params.bin_size}
  19. """
  20. rule compare_polychrony_networks:
  21. input:
  22. script = "../scripts/{test}.py",
  23. matrix_a = 'simulation_output/C/correlations_after{t}h.npy',
  24. matrix_b = 'simulation_output/SpiNNaker/correlations_after{t}h.npy'
  25. output:
  26. temp('results/{test}_after{t}h.json')
  27. params:
  28. N = config.N,
  29. bin_num = config.bin_num
  30. shell:
  31. """
  32. echo {params.is_connectivity}
  33. python {input.script} --matrix_a {input.matrix_a} \
  34. --matrix_b {input.matrix_b} \
  35. --output {output} \
  36. --bin_num {params.bin_num} \
  37. --N {params.N} \
  38. """
  39. rule score_to_dataframe:
  40. input:
  41. script = '../scripts/score_to_dataframe.py',
  42. data = 'results/{test}_after{t}h.json'
  43. output:
  44. 'results/{test}_after{t}h.csv'
  45. params:
  46. N = config.N,
  47. t_start = config.t_start,
  48. t_stop = config.t_stop,
  49. bin_size = config.bin_size,
  50. bin_num = config.bin_num,
  51. simulator_a = 'C',
  52. simulator_b = 'SpiNNaker'
  53. shell:
  54. """
  55. python {input.script} --output "{output}" \
  56. --input "{input.data}" \
  57. --recording_window {wildcards.t} \
  58. --N {params.N} \
  59. --t_start {params.t_start} \
  60. --t_stop {params.t_stop} \
  61. --bin_size {params.bin_size} \
  62. --bin_num {params.bin_num} \
  63. --simulator_a {params.simulator_a} \
  64. --simulator_b {params.simulator_b} \
  65. --test {wildcards.test}
  66. """
  67. rule merge_comparison_results:
  68. input:
  69. script = '../scripts/merge_dataframes.py',
  70. paths_file = 'results/'
  71. output:
  72. 'results/simulator_comparison.csv'
  73. shell:
  74. """
  75. python {input.script} --input "{input.paths_file}" \
  76. --output "{output}"
  77. """
  78. rule scan:
  79. input:
  80. expand('results/{test}_after{t}h.csv',
  81. t=config.recording_window,
  82. test=config.test)