Anaconda 3 Jupiter Notebook

1         Création d'un dossier "Untitled Folder" pour travailler sur la machine locale

 

·         Allez dans Menu Démarrer (icone Windows en bas à gauche)

·         Cliquez sur Anaconda 3 puis Jupyter Notebook

Une fenêtre (Graphic User Interface) à fond noir s'ouvre dans laquelle s'exécute le terminal.

·         Attendre une dizaine de secondes jusqu'à obtenir …

.. Accepting one-time-token-authenticated connexion from ::1

 

 

En même temps s'ouvre automatiquement le navigateur :

 

 

Le navigateur montre le contenu non caché du dossier C:\Utilisateur\MonNom sur le machine locale

L'ordre des dossiers et fichiers est différent de celui donné par l'explorateur de fichiers car Jupyter affiche les noms anglais.

 

·         En haut à droite de Jupyter, cliquez sur New puis Folder. Cela a pour effet de créer un nouveau dossier intitulé "Untitled Folder" dans le dossier d'utilisateur sur la machine locale.

Cette étape est inutile si on a déjà travaillé avec la console Jupyter Notebook sur la même machine. Il suffit de retrouver le Untitled Folder qu'on a déjà créé précédemment.

Une image contenant texte, carte

Description générée avec un niveau de confiance très élevé

 

 

2         Saisir, nommer et enregistrer un fichier contenant des lignes de commande Python

2.1        Saisir

·         Dans Jupyter (c’est-à-dire la fenêtre du navigateur), cliquez sur ce "Untitled Folder" pour se placer dedans. Puis allez dans New / Text File.

Une image contenant capture d’écran

Description générée avec un niveau de confiance très élevé

 

Cela a pour effet d'ouvrir dans Jupyter (c’est-à-dire la fenêtre du navigateur) un éditeur de fichier texte.

Juste au-dessus de la fenêtre de l'éditeur de texte on lit le nom provisoire du fichier "untitled.txt"

 

Saisissez le code Python suivant :

def disbonjour():

print "Bonjour !"

 

 

2.2        Nommer le fichier

·         Double cliquez sur untitled.txt et nommez le fichier Python  mon.py puis cliquez sur OK.

    L'extension .py signifie que c'est un programme Python. Elle est obligatoire pour que la console Notebook de Jupyter puisse l'interpréter comme un fichier Python.

Une image contenant capture d’écran

Description générée avec un niveau de confiance très élevé

 

 

2.3        Enregistrer le fichier

·         Allez dans File puis Save pour sauvegarder le fichier mon.py

Une image contenant capture d’écran

Description générée avec un niveau de confiance très élevé

 

 

3         Exécuter dans un notebook  un fichier Python précédemment enregistré Python (Un notebook joue le rôle de la console dans Spyder)

·         Allez dans l'onglet Untitled Folder/ qui se trouve en haut à côté de l'onglet mon.py

Une image contenant capture d’écran

Description générée avec un niveau de confiance très élevé

 

 

Dans le dossier Untitled Folder on voit le fichier mon.py

 

·         Allez en haut à droite dans New puis Notebook Python 3

Une image contenant capture d’écran

Description générée avec un niveau de confiance très élevé

 

 

Un nouveau notebook (sorte de console) Python 3 s'ouvre dans le dossier Untitled avec une ligne où écrire une commande Python.

 

·         Saisissez dans le Notebook la commande import mon qui va exécuter le fichier mon.py

    Cette fois on ne met pas l'extension .py

 

·         Puis appuyez simultanément sur les touches du clavier Majuscule + Entrer pour exécuter le fichier Python "mon.py".

On obtient :

 

 

Il y a une erreur de syntaxe dans le fichier mon.py

Il faut éditer le fichier mon.py pour le corriger.

·         Allez dans l'onglet File. Cliquez sur mon.py et cliquez sur Open.

Une image contenant capture d’écran

Description générée avec un niveau de confiance très élevé

Le fichier mon.py s'ouvre.

 

 

·         Corrigez l'erreur (mettez des parenthèses pour print) et sauvegardez à nouveau le fichier mon.py

Une image contenant capture d’écran

Description générée avec un niveau de confiance très élevé

 

 

·         Allez dans un des onglets Untitled Folder/ qui se trouvent en haut.

Une image contenant capture d’écran

Description générée avec un niveau de confiance très élevé

 

 

