WCG : Aidez à mettre fin à la COVID-19 et aux futures pandémies
- Détails
- Écrit par : franky82
- Catégorie parente: Actualités
Récapitulatif
Le projet OpenPandemics - COVID-19 aide les chercheurs de Scripps Research à rechercher les traitements COVID-19 potentiels. Mais ce n'est que le début de notre nouveau projet, et nous avons besoin de votre aide.
Aucun traitement. Pas de remède. Pas de vaccin.
Ce sont trois faits sinistres sur la COVID-19, une maladie causée par un virus nouvellement identifié et hautement contagieux, nommé SARS-CoV-2, qui a, en quelques mois seulement, ravagé le monde entier, causant des maladies graves et même la mort . Mais les scientifiques et les bénévoles s'unissent pour alimenter OpenPandemics - COVID-19, un nouveau projet World Community Grid pour aider à répondre au besoin urgent d'identifier des traitements COVID-19 potentiellement efficaces.
Pourquoi est-il si important de trouver des traitements potentiels pour la COVID-19 ?
Peu de temps après l'identification de la COVID-19, les scientifiques ont commencé l'entreprise complexe de créer un vaccin qui pourrait aider à prévenir la propagation du virus. Cependant, ce processus prendra probablement plusieurs mois - voire des années - même avec un effort mondial concerté parmi les scientifiques et avec des essais cliniques accélérés.
Dans l'intervalle, les scientifiques recherchent également des agents thérapeutiques potentiels qui pourraient aider à gérer les symptômes, à stopper la progression de la maladie et à accélérer la guérison de la COVID-19. OpenPandemics - COVID-19 est l'un de ces efforts, dirigé par des chercheurs du Forli Lab de Scripps Research, qui accélèrent la recherche en faisant appel à des bénévoles du World Community Grid.
Comment fonctionne World Community Grid ?
En tant que bénévole de World Community Grid, vous téléchargez un logiciel sécurisé sur votre ordinateur. Et lorsque votre ordinateur n'utilise pas sa pleine puissance de calcul, il exécute automatiquement une expérience simulée en arrière-plan qui aidera à prédire l'efficacité d'un composé chimique particulier à inhiber les fonctions des protéines virales, en tant que traitement possible pour la COVID-19. Ensuite, votre ordinateur renvoie les résultats de la simulation terminée et demande la prochaine simulation.
Tout cela se produit discrètement, pendant que vous effectuez vos activités habituelles telles qu'écrire un e-mail, naviguer sur Internet ou lorsque votre ordinateur est inactif mais laissé allumé.
World Community Grid combine les résultats de votre ordinateur avec des millions de résultats d'autres volontaires du monde entier et les envoie à l'équipe de recherche Scripps pour analyse. Bien que ce processus ne se produise pas du jour au lendemain, il accélère considérablement ce qui autrement prendrait de nombreuses années, voire pourrait être impossible.
Que recherchent exactement les scientifiques de Scripps Research ?
Haut (de gauche à droite): Stefano Forli, Paolo Governa, Andreas Tillack, Jérôme Eberhardt
Milieu (de gauche à droite): Giulia Bianco, Batuujin Burendei, Diogo Santos-Martins, Martina Maritan
Bas (de gauche à droite ): Matthew Holcomb, Christina Garza
Cliquez ici pour en savoir plus sur l'équipe de recherche d'OpenPandemics.
Le Forli Lab utilise un processus connu sous le nom d'amarrage moléculaire, qui est l'étude de la façon dont deux molécules ou plus s'emboîtent, pour évaluer comment les composés chimiques pourraient se lier aux protéines du SRAS-CoV-2 et pourraient donc être efficaces comme traitements potentiels.
En tirant parti de la puissance de calcul massive de World Community Grid, l'équipe de recherche peut virtuellement sélectionner des millions de composés chimiques connus et nouveaux en quelques mois au lieu de plusieurs années. Les composés prometteurs passeront ensuite par le processus de découverte de médicaments, y compris les tests de laboratoire.
Comment cet effort peut-il aider à faire face aux futures pandémies ?
D'après ce que les scientifiques ont appris des épidémies passées, ils s'attendent à ce que les pandémies causées par de nouveaux agents pathogènes deviennent de plus en plus courantes. C'est pourquoi ce projet est conçu pour être déployé rapidement pour lutter contre les futures maladies, idéalement avant qu'elles n'atteignent un stade critique.
Afin d'aider à faire face aux futures pandémies, les chercheurs doivent avoir accès à des outils rapides et efficaces qui peuvent être déployés très tôt, dès qu'une maladie menaçante est identifiée. En utilisant les connaissances et les données issues de la recherche de traitements COVID-19 potentiels, les chercheurs prévoient de créer une infrastructure logicielle pour rationaliser le processus de recherche de traitements potentiels pour d'autres maladies. Et, conformément à la politique d'ouverture des données de World Community Grid, ils mettront leurs résultats et ces outils à la disposition de la communauté scientifique.
En plus de rechercher des traitements potentiels pour la COVID-19, les scientifiques veulent se préparer à la prochaine urgence. Les futures pandémies pourraient provenir d'une accumulation progressive de mutations, ce qui pourrait éventuellement conduire à une nouvelle variante du virus. C'est ce qui s'est produit lorsque le virus SARS-CoV-1 a muté pour devenir SARS-CoV-2, le virus qui cause la COVID-19. L'équipe de recherche inclut donc des protéines du SARS-CoV-1 et d'autres virus, à étudier dans le cadre d'OpenPandemics - COVID-19, ce qui les aidera à évaluer la difficulté de trouver ou de concevoir des molécules capables de surmonter les mutations inévitables.
Par: L'équipe de recherche OpenPandemics |
14 mai 2020 |
traduction de l'article WCG : https://www.worldcommunitygrid.org/about_us/viewNewsArticle.do?articleId=624&linkId=88633434
- Affichages : 1214
WCG : Le Microbiome Immunity Project doit continuer !
- Détails
- Écrit par : franky82
- Catégorie parente: Actualités
Récapitulatif
La recherche en période de pandémie est plus importante que jamais. Voici comment l'équipe du Microbiome Immunity Project progresse continuellement tout en travaillant à domicile.
Des milliards de bactéries vivent à l'intérieur et sur notre corps. Le Microbiome Immunity Project utilise la puissance de calcul de World Community Grid pour étudier les protéines produites par ces bactéries, qui sont codées dans leurs génomes. Cela aide les scientifiques à comprendre le rôle du microbiome dans la maladie.
Nous tenons à remercier tous nos bénévoles pour leur aide dans le don de précieux temps d'ordinateur ! Jusqu'à présent, nous avons exécuté plus de 300 000 séquences de protéines dans notre pipeline. Avec les modèles prédits et notre nouvelle méthode d'annotation fonctionnelle, nous avons enfin commencé une plongée plus profonde dans l'analyse de nos données !
La réunion de printemps du Microbiome Immunity Project a été virtuelle plutôt qu'en tête à tête cette année.
Rangée du haut (de gauche à droite): Mary Maranga, Richard Bonneau, Tomasz Kościółek
Rangée du milieu (de gauche à droite): Julia Koehler Leman, Paweł Szczerbiak, Daniel Berenberg
Rangée du bas (de gauche à droite): Douglas Renfrew, Vladmir Gligorijevic, Chris Chandler
Pas sur la photo: Tommi Vatanen
Nous devions nous réunir à New York en mars pour notre assemblée générale de recherche régulière. Cependant, en raison de la pandémie de COVID-19, cette réunion n'a pas pu avoir lieu en tête à tête. Au lieu de cela, nous avons eu des appels vidéo de plusieurs heures via Zoom au cours de ces trois jours, du 18 au 20 mars. Des chercheurs des États-Unis (New York), de Pologne et de Nouvelle-Zélande ont participé à la réunion. Trouver un moment qui a fonctionné pour tout le monde dans ces trois fuseaux horaires différents à travers le monde a été difficile, mais nous l'avons réussi.
Le progrès
Notre article sur l'annotation fonctionnelle de la séquence et de la structure (vous pouvez consulter une préimpression ici - traduction cadre en bas de page) a été soumis et est actuellement en cours de révision. Nous croisons les doigts pour des critiques positives !
Nous travaillons également sur deux autres articles qui plongent dans les données collectées tout au long de ce projet, à la fois expérimentales et nos prévisions. Pour cela, nous avons commencé à travailler sur une base de données qui rend ces données facilement accessibles et analysables pour nous en tant que groupe, puis pour la communauté scientifique générale et pour vous tous ! Beaucoup de travail reste à faire, mais assurons-nous que nous progressons. Pour relever ces défis, nous avons également de nouveaux membres dans notre groupe qui peuvent nous aider. L'équipe polonaise s'agrandit grâce à un étudiant diplômé supplémentaire et un stagiaire postdoctoral et notre équipe de NYC a un autre ingénieur logiciel qui nous aide à mettre en place les bases de données. Bienvenue dans notre équipe: Paweł, Mary et Chris.
Dans d'autres nouvelles marquantes, Bryn Taylor, membre de l'équipe de recherche, a défendu avec succès sa thèse de doctorat le 14 avril. Conformément à l'époque, sa défense a été menée via Zoom, ce qui signifiait qu'un grand groupe de famille, d'amis et de collègues pouvait y assister. Félicitations, Dr Taylor !
Nos activités de recherche ont toujours impliqué le travail à distance et la communication en ligne. En ces temps difficiles, nous travaillons aussi fort que jamais et nous espérons que tous les volontaires du World Community Grid prennent des mesures pour rester en sécurité et en bonne santé. Nous vous remercions pour votre soutien continu !
Extrait Les récentes augmentations massives du nombre de séquences disponibles dans les bases de données publiques remettent en question les approches expérimentales actuelles pour déterminer la fonction des protéines. Ces méthodes sont limitées à la fois par la grande échelle de ces bases de données de séquences et la diversité des fonctions protéiques. Nous présentons un réseau convolutionnel de graphes d'apprentissage en profondeur (GCN) formé sur les données de séquence et de structure et l'évaluons sur des protéines ~ 40k avec des structures et des fonctions connues de la Protein Data Bank (PDB). Notre GCN prédit les fonctions avec plus de précision que les réseaux de neurones convolutifs formés uniquement sur les données de séquence et les méthodes concurrentes. L'extraction d'entités via un modèle de langage élimine le besoin de construire plusieurs alignements de séquences ou d'ingénierie d'entités. Notre modèle apprend les relations structure-fonction générales en prédisant de manière robuste les fonctions des protéines avec une identité de séquence ≤ 30% à l'ensemble d'apprentissage. En utilisant la cartographie d'activation de classe, nous pouvons identifier automatiquement les régions structurelles au niveau des résidus qui conduisent à chaque prédiction de fonction pour chaque protéine prédite en toute confiance, faisant progresser la prédiction de fonction spécifique au site. Le débruitage inhérent au modèle entraîné ne permet qu'une baisse mineure des performances lorsque des prédictions de structure sont utilisées, y compris plusieursprotocoles de novo . Nous utilisons notre méthode pour annoter toutes les protéines dans la PDB, faisant plusieurs nouvelles prédictions de fonctions confiantes couvrant à la fois les arbres de pli et de fonction. |
Par: L'équipe de recherche du Microbiome Immunity Project
11 mai 2020
traduit de l'article WCG : https://www.worldcommunitygrid.org/about_us/viewNewsArticle.do?articleId=625
- Affichages : 1166
Mieux ensemble: éléments d'un développement logiciel scientifique réussi dans une communauté collaborative distribuée
- Détails
- Écrit par : franky82
- Catégorie parente: Actualités
Résumé
De nombreuses disciplines scientifiques s'appuient sur des méthodes de calcul pour l'analyse des données, la génération de modèles et la prévision. La mise en œuvre de ces méthodes est souvent réalisée par des chercheurs ayant une expertise dans le domaine mais sans formation formelle en génie logiciel ou en informatique. Cet arrangement a conduit à une sous-appréciation de la durabilité et de la maintenabilité des outils logiciels scientifiques développés dans les environnements universitaires. Certains outils logiciels ont évité ce sort, notamment la bibliothèque scientifique Rosetta. Nous utilisons ce logiciel et sa communauté comme étude de cas pour montrer comment le développement de logiciels modernes peut être accompli avec succès, quel que soit le domaine. Rosetta est l'une des plus grandes suites logicielles pour la modélisation macromoléculaire.
Depuis le milieu des années 1990, le logiciel a été développé en collaboration par les RosettaCommons, une communauté d'universitaires de plus de 60 institutions à travers le monde avec des antécédents divers, y compris la chimie, la biologie, la physiologie, la physique, l'ingénierie, les mathématiques et l'informatique. Le développement de cette suite logicielle nous a fourni plus de deux décennies d'expérience sur la façon de développer efficacement des logiciels scientifiques avancés dans une communauté mondiale avec des centaines de contributeurs.
Introduction
Relever les grands défis dans diverses disciplines scientifiques nécessite des idées et des perspectives de la part des membres de l'équipe couvrant un large éventail d'expertises, avec une concentration soutenue qui persiste sur une période suffisamment longue pour atteindre des objectifs scientifiques audacieux.
Mais comment assembler une équipe qui peut réussir à travailler ensemble sur un objectif commun sur de longues périodes ?
Un récent rapport des académies nationales a résumé les principaux défis de la «science d'équipe» comme la diversité des membres, l'intégration interdisciplinaire des connaissances, la grande taille, l'alignement des objectifs, la dispersion géographique et l'interdépendance des tâches.
Nous partageons ici comment notre équipe a relevé ces défis. Notre expérience collective au sein du consortium RosettaCommons a été marquée par une extraordinaire collaboration au sein d'une équipe composée de petits groupes qui innovent chacun sur leurs propres projets. Ce travail d'équipe est possible car notre travail s'articule autour d'une suite logicielle partagée. L'émergence d'outils logiciels scientifiques partagés et distribués dans de nombreuses disciplines scientifiques offre la possibilité de former des communautés de recherche ciblées et productives.
Les compétences informatiques sont de plus en plus vitales dans un large éventail de disciplines scientifiques. Cependant, peu de programmes de formation dans ces domaines incluent l'enseignement de l'informatique ou du génie logiciel. Ainsi, de nombreux scientifiques mettent en œuvre leurs flux de travail dans des scripts ou des programmes transitoires axés uniquement sur la réponse à une préoccupation immédiate. Ces programmes manquent souvent de généralité, d'extensibilité, de commentaires de code ou de documentation, et peuvent être difficiles à intégrer avec d'autres méthodes.
En revanche, accomplir des tâches complexes et repousser les frontières scientifiques nécessite généralement la réutilisation d'algorithmes sophistiqués et validés. Un code partagé généralisé de manière appropriée peut permettre de construire de nouvelles méthodes complexes à partir de modules plus simples et réutilisables qui combinent des idées provenant de plusieurs sources. Nous avons utilisé un tel modèle pour développer la suite logicielle de modélisation macromoléculaire Rosetta.
Le succès et la longévité du projet ont reposé sur la culture d'une communauté autour de la base de code dans le but plus large de résoudre des problèmes scientifiques complexes en partageant des idées et des outils et en collaborant étroitement.
Figure 1 : Faits RosettaCommons.
Principaux laboratoires et institutions de RosettaCommons et faits de base sur notre logiciel en 2019
En plus de résoudre les problèmes techniques liés aux progrès scientifiques, notre communauté a établi des normes de codage, de publication et d'interaction avec la communauté qui ont permis une croissance et une santé continues du logiciel et de notre communauté pendant de nombreuses années. Nous nous réunissons au moins deux fois par an pour discuter des changements majeurs apportés à la base de code et pour partager nos nouveaux outils et les progrès scientifiques réalisés avec eux. De plus, nous formons de nouvelles collaborations lors de ces réunions et reconnaissons les membres qui ont apporté des contributions importantes à la base de code et / ou à la communauté. Pour assurer une entrée rapide dans le développement, nous organisons des sessions de formation régulières pour les nouveaux arrivants à travers la communauté. Nous avons créé un code de conduite auquel nous exigeons que nos membres adhèrent, quelles que soient leurs institutions. Nous sommes étroitement liés à notre vaste base d'utilisateurs pour améliorer davantage notre logiciel et l'appliquer à des problèmes scientifiques du monde réel. Notre communauté a changé notre façon de travailler, notamment en conjonction avec des outils relativement récents qui permettent l'interaction sociale à différents niveaux (GitHub, Slack, vidéoconférences).
Figure 2. Piliers du succès dans le développement de logiciels scientifiques.
Les aspects techniques sont en bleu, les aspects sociaux en rouge et la diffusion et l'interaction utilisateur en jaune
Débuts et croissance de notre communauté
Le développement de notre suite logicielle a commencé au milieu des années 1990 dans le laboratoire de David Baker à l'Université de Washington. Rosetta a été initialement développé pour la prédiction de la structure des protéines et pour avoir un aperçu du repliement des protéines, ce qui reste un grand défi en biophysique théorique et sous-tend notre compréhension de la biologie, de la santé humaine et des maladies. Le projet a démarré lorsque deux étudiants diplômés ont mis en œuvre un algorithme d'échantillonnage Monte Carlo et une fonction de notation composée de termes basés sur la physique et basés sur les connaissances. Le protocole a réussi dans les défis de prédiction à l'aveugle, CASP 3 et 4. Suite à ce succès, plusieurs stagiaires post-doctoraux se sont joints au projet pour développer diverses applications de prévision et de conception de structures.
Figure 3. Histoire de Rosetta.
Jalons majeurs de l'histoire du développement de Rosetta.
Alors que les premiers développeurs ont commencé à occuper des postes indépendants dans diverses institutions, ils ont continué à développer et à améliorer leurs applications de modélisation, et il est devenu clair que l'amélioration de la collaboration entre les institutions serait bénéfique pour le progrès scientifique. Cela a conduit à la création de la communauté de développeurs RosettaCommons, qui impliquait un accord de propriété intellectuelle unique (licences). La structure RosettaCommons a permis une collaboration transparente entre de nombreuses institutions, ce qui a stimulé les développements dans de nombreuses directions différentes. En 2019, les RosettaCommons sont devenus des laboratoires dans 71 institutions à travers le monde, supervisant un projet comprenant plus de 3 millions de lignes de code avec la contribution de plus de 800 scientifiques. Le code a été autorisé à environ 35 700 chercheurs universitaires et 80 entités commerciales.
Aspects techniques
Historique linguistique de la base de code
La première base de code a été écrite en Fortran puis traduite automatiquement en C ++ (par Objexx Engineering), qui a été publiée à l'été 2005 sous le nom de Rosetta ++ (également connue sous le nom de Rosetta2). Au cours des deux années suivantes, la traduction automatique s'est avérée impossible à poursuivre pour le développement, et un ingénieur logiciel a été embauché pour implémenter le logiciel en tant que bibliothèque orientée objet, appelée librosetta. Bien que la première tentative de création d'une hiérarchie orientée objet se soit révélée lourde et rigide et ait finalement dû être abandonnée, elle nous a donné un aperçu de meilleurs choix pour nos objets centraux et leurs relations. La prochaine réécriture orientée objet de la base de code a été lancée à l'été 2007 par deux de nos développeurs principaux qui étaient à la fois des scientifiques et des ingénieurs logiciels (Andrew Leaver-Fay, membre du laboratoire Kuhlman, et Phil Bradley, au Fred Hutchinson Centre de recherche sur le cancer). Ce code s'appelait initialement miniRosetta et deviendrait plus tard Rosetta3, sorti début 2009. MiniRosetta a également corrigé une faille de conception de Rosetta ++ qui se présentait comme une seule application monolithique avec des options d'entrée qui permettaient d'invoquer de nombreux protocoles différents. En revanche, les protocoles de Rosetta3 sont généralement des applications autonomes avec leur propre nom. Il existe actuellement plus de 200 applications de ce type.
Deux interfaces de script sont également prises en charge: RosettaScripts, qui est une interface basée sur XML qui permet le développement de protocoles à partir de blocs de construction modulaires sans compilation supplémentaire, et PyRosetta, qui permet le développement de protocoles basés sur Python et une intégration facile avec outils tiers. Les différentes interfaces sont enracinées dans la base de code Rosetta3 de 2007, qui est toujours utilisée, développée et maintenue au moment de la rédaction de ce document, 12 ans plus tard. Dans notre cas, après plusieurs itérations, nous avons trouvé des abstractions reconfigurables et extensibles appropriées dans un cadre de programmation orienté objet dans le langage C ++ pour atteindre nos objectifs scientifiques.
Contrôle de version
Dans le développement de logiciels, le contrôle des versions est important à la fois pour documenter les modifications apportées au logiciel au fil du temps et pour garantir que des lignes de développement parallèles indépendantes peuvent être fusionnées en un seul logiciel unifié. Le contrôle de version est particulièrement important pour les grandes bases de code avec des dépendances complexes de fichiers et de hiérarchies de classes et où chaque révision de la ligne principale de développement doit être compilée et exécutée.
Au milieu des années 1990, nos développeurs ont stocké des versions de la base de code dans des sous-répertoires nommés de façon cryptée. Un référentiel de code source unique a été créé pour lequel une seule personne avait des autorisations d'écriture (Carol Rohl), en utilisant le système de version simultanée alors en vogue (CVS).
CVS a mal évolué à mesure que la communauté des développeurs se développait, et vers 2006, la communauté est passée au système de contrôle de version centralisé Subversion (SVN), qui a bien fonctionné pour nous pendant de nombreuses années. À mesure que le nombre et l'étendue géographique des développeurs augmentaient et que la complexité du code augmentait, notre serveur SVN unique est devenu submergé. Les développeurs éloignés du serveur central de Seattle ont rencontré des fusions douloureusement lentes ou impossibles en raison de délais d'attente, ou ont vu les modifications locales non enregistrées effacées.
En 2013, nous avons migré vers des référentiels privés sur GitHub, qui utilise le système de contrôle de version distribué Git. Dès le début, nous avons créé des conventions d'interaction avec GitHub. La nature décentralisée de Git a extrêmement bien servi la communauté en soutenant des milliers de différentes branches de développement du monde entier qui peuvent être relativement facilement fusionnées dans la branche principale de développement.
Depuis, nous avons institué des points de contrôle supplémentaires pour les fusions, y compris des tests automatisés et exigeant des révisions de code indépendantes d'autres développeurs de la communauté sur chaque ensemble de modifications. Les examens des demandes de tirage nous ont permis d'améliorer la qualité du code et de réduire les bogues. Le contrôle administratif du référentiel de code incombe aux développeurs seniors, plutôt qu'aux chercheurs principaux.
Cadre de test
Les tests de code sont nécessaires pour garantir que le logiciel fonctionne correctement et de manière stable dans différents environnements informatiques, fournit une sortie attendue et reproductible, s'exécute dans un certain délai et atteint un certain objectif technique.
À partir de 2004, nous avons créé notre propre infrastructure de test car les progiciels standard à l'époque ne fournissaient pas les fonctionnalités dont nous avions besoin. Les tests sont devenus une partie intégrante de notre développement logiciel. Parce que l'exécution de tests localement sur diverses architectures et modes de construction est difficile et prend du temps pour les individus, notre cadre comprend un serveur de test dédié sur lequel les tâches sont réparties et les résultats sont collectés.
RosettaCommons utilise les revenus de licences pour acquérir et maintenir le matériel sur lequel ces tests sont exécutés.
Figure 4. Test du logiciel.
Les tests sont essentiels pour garantir la stabilité et l'exactitude des logiciels. Il s'agit d'une vue de notre tableau de bord de serveur de test pour une fusion spécifique dans la branche principale de Rosetta. Nous exécutons en continu un grand nombre de tests, tels que des tests de construction, des tests unitaires, des tests d'intégration, des tests de performances, des tests d'analyse de code et des références scientifiques. Les balises vertes, rouges et jaunes indiquent la réussite du test, l'échec et actuellement en cours d'exécution.
Amélioration de la qualité du code grâce à la révision du code
Une exigence de collaboration et de longévité des logiciels scientifiques est une base de code lisible, maintenable et extensible comme base pour de nouveaux développements scientifiques. En réalité, cependant, tout le monde écrit le code différemment. Pour créer un niveau de base de lisibilité du code, limiter la casse du code et faciliter le débogage et l'extension du code, nous nous sommes mis d'accord sur un ensemble d'environ 200 conventions de codage, auxquelles tout le monde dans la communauté devrait adhérer. Bien qu'il soit difficile d'appliquer strictement toutes les conventions, certaines sont appliquées par des tests de qualité de code automatisés, un script d'embellissement personnalisé qui formate le code selon nos conventions et un système de modélisation de code basé sur Python pour divers types de classes courants.
Plusieurs outils et cadres de développement logiciel nous ont fourni des fonctionnalités qui ont façonné nos pratiques de développement logiciel. Nous avons intégré les fonctionnalités de Git et GitHub dans notre cadre de test, y compris la ramification, les demandes d'extraction et les révisions de code. Une demande d'extraction est une demande d'un développeur de fusionner le nouveau code d'une branche dans le référentiel principal. Le demandeur peut étiqueter des personnes spécifiques pour effectuer une révision ou diffuser un appel général à des réviseurs. Sur la base des commentaires reçus, il peut y avoir plusieurs séries de révisions. Lorsque tous les réviseurs approuvent la fusion, un ensemble final de tests est exécuté et le code est fusionné. Ce flux de travail est similaire aux pratiques de l'industrie du génie logiciel et améliore la qualité des contributions de code tout en abaissant la barrière psychologique pour que les nouveaux développeurs contribuent à la base de code sans craindre de la casser.
Interfaces avec la base de code principale
Pour faciliter la participation de divers nouveaux contributeurs, les méthodes peuvent être écrites en C ++, PyRosetta ou RosettaScripts. Le choix de l'interface se fait souvent en tenant compte des détails techniques de la nouvelle méthode ainsi que du niveau d'expérience et de confort du développeur. Les protocoles dans RosettaScripts ou PyRosetta (pour lesquels l'implémentation C ++ est le fondement commun) peuvent être développés plus rapidement et nécessitent moins de connaissances techniques, mais sont sujets à des modifications d'API et ne sont souvent pas fusionnés dans la base de code principale.
La première interface, la plus simple et la plus utilisée de la base de code est la ligne de commande. D'autres interfaces ont été mises en œuvre au fil des ans à différentes fins et pour faciliter le développement de protocoles personnalisés.
Par exemple, en 2008, le jeu vidéo Foldit a été publié, qui utilise Rosetta comme base et utilise une interface utilisateur graphique pour permettre au joueur de manipuler une structure protéique. Les principaux concepts scientifiques ont été adaptés avec une terminologie simplifiée pour rendre Foldit accessible à un public plus large. Par exemple, les contraintes sont appelées «élastiques», «shake» est utilisé pour l'optimisation et la conception du rotamère et «wiggle» pour un raffinement haute résolution. Le but du jeu est d'atteindre des scores élevés plutôt que de faibles énergies. Foldit est largement utilisé par le grand public pour résoudre de véritables énigmes scientifiques, comme outil d'enseignement pour les niveaux d'éducation de la maternelle à la 12e année, et par les laboratoires universitaires pour obtenir des informations et inspirer de nouvelles découvertes scientifiques.
En 2011, Fleishman a introduit RosettaScripts, qui est une interface basée sur XML qui permet le développement de protocoles personnalisés en recombinant et en configurant des objets existants. Il tire parti du cadre orienté objet de Rosetta3 et permet à l'utilisateur de créer une nouvelle recette sans écrire ni compiler de code C ++. Une connaissance approfondie de la base de code C ++ n'est pas requise, car la grande majorité des objets utilisés dans RosettaScripts sont documentés en ligne. L'utilisation de RosettaScripts a été facilitée par le cadre de définition de schéma XML (XSD) qui identifie les erreurs dans les scripts XML au moment de l'exécution, fournit des messages d'erreur détaillés et est désormais intégré dans notre documentation accessible aux utilisateurs.
Bien que RosettaScripts soit utile pour le développement de protocoles, il manque généralement un contrôle de flux et un contrôle détaillé de la façon dont les objets peuvent être manipulés. Si ceux-ci sont nécessaires et qu'un contrôle plus spécifique de certains objets est requis pour le développement, PyRosetta est l'outil de choix.
Depuis le début des années 2000, le langage Python est devenu le langage de programmation dominant dans de nombreuses disciplines scientifiques, dont la biologie et la chimie; en grande partie parce qu'il est facile à apprendre, renonce à la compilation de code et propose une gestion automatique de la mémoire et des packages, tout en fonctionnant mieux que de nombreux autres langages de script.
Après le travail initial de William Sheffler, en 2009, le groupe de Jeffrey Gray à l'Université Johns Hopkins a sorti PyRosetta, qui permet à l'utilisateur d'interagir avec presque toutes les structures de données sous-jacentes via des liaisons Python.
PyRosetta est destiné aux utilisateurs avancés et aux développeurs débutants car il nécessite une connaissance des bibliothèques Rosetta. Un cours d'études supérieures sur la modélisation de la structure des protéines avec PyRosetta est enseigné par Jeffrey Gray. Des ateliers mis à jour sont disponibles sur le site Web et un livre les décrivant a été publié en 2009.
Aspects sociaux
La communauté de développeurs RosettaCommons - une collaboration enrichissante
Les considérations techniques décrites ci-dessus reflètent des années de travail et d'itération par de nombreux développeurs scientifiques. Comme dans de nombreuses communautés de logiciels scientifiques, le nombre d'informaticiens et d'ingénieurs en logiciels dans notre communauté est faible par rapport au nombre de scientifiques ayant une expertise dans le domaine qui ont acquis des compétences en programmation sans formation formelle. Les développeurs vont au-delà de l'application du code existant aux problèmes actuels en ce qu'ils développent également de nouvelles méthodes pour répondre à de nouvelles questions scientifiques. En s'appuyant sur plus de 60 laboratoires dans le monde, la communauté comprend des développeurs ayant des antécédents en biochimie, chimie, physique, biologie, informatique, mathématiques, ingénierie, pharmacologie, physiologie moléculaire et autres disciplines connexes au premier cycle, aux cycles supérieurs, aux postdoctorants et aux professionnels. niveaux (chercheurs, chercheurs principaux) et leurs collaborateurs. Pour combler ces lacunes dans l'expertise (inévitables en raison de la grande portée du code) et travailler efficacement ensemble, nous favorisons une culture qui encourage la communication, la formation, le leadership et la sensibilisation.
Atteindre une base de code robuste avec des résultats scientifiques nécessite une collaboration
Les informaticiens et les ingénieurs logiciels (en particulier dans les environnements commerciaux) mettent souvent l'accent sur l'exactitude, la conception du code, la maintenance, la lisibilité et les performances. En revanche, les scientifiques universitaires favorisent souvent le développement rapide d'un code «salissant» pour tester une hypothèse, et les scientifiques sans formation informatique formelle mettent l'accent sur l'exactitude scientifique et apprennent les concepts du génie logiciel plus tard ou jamais. Ces facteurs conduisent à une base de code difficile à lire, à étendre, à maintenir et à tester, et qui fonctionne souvent mal. Dans notre communauté, nous encourageons, inspirons et enseignons activement ces concepts pour construire une culture qui apprécie et participe activement à la maintenance du code. Pour combattre ces barrières, le développement durable de logiciels nécessite
(1) une maintenance périodique du code
(2) une culture d'appréciation des concepts d'ingénierie logicielle. Nous renforçons une telle culture en distribuant un rapport annuelRosetta Service Award , qui, au cours des dix dernières années, a honoré les contributions du refactoring du code, du leadership du hackathon, des efforts de diversité et d'inclusion, etc. Ancrer ces valeurs dans notre communauté nous permet d'économiser beaucoup de temps, d'efforts et d'argent tout en interagissant étroitement avec les membres de la communauté nous permet de mettre en œuvre de nouvelles idées plus rapidement.
Communication
Comme notre logiciel est développé par de nombreux laboratoires dans le monde, une communication constante et efficace est cruciale. Plusieurs listes de diffusion sont en place pour les développeurs C ++ et PyRosetta, les PI, les journaux du serveur de test pour recevoir des mises à jour sur la rupture de code, le comité de diversité et une liste de tâches, entre autres. Nous avons également un espace de travail Slack pour une communication plus interactive et pour un support rapide au sein de notre communauté.
Nous avons en outre un MediaWiki depuis le début des années 2000 pour communiquer des annonces de conférences et de téléconférences.
La plupart de la documentation est passée à un wiki Gollum.
Les utilisateurs peuvent également poser des questions sur un forum consultable.
Les TeleCons mensuelles permettent aux développeurs, aux PI et au comité diversité de communiquer.
La variété des canaux de communication sert différents objectifs et crée un sentiment de communauté.
Interaction communautaire dans les réunions et les hackathons
L'esprit de collaboration étroite de RosettaCommons est encouragé par des réunions régulières, dont la plus importante est la RosettaCon annuelle de l'été. La réunion inaugurale de 2003 était semblable à une retraite de laboratoire, passant quelques jours dans les Cascades du Nord pour partager de nouveaux développements. Le dernier jour de la réunion est traditionnellement réservé aux activités de loisirs comme une occasion de faire connaissance avec les membres de la communauté. Parler de la science dans un cadre plus détendu a été une aubaine pour notre esprit communautaire. Pour beaucoup de gens, RosettaCon ressemble plus à des amis qui résolvent ensemble des problèmes scientifiques et techniques qu'à une conférence scientifique traditionnelle.
Summer RosettaCon a connu une croissance significative pour atteindre 270 personnes en 2017. Au fur et à mesure que l'audience augmentait, la conférence est passée d'une discussion principalement logicielle à des développements scientifiques. Tous les participants présentent leurs recherches dans une session d'affiches ou discutent. La qualité des pourparlers a considérablement augmenté, passant de pourparlers moins formels (similaires aux réunions de groupe) à des présentations bien conçues auxquelles on pourrait s'attendre lors de conférences scientifiques internationales. Les conférenciers couvrent tous les niveaux de carrière.
Figure 5 : Réunions.
Les développeurs se rencontrent lors de notre conférence annuelle d'été (RosettaCon). Les photos de notre deuxième RosettaCon en 2004 (à gauche) et de la conférence en 2017 (à droite) reflètent la croissance drastique de la communauté et l'augmentation de la diversité.
La communauté organise en outre des hackathons à la demande ( XRWs - eX treme Rosetta Workshops ) pour la maintenance et l'amélioration de la base de code. Dans ces XRW , une dizaine de personnes de différents groupes de recherche se réunissent en un seul endroit pour atteindre un objectif précis et bien défini.
Les XRW précédents se concentraient sur l'amélioration du temps de compilation et de l'utilisation de la mémoire en divisant les bibliothèques principales (2010) et les bibliothèques de protocoles (2011); l'amélioration de la fonction de partition (réunion de Talaris 2013); amélioration de la documentation, des captures de protocole et des didacticiels (2015 et 2016); généraliser le stockage des informations chimiques et la gestion des formats de fichiers moléculaires courants (2016); l'amélioration de la gestion de l'entrée RosettaScripts (2016); et généraliser les interfaces pour manipuler les acides aminés non canoniques, les glucides, les acides nucléiques et les sites de liaison aux métaux (2017).
Les XRW ont eu un impact énorme sur la maintenabilité, l'extensibilité et la convivialité de notre base de code tout en renforçant davantage l'esprit communautaire entre les participants.
Figure 6 : Hackathons.
L'organisation de hackathons réguliers peut considérablement améliorer la maintenabilité du code, la généralisation, la documentation et l'interaction dans la communauté.
Nos ateliers eXtreme Rosetta (XRW) sont organisés chaque année et ont eu un impact positif considérable sur nos logiciels et notre communauté
Formation pour les utilisateurs et les développeurs
Rosetta est écrite dans le but de comprendre des systèmes moléculaires complexes à l'interface entre la chimie, la physique et la biologie. Étant donné que le logiciel a été principalement développé par des scientifiques plutôt que par des ingénieurs en logiciel, il a toujours été difficile à utiliser. La création de diverses interfaces utilisateur et développeur (ligne de commande, PyRosetta, RosettaScripts) est le résultat d'essais pour relever certains de ces défis. De plus, notre communauté a mis en place un certain nombre d'ateliers pour familiariser les novices à l'utilisation de la suite logicielle et de sa base de code le plus rapidement possible.
En 2013, nous avons commencé à offrir un cours Bootcamp d'une semaine (maintenant appelé Code School) pour de petits groupes d'étudiants diplômés et de post-doctorants intéressés dans les laboratoires RosettaCommons. Le cours couvre les subtilités de la programmation C ++ et l'architecture de nos bibliothèques de logiciels dans des conférences et des laboratoires en classe. Nous gardons un ratio élevé d'enseignants sur les étudiants (~ 1: 5) afin que plusieurs enseignants puissent répondre aux questions simultanément pendant les séances de laboratoire. Le cours visait à former des non-informaticiens à devenir des développeurs seniors et, espérons-le, à remédier à notre déséquilibre entre les sexes. Des vidéos des cours d'école de code sont disponibles sur la chaîne YouTube RosettaCommons. En 2019, nous avons ajouté un cours de l'école de code PyRosetta, qui a une barrière à l'entrée encore plus faible car Python est un langage plus facile à utiliser. Les écoles de code directement enseignées par des développeurs seniors ont considérablement amélioré la qualité, la cohérence, la lisibilité, la documentation et la compréhension du code. Ils ont encore amélioré l'interaction et la communication au sein de la communauté et aidé les nouveaux arrivants à se sentir acceptés.
Parce que l'acquisition de compétences en développement logiciel prend généralement plusieurs mois à plusieurs années de formation, certains membres se déplacent entre les laboratoires RosettaCommons tout au long de leur carrière pour appliquer leurs compétences à différents types de problèmes de conception et de modélisation macromoléculaire. Ces personnes, ayant souvent plus de 6 ans d'expérience et de mémoire institutionnelle, jouent un rôle crucial dans l'avancement et le soutien de la base de code, de notre communauté et de la formation des nouveaux arrivants. De plus, le RosettaCommons soutient deux professeurs de recherche (Andrew Leaver-Fay et Rocco Moretti) qui utilisent leur expertise pour répondre à des questions techniques difficiles et qui sont qualifiés pour prendre des décisions majeures sur la base de code, et un ingénieur expérimenté expérimenté (Sergey Lyskov) qui a créé et maintient l'infrastructure de test. Collectivement, les 15 à 20 développeurs seniors, répartis dans plusieurs laboratoires.
Diversité, inclusion et rayonnement
Pour créer et maintenir une solide communauté de collaborateurs, il faut encourager et recruter les meilleurs talents. À mesure que notre communauté grandissait, nous avons remarqué que notre équipe manquait de genre et de diversité raciale / ethnique et qu'il nous manquait une fraction importante du talent disponible. Nous croyons qu'une culture inclusive et une composition diversifiée sont des conditions préalables à la formation d'une communauté éthique et juste de scientifiques, nous nous sommes donc concentrés sur le recrutement et le développement des scientifiques que nous n'avions pas inclus auparavant.
En plus d'offrir des écoles de code, deux premières étapes importantes ont été l'instauration d'un code de conduite et la création d'un énoncé de diversité pour saisir nos valeurs et nos aspirations.
En tant qu'éléments pouvant donner lieu à une action, les membres de RosettaCommons ont participé à diverses activités de sensibilisation qui remplissent plusieurs rôles:
(1) éduquer le grand public à la science,
(2) susciter l'intérêt pour les STEM (science, technology, engineering, and mathematics = science, technologie, ingénierie et mathématiques) chez les élèves de la maternelle à la 12e année et au premier cycle,
(3) accroître la diversité et l'inclusivité dans les RosettaCommons,
(4) le crowdsourcing des découvertes scientifiques.
Nos efforts de recrutement comprennent la participation régulière à des conférences qui visent à mettre en évidence la diversité dans les domaines STEM tels que Grace Hopper Celebration of Women in Computing, Annual Biomedical Research Conference for Minority Students (ABRCMS), ACM Richard Tapia Celebration of Diversity in Computing, et Society for Advancement of Chicanos/Hispanics and Native Americans in Science (SACNAS).
Ces conférences renforcent directement notre climat et notre culture, puisque les scientifiques de Rosetta à statut individuel rencontrent en personne ceux qui partagent leur identité dans d'autres laboratoires RosettaCommons et au-delà, forgeant ainsi des liens et des réseaux qui perdurent au-delà de ces rencontres. Les possibilités de développement professionnel offertes lors de ces conférences permettent aux scientifiques des groupes minoritaires d'acquérir des compétences et d'éclairer les délégués des groupes majoritaires.
Pour les étudiants de premier cycle intéressés par une expérience de recherche dans un laboratoire RosettaCommons, nous avons créé un programme REU (Research Experience for Undergraduates = Expérience de recherche pour les étudiants de premier cycle) financé par la NSF (Fondation nationale pour la science), le Rosetta Summer Intern Program (Programme interne d'été de Rosetta). Notre programme commence par une école de code d'une semaine où les étudiants apprennent à utiliser le logiciel, à naviguer dans le code et les cadres de travail (frameworks) les plus importants. Après cette semaine, les étudiants sont en mesure d'élaborer des protocoles de base et d'atteindre des objectifs de recherche spécifiques au cours de leur stage de 8 semaines, dont ils présentent les résultats à RosettaCon.
Nos efforts ont considérablement accru le nombre de femmes dans un domaine dominé par les hommes. Près de 30% des participants à RosettaCon en 2017 se sont identifiés comme des femmes, contre moins de 15% la plupart des années avant 2012. Près de 8% des participants s'identifient comme noirs, hispaniques ou multiraciaux. Les données démographiques de nos principaux développeurs et PI sont beaucoup moins diversifiées, ce qui nous donne l'humilité et la reconnaissance que les efforts de diversité doivent être maintenus pendant de nombreuses années à venir. Nous continuerons notre travail pour faire en sorte que les RosettaCommons soient un environnement universellement accueillant et favorable.
Participation du public à la science
Au début des années 2000, lorsque la prédiction de la structure des protéines était beaucoup moins facile et que les ressources de calcul étaient limitées, nous avons créé un projet de calcul distribué appelé Rosetta@home, grâce auquel des volontaires peuvent faire don de cycles informatiques inactifs pour la prédiction de la structure des protéines, l'arrimage et la conception.
Rosetta@home a été initialement lancé en 2005 et fonctionne sur l'infrastructure ouverte de Berkeley pour l'informatique en réseau (BOINC). Rosetta@home affiche un écran de veille pendant l'exécution des calculs lorsque le bureau de l'ordinateur fixe ou portable de l'utilisateur est inactif.
En 2015, Rosetta@home a été porté sur le système d'exploitation Android pour fonctionner sur les téléphones portables et les appareils mobiles des volontaires pendant les périodes de recharge, lorsque l'unité centrale est généralement sous-utilisée, pour effectuer des tâches de prédiction de la structure biomoléculaire.
De même, Human Proteome Folding Project (projet de repliement du protéome humain) était un effort combiné entre deux laboratoires Rosetta, l'Institute for Systems Biology et IBM - World Community Grid . Il a été lancé en 2004 dans le but de prédire les structures protéiques dans le génome humain, s'étalant sur 9 ans. Son successeur, le Microbiome Immunity Project, a été lancé en 2017 dans le but de prédire les structures protéiques du microbiome intestinal humain.
Diffusion et interaction avec les utilisateurs
Packaging et plateformes
Les simulations Rosetta nécessitent généralement des ressources de calcul haute performance (HPC), qui sont souvent publiques ou universitaires. En réponse à l'hétérogénéité des ressources HPC disponibles, notre logiciel doit pouvoir être construit sur une large gamme d'environnements matériels et informatiques. Nous avons personnalisé le système de construction SCons pour permettre aux utilisateurs de spécifier des paramètres de compilation spécifiques au système et de sélectionner un mode de construction particulier (par exemple, une interface de transmission de messages (Mode MPI) pour les clusters qui le prennent en charge ou l'exigent). Des versions binaires précompilées pour les distributions Linux et Mac 64 bits sont disponibles avec des versions hebdomadaires du code source (depuis 2013). Des rejets plus importants et numérotés ont lieu une ou deux fois par an. La suite logicielle fonctionne sur les trois principaux systèmes d'exploitation (Linux, macOS et Windows via le sous-système Windows pour Linux) et les architectures matérielles actuellement utilisées (puces Intel / AMD x86-64, architecture IBM Power [par exemple, les superordinateurs Blue Gene], et ARM pour téléphones portables et tablettes Android [pour Rosetta@home]). Dans le passé, les architectures DEC Alpha, Cray et Intel Itanium étaient également prises en charge.
Serveurs Web
Un moyen de réaliser des simulations, comme décrit dans les manuscrits publiés, est d'utiliser des serveurs Web qui présentent un nombre limité de paramètres à l'utilisateur. Le serveur Robetta a été déployé en 2003 et est couramment utilisé par les scientifiques à l'intérieur et à l'extérieur de notre communauté pour la génération de fragments, l'analyse des domaines et la prédiction de structure, l'analyse d'alanine et l'analyse d'interface ADN. Des laboratoires individuels ont également créé des serveurs pour la conception, la modélisation et la conception de dorsales flexibles, l'amarrage de peptides flexible et l'identification de l'interface protéine-protéine.
En 2013, le framework (cadre de travail) du serveur ROSIE a été créé pour simplifier la configuration de nouveaux serveurs Web pour les applications Rosetta.
En 2019, ROSIE héberge 21 protocoles de modélisation, compte plus de 7 300 utilisateurs enregistrés et a exécuté plus de 75 000 travaux pour un total de près de 7,8 millions d'heures de processeur.
Licence et commercialisation
Lors du développement d'un logiciel, il est important de penser à l'octroi de licences pour répondre aux questions suivantes : (1) par qui et dans quelles circonstances le logiciel sera-t-il utilisé ?; (2) comment les contributions à la base de code seront-elles faites et de qui seront-elles acceptées ?; (3) des revenus seront-ils générés et, dans l'affirmative, comment et à quoi seront-ils dépensés ?; et, (4) le choix de la licence restreindra-t-il l'utilisation de bibliothèques de logiciels externes ?
Le logiciel Rosetta est publié sous un modèle de licence unique, lié à son histoire. Initialement, lorsque le logiciel a été développé uniquement par des étudiants et des post-doctorants dans le laboratoire de David Baker à l'Université de Washington, il était clair que le partage ouvert et la prévention des conflits de propriété permettaient des progrès scientifiques innovants et rapides. Comme ces stagiaires ont créé leurs propres groupes de recherche dans d'autres institutions, ils ont cherché un modèle de licence pour préserver l'esprit de collaboration et encourager le partage en supprimant les obstacles au développement inter-institutionnel, conduisant à la création des RosettaCommons. En rejoignant les RosettaCommons, les institutions membres acceptent de fournir des droits non exclusifs sur le droit d'auteur pour les contributions apportées à la base de code, et les développeurs signent un accord attribuant le droit d'auteur du code écrit par eux à leur institution. Le logiciel est distribué gratuitement aux universitaires, aux gouvernements, et d'autres institutions sans but lucratif. Les entités commerciales soutiennent le développement continu en payant des frais de licence raisonnables qui sont basés sur le nombre d'employés.
Les revenus provenant des licences commerciales, ainsi que du financement public ou privé, sont utilisés pour soutenir les réunions, la maintenance des logiciels, les activités de sensibilisation, les formations, les échanges de laboratoires et les hackathons, les mini-subventions et les récompenses de service pour inciter et récompenser le soutien de la communauté. Les PI RosettaCommons peuvent demander des mini-subventions, qui sont généralement accordées pour maintenir, améliorer, étendre et prendre en charge la base de code, par exemple pour les améliorations des fonctions énergétiques, la réécriture des principaux cadres, le développement des interfaces utilisateur et de la documentation, etc.
Documentation
Rosetta est un logiciel intrinsèquement complexe écrit pour et par des experts dans le domaine, ce qui peut entraîner une interface compliquée avec de nombreuses options. Pour s'assurer que les scientifiques peuvent utiliser le logiciel efficacement, nos développeurs ont mis l'accent sur une documentation robuste avec des exemples de workflows (flux de production) de cas d'utilisation réels appelés captures de protocole. Les captures de protocole obligent un développeur à considérer le point de vue des utilisateurs finaux qui peuvent avoir différents problèmes biologiques à résoudre, un état d'esprit scientifique différent et des compétences techniques différentes. Étant donné que les subventions à vocation scientifique (par exemple des agences gouvernementales) ne fournissent généralement pas de temps pour la maintenance du code et la rédaction de la documentation, les mini-subventions, les XRW et les bourses de formation ou de service aident à encourager et à reconnaître cet important travail.
Au fil des ans, notre communauté a utilisé plusieurs types de documentation. Pour aider les développeurs, les conventions de codage pour C ++ (et plus tard Python) incluent l'utilisation de documentation en code au niveau de l'API basée sur les commentaires ( Doxygen). La combinaison des conventions de codage avec l'exigence d'écrire de la documentation dans le code facilite la lecture et la compréhension du code écrit par quelqu'un d'autre. Nous avons récemment développé un système de modèle de code basé sur Python pour les classes fréquemment utilisées afin de continuer à améliorer la cohérence et les commentaires de code, tout en réduisant considérablement le temps de développement et de débogage. Bien que la documentation Doxygen en code soit utile pour les développeurs, elle est moins avantageuse pour les utilisateurs finaux car elle décrit les fonctions internes et non l'interface avec un composant exécutable ou RosettaScripts.
Défis restants
Bien que nous ayons résolu de nombreux problèmes au cours des 20 dernières années, il reste plusieurs problèmes en suspens en ce qui concerne les trois principaux domaines explorés dans ce document :
(1) Technique : La tension entre les meilleures pratiques en matière de développement de logiciels et le progrès scientifique rapide signifie que nous devons fournir continuellement des incitations pour prioriser la maintenance, l'utilisabilité et la reproductibilité. De plus, nous reconsidérons actuellement les abstractions de base et les structures de données sur lesquelles nous nous appuyons depuis plus de dix ans pour utiliser des architectures matérielles massivement parallèles (par exemple, les GPU).
(2) Social : L'énorme croissance de notre communauté contribue aux questions de l'adhésion à la communauté et au laboratoire, à l'efficacité de nos efforts en matière de diversité, d'équité et d'inclusivité, comment préserver la petite ambiance informelle à mesure que nous continuons à grandir, et comment attribuer de manière appropriée le crédit (c'est-à-dire la paternité) dans un environnement qui est si clairement un effort d'équipe.
(3) Diffusion : La diversité des applications, des workflows (flux de production) et des architectures informatiques rend difficile la tâche de garantir que les utilisateurs externes peuvent facilement intégrer Rosetta dans leurs workflows et fournir des ressources pour le calcul de backend (arrière plan) pour les serveurs Web, ciblant un éventail plus large de scientifiques.
Conclusions
Ici, nous utilisons le logiciel Rosetta comme exemple pour mettre en évidence les succès, les erreurs commises et les leçons apprises au cours des deux dernières décennies alors que nous développions un outil logiciel scientifique dans une communauté mondiale, diversifiée et distribuée. Notre logiciel a été créé principalement dans un environnement académique et est largement utilisé au-delà des laboratoires dans lesquels il a été créé. Nous démontrons la nécessité de maîtriser les aspects techniques du développement logiciel pour créer un package qui permet l'utilisation d'outils complexes pour être à la pointe de la recherche de calcul informatique en biologie structurelle.
Les raisons de la réussite dans notre communauté sont nombreuses et largement imbriquées. Tout d'abord, notre communauté a abaissé les barrières de la collaboration scientifique et a ainsi permis une science révolutionnaire et une mise en œuvre plus rapide des bonnes idées. Sur le plan technique, nous avons bénéficié des premières conventions de codage établies, du contrôle des versions sur GitHub et de tests de code approfondis grâce à un cadre de travail. Nous entretenons en outre des interactions étroites avec les utilisateurs à l'intérieur et à l'extérieur de notre communauté, qui nous permettent de penser en dehors de nos modèles établis. La compréhension des besoins des utilisateurs et de la manière dont nos outils sont réellement utilisés (plutôt que la manière dont nous pensons qu'ils sont utilisés) nous pousse à améliorer continuellement nos logiciels pour les appliquer à des questions scientifiques "du monde réel". Pour tirer le meilleur parti de notre large communauté de développeurs et pour soutenir au mieux les utilisateurs de notre communauté, nous avons créé une documentation facilement modifiable qui s'est avérée transformatrice en complétant la couverture de la documentation et en soutenant notre large base d'utilisateurs externes.Les raisons de la réussite dans notre communauté sont nombreuses et largement imbriquées. Tout d'abord, notre communauté a abaissé les barrières de la collaboration scientifique et a ainsi permis une science révolutionnaire et une mise en œuvre plus rapide des bonnes idées. Sur le plan technique, nous avons bénéficié des premières conventions de codage établies, du contrôle des versions sur GitHub et de tests de code approfondis grâce à un cadre de travail. Nous entretenons en outre des interactions étroites avec les utilisateurs à l'intérieur et à l'extérieur de notre communauté, qui nous permettent de penser en dehors de nos modèles établis. La compréhension des besoins des utilisateurs et de la manière dont nos outils sont réellement utilisés (plutôt que la manière dont nous pensons qu'ils sont utilisés) nous pousse à améliorer continuellement nos logiciels pour les appliquer à des questions scientifiques "du monde réel". Pour tirer le meilleur parti de notre large communauté de développeurs et pour soutenir au mieux les utilisateurs de notre communauté, nous avons créé une documentation facilement modifiable qui s'est avérée transformatrice en complétant la couverture de la documentation et en soutenant notre large base d'utilisateurs externes.
Plus important encore, les logiciels scientifiques ne peuvent être maintenus sans une communauté autour d'eux, et nous comptons beaucoup sur notre communauté pour la formation, la communication, les hackathons et le partage de l'expertise, qu'elle soit scientifique ou liée au génie logiciel. Avec RosettaCommons, nous avons créé une communauté ouverte de développeurs qui se nourrit de collaboration plutôt que de concurrence : notre objectif commun est de faire progresser la science. Nous n'avons pas peur de nous attaquer aux questions scientifiques les plus difficiles ; en fait, elles nous motivent. Notre communauté étant large et dotée d'une hiérarchie plate, les membres ont voix au chapitre, quel que soit leur niveau de carrière, et sont encouragés à apporter leur contribution. C'est pourquoi notre communauté a établi ses propres normes, auxquelles les membres se conforment. La formation d'une communauté aussi soudée et collaborative n'aurait pas été possible sans un modèle de licence solide, fruit de décisions précoces et réfléchies qui ont profité à notre logiciel et à notre communauté au fil du temps. L'accord signé par tous les membres institutionnels et les développeurs de RosettaCommons nous permet de partager et de développer du code indépendamment des institutions et la licence commerciale de Rosetta permet à l'industrie de soutenir indirectement la maintenance et le développement continu par le biais des droits de licence.
La science est de plus en plus pratiquée en équipe pour aborder des questions complexes avec des méthodes avancées et il est nécessaire de relever les défis de la réalisation des objectifs scientifiques en grands groupes. Les défis auxquels nous avons été confrontés sont remarquablement similaires à ceux relevés par le Comité de la National Academy sur la science d'équipe ; nous pensons que ces actions et leçons sont indépendantes de la discipline scientifique et donc transférables à d'autres communautés. Notre communauté diversifiée a prospéré en s'engageant dans nos objectifs communs et en croyant fermement qu'en fait, nous sommes meilleurs ensemble.
Publié le 4 mai 2020
traduction de : https://doi.org/10.1371/journal.pcbi.1007507
Il s'agit d'un article en libre accès, libre de tout droit d'auteur, et peut être librement reproduit, distribué, transmis, modifié, construit ou autrement utilisé par quiconque à des fins licites. Le travail est mis à disposition sous la dédicace du domaine public Creative Commons CC0.
- Affichages : 2017
Comment aider la recherche contre la CoVID-19 grâce à votre ordinateur
- Détails
- Écrit par : franky82
- Catégorie parente: Actualités
Cet article s’adresse aux nouveaux utilisateurs
Les anciens sont déjà en discussion sur le forum
Le calcul partagé (ou distribué) permet aux chercheurs d’augmenter leurs capacités de calcul pour faire avancer leurs recherches.
Quand votre ordinateur, connecté à Internet, n’est pas utilisé (ou peu), vous pouvez fournir une partie de sa capacité de calcul avec votre processeur (CPU) et/ou votre carte graphique (GPU) et faire ainsi parti d’un réseau mondial qui soutient la recherche.
En ce moment, particulièrement avec la nécessité de trouver un moyen de stopper la CoVID-19, maladie provoquée par le virus SARS-CoV-2, tous les moyens sont profitables.
Alors, qu’attendez-vous pour vous lancer ?
Folding@Home
Partout, on vous conseille d’utiliser le programme fourni par Folding@Home pour aider cette recherche.
Cela ne sera pas le sujet ici car ce site (et son forum) est plus centré sur les projets qui utilisent BOINC.
Mais L’Alliance Francophone est présente sur ce projet sur un autre site https://www.alliancefrancophone.org/dossiers/covid19
où tout est expliqué pour utiliser Folding@Home sur votre ordinateur.
Les projets BOINC qui aident dans la lutte contre la CoVID-19
- Installation de BOINC
C’est le programme commun qui permet à de nombreux projets d’exécuter leurs différentes applications.
Pour chaque projet, des chercheurs proposent des applications, pour Linux, Windows, MacOS et parfois Android, qui permettent à nos ordinateurs de calculer pour aider leurs recherches.
- Téléchargez et installez BOINC à partir de https://boinc.berkeley.edu/ (bouton de droite),
Suivre les étapes d'installation, c'est simple, - Démarrer l’application
(dans le menu Affichage, vous pouvez choisir l’affichage avancé), - Choisir le menu Outils puis Ajouter un projet,
- Si le projet apparaît dans la liste (Rosetta…), le choisir et cliquer sur le bouton "Suivant"
s’il n’apparaît pas dans la liste, taper son adresse dans le champ Adresse du projet
(voir plus bas pour les nouveaux projets), - Après communication du programme avec le projet choisi, un cadre vous permet de vous inscrire à ce projet en tapant une adresse email et un mot de passe
(si vous avez déjà utilisé ce projet sur un autre ordinateur, vous pouvez entrer vos identifiants), - En cliquant sur le bouton "Suivant", le programme finalise l’installation des applications du projet et commence à charger des tâches à exécuter,
- Généralement, votre navigateur Internet s’ouvre alors sur le site du projet pour vous permettre de choisir un nom d’utilisateur (ou pseudo) et, éventuellement, quelques informations comme votre pays, votre site Internet…
Ensuite, on va vous proposer de rejoindre une équipe. Pour rejoindre L’Alliance Francophone, il suffit de taper Alliance dans le cadre Mots clés puis de cliquer sur le bouton "Recherche",
Cliquer alors sur le nom d’équipe L'Alliance Francophone,
Sur la page suivante, cliquer sur le bouton "Rejoindre cette équipe".
Voilà, vous êtes prêt. Si vous voulez calculer sur plusieurs projets BOINC, il suffit de reprendre au point 4.
Pour plus d’informations ou pour échanger sur BOINC et ses projets, rendez-vous sur le forum de L’AF : https://forum.boinc-af.org/index.php
N’hésitez pas à vous inscrire et à participer, voire demander de l’aide pour débuter avec BOINC.
Une fois inscrit, c’est bien de se présenter https://forum.boinc-af.org/index.php/topic,6024.0.html
- Projet Rosetta@home : https://boinc.bakerlab.org/rosetta
Depuis de nombreuses années, Rosetta@home utilise des applications BOINC pour calculer du pliage de protéines pour aider la recherche en biologie.
Dernièrement, avec la CoVID-19, ils ont ajouté des tâches spécifiques pour aider à contrer cette maladie.
Pour ajouter le projet à BOINC, lire la rubrique Installation de BOINC : ce projet figure dans la liste.
- Projet Ralph@home
C'est la version de test de Rosetta. Ce projet propose aussi des tâches CoVID-19.
Il n’est pas dans la liste d’ajout de projet mais il suffit d’entrer son adresse
https://ralph.bakerlab.org/
Pour la suite, tout se passe toujours de la même façon pour l’ajout de tous les projets.
- Projet Ibercivis BOINC
Ce projet, qui avait disparu depuis quelque temps, vient de revenir avec des tâches pour aider la recherche contre le CoVID-19 : application CoVID-Phym (voir articles sur ce site).
Il n’est pas dans la liste d’ajout de projet mais il suffit d’entrer son adresse
https://boinc.ibercivis.es/ibercivis
Pour la suite, tout se passe toujours de la même façon pour l’ajout de tous les projets.
Deux articles de ce site (traduits du site d'origine en espagnol) expliquent ce projet en détail
http://www.boinc-af.org/ibercivis-projet-covid-19.html
http://www.boinc-af.org/ibercivis-projet-covid-19-suite.html
- Projet World Community Grid (WCG) : https://www.worldcommunitygrid.org/
Ce projet ancien propose, depuis de nombreuses années, des applications pour aider la recherche contre différents cancers, le SIDA, le virus Zika, Ebola… Certaines applications ne sont plus actives mais de nouvelles arrivent régulièrement, notamment pour ce qui nous intéresse, une nouvelle application : OpenPandemics (article de lancement ici).
Pour calculer pour cette application, il faudra installer le projet World Community Grid qui est dans la liste d’ajout de projet.
Pour plus d’informations concernant les réglages, rendez-vous sur le forum de l’AF
https://forum.boinc-af.org/index.php/topic,3797.0.html
+ plusieurs threads, par application de WCG dont OpenPandemics
https://forum.boinc-af.org/index.php/topic,8222.0.html
- Autres projets BOINC
TN-Grid aurait quelques tâches CoVID-19 et GPU-Grid aurait prévu de fournir des tâches bientôt (projet similaire à Rosetta mais pour cartes graphiques nVidia).
Ces deux projets figurent dans la liste des projets à ajouter.
On trouve également de nombreux projets BOINC dans de nombreux domaines de la recherche (astronomie, biologie, écologie, mathématiques, physique-chimie...). Ces projets ne sont pas orienté CoVID-19 mais ils peuvent aider les chercheurs à avancer dans les recherches de leurs domaines.
Et puis, en suivant certains projets de recherche, on peut être amené à s'intéresser ou se passionner pour le sujet.
N'hésitez pas à consulter le forum, la rubrique "Boinc et les projets distribués" et ses sous-threads : https://forum.boinc-af.org/
ou sur ce site, la rubrique "Projets BOINC".
- Affichages : 3896
ibercivis (Projet COVID-19)
- Détails
- Écrit par : franky82
- Catégorie parente: Actualités
PROJET COVID-PHYM
Aidez-nous à bloquer le mécanisme de réplication du virus SARS-CoV-2
À propos du projet
|
Trouver un médicament utilisé dans le traitement d'autres maladies virales agissant contre le coronavirus 2 (SARS-CoV-2) est le but du projet de science citoyenne COVID-PHYM , promu par le Conseil supérieur de la recherche scientifique (CSIC) et la Fondation Ibercivis . Étant donné que certains médicaments utilisés se sont déjà révélés suffisamment sûrs pour la santé humaine, ils peuvent être disponibles pour traiter les patients atteints de COVID-19 beaucoup plus tôt qu'un nouveau composé et accélérer ainsi le contrôle de la pandémie.
Dans ce cadre, le groupe Biophym de l'Institut de la structure de la matière du CSIC a proposé d' effectuer des simulations de l'interaction des médicaments utilisés contre Ebola, l'infection à VIH, la grippe ou l'hépatite B avec les mécanismes de réplication du génome du Virus SARS-Co-V . Pour ce faire, il recourra aux techniques informatiques et à l'aide des ordinateurs de milliers de bénévoles connectés via la plateforme informatique distribuée d'Ibercivis . Ces opérations montreront si l'une des molécules parvient à inhiber une protéine clé dans la multiplication du virus appelée «ARN polymérase ARN dépendante». D'être comme ça,le médicament deviendrait un candidat idéal pour les tests dans les essais cliniques humains.
Clés pour bloquer le virus
"La possession de médicaments efficaces contre le coronavirus est essentielle pour réduire la gravité et la mortalité de la maladie", explique Javier Martínez de Salazar, chef du groupe Biophym. "La protéine choisie comme cible joue un rôle central dans la réplication et la transcription du matériel génétique du virus; S'il est neutralisé, il peut ralentir la propagation du virus dans le corps et aider à la guérison », ajoute-t-il. Cependant, prévient-il, "rechercher un composé capable de neutraliser une protéine spécifique, c'est comme essayer un grand nombre de clés pour ouvrir une serrure et, lorsque ce processus est simulé par ordinateur, il nécessite une grande puissance de calcul".
"Comme une clé dans une serrure, l'efficacité d'un médicament dépend de la façon dont sa structure s'adapte à celle de la zone où la protéine développe son activité", ajoute-t-il. "Il existe des modèles basés sur la physique et la chimie qui peuvent prédire l'efficacité des composés à l'aide de techniques de calcul - appelées in silico - avant de les tester dans des essais cliniques. Mais ces modèles impliquent d'effectuer des centaines de milliers de calculs pour mesurer la force de l'interaction de chacune des associations possibles entre le médicament et la protéine ", explique Javier Ramos Díaz, l'un des chercheurs du groupe.
Un supercalculateur citoyen contre la pandémie Un ordinateur conventionnel prendrait plusieurs années pour exécuter les calculs nécessaires à la réalisation de l'enquête. Pour cette raison, le projet bénéficiera du soutien des milliers d'ordinateurs personnels qui font partie de la plate-forme informatique distribuée d'Ibercivis («Ibercivis BOINC») , à laquelle toute personne souhaitant collaborer peut adhérer. Les opérations seront divisées en petits colis qui seront envoyés à chaque appareil. De cette manière, une capacité de calcul similaire à celle d'un supercalculateur sera atteinte et toutes les activités du projet pourront être réalisées. Les bénévoles doivent uniquement télécharger le programme BOINC, une application open source développée par l'Université de Berkeley, et rejoindre «Ibercivis BOINC» au moment de l'installation. Ce faisant, ils peuvent facilement choisir quand et comment participer. Par exemple, quiconque ne souhaite pas que la capacité de calcul de son ordinateur soit affectée lors de son utilisation, il suffit de quitter la configuration par défaut pour que le programme ne s'exécute qu'en temps de pause, lorsque l'économiseur d'écran saute. Lorsque BOINC est activé, l'ordinateur recevra une collection de données et des instructions pour l'analyser. Les résultats obtenus seront restitués au projet pour être étudiés par l'équipe de recherche. |
Télécharger le dossier scientifique (PDF espagnol) |
De la recherche de la vie extraterrestre à la lutte contre le coronavirus
Francisco Sanz , directeur exécutif d'Ibercivis, précise que «loin d'être une expérience, l'informatique distribuée est une réalité qui au cours des deux dernières décennies a permis le développement de nombreuses investigations nécessitant une grande capacité de traitement. Le programme BOINC a été créé en 2002 pour aider le projet SETI à analyser un énorme volume de signaux radio provenant de l'espace et à y trouver des preuves de vie extraterrestre. Depuis lors, il a été utilisé dans des domaines aussi divers que la physique, les mathématiques, la climatologie ou l'astrophysique . Grâce à la collaboration volontaire de tous, il peut désormais devenir un outil de plus pour trouver des solutions permettant de faire face à la crise provoquée par le coronavirus. »
Bien qu'elle se consacre actuellement à la promotion de toutes sortes d'initiatives de science citoyenne, la Fondation Ibercivis trouve son origine dans les premières initiatives d'informatique distribuée lancées en Espagne. Son infrastructure basée sur BOINC compte plus de 20 000 bénévoles qui transmettent la puissance de calcul de leurs ordinateurs et a soutenu plus de 15 projets de recherche.
L' Institut de bio-informatique et de physique des systèmes complexes (BIFI ) de l' Université de Saragosse, le CSIC, le CIEMAT et RedIRIS ont collaboré sur cette plateforme . Les trois premiers font partie du conseil d'administration de la Fondation, créé en 2011, en collaboration avec le ministère des Sciences et de l'Innovation, la Fondation de la ville de la connaissance de Saragosse et le gouvernement d'Aragon.
Dans ce projet, Ibercivis a la collaboration de la chaîne BOINC et de l' Association pour la promotion de la recherche scientifique à domicile .
Pour plus d'informations, un document informatif a été préparé sur le virus SARS-CoV-2, son mécanisme de reproduction et l'approche scientifique du projet.
Comment à se joindre au projet? Lorsque BOINC est activé, l'ordinateur recevra une collection de données et des instructions pour l'analyser. Les résultats obtenus seront restitués au projet pour être étudiés par l'équipe de recherche.
|
Cet article a été traduit depuis la page en espagnol du projet : https://ibercivis.es/project/proyecto-covid-phym/
MISE À JOUR DU PROJET
Lancement du projet de science citoyenne COVID-PHYM.
Aidez-nous à bloquer la machinerie de réplication du coronavirus
- N'importe qui peut collaborer depuis chez lui en téléchargeant un programme informatique et en laissant son ordinateur effectuer des opérations de calcul.
- L'objectif est d'étudier si des médicaments déjà utilisés contre Ebola ou la grippe peuvent inhiber la réplication du virus.
- Les ordinateurs des volontaires formeront un réseau informatique distribué avec une puissance de calcul similaire à celle d'un supercalculateur.
Si vous avez un ordinateur et une connexion Internet, vous avez déjà tout ce dont vous avez besoin pour participer à cette expérience de science citoyenne que nous promouvons avec la SCCI et qui vise à impliquer les citoyens dans la recherche de solutions pour faire face au développement de la pandémie du coronavirus , aidant à arrêter son mécanisme de réplication.
Le groupe Biophym de l'Institut de la structure de la matière de la SCCI a entrepris de simuler l'interaction des médicaments utilisés contre Ebola, l'infection à VIH, la grippe ou l'hépatite B avec les mécanismes de réplication du génome du virus du SRAS-Co -V . Pour ce faire, il recourra aux techniques informatiques et à l'aide des ordinateurs de milliers de bénévoles connectés via la plateforme informatique distribuée d'Ibercivis .
La protéine à inhiber est connue sous le nom d '«ARN polymérase ARN dépendante» et a été choisie car elle joue un rôle central dans la réplication et la transcription du matériel génétique du virus. S'il est neutralisé, il peut ralentir la propagation du virus dans le corps et aider à la guérison.
Un supercalculateur citoyen contre la pandémie
Un ordinateur conventionnel prendrait plusieurs années pour exécuter les calculs nécessaires à la réalisation de l'enquête. Pour cette raison, le projet bénéficiera du soutien des milliers d'ordinateurs personnels qui font partie de la plate-forme informatique distribuée d'Ibercivis («Ibercivis BOINC») , à laquelle toute personne souhaitant collaborer peut adhérer. Les opérations seront divisées en petits colis qui seront envoyés à chaque appareil. De cette manière, une capacité de calcul similaire à celle d'un supercalculateur sera atteinte et toutes les activités du projet pourront être réalisées.
Faites de la science à la maison
Les objectifs du projet sont clairs: d'une part, contribuer à la recherche de solutions possibles à la pandémie de coronavirus 2 (SRAS-CoV-2) grâce à la collaboration citoyenne, qui transfère ses ressources à l'immense capacité de calcul dont elle a besoin ce projet. Mais aussi, les citoyens volontaires qui s'impliquent reçoivent une formation scientifique sur la pandémie, connaissent les mécanismes que le projet développera et appliqueront la méthode scientifique au cours de la recherche. Chacun peut découvrir en détail la motivation scientifique du projet et télécharger le document qui développe la méthodologie utilisée en cliquant ici.
Comment à se joindre au projet ?
Les bénévoles doivent uniquement télécharger le programme BOINC, une application open source développée par l'Université de Berkeley, et rejoindre « Ibercivis BOINC » au moment de l'installation. Ce faisant, ils pourront facilement choisir quand et comment participer . Par exemple, quiconque ne souhaite pas que la capacité de calcul de son ordinateur soit affectée lors de son utilisation, il suffit de quitter la configuration par défaut pour que le programme ne s'exécute qu'en temps de pause, lorsque l'économiseur d'écran saute.
Lorsque BOINC est activé, l'ordinateur recevra une collection de données et des instructions pour l'analyser. Les résultats obtenus seront restitués au projet pour être étudiés par l'équipe de recherche.
- Téléchargez et installez BOINC à partir de https://boinc.berkeley.edu/ . Suivre les étapes d'installation est simple.
- Depuis l'application BOINC installée sur votre appareil, rejoignez le projet ' Ibercivis BOINC '.
- Une fois que vous avez installé l'application, exécutez-la à partir de votre appareil
- Cliquez sur «Ajouter un projet» et entrez l'url suivante https://boinc.ibercivis.es dans la section «URL du projet» et cliquez sur «Suivant». À partir de là, votre appareil commencera à participer, avec plusieurs milliers d'autres, à l'expérience.
Du groupe qui promeut ce projet scientifique, nous tenons à remercier Canal BOINC ( canalbonic.com ) et l' Association Aficca pour leur implication , dont les membres se sont portés volontaires et ont volontairement participé aux premières étapes du test de la plateforme et Ils ont activement collaboré à son développement.
De là, seule votre participation reste. Aidez-nous à bloquer la machinerie de réplication du coronavirus.
Cet article a été traduit depuis la page en espagnol du projet :
https://ibercivis.es/puesta-en-marcha-del-proyecto-de-ciencia-ciudadana-covid-phym-ayudanos-a-bloquear-la-maquinaria-de-replicacion-del-coronavirus/
- Affichages : 1826
Raid de Printemps 2020
- Détails
- Écrit par : Christian
- Catégorie parente: Actualités
- Affichages : 1715
Page 22 sur 35