Browse Source

git-annex in denker@inm6183

Michael Denker 2 months ago
parent
commit
5b66f1e714
37 changed files with 1556 additions and 0 deletions
  1. 11 0
      README.md
  2. 57 0
      balanced_network/Snakefile
  3. BIN
      balanced_network/images/correlations/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal_seed1_original.png
  4. BIN
      balanced_network/images/eigenspectrum/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal_original.png
  5. BIN
      balanced_network/images/pvalue_overview/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-add_0.2.png
  6. BIN
      balanced_network/images/pvalue_overview/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-add_12800.png
  7. BIN
      balanced_network/images/pvalue_overview/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-redraw_original.png
  8. BIN
      balanced_network/images/pvalue_overview/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-shuffle_1.0.png
  9. BIN
      balanced_network/images/pvalue_overview/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-shuffle_3500.png
  10. BIN
      balanced_network/images/pvalue_trend/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-add_0.2.png
  11. BIN
      balanced_network/images/pvalue_trend/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-add_12800.png
  12. BIN
      balanced_network/images/pvalue_trend/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-shuffle_1.0.png
  13. BIN
      balanced_network/images/pvalue_trend/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-shuffle_3500.png
  14. BIN
      balanced_network/images/rasterplot/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal_seed1_original_spikes55000-60000ms.png
  15. BIN
      balanced_network/images/weights/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal_seed1_original.png
  16. 14 0
      balanced_network/scripts/plot_eigenspectrum.py
  17. 4 0
      balanced_network/scripts/plot_pvalue_overview.py
  18. 4 0
      balanced_network/scripts/plot_pvalue_trend.py
  19. 485 0
      balanced_network/scripts/plot_rewiring.ipynb
  20. 120 0
      eigenangle_basics.ipynb
  21. 55 0
      eigenangles.bib
  22. BIN
      paper_figures/CPP-pairwise_comparison.png
  23. BIN
      paper_figures/C_SpiNNaker_comparison.png
  24. BIN
      paper_figures/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal_original.png
  25. BIN
      paper_figures/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal_seed1_original_spikes55000-60000ms.png
  26. BIN
      paper_figures/figure_1/angle_distributions.png
  27. 12 0
      paper_figures/figure_1/figure_1.ipynb
  28. 24 0
      paper_figures/figure_2/figure_2.ipynb
  29. BIN
      paper_figures/figure_2/test_construction.png
  30. BIN
      paper_figures/rewiring_comparisons_absolute_synapse_number_median.png
  31. BIN
      paper_figures/rewiring_comparisons_relative_synapse_number_median.png
  32. BIN
      paper_figures/stochastic_activity_similarity.png
  33. 4 0
      polychrony_network/README.md
  34. 25 0
      polychrony_network/scripts/plot_C-SpiNNaker_comparison.ipynb
  35. 4 0
      scripts/plot_matrix.py
  36. 684 0
      scripts/plot_stochastic_activity_similarity.ipynb
  37. 53 0
      stochastic_activity/scripts/plot_stochastic_activity_similarity.ipynb

+ 11 - 0
README.md

@@ -1,7 +1,13 @@
 # Eigenangles: evaluating the statistical similarity of neural network activity and connectivity via eigenvector angles
