version soumise pour appel à soumission

This commit is contained in:
Olivier Langella 2021-09-08 09:05:45 +02:00
parent 8f6d2f9b06
commit 98159c5e86

164
resume.md
View File

@ -1,157 +1,41 @@
# Fonctionnement d'une plateforme d'analyse protéomique en mode libre
version soumise :
Présentation longue 30' + 10 minutes questions
# Logiciels libres : à la recherche du bien commun
# Objectif
Résumé
présenter une démarche. Comment et pourquoi faire de utiliser des logiciels libres dans un contexte scientifique.
Le logiciel libre et la recherche publique partagent un objectif : le bien commun, au service de tous. Cette présentation revient sur cette «légende» urbaine qu'est le bien commun, et la science ouverte, pour essayer de les analyser à l'aide de l'exemple concret issu du monde de la recherche qui est celui de PAPPSO, une plateforme d'analyse protéomique fonctionnant avec uniquement des logiciels libres. Nous décortiquerons ensemble les liens fondamentaux entre recherche scientifique et culture libre, nous tenterons de défaire quelques fausses croyances et d'analyser les freins actuels au développement scientifique libre, afin de faciliter et de permettre une plus grande synergie entre les deux.
====
# Plan
Le logiciel libre et, plus largement, la culture libre se basent sur les 4 libertés suivantes :
* la liberté d'utiliser sans restrictions,
* la liberté d'en étudier le fonctionnement sans restrictions,
* la liberté de modifier, améliorer, adapter,
* la liberté de distribuer librement, de rediffuser ou partager les modifications éventuelles également.
Le logiciel libre --- de part sa nature même --- est un objet scientifique
canonique en ce sens qu'il se décline sous trois formes inter-dépendantes: il
constitue un outil pour la recherche scientifique, il est un produit de la
recherche scientifique et enfin, il est un objet de recherche scientifique.
Ainsi, le logiciel libre, les licences libres ou la culture libre en général, visent à permettre et, mieux encore, à garantir, l'utilisation libre, le partage, la collaboration, la diffusion libre du savoir, au service de tous, pour le bien commun.
Nous voulons montrer dans notre exposé comment la liberté logicielle a permis à
notre plateforme, d'abord de bâtir une infrastructure informatique
réseaux/serveurs robuste comme socle pour la mise en place ultérieure de nos
activités de recherche scientifique et de développement logiciel.
La recherche publique, quant à elle, qu'elle soit scientifique ou pas, tâtonne, avance, se précise et s'enrichit avec la mise en commun des méthodes de travail, des résultats — échecs et découvertes — qui forment collectivement les savoirs. La recherche publique, organisée et chapeautée par des organismes étatiques, financée collectivement (par nos impôts en grande partie, mais aussi par d'autres mécanismes de retour sur investissements publics comme les crédits impôts recherche), vise justement à construire un service public, un savoir commun, à travers la collaboration et le partage, au service de tous, sans restrictions, sans discriminations, pour le bien commun.
Illustration ici avec https://download.fsfe.org/videos/pmpc/pmpc_fr_desktop.mp4la vidéo Public Money, Public Code en fr de la FSFE.
La plateforme PAPPSO (plateforme...) de spectrométrie de masse pour la biologie
est destinée à fournir à ses usagers scientifiques des services complémentaires:
en premier lieu, la préparation de l'échantillon biologique, en deuxième lieu,
son analyse par spectrométrie de masse et enfin la fouille des données
expérimentales obtenues afin de fournir aux usagers des données d'intérêt
biologique immédiatement exploitables. La mise en œuvre des ces trois services a
requis la mise en place d'une infrastructure informatique permettant un traçage
continu de chaque étape avec stockage des paramètres et des résultats à chaque
instant.
Les deux semblent faits l'un pour l'autre. Mais qu'en est-il en réalité?
Infrastructure
--------------
===
L'infrastructure informatique dont le socle est un réseau interne au laboratoire
est constituée des élements suivants:
Le logiciel libre — de par sa nature même — est un objet scientifique canonique, en ce sens qu'il se décline sous trois formes inter-dépendantes: il constitue un outil pour la recherche scientifique, il est un produit de la recherche scientifique et enfin, il est un objet de recherche scientifique. Et réciproquement, la recherche scientifique publique a besoin des libertés du logiciel libre afin de remplir pleinement son rôle de bien commun, au service de tous, et de bénéficier de ces libertés pour se construire sans restrictions, comme un édifice qu'on construit petit à petit.
.
.
.
Nous allons illustrer cette synergie entre logiciels libres et recherche publique à travers l'exemple de la plateforme de protéomique PAPPSO (Plateforme d'Analyses Protéomique de Paris Sud-Ouest http://pappso.inra.fr/), qui utilise et développe uniquement des logiciels libres. Cet exemple, nous montre l'apport du logiciel libre au développement scientifique, l'agilité inhérente à son mode de fonctionnement, et son rôle indéniable au service d'une science ouverte, d'une science au service de tous.
Dans ce contexte, l'emploi exclusif de logiciels libres garantit ceci, cela et
encore autre chose. Ainsi, nous limitons la dépendance vis-à-vis d'éditeurs de
logiciels dont les produits ont cet inconvénient et cet autre inconvénient
encore. Le succès de notre démarche est lié à ceci et cela et nous permet de
faire la suite.
PAPPSO est tout d'abord une plateforme d'analyses protéomique et d'outils bioinformatiques au service d'autres laboratoires de recherche, afin d'aider ceux-ci, à travers son expertise et savoir-faire, à effectuer les analyses scientifiques protéomiques et traiter les données qui y sont issues. Mais PAPPSO est également un laboratoire de recherche scientifique en protéomique, où de nombreux chercheurs mènent diverses thématiques de recherche dans le domaine.
Logiciels métier
----------------
PAPPSO s'est dotée petit à petit, au fil des années et des besoins, d'une infrastructure informatique complète : réseau, serveurs, stockage, calcul et postes personnels, basée en totalité sur des systèmes et logiciels libres. De plus, la plateforme utilise quasi exclusivement des logiciels libres, et développe aujourd'hui elle même plusieurs logiciels sous licence libre et en particulier toute la chaîne de traitement informatique des données protéomiques, depuis leur sortie des instruments de mesure, jusqu'à leur analyse statistique finale : mineXpert2, X!TandemPipeline, MassChroQ, PROTICdb (liste complète des logiciels ici http://pappso.inra.fr/bioinfo/).
- Gestion documentaire (sourcesup, git)
Nous montrerons que ce choix s'est opéré naturellement, et même inévitablement, dans un environnement scientifique où la maîtrise fine des logiciels est fondamentale (modifier un logiciel au niveau du code est un besoin quasi quotidien), où il est indispensable d'assurer une haute reproductibilité des traitements, où l'objectif est d'optimiser pour améliorer le fonctionnement des logiciels, afin de faire avancer la recherche et la technique dans le domaine concerné. Nous verrons également comment l'agilité, intrinsèque au modèle de développement communautaire des logiciels libres et à l'emploi d'outils qui en sont nés et qui sont devenus universels (forges logicielles, systèmes de rapport de bogue, tests multiples, documentation), permet une efficacité scientifique accrue. Un autre aspect crucial dans tout l'écosystème que nous décrivons est l'intégration de librairies ou de portions de code tiers pré-existants dans des projets en cours de développement. Ces emprunts, intégrations, collaborations, sont possibles grâce aux licences libres qui nous permettent de ne pas réinventer/réimplémenter constamment les mêmes fonctionnalités, tout en profitant du partage et du travail collaboratif pour aller de l'avant bien plus rapidement et plus sûrement; et en faisant profiter à son tour la communauté scientifique de par la mise à disposition sous licence libre de ce code source ainsi produit.
- Interfaçage instruments (proteowizard, pappsomspp, expérience Bruker)
===
- Science à proprement parler (visualisation/fouille des données, explorations
statistiques, production des résultats, mises en oeuvre par notre suite
logicielle)
Bilans
------
Je pense que c'est ici qu'il faut faire la morale en montrant que la morale
colle bien avec efficacité technique et production scientifique
Si la recherche publique profite et bénéficie de l'apport du logiciel libre comme on le voit à travers l'exemple de PAPPSO, elle en est également un producteur et acteur important, dont l'apport est primordial. De nombreux logiciels libres de pointe sont issus du monde de la recherche publique comme en témoigne en partie la forge du code source du secteur public (https://code.etalab.gouv.fr). De nombreux logiciels connus et utilisés largement en sont issus : la distribution Debian GNU/Linux, le logiciel Inkscape, le langage OCAml, Scilab, Scenari, Sympa, Lodel, VLC qui est née d'un projet d'étudiants de Centrale Paris (voir le catalogue Plume à https://www.projet-plume.org/fiches_logiciels_dev_internes).
L'environnement de la recherche publique, éloigné d'impératifs économiques immédiats, en contact direct avec un milieu hautement qualifié, riche de par la diversité des savoirs et la qualité des échanges, constitue un atout pour le développement efficace de logiciels libres. C'est d'ailleurs cet environnement, ce savoir faire, que les entreprises privées apprécient et recherchent chez nous: nos capacités et notre force de développement sont uniques. Ne nous sous-estimons pas, et préservons nos spécificités.
Ainsi,
1)
l'enregistrement des caractéristiques détaillées de chacune des étapes, 2) le
stockage des données et leur transfert sur les postes de travail des différents
intervenants, 3) le traitement des données (fouille des données et analyses
statistiques), 4) le stockage de toutes les données produites dans un dépôt
accessible aux usagers.
1) Chaque étape du processus analytique est minutieusement documentée et --- dès
que possible --- standardisée de manière à nous approcher autant que possible
d'un objectif désormais central dans la démarche scientifique: la recherche
reproductible (git / sourcesup);
2) Les données de spectrométrie de masse sont massives et requièrent pour leur
stockage et leur traitement une infrastructure informatique robuste (ceph,
serveurs de calcul);
3) Le traitement des données impose une utilisation massive de logiciels conçus
pour leur majorité au sein de PAPPSO. Le développement et la maintenance de
toute une gamme de logiciels libres pour la spectrométrie de masse est l'une des
caractéristiques saillantes qui font l'originalité de PAPPSO en France.
4) Les données brutes et les données issues de nos analyses sont stockées dans
un dépôt qui permet leur sauvegarde au long cours et leur recherche par les
usagers.
* introduire le logiciel libre, mariage science / ouverture du code (recherche reproductible), public money public code, obligation éthique en science, pérennité, investissement rentable
* contexte de la plateforme : fabricants de spectromètres, éditeurs de logiciels scientifique. Adaptation permanente, incompatibilité des logiciels entre eux, perte d'expertise lors des changements de versions ou d'éditeur, analyse entre projets ou sur la durée difficile, coût des licences, maintenance, postes dédiés, nombre d'utilisateur restreint, nombre de CPU restreint.
* Expérience PAPPSO en 15 ans d'engagement FOSS : réinvestissement des gains en licence vers l'infrastructure, maitrise du déploiement, maitrise du SI matériel et logiciel, développements à façon, rationalisation des flux de données (production, analyse, archivage), réutilisation des données, compatibilité. Adaptation permanente à l'émergence de nouvelles techniques : comment PAPPSO a pu grâce aux logiciels libres, s'adapter et monter en puissance. gel2D, analyses shotgun, haut débit, explosion des données, métaprotéomique, mobilité ionique...
* Comment : compétences en admin sys/réseau, développement, scientifique, expertise technique dans la même équipe. Développement agile et ouvert.
* Conclusion : le FOSS est un atout pour la recherche. Un engagement réel est nécessaire pour garder la maitrise des SI au niveau des labos et au niveau national (éviter les solutions propriétaires pour la messagerie, visio...). L'ouverture du code est nécessaire pour pouvoir s'adapter et innover.
Réu BBB : Olivier, Eda, Filipo
Notes en vrac :
Fortes recommandation d'utiliser des licences libres + blabla
La circulaire Ayrault
Public Money Public Code (on leur fait un peu la moral)
Puis leur vanter les bienfaits de tout ça, efficacité etc.
Retrouver les trois pilliers : Informatique scientifiaue + informatique de support + infrastructure ?
Casser le mode services de développement externes : agilité en interne, on est des scientifiques, il n'y a que nous.
Puis parler de MassChroQ et de notre expérience (illustrer tout ça).
Les licences permissives : recommandées par l'INRAE, mais pas forcément. La GPL, le copyleft est là pour protéger, les licences permissives peuvent être des fois pertinentes mais pas tjs.
Filipo : Leur montrer notre infra, basée sur du libre. Le terreau de base, puis on passe au plus haut niveau dans la science. Leur montrer toute la pile de l'infra qu'on a en libre, en mode ils pourraient aussi.
Présenter PAPPSO, cadre, + clusters de calcul, cluster de stockage, comment on a monté tout ça.
Depuis 2005, PAPPSO, Plateforme de Protéomique Paris Sud Ouest a fait le choix du logiciel libre. Un choix raisonné pour résoudre les problèmes de pérennité, de diversité des formats, de dépendance vis à vis des éditeurs de logiciels scientifiques. Le projet PROTICdb (Ferry-Dumazet et al. 2005, Langella et al. 2007) a permis dans un premier temps d'assurer la continuité des projets scientifiques en permettant un stockage structuré des données provenant de différentes sources, assurant la réutilisation des données et la compatibilité entre les différents logiciels utilisés sur la plateforme, la publication et la mise en relation entre projets. Les logiciels utilisés à l'époque pour la production de données étaient uniquement propriétaires, indispensable pour l'exploitation d'image de gel 2D. Cela engendrait des coûts importants en licences, en matériel (pc dédié), en maintenance (mises à jour), et des limites dans l'efficacité scientifique dû au manque d'intégration des logiciels entre eux, transfert de données, bugs. Nous avons donc lancé de développement de Beads (Langella, Zivy 2010) pour exploiter les images de gels avec des algorithmes originaux développés sur la plateforme. En parallèle, nous avons remplacé une étape clé de nos analyses, l'identification, jusqu'ici réalisée par un logiciel propriétaire, par X!Tandem (Craig, Beavis 2004), logiciel libre en ligne de commande. Ces briques logiciels, fonctionnant sous Linux nous ont permis de commencer à rationaliser la gestion de notre matériel. Nous avons fait l'acquisition d'un serveur sous Linux et commencé la centralisation des données sur serveur NAS. l'aspect rugueux de ces logiciels en ligne de commande a été compensé par leur efficacité. La qualité des résultats obtenus a été améliorée, et l'intégration des outils entre eux sur un même serveur a apporté d'énormes gains en temps de traitement. L'accès au code source nous a permi des adaptations impossible à réaliser autrement, ainsi que le packaging et le
déploiement automatique. En quelques années, les PC de bureautique utilisés par les membres de PAPPSO ont migrés de Windows vers Ubuntu puis Debian. La technologie des spectromètres de masse est en perpétuelle évolution. La quantification auparavant uniquement possible par exploitation des images de gels devenait possible à partir des données de masse directement. En 2008, l'offre commerciale ou libre dans le domaine n'était pas encore disponible. Disposant des compétences scientifiques nécessaires, nous avons lancé le développement de notre propre logiciel, MassChroQ (Valot et al.2011).
PAPPSO dispose depuis cette époque d'un système de traitement des données en protéomique entièrement libre. La partie acquisition des données de spectrométrie de masse restant la propriété exclusive des fabricants d'instruments, l'utilisation de Windows sur les postes d'acquisition reste nécessaire. Les données sont transformées après l'acquisition aux formats ouverts standards (formats XML défini par la Proteomic Standard Initiative).
La maitrise complète des outils a permi l'adaptation rapide de la plateforme aux évolutions techniques et de nouveaux développements en bioinformatique.
A chaque génération d'instruments, les avancées techniques produisent, comme en génomique, une explosion des besoins en stockage et en capacité de calcul. Face à ce défi, la course à l'équipement devenait insoutenable. En 2010, nous avons lancé le projet SIROCCO (Seamless Integration of Ressources for Omics Critical Computational Operations). Le projet consiste à intégrer stockage, capacité de calcul, poste de travail, archivage dans un ensemble cohérent. Les principaux logiciels utilisés sont : Debian, x2go, HTCondor, Ceph, git, ansible. En 2011, notre système de stockage est passé d'un NAS traditionnel à un cluster ceph, directement accessible en cephfs par les noeuds de notre cluster de calcul HTCondor.
Cette opération nous permet depuis lors une adaptation continuelle de nos équipements, sans migration de technologie.
Grâce à ces développements, PAPPSO s'est naturellement engagée dans la protéomique "haut débit" et la métaprotéomique, de grands effectifs (plus de 1000 échantillons dans l'ANR Amaizing) et de grande complexité en métaprotéomique (ANR ProteoCardis). Pour permettre l'analyse de ces grands jeux de données, nous avons développé des algoritmes et des interfaces graphiques dédiées. De nombreux outils ont été développés en interne. X!TandemPipeline (Langella et al. 2017) permet l'inférence de protéines, la visualisation et la filtration automatique des données de spectrométrie de masse. MCQR, module de traitement statistiques R pour la protéomique est en cours de publication. Nous rassemblons nos développements dans une bibliothèque C++ commune (PAPPSOms++) qui permet une adaptation plus rapide de tous nos logiciels aux nouvelles technologies. En 2018, F. Rusconi, chercheur CNRS nous a rejoint et nous avons ajouté à notre base de code des techniques de traitement de spectres permettant une exploitation plus rapide et efficace des données brutes avec MineXpert2 (Langella, Rusconi 2021).
Aujourd'hui, les évolutions continuent, et nous développons maintenant notre capacité à exploiter directement les données de spectrométrie de masse. En collaboration étroite avec l'entreprise Bruker, nous pouvons maintenant lire directement les données d'acquisition de ses instruments. Cela nous permet de maitriser la transformation des données brutes et de l'adapter à nos outils. La vitesse d'exécution, pour une qualité équivalente des résultats, est à ce stade 3 fois plus rapide que les solutions commerciales.
Finir sur : l'agilité est chez nous, le savoir faire, la force scientifique est chez nous, on est agiles par design en quel sorte. Les entreprises veulent évidemment profiter de notre force et ok, mais ce n'est pas à elles de nosu imposer leurs licences, qui vont enfermer le code et faire en sorte que la science ne sera pas propagée, et on payera après des licences propriétaires de logiciels faits chez nos collègues.
Dire qu'il y a des règles, et qu'il y en a qui les jouent pas, et qu'on les connaît, nommer les patterns : on est en code libre,
http://www.profiproteomics.fr/
=> développement agile en circuit court
* foisonnement d'idées dans les labos
* partage des connaissances
* maitrise technique
* ouverture des outils
* découverte de nouveaux usages sans restriction
enfer des licences :
* restriction matérielles
* contraintes logicielles
* intégration impossible
Nous évoquerons ensuite les recommandations, les obligations, les décrets et circulaires en vigueur quant aux logiciels produits dans des établissements publics. Quelques questions qui seront abordées et auxquelles nous tenterons de répondre, sont les suivantes: les logiciels scientifiques issus de la recherche publique sont-ils souvent libres? Leur code source est-il systématiquement disponible? Si oui, est-il librement utilisable ? Quels sont les freins à la publication de code source sous licence libre ? Comment lever ces freins ? Comment éviter la fermeture du code dans un partenariat public - privé? Comment choisir une licence libre ? Comment une licence copyleft peut-elle protéger ses auteurs et leurs œuvres, mais aussi séduire les partenaires privés ? Nous allons ici analyser les freins, les mécanismes à la base de la fermeture ou de la non ouverture des codes sources. Nous allons également essayer de défaire quelques idées reçues et de voir ensemble comment progresser et faciliter davantage l'utilisation de logiciels et de licences libres, exposer brièvement des solutions, montrer des exemples de succès. Et enfin aborder la question de la construction collective d'une culture libre, au service du bien commun, qui implique les citoyens, les collectifs et associations, les tiers lieux, pour une science de demain véritablement ouverte.