Fil des billets

Principe de fonctionnement d’une batterie lithium ion

Ce document présente, de façon vulgarisée, le fonctionnement d’une batterie lithium ion. Il s’agit de diapositives que j’ai utilisées à l’occasion d’un séminaire à l’attention d’élève du lycée. La première partie est un bref historique au sujet des batteries. La deuxième partie concerne quelques rappels en électricité et sur les piles ou batteries en général. La troisième partie traite des batteries lithium ion.

batterie_Liion

Présentation du fonctionnement d’une batterie lithium ion.

Sources :

  • Science et vie 1076, mai 2007
  • La recherche 435, Novembre 2009

Le terminal linux et l’éditeur vim : une petite introduction

Ce petit document fait 3 pages et rassemble une présentation rapide et un ensemble de commandes de bases du terminal linux et de l’éditeur vim (ou de sa version graphique gvim). La liste de commandes et très loin d’être exhaustives mais elle est suffisante pour débuter. Ce document a été rédigé à l’attention de stagiaires de niveaux L3 à M2 que j’ai encadré.

Aide mémoire pour vim et le terminal linux

Pour aller plus loin :

  • En ligne de commande, la commande man vous donnera accès à la documentation des commandes linux
  • L’éditeur vim contient un tutoriel intégré. Dans un terminal tapez vimtutor pour démarrer.
  • Vous pouvez accéder très simplement à l’aide sur vim en tapant :help en mode normal suivi de la commande sur laquelle vous souhaitez de l’aide
  • Programmez des scripts Bash

Script de post-installation pour ubuntu

Voici un script bash dont je me sers lorsque je dois installer une série de paquets après une installation ou réinstallation toute fraiche d’Ubuntu. Ce script est assez simpliste, il installe simplement des paquets les uns après les autres préalablement enregistrés dans une liste. Pour l’écrire je me suis inspiré des nombreux autres scripts du même genre existant sur le web.

Comme tous ces scripts, il est bien entendu adapté à mon utilisation d’ubuntu. La première chose à faire pour l’adapter à vous est de supprimer les paquets qui ne vous intéressent pas et de rajouter les votre. Je ne prétend pas donner ici la liste des paquets indispensable.

Je vous met également en garde, étant donné que ce script doit être lancé avec les droits administrateur il est préférable de le comprendre avant de l’exécuter car il pourrait endommager votre machine.

#!/bin/bash
 
# Germain Vallverdu
# 15 Avril 2011
# <germain.vallverdu@univ-pau.fr>
 
# ----------------------------------------------------------------------------------------
# paquets disponnibles dans les dépots ubuntu
# ----------------------------------------------------------------------------------------
compilateur="build-essential gcc gfortran"
 
python="idle python-qt4 python-numpy python-scipy python-matplotlib pymol bpython python-profiler"
 
editeur="vim-gnome jabref poedit"
 
sciences="grace gnuplot gperiodic gchempaint mpich2"
 
video="vlc mozilla-plugin-vlc libdvdread4 ubuntu-restricted-extras cheese" 
 
son="audacity banshee-extension-alarm banshee-extension-jamendo tuxguitar"
 
graphisme="gimp inkscape povray"
 
latex="texlive texlive-lang-french texlive-latex-extra aspell-fr lyx"
 
divers="filezilla compizconfig-settings-manager acroread pdfsam conky"
 
# paquets à installer
paquets="$compilateur $python $editeur $sciences $video $son $graphisme $latex $divers"
 
# ----------------------------------------------------------------------------------------
# Options de apt-get pour l'installation des paquets
# ----------------------------------------------------------------------------------------
options="--auto-remove --yes -q"
 
# ----------------------------------------------------------------------------------------
# Test des droits administrateur
# ----------------------------------------------------------------------------------------
if [ $USER != "root" -o $UID != 0 ]
then
  echo "Ce script doit être exécuté en tant qu'administrateur (root)."
  echo "Placez sudo devant votre commande :"
  echo "sudo $0"
  echo "Abandon"
  exit 1
fi
 
echo "Assurez-vous d'avoir lu et compris le script avant de l'exécuter."
echo -n "Êtes-vous sûr de savoir ce que vous faites ? (o/n) "
read rep
if [ $rep != "o" ] && [ $rep != "oui" ] && 
   [ $rep != "y" ] && [ $rep != "yes" ]
then
  echo "Pour lire le script, entrez la commande suivante :"
  echo "gedit $0 &"
  exit 1
fi
 
# version d'ubuntu
version=`lsb_release -cs`
echo "* Ajout des dépots pour Ubuntu $version"
 
# ----------------------------------------------------------------------------------------
# ajouts de dépots
# ----------------------------------------------------------------------------------------
 