+<<<<<<< HEAD
 Code and data repository accompanying the manuscript "Eigenangles: evaluating the statistical similarity of neural network activity and connectivity via eigenvector angles" by [Robin Gutzen](https://orcid.org/0000-0001-7373-5962), [Sonja Grün](https://orcid.org/0000-0003-2829-2220), [Michael Denker](https://orcid.org/0000-0003-1255-7300) (2022) https://doi.org/...
 
 [![DOI](https://zenodo.org/badge/DOI/XXXXX/zenodo.XXXXX.svg)](https://doi.org/XXXX/zenodo.XXXXX)
+=======
+Code and data repository accompanying the publication Gutzen et al. 2022 https://doi.org/...
+
+<RRID> [![DOI](https://zenodo.org/badge/DOI/XXXX/zenodo.XXXX.svg)](https://doi.org/XXXX/zenodo.XXXX)
+>>>>>>> refs/remotes/origin/synced/master
 [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgin.g-node.org%2FINM-6%2Feigenangles/HEAD?labpath=eigenangle_basics.ipynb)
 
 ## Keywords
@@ -9,6 +15,7 @@ Statistical Testing | Random Matrix Theory | Neural Network Models | Connectivit
 
 ## Content
 The different applications and testing scenarios of the eigenangle test are separated into the folders [`balanced_network`](./balanced_network), [`stochastic_activity`](./stochastic_activity), and [`polychony_network`](./polychony_network) containing their corresponding workflows (see the respective `README.md` for details). The top-level folder [`scripts`](./scripts) contains a general code basis used by each of the workflows.
+<<<<<<< HEAD
 The folder [`paper_figures`](./paper_figures) contains the figures from the publications as generated by either notebooks or scripts in the respective application folders. Figure 1, 2, and 3 are produced by the respective notebook with this folder.
 The interactive jupyter notebook [`eigenangle_basics.ipynb`](https://mybinder.org/v2/git/https%3A%2F%2Fgin.g-node.org%2FINM-6%2Feigenangles/HEAD?labpath=eigenangle_basics.ipynb) presents a step-wise construction and explanation of the eigenangle test and can be executed via the above mybinder badge.
 
@@ -16,6 +23,10 @@ The interactive jupyter notebook [`eigenangle_basics.ipynb`](https://mybinder.or
 The various comparison results of the applications are stored as pandas dataframes in `.csv` files.
 
 The folders `balanced_network/simulation_output`, `polychony_network/simulation_output`, and `stochastic_activity/correlation_matrices` contain larger files and are indexed with [git annex](https://git-annex.branchable.com/). `git clone` only downloads links of these files. To download their content run `git annex sync --content`, or use the gin client.
+=======
+The folder [`paper_figures`](./paper_figures) contains the figures from the publications as generated by either notebooks or scripts in the respective application folders. Figure 1 and 2 are produced by the respective notebook with this folder.
+The interactive jupyter notebook [`eigenangle_basics.ipynb`](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgin.g-node.org%2FINM-6%2Feigenangles/HEAD?labpath=eigenangle_basics.ipynb) presents a step-wise construction and explanation of the eigenangle test and can be executed via the above mybinder badge.
+>>>>>>> refs/remotes/origin/synced/master
 
 ## Abstract
 Neural systems are often represented by networks, and the strategic comparisons between multiple, similar networks is a prevalent task in many research scenarios.

+ 57 - 0
balanced_network/Snakefile

@@ -22,17 +22,24 @@ wildcard_constraints:
     protocol = '[\w\d\-\.]+',
     syndist = '[a-z\-]+',
     network_specs = '[\w\d\.]+',
+<<<<<<< HEAD
     size = '[\d\.]+',
     length = '\d',
     connectors = '\d+',
     connectors_a = '\d+',
     connectors_b = '\d+',
+=======
+>>>>>>> refs/remotes/origin/synced/master
 
 rule rewire_and_redraw:
     input:
         expand('simulation_output/'\
              + 'N{N}_f{f}_mu{mu}_p{epsilon}_eta{eta}_sex{sigma_ex}_'\
+<<<<<<< HEAD
              + 'sin{sigma_in}_{syndist}/seed_{seed}/{protocol}/{outfile}', #'{plot}.pdf',
+=======
+             + 'sin{sigma_in}_{syndist}/seed_{seed}/{protocol}/{outfile}', #'{plot}.png',
+>>>>>>> refs/remotes/origin/synced/master
             N = config.N,
             f = config.f,
             mu = config.mu,
@@ -55,11 +62,15 @@ rule rewire_and_redraw:
                                target_frac=config.add_target_frac,
                                source=config.add_source,
                                target=config.add_target)
+<<<<<<< HEAD
                       + expand('cluster_{num}x{size}{target}_p{epsilon}',
                                num=config.cluster_number,
                                size=config.cluster_size,
                                target=config.cluster_pop,
                                epsilon=config.cluster_epsilon))
+=======
+            )
+>>>>>>> refs/remotes/origin/synced/master
 
 rule redraw_comparisons:
     input:
@@ -75,6 +86,7 @@ rule redraw_comparisons:
             syndist = config.syndist,
             seed_pair = config.seed_pairs[::int(len(config.seed)/2)],
             measure = ['correlations', 'weights', 'ratecorr'],
+<<<<<<< HEAD
             protocol =
                        ['original']
                      # + expand('cluster_{num}x{size}{target}_p{epsilon}',
@@ -89,6 +101,10 @@ rule redraw_comparisons:
                      #           strength=config.chain_strength,
                      #           epsilon=config.chain_epsilon)
                      )
+=======
+            protocol = 'original'
+            )
+>>>>>>> refs/remotes/origin/synced/master
 
 rule rewire_comparisons:
     input:
@@ -104,6 +120,7 @@ rule rewire_comparisons:
             syndist = config.syndist,
             seed = config.seed,
             measure = ['correlations', 'weights', 'ratecorr'],
+<<<<<<< HEAD
             protocol =
                         # expand('sheffle_{frac}_{source}-{target}',
                         #        frac=3500, #config.shuffle_frac,
@@ -111,10 +128,18 @@ rule rewire_comparisons:
                         #        target=config.shuffle_target)
                      # +
                       expand('add_{source_frac}{source}-{target_frac}{target}',
+=======
+            protocol = expand('shuffle_{frac}_{source}-{target}',
+                               frac=config.shuffle_frac,
+                               source=config.shuffle_source,
+                               target=config.shuffle_target)
+                     + expand('add_{source_frac}{source}-{target_frac}{target}',
+>>>>>>> refs/remotes/origin/synced/master
                                source_frac=config.add_source_frac,
                                target_frac=config.add_target_frac,
                                source=config.add_source,
                                target=config.add_target)
+<<<<<<< HEAD
                      # + expand('cluster_{num}x{size}{target}_p{epsilon}',
                      #           num=config.cluster_number,
                      #           size=config.cluster_size,
@@ -150,6 +175,10 @@ rule rewire_comparisons:
 #                                target=config.shuffle_target)
 #         )
 
+=======
+            )
+
+>>>>>>> refs/remotes/origin/synced/master
 
 # REWIRE EXPERIMENTS
 
@@ -182,12 +211,15 @@ rule shuffle_weights:
                               --fraction {wildcards.fraction}
         """
 
+<<<<<<< HEAD
 use rule shuffle_weights as sheffle_weights with:
     output:
         weights = '{root}/N{N}_f{f}_{specs}/'\
                 + 'sheffle_{fraction}_{source_pop}-{target_pop}/weights.npy'
 
 
+=======
+>>>>>>> refs/remotes/origin/synced/master
 rule add_weights:
     input:
         script = 'scripts/add_weights.py',
@@ -215,6 +247,7 @@ rule add_weights:
                               --syndist {params.syndist}
         """
 
+<<<<<<< HEAD
 rule cluster_weights:
     input:
         script = 'scripts/cluster_weights.py',
@@ -289,6 +322,8 @@ rule chain_weights:
                               --seed {wildcards.seed}
         """
 
+=======
+>>>>>>> refs/remotes/origin/synced/master
 
 # COMPARE NETWORK ACTIVITY AND CONNECTIVITY
 
@@ -338,6 +373,7 @@ use rule compare_redrawn_networks as compare_rewired_network with:
         temp('results/N{N}_f{f}_mu{mu}_p{epsilon}_eta{eta}_sex{sigma_ex}'\
            + '_sin{sigma_in}_{syndist}/{protocol}/{matrix}_{seed}.json')
 
+<<<<<<< HEAD
 use rule compare_redrawn_networks as compare_chain_networks with:
     input:
         script = "../scripts/eigenangle_test.py",
@@ -355,6 +391,8 @@ use rule compare_redrawn_networks as compare_chain_networks with:
            + 'c{connectors_a}-{connectors_b}/{matrix}_{seed}.json'
 #
 # ruleorder:  calc_firing_rate_correlation > score_to_dataframe #> compare_chain_networks > compare_rewired_network
+=======
+>>>>>>> refs/remotes/origin/synced/master
 
 def get_spikes(wildcards):
     network_specs = wildcards.network_specs
@@ -365,10 +403,13 @@ def get_spikes(wildcards):
     if 'redraw' in protocol:
         protocol = protocol.strip('redraw_')
         return [path(protocol, seed) for seed in seeds.split('-')]
+<<<<<<< HEAD
     elif 'chain' in protocol:
         protocol, connectors = protocol.split('_c')
         connectors = connectors.split('-')
         return [path(f'{protocol}_c{c}', seeds) for c in connectors]
+=======
+>>>>>>> refs/remotes/origin/synced/master
     else:
         return [path(p, seeds) for p in ['original', protocol]]
 
@@ -552,7 +593,11 @@ rule plot_spiketrains:
         script = '../scripts/plot_spiketrains.py',
         spikes = 'simulation_output/{network_specs}/seed_{seed}/{protocol}/spikes.pkl'
     output:
+<<<<<<< HEAD
         'images/rasterplot/{network_specs}_seed{seed}_{protocol}_spikes{t_start}-{t_stop}ms.pdf'
+=======
+        'images/rasterplot/{network_specs}_seed{seed}_{protocol}_spikes{t_start}-{t_stop}ms.png'
+>>>>>>> refs/remotes/origin/synced/master
     shell:
         """
         python {input.script} --spikes "{input.spikes}" \
@@ -566,7 +611,11 @@ rule plot_matrix:
         script = '../scripts/plot_matrix.py',
         matrix = 'simulation_output/{network_specs}/seed_{seed}/{protocol}/{matrix}.npy'
     output:
+<<<<<<< HEAD
         'images/{matrix}/{network_specs}_seed{seed}_{protocol}.pdf'
+=======
+        'images/{matrix}/{network_specs}_seed{seed}_{protocol}.png'
+>>>>>>> refs/remotes/origin/synced/master
     shell:
         """
         python {input.script} --input "{input.matrix}" \
@@ -582,7 +631,11 @@ rule plot_eigenspectrum:
                        seed = range(1,9))
     output:
         'images/eigenspectrum/N{N}_f{f}_mu{mu}_p{epsilon}_eta{eta}' \
+<<<<<<< HEAD
       + '_sex{sigma_ex}_sin{sigma_in}_{syndist}_{protocol}.pdf'
+=======
+      + '_sex{sigma_ex}_sin{sigma_in}_{syndist}_{protocol}.png'
+>>>>>>> refs/remotes/origin/synced/master
     shell:
         """
         python {input.script} --input "{input.files}" \
@@ -600,7 +653,11 @@ rule plot_pvalues:
         script = 'scripts/plot_pvalue_{plot_name}.py',
         dataframe = 'results/{network_specs}/rewiring_results.csv'
     output:
+<<<<<<< HEAD
         'images/pvalue_{plot_name}/{network_specs}-{protocol}.pdf'
+=======
+        'images/pvalue_{plot_name}/{network_specs}-{protocol}.png'
+>>>>>>> refs/remotes/origin/synced/master
     shell:
         """
         python {input.script} --input "{input.dataframe}" \

BIN
balanced_network/images/correlations/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal_seed1_original.png


BIN
balanced_network/images/eigenspectrum/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal_original.png


BIN
balanced_network/images/pvalue_overview/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-add_0.2.png


BIN
balanced_network/images/pvalue_overview/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-add_12800.png


BIN
balanced_network/images/pvalue_overview/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-redraw_original.png


BIN
balanced_network/images/pvalue_overview/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-shuffle_1.0.png


BIN
balanced_network/images/pvalue_overview/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-shuffle_3500.png


BIN
balanced_network/images/pvalue_trend/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-add_0.2.png


BIN
balanced_network/images/pvalue_trend/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-add_12800.png


BIN
balanced_network/images/pvalue_trend/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-shuffle_1.0.png


BIN
balanced_network/images/pvalue_trend/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal-shuffle_3500.png


BIN
balanced_network/images/rasterplot/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal_seed1_original_spikes55000-60000ms.png


BIN
balanced_network/images/weights/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal_seed1_original.png


+ 14 - 0
balanced_network/scripts/plot_eigenspectrum.py

@@ -126,7 +126,11 @@ def plot_eigenspectrum(test, eigenvalues, eigenangles, original=False):
     ax.B.set_xlabel(f'eigenangle $\phi$')
     sns.despine(ax=ax.B, left=True, right=True, top=True)
 
+<<<<<<< HEAD
     return fig, ax
+=======
+    return fig
+>>>>>>> refs/remotes/origin/synced/master
 
 if __name__ == '__main__':
     CLI = argparse.ArgumentParser()
@@ -150,6 +154,7 @@ if __name__ == '__main__':
 
     eigenvalues, eigenangles = load_eigenspectrum(args.input, N=args.N)
 
+<<<<<<< HEAD
     fig, ax = plot_eigenspectrum(eigenangle_test, eigenvalues, eigenangles,
                                  original=('original' in args.input[0]))
 
@@ -161,3 +166,12 @@ if __name__ == '__main__':
     fig.align_labels()
 
     plt.savefig(args.output, dpi=300, bbox_inches='tight')
+=======
+    fig = plot_eigenspectrum(eigenangle_test, eigenvalues, eigenangles,
+                             original=('original' in args.input[0]))
+
+    fig.suptitle(f'{Path(args.output).name.strip(".png")}')
+    fig.align_labels()
+
+    plt.savefig(args.output, bbox_inches='tight')
+>>>>>>> refs/remotes/origin/synced/master

+ 4 - 0
balanced_network/scripts/plot_pvalue_overview.py

@@ -100,4 +100,8 @@ if __name__ == '__main__':
     fig = plot_pvalue_overview(data)
     fig.suptitle(f'{Path(args.output).name.strip(".png")}', fontsize=17)
 
+<<<<<<< HEAD
     plt.savefig(args.output, dpi=300, bbox_inches=None)
+=======
+    plt.savefig(args.output, bbox_inches=None)
+>>>>>>> refs/remotes/origin/synced/master

+ 4 - 0
balanced_network/scripts/plot_pvalue_trend.py

@@ -79,4 +79,8 @@ if __name__ == '__main__':
     fig = plot_pvalue_trend(data)
     fig.suptitle(f'{Path(args.output).name.strip(".png")}', fontsize=17)
 
+<<<<<<< HEAD
     plt.savefig(args.output, dpi=300, bbox_inches='tight')
+=======
+    plt.savefig(args.output, bbox_inches='tight')
+>>>>>>> refs/remotes/origin/synced/master

File diff suppressed because it is too large
+ 485 - 0
balanced_network/scripts/plot_rewiring.ipynb


File diff suppressed because it is too large
+ 120 - 0
eigenangle_basics.ipynb


+ 55 - 0
eigenangles.bib

@@ -24,7 +24,11 @@
   issn = {0034-6861, 1539-0756},
   doi = {10.1103/RevModPhys.74.47},
   pmid = {16204838},
+<<<<<<< HEAD
 
+=======
+  
+>>>>>>> refs/remotes/origin/synced/master
 }
 
 @article{Aljadeff2015_088101,
@@ -51,6 +55,10 @@
   primaryclass = {cs},
   archiveprefix = {arXiv},
   keywords = {Computer Science - Machine Learning},
+<<<<<<< HEAD
+=======
+  note = {Comment: 12 pages, 4 Figures},
+>>>>>>> refs/remotes/origin/synced/master
 
 }
 
@@ -117,6 +125,7 @@
 
 }
 
+<<<<<<< HEAD
 @book{Cohen1988_a,
   title = {Statistical {{Power Analysis}} for the {{Behavioral Sciences}}},
   author = {Cohen, Jacob},
@@ -131,6 +140,8 @@
   keywords = {Psychology / General,Psychology / Research \& Methodology}
 }
 
+=======
+>>>>>>> refs/remotes/origin/synced/master
 @article{Curto2019_11,
   title = {Relating Network Connectivity to Dynamics: Opportunities and Challenges for Theoretical Neuroscience},
   shorttitle = {Relating Network Connectivity to Dynamics},
@@ -183,6 +194,7 @@
 
 }
 
+<<<<<<< HEAD
 @article{Dasbach2021_757790,
   title = {Prominent Characteristics of Recurrent Neuronal Networks Are Robust against Low Synaptic Weight Resolution},
   author = {Dasbach, Stefan and Tetzlaff, Tom and Diesmann, Markus and Senk, Johanna},
@@ -201,6 +213,8 @@
 
 }
 
+=======
+>>>>>>> refs/remotes/origin/synced/master
 @book{Flury1988_,
   title = {Common Principal Components \& Related Multivariate Models},
   author = {Flury, Bernhard},
@@ -211,6 +225,7 @@
   langid = {english}
 }
 
+<<<<<<< HEAD
 @article{GarciadelMolino2013_042824,
   title = {Synchronization in Random Balanced Networks},
   author = {{Garc{\'i}a del Molino}, Luis Carlos and Pakdaman, Khashayar and Touboul, Jonathan and Wainrib, Gilles},
@@ -225,6 +240,8 @@
 
 }
 
+=======
+>>>>>>> refs/remotes/origin/synced/master
 @article{Girko1985_694,
   title = {Circular {{Law}}},
   author = {Girko, V. L.},
@@ -239,6 +256,7 @@
   doi = {10.1137/1129095}
 }
 
+<<<<<<< HEAD
 @article{Grun2009_1126,
   title = {Data-{{Driven Significance Estimation}} for {{Precise Spike Correlation}}},
   author = {Gr{\"u}n, Sonja},
@@ -253,6 +271,8 @@
 
 }
 
+=======
+>>>>>>> refs/remotes/origin/synced/master
 @article{Guhr1998_189,
   title = {Random-Matrix Theories in Quantum Physics: Common Concepts},
   shorttitle = {Random-Matrix Theories in Quantum Physics},
@@ -420,6 +440,7 @@
 
 }
 
+<<<<<<< HEAD
 @article{Kullback1951_79,
   ids = {Kullback1951_79a},
   title = {On {{Information}} and {{Sufficiency}}},
@@ -435,6 +456,8 @@
 
 }
 
+=======
+>>>>>>> refs/remotes/origin/synced/master
 @article{Litwin-Kumar2012_1498,
   title = {Slow Dynamics and High Variability in Balanced Cortical Networks with Clustered Connections},
   author = {{Litwin-Kumar}, Ashok and Doiron, Brent},
@@ -466,6 +489,7 @@
 
 }
 
+<<<<<<< HEAD
 @article{Mochizuki2016_5736,
   title = {Similarity in {{Neuronal Firing Regimes}} across {{Mammalian Species}}},
   author = {Mochizuki, Y. and Onaga, T. and Shimazaki, H. and Shimokawa, T. and Tsubo, Y. and Kimura, R. and Saiki, A. and Sakai, Y. and Isomura, Y. and Fujisawa, S. and Shibata, K.-i. and Hirai, D. and Furuta, T. and Kaneko, T. and Takahashi, S. and Nakazono, T. and Ishino, S. and Sakurai, Y. and Kitsukawa, T. and Lee, J. W. and Lee, H. and Jung, M. W. and Babul, C. and Maldonado, P. E. and Takahashi, K. and {Arce-McShane}, F. I. and Ross, C. F. and Sessle, B. J. and Hatsopoulos, N. G. and Brochier, T. and Riehle, A. and Chorley, P. and Grun, S. and Nishijo, H. and {Ichihara-Takeda}, S. and Funahashi, S. and Shima, K. and Mushiake, H. and Yamane, Y. and Tamura, H. and Fujita, I. and Inaba, N. and Kawano, K. and Kurkin, S. and Fukushima, K. and Kurata, K. and Taira, M. and Tsutsui, K.-I. and Ogawa, T. and Komatsu, H. and Koida, K. and Toyama, K. and Richmond, B. J. and Shinomoto, S.},
@@ -481,6 +505,8 @@
 
 }
 
+=======
+>>>>>>> refs/remotes/origin/synced/master
 @article{Mongillo2018_1463,
   title = {Inhibitory Connectivity Defines the Realm of Excitatory Plasticity},
   author = {Mongillo, Gianluigi and Rumpel, Simon and Loewenstein, Yonatan},
@@ -497,6 +523,7 @@
 
 }
 
+<<<<<<< HEAD
 @article{Muir2015_042808,
   title = {Eigenspectrum Bounds for Semirandom Matrices with Modular and Spatial Structure for Neural Networks},
   author = {Muir, Dylan R. and {Mrsic-Flogel}, Thomas},
@@ -511,6 +538,8 @@
 
 }
 
+=======
+>>>>>>> refs/remotes/origin/synced/master
 @article{Nakagawa2007_591a,
   title = {Effect Size, Confidence Interval and Statistical Significance: A Practical Guide for Biologists},
   shorttitle = {Effect Size, Confidence Interval and Statistical Significance},
@@ -538,6 +567,19 @@
 
 }
 
+<<<<<<< HEAD
+=======
+@misc{Nest3.2,
+  title = {{{NEST}} 3.2},
+  author = {{de Schepper}, Robin and Eppler, Jochen Martin and Kurth, Anno and Nagendra Babu, Pooja and Deepu, Rajalekshmi and Spreizer, Sebastian and Trensch, Guido and Pronold, Jari and Vennemo, Stine Brekke and Graber, Steffen and {Morales-Gregorio}, Aitor and Linssen, Charl and Benelhedi, Mohamed Ayssar and M{\o}rk, H{\aa}kon and Morrison, Abigail and Terhorst, Dennis and Mitchell, Jessica and Diaz, Sandra and Kitayama, Itaru and Enan, Mahdi and Kamiji, Nilton Liuji and Plesser, Hans Ekkehard},
+  year = {2022},
+  month = jan,
+  doi = {10.5281/zenodo.5886894},
+  howpublished = {Zenodo},
+
+}
+
+>>>>>>> refs/remotes/origin/synced/master
 @article{Newman2003_167,
   title = {The {{Structure}} and {{Function}} of {{Complex Networks}}},
   author = {Newman, M. E. J.},
@@ -635,6 +677,7 @@
 
 }
 
+<<<<<<< HEAD
 @article{Sompolinsky1988_259,
   ids = {Sompolinsky1988_259a},
   title = {Chaos in {{Random Neural Networks}}},
@@ -651,6 +694,8 @@
 
 }
 
+=======
+>>>>>>> refs/remotes/origin/synced/master
 @article{Staude2010_327,
   title = {{{CuBIC}}: Cumulant Based Inference of Higher-Order Correlations in Massively Parallel Spike Trains},
   author = {Staude, Benjamin and Rotter, Stefan and Gr{\"u}n, Sonja},
@@ -665,6 +710,7 @@
 
 }
 
+<<<<<<< HEAD
 @misc{Stella2021_2021.08.24.457480,
   title = {Comparing Surrogates to Evaluate Precisely Timed Higher-Order Spike Correlations},
   author = {Stella, Alessandra and Bouss, Peter and Palm, G{\"u}nther and Gr{\"u}n, Sonja},
@@ -695,6 +741,9 @@
 
 @article{Szucs2017_,
   ids = {Szucs2017_a},
+=======
+@article{Szucs2017_,
+>>>>>>> refs/remotes/origin/synced/master
   title = {When {{Null Hypothesis Significance Testing Is Unsuitable}} for {{Research}}: {{A Reassessment}}},
   shorttitle = {When {{Null Hypothesis Significance Testing Is Unsuitable}} for {{Research}}},
   author = {Szucs, Denes and Ioannidis, John P. A.},
@@ -702,7 +751,10 @@
   journal = {Frontiers in Human Neuroscience},
   volume = {11},
   issn = {1662-5161},
+<<<<<<< HEAD
   doi = {10.3389/fnhum.2017.00390},
+=======
+>>>>>>> refs/remotes/origin/synced/master
 
 }
 
@@ -765,6 +817,7 @@
 
 }
 
+<<<<<<< HEAD
 @article{Wainrib2013_118101,
   title = {Topological and {{Dynamical Complexity}} of {{Random Neural Networks}}},
   author = {Wainrib, Gilles and Touboul, Jonathan},
@@ -779,6 +832,8 @@
 
 }
 
+=======
+>>>>>>> refs/remotes/origin/synced/master
 @article{Zalesky2015_466,
   ids = {Zalesky2015_466a,Zalesky2015_466b},
   title = {Towards a Statistical Test for Functional Connectivity Dynamics},

BIN
paper_figures/CPP-pairwise_comparison.png


BIN
paper_figures/C_SpiNNaker_comparison.png


BIN
paper_figures/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal_original.png


BIN
paper_figures/N1000_f0.8_mu0.1_p0.1_eta0.9_sex0.12_sin0.1_lognormal_seed1_original_spikes55000-60000ms.png


BIN
paper_figures/figure_1/angle_distributions.png


File diff suppressed because it is too large
+ 12 - 0
paper_figures/figure_1/figure_1.ipynb


File diff suppressed because it is too large
+ 24 - 0
paper_figures/figure_2/figure_2.ipynb


BIN
paper_figures/figure_2/test_construction.png


BIN
paper_figures/rewiring_comparisons_absolute_synapse_number_median.png


BIN
paper_figures/rewiring_comparisons_relative_synapse_number_median.png


BIN
paper_figures/stochastic_activity_similarity.png


+ 4 - 0
polychrony_network/README.md

@@ -1,7 +1,11 @@
 
 # Comparing the correlation structure of a network model across simulators
 This folder contains the workflow to create correlation matrices from previously simulated spiking activity of the polychonization model ([Izhikevich 2006](https://doi.org/10.1162/089976606775093882)) generated with two different Simulators (C, SpiNNaker).
+<<<<<<< HEAD
 The comparison use-case and the corresponding data is taken from [Trensch et al. 2018](https://doi.org/10.3389/fninf.2018.00081) and [Gutzen et al. 2018](https://doi.org/10.3389/fninf.2018.00090), [Trensch et al. 2018](https://doi.org/10.3389/fninf.2018.00081) with the corresponding public data repository [INM-6/network_validation](https://gin.g-node.org/INM-6/network_validation).
+=======
+The comparison use-case and the corresponding data is taken from (Trensch et al. 2018)[https://doi.org/10.3389/fninf.2018.00081] and (Gutzen et al. 2018)[https://doi.org/10.3389/fninf.2018.00090], (Trensch et al. 2018)[https://doi.org/10.3389/fninf.2018.00081] with the corresponding public data repository (https://gin.g-node.org/INM-6/network_validation)[https://gin.g-node.org/INM-6/network_validation].
+>>>>>>> refs/remotes/origin/synced/master
 
 To perform the comparisons with the eigenangle and the Kolmogorov-Smirnov test, the main functionalities of the workflow are:
 * `snakemake scan` performs the 5 comparisons across simulators.

+ 25 - 0
polychrony_network/scripts/plot_C-SpiNNaker_comparison.ipynb

@@ -2,6 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
+<<<<<<< HEAD
    "execution_count": 1,
    "id": "65660c5d-34da-43e1-a755-ce40218c41c0",
    "metadata": {},
@@ -15,6 +16,12 @@
      ]
     }
    ],
+=======
+   "execution_count": 5,
+   "id": "65660c5d-34da-43e1-a755-ce40218c41c0",
+   "metadata": {},
+   "outputs": [],
+>>>>>>> refs/remotes/origin/synced/master
    "source": [
     "import pandas as pd\n",
     "import numpy as np\n",
@@ -33,7 +40,11 @@
   },
   {
    "cell_type": "code",
+<<<<<<< HEAD
    "execution_count": 2,
+=======
+   "execution_count": 6,
+>>>>>>> refs/remotes/origin/synced/master
    "id": "df10f052-8259-41df-b1dd-12e267f38fbd",
    "metadata": {},
    "outputs": [],
@@ -283,7 +294,11 @@
   },
   {
    "cell_type": "code",
+<<<<<<< HEAD
    "execution_count": 5,
+=======
+   "execution_count": 8,
+>>>>>>> refs/remotes/origin/synced/master
    "id": "0698abf5-d1a1-4ac6-8c79-bce17eb41de9",
    "metadata": {},
    "outputs": [
@@ -315,10 +330,16 @@
     "# matrices\n",
     "vmax = np.nanmax([np.nanmax(matrix_a), np.nanmax(matrix_b)])\n",
     "vmin = np.nanmin([np.nanmin(matrix_a), np.nanmin(matrix_b)])\n",
+<<<<<<< HEAD
     "sns.heatmap(matrix_a, cmap=cmap, vmax=vmax, vmin=vmin, center=0, square=True, \n",
     "            ax=ax.C, cbar=False, rasterized=True)\n",
     "sns.heatmap(matrix_b, cmap=cmap, vmax=vmax, vmin=vmin, center=0, square=True, \n",
     "            ax=ax.D, cbar=True, cbar_ax=ax.B, rasterized=True)\n",
+=======
+    "sns.heatmap(matrix_a, cmap=cmap, vmax=vmax, vmin=vmin, center=0, square=True, ax=ax.C, cbar=False)\n",
+    "sns.heatmap(matrix_b, cmap=cmap, vmax=vmax, vmin=vmin, center=0, square=True, ax=ax.D, cbar=True, \n",
+    "            cbar_ax=ax.B)\n",
+>>>>>>> refs/remotes/origin/synced/master
     "ax.C.set_xticks([])\n",
     "ax.C.set_yticks([])\n",
     "ax.C.set_xlabel('C', labelpad=20, color=color_C)\n",
@@ -363,7 +384,11 @@
     "\n",
     "ax.Q.set_axis_off()\n",
     "\n",
+<<<<<<< HEAD
     "plt.savefig(project_paths.paper_figures / 'C_SpiNNaker_comparison.pdf', dpi=300, bbox_inches='tight')"
+=======
+    "plt.savefig(project_paths.paper_figures / 'C_SpiNNaker_comparison.png', bbox_inches='tight')"
+>>>>>>> refs/remotes/origin/synced/master
    ]
   }
  ],

+ 4 - 0
scripts/plot_matrix.py

@@ -22,7 +22,11 @@ if __name__ == '__main__':
     fig, ax = plt.subplots(ncols=2, figsize=(10,10),
                            gridspec_kw={'width_ratios':[1,0.02]})
     sns.heatmap(matrix, cmap=cmap, center=0, square=True, ax=ax[0],
+<<<<<<< HEAD
                 cbar=True, cbar_ax=ax[1], rasterized=True)
+=======
+                cbar=True, cbar_ax=ax[1])
+>>>>>>> refs/remotes/origin/synced/master
     ax[0].set_axis_off()
 
     measure = args.input.name.split('.')[0]

File diff suppressed because it is too large
+ 684 - 0
scripts/plot_stochastic_activity_similarity.ipynb


File diff suppressed because it is too large
+ 53 - 0
stochastic_activity/scripts/plot_stochastic_activity_similarity.ipynb