Le Biologiste et l'IT : les bases

Le Biologiste et l'IT : les bases

Public cible : Biologistes, Étudiants, stratège IT de laboratoire

Résumé

  • Le biologiste doit :
    • connaître les grands principes de fonctionnement de la chaîne IT;
    • impérativement développer certaines compétences pour pouvoir :
      • agir en autonomie à un niveau basique et avancé ;
      • exprimer précisément ses besoins auprès d’un spécialiste;
  • Une solution d’assistance est indispensable.

Tous $\lambda$-Biologistes?

Qu’est ce que c’est?

Le lambda fait référence à la famille des langages de programmation fonctionnels eux mêmes calqués sur le $\lambda$-calcul. En bref, il s’agit d’une formalisation mathématique qui permet l’expression de fonctions complexes par combinaison d’expressions de bases.

Récursivité et stabilité sont des notions centrales dans cette approche.

Ces deux notions sont très présentes dans le domaine des Sciences de la Vie et le Biologiste pratique déjà empiriquement une forme de $\lambda$-procédé.

Extension de la pile d’outils du Biologiste

L’adaptation au progrès et l’intégration des nouveautés doit être maximale pour une pratique optimisée.

L’IT n’est qu’une couche technique supplémentaire à manipuler et à interfacer avec les autres.

A priori son intégration doit pouvoir se faire sans difficulté conceptuelle car le Biologiste est déjà très largement habitué à devoir s’approprier de nombreux outils et concepts qui viennent d’autres disciplines.

Quoi faire et par où commencer?

Pour pouvoir s’orienter vers les solutions qui répondraient le mieux au besoins, il est nécessaire d’acquérir une connaissance de base des écosystèmes IT. La recherche d’information n’en sera que plus rapide et efficace.

Points à voir

Un bon départ pour pouvoir évoluer sereinement de façon concentrique pourrait s’appuyer sur les suggestions suivantes:

Domaine Sensibilisation
Matériel & Logiciel Logique de fonctionnement et interactions
Virtualisation
Communication Standards Réseaux et domaines d’applications
Principes client-serveur / API / P2P
Données Modèles de Représentation de données
Types de stockages
Paradigmes Impératif
Fonctionnel
Objet
Algorithmique Réflexion de base
Implémentation concrète d’exemples simples
Développement Outils de développement simples
Outils de développement intégrés complets
Versioning et extensions cloud
“Framework” : avantages et moyen de mise en oeuvre
Outils collaboratifs

Et concrètement ?

Une simple liste à ne pas prendre comme une recette miracle mais qui peut faciliter le périple:

Linux (+++)

Se documenter sur ce système d’exploitation devenu incontournable, s’approprier les commandes de bases (fameuses CheatSheet) et quelques programmes spécifiques tels que awk / sed qui peuvent s’avérer de puissant outils de manipulation de texte; un complément d’information sur l’utilisation de bash peut être profitable.

Même si Windows s’est très largement Unixifié / Linuxifié avec notamment l’arrivée de PowerShell et l’intégration du terminal via Canonical, Linux reste un incontournable de par sa capacité d’adaptation à quasiment tout type de missions sous réserve de savoir bien utiliser les bon outils.

JAVA (+)

Commencer à se faire une culture de base sur la façon de programmer, bon compromis entre proximité machine et abstraction

Python (+++)

Simplicité d’accès, productivité, puissance de sa communauté et des projets qui sont fédérés autour de ce langage

R

Excelle dans l’exploitation statistique de set de données, ML, et représentations graphiques

SQL

Pour exploiter les bases de données : extraction, filtrage et manipulation de base

Algorithmique (+)

Design d’un algorithme (tri par exemple), détermination de sa complexité et tentatives d’amélioration des performances en testant différentes stratégies

Administration des paquets (+++)

Savoir installer des paquets / librairies / modules pour pouvoir étendre les capacités de ses outils (gestion des paquets de sa distribution [DEB / RPM / PackageManager] / utilisation de PIP ou de l’environnement ANACONDA pour Python; …)

Expressions régulières (++)

Permet d’isoler / manipuler / nettoyer les informations textuelles

Approches spécifiques

Théorie des graphes, arbres, fouille de données, analyse textuelle, ontologie sémantique, modélisation, manipulation et analyse d’image…. les domaines sont innombrables

Gestion de versions (++)

Utiliser GIT et interagir avec un service de dépôt distant (Github / Bitbucket / Gitlab)

Virtualisation

Comprendre l’intéret des machines virtuelles (Virtualbox, …), des environnements virtuels de développement

Être challengé (+++)

Suivre des MOOCs, concevoir un mini projet, intégrer des communautés de hacking pour mobiliser les connaissances, les étendre et découvrir des approches différentes.

Savoir s’informer

L’IT est une composante technique dynamique en perpétuelle évolution. Au delà des connaissances de base, le Biologiste doit pouvoir trouver une information de qualité propre qui répond à ses problématiques.

Parmi les sources d’information on peut citer :

  • La documentation fournie par les fabricants des solutions utilisées
  • Une sitologie de référence:
    • grands acteurs institutionnels (guidelines)
    • bases de données spécialisées qui souvent présentent des ressources de grande qualité
    • des services en ligne qui compilent et annotent les outils disponibles (OmicsTool…)
  • Des sites communautaires spécialisés :
    • Biostar: sciences de la vie (bioinformatique des NGS)
    • StackOveflow : orienté informatique
    • BioInfo-FR : Actualité entraide bioinformatique francophone
    • SFBI : Société Française de Bioinformatique
  • Littérature:
    • notes techniques présentant si ce n’est la méthodologie précise, une desciption pointue des principes utilisés

Un pas vers la bioinformatique…

Accéder aux données, les trier, les traiter selons ses besoins pour interagir avec elles et éventuellement en générer de nouvelles… c’est l’essentiel du travail quotidien du Bioinformaticien dans lequel s’insère souvent les activités du Biologiste.

Rapidement ses missions s’inscrivent dans des champs de compétences liés :

  • à toutes les spécilalités de la métaomique (génomique, transcriptomique, métabolomique, …)
  • la biologie des systèmes
  • la modélisation
  • la phylogénie
  • la fouille de données

AU FINAL

La masse de compétences à acquérir peut paraître importante.

Toutefois un apprentissage rapide est tout à fait possible car les fondamentaux sont bien souvent déjà acquis. Il ne s’agit que d’extensions souvent accessibles facilement aux non experts motivés.

Leur articulation pour une utilisation cohérente avec les buts recherchés peut parfois être un peu plus problématique et peut nécessiter une assistance spécialisée.

Avatar
WPdrx
Physiologiste Bioinformaticien

Sur le même sujet

Suivant
Précédent