Dernier post

Code d'erreur de Reed-Solomon

Le code de Reed-Solomon est un algorithme conçu pour corriger des erreurs dans une séquence de données en utilisant des symboles supplémentaires. C'est un système de correction d'erreurs utilisé par exemple pour lire vos vieux CD-ROM rayés.
Pour mieux comprendre, imaginez que je vous transmets lettre par lettre le mot …

Biowasm: Vos outils bioinformatiques sur une page web static

Récemment, une collègue m'a fait découvrir Biowasm. C'est une collection d'outils bioinformatiques bien connus, compilés en WebAssembly. Concrètement, cela signifie que nous pouvons créer des interfaces graphiques pour nos collègues non-spécialistes en bioinformatique, directement sur une simple page web statique, sans avoir besoin de serveur. Et Justement, un biologiste m'a …

Exploiter des fichiers parquets avec Pola.rs et DuckDB

Cela fait un bon moment que j'entends parler des fichiers Parquet. Un format binaire beaucoup plus léger que les fichiers CSV pour le stockage des tableaux de données.
Lorsque j'ai vu pour la première fois un collègue faire une requête SQL quasi instantanée sur des millions des lignes répartis sur …

Créer un module python en C++ avec SWIG

Python n'étant pas connu pour sa rapidité, il existe plusieurs solutions pour exécuter du code compilé. Je citerai par exemple numba qui utilise des décorateurs dédiés ou encore cython qui permet d'écrire un module avec un langage mélangeant du python et du C.
Mais mon regard s'est porté récemment vers …

Du Rock, Wikidata et du SPARQL

Pouvez vous me citer toutes les personnes ayant eu un Oscar et le prix Nobel ? Quelles sont les lieux de naissance de toutes les célébrités se prénommant Antoine ? Trouvez moi tous les médicaments qui cible des gènes liés à la prolifération cellulaire ?
Ce genre de question peut être difficile à …

Analyse de génomes de SARS-CoV-2

La pandémie mondiale de Covid-19 a créé un élan sans précédent dans la production scientifique de données. Notamment, les données sur les génomes du virus produites par séquençage haut débit qui permettent aujourd'hui d'identifier de nouvelles mutations comme la N501Y du variant anglais B.1.1.7 où une Asparagine …

Créer votre propre langage avec textX en Python

Un DSL ( Domain Specific Language ) est un langage de programmation créé pour une tâche spécifique à l'inverse des langages de programmation usuels comme Python. On peut s'en servir par exemple pour créer des petits langages maison utilisés au sein d'une application.
Dans ce billet, je vais vous montrer en Python …

Explorer des données cartographiques avec osmium

Récemment j'ai été amené à devoir extraire toutes les cités en France ( que ce soit des villes, des villages ou des hameaux). j'ai d'abord cherché sur internet un dataset prémâché, mais j'ai vite constaté que ces données étaient souvent incomplètes par rapport aux cartes d'OpenStreetMap. J'ai donc voulu directement …

L'analyse en composante principale

L'analyse en composante principale ou PCA (Principal component analysis) est une méthode de réduction de dimension, largement utilisée en statistique descriptive, pour visualiser sur un graphique à 2 ou 3 dimensions des données décrites sur plus de dimensions. Dans ce billet, nous chercherons d'abord à comprendre le principe général avec …

Programmation par contrainte

On dit souvent qu'être fainéant est gage de qualité chez un programmeur. Dans le sens où il cherchera à résoudre un problème en tapant un minimum de ligne de code et en déléguant au maximum à sa machine. C'est encore plus vrai avec la programmation par contrainte. Contrairement à la …