Bienvenu sur Easybioinfo

Soyez les bienvenus sur le site easybioinfo.free.fr.

Sur ce site, entièrement gratuit et maintenu par des volontaires, vous pouvez trouver diverses informations, tutoriels, ainsi que bientôt du code utile dans la bioinformatique. Le but de la rédaction est de proposer une multitude d'astuces, d'aides et de tutoriels pour que des novices puissent facilement s'introduire dans la bioinformatique. Mais également des bioinformaticiens déjà confirmés peuvent être intéressés par une sélection d'articles scientifiques intéressante dans certains domaines, ou par le code source proposé parmi nos posts.

Vous pouvez naviger de plusieurs manières sur le site:

  • A l'aide du nuage de mot clé en haut a droite ("Tag Cloud"), vous pouvez directement accéder des articles correspondant au mot clé de votre choix.
  • En cliquant sur "Tags" (menu de navigation à gauche), les différents mots clés apparaissent de manière hiérarchiques, et peuvent être séléctionnés de la même manière que pour le nuage de mots clés.
  • Vous avez également une foncton de recherche en haut à gauche.

Le projet a été fondé par trois étudiants du Master 2 Recherche Bioinformatique de l'université Paris Diderot.

Si vous êtes intéressé par le projet et si vous voulez y participer, n'hésitez pas à ouvrir un compte utilisateur. Après validation par l'administrateur, vous pourrez alors apporter votre contribution en proposant vous même du contenu sur easybioinfo.

Bonne découverte de la bioinformatique !

Guilhem, Vincent et Peter

ValueError: incomplete format Comment écrire dans un string le sign % pourcentage

Si vous obtenez cette erreur c'est que vous souhaitez écrire un signe pourcentage dans une chaine de caractère. L'antislash ne permet pas d'échaper le pourcentage. Pour l'échapper il suffit de mettre un second pourcentage devant le premier.

print "%% ceci est un pourcentage"

Bon pythonnage

Rendre votre library accessible en python

Lorsque vous avez développé de nombreuses library et que vous voulez l'utilisez avec un import vous devez avoir votre script python en local ou alors spécifié dans le sys.path le répertoire contenant votre library.

Pour vous éviter de faire à chaque script 

import sys

sys.path.append("mypathtothedirofmylibrary")

Voici une manière d'installer perpétuellement votre library dans python.

1 / Créer un répertoire et placer vos scripts dedans.Vous pouvez faire des sous repertoires, par exemple :

Comment lister les fichiers ne matchant pas un ls. Une sorte de ls inversé.

Le ls nous permet de lister un ensemble de fichier répondant à leurs noms ou à un pattern. Toutefois, il peut nous arriver de vouloir récupérer par exemple tous les fichiers de matchant pas un pattern. Il n'existe pas à ma connaissance d'argument sous la command ls pour inverser une sélection. Il est toutefois possible de le faire sous la commande find. Celle-ci est très rapide et permet de retrouver des fichiers beaucoup plus rapidement que ls et avec des restrictions plus précises. Avec !

Interpreteur python sous console unix pour les feignants !!! La completion sous l'interpreteur python :)

La complétion est bien pratique et rapide. Elle pourrait être bien utile sous l'interpreteur python par exemple. Celle-ci est disponible sous certains OS.

Voici une petite astuce pour la rendre accessible sous votre interpreteur et la rendre également customisable :)

import readline, rlcompleter

readline.parse_and_bind('tab: complete')  

# Lorsque vous voulez compléter tapper Tab

readline.parse_and_bind('\C-space: complete')  

# Lorsque vous voulez compléter tapper Contrôle+espace

 

 

Une mine d'or pour le développement Python, python par l'exemple

Qui n'est pas tombé de nombreuses fois sur un API, proposant ce que l'on cherche sans même montrer un exemple ??? Et rien de plus frustrant que d'avoir trouvé ce que l'on cherche sans savoir s'en servir.

Pour remédier à ce problème, voici nullege http://nullege.com/ un site qui via de simples mots clés vous fournira non seulement l'API mais également tous les exemples qu'il trouvera parmi toutes les libraries et les programmes qu'il contient. 