On y trouve le fichier mon.py et aussi le notebook Python courant Untitled.ipynb

·         Double cliquez sur le notebook en courant :

Une image contenant capture d’écran

Description générée avec un niveau de confiance très élevé

 

Le note book s'ouvre à nouveau avec une ligne libre prête à recevoir une commande.

 

·         Placez-vous dans la ligne libre:

Saisissez la commande import mon  puis Majuscule + Entrer pour exécuter le fichier Python "mon.py".

Ceci permet de charger le fichier mon.py avec toutes les fonctions qu'il contient.

 

 

On obtient :

Cette fois la commande "import mon.py" est acceptée car le fichier mon.py contient plus d'erreur.

Il contient une fonction disbonjour() que nous pouvons invoquer en précisant qu'elle se trouve dans le fichier mon.py.

 

 

·         Saisissez la commande mon.disbonjour()

Les parenthèses après le nom de la fonction sont obligatoires. Ici la fonction n'a besoin d'aucun argument et donc elles sont vides.

 

Après Majuscule + Entrée, on obtient le retour de la fonction :

 

 

4         Exécuter "en direct" ligne par ligne des commandes Python dans le notebook.

Saisissez dans une ligne libre du note book :

a = range(10)

for i in a:

    print i

o   On appuie sur la touche Entrée pour changer de ligne

o   On appuie simultanément sur Majuscule + Entrée pour exécuter le programme Python

 

Il y a une erreur de syntaxe.

