User Tools

Site Tools

Advanced Scientific Programming in Python

a Summer School by the G-Node, the Bernstein Center for Computational
Neuroscience Munich and the Graduate School of Systemic Neurosciences


python_lab_bench

Python on a lab bench

Github repository with code, slides and data

Lecture

Exercises

Data exploration

  • clone repository to your home directory
      git clone yourusername@python.g-node.org:/home/bartosz/lab_bench
  • copy data to data subdir:
      cp ~/lab-bench-data/* ~/lab_bench/data
  • set path for extra libaries:
      echo "export PYTHONPATH=/home/student/lab_bench/libs" >> ~/.bashrc
      source ~/.bashrc
  • create a new branch (use unique names for your team):
      cd lab_bench
      git checkout -b MYTEAM_pairwise_correlations
  • in the script we worked on during the lecture, calculate all pairwise correlations between all neurons (use nested for loops and plot the histogram)
  • commit and push your branch back to origin (replace MYTEAM with …):
      git push origin --set-upstream MYTEAM_pairwise_correlations

Workflow

  • update your master branch
      git checkout master
      git pull
  • create a new branch:
      git checkout -b MYTEAM_first_workflow
  • add new command line argument (-​-bin-size of type float and default value of 10) and pass it to calc_corr_coef function.
  • write script plot_correlations_histogram.py which reads correlation files (given in the first command line argument), plots a histogram and saves it in a file given by -​-save-fig argument (use plt.savefig) .
  • Test the script on files generated with open_data.py script.
  • Don't forget to add plot_correlations_histogram.py to you repository
      git add plot_correlations_histogram.py
  • commit and push your branch back to origin:
      git push origin MYTEAM_first_workflow

Automation/batch processing

  • update your master branch
      git checkout master
      git pull
  • create a new branch:
      git checkout -b MYTEAM_automation
  • add task_merge_correlations.py to dodo.py (located in workflows directory), which merges correlations from all files generated by task_open_data (dependencies) and saves them in new npz file (target).
  • update task_plot_correlations_histogram to plot histogram of merged correlations
  • run doit – change to workflows directory and run doit
  • try what happens when a single file from results is deleted.
  • commit and push your branch back to origin:
      git push origin MYTEAM_automation
      

.bashrc

In case you accidentally overwrote your .bashrc, here is a copy: bashrc.txt. Download it, move it to your home directory and rename it to .bashrc

python_lab_bench.txt · Last modified: 2015/09/03 11:25 by bartosz

Page Tools