Gérer vos paramêtres et vos variables avec ConfigParser python

La library ConfigParser va vous permettre de gérer certaine de vos variables globales au sein de multiple script. Ce post vous permettra par exemple de gérer les liens sur vos machines...

Rien de mieux qu'un exemple pour rentrer dans le vif du sujet :

############################

MesVariables.ini

Concaténer rapidement des fichiers en python

Sous Unix il est facile de concaténer des fichiers grace à la commande cat. Lorsque vous voulez concaténer plusieurs fichiers lors d'une boucle python, le temps d'execution avec un os.system(cat %s >> toto%(i)) peut être très long et générer des erreurs d'accés disque.

L'alternative serait d'ouvrir tous les fichiers et les écrire dans le fichier final mais le temps de calcul là encore explose...

Voici donc une routine très rapide et très propre pour ce genre d'opération :

import shutil

fichier_final = open("ma_db.tfa", "w")

Ecrire dans la sortie standard stdout ou dans la sortir d'erreur stderr dans un script python

Pour écrire dans la sortir standart de python vous utilisez la simple commande print en python. Mais qu'en est-il de la sortie d'erreur.

Pour acceder à la sortie d'erreur vous devez importer la library sys

import sys

print >> sys.stderr , "sortie d'erreur"

Il en est de même pour la sortir standart, mais ceci n'a pas trop d'interêt car la fonction print le fait automatiquement.

print >> sys.stdout, "sortie standart"

Bon python !

NVIDIA CUDA Calcul de matrice de distance avec pyCuda

Bonjour

Alors, comme promis il y a fort longtemps voici un petit
post sur l'utilisation de CUDA pour traiter un problème auquel je suis
confronté souvent dans mon travail. Voici le problème : On doit
analyser des dynamiques moléculaires et savoir quelle molécule d'eau se
trouve à quel endroit et proche de quel atome de la protéine. Ainsi
donc, on doit constamment calculer les distances entre les molécules
d'eau et tous les atomes de la protéine sur tous les snapshot.

Gérer sa bibliographie (bis)

Je me permet de reprendre le post d'ecniv pour remettre en avant Zotero ainsi qu'une autre ressource web qui peut être très utile.

Depuis l'année dernière, ce plugin pour firefox a vraiment évolué. On peut noter principalement deux fonctionnalités majeures qui ont été introduites par la version 2.0 (encore en béta mais largement utilisable) :

Recherche et documentation sur R

Voici une publication montrant les difficultés pour l'utilisation du langage R chez les étudiants. Cette article donne de nombreuses références très intéressantes pour vos recherches sur le langage R.

Merci à Alex pour la source !

GPU CUDA Workshop libre en ligne

Voici un petit lien excellent qui contient tous les cours (vidéos + présentations pdf) donnés lors de la GPU Summer School à l'université de l'Illinois. Vous avez tout ce qu'il faut pour démarrer un projet CUDA en C. Il y a également beaucoup d'information sur des aspects plus techniques de l'architecture des GPU de NVIDIA. Bref, c'est une bonne formation qui ne coute rien ;)

http://www.greatlakesconsortium.org/events/GPUMulticore/agenda.html

JDK doc java sun 5/6 problème installation Ubuntu

Juste une petite astuce pour ceux qui ont ce probleme lors de l'installation de Java avec apt. Ce problème est pénible car il vous renvoie des erreurs à chaque fois que vous voulez installer quelques choses aprés.

Erreur obtenue :

Astuce boucle python, iterateur

Dans de nombreux cas, vous désirez (moi le premier) parcourir une liste et récupérer en meme temps l'itérateur. Cela vous conduit la plupart du temps à ce type de routine :

 

for i in range(len(ma_list)):

    print i,ma_list[i]

 

Pour éviter ce type de code assez lourd et pas très esthétique il existe une petite fonction fort pratique : enumerate()

Prenant en argument une liste, enumerate renvoie un tuple  iterateur,valeur de votre liste.

exemple enumerate(["a","b"]) renvoie  ((1,''a"),(2,"b"))

Syndicate content