Mais comme le programme est "en direct" (et non pas importé d'un fichier texte .py préalablement enregistré) on doit tout ressaisir en corrigeant l'erreur. (Utilisez le copié – collé)

·         Saisissez dans une ligne libre du note book :

a = range(10)

for i in a:

    print (i)

·         Appuyez sur Majuscule + Entrée

 

 

Cette fois l'exécution des lignes de code s'est déroulée sans erreur. Mais elle n'ont pas été sauvegardées.

 

 

 

 

 

 

Création d’un Jupyter Notebook hors Anaconda sur Raspberry

 

Sur /home/pi créez un dossier jupyter_raspberry

 

Puis dans le terminal, saisissez :

§ sudo pip3 install jupyter

 

Jupyter installation
For installing Jupyter, enter in the terminal

$

$

$

$

$

sudo apt-get install -y python-dev

sudo pip install --upgrade pip

sudo pip install jupyter

sudo apt-get install -y python-seaborn python-pandas

sudo apt-get install -y ttf-bitstream-vera

UPDATE: Python 3 notebook kernel
To use Python 3 notebook kernels, enter in the terminal

$

$

sudo pip3 install jupyter

sudo ipython3 kernelspec install-self

Run Jupyter
Start your new favorite tool by entering

$

jupyter notebook

 

 

 

 

Jupyter et ses notebooks

·         Les notebooks Jupyter sont des cahiers électroniques qui, dans le même document, peuvent rassembler du texte, des images, des formules mathématiques et du code informatique exécutable. Ils sont manipulables interactivement dans un navigateur web.

·         Initialement développés pour les langages de programmation Julia, Python et R (d’où son nom), les notebooks Jupyter supportent près de 40 langages différents.

·         La cellule est l’élément de base d’un notebook Jupyter. Elle peut contenir du texte formaté au format Markdown ou du code informatique qui pourra être exécuté.

·         Voici un exemple de notebook Jupyter (figure 18.1) :

·         Ce notebook est constitué de cinq cellules : deux avec du texte en Markdown (la première et la dernière) et trois avec du code Python (notées avec In [ ]).

1.       Installation

·                    Avec la distribution Miniconda, les notebooks Jupyter s’installent avec la commande :

1  $ conda install -y jupyterlab

·         Pour être exact, la commande précédente installe un peu plus que les notebooks Jupyter mais nous verrons cela par la suite.

2.       Lancement de Jupyter et création d’un notebook

·         Pour lancer les notebooks Jupyter, utilisez la commande suivante depuis un shell : 1  $ jupyter-notebook

·         Une nouvelle page devrait s’ouvrir dans votre navigateur web et ressembler à la figure 18.2.

·         Cette interface liste les notebooks Jupyter existants (pour le moment aucun).

·         Pour créer un notebook, cliquez sur le bouton à droite New puis sélectionnez Python 3. Vous noterez au passage qu’il est également possible de créer un fichier texte, un répertoire ou bien encore de lancer un shell via un Terminal (voir figure 18.3). Le notebook fraîchement créé ne contient qu’une cellule vide.

·         La première chose à faire est de donner un nom à votre notebook en cliquant sur Untitled, à droite du logo de Jupyter. Si le nom de votre notebook est test alors le fichier test.ipynb sera créé dans le répertoire depuis lequel vous avez lancé Jupyter.

Remarque

L’extension .ipynb est l’extension de fichier des notebooks Jupyter.

Vous pouvez entrer des instructions Python dans la première cellule. Par exemple :

FIGURE 18.1 – Exemple de notebook Jupyter. Les chiffres entourés désignent les différentes cellules.

 

 

FIGURE 18.2 – Interface de Jupyter.

 

 

FIGURE 18.3 – Création d’un nouveau notebook.

 

 

FIGURE 18.4 – Nouveau notebook.

 

3.       Le format Markdown

FIGURE 18.5 – Exécution d’une première cellule.

·         Pour exécuter le contenu de cette cellule, vous avez plusieurs possibilités :

— Cliquer sur le menu Cell, puis Run Cells.

— Cliquer sur le bouton Run (sous la barre de menu).

— Presser simultanément les touches Ctrl + Entrée.

·         Dans tous les cas, vous devriez obtenir quelque chose qui ressemble à l’image 18.5. La notation In [1] à gauche de la cellule indique qu’il s’agit de la première cellule exécutée.

Pour créer une nouvelle cellule, vous avez, ici encore, plusieurs possibilités :

— Cliquer sur l’icône + sous la barre de menu.

— Cliquer sur le menu Insert, puis Insert Cell Below.

Une nouvelle cellule vide devrait apparaître.

·         Vous pouvez également créer une nouvelle cellule en positionnant votre curseur dans la première cellule, puis en pressant simultanément les touches Alt + Entrée. Si vous utilisez cette combinaison de touches, vous remarquerez que le numéro à gauche de la première cellule est passée de In [1] à In [2] car vous avez exécutez la première cellule puis créez une nouvelle cellule.

·         Vous pouvez ainsi créer plusieurs cellules les unes à la suite des autres. Un objet créé dans une cellule antérieure sera disponible dans les cellules suivantes. Par exemple, dans la figure 18.6, nous avons quatre cellules. Vous remarquerez que pour les cellules 3 et 4, le résultat renvoyé par le code Python est précédé par Out [3] et Out [4].

·         Dans un notebook Jupyter, il est parfaitement possible de réexécuter une cellule précédente. Par exemple la première cellule, qui porte désormais à sa gauche la numérotation In [5] (voir figure 18.7).

Attention

La possibilité d’exécuter les cellules d’un notebook Jupyter dans un ordre arbitraire peut prêter à confusion, notamment si vous modifiez la même variable d’une cellule à l’autre.

Nous vous recommandons de régulièrement relancer complètement l’exécution de toutes les cellules de votre notebook, de la première à la dernière, en cliquant sur le menu Kernel puis Restart & Run All et enfin de valider le message Restart and Run All Cells.

·         Dans le tout premier exemple (figure 18.1), nous avons vu qu’il était possible de mettre du texte au format Markdown dans une cellule.

·         Il faut cependant indiquer à Jupyter que cette cellule est au format Markdown en cliquant sur Code sous la barre de menu puis en choisissant Markdown.

·         Le format Markdown permet de rédiger du texte formaté (gras, italique, liens, titres, images, formules mathématiques...) avec quelques balises très simples. Voici un exemple dans une notebook Jupyter (figure 18.8) et le rendu lorsque la cellule est exécutée (figure 18.9).

FIGURE 18.6 – Notebook avec plusieurs cellules de code Python.

FIGURE 18.7 – Notebook avec une cellule ré-exécutée.

 

FIGURE 18.8 – Notebook avec une cellule au format Markdown.

·         Notez qu’une cellule Markdown n’a pas le marqueur In [ ] à sa gauche.

·         Le format Markdown permet de rapidement et très simplement rédiger du texte structuré. Ce cours est par exemple complètement rédigé en Markdown;-)

·         Nous vous conseillons d’explorer les possibilités du Markdown en consultant la page Wikipédia1 ou directement la page de référence2.