# partenaires
echo -e "\n* Canonical partners"
cp -v /etc/apt/sources.list /etc/apt/sources.list.bak
echo "sed \"s/# deb http\:\/\/archive.canonical.com/deb http\:\/\/archive.canonical.com/\" /etc/apt/sources.list > sources.list.new"
sed "s/# deb http\:\/\/archive.canonical.com/deb http\:\/\/archive.canonical.com/" /etc/apt/sources.list > sources.list.new
cp -v sources.list.new /etc/apt/sources.list
 
# medibuntu
echo -e "\n* Medibuntu"
wget http://www.medibuntu.org/sources.list.d/${version}.list --output-document=/etc/apt/sources.list.d/medibuntu.list
wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add -
apt-get -q update
apt-get --yes -q --allow-unauthenticated install medibuntu-keyring
 
codecs="non-free-codecs libdvdcss2"
 
# virtual box
echo "deb http://download.virtualbox.org/virtualbox/debian $version contrib" | sudo tee -a /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 98AB5139 
virtualbox=" virtualbox"
 
# wine
add-apt-repository ppa:ubuntu-wine/ppa
wine=" wine1.3"
 
paquets="$codecs $paquets $virtualbox $wine"
 
# ----------------------------------------------------------------------------------------
# mise à jour des sources de logiciels
# ----------------------------------------------------------------------------------------
echo -e "\napt-get -q clean"
apt-get -q clean
echo -e "\napt-get -q update"
apt-get -q update
echo -e "\napt-get -q --yes upgrade"
apt-get -q --yes upgrade
 
# ----------------------------------------------------------------------------------------
# installation des paquets
# ----------------------------------------------------------------------------------------
for paquet in $paquets
do
    echo -e "\n----------------------------------------------------------------"
    echo " INSTALLATION DE : $paquet"
    echo -e "----------------------------------------------------------------\n"
    apt-get $options install $paquet
done
 
# ----------------------------------------------------------------------------------------
# parametrage de libdvdread4
# ----------------------------------------------------------------------------------------
echo -e "\n----------------------------------------------------------------"
echo " parametrage de libdvdread4"
echo -e "----------------------------------------------------------------\n"
echo -e "/usr/share/doc/libdvdread4/install-css.sh\n"
/usr/share/doc/libdvdread4/install-css.sh
 
# ----------------------------------------------------------------------------------------
# nettoyage
# ----------------------------------------------------------------------------------------
echo -e "\n----------------------------------------------------------------"
echo " PURGE : apt-get -q --yes autoremove"
echo -e "----------------------------------------------------------------\n"
apt-get -q --yes autoremove

Ma thèse en quelques mots

Étude théorique de processus photophysiques dans des protéines fluorescentes

Intensité de fluorescence

Cette thèse présente une étude théorique de protéines de la famille de la Green Fluorescent Protein, GFP. Ces protéines permettent grâce à leur propriétés de fluorescence d’explorer un nombre croissant de processus biologiques in vivo. Les approches numériques, complémentaires aux études expérimentales, peuvent apporter une compréhension microscopique des processus mis en jeu et contribuer à l’interprétation des propriétés photophysiques de ces protéines.

La première partie de ce manuscrit présente l’étude par simulation moléculaire de l’effet du changement de pH sur la structure de la Cerulean et sur son spectre d’absorption. Ces calculs nous ont permis d’établir que le décalage du spectre d’absorption, observé expérimentalement en fonction du pH, est dû à une isomérisation du chromophore liée au changement de l’orientation de la chaîne latérale d’un acide aminé proche.

CFP

La deuxième partie de ce manuscrit aborde l’étude d’un mécanisme de désactivation de la fluorescence dans la GFP. Nous avons proposé une approche, combinant des simulations de dynamique moléculaire biaisée et de dynamique brownienne, afin de déterminer la cinétique d’un mécanisme de désactivation de la fluorescence lié à une torsion du chromophore. Nous avons pu obtenir des distributions de temps de nème passage aux géométries critiques et en déduire des informations quantitatives sur le déclin de fluorescence.

Les outils développés et leurs futurs développements permettront de progresser dans la compréhension de la relation entre l’isomérisation du chromophore, le pH et le déclin de la fluorescence qui sont étroitement liés dans les protéines fluorescentes.

Manuscrit de thèse

Version imprimable du manuscrit de thèse (liens non colorés).

Ces travaux ont été réalisés en utilisant différentes méthodes de simulations numériques : Simulations de dynamiques moléculaires (AMBER), calculs de chimie quantique (Gaussian), codes personnels (Fortran 77/90).

Installation de modules python supplémentaires

Supposons que vous avez écris un module python contenant des classes ou des fonctions ou que vous en avez téléchargé un sur internet. Où devez vous le placer pour y avoir accès lorsque vous exécutez un programme python ou que vous utilisez le prompt de python ?

