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

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.

Bio3D - Votre analyse de trajectoires en R

Voici un petit package qui pourrait vous intéresser si vous êtes fan de R et si vous voulez l'utiliser pour analyser des trajectoires de dynamiques moléculaires. Ce paquet est momentanément pas sur le serveur CRAN. Vous devez donc le télécharger depuis ici :

http://mccammon.ucsd.edu/~bgrant/bio3d/index.html

Il y a également une petite galérie sur ce site web, qui montre un peu ce qu'on peut faire à l'aide de ce package. Ca serait intéressant de savoir comment le paquet gère des grosses trajectoires ou des trajectoires coupées en plusieurs morceaux au niveau de la mémoire et temps de calcul. Si vous avez une expérience avec ce paquet, n'hésitez donc pas à poster un petit commentaire ;)

Optimisation en Python : les listes de compréhension faire des boucles en une ligne

A l'instar des tests en une ligne (voir le post : Optimisation en Python : Test if else en une ligne) il est possible de faire des boucles en une ligne et de récupérer rapidement le résultat.

Syntaxe : [i for i in range(50)]

Explications :

la boucle parcourt la liste range(50) et renvoie le résultat i qui est placé avant le for

[résultats_renvoyés for i in range(50)]

l'avantage de ce type de syntaxe est que chaque résultat renvoyer va en append dans une liste. Ainsi en récupérrant le résultat de 

Optimisation en Python : Test if else en une ligne

La syntaxe de python oblige à faire de nombreuses indentations. Cela évite certe des erreurs de programmation mais dans certains cas lorsque vous devez faire des tests rapides multiples, votre code peut devenir vite lourd et long.

Voici une astuce pour écrire des tests rapidement :

 Syntaxe :  x>10 and True or False

Explication :

x>10 est un test 

and permet d'acceder à la condiction Oui mon test est juste on execute donc ce qu'il y a après le and

Pourquoi réinventer la roue ???

Les libraries de python contiennent de nombreux voir très nombreux fonctions et classes. La plupart du temps nous utilisons que celle que nous connaissons (bin c'est normal quand même) et nous nous débrouillons pour faire ce que l'on souhaite. Pourtant de nombreux module standart sont disponible. Avant d'installer une library ou de coder des fonctions répétitives classiques vérifier qu'elle n'existe pas.

Syndicate content