4.       Des graphiques dans les notebooks

·         Un autre intérêt des notebooks Jupyter est de pouvoir y incorporer des graphiques réalisés avec la bibliothèque matplotlib.

Voici un exemple en reprenant un graphique présenté dans le chapitre 17 Quelques modules d’intérêt en bioinformatique (figure 18.10). La différence notable est l’utilisation de la commande :

%matplotlib inline

qui n’est à lancer qu’une seule fois (en général dans la première cellule du notebook) et qui permet l’incorporation de figures dans un notebook Jupyter.

Remarque

Pour quitter l’interface des notebooks Jupyter, il faut, dans le premier onglet qui est apparu, cliquer sur le bouton Quit (figure 18.2).

Une méthode plus radicale est de revenir sur le shell depuis lequel les notebooks Jupyter ont été lancés puis de presser deux fois la combinaison de touches Ctrl + C.

1.      https://fr.wikipedia.org/wiki/Markdown

2.      https://daringfireball.net/projects/markdown/syntax

FIGURE 18.9 – Notebook avec une cellule au format Markdown (après exécution).

 

 

FIGURE 18.10 – Incorporation d’un graphique dans un notebook Jupyter.

5.       Les magic commands

 

FIGURE 18.11 – Magic command %whos.

·         La commande précédente (%matplotlib inline) est une magic command. Il en existe beaucoup, en voici deux :

— %whos liste tous les objets (variables, fonctions, modules...) utilisés dans le notebook (voir figure 18.11).

— %history liste toutes les commandes Python lancées dans un notebook (voir figure 18.12).

·         Enfin, avec les environnements Linux ou Mac OS X, il est possible de lancer une commande Unix depuis un notebook Jupyter. Il faut pour cela précéder la commande du symbole !. La figure 18.13 illustre cette possibilité avec la commande ls qui affiche le contenu d’un répertoire.

Remarque

·         Le lancement de n’importe quelle commande Unix depuis un notebook Jupyter (en précédant cette commande de !) est une fonctionnalité très puissante.

·         Pour vous en rendre compte, jetez un œil au notebook[1] produit par les chercheurs Zichen Wang et Avi Ma’ayan qui reproduit l’analyse complète de données obtenues par séquençage haut débit. Ces analyses ont donné lieu à la publication de l’article scientifique « An open RNA-Seq data analysis pipeline tutorial with an example of reprocessing data from a recent Zika virus study4 » (F1000 Research, 2016).

6.       JupyterLab

·         En 2018, le consortium Jupyter a lancé JupyterLab qui est un environnement complet d’analyse. Pour obtenir cette interface, lancez la commande suivante depuis un shell :

1                                     $ jupyter lab

·         Une nouvelle page devrait s’ouvrir dans votre navigateur web et vous devriez obtenir une interface similaire à la figure 18.14.

·         L’interface proposée par JupyterLab est très riche. On peut y organiser un notebook Jupyter « classique » avec une figure en encart, un shell (voir figure 18.15)... Les possibilités sont infinies!

FIGURE 18.12 – Magic command %history.

 

 

FIGURE 18.13 – Lancement d’une commande Unix.

 

 

FIGURE 18.14 – Interface de JupyterLab.

 

FIGURE 18.15 – JupyterLab comme environnement d’analyse.

 

 

 

 

 

S'il manque, lors de l'exécution d'un script, une bibliothèque comme folium, Ouvrir un autre note book et saisir :

!pip install folium

 

 

5         Utilisation d'Anconda Cloud pour stocker en ligne des jupyter notebooks et les récupérer

 

·         Il faut installer le logiciel client "Anaconda client" sur le poste sur lequel on travaille avec Jupyter Notebook puis partager unJupyter Notebook.

Voir la procédure détaillée ici http://docs.anaconda.com/anaconda-cloud/user-guide/getting-started/ à la section "Installing Anaconda client" et à la section "Sharing notebooks".

 

 

 

6         Installation de nbgrader pour faire des contrôles sur Jupyter

https://lecluseo.scenari-community.org/jupyter_web/co/g_nbgrader.html

 

 

 

 

 

animation-reseau-simple.svg

 

animation-reseau-routeur.svg

 

 

 



[1] . https://github.com/MaayanLab/Zika-RNAseq-Pipeline/blob/master/Zika.ipynb 4. https://f1000research.com/articles/5-1574/