{"id":1781,"date":"2016-01-07T16:26:27","date_gmt":"2016-01-07T21:26:27","guid":{"rendered":"http:\/\/bioinfo.iric.ca\/fr\/?p=1781"},"modified":"2017-04-29T23:02:12","modified_gmt":"2017-04-30T03:02:12","slug":"creation-de-donnees-genomiques-synthetiques","status":"publish","type":"post","link":"https:\/\/bioinfo.iric.ca\/fr\/creation-de-donnees-genomiques-synthetiques\/","title":{"rendered":"Cr\u00e9ation de donn\u00e9es g\u00e9nomiques synth\u00e9tiques"},"content":{"rendered":"<p>L&rsquo;application de m\u00e9thodes statistiques forme une grande partie de la bio-informatique. En plus de m\u00e9thodes classiques, certaines\u00a0techniques d&rsquo;apprentissage machine (notamment, des techniques de clustering telles\u00a0<em>k-means<\/em>)\u00a0sont aussi r\u00e9guli\u00e8rement appliqu\u00e9es sur\u00a0des donn\u00e9es cliniques et biologiques.<\/p>\n<p>Quelques-unes\u00a0de ces techniques telles les r\u00e9seaux de neurones ont\u00a0r\u00e9cemment connu un grand succ\u00e8s en\u00a0reconnaissance d&rsquo;images et traitement du langage naturel. Malheureusement,\u00a0ces techniques\u00a0<a href=\"https:\/\/fr.wikipedia.org\/wiki\/Fl%C3%A9au_de_la_dimension\" target=\"_blank\">performent mal<\/a> sur de petits jeux de donn\u00e9es ayant un grand nombre de dimensions, un type de jeux de donn\u00e9es fr\u00e9quemment rencontr\u00e9 \u00e0 la plateforme.<\/p>\n<p>L&rsquo;introduction de donn\u00e9es synth\u00e9tiques cr\u00e9\u00e9es artificiellement \u00e0 partir des donn\u00e9es originales permet de mitiger le\u00a0d\u00e9balancement entre la dimensionnalit\u00e9 du jeu de donn\u00e9es\u00a0et le nombre d&rsquo;\u00e9chantillons.\u00a0Un plus grand nombre d&rsquo;\u00e9chantillons permet non seulement d&rsquo;am\u00e9liorer la performance, mais aussi la g\u00e9n\u00e9ralisation du mod\u00e8le.<\/p>\n<h3>Cr\u00e9ation d&rsquo;\u00e9chantillons synth\u00e9tiques de s\u00e9quen\u00e7age RNASeq<\/h3>\n<p>Un\u00a0jeu de donn\u00e9es d&rsquo;un\u00a0projet d&rsquo;analyse d&rsquo;expression de g\u00e8nes issu de donn\u00e9es RNASeq fut choisi comme candidat pour tester l&rsquo;ajout de donn\u00e9es synth\u00e9tiques.<\/p>\n<p>Pour ce jeu de donn\u00e9es, la cr\u00e9ation\u00a0d&rsquo;un nouvel \u00e9chantillon synth\u00e9tique se fait par une simple m\u00e9thode de <em>bootstrap<\/em> sur les <em>reads<\/em> d&rsquo;un fichier d&rsquo;alignement tophat en format BAM. Les <em>reads<\/em> sont r\u00e9-\u00e9chantillon\u00e9s avec remplacement \u00e0 l&rsquo;aide d&rsquo;un script Python utilisant les outils de manipulation samtools par l&rsquo;entremise de la librairie Pysam.\u00a0Le fichier de sortie\u00a0repasse ensuite par le <em>pipeline<\/em> d&rsquo;analyse d&rsquo;expression (cuffquant \/ cuffnorm) afin d&rsquo;extraire le nouveau profil d&rsquo;expression.<\/p>\n<p>Voici un\u00a0aper\u00e7u simplifi\u00e9 du\u00a0script en question.<\/p>\n<pre><code class=\"python\">import pysam\r\nimport random\r\n\r\nbam_in = \"original.bam\"\r\nbam_out = \"synthetic.bam\"\r\n\r\nbam = pysam.AlignmentFile(bam_in)\r\nread_table = {}\r\nfor idx, read in enumerate(bam.fetch()):\r\n    read_table[read.qname] = 0\r\n\r\n# \u00c9chantillonage\r\nnb_reads = len(read_table)\r\nread_list = read_table.keys()\r\nfor _ in range(0, nb_reads):\r\n    pick = read_list[random.randrange(nb_reads)]\r\n    read_table[pick] += 1\r\n\r\n# \u00c9criture du nouveau fichier bas\u00e9 sur l'\u00e9chantillonage\r\nnew_bam = pysam.AlignmentFile(bam_out, \"wbu\", template=bam)\r\nfor idx, read in enumerate(bam.fetch()):\r\n    for x in range(0, read_table[read.qname]):\r\n        read.qname += \"_%s\" % x\r\n        new_bam.write(read)\r\n\r\nnew_bam.close()\r\n<\/code><\/pre>\n<h3>R\u00e9sultats<\/h3>\n<p>Une analyse en\u00a0composantes principales du jeu de donn\u00e9es\u00a0permet de mieux visualiser l&rsquo;ajout\u00a0des donn\u00e9es synth\u00e9tiques.<\/p>\n<p><a href=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2016\/01\/DFCI.png\" rel=\"attachment wp-att-1788\"><img decoding=\"async\" class=\"alignnone wp-image-1788 size-large\" src=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2016\/01\/DFCI-1024x818.png\" alt=\"DFCI\" width=\"669\" height=\"534\" srcset=\"https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2016\/01\/DFCI-147x118.png 147w, https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2016\/01\/DFCI-177x142.png 177w, https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2016\/01\/DFCI-300x240.png 300w, https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2016\/01\/DFCI-768x614.png 768w, https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2016\/01\/DFCI-1024x818.png 1024w, https:\/\/bioinfo.iric.ca\/wpbioinfo\/wp-content\/uploads\/2016\/01\/DFCI.png 1320w\" sizes=\"(max-width: 669px) 100vw, 669px\" \/><\/a><\/p>\n<p>Dans ce graphique, les points avec la m\u00eame combinaison couleur\/forme sont g\u00e9n\u00e9r\u00e9s \u00e0 partir du m\u00eame \u00e9chantillon. Notez \u00e0 quel point ils se rassemblent.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;application de m\u00e9thodes statistiques forme une grande partie de la bio-informatique. En plus de m\u00e9thodes classiques, certaines\u00a0techniques d&rsquo;apprentissage machine (notamment, des techniques de clustering telles\u00a0k-means)\u00a0sont aussi r\u00e9guli\u00e8rement appliqu\u00e9es sur\u00a0des donn\u00e9es cliniques et biologiques. Quelques-unes\u00a0de ces techniques telles les r\u00e9seaux de neurones ont\u00a0r\u00e9cemment connu un grand succ\u00e8s en\u00a0reconnaissance d&rsquo;images et traitement du langage naturel. Malheureusement,\u00a0ces techniques\u00a0performent mal sur de petits jeux de donn\u00e9es ayant un grand nombre de dimensions, un type de jeux de donn\u00e9es fr\u00e9quemment rencontr\u00e9 \u00e0 la plateforme. L&rsquo;introduction <a href=\"https:\/\/bioinfo.iric.ca\/fr\/creation-de-donnees-genomiques-synthetiques\/\"> [&#8230;]<\/a><\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[41,26],"tags":[129,137],"class_list":["post-1781","post","type-post","status-publish","format-standard","hentry","category-bioinformatique","category-langage-python","tag-analyse-de-donnees","tag-genomique"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/posts\/1781","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/comments?post=1781"}],"version-history":[{"count":21,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/posts\/1781\/revisions"}],"predecessor-version":[{"id":3297,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/posts\/1781\/revisions\/3297"}],"wp:attachment":[{"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/media?parent=1781"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/categories?post=1781"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bioinfo.iric.ca\/fr\/wp-json\/wp\/v2\/tags?post=1781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}