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

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"))

Amber trajectory to Gromacs XTC conversion

Here a tool is presented that helps you converting your Amber trajectories to Gromacs XTC file format. This script (attached to this post) is based on a shell script written by Justin Lemkul. I tried his initial script and it did not exactly what it should have done for my systems. Thus here a python script (that contains basically the same workflow than the one developed by Justin) is proposed that provides maybe a more robust and general way to convert whole Amber trajectories to Gromacs XTC files.

Aligments Structuraux, tutorial Profit, RMSD, RMS

La plupart du temps quand vous voulez avoir un RMSd entre deux structures rapidement, vous utilisez les logiciels de visualisation telle que Pymol ou VMD... Mais savez vous comment ces derniers vous donne le RMS ?

Une premère étape consiste à aligner les structures.  Et le RMSd sur les atoms que vous aurez spécié. Mais lorsqu'il s'agit de complexe ou structure pas identique au niveau séquence, on se sait pas trop comment ils vont aligner tout ça...

Probleme de trie décimal sous awk sed sort

Vous etes peut etre déja tombé sur ce problème lors de vos multiples aventures sous les plates formes UNIX.

Votre unix est français du coup les séparateurs décimales sont des virgules et non des points ! Ainsi lorsque que vous faites un trie sur des chiffres ayant des points comme séparateurs décimales, il s'en suit un trie par ordre alphabetique.

Pour palier à ce probleme il vous faudra réinitialiser la variable d'environnement de séparateur numérique de votre linux.

Syndicate content