Lorsqu’on importe un module python avec l’instruction import ou from, python cherche le module correspondant dans une liste d’emplacements (de dossiers) défini dans la variable d’environnement PYTHONPATH. On peut connaître la liste de ces emplacements grâce à la variable path du module sys :

[Ger@kiwi:/home/Ger]> python
Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> for p in sys.path:
...     print(p)
... 
 
/home/moi/
/usr/lib/python2.6
/usr/lib/python2.6/plat-linux2
/usr/lib/python2.6/lib-tk
...
>>>

La variable sys.path est en fait une liste python. On voit, entre autre, que le dossier de travail (ici /home/Ger/) est contenu dans la variable sys.path. Une première solution pour importer dans un code python un module supplémentaire est donc de le placer dans le dossier de travail. Cependant cette solution n’est pas très agréable étant donné qu’il faudra recopier le module dans tous les dossiers ou vous en aurez besoin. Une seconde solution est de rajouter des éléments à la liste sys.path avant d’importer les modules :

import sys
sys.path.append("/home/moi/chemin/vers/mon/module/")
# importation de votre module
import mon_module

De façon plus automatique on peut ajouter des emplacements à la variable d’environnement PYTHONPATH. Voici quelques lignes en bash que vous pouvez ajouter à votre fichier .bashrc pour ajouter un ensemble de chemins de façon automatique. Ce petit script suppose que tous vos modules python supplémentaires sont enregistrés dans un même dossier et dans les sous dossier de ce dernier. Ce dossier nommé classDir est défini sur la première ligne du script qui ajoute simplement à la variable PYTHONPATH le dossier classDir et l’ensemble des dossiers qu’il contient. Voici le script :

# python : liste des dossiers contenant vos classes python
classDir="/home/moi/chemin/vers/mes/modules/"
liste=`ls $classDir`
monpath="$classDir:"
for dossier in $liste
do
    monpath="$classDir$dossier:$monpath"
done
export PYTHONPATH=$PYTHONPATH:$monpath

Excited State Dynamics of the Green Fluorescent Protein on the Nanosecond Time Scale

Abstract :

We have introduced a new algorithm in the parallel processing PMEMD module of the AMBER suite that allows MD simulations with a potential involving two coupled torsions. We have used this modified module to study the green fluorescent protein. A coupled torsional potential was adjusted on high accuracy quantum chemical calculations of the anionic chromophore in the first excited state, and several 15-ns-long MD simulations were performed. We have obtained an estimate of the fluorescence lifetime (2.2 ns) to be compared to the experimental value (3 ns), which is, to the best of our knowledge, the first theoretical estimate of that lifetime.

Jonasson, G.; Teuler, J.-M.; Vallverdu, G.; Mérola, F.; Ridard, J.; Lévy, B. & Demachy, I. Excited state dynamics of the green fluorescent protein on the nanosecond time scale Journal of Chemical Theory and Computation, 2011, 7, 1990-1997

Relation between pH, structure, and absorption spectrum of Cerulean: A study by molecular dynamics and TD DFT calculations

Abstract:

Molecular dynamics (MD) and quantum mechanical calculations of the Cerulean green fluorescent protein (a variant of enhanced cyan fluorescent protein ECFP) at pH 5.0 and 8.0 are presented, addressing two questions arising from experimental results (Malo et al., Biochemistry 2007;46:9865–9873): the origin of the blue shift of absorption spectrum when the pH is decreased from 8.0 to 5.0, and the lateral chain orientation of the key residue Asp148. We demonstrate that the blue shift is reproduced assuming that a rotation around the single bond of the exocyclic ring of the chromophore takes place when the pH changes from 5.0 to 8.0. We find that Asp148 is protonated and inside the barrel at pH 5.0 in agreement with crystallographic data. However, the hydrogen bond pattern of Asp148 is different in simulations of the solvated protein and in the crystal structure. This difference is explained by a partial closing of the cleft between strands 6 and 7 in MD simulations. This study provides also a structure at pH 8.0: the Asp148 carboxylate group is exposed to the solvent and the chromophore is stabilized in the trans conformation by a tighter hydrogen bond network. This work gives some insight into the relationship between the pH and the chromophore conformation and suggests an interpretation of the very similar fluorescent properties of ECFP and ECFP/H148D.

Vallverdu, G.; Demachy, I.; Mérola, F.; Pasquier, H.; Ridard, J. & Lévy, B. Relation between pH, structure, and absorption spectrum of Cerulean: A study by molecular dynamics and TD DFT calculations Proteins: Structure, Function and Bioformatics, 2010, 78, 1040-1054

Using biased molecular dynamics and Brownian dynamics in the study of fluorescent proteins

Abstract:

The present article presents a theoretical study of the dynamics of the chromophore of the Green Fluorescent Protein in its excited state on a long time scale (a few ten nanoseconds) in order to help the interpretation of time resolved experiments. The starting hypothesis is that the quenching of fluorescence is related to the internal motion of the chromophore, usually called ‘φ torsion’. In fact, that motion is hindered by the protein and cannot be studied by standard molecular dynamics. Therefore we have developed a different approach involving three steps.

First the potential of mean force (PMF) along the considered torsion is obtained by biased molecular dynamics (umbrella sampling). Then, a long time scale, single particle Brownian dynamics is performed using that PMF and an appropriate diffusion constant. Finally we determine the nth passage time (NPT) distribution functions at geometries or regions where nonradiative ground state recovery may occur. The NPT distributions generalize the more usual ’mean first passage time’ and allow determining different quantities like fluorescence decay profiles, mean fluorescence lifetime, quantum yield etc.

These quantities are used here in a qualitative discussion of the fluorescence decay in Green Fluorescent Protein.

Vallverdu, G.; Demachy, I.; Ridard, J. & Lévy, B. Using biased molecular dynamics and Brownian dynamics in the study of fluorescent proteins Journal of Molecular Structure: THEOCHEM, 2009, 898, 73-81

Complex Fluorescence of the Cyan Fluorescent Protein: Comparisons with the H148D Variant and Consequences for Quantitative Cell Imaging

Abstract :

We have studied the fluorescence decays of the purified enhanced cyan fluorescent protein (ECFP, with chromophore sequence Thr-Trp-Gly) and of its variant carrying the single H148D mutation characteristic of the brighter form Cerulean. Both proteins exhibit highly complex fluorescence decays showing strong temperature and pH dependences. At neutral pH, the H148D mutation leads (i) to a general increase in all fluorescence lifetimes and (ii) to the disappearance of a subpopulation, estimated to be more than 25% of the total ECFP molecules, characterized by a quenched and red-shifted fluorescence. The fluorescence lifetime distributions of ECFP and its H148D mutant remain otherwise very similar, indicating a high degree of structural and dynamic similarity of the two proteins in their major form. From thermodynamic analysis, we conclude that the multiexponential decay of ECFP cannot be simply ascribed, as is generally admitted, to the slow conformational exchange characterized by NMR and X-ray crystallographic studies [Seifert, M. H., et al. (2002) J. Am. Chem. Soc. 124, 7932−7942; Bae, J. H., et al. (2003) J. Mol. Biol. 328, 1071−1081]. Parallel measurements in living cells show that these fluorescence properties in neutral solution are very similar to those of cytosolic ECFP.

Villoing, A.; Ridhoir, M.; Cinquin, B.; Erard, M.; Alvarez, L.; Vallverdu, G.; Pernot, P.; Grailhe, R.; Mérola, F. & Pasquier, H. Complex fluorescence of the cyan fluorescent protein: Comparisons with the H148D variant and consequences for quantitative cell imaging Biochemistry, 2008, 47, 12483-12492

Cyan Fluorescent Protein: Molecular Dynamics, Simulations, and Electronic Absorption Spectrum

Abstract :

The dynamics and electronic absorption spectrum of enhanced cyan fluorescent protein (ECFP), a mutant of green fluorescent protein (GFP), have been studied by means of a 1 ns molecular dynamics (MD) simulation. The two X-ray conformations A’ and B’ of ECFP were considered. The chromophore was assumed to be neutral, and all titratable residues were taken in their standard protonation state at neutral pH. The protein was embedded in a box of water molecules (and counterions). The first result is that the two conformations A’ and B’ are found to be stable all along the simulation. Then, an analysis of the hydrogen-bond networks shows strong differences between the two conformations in the surroundings of the nitrogen atom of the indolic part of the chromophore. This is partly due to the imperfection in the β barrel near the His148 residue, which allows the access of one solvent molecule inside the protein in conformation A‘. Finally, quantum mechanical calculations of the electronic transition energies of the chromophore in the charge cloud of the protein and solvent water molecules were performed using the TDDFT method on 160 snapshots extracted every 5 ps of the MD trajectories. It is found that conformations A‘ and B‘ exhibit very similar spectra despite different H-bond networks involving the chromophore. This similarity is related to the weak charge transfer involved in the electronic transition and the weak electrostatic field created by ECFP near the chromophore, within the hypotheses made in the present simulation.

Demachy, I.; Ridard, J.; Laguitton-Pasquier, H.; Durnerin, E.; Vallverdu, G.; Archirel, P. & Lévy, B. Cyan fluorescent protein: Molecular dynamics, simulations, and electronic absorption spectrum Journal of Physical Chemistry B, 2005, 109, 24121-24133