tag:blogger.com,1999:blog-60838608830773251702024-03-05T18:39:31.264+09:00CodingPsytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comBlogger105125tag:blogger.com,1999:blog-6083860883077325170.post-45686697887768498492017-12-21T10:55:00.000+09:002018-02-23T10:58:19.751+09:00Time and Myself in Berlin by JihwanTime and Myself in Berlin<br />
Jihwan Myung<br />
Taipei Medical University & Shuang Ho Hospital, Taiwan<br />
<br />
It was like any other day. I think it was rainy. The details of weather were irrelevant. In the<br />
place where I was, the day started with darkness at 25 degrees Celsius and ended with<br />
darkness at 25 degrees Celsius. My job was to look at how time is kept in the tiny little circadian<br />
clock in the mouse brain, and for that reason I spent long hours in a small room under constant<br />
conditions along with my mice. I remember the day, and the jokes I exchanged with a fellow<br />
researcher under an umbrella, not because I was particularly worried about smelling like a damp<br />
mouse, <span style="background-color: #ffe599;">but because of a realization that hit hard on me—I was getting old and these constant</span><br />
<span style="background-color: #ffe599;">conditions were making me agnostic about the fact</span>. Suddenly the slogan I saw the other day on<br />
the Internet, “<span style="background-color: #ffe599;">Gain Time to Think</span> (at the Wissenschaftskolleg),” felt immensely appealing. Time<br />
was always there but for a long time, time was not entirely mine. Time was also the topic that<br />
fascinated me from the beginning. Would I be able to have time of my own and think thoroughly<br />
about time in the brain?<br />
<br />
Take a time machine back to when I was a child. Albert Einstein, the quintessential scientist for<br />
many people, was a revolutionary for me. He powerfully demonstrated that philosophers do not<br />
know the truth. Yet, he did so not through experimental data but through Gedankenexperiment,<br />
something that the philosophers had been supposedly doing all along. But that was only one<br />
part of the irony. The enigma of Einstein's theory came from the fact that its central subject was<br />
time, which had been entirely philosophical. A famous show-down happened when Einstein was<br />
42 years old and the young physicist announced to the old philosopher Henri Bergson that<br />
philosopher’s time was no more special than the physicist’s time. According to Einstein, the only<br />
remaining, unstudied kind of time was a psychological one, which was what I was studying.<br />
Decades have passed since then and Einstein became a cliché. I, an aspiring physics student,<br />
became a 42-year old, and became a biologist. The mystic statement about time became a<br />
plain statement that light travels at a constant speed and the whole theory became simply a<br />
classical mechanics analogy for certain things in electrodynamics. In 2016, when all the<br />
fascination about time had completely dwindled, I found myself, along with my wife Hitomi, at the<br />
Wissenschaftskolleg, the Institute for Advanced Study in Berlin.<br />
<br />
In addition to psychological time, there was biological time. Almost all living organisms on Earth<br />
harbor a clock that is set to predict the 24-hour day-night cycles. The biological clock is not<br />
exactly precise, and all organisms effectively live in their slightly subjective time. Regardless,<br />
Einstein might have said there is no biologist's time. The laws of physics supervene the laws of<br />
biology. A barrier of complexity, however, lies in between physics and biology and it is not easy<br />
to derive laws governing biological time from physical principles. Biological time stands as a<br />
good enough conceptual approximation for all practical purposes. Since biological time has an<br />
objective basis as does physical time, I thought I could use it to understand psychological time,<br />
which was subjective. This was a more ambitious plan than it sounded. Circadian rhythms<br />
provide a rough guideline to the brain on the daily ration of usable time. In many animals, the<br />
sleep-wake cycle is largely determined by the circadian clock. The human species is a bit of an<br />
outlier—they often willfully ignore what their internal clock says and just work or play through the<br />
night. Therefore, approaching subjective time from the biological basis clearly had its limit. I<br />
had to think about time from the subjective perspective. This was like drilling the Channel<br />
Tunnel. A scientific study of subjective time must start from the biological side but it cannot be<br />
subjective if it is not understood on the first-person side. So one has to bore the tunnel between<br />
subjectivity and objectivity from both directions. Luckily, a small library at the<br />
Wissenschaftskolleg had the whole collection on Aristotle, who had thought about this issue. I<br />
tried other philosophers, such as Heidegger, but without much success. When I was struggling,<br />
I rediscovered Henri Bergson. Aristotle could define time before and after "now," the moment<br />
one is conscious of. <span style="background-color: #ffe599;">Bergson literally stretched the "now" moment into a duration like an elastic</span><br />
<span style="background-color: #ffe599;">rubber band. This is the consciousness's comfort zone, where it can wield its free will. I then</span><br />
<span style="background-color: #ffe599;">imagined that biology puts a constraint on the duration's elasticity. The duration has to do with</span><br />
<span style="background-color: #ffe599;">our attention to life, and this we know by our experience of time running fast when we are having</span><br />
<span style="background-color: #ffe599;">fun and time slowing down when we are gloomy. The circadian clock, which counts objective</span><br />
<span style="background-color: #ffe599;">time of the day, can modulate the extent of temporality by limiting the release time of dopamine</span><br />
<span style="background-color: #ffe599;">that accelerates the flow of subjective time</span>. The circadianly controlled release happens to occur<br />
in the morning and this has an intuitively clear consequence, such that we quite often say "Oh<br />
it's already time for lunch" but we never really say the same thing about dinner. Time does run<br />
fast during the morning thanks to the timed dopamine release. Then I made a second statement<br />
that the qualia of time perception are mood states. This is likely, yet at this moment only<br />
correlational, because global analysis of Twitter patterns shows that people in the morning use<br />
the words associated with heightened mood states. I presented these thoughts at the<br />
Colloquium. Little did I know at the time was that the presentation would be the basis of my<br />
future job talk which would take me to Taiwan to study consciousness seriously.<br />
<br />
The time I had in Berlin has definitely made some permanent changes in my life. It allowed me<br />
to ask myself the most exciting question I knew of. It allowed me to come back to where I had<br />
started. There are so many more things I wish to write about, like when I had to pass by the<br />
ruins of the Israelitisches Krankenheim while commuting to my office in an old human anatomy<br />
building. For now, let me close one chapter with my small intellectual encounter with Einstein<br />
and Bergson, which would not have been possible without the particular flavor of Winter in<br />
Berlin.Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-11934525712609026302017-02-28T15:00:00.000+09:002018-02-28T15:02:08.541+09:00Alan Turing: this time, the book, which is excellent<span style="background-color: #fafafa; color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;">I wanted to write a letter to my friends about the movie The Imitation Game and the book that, the poster says, "inspired it". I did.</span><br style="color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;" /><span style="background-color: #fafafa; color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;">If my writing has any value at all, it is in clarifying my thoughts for myself and potentially for others.</span><br style="color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;" /><span style="background-color: #fafafa; color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;">But what exactly do I want to say about Alan Turing and the film about him? Simply that he was a genius who contributed immensely to his country then killed himself, assumedly at least in part due to his mistreatment (because of his homosexuality) by the country whose defense he made such a contribution to.</span><br style="color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;" /><span style="background-color: #fafafa; color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;">I enjoyed the film, but as soon as it was over I began to have second thoughts about its veracity and quality. Having reflected on it for a few days, I simply cannot comprehend how it won any awards.</span><br style="color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;" /><br style="color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;" /><b style="color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;">The book Alan Turing: The Enigma</b><span style="background-color: #fafafa; color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;">, or even the Foreword by Douglas Hofstadter or the Preface by the author (Andrew Hodges) 30 years after his biography of Alan Turing was published, is far more interesting than the movie, whose sole merits are that it takes only two hours to watch and it will promote sales of the excellent book. The e-book of Hodges's magnum opus can be had for a little over $5 and the sample including the Foreword and Preface and much of the first chapter can be obtained for free. Read them and you already have your money's worth -- and know more about Alan Turing than the movie will teach you.</span><br style="color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;" /><span style="background-color: #fafafa; color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;">A major merit of the book is his portrayal of Turing as a human being rather than a superman. It corrected my misunderstanding of his achievements as inexplicable. No, what was wonderfully unique about him was not so much his foresight or vision or discoveries as his complexity: some things he understood and explained before others had, but mainly he was exceptional because he could do what others had done without knowing about them, without using their methods, sometimes less elegantly (especially in his written explanations) but often more simply, more "elegantly" in the mathematical sense. He was never "best in the class" but in retrospect his legacy excelled, and others' stand in the shadows. It's fun to cheer for the underdog.</span><br style="color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;" /><span style="background-color: #fafafa; color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: justify;">I've still read little about his productive wartime period, but the Foreword and post-publication Preface give very inspiring overviews and summaries of his career and contributions to mathematics and cryptography.</span><br />
<div style="color: #333333; font-family: "Helvetica Neue Light", HelveticaNeue-Light, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; margin: 0px; outline: none; padding: 0px; text-align: justify;">
May 9, 2015</div>
Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-83023542268964060892016-05-12T14:52:00.004+09:002016-05-12T14:52:57.884+09:00MySQL Join Statement <div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikUTG8pfxtH8eMq5pYOv9XX3XV6KDlJJ1rZgVXrOH9l83902nboBucsjekgo7IHYFsUaNOMT76A9rVlBOXTMEvsi6DvLrQ13wz8wDgts3lVxO9gPYPC16XK8OZuZbDu7zEhNm9ljkvZb8/s1600/Visual_SQL_JOINS_orig.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="502" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikUTG8pfxtH8eMq5pYOv9XX3XV6KDlJJ1rZgVXrOH9l83902nboBucsjekgo7IHYFsUaNOMT76A9rVlBOXTMEvsi6DvLrQ13wz8wDgts3lVxO9gPYPC16XK8OZuZbDu7zEhNm9ljkvZb8/s640/Visual_SQL_JOINS_orig.jpg" width="640" /></a></div>
Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-33359102444730513382016-01-27T14:10:00.000+09:002016-01-27T14:10:04.953+09:00Huntington disease - Nature Review Disease Primers<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLRju9S9cm1jRyISSeKVMOVlRa2e69pLBrGSuhWdy62XQ60MRqUrx-vFSQj3u_DxoDDQsX7nxoEWWrHz_bywCLOsURecFgxeWatTt6ek2BR_gvul8h77j0uoXxftGXjo8RqEoTihCBvFg/s1600/nrdp20155-f2.jpg" imageanchor="1"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLRju9S9cm1jRyISSeKVMOVlRa2e69pLBrGSuhWdy62XQ60MRqUrx-vFSQj3u_DxoDDQsX7nxoEWWrHz_bywCLOsURecFgxeWatTt6ek2BR_gvul8h77j0uoXxftGXjo8RqEoTihCBvFg/s640/nrdp20155-f2.jpg" width="640" /></a><br />
<br />Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-61585642937262640242016-01-25T18:47:00.000+09:002016-01-25T18:47:13.364+09:00What I Talk About When I Talk About RunningTo keep on going, you have to keep up the rhythm. This is the important thing for long-term projects. Once you set the pace, the rest will follow. The problem is getting the flywheel to spin at a set speed and to get to that point takes as much concentration and effort as you can manage.Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-80614543852819381452016-01-23T14:32:00.000+09:002016-01-23T14:32:20.140+09:00Online LaTeX Editor and CV template <div class="separator" style="clear: both; text-align: center;">
<a href="https://www.sharelatex.com/" target="_blank"><img border="0" height="281" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizLcILt2tgy18ea85fz2owS4r4tcDs0OtodxJKgLzwW0mMGEURze0x8Xim_atOr5fZAWme-3CPNHATq935tGT-LiPLZkmRzacjqBpdjvkRbh9d_twjeZ2SaKwTdw6ThqHN8ESOJsZwdsA/s640/ShareLaTeX__the_Online_LaTeX_Editor.png" width="640" /></a></div>
<br />
<a href="https://www.sharelatex.com/" target="_blank">ShareLaTex</a> is an online Latex Editor which can be used to generate high quality PDF documents. The personal use is free and there are quite a number well designed CV templates.Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-92034438832598404462016-01-22T15:25:00.000+09:002016-01-23T14:39:05.960+09:00The Quest After Perspectives <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq4MGKCYnUzHIvGVTRwGwLHX-PosKUOfJVne-ZhZGuMWVtK_NhgUnOs77fzN1mTs4nm_JqXLbo2LJnyjq2vcq7IJht6c9FaadZ9XAaNTCjP2oSWgQgVnnBQZ_CKH1F5m0eg3uophrrrcw/s1600/Screen+Shot+2015-12-04+at+5.24.08+PM.png" imageanchor="1"><img border="0" height="498" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq4MGKCYnUzHIvGVTRwGwLHX-PosKUOfJVne-ZhZGuMWVtK_NhgUnOs77fzN1mTs4nm_JqXLbo2LJnyjq2vcq7IJht6c9FaadZ9XAaNTCjP2oSWgQgVnnBQZ_CKH1F5m0eg3uophrrrcw/s640/Screen+Shot+2015-12-04+at+5.24.08+PM.png" width="640" /></a>Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-26737294486701382112015-12-18T16:03:00.001+09:002016-01-23T14:39:30.445+09:00The isoform of Ube3a <h4 id="toc_0" style="-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: Helvetica, arial, sans-serif; font-size: 16px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; padding: 0px; position: relative; widows: auto;">
The isoform abundances of Ube3a (in colon and brain cortex of adult mice)</h4>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px; widows: auto;">
Data </div>
<pre class=" language-none" style="-webkit-print-color-adjust: exact; background-color: #f5f2f0; border-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; widows: auto; word-break: normal; word-wrap: normal;"><code class=" language-none" style="-webkit-print-color-adjust: exact; background-color: transparent; border-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal; word-wrap: normal;">wgEncodeCshlLongRnaSeqColonAdult8wksAlnRep1.bam
wgEncodeCshlLongRnaSeqColonAdult8wksAlnRep1V2.bam
wgEncodeCshlLongRnaSeqCortexAdult8wksAlnRep1.bam
wgEncodeCshlLongRnaSeqCortexAdult8wksAlnRep2.bam
</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px; widows: auto;">
Use Tophat for the transcriptome analysis and examined the <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">isoform_exp.diff</code> file </div>
<pre class=" language-none" style="-webkit-print-color-adjust: exact; background-color: #f5f2f0; border-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; widows: auto; word-break: normal; word-wrap: normal;"><code class=" language-none" style="-webkit-print-color-adjust: exact; background-color: transparent; border-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal; word-wrap: normal;">mRNA_id gene_id locus fpkm_colon fpkm_cortex
NM_001033962 Ube3a_isoform_3 chr7:66484119-66562097 0.004558 5.07055
NM_011668 Ube3a_isoform_2 chr7:66484119-66562097 0.230222 0.60659
NM_173010 Ube3a_isoform_1 chr7:66484119-66562097 5.82296 1.36267
</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px; widows: auto;">
<div style="font-family: helvetica, arial, sans-serif; font-size: 14px;">
It seems that iso3 of Ube3a is the main variant in the mouse cortex. The iso2 of Ube3a encodes the full length protein. Iso1 is considered to be E3-ligase deficient as it lacks 87 <span style="font-family: "helvetica" , "arial" , sans-serif;"><span style="font-size: 14px;">amino acids from the C-terminal HECT domain. Both iso1 and iso3 lack 21 amino acids from N-terminus as well. Regarding the localization, </span></span><span style="font-family: "helvetica" , "arial" , sans-serif; font-size: 14px;">Iso1 and Iso2 are </span><span style="font-family: "helvetica" , "arial" , sans-serif; font-size: 14px;">ubiquitously found throughout a cell, where Iso3 is confined to the nucleus.</span></div>
<span style="font-family: "helvetica" , "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="font-family: "helvetica" , "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="font-family: "helvetica" , "arial" , sans-serif; font-size: 14px;"><br /></span></div>
Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-64708268535284460082015-12-03T19:23:00.001+09:002015-12-03T19:23:29.983+09:00One of the very Best Academic Conference Poster <div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWBtUMaL6abppIXxOUT1MaPIbq_uxp3xgyMo-8Z41VnHjJ2oCg1zmH-prmHKX-sZmjybvtGh8gMjJigbG0d58905CNu_pjhWjtE8SsVBi3mo2IX7SpZyMdCyZ-zOa862mH7JPFY4QJLjI/s1600/The_Best_Academic_Poster_pdf.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWBtUMaL6abppIXxOUT1MaPIbq_uxp3xgyMo-8Z41VnHjJ2oCg1zmH-prmHKX-sZmjybvtGh8gMjJigbG0d58905CNu_pjhWjtE8SsVBi3mo2IX7SpZyMdCyZ-zOa862mH7JPFY4QJLjI/s1600/The_Best_Academic_Poster_pdf.png" /></a></div>
<br />
<br />Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-88109261980277702422015-12-01T17:05:00.002+09:002015-12-01T22:03:21.617+09:00MOOC Courses for Genetics/Genomics Data Analysis<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidXg0xDqb1M2E6KlrVpjnft5X-rNxaWS6d7prdx9mAgsPpEaCmZ2Im2nEE1H_FeowazVmG6Vy2EWTJW-SJrJYzYTQhDXCbrKzOlL9ez0MkNKzt3u53-htWmmShwgbZVyiyGWc1PfMX6OY/s1600/PH525X-Certificate.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidXg0xDqb1M2E6KlrVpjnft5X-rNxaWS6d7prdx9mAgsPpEaCmZ2Im2nEE1H_FeowazVmG6Vy2EWTJW-SJrJYzYTQhDXCbrKzOlL9ez0MkNKzt3u53-htWmmShwgbZVyiyGWc1PfMX6OY/s640/PH525X-Certificate.jpg" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
I have taken a number of Massive open online course (MOOC) since 2014 and here is a short summary. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In general, I believe learning-by-doing is the most efficient way, and learning a subject without applying the knowledge to solve any practical problem is unlikely resulting in a good understanding. That being said, I'm kind of opposed to learn things (I feel) which are less relevant to my current work, for example, I used to think it doesn’t make much sense to learn NGS analysis if I am not doing NGS study. However there is a dilemma that, in many circumstances, when facing a complex problem, you need a certain level of skill/knowledge and be aware of existing tools available to use. Through this personal learning experience, I could say I benefited quite a lot from the MOOC and I am happy that I invested my time in learning. These MOOC courses serve as a good staring point to build a broad knowledge base.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The most popular MOOC websites are <a href="https://www.coursera.org/" target="_blank">Coursera</a>, <a href="https://www.edx.org/" target="_blank">EdX</a>, Stanford <a href="http://online.stanford.edu/openedx" target="_blank">OpenEdX</a>. The former two provide more courses on genetics/genomics/bioinforamatics; and in OpenEdX, some courses are not free. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>At Coursera</b>, I obtained a certificate from courses including:</div>
<div class="separator" style="clear: both; text-align: left;">
Johns Hopkins University <a href="https://www.coursera.org/course/regmods" target="_blank">Regression Models</a> </div>
<div class="separator" style="clear: both; text-align: left;">
Johns Hopkins University <a href="https://www.coursera.org/course/bioinform" target="_blank">Bioinformatics: Life Sciences on Your Computer</a> </div>
<div class="separator" style="clear: both; text-align: left;">
Johns Hopkins University <a href="https://www.coursera.org/course/statinference" target="_blank"> Statistical Inference</a></div>
<div class="separator" style="clear: both; text-align: left;">
Johns Hopkins University <a href="https://www.coursera.org/course/datascitoolbox" target="_blank">The Data Scientist’s Toolbox</a></div>
<div class="separator" style="clear: both; text-align: left;">
Johns Hopkins University <a href="https://www.coursera.org/course/repdata" target="_blank">Reproducible Research</a></div>
<div class="separator" style="clear: both; text-align: left;">
Johns Hopkins University <a href="https://www.coursera.org/course/rprog" target="_blank">R Programming</a> (highly recommended)</div>
<div class="separator" style="clear: both; text-align: left;">
University of Michigan <a href="https://www.coursera.org/learn/python" target="_blank">Programming for Everybody (Python)</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>At EdX</b>, the courses I finished with a certification:</div>
<div class="separator" style="clear: both; text-align: left;">
HarvardX - PH525x <a href="https://courses.edx.org/courses/HarvardX/PH525x/1T2014/info" target="_blank">Data Analysis for Genomics</a> (highly recommended)</div>
<div class="separator" style="clear: both; text-align: left;">
MITx - 6.00.1x <a href="https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-6" target="_blank">Introduction to Computer Science and Programming Using Python</a> (highly recommended)</div>
<div class="separator" style="clear: both; text-align: left;">
MITx - 7.QBWx <a href="https://www.edx.org/course/quantitative-biology-workshop-mitx-7-qbwx" target="_blank"> Quantitative Biology Workshop</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
At OpenEdX, I took the course <a href="https://lagunita.stanford.edu/courses/Medicine/HRP258/Statistics_in_Medicine/about" target="_blank">Statistics in Medicine</a> but didn’t finish it. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>The courses I like the most are</b>: </div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://courses.edx.org/courses/HarvardX/PH525x/1T2014/info" target="_blank">Data Analysis for Genomics (PH525X)</a></div>
<div class="separator" style="clear: both; text-align: left;">
this course covers almost a wide range of the genomics analysis and it is easy to follow the instruction. And you can always find something useful. From this course, I got to know the <a href="https://cran.r-project.org/package=pheatmap" target="_blank">pheatmap</a> , a handy tool to plot (elegant) heatmap, and now it becomes one of my favourite R package. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-6" target="_blank">Introduction to Computer Science and Programming Using Python (6.00.1x)</a></div>
<div class="separator" style="clear: both; text-align: left;">
very entertaining and I like the way how Prof Crimson taught. It is not only about how to program with Python, I learned more on computational thinking. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://www.coursera.org/course/rprog" target="_blank">R Programming</a> - I skipped a lot lecture videos but enjoyed working on the assignments</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://www.coursera.org/course/bioinform" target="_blank">The Bioinformatics: Life Sciences on Your Computer </a>and <a href="https://www.coursera.org/learn/python" target="_blank">Programming for Everybody (Python) </a>were somehow too basic and not challenging enough. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The Quantitative Biology Workshop (7.QBWx), in my opinion, is not very focused and the transition from the learning material to the question is not always smooth. Although I understand that Matlab is widely used in the field of neuroscience, I do hope the course can adopt R or Octave over Matlab as the former two are free software. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-67671055221801845982015-10-21T17:52:00.003+09:002015-10-21T18:12:28.619+09:00 Autism Genetics and Open Science <div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuDXWd6ppdYodEgnb8j2SmPmxIaQPtyRqntaN1Ie-ZklBufVHddVWYQ-VsV9a4Y3rqUGG8zg_ORDvqkuNXNhBYDOyMPU6ZLvu5RuXVR1xkEB0Z7zXS_LrzZc_55YsuzSmt0OPirSJ7PF0/s1600/mssng_hero+2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="355" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuDXWd6ppdYodEgnb8j2SmPmxIaQPtyRqntaN1Ie-ZklBufVHddVWYQ-VsV9a4Y3rqUGG8zg_ORDvqkuNXNhBYDOyMPU6ZLvu5RuXVR1xkEB0Z7zXS_LrzZc_55YsuzSmt0OPirSJ7PF0/s640/mssng_hero+2.jpg" width="640" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
“MSSNG”, a project which aims to sequence the whole-genome of 10,000 autistic individuals and make the data available to the public, was launched by <a href="https://www.autismspeaks.org/" target="_blank">Autism Speaks</a> in collaboration with Google. The name of “MSSNG” is pronounced as “missing”, but has vowels omitted. This deliberate omission reflects the missing puzzle pieces of autism.<br />
<div>
<br /></div>
<div>
The address of the MSSNG website is <a href="http://www.mss.ng/">www.mss.ng</a>, which is easy to remember and hard to forget. This project will make a huge impact in the genetic studies of ASD given its unprecedented sample size and the open access policy. The huge volume of the sequencing data will be hosted in the <a href="https://cloud.google.com/" target="_blank">Google Cloud Platform</a> and can be analyzed with <a href="https://cloud.google.com/genomics/" target="_blank">Google Genomics</a> tool. MSSNG may lead to a major breakthrough in the understanding of the cause, the diagnosis and treatment of the autism. </div>
Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-11952571490609755392015-10-20T15:28:00.002+09:002015-10-20T17:40:00.751+09:002015 ASHG annual meeting in Baltimore - Memo and Thoughts<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGlk7gENPjLjLX8MpL3NPpQTVVaXaX2IIkXDU34q3I4UiLUHygbE6RrejSQGES76VebF96qar65DB8YedrS5nJwgK0Vu9fYdIz4LbDVixWxedkK7_KtxtNwT69gvoB4PLG6Dqgc-Oprc4/s1600/unnamed.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="137" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGlk7gENPjLjLX8MpL3NPpQTVVaXaX2IIkXDU34q3I4UiLUHygbE6RrejSQGES76VebF96qar65DB8YedrS5nJwgK0Vu9fYdIz4LbDVixWxedkK7_KtxtNwT69gvoB4PLG6Dqgc-Oprc4/s640/unnamed.png" width="640" /></a></div>
<!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>JA</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
<w:UseFELayout/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="276">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]-->
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:Cambria;
mso-ascii-font-family:Cambria;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Cambria;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<!--StartFragment-->
<br />
<div class="MsoNormal" style="line-height: 150%; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: "Times New Roman";">I had the
great honor to be a recipient of the traveling grant awarded by the Japanese
Association for Propagation of the Knowledge of Genetics. With this generous
support, I was able to attend the American Society of Human Genetics (ASHG)
2015 annual meeting held in Baltimore from Oct 6th to 10th – one of the most
important and largest meetings for genetic research. The scientific programs
were well organized and covered a wide range of topics from statistical genetics, population genetics, to fundamental research, and extend to clinical applications. The
cutting-edge genome-editing tool Crispr-Cas9 was also highlighted in this
meeting and there was a special session dedicated to the recent advances in this
field; in recognize to the importance of this technology, the prestigious ASHG
Gruber Genetics Prize was awarded to Prof. Emmanuelle Carpenter and Prof.
Jennifer Doudna for their contribution to the discovery and application of the
CRISPR-Cas9 system. In addition, with more than 6500 attendees including
researchers, clinicians and vendors, the meeting also provided premium
opportunities of extending network and establishing future collaborations.<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="line-height: 150%; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Times New Roman;">I was
inspired by a number of exciting studies and also greatly benefit from the
stimulating discussion with other attendees. For me, the most impressive thing I learned is the </span>utility<span style="font-family: Times New Roman;"> of the high-throughput chromosome
conformation capture (Hi-C) data. In the talk titled “The influence of structural variation on genomic
integrity and gene regulation”, Dr. Malte Spielmann from Max Planck Institute for
Molecular Genetics presented his remarkable research on the organization of the mega-base scale
topologically associated domains (TADs) and functional consequence if
the integrity of such genome architecture disrupted. The work “Disruptions
of Topological Chromatin Domains Cause Pathogenic Rewiring of Gene-Enhancer
Interactions” was published in the prestigious journal </span><i style="font-family: 'Times New Roman';">Cell</i><span style="font-family: Times New Roman;"> (</span><a href="http://www.cell.com/cell/references/S0092-8674(15)00377-3" style="font-family: 'Times New Roman';">http://www.cell.com/cell/references/S0092-8674(15)00377-3</a><span style="font-family: Times New Roman;">).
In this study, the researchers found that different forms of structure
variations known as copy number variation (CNV) in the Epha4 locus lead to
different types of limb malformations. With the aid of the Hi-C data, the authors identified 3 TAD in this locus, they hypothesized that CNVs may disrupt local chromatin organization and change the
enhancer-promoter interactions, leading to abnormal expression of the adjacent genes
outside the original TAD - which advocates the concept that enhancer adoption
might be a pathogenesis mechanism. By using CRISPR/Cas9 genome editing, they
created mice with different chromosomal rearrangements found in human patients (the methodology part was published in Cell Report) and showed that if the CNV disrupted a CTCF-associated boundary domain, the
gene located in the neighboring TAD will be unregulated by distal enhancer and
thus lead to the abnormal limb formation. This study demonstrated the chromatin
topology integrity is an essential component for understanding of the molecular
mechanisms of pathogenesis especially related with large chromosomal
variations. In another talk by Rao et al, an extremely high-resolution 3D maps
of human and mouse genome was introduced and there is an accompanying software
to visualize the intensive Hi-C data (</span><a href="http://www.aidenlab.org/juicebox" style="font-family: 'Times New Roman';">http://www.aidenlab.org/juicebox</a><span style="font-family: Times New Roman;">). </span></div>
<div class="MsoNormal" style="line-height: 150%; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: "Times New Roman";">In
addition to above, I found the talk “Epigenetic and transcriptional
dysregulation of oxytocin receptor (Oxtr) in Tet1 methyl cytosine deoxygenate
deficient mouse brain” quite interesting. In this talk, Dr. Tower discovered
that Oxtr was among the top down-regulated genes in the hippocampus of Tet1-/-
mice. Tet1 is a gene with pivotal role in the DNA demethylation in mammals.
They further demonstrated that the down-regulation of Oxtr was mediated by the
hypermethylation of the CpG island (CGI) located within Oxtr exon 3 in Tet1-/-
mice rather than CGI in the promoter region. While CGI hypermethylation was not
observed in ESCs, hypermethylation of exon 3 of Oxtr was detected as early as
E14.5. This suggests TET1 is necessary for preventing hypermethylation of Oxtr
within the first few days post conception in mice. Given the critical role of Oxtr
in social and maternal behavior, they went on to the behavior test and observed impaired maternal care in virgin Tet1-/-
female mice, as evidenced by a longer latency to pup
retrieval and less time spent huddling with the pups. <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="line-height: 150%; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: "Times New Roman";">In the poster
session, basically I visited all posters that have the keywords of either
“autism” or “CNV” in the abstracts. One of the interesting presentations is No.
3123F “Whole-exome sequencing identifies a novel 2.5 kb duplication in INSR in
a patient with Donohue syndrome”. The mutations in gene Insulin Receptor (INSR)
was known to cause Donohue syndrome - a rare disorder characterized by severe
insulin resistance. However, for several patients of Donohue syndrome from the
same family, no mutation was found after standard Sanger sequencing of the
whole INSR gene. To search for other pathogenic mutation, the whole exome
sequencing (WES) was conducted but still no plausible mutation was identified.
At this situation, the authors performed CNV calling and found a 2.5 kb
micro-duplication spanning exon 10-11 of the exact causal gene INSR. Further
analysis revealed this duplication caused the frame-shift of the coding
sequence and resulted in a premature stop codon. To summarize, for WES, it is
recommended to search potential CNV when no promising results obtained from SNV
analysis. In another presentation No. 3138 titled “comprehensive comparative
performance analysis of high-resolution array platforms for genome-wide CNV
detection in humans”, I was surprised to know Affymetrix 6.0 chip outperforms
CytoScan, a chip designed solely for CNV analysis. In poster No. 1755, Kaviar,
a comprehensive public catalog of human variant and genotype frequency was
demonstrated and is accessible at <a href="http://db.systemsbiology.net/kaviar">http://db.systemsbiology.net/kaviar</a>.
This tool combines 31 public data sources and 4622 private whole genome
sequences. It integrates genome variation data from 77,238 unrelated
individuals, including the 1000 Genomes Project's data, UK10K COHORT allele
frequencies representing 3781 individuals, the Exome Aggregation Consortium
(ExAC) 63,000 exomes, and 808 whole genomes from the Alzheimer's Disease
Neuroimaging Initiative (ADNI). In short, it provides a one-stop query engine
when one needs to look up the allele frequency of the rare variant. <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="line-height: 150%; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: "Times New Roman";">I also
participated one poster walk “Genome Structure, Variation, and Function” led by
Prof. Manolis Dermitzakis. He discussed three selected posters and shared his
insights into how genetic variants exerts the influence on gene expression
level. I personally found No. 3173F intriguing. In this comprehensive study of
gene regulating variation, the authors evaluated the variation’s influence on
distal epigenetic modification, mRNA stability, transcription and translation
rate, and ribosome occupancy. They found that as many as 30% of all QTLs that
affect protein expression levels do not appear to affect chromatin-level
traits. Instead, they tend to modulate gene expression levels directly by
affecting splicing and/or RNA decay. <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="line-height: 150%; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: "Times New Roman";">My
personal reflection on this year’s ASHG is that with the trends towards
higher-resolution, higher throughput data (Hi-C, Encode and whole exome/genome
data from thousands of samples), and the availability of the genome-editing
tool to manipulate the genome in cell/animal level. Many challenging biological
hypotheses now can be tested with computational, statistical, experimental
methods and will in turn lead to a better understanding the genetic mechanism
of the biological process such as development and aging, and the pathogenesis
mechanism of diseases. <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: 150%; mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<!--EndFragment-->Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-44009722840019432142015-09-29T21:18:00.000+09:002015-10-03T10:43:52.050+09:00Docker for Bioinformatics and Genetics - Part 3<h3 id="toc_0" style="-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: Helvetica, arial, sans-serif; font-size: 18px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; padding: 0px; position: relative;">
Docker Tutorial Part 3: Build a docker image which contains Birdsuite for CNV analysis</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9CvFk9tbxRQZHkrLB3Zo0H9qcBVBXw3zx3ZGtUwbzBBZjY1I7-Ad8X5D_4pvkBqT37NSgKTdIFqslVVwM9wit68LZn7nfJyugnTcM1jYoPuieUA5tnXYijdqPPdQ3WLjOQnc-ggFkfBY/s1600/Docker.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="95" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9CvFk9tbxRQZHkrLB3Zo0H9qcBVBXw3zx3ZGtUwbzBBZjY1I7-Ad8X5D_4pvkBqT37NSgKTdIFqslVVwM9wit68LZn7nfJyugnTcM1jYoPuieUA5tnXYijdqPPdQ3WLjOQnc-ggFkfBY/s400/Docker.png" width="400" /></a></div>
<ul style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin: 15px 0px; padding-left: 30px;">
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><a href="http://www.psytky03.com/2015/09/docker-for-bioinformatics-and-genetics.html" style="-webkit-print-color-adjust: exact; color: #4183c4; margin-top: 0px;">Part 1: Palying with Docker to deploy genetics software</a></li>
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><a href="http://www.psytky03.com/2015/09/docker-for-bioinformatics-and-genetics_28.html" style="-webkit-print-color-adjust: exact; color: #4183c4; margin-top: 0px;">Part 2: Basci Commands and Running Rstudio Server with Docker</a></li>
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><a href="http://www.psytky03.com/2015/09/docker-for-bioinformatics-and-genetics_29.html" style="-webkit-print-color-adjust: exact; color: #4183c4; margin-top: 0px;">Part 3: Build a docker image which contains Birdsuite - software for CNV analysis</a></li>
</ul>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
The installation of Birdsuite is quite tricky. The software package is a mix of Java, Python, R, and Matlab programs. Several programs are already obsoleted and need extra tweaking. Here I created a docker image which has the Birdsuite installed. The procedure to build the image is available at <a href="https://github.com/psytky03/Birdsuite_with_Docker" style="-webkit-print-color-adjust: exact; color: #4183c4;">this github repo</a>.</div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
To get a copy of this image, simple by typing</div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">docker pull psytky03/birdsuite</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
To use it, first create a container and get inside:</div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">docker run -ti psytky03/birdsuite /bin/bash</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
Run with the test data:</div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">cd /test_data
/birdsuite/birdsuite.sh --basename=test \
--chipType=GenomeWideSNP_6 \
--outputDir=output \
--genderFile=test.gender \
--celFiles=test.cels \
--noLsf \
--apt_probeset_summarize.force</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
Wait the program to finish ;-)</div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
That is all, if without docker, It will take me probably a whole afternoon to install the package on another linux PC. I need to care and worry about all dependencies and enviroment, now if I have the docker image I can simplily run it everywhere. I think docker is really powerful and clears a big problem for reproducible research.</div>
<hr style="-webkit-print-color-adjust: exact; background-color: white; background-image: url(data:image/png; background-position: 0px 0px; background-repeat: repeat no-repeat; border: 0px none; color: #cccccc; font-family: Helvetica, arial, sans-serif; font-size: 14px; height: 4px; padding: 0px;" />
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
Additional:</div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
The Dockerfile used to build the image</div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">FROM ubuntu:14.04
MAINTAINER psytky03 <psytky03@gmail.com>
USER root
ENV bs /birdsuite
RUN apt-get update && apt-get install -y --no-install-recommends \
wget \
python \
build-essential \
make \
gcc \
openjdk-6-jre \
r-base-core \
r-base-dev \
python-numpy \
python-setuptools \
bc \
libxp6 \
&& apt-get clean \
&& apt-get autoremove
# Download birdsuite_executable files
RUN mkdir $bs \
&& wget http://www.broadinstitute.org/ftp/pub/mpg/birdsuite/birdsuite_executables_1.5.5.tgz \
&& tar -zxvf birdsuite_executables_1.5.5.tgz -C $bs \
&& rm birdsuite_executables_1.5.5.tgz \
&& rm $bs/birdsuite.sh $bs/run_birdseye.sh
RUN wget https://dl.dropboxusercontent.com/u/964493/additional.tar.gz \
&& tar -zxvf additional.tar.gz \
&& rm additional.tar.gz \
&& mv METADATADIR.tar.gz $bs/ \
&& tar -zxvf $bs/METADATADIR.tar.gz -C $bs \
&& rm $bs/METADATADIR.tar.gz \
&& mv addon/* $bs/ \
&& chmod 755 $bs/MCRInstaller.75.glnxa64.bin \
$bs/apt-probeset-summarize.64 \
$bs/birdsuite.sh \
$bs/run_birdseye.sh \
&& $bs/MCRInstaller.75.glnxa64.bin -P bean421.installLocation="/birdsuite/MCR75_glnxa64" -silent \
&& rm $bs/MCRInstaller.75.glnxa64.bin \
&& mkdir test_data data \
&& tar -zxvf birdsuite_inputs_1.5.5.tgz -C test_data \
&& rm birdsuite_inputs_1.5.5.tgz
# Install Python tools
WORKDIR $bs
RUN sudo python install.py -e /usr/bin/easy_install
RUN sudo easy_install birdsuite-1.0-py2.5.egg ; exit 0
RUN sudo easy_install mpgutils-0.7-py2.5.egg ; exit 0
RUN sudo ln -s /usr/local/bin/* . \
&& rm *.egg \
&& rm *.py
# Install R packages
#
RUN wget --no-check-certificate https://cran.r-project.org/src/contrib/mclust_5.0.2.tar.gz \
&& sudo R CMD INSTALL mclust_5.0.2.tar.gz \
&& rm mclust_5.0.2.tar.gz
RUN tar -xvf broadgap.utils_1.0.tar.gz \
\
# Fix broadgap.utils
&& cd broadgap.utils \
&& rm -r man \
&& cd .. \
&& R CMD build broadgap.utils \
\
# Fix broadgap.cnputils
&& tar -xvf broadgap.cnputils_1.0.tar.gz \
&& cd broadgap.cnputils/ \
&& echo 'exportPattern( "." )' > NAMESPACE \
&& cd .. \
&& R CMD build broadgap.cnputils \
\
# Fix broadgap.canary
&& tar -xvf broadgap.canary_1.0.tar.gz \
&& cd broadgap.canary/ \
&& echo 'exportPattern( "." )' > NAMESPACE \
&& cd .. \
&& R CMD build broadgap.canary \
&& rm -r broadgap.utils broadgap.cnputils broadgap.canary \
&& R CMD INSTALL -l $bs broadgap.utils_1.0.tar.gz \
&& R CMD INSTALL -l $bs broadgap.cnputils_1.0.tar.gz \
&& R CMD INSTALL -l $bs broadgap.canary_1.0.tar.gz \
&& rm -f broadgap.utils_1.0.tar.gz broadgap.cnputils_1.0.tar.gz broadgap.canary_1.0.tar.gz
WORKDIR /</code></pre>
Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-43454221144083745252015-09-28T12:38:00.001+09:002015-10-02T11:36:49.311+09:00Docker for Bioinformatics and Genetics - Part 2<h3 id="toc_0" style="-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: Helvetica, arial, sans-serif; font-size: 18px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; padding: 0px; position: relative;">
Docker Tutorial Part 2: Basci Commands and Running Rstudio Server with Docker</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9CvFk9tbxRQZHkrLB3Zo0H9qcBVBXw3zx3ZGtUwbzBBZjY1I7-Ad8X5D_4pvkBqT37NSgKTdIFqslVVwM9wit68LZn7nfJyugnTcM1jYoPuieUA5tnXYijdqPPdQ3WLjOQnc-ggFkfBY/s1600/Docker.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="95" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9CvFk9tbxRQZHkrLB3Zo0H9qcBVBXw3zx3ZGtUwbzBBZjY1I7-Ad8X5D_4pvkBqT37NSgKTdIFqslVVwM9wit68LZn7nfJyugnTcM1jYoPuieUA5tnXYijdqPPdQ3WLjOQnc-ggFkfBY/s400/Docker.png" width="400" /></a></div>
<ul style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin: 15px 0px; padding-left: 30px;">
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><a href="http://www.psytky03.com/2015/09/docker-for-bioinformatics-and-genetics.html" style="-webkit-print-color-adjust: exact; color: #4183c4; margin-top: 0px;">Part 1: Palying with Docker to deploy genetics software</a></li>
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><a href="http://www.psytky03.com/2015/09/docker-for-bioinformatics-and-genetics_28.html" style="-webkit-print-color-adjust: exact; color: #4183c4; margin-top: 0px;">Part 2: Basci Commands and Running Rstudio Server with Docker</a></li>
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><a href="http://www.psytky03.com/2015/09/docker-for-bioinformatics-and-genetics_29.html" style="-webkit-print-color-adjust: exact; color: #4183c4; margin-top: 0px;">Part 3: Build a docker image which contains Birdsuite - software for CNV analysis</a></li>
</ul>
<h4 id="toc_1" style="-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: Helvetica, arial, sans-serif; font-size: 16px; margin: 20px 0px 10px; padding: 0px; position: relative;">
1. Basic docker commands</h4>
<ul style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin: 15px 0px; padding-left: 30px;">
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><div style="-webkit-print-color-adjust: exact; margin-bottom: 15px;">
<code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker ps</code> shows curretently running container</div>
</li>
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><div style="-webkit-print-color-adjust: exact; margin-bottom: 15px;">
<code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker ps -a</code><br />
This command will show all containers available in the system. You will see there are quite a number of containers accuumlated. </div>
</li>
</ul>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">psytky03@ubuntu:~$ docker ps -a
CONTAINER ID IMAGE COMMAND
73af7edafa08 psytky03/eigandplink "plink --file data/to"
5d37644676f5 psytky03/eigandplink "plink --file data/to"
f85336ec937f psytky03/eigandplink "eigenstrat"
0bd8bff7af23 psytky03/eigandplink "bash"
08f6a6f41583 psytky03/eigandplink "bash"
c3e1e1645e1a psytky03/eigandplink "plink --help"
cc592b883668 psytky03/eigandplink "plink -v"
f9873e947389 ubuntu "bash"
43c5be566760 hello-world "/hello" </code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
*<code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker rm CONTAINER_ID</code> to delete unused constainer</div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">psytky03@ubuntu:~$ docker rm 73af7edafa08
73af7edafa08</code></pre>
<ul style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin: 15px 0px; padding-left: 30px;">
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker run -rm</code> to automatically delete the container after it exited </li>
</ul>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">psytky03@ubuntu:~$ docker run -ti --rm psytky03/eigandplink /bin/bash
root@44914cfcfd57:/# exit
exit
#Now let's try to delete this container with id 44914cfcfd57
psytky03@ubuntu:~$ docker rm 44914cfcfd57
Error response from daemon: no such id: 44914cfcfd57
Error: failed to remove containers: [44914cfcfd57]</code></pre>
<ul style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin: 15px 0px; padding-left: 30px;">
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker images</code> to show all images in the system</li>
</ul>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">psytky03@ubuntu:~$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
psytky03/eigandplink latest 6fd94c3b6e6e 38 hours ago 392.7 MB
ubuntu latest 91e54dfb1179 5 weeks ago 188.4 MB
hello-world latest af340544ed62 7 weeks ago 960 B</code></pre>
<ul style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin: 15px 0px; padding-left: 30px;">
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker rmi IMAGE_ID</code> to delete the image. Noticed that if a container is created fromt the image, need to either delete the container or force delete.</li>
</ul>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">psytky03@ubuntu:~$ docker rmi af340544ed62
Error response from daemon: Conflict, cannot delete af340544ed62 because the container 43c5be566760 is using it, use -f to force
Error: failed to remove images: [af340544ed62]
psytky03@ubuntu:~$ docker rm 43c5be566760
43c5be566760
psytky03@ubuntu:~$ docker rmi af340544ed62
Untagged: hello-world:latest
Deleted: af340544ed62de0680f441c71fa1a80cb084678fed42bae393e543faea3a572c
Deleted: 535020c3e8add9d6bb06e5ac15a261e73d9b213d62fb2c14d752b8e189b2b912
</code></pre>
<ul style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin: 15px 0px; padding-left: 30px;">
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker pull</code> to fetch the image from the dockerhub. </li>
</ul>
<h4 id="toc_2" style="-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: Helvetica, arial, sans-serif; font-size: 16px; margin: 20px 0px 10px; padding: 0px; position: relative;">
2. Pull Rstudio Server image from DockerHub</h4>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
The Rstudio server image can be fetched from Dockerhub at <a href="https://hub.docker.com/r/rocker/rstudio/" style="-webkit-print-color-adjust: exact; color: #4183c4;">this link rocker/rstudio</a>.<br />
<br style="-webkit-print-color-adjust: exact;" />
Since <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">rocker/rstudio</code> is not avilable in this linux system now, if we use <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker run rocker/rstudio</code>, docker will by default look for this image in dockerhub and download it this image can be found. </div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
Here we use <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker pull</code> to fetch it first</div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
<code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker pull rocker/rstudio</code></div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">psytky03@ubuntu:~$ docker pull rocker/rstudio
Using default tag: latest
latest: Pulling from rocker/rstudio
acdec9ec413b: Pull complete
37cbf6c3413f: Pull complete
7fc523e9982e: Pull complete
359b980a72ed: Pull complete
01c4f8f74e82: Pull complete
46ac2c9f1a72: Pull complete
2c218622f9d2: Pull complete
a01f119d835b: Pull complete
a5688ed074d1: Pull complete
1e631da06610: Pull complete
27866ec542bc: Pull complete
ac88bcc53e01: Pull complete
061029545a15: Pull complete
be5e2022c62b: Pull complete
776ce8e1ace5: Pull complete
5608458f8ff4: Pull complete
0948d1536ce1: Pull complete
88b0e66f47b7: Pull complete
62c92c006919: Pull complete
20c2eeb79e8b: Pull complete
7b226db5341a: Pull complete
88c331104d7a: Pull complete
eafb6b5866c1: Pull complete
e19a7c84d5f1: Pull complete
Digest: sha256:488f7c427a970b1d11424e8c8a01269e132d41ee1913a6bfadb97c4105fc2719
Status: Downloaded newer image for rocker/rstudio:latest
</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
Confirm it with <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker images</code></div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">psytky03@ubuntu:~$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
psytky03/eigandplink latest 6fd94c3b6e6e 39 hours ago 392.7 MB
rocker/rstudio latest e19a7c84d5f1 4 days ago 1.343 GB
ubuntu latest 91e54dfb1179 5 weeks ago 188.4 MB</code></pre>
<h4 id="toc_3" style="-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: Helvetica, arial, sans-serif; font-size: 16px; margin: 20px 0px 10px; padding: 0px; position: relative;">
3. Run Rstudio Server</h4>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
Here we use <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker run -d -p 8888:8787 rocker/rstudio</code> to create a container and execute it.</div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
The <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">-d</code> indicate we run it in <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">background mode</code> like a web application.<br />
<br style="-webkit-print-color-adjust: exact;" />
The <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">-p</code> tells docker how we are going to map port between the host and container. <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">Rstudio Server</code> use <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">8787</code> as its default port and here we map it to 8888 in the host. </div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">psytky03@ubuntu:~$ docker run -d -p 8888:8787 rocker/rstudio
0d1a38402d5ecd68e18276e5e2cd979e21f255e3c2b3525b9388c9a20501fd6e</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
Have a check of the host Ip address at eth0, my IP is <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">172.16.118.129</code></div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
Type the address <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">172.16.118.129:8888</code> in the web browser of the Mac and you will see this login window</div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
<img alt="Rstudio" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSTIQO_PEEgDue1z0LY7hybvmKNz6D44wntQueacKI3-FurlHiPpFWoxl_lNe5FxhCUMNYJ_El3TQNgj8CgvSgC3snCXyVxE4cfVdgYd1jJRMkb1L-VSJe-IR3OTcnDAb3vhsNH8GKt_E/s1600/rsudio-docker.png" style="-webkit-print-color-adjust: exact; max-width: 100%;" /></div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
<strong style="-webkit-print-color-adjust: exact;">log in the system</strong></div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
The username and password are both <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">rstudio</code></div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
Now let's install <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">ggplot2</code> package</div>
<pre class=" language-r" data-language="r" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-r" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">install.packages<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">(</span><span class="token string" style="-webkit-print-color-adjust: exact; color: #669900;">"ggplot2"</span><span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">)</span>
library<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">(</span><span class="token string" style="-webkit-print-color-adjust: exact; color: #669900;">"ggplot2"</span><span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">)</span>
ggplot<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">(</span>diamonds<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">,</span> aes<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">(</span>clarity<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">,</span> fill<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">=</span>cut<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">)</span><span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">)</span> <span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">+</span> geom_bar<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">(</span><span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">)</span></code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
awesome, seems everything is running great.</div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
<strong style="-webkit-print-color-adjust: exact;">Now let's stop this container using <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker stop</code>command</strong>, but first we need to get the container ID with <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker ps</code></div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">psytky03@ubuntu:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED
0d1a38402d5e rocker/rstudio "/usr/bin/supervisord" 20 minutes ago
psytky03@ubuntu:~$ docker stop 0d1a38402d5e
0d1a38402d5e</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
<strong style="-webkit-print-color-adjust: exact;">Start it again</strong></div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">psytky03@ubuntu:~$ docker start 0d1a38402d5e
0d1a38402d5e
</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
Everything is back again. If we want have the ggplot2 library installed in the image file. we need to use the commit command. </div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
<strong style="-webkit-print-color-adjust: exact;">To add the container into the image with <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker commit</code> command</strong></div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">psytky03@ubuntu:~$ docker commit -m "add ggplot2" 0d1a38402d5e rocker/rstudio
28024380329aa1f8fa23499fce8ea3f56233d19eb48a711111584cd4ecff7285
</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 15px; margin-top: 15px;">
It is also possible to show all the intermediate layer information of this image. Similar to snapshot of virtual machine, we can run container from any state by telling docker the image ID. </div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">psytky03@ubuntu:~$ docker history rocker/rstudio
IMAGE CREATED CREATED BY
28024380329a 2 minutes ago /usr/bin/supervisord -c /etc/supervisor/conf.
e19a7c84d5f1 4 days ago /bin/sh -c #(nop) CMD ["/usr/bin/supervisord"
eafb6b5866c1 4 days ago /bin/sh -c #(nop) EXPOSE 8787/tcp
88c331104d7a 4 days ago /bin/sh -c mkdir -p /var/log/supervisor &&
7b226db5341a 4 days ago /bin/sh -c #(nop) COPY file:8294dfdc8c50662db
20c2eeb79e8b 4 days ago /bin/sh -c #(nop) COPY file:df4e748b71577b0ec
62c92c006919 4 days ago /bin/sh -c #(nop) COPY file:674055700f4c6fbee
88b0e66f47b7 4 days ago /bin/sh -c usermod -l rstudio docker && use
0948d1536ce1 4 days ago /bin/sh -c echo '\n\n# Configure httr to perf
5608458f8ff4 4 days ago /bin/sh -c rm -rf /var/lib/apt/lists/ && ap
776ce8e1ace5 4 days ago /bin/sh -c #(nop) ENV LANG=en_US.UTF-8
be5e2022c62b 4 days ago /bin/sh -c #(nop) ENV PATH=/usr/lib/rstudio-s
061029545a15 4 days ago /bin/sh -c #(nop) MAINTAINER "Carl Boettiger
ac88bcc53e01 2 weeks ago /bin/sh -c #(nop) CMD ["R"]
27866ec542bc 2 weeks ago /bin/sh -c apt-get update
1e631da06610 2 weeks ago /bin/sh -c #(nop) ENV R_BASE_VERSION=3.2.2
a5688ed074d1 2 weeks ago /bin/sh -c echo "deb http://http.debian.net/d
a01f119d835b 2 weeks ago /bin/sh -c #(nop) ENV LANG=en_US.UTF-8
2c218622f9d2 2 weeks ago /bin/sh -c #(nop) ENV LC_ALL=en_US.UTF-8
46ac2c9f1a72 2 weeks ago /bin/sh -c echo "en_US.UTF-8 UTF-8" >> /etc/l
01c4f8f74e82 2 weeks ago /bin/sh -c apt-get update
359b980a72ed 2 weeks ago /bin/sh -c useradd docker
7fc523e9982e 2 weeks ago /bin/sh -c #(nop) MAINTAINER "Carl Boettiger
37cbf6c3413f 2 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"]
acdec9ec413b 2 weeks ago /bin/sh -c #(nop) ADD file:9101a1e6d928e77435 </code></pre>
Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-25782164128647547242015-09-26T18:27:00.000+09:002015-10-02T11:38:05.967+09:00Docker for Bioinformatics and Genetics - Part 1<h3 id="toc_0" style="-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: Helvetica, arial, sans-serif; font-size: 18px; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; padding: 0px; position: relative;">
Docker Tutorial 1: Palying with Docker to deploy genetics software</h3>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWYhOTNqVO75GJbHyzWg5iAG0PvtsOpKIQYnLeKaOINnOzemjxI53dotu4pnAdd9TJeIyBnbJxDRqW50rKjH50szgWe74kvL__LYiDbnVK2lsshTGFaHU0FNgzmlBERhdo6Q0E43Sd-lQ/s1600/Docker.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="95" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWYhOTNqVO75GJbHyzWg5iAG0PvtsOpKIQYnLeKaOINnOzemjxI53dotu4pnAdd9TJeIyBnbJxDRqW50rKjH50szgWe74kvL__LYiDbnVK2lsshTGFaHU0FNgzmlBERhdo6Q0E43Sd-lQ/s400/Docker.png" width="400" /></a></div>
</div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
This is a tutorial of using docker to set up bioinforamatics and genetics analysis tools. </div>
<ul style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin: 15px 0px; padding-left: 30px;">
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><a href="http://www.psytky03.com/2015/09/docker-for-bioinformatics-and-genetics.html" style="-webkit-print-color-adjust: exact; color: #4183c4; margin-top: 0px;">Part 1: Palying with Docker to deploy genetics software</a></li>
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><a href="http://www.psytky03.com/2015/09/docker-for-bioinformatics-and-genetics_28.html" style="-webkit-print-color-adjust: exact; color: #4183c4; margin-top: 0px;">Part 2: Basci Commands and Running Rstudio Server with Docker</a></li>
<li style="-webkit-print-color-adjust: exact; margin: 0px;"><a href="http://www.psytky03.com/2015/09/docker-for-bioinformatics-and-genetics_29.html" style="-webkit-print-color-adjust: exact; color: #4183c4; margin-top: 0px;">Part 3: Build a docker image which contains Birdsuite - software for CNV analysis</a></li>
</ul>
<h4 id="toc_1" style="-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: Helvetica, arial, sans-serif; font-size: 16px; margin: 20px 0px 10px; padding: 0px; position: relative;">
1. First let's install the docker</h4>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
The installation procedures can be found in <a href="https://docs.docker.com/installation/ubuntulinux/" style="-webkit-print-color-adjust: exact; color: #4183c4;">Docker's offical userguide for Ubuntu</a>. </div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
I am running the Ubuntu 14.04.03 LTS server version in VMware Fusion Pro. First confirm the Linux Kernel version with <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">uname -r</code> and my return is <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">3.19.0-25-generic</code>. Which will be fine since the prerequirement is version higher than 3.10</div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
The curl is preinstalled in the system, otherwise use <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;"><br style="-webkit-print-color-adjust: exact;" />sudo apt-get install curl</code> to get one. </div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
<strong style="-webkit-print-color-adjust: exact;">The installation of Docker is done in one step</strong></div>
<pre class=" language-bash" data-language="bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">curl <span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">-</span>sSL https<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">:</span><span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span><span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span>get<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">.</span>docker<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">.</span>com<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span> <span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">|</span> sh</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
<strong style="-webkit-print-color-adjust: exact;">Verify the installation from the log message</strong></div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">...
cgroup-lite start/running
Setting up docker-engine (1.8.2-0~trusty) ...
docker start/running, process 3512
Processing triggers for libc-bin (2.19-0ubuntu6.6) ...
Processing triggers for ureadahead (0.100.0-16) ...
+ sudo -E sh -c docker version
Client:
Version: 1.8.2
API version: 1.20
Go version: go1.4.2
Git commit: 0a8c2e3
Built: Thu Sep 10 19:19:00 UTC 2015
OS/Arch: linux/amd64
Server:
Version: 1.8.2
API version: 1.20
Go version: go1.4.2
Git commit: 0a8c2e3
Built: Thu Sep 10 19:19:00 UTC 2015
OS/Arch: linux/amd64
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker psytky03
Remember that you will have to log out and back in for this to take effect!
</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
Create a user groud named <strong style="-webkit-print-color-adjust: exact;">docker</strong> and add the user to this group.</div>
<pre class=" language-bash" data-language="bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;"><span class="token function" style="-webkit-print-color-adjust: exact; color: #dd4a68;">sudo</span> <span class="token function" style="-webkit-print-color-adjust: exact; color: #dd4a68;">usermod</span> <span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">-</span>aG docker psytky03</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
Logout and back again.</div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
<strong style="-webkit-print-color-adjust: exact;">Run a HelloWorld test image</strong></div>
<pre class=" language-bash" data-language="bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">docker run hello<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">-</span>world</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
Here is the output </div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">Hello from Docker.
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com
For more examples and ideas, visit:
https://docs.docker.com/userguide/</code></pre>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">docker run -it ubuntu bash</code></pre>
<h4 id="toc_2" style="-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: Helvetica, arial, sans-serif; font-size: 16px; margin: 20px 0px 10px; padding: 0px; position: relative;">
2. Sign up a DockerHub account</h4>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
Dockerhub is similar to the concept of github for pushing and pulling docker images</div>
<pre class=" language-http" data-language="http" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-http" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;"><span class="token keyword" style="-webkit-print-color-adjust: exact; color: #0077aa;">https:</span>//hub.docker.com/login/</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
Here I got a username as "psytky03"</div>
<h4 id="toc_3" style="-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: Helvetica, arial, sans-serif; font-size: 16px; margin: 20px 0px 10px; padding: 0px; position: relative;">
3. Make the first Dockerfile</h4>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
Dockerfile is the blueprint to tell docker how to create an image. It contains the basic information such as which platform the image is based on, a full collection of the commands for installation of the software, the system path et.c </div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
Here I am going to install two tools: the latest <a href="https://github.com/DReichLab/EIG" style="-webkit-print-color-adjust: exact; color: #4183c4;">Eigensoft</a> ver 6.01 for pricinple component analysis (PCA) and <a href="https://www.cog-genomics.org/plink2" style="-webkit-print-color-adjust: exact; color: #4183c4;">Plink</a> ver 1.9. </div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
The contents of this dockerfile looks like this</div>
<pre class=" language-docker" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-docker" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">FROM ubuntu
MAINTAINER Psytky03
RUN sudo apt-get update
RUN sudo apt-get -y install wget git unzip
RUN sudo apt-get -y install libgsl0ldbl gfortran-4.4
RUN git clone https://github.com/DReichLab/EIG.git
RUN sudo apt-get -y install wget unzip python
RUN wget https://www.cog-genomics.org/static/bin/plink150903/plink_linux_x86_64.zip
RUN unzip plink_linux_x86_64.zip -d plinkbin
ENV PATH $PATH:/EIG/bin:/plinkbin
RUN mkdir data
</code></pre>
<h4 id="toc_4" style="-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: Helvetica, arial, sans-serif; font-size: 16px; margin: 20px 0px 10px; padding: 0px; position: relative;">
4. Build the Docker image</h4>
<pre class=" language-bash" data-language="bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;"><span class="token function" style="-webkit-print-color-adjust: exact; color: #dd4a68;">mkdir</span> my_first_docker_image
<span class="token function" style="-webkit-print-color-adjust: exact; color: #dd4a68;">cd</span> my_first_docker_image<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span>
<span class="token function" style="-webkit-print-color-adjust: exact; color: #dd4a68;">nano</span> Dockerfile
<span class="token comment" spellcheck="true" style="-webkit-print-color-adjust: exact; color: slategrey;">#Copy and Paste contents list in section 3</span>
docker build <span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">-</span>t psytky03<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span>eigandplink <span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">.</span></code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
It will take for a while, finally the log report shows the image is built without error</div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">Successfully built 87f7aefa7968</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
<strong style="-webkit-print-color-adjust: exact;">Check the built image with <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker images</code> command</strong></div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">docker images
------------------------------------------------------------------------------------------
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
psytky03/eigandplink latest 6fd94c3b6e6e 3 minutes ago 392.7 MB
ubuntu latest 91e54dfb1179 5 weeks ago 188.4 MB
hello-world latest af340544ed62 7 weeks ago 960 B</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
The size of this image is 392 MB</div>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
<strong style="-webkit-print-color-adjust: exact;">Verify the Eigensoft and Plink</strong></div>
<pre class=" language-bash" data-language="bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">docker run psytky03<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span>eigandplink plink <span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">--</span><span class="token function" style="-webkit-print-color-adjust: exact; color: #dd4a68;">help</span>
docker run psytky03<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span>eigandplink eigenstrat
<span class="token comment" spellcheck="true" style="-webkit-print-color-adjust: exact; color: slategrey;"># To get into the image file</span>
docker run <span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">-</span>it psytky03<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span>eigandplink <span class="token function" style="-webkit-print-color-adjust: exact; color: #dd4a68;">bash</span>
<span class="token comment" spellcheck="true" style="-webkit-print-color-adjust: exact; color: slategrey;"># To check all docker image/container info</span>
docker <span class="token function" style="-webkit-print-color-adjust: exact; color: #dd4a68;">ps</span> <span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">-</span>a
</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
<strong style="-webkit-print-color-adjust: exact;">Run Plink with data in the host machine</strong></div>
<pre class=" language-bash" data-language="bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;"><span class="token comment" spellcheck="true" style="-webkit-print-color-adjust: exact; color: slategrey;">#First let's grab some test files shipped with Plink</span>
<span class="token function" style="-webkit-print-color-adjust: exact; color: #dd4a68;">wget</span> https<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">:</span><span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span><span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span>www<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">.</span>cog<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">-</span>genomics<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">.</span>org<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span>static<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span>bin<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span>plink150903<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span>plink_linux_x86_64<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">.</span><span class="token function" style="-webkit-print-color-adjust: exact; color: #dd4a68;">zip</span>
unzip plink_linux_x86_64<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">.</span><span class="token function" style="-webkit-print-color-adjust: exact; color: #dd4a68;">zip</span> <span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">-</span>d plink1<span class="token punctuation" style="-webkit-print-color-adjust: exact; color: #999999;">.</span>9
</code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
Now we use <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">docker run -v</code> to bridge the folder in the host machine to the <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">data</code> folder in the container:</div>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">docker run -v /home/psytky03/plink1.9:/data psytky03/eigandplink \
plink --file data/toy --make-bed --out data/test </code></pre>
<div style="-webkit-print-color-adjust: exact; background-color: white; font-family: Helvetica, arial, sans-serif; font-size: 14px; margin-bottom: 15px; margin-top: 15px;">
Check the <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">plink1.9</code> folder and you should be able to see the <code style="-webkit-print-color-adjust: exact; background-color: #f8f8f8; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(234, 234, 234); margin: 0px 2px; padding: 0px 5px; white-space: nowrap;">test.bed test.bim test.fam</code> files. </div>
<h4 id="toc_5" style="-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: Helvetica, arial, sans-serif; font-size: 16px; margin: 20px 0px 10px; padding: 0px; position: relative;">
5. Push the image to DockerHub</h4>
<pre class=" language-bash" data-language="bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-bash" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">docker login
<span class="token comment" spellcheck="true" style="-webkit-print-color-adjust: exact; color: slategrey;">#Login Succeeded</span>
docker push psytky03<span class="token operator" style="-webkit-print-color-adjust: exact; background-color: rgba(255, 255, 255, 0.498039); background-position: initial initial; background-repeat: initial initial; color: #a67f59;">/</span>eigandplink</code></pre>
<h4 id="toc_6" style="-webkit-font-smoothing: antialiased; -webkit-print-color-adjust: exact; background-color: white; cursor: text; font-family: Helvetica, arial, sans-serif; font-size: 16px; margin: 20px 0px 10px; padding: 0px; position: relative;">
6. Pull back the image at another Linux machine</h4>
<pre class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: #f5f2f0; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: 1px solid rgb(204, 204, 204); direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; font-size: 13px; line-height: 1.5; margin-bottom: 0.5em; margin-top: 0.5em; overflow: auto; padding: 1em; position: relative; tab-size: 4; text-shadow: white 0px 1px; word-break: normal;"><code class=" language-none" style="-webkit-hyphens: none; -webkit-print-color-adjust: exact; background-color: transparent; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; border-top-left-radius: 3px; border-top-right-radius: 3px; border: none; direction: ltr; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; line-height: 1.5; margin: 0px; padding: 0px; tab-size: 4; text-shadow: white 0px 1px; word-break: normal; word-spacing: normal;">docker pull psytky03/eigandplink</code></pre>
Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-34672441378422869992015-09-26T11:23:00.002+09:002015-09-30T00:00:11.136+09:00Where to Sell English Book In JapanSome while ago I finally decided to sell some of textbook/non-ficition/technical books to save space for my tiny apartment.<br />
<br />
The books are mostly English and I am not sure whether the local Japanese secondhand bookstore will accept them or not. I first visited a nearby BookOff - a popular secondhand dealer in Japan specializing in book, CD, movie, and game software. I was immediately turned down and the staff told me only the large store in Ikebukuro can accept those non-Japanese books. Since I was almost near the station and I make my way to Ikebukuro, this store did accept those books but only offer tiny amount of money for each book (10 - 500 JPY) which is ridiculous.<br />
<br />
At this situation, I searched whether I can sell them online and eventually put all my book in Amazon.co.jp. The whole process is super easy and another good thing is I can set the price. After 3 months, I finally sold more than half of my books and got nearly 30K.Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-62752738914344742812015-09-17T03:00:00.000+09:002015-10-03T10:47:32.138+09:00Installation of Gbrowse Syn on CentOS 6.6 for Human Mouse synteny mapping <html>
<head>
<style type="text/css">
body {
font-family: Helvetica, arial, sans-serif;
font-size: 14px;
line-height: 1.6;
padding-top: 10px;
padding-bottom: 10px;
background-color: white;
padding: 30px; }
body > *:first-child {
margin-top: 0 !important; }
body > *:last-child {
margin-bottom: 0 !important; }
a {
color: #4183C4; }
a.absent {
color: #cc0000; }
a.anchor {
display: block;
padding-left: 30px;
margin-left: -30px;
cursor: pointer;
position: absolute;
top: 0;
left: 0;
bottom: 0; }
h1, h2, h3, h4, h5, h6 {
margin: 20px 0 10px;
padding: 0;
font-weight: bold;
-webkit-font-smoothing: antialiased;
cursor: text;
position: relative; }
h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor {
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA09pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoMTMuMCAyMDEyMDMwNS5tLjQxNSAyMDEyLzAzLzA1OjIxOjAwOjAwKSAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUM2NjlDQjI4ODBGMTFFMTg1ODlEODNERDJBRjUwQTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUM2NjlDQjM4ODBGMTFFMTg1ODlEODNERDJBRjUwQTQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5QzY2OUNCMDg4MEYxMUUxODU4OUQ4M0REMkFGNTBBNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5QzY2OUNCMTg4MEYxMUUxODU4OUQ4M0REMkFGNTBBNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsQhXeAAAABfSURBVHjaYvz//z8DJYCRUgMYQAbAMBQIAvEqkBQWXI6sHqwHiwG70TTBxGaiWwjCTGgOUgJiF1J8wMRAIUA34B4Q76HUBelAfJYSA0CuMIEaRP8wGIkGMA54bgQIMACAmkXJi0hKJQAAAABJRU5ErkJggg==) no-repeat 10px center;
text-decoration: none; }
h1 tt, h1 code {
font-size: inherit; }
h2 tt, h2 code {
font-size: inherit; }
h3 tt, h3 code {
font-size: inherit; }
h4 tt, h4 code {
font-size: inherit; }
h5 tt, h5 code {
font-size: inherit; }
h6 tt, h6 code {
font-size: inherit; }
h1 {
font-size: 28px;
color: black; }
h2 {
font-size: 24px;
border-bottom: 1px solid #cccccc;
color: black; }
h3 {
font-size: 18px; }
h4 {
font-size: 16px; }
h5 {
font-size: 14px; }
h6 {
color: #777777;
font-size: 14px; }
p, blockquote, ul, ol, dl, li, table, pre {
margin: 15px 0; }
hr {
background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAECAYAAACtBE5DAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OENDRjNBN0E2NTZBMTFFMEI3QjRBODM4NzJDMjlGNDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OENDRjNBN0I2NTZBMTFFMEI3QjRBODM4NzJDMjlGNDgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4Q0NGM0E3ODY1NkExMUUwQjdCNEE4Mzg3MkMyOUY0OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4Q0NGM0E3OTY1NkExMUUwQjdCNEE4Mzg3MkMyOUY0OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqqezsUAAAAfSURBVHjaYmRABcYwBiM2QSA4y4hNEKYDQxAEAAIMAHNGAzhkPOlYAAAAAElFTkSuQmCC) repeat-x 0 0;
border: 0 none;
color: #cccccc;
height: 4px;
padding: 0;
}
body > h2:first-child {
margin-top: 0;
padding-top: 0; }
body > h1:first-child {
margin-top: 0;
padding-top: 0; }
body > h1:first-child + h2 {
margin-top: 0;
padding-top: 0; }
body > h3:first-child, body > h4:first-child, body > h5:first-child, body > h6:first-child {
margin-top: 0;
padding-top: 0; }
a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
margin-top: 0;
padding-top: 0; }
h1 p, h2 p, h3 p, h4 p, h5 p, h6 p {
margin-top: 0; }
li p.first {
display: inline-block; }
li {
margin: 0; }
ul, ol {
padding-left: 30px; }
ul :first-child, ol :first-child {
margin-top: 0; }
dl {
padding: 0; }
dl dt {
font-size: 14px;
font-weight: bold;
font-style: italic;
padding: 0;
margin: 15px 0 5px; }
dl dt:first-child {
padding: 0; }
dl dt > :first-child {
margin-top: 0; }
dl dt > :last-child {
margin-bottom: 0; }
dl dd {
margin: 0 0 15px;
padding: 0 15px; }
dl dd > :first-child {
margin-top: 0; }
dl dd > :last-child {
margin-bottom: 0; }
blockquote {
border-left: 4px solid #dddddd;
padding: 0 15px;
color: #777777; }
blockquote > :first-child {
margin-top: 0; }
blockquote > :last-child {
margin-bottom: 0; }
table {
padding: 0;border-collapse: collapse; }
table tr {
border-top: 1px solid #cccccc;
background-color: white;
margin: 0;
padding: 0; }
table tr:nth-child(2n) {
background-color: #f8f8f8; }
table tr th {
font-weight: bold;
border: 1px solid #cccccc;
margin: 0;
padding: 6px 13px; }
table tr td {
border: 1px solid #cccccc;
margin: 0;
padding: 6px 13px; }
table tr th :first-child, table tr td :first-child {
margin-top: 0; }
table tr th :last-child, table tr td :last-child {
margin-bottom: 0; }
img {
max-width: 100%; }
span.frame {
display: block;
overflow: hidden; }
span.frame > span {
border: 1px solid #dddddd;
display: block;
float: left;
overflow: hidden;
margin: 13px 0 0;
padding: 7px;
width: auto; }
span.frame span img {
display: block;
float: left; }
span.frame span span {
clear: both;
color: #333333;
display: block;
padding: 5px 0 0; }
span.align-center {
display: block;
overflow: hidden;
clear: both; }
span.align-center > span {
display: block;
overflow: hidden;
margin: 13px auto 0;
text-align: center; }
span.align-center span img {
margin: 0 auto;
text-align: center; }
span.align-right {
display: block;
overflow: hidden;
clear: both; }
span.align-right > span {
display: block;
overflow: hidden;
margin: 13px 0 0;
text-align: right; }
span.align-right span img {
margin: 0;
text-align: right; }
span.float-left {
display: block;
margin-right: 13px;
overflow: hidden;
float: left; }
span.float-left span {
margin: 13px 0 0; }
span.float-right {
display: block;
margin-left: 13px;
overflow: hidden;
float: right; }
span.float-right > span {
display: block;
overflow: hidden;
margin: 13px auto 0;
text-align: right; }
code, tt {
margin: 0 2px;
padding: 0 5px;
white-space: nowrap;
border: 1px solid #eaeaea;
background-color: #f8f8f8;
border-radius: 3px; }
pre code {
margin: 0;
padding: 0;
white-space: pre;
border: none;
background: transparent; }
.highlight pre {
background-color: #f8f8f8;
border: 1px solid #cccccc;
font-size: 13px;
line-height: 19px;
overflow: auto;
padding: 6px 10px;
border-radius: 3px; }
pre {
background-color: #f8f8f8;
border: 1px solid #cccccc;
font-size: 13px;
line-height: 19px;
overflow: auto;
padding: 6px 10px;
border-radius: 3px; }
pre code, pre tt {
background-color: transparent;
border: none; }
sup {
font-size: 0.83em;
vertical-align: super;
line-height: 0;
}
* {
-webkit-print-color-adjust: exact;
}
@media screen and (min-width: 914px) {
body {
width: 854px;
margin:0 auto;
}
}
@media print {
table, pre {
page-break-inside: avoid;
}
pre {
word-wrap: break-word;
}
}
</style>
<style type="text/css">
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
direction: ltr;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #a67f59;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
</style>
<style type="text/css">
pre[class*=language-]{position:relative}pre[class*=language-][data-language]::before{content:attr(data-language);color:#000;background-color:#CFCFCF;display:inline-block;position:absolute;top:0;right:0;font-size:.9em;border-radius:0 0 0 5px;padding:0 .5em;text-shadow:none}
</style>
</head>
<body>
<h1 id="toc_0">
Instsllation of Gbrowse-Syn on a CentOS system</h1>
Last updated: 2015-09-16<br />
<h3 id="toc_1">
Prerequisite</h3>
<ul>
<li>A Physical/Virtual machine running on CentOS release 6.6</li>
</ul>
<pre><code class="language-bash">#To confirm the version of CentOS
cat /etc/*release*</code></pre>
<ul>
<li>Internet connection </li>
</ul>
<h3 id="toc_2">
Referenes</h3>
<ol>
<li>http://gmod.org/wiki/GBrowse<em>2.0</em>HOWTO</li>
<li>http://gmod.org/wiki/GBrowse<em>syn</em>Tutorial<em>2013#Installing</em>GBrowse_syn</li>
<li>http://nix-bio.blogspot.jp/2013/10/installing-gbrowse2-on-centos-6-and-mac.html</li>
<li>http://gmod.org/wiki/GBrowse<em>NGS</em>Tutorial</li>
</ol>
<h3 id="toc_3">
Installation</h3>
<h4 id="toc_4">
0. add user to sudoers</h4>
<pre><code class="language-bash">su
visudo
...
# Allow root to run any commands anywhere
#(add this line)
username ALL=(ALL) ALL
exit</code></pre>
<h5 id="toc_5">
1. Apache</h5>
<pre><code class="language-bash">sudo yum -y install httpd httpd-devel</code></pre>
save a copy of original configuation file<br />
<pre><code class="language-bash">sudo cp -i /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.org
sudo cp -i /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org
sudo /etc/init.d/httpd start</code></pre>
check the ip address of the machine and try access at the 80 port<br />
<pre><code class="language-bash">ifconfig</code></pre>
<strong><em>Additional tweak if a static IP is disrired</em></strong><br />
<pre><code class="language-bash">## Configure eth0
# add the static IP
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
# change
BOOTPROTO="dhcp"
# to
BOOTPROTO="static"
# add following lines
IPADDR=192.168.1.2
NETMASK=255.255.255.0
</code></pre>
Configure Default Gateway<br />
<pre><code class="language-bash">sudo nano /etc/sysconfig/network
# replace or add following lines
NETWORKING=yes
HOSTNAME=CentOS_6.6
GATEWAY=192.168.1.1</code></pre>
Restart Network<br />
<pre><code class="language-shell">/etc/init.d/network restart</code></pre>
<h5 id="toc_6">
2. MySQL</h5>
<pre><code class="language-bash">sudo yum -y install mysql mysql-server</code></pre>
Start MySQL<br />
<pre><code class="language-bash">sudo /etc/init.d/mysqld start
</code></pre>
Setup the root password and other stuff<br />
<pre><code class="language-bash">mysql_secure_installation
#memo the root password </code></pre>
Log message<br />
<pre><code class="language-none">NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
... Success!
By default, MySQL comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] n
... skipping.
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!</code></pre>
Enable MySQL and Apache service to run at bootup<br />
<pre><code class="language-bash">sudo chkconfig --levels 235 mysqld on
sudo chkconfig --levels 235 httpd on</code></pre>
<h5 id="toc_7">
3. PHP</h5>
<pre><code class="language-bash">sudo yum -y install php
sudo yum -y install php-mbstring
sudo yum -y install php-mysql
sudo yum -y install php-devel</code></pre>
<strong><em>Additional: PhPMyAdmin</em></strong><br />
<pre><code class="language-bash">sudo rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
sudo yum -y install http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
sudo yum -y install phpmyadmin</code></pre>
Edit the configuation file<br />
<pre><code class="language-none">sudo nano /etc/httpd/conf.d/phpmyadmin.conf</code></pre>
change the following lines<br />
<pre><code class="language-none">#Deny from all
#Allow from 127.0.0.1
Allow from 0.0.0.0</code></pre>
Add secret passphrease<br />
<pre><code class="language-none">sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
sudo chmod 660 /usr/share/phpmyadmin/config.inc.php
sudo yum -y install expect
mkpasswd -l 20
--> Example: Scxjbwdbrftbx83[bHhq
sudo vi /usr/share/phpmyadmin/config.inc.php
$cfg['blowfish_secret'] = 'Scxjbwdbrftbx83[bHhq';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/*
* End of servers configuration
*/
</code></pre>
Restart Apache<br />
<pre><code class="language-none">sudo /etc/init.d/httpd restart</code></pre>
Confirm the installation<br />
<pre><code class="language-http">http://localhost/phpmyadmin/</code></pre>
<h5 id="toc_8">
4. Install neccessary Perl modules</h5>
<pre><code class="language-bash">sudo yum -y install make gcc gmp-devel wget git
##mod_fcgid fcgi-perl (Need to be installed later for fastCGI)
sudo yum -y install perl-GD
sudo yum -y install perl-Module-Build
sudo yum -y install perl-CPAN
sudo yum -y install perl-IO-String perl-Capture-Tiny perl-CGI-Session
sudo yum -y install perl-JSON perl-JSON-Any
sudo yum -y install perl-libwww-perl perl-DBD-SQLite
sudo yum -y install perl-File-NFSLock perl-Net-SMTP-SSL
sudo yum -y install perl-Crypt-SSLeay perl-Net-SSLeay perl-Template-Toolkit</code></pre>
Final Installation<br />
<pre><code class="language-bash">sudo yum -y install inkscape
sudo yum -y install perl-YAML
git clone https://github.com/bioperl/bioperl-live.git
cd bioperl-live
git checkout bioperl-release-1-6-901
perl Build.PL
./Build test
sudo ./Build install
sudo perl -MCPAN -e 'install Bio::Graphics::Browser2'</code></pre>
Configuation step<br />
<pre><code class="language-none">Directory for GBrowse's config and support files? [/etc/gbrowse2]
Directory for GBrowse's static images & HTML files? [/var/www/html/gbrowse2]
Directory for GBrowse's temporary data [/var/tmp/gbrowse2]
Directory for GBrowse's sessions, uploaded tracks and other persistent data [/var/lib/gbrowse2]
Directory for GBrowse's example databases [/var/lib/gbrowse2/databases]
Directory for GBrowse's CGI script executables? [/var/www/cgi-bin] -->> [/var/www/cgi-bin/gb2]
Internet port to run demo web site on (for demo)? [8000]
Apache loadable module directory (for demo)? [/etc/modules] --> [/etc/httpd/modules]
User account under which Apache daemon runs? [apache]
Automatically update Apache config files to run GBrowse? [y]
</code></pre>
<h5 id="toc_9">
5. check the Demo</h5>
<pre><code class="language-http">http://localhost/gbrowse2/</code></pre>
Repair the permission <br />
<pre><code class="language-bash">sudo chown -R *user_name* /var/lib/gbrowse2/databases
sudo chown -R *user_name* /etc/gbrowse2
cd /var/www/html/gbrowse2/tutorial/data_files
cp tutorial/data_files/volvox_remarks.gff3 /var/lib/gbrowse2/databases/volvox</code></pre>
<h5 id="toc_10">
6. Install GBrowse_syn</h5>
<pre><code class="language-bash">cd ..
git clone https://github.com/GMOD/GBrowse.git
cd GBrowse/
perl Build.PL
./Build test
./Build install </code></pre>
Confirm the installation <br />
<pre><code class="language-http">http://localhost/cgi-bin/gb2/gbrowse_syn</code></pre>
<h5 id="toc_11">
7. Prepare the Human-Mouse pairwise alignment data</h5>
<pre><code class="language-http">This directory contains alignments of the following assemblies:
- target/reference: Human (hg19, Feb. 2009 (GRCh37/hg19), GRCh37 Genome Reference Consortium Human Reference 37 (GCA_000001405.1))
- query: Mouse (mm10, Dec. 2011 (GRCm38/mm10), Genome Reference Consortium Mouse Build 38 (GCA_000001635.2))
http://hgdownload.cse.ucsc.edu/goldenPath/hg19/vsMm10/axtNet/</code></pre>
use rsync to fetch a copy <br />
<pre><code class="language-none">mkdir hg19vsMm10_alignment
cd hg19vsMm10_alignment
rsync -a -P rsync://hgdownload.cse.ucsc.edu/goldenPath/hg19/vsMm10/axtNet/* ./
cd .. </code></pre>
<h5 id="toc_12">
8. Convert the format</h5>
The AxtNet format looks like as below<br />
<pre><code class="language-none">1 chrY 150918 150993 chr5 110101042 110101117 + 4971
GACTGGATGTCGGCACTGTGTCCCCGGCTCTGGGATGTGCCCCTCCACCACCTCTCCATCCCAGGTGAGGTTGGGG
GACTGGATGTCGCAGCTGTGCCCTCAGCTGTGGGATGTCCCCCTGCACCACCTGTCCATCCCAGGTGAGTACGGGG</code></pre>
The desired format that can be handled by <code>load_alignment_database.pl</code> is <br />
<pre><code class="language-none">#species1 seqid1 start1 end1 strand1 reserved species2 seqid2 start2 end2 strand2 reserved pos1-1 pos1-2 ... posn-1 posn-2 | pos1-2 pos1-1 ... posn-2 posn-1
c_briggsae chrI 1583997 1590364 + . c_remanei Crem_Contig24 631879 634679 - . 1584000 634676 1584100 634584 (truncated...) | 631900 1590333 632000 1590233 (truncated ...)</code></pre>
<h5 id="toc_13">
9. The GFF3 annotation file for Hg19 and Mm10</h5>
Basic information about the annotation<br />
<pre><code class="language-http">Human GFF3: Release 19 (GRCh37.p13)
http://www.gencodegenes.org/releases/19.html
Mouse GFF3: Release M6 (GRCm38.p4)
http://www.gencodegenes.org/mouse_releases/current.html</code></pre>
Fetch the data<br />
<pre><code class="language-bash">mkdir GFF3
cd GFF3
wget ftp://ftp.sanger.ac.uk/pub/gencode/Gencode_human/release_19/gencode.v19.annotation.gff3.gz -O hg19.gff3.gz
wget ftp://ftp.sanger.ac.uk/pub/gencode/Gencode_mouse/release_M6/gencode.vM6.annotation.gff3.gz -O mm10.gff3.gz
gunzip hg19.gff3.gz
gunzip mm10.gff3.gz</code></pre>
<h5 id="toc_14">
10. Load to the MySQL database</h5>
<pre><code class="language-none">mysql -uroot -p</code></pre>
Create database<br />
<pre><code class="language-sql">create database hg19;
create database mm10;
create database hg19mm10synteny;
quit;</code></pre>
Parse and upload to the MySQL database<br />
<pre><code class="language-bash">bp_seqfeature_load.pl -u root -p ****** -d hg19 -c -f hg19.gff3
bp_seqfeature_load.pl -u root -p ****** -d mm10 -c -f mm10.gff3
</code></pre>
Part of the log output<br />
<pre><code class="language-none">loading hg19.gff3...
Building object tree...62.91s02.94s
Loading bulk data into database.../tmp/feature.44907
/tmp/name.44907
/tmp/attribute.44907
/tmp/parent2child.44907
338.07s
load time: 2003.95s
Building summary statistics for coverage graphs...
2612000 features processed
coverage graph build time: 723.74s
total load time: 2727.69s
----------------------------------------------------------------------
loading mm9.gff3...
Building object tree...24.78s2.97s
Loading bulk data into database.../tmp/feature.45166
/tmp/name.45166
/tmp/attribute.45166
/tmp/parent2child.45166
206.92s
load time: 1124.70s
Building summary statistics for coverage graphs...
1537000 features processed
coverage graph build time: 469.13s
total load time: 1593.83s</code></pre>
Prepare <code>hg19.conf</code><br />
<pre><code class="language-none">[GENERAL]
description = Home sapiens
db_adaptor = Bio::DB::SeqFeature::Store
db_args = -dsn dbi:mysql:hg19
tmpimages = /tmp/gbrowse2
[CG]
label = 1
description = 1
feature = mRNA
category = Genes
glyph = processed_transcript
font2color = blue
height = 6
key = Gene Models
bgcolor = sub {
my $flip = pop->panel->flip;
my $strand = shift->strand;
return $strand < 0 ? 'violet' : 'turquoise' if $flip;
return $strand > 0 ? 'violet' : 'turquoise';
}
# draw genes differently for segments > 100Kb
[CG:100001]
label = 0
description = 0
glyph = generic
strand_arrow = 1</code></pre>
Prepare <code>mm10.conf</code><br />
<pre><code class="language-none">[GENERAL]
description = Mus musculus
db_adaptor = Bio::DB::SeqFeature::Store
db_args = -dsn dbi:mysql:mm10
tmpimages = /tmp/gbrowse2
[CG]
label = 1
description = 1
feature = mRNA
category = Genes
glyph = processed_transcript
font2color = blue
height = 6
key = Gene Models
bgcolor = sub {
my $flip = pop->panel->flip;
my $strand = shift->strand;
return $strand < 0 ? 'violet' : 'turquoise' if $flip;
return $strand > 0 ? 'violet' : 'turquoise';
}
# draw genes differently for segments > 100Kb
[CG:100001]
label = 0
description = 0
glyph = generic
strand_arrow = 1</code></pre>
Prepare the alignment configuation file <code>hg19mm10aln.synconf</code><br />
<pre><code class="language-none">[GENERAL]
description = Hg19 - Mm10 Synteny mapping
# The synteny database
join = dbi:mysql:hg19mm10synteny
# symbolic src config file (".conf") Description
source_map = hg19 hg19 "Homo Sapine"
mm10 mm10 "Mus musculus"
# web site configuration info
tmpimages = /tmp/gbrowse2
imagewidth = 800
stylesheet = /gbrowse2/css/gbrowse_transparent.css
# The extension of species config files
# can also use .syn (the default)
config_extension = conf
# sparse data, use all coordinates
grid coordinates = exact
# example searches to display
examples = hg19 chrX:402000..426999
mm10 chrX:255000..275000
zoom levels = 5000 10000 25000 50000 100000 200000 400000 1000000
# species-specific databases
[hg19]
tracks = CG
color = green
[mm10]
tracks = CG
color = blue</code></pre>
make a test alignment file: <code>testaln.txt</code> <br />
<pre><code class="language-none">hg19 chrX 70345 70614 + . mm10 chr8 35873813 35874094 - .
</code></pre>
Drop to the hg19mm10synteny database<br />
<pre><code class="language-none">gbrowse_syn_load_alignment_database.pl -u root -p ******* -d hg19mm10synteny -c -v testaln.txt
nano hg19.conf
nano mm10.conf
nano hg19mm10aln.synconf
sudo cp *conf /etc/gbrowse2/synteny
sudo mkdir /var/www/html/tmp/
sudo mkdir /var/www/html/tmp/gbrowse2
sudo chmod 777 /var/www/html/tmp/gbrowse2
mysql -uroot -p
CREATE USER 'liuxiaoxi'@'localhost' IDENTIFIED BY '';
GRANT ALL PRIVILEGES ON *.* TO 'liuxiaoxi'@'localhost'
quit;
/var/www/html/gbrowse2/tutorial/data_files</code></pre>
<script type="text/javascript">
var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=_self.Prism={util:{encode:function(e){return e instanceof n?new n(e.type,t.util.encode(e.content),e.alias):"Array"===t.util.type(e)?e.map(t.util.encode):e.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var a={};for(var r in e)e.hasOwnProperty(r)&&(a[r]=t.util.clone(e[r]));return a;case"Array":return e.map&&e.map(function(e){return t.util.clone(e)})}return e}},languages:{extend:function(e,n){var a=t.util.clone(t.languages[e]);for(var r in n)a[r]=n[r];return a},insertBefore:function(e,n,a,r){r=r||t.languages;var i=r[e];if(2==arguments.length){a=arguments[1];for(var l in a)a.hasOwnProperty(l)&&(i[l]=a[l]);return i}var o={};for(var s in i)if(i.hasOwnProperty(s)){if(s==n)for(var l in a)a.hasOwnProperty(l)&&(o[l]=a[l]);o[s]=i[s]}return t.languages.DFS(t.languages,function(t,n){n===r[e]&&t!=e&&(this[t]=o)}),r[e]=o},DFS:function(e,n,a){for(var r in e)e.hasOwnProperty(r)&&(n.call(e,r,e[r],a||r),"Object"===t.util.type(e[r])?t.languages.DFS(e[r],n):"Array"===t.util.type(e[r])&&t.languages.DFS(e[r],n,r))}},highlightAll:function(e,n){for(var a,r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'),i=0;a=r[i++];)t.highlightElement(a,e===!0,n)},highlightElement:function(a,r,i){for(var l,o,s=a;s&&!e.test(s.className);)s=s.parentNode;s&&(l=(s.className.match(e)||[,""])[1],o=t.languages[l]),a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+l,s=a.parentNode,/pre/i.test(s.nodeName)&&(s.className=s.className.replace(e,"").replace(/\s+/g," ")+" language-"+l);var u=a.textContent,c={element:a,language:l,grammar:o,code:u};if(u&&(c.code=u.replace(/^(?:\r?\n|\r)/,"")),!u||!o)return t.hooks.run("complete",c),void 0;if(t.hooks.run("before-highlight",c),r&&_self.Worker){var g=new Worker(t.filename);g.onmessage=function(e){c.highlightedCode=n.stringify(JSON.parse(e.data),l),t.hooks.run("before-insert",c),c.element.innerHTML=c.highlightedCode,i&&i.call(c.element),t.hooks.run("after-highlight",c),t.hooks.run("complete",c)},g.postMessage(JSON.stringify({language:c.language,code:c.code}))}else c.highlightedCode=t.highlight(c.code,c.grammar,c.language),t.hooks.run("before-insert",c),c.element.innerHTML=c.highlightedCode,i&&i.call(a),t.hooks.run("after-highlight",c),t.hooks.run("complete",c)},highlight:function(e,a,r){var i=t.tokenize(e,a);return n.stringify(t.util.encode(i),r)},tokenize:function(e,n){var a=t.Token,r=[e],i=n.rest;if(i){for(var l in i)n[l]=i[l];delete n.rest}e:for(var l in n)if(n.hasOwnProperty(l)&&n[l]){var o=n[l];o="Array"===t.util.type(o)?o:[o];for(var s=0;s<o.length;++s){var u=o[s],c=u.inside,g=!!u.lookbehind,f=0,h=u.alias;u=u.pattern||u;for(var p=0;p<r.length;p++){var d=r[p];if(r.length>e.length)break e;if(!(d instanceof a)){u.lastIndex=0;var m=u.exec(d);if(m){g&&(f=m[1].length);var y=m.index-1+f,m=m[0].slice(f),v=m.length,k=y+v,b=d.slice(0,y+1),w=d.slice(k+1),N=[p,1];b&&N.push(b);var O=new a(l,c?t.tokenize(m,c):m,h);N.push(O),w&&N.push(w),Array.prototype.splice.apply(r,N)}}}}}return r},hooks:{all:{},add:function(e,n){var a=t.hooks.all;a[e]=a[e]||[],a[e].push(n)},run:function(e,n){var a=t.hooks.all[e];if(a&&a.length)for(var r,i=0;r=a[i++];)r(n)}}},n=t.Token=function(e,t,n){this.type=e,this.content=t,this.alias=n};if(n.stringify=function(e,a,r){if("string"==typeof e)return e;if("Array"===t.util.type(e))return e.map(function(t){return n.stringify(t,a,e)}).join("");var i={type:e.type,content:n.stringify(e.content,a,r),tag:"span",classes:["token",e.type],attributes:{},language:a,parent:r};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var l="Array"===t.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,l)}t.hooks.run("wrap",i);var o="";for(var s in i.attributes)o+=s+'="'+(i.attributes[s]||"")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'" '+o+">"+i.content+"</"+i.tag+">"},!_self.document)return _self.addEventListener?(_self.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,r=n.code;_self.postMessage(JSON.stringify(t.util.encode(t.tokenize(r,t.languages[a])))),_self.close()},!1),_self.Prism):_self.Prism;var a=document.getElementsByTagName("script");return a=a[a.length-1],a&&(t.filename=a.src,document.addEventListener&&!a.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)),_self.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=Prism);
</script>
<script type="text/javascript">
Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:/("|')(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(true|false)\b/,"function":/[a-z0-9_]+(?=\()/i,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/,operator:/[-+]{1,2}|!|<=?|>=?|={1,3}|&{1,2}|\|?\||\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/};
</script>
<script type="text/javascript">
Prism.languages.bash=Prism.languages.extend("clike",{comment:{pattern:/(^|[^"{\\])#.*/,lookbehind:!0},string:{pattern:/("|')(\\?[\s\S])*?\1/,inside:{property:/\$([a-zA-Z0-9_#\?\-\*!@]+|\{[^\}]+\})/}},number:{pattern:/([^\w\.])-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/,lookbehind:!0},"function":/\b(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|cut|date|dc|dd|ddrescue|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)\b/,keyword:/\b(if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)\b/}),Prism.languages.insertBefore("bash","keyword",{property:/\$([a-zA-Z0-9_#\?\-\*!@]+|\{[^}]+\})/}),Prism.languages.insertBefore("bash","comment",{important:/^#!\s*\/bin\/bash|^#!\s*\/bin\/sh/});
</script>
<script type="text/javascript">
Prism.languages.sql={comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|((--)|(\/\/)|#).*?(\r?\n|$))/,lookbehind:!0},string:{pattern:/(^|[^@])("|')(\\?[\s\S])*?\2/,lookbehind:!0},variable:/@[\w.$]+|@("|'|`)(\\?[\s\S])+?\1/,"function":/\b(?:COUNT|SUM|AVG|MIN|MAX|FIRST|LAST|UCASE|LCASE|MID|LEN|ROUND|NOW|FORMAT)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALTER|ANALYZE|APPLY|AS|ASC|AUTHORIZATION|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADE|CASCADED|CASE|CHAIN|CHAR VARYING|CHARACTER VARYING|CHECK|CHECKPOINT|CLOSE|CLUSTERED|COALESCE|COLUMN|COLUMNS|COMMENT|COMMIT|COMMITTED|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CREATE|CROSS|CURRENT|CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_USER|CURSOR|DATA|DATABASE|DATABASES|DATETIME|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DOUBLE PRECISION|DROP|DUMMY|DUMP|DUMPFILE|DUPLICATE KEY|ELSE|ENABLE|ENCLOSED BY|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPE|ESCAPED BY|EXCEPT|EXEC|EXECUTE|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR|FOR EACH ROW|FORCE|FOREIGN|FREETEXT|FREETEXTTABLE|FROM|FULL|FUNCTION|GEOMETRY|GEOMETRYCOLLECTION|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|IDENTITY|IDENTITY_INSERT|IDENTITYCOL|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTO|INVOKER|ISOLATION LEVEL|JOIN|KEY|KEYS|KILL|LANGUAGE SQL|LAST|LEFT|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONGBLOB|LONGTEXT|MATCH|MATCHED|MEDIUMBLOB|MEDIUMINT|MEDIUMTEXT|MERGE|MIDDLEINT|MODIFIES SQL DATA|MODIFY|MULTILINESTRING|MULTIPOINT|MULTIPOLYGON|NATIONAL|NATIONAL CHAR VARYING|NATIONAL CHARACTER|NATIONAL CHARACTER VARYING|NATIONAL VARCHAR|NATURAL|NCHAR|NCHAR VARCHAR|NEXT|NO|NO SQL|NOCHECK|NOCYCLE|NONCLUSTERED|NULLIF|NUMERIC|OF|OFF|OFFSETS|ON|OPEN|OPENDATASOURCE|OPENQUERY|OPENROWSET|OPTIMIZE|OPTION|OPTIONALLY|ORDER|OUT|OUTER|OUTFILE|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREV|PRIMARY|PRINT|PRIVILEGES|PROC|PROCEDURE|PUBLIC|PURGE|QUICK|RAISERROR|READ|READS SQL DATA|READTEXT|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEATABLE|REPLICATION|REQUIRE|RESTORE|RESTRICT|RETURN|RETURNS|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROWCOUNT|ROWGUIDCOL|ROWS?|RTREE|RULE|SAVE|SAVEPOINT|SCHEMA|SELECT|SERIAL|SERIALIZABLE|SESSION|SESSION_USER|SET|SETUSER|SHARE MODE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|START|STARTING BY|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLE|TABLES|TABLESPACE|TEMP(?:ORARY)?|TEMPTABLE|TERMINATED BY|TEXT|TEXTSIZE|THEN|TIMESTAMP|TINYBLOB|TINYINT|TINYTEXT|TO|TOP|TRAN|TRANSACTION|TRANSACTIONS|TRIGGER|TRUNCATE|TSEQUAL|TYPE|TYPES|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNPIVOT|UPDATE|UPDATETEXT|USAGE|USE|USER|USING|VALUE|VALUES|VARBINARY|VARCHAR|VARCHARACTER|VARYING|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH|WITH ROLLUP|WITHIN|WORK|WRITE|WRITETEXT)\b/i,"boolean":/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b-?(0x)?\d*\.?[\da-f]+\b/,operator:/\b(?:ALL|AND|ANY|BETWEEN|EXISTS|IN|LIKE|NOT|OR|IS|UNIQUE|CHARACTER SET|COLLATE|DIV|OFFSET|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b|[-+]|!|[=<>]{1,2}|(&){1,2}|\|?\||\?|\*|\//i,punctuation:/[;[\]()`,.]/};
</script>
<script type="text/javascript">
Prism.languages.http={"request-line":{pattern:/^(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b\shttps?:\/\/\S+\sHTTP\/[0-9.]+/,inside:{property:/^\b(POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/,"attr-name":/:\w+/}},"response-status":{pattern:/^HTTP\/1.[01] [0-9]+.*/,inside:{property:/[0-9]+[A-Z\s-]+$/i}},keyword:/^[\w-]+:(?=.+)/m};var httpLanguages={"application/json":Prism.languages.javascript,"application/xml":Prism.languages.markup,"text/xml":Prism.languages.markup,"text/html":Prism.languages.markup};for(var contentType in httpLanguages)if(httpLanguages[contentType]){var options={};options[contentType]={pattern:new RegExp("(content-type:\\s*"+contentType+"[\\w\\W]*?)\\n\\n[\\w\\W]*","i"),lookbehind:!0,inside:{rest:httpLanguages[contentType]}},Prism.languages.insertBefore("http","keyword",options)}
</script>
<script type="text/javascript">
!function(){if(self.Prism){var e={csharp:"C#",cpp:"C++"};Prism.hooks.add("before-highlight",function(a){var t=a.element.parentNode;if(t&&/pre/i.test(t.nodeName)){var i=e[a.language]||a.language;t.setAttribute("data-language",i)}})}}();
</script>
</body>
</html>
Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-73107890857578402892015-08-07T22:41:00.001+09:002015-08-07T22:45:51.299+09:00Find Candidate Journal and Referee for Manuscript Submission "Ave you recently written a paper, but you're not sure to which journal you should submit it? Or maybe you want to find relevant articles to cite in your paper? Or are you an editor, and do you need to find reviewers for a particular paper? <a href="http://biosemantics.org/jane/" target="_blank">Jane can help</a>!" <br />
<br />
(Link: <a href="http://biosemantics.org/jane/">http://biosemantics.org/jane/</a>)Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-32322836567470832262015-08-06T12:17:00.001+09:002015-08-06T12:18:34.554+09:00Yet another Perl Conference <div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjW44-0NPJQZ8SmpKThdK9CAScjOjNeYx2bosnPzJIviepje0LkkiKSDPAOnKEBU2Fysf-N5LY7SgBt5wpOl4wmqxqKumQRA4CK40Iuk-30I1w9I5QkJ3mQHH-X7k-_DekL8DiEFAGsbQ/s1600/Screen+Shot+2015-08-06+at+12.14.02+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjW44-0NPJQZ8SmpKThdK9CAScjOjNeYx2bosnPzJIviepje0LkkiKSDPAOnKEBU2Fysf-N5LY7SgBt5wpOl4wmqxqKumQRA4CK40Iuk-30I1w9I5QkJ3mQHH-X7k-_DekL8DiEFAGsbQ/s640/Screen+Shot+2015-08-06+at+12.14.02+PM.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://yapcasia.org/2015/" target="_blank"><img border="0" height="206" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb_q0lum3EmBa2WPx0rGJibtnojIoZZXKdCgNomAjhvwvfWqKRpGqMATpHi5JQkErc0N-hnYbZP0ER_6_GETOw-TIChpg1DOcZYAtvX-jy71ZUhpMjZwPM7Kz1U48lXT0xoPlelqn-5lw/s640/Screen+Shot+2015-08-06+at+12.13.47+PM.png" width="640" /></a></div>
<br />Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-75842985329822841252015-08-01T23:24:00.001+09:002015-08-01T23:24:15.847+09:00Rare Variation of OXTR gene in ASD individuals <div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0bg7rQ42L_etb9TziWWNOQWtJ9aF0kY4MPb8n0c4gBA2eKyYqRPAm5F-CIQkHhLqXPD3OpXrbC_w-jcXfLDN6RO5AVe0iIGyITDjICTvRML7eZuxNd1fCZPjHl3DffoKpqAf4nI7TSjs/s640/Nature-Facebook-2.png" width="588" /><a href="http://www.nature.com/articles/hgv201524?WT.mc_id=FBK_NPG_1507_hgv2" target="_blank">http://www.nature.com/articles/hgv201524?WT.mc_id=FBK_NPG_1507_hgv2</a></div>
<br />
<br />Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-73473348996127557482015-07-21T14:30:00.004+09:002015-07-21T14:30:56.370+09:00Online code review for Perl <div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQX-1839HpkDNm-MbF7_AlgwOYxsCSflUYYMKByR7yHxTAcDMu9pxjA9owGRVYgcPHCTkGsZ02vR4eEyWeRhuXgdmCqMlEbE-AFkNtHJA9uVw5HAYcXwoiWImjsu5NwZcyqZWypoTG23M/s1600/perlcritic.com.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="330" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQX-1839HpkDNm-MbF7_AlgwOYxsCSflUYYMKByR7yHxTAcDMu9pxjA9owGRVYgcPHCTkGsZ02vR4eEyWeRhuXgdmCqMlEbE-AFkNtHJA9uVw5HAYcXwoiWImjsu5NwZcyqZWypoTG23M/s400/perlcritic.com.png" width="400" /></a></div>
<div style="text-align: center;">
<a href="http://perlcritic.com/">http://perlcritic.com</a></div>
Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-34326065978339748372015-06-02T14:12:00.000+09:002015-06-02T14:13:43.506+09:00htop, a better alternative to the top command in linux<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ4MWNB924TupvTafS9QYSgvtTBpLuKfCnf8EYyd6zixmSrZIG7ZOhHWoPlDBSWzu9LT9_pOIUg376ZhCmnems_NocJobVmneyMB_0QZXziyFj0kM-CwAyeYa131HO9SjxdEjBB6MgXVo/s1600/Htop-Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ4MWNB924TupvTafS9QYSgvtTBpLuKfCnf8EYyd6zixmSrZIG7ZOhHWoPlDBSWzu9LT9_pOIUg376ZhCmnems_NocJobVmneyMB_0QZXziyFj0kM-CwAyeYa131HO9SjxdEjBB6MgXVo/s640/Htop-Screenshot.png" /></a></div>
Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-30654605792497165632015-05-26T19:27:00.002+09:002015-10-23T20:45:22.501+09:00How to Perform Basic RNA-seq Analysis with Cufflinks <html>
<head>
<style type="text/css">
body {
font-family: Helvetica, arial, sans-serif;
font-size: 14px;
line-height: 1.6;
padding-top: 10px;
padding-bottom: 10px;
background-color: white;
padding: 30px; }
body > *:first-child {
margin-top: 0 !important; }
body > *:last-child {
margin-bottom: 0 !important; }
a {
color: #4183C4; }
a.absent {
color: #cc0000; }
a.anchor {
display: block;
padding-left: 30px;
margin-left: -30px;
cursor: pointer;
position: absolute;
top: 0;
left: 0;
bottom: 0; }
h1, h2, h3, h4, h5, h6 {
margin: 20px 0 10px;
padding: 0;
font-weight: bold;
-webkit-font-smoothing: antialiased;
cursor: text;
position: relative; }
h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor {
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA09pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoMTMuMCAyMDEyMDMwNS5tLjQxNSAyMDEyLzAzLzA1OjIxOjAwOjAwKSAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUM2NjlDQjI4ODBGMTFFMTg1ODlEODNERDJBRjUwQTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUM2NjlDQjM4ODBGMTFFMTg1ODlEODNERDJBRjUwQTQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5QzY2OUNCMDg4MEYxMUUxODU4OUQ4M0REMkFGNTBBNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5QzY2OUNCMTg4MEYxMUUxODU4OUQ4M0REMkFGNTBBNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsQhXeAAAABfSURBVHjaYvz//z8DJYCRUgMYQAbAMBQIAvEqkBQWXI6sHqwHiwG70TTBxGaiWwjCTGgOUgJiF1J8wMRAIUA34B4Q76HUBelAfJYSA0CuMIEaRP8wGIkGMA54bgQIMACAmkXJi0hKJQAAAABJRU5ErkJggg==) no-repeat 10px center;
text-decoration: none; }
h1 tt, h1 code {
font-size: inherit; }
h2 tt, h2 code {
font-size: inherit; }
h3 tt, h3 code {
font-size: inherit; }
h4 tt, h4 code {
font-size: inherit; }
h5 tt, h5 code {
font-size: inherit; }
h6 tt, h6 code {
font-size: inherit; }
h1 {
font-size: 28px;
color: black; }
h2 {
font-size: 24px;
border-bottom: 1px solid #cccccc;
color: black; }
h3 {
font-size: 18px; }
h4 {
font-size: 16px; }
h5 {
font-size: 14px; }
h6 {
color: #777777;
font-size: 14px; }
p, blockquote, ul, ol, dl, li, table, pre {
margin: 15px 0; }
hr {
background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAECAYAAACtBE5DAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OENDRjNBN0E2NTZBMTFFMEI3QjRBODM4NzJDMjlGNDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OENDRjNBN0I2NTZBMTFFMEI3QjRBODM4NzJDMjlGNDgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4Q0NGM0E3ODY1NkExMUUwQjdCNEE4Mzg3MkMyOUY0OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4Q0NGM0E3OTY1NkExMUUwQjdCNEE4Mzg3MkMyOUY0OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqqezsUAAAAfSURBVHjaYmRABcYwBiM2QSA4y4hNEKYDQxAEAAIMAHNGAzhkPOlYAAAAAElFTkSuQmCC) repeat-x 0 0;
border: 0 none;
color: #cccccc;
height: 4px;
padding: 0;
}
body > h2:first-child {
margin-top: 0;
padding-top: 0; }
body > h1:first-child {
margin-top: 0;
padding-top: 0; }
body > h1:first-child + h2 {
margin-top: 0;
padding-top: 0; }
body > h3:first-child, body > h4:first-child, body > h5:first-child, body > h6:first-child {
margin-top: 0;
padding-top: 0; }
a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
margin-top: 0;
padding-top: 0; }
h1 p, h2 p, h3 p, h4 p, h5 p, h6 p {
margin-top: 0; }
li p.first {
display: inline-block; }
li {
margin: 0; }
ul, ol {
padding-left: 30px; }
ul :first-child, ol :first-child {
margin-top: 0; }
dl {
padding: 0; }
dl dt {
font-size: 14px;
font-weight: bold;
font-style: italic;
padding: 0;
margin: 15px 0 5px; }
dl dt:first-child {
padding: 0; }
dl dt > :first-child {
margin-top: 0; }
dl dt > :last-child {
margin-bottom: 0; }
dl dd {
margin: 0 0 15px;
padding: 0 15px; }
dl dd > :first-child {
margin-top: 0; }
dl dd > :last-child {
margin-bottom: 0; }
blockquote {
border-left: 4px solid #dddddd;
padding: 0 15px;
color: #777777; }
blockquote > :first-child {
margin-top: 0; }
blockquote > :last-child {
margin-bottom: 0; }
table {
padding: 0;border-collapse: collapse; }
table tr {
border-top: 1px solid #cccccc;
background-color: white;
margin: 0;
padding: 0; }
table tr:nth-child(2n) {
background-color: #f8f8f8; }
table tr th {
font-weight: bold;
border: 1px solid #cccccc;
margin: 0;
padding: 6px 13px; }
table tr td {
border: 1px solid #cccccc;
margin: 0;
padding: 6px 13px; }
table tr th :first-child, table tr td :first-child {
margin-top: 0; }
table tr th :last-child, table tr td :last-child {
margin-bottom: 0; }
img {
max-width: 100%; }
span.frame {
display: block;
overflow: hidden; }
span.frame > span {
border: 1px solid #dddddd;
display: block;
float: left;
overflow: hidden;
margin: 13px 0 0;
padding: 7px;
width: auto; }
span.frame span img {
display: block;
float: left; }
span.frame span span {
clear: both;
color: #333333;
display: block;
padding: 5px 0 0; }
span.align-center {
display: block;
overflow: hidden;
clear: both; }
span.align-center > span {
display: block;
overflow: hidden;
margin: 13px auto 0;
text-align: center; }
span.align-center span img {
margin: 0 auto;
text-align: center; }
span.align-right {
display: block;
overflow: hidden;
clear: both; }
span.align-right > span {
display: block;
overflow: hidden;
margin: 13px 0 0;
text-align: right; }
span.align-right span img {
margin: 0;
text-align: right; }
span.float-left {
display: block;
margin-right: 13px;
overflow: hidden;
float: left; }
span.float-left span {
margin: 13px 0 0; }
span.float-right {
display: block;
margin-left: 13px;
overflow: hidden;
float: right; }
span.float-right > span {
display: block;
overflow: hidden;
margin: 13px auto 0;
text-align: right; }
code, tt {
margin: 0 2px;
padding: 0 5px;
white-space: nowrap;
border: 1px solid #eaeaea;
background-color: #f8f8f8;
border-radius: 3px; }
pre code {
margin: 0;
padding: 0;
white-space: pre;
border: none;
background: transparent; }
.highlight pre {
background-color: #f8f8f8;
border: 1px solid #cccccc;
font-size: 13px;
line-height: 19px;
overflow: auto;
padding: 6px 10px;
border-radius: 3px; }
pre {
background-color: #f8f8f8;
border: 1px solid #cccccc;
font-size: 13px;
line-height: 19px;
overflow: auto;
padding: 6px 10px;
border-radius: 3px; }
pre code, pre tt {
background-color: transparent;
border: none; }
sup {
font-size: 0.83em;
vertical-align: super;
line-height: 0;
}
* {
-webkit-print-color-adjust: exact;
}
@media screen and (min-width: 914px) {
body {
width: 854px;
margin:0 auto;
}
}
@media print {
table, pre {
page-break-inside: avoid;
}
pre {
word-wrap: break-word;
}
}
</style>
<style type="text/css">
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
direction: ltr;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #a67f59;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
</style>
<style type="text/css">
pre[class*=language-]{position:relative}pre[class*=language-][data-language]::before{content:attr(data-language);color:#000;background-color:#CFCFCF;display:inline-block;position:absolute;top:0;right:0;font-size:.9em;border-radius:0 0 0 5px;padding:0 .5em;text-shadow:none}
</style>
</head>
<body>
<h4 id="toc_0">
Brief outline</h4>
This is a Perl wrapper for RNA-seq analysis to identify differentially expressed genes.<br />
Basically I follow this <a href="http://www.nature.com/nprot/journal/v7/n3/pdf/nprot.2012.016.pdf">Nature Protocol</a> by Cufflinks' authors, but with a more updated workflow recommendatd for cufflinks 2.2 (in which the cuffquants is used to generate CXB file for final analysis).<br />
The script can be download from this <a href="https://drive.google.com/open?id=0B3bIaWINuRQhVnZPSEgxYjRzVHM">link</a> as well. <br />
<pre><code class="language-perl">
#!/usr/bin/perl
use strict;
use 5.010;
use File::Basename qw/fileparse/;
use POSIX qw/strftime/;
# ----------------------------------------------------------------------
# Basic Information
# ----------------------------------------------------------------------
# For RNA-Seq Analysis of snoRNA-Knockdown experiment
# @ RIKEN BSI, Mental Biology Team
# @ Author : Psytky03
# @ Date : 2015-05-22
# @ Software Versions
# Tophat : 2.014
# Bowtie 2 : 2.2.3
# cufflinks : 2.2.1
# samtools : 0.1.19
# GFOLD :
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
# FASTQ samples - in fastq.gz format
# ----------------------------------------------------------------------
# GFP_B6_DIV4.fastq.gz
# GFP_ICR_DIV10.fastq.gz
# GFP_ICR_DIV4.fastq.gz
# MBII52_B6_DIV4.fastq.gz
# MBII52_ICR_DIV10.fastq.gz
# MBII52_ICR_DIV4.fastq.gz
# MBII85_B6_DIV4.fastq.gz
# MBII85_ICR_DIV10.fastq.gz
# MBII85_ICR_DIV4.fastq.gz
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
# Files and Parameters
# ----------------------------------------------------------------------
# my $simulate = 0; # run the program
my $simulate = 1; # only show the simulated run and commands
my $GTF_file = "genes.gtf"; # UCSC GTF
my $Genome_Fasta_Prefix = "genome"; # mm10
my $Genome_Fasta_file = "genome.fa"; # m10 whole genome fasta
my $assemblies_file = "assemblies_2.txt"; # desired assemblies output file
my $tophat_threads = 11;
my $cufflinks_thread = 11;
my $cuffmerge_thread = 11;
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
# Run Tophat - Cufflinks
# ----------------------------------------------------------------------
open(ASSEMBLIES, ">$assemblies_file");
my @gzfiles = <*.fastq.gz>;
my @accpeted_bam_files;
foreach my $file (@gzfiles)
{
my ($basename, $path, $suffix) = fileparse($file, qw/.fastq.gz/);
my $current_time = strftime('%Y-%m-%d %H:%M:%S',localtime);
my $tophat_output_dir = $basename."_tophat_out";
my $cufflinks_output_dir = $basename."_cufflinks_out";
say "[$current_time]\tNow is processing $file";
my $accepted_bam = "./$tophat_output_dir/accepted_hits.bam";
push @accpeted_bam_files, $accepted_bam;
my $tophat_command = "tophat2 -p $tophat_threads -G $GTF_file -o $tophat_output_dir ".
"$Genome_Fasta_Prefix $file";
my $cufflinks_command = "cufflinks -p $cufflinks_thread -o $cufflinks_output_dir ".
"$tophat_output_dir/accepted_hits.bam";
if ($simulate)
{ say($tophat_command);
say($cufflinks_command);
} else{
system($tophat_command);
system($cufflinks_command);
}
say ASSEMBLIES "./$cufflinks_output_dir/transcripts.gtf";
sleep (1);
}
close ASSEMBLIES;
my $current_time = strftime('%Y-%m-%d %H:%M:%S',localtime);
say "----------------------------------------------------------------------";
say "[$current_time] Finished Tophat - Cufflinks Process" ;
say "----------------------------------------------------------------------";
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
# Run Cuffmerge to create a signle merged transcritome annotation
# ----------------------------------------------------------------------
my $cuffmerge_command = "cuffmerge -g $GTF_file -s $Genome_Fasta_file -p $cuffmerge_thread $assemblies_file";
if ($simulate){say($cuffmerge_command)}
else{system($cuffmerge_command)}
my $current_time = strftime('%Y-%m-%d %H:%M:%S',localtime);
say "----------------------------------------------------------------------";
say "[$current_time] Finished CuffMerge Process" ;
say "----------------------------------------------------------------------";
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
# Run CuffQuant
# ----------------------------------------------------------------------
my $merged_assemble_file = "./merged_asm/merged.gtf";
my $cuffquant_thread = 11;
foreach my $bam_file (@accpeted_bam_files)
{
my ($basename, $path, $suffix) = fileparse($bam_file, qw/.bam/);
$path =~ s/_tophat_out\///g;
my $cuffquant_output_dir = $path."_cuffquants_out";
my $cuffquant_command = "cuffquant -p $cuffquant_thread -o $cuffquant_output_dir ".
"$merged_assemble_file $bam_file";
if ($simulate){say($cuffquant_command)}
else{system($cuffquant_command)}
sleep (1);
}
my $current_time = strftime('%Y-%m-%d %H:%M:%S',localtime);
say "----------------------------------------------------------------------";
say "[$current_time] Finished CuffQuant Process" ;
say "----------------------------------------------------------------------";
# ----------------------------------------------------------------------
</code></pre>
<script type="text/javascript">
var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=_self.Prism={util:{encode:function(e){return e instanceof n?new n(e.type,t.util.encode(e.content),e.alias):"Array"===t.util.type(e)?e.map(t.util.encode):e.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var a={};for(var r in e)e.hasOwnProperty(r)&&(a[r]=t.util.clone(e[r]));return a;case"Array":return e.map&&e.map(function(e){return t.util.clone(e)})}return e}},languages:{extend:function(e,n){var a=t.util.clone(t.languages[e]);for(var r in n)a[r]=n[r];return a},insertBefore:function(e,n,a,r){r=r||t.languages;var i=r[e];if(2==arguments.length){a=arguments[1];for(var l in a)a.hasOwnProperty(l)&&(i[l]=a[l]);return i}var o={};for(var s in i)if(i.hasOwnProperty(s)){if(s==n)for(var l in a)a.hasOwnProperty(l)&&(o[l]=a[l]);o[s]=i[s]}return t.languages.DFS(t.languages,function(t,n){n===r[e]&&t!=e&&(this[t]=o)}),r[e]=o},DFS:function(e,n,a){for(var r in e)e.hasOwnProperty(r)&&(n.call(e,r,e[r],a||r),"Object"===t.util.type(e[r])?t.languages.DFS(e[r],n):"Array"===t.util.type(e[r])&&t.languages.DFS(e[r],n,r))}},highlightAll:function(e,n){for(var a,r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'),i=0;a=r[i++];)t.highlightElement(a,e===!0,n)},highlightElement:function(a,r,i){for(var l,o,s=a;s&&!e.test(s.className);)s=s.parentNode;s&&(l=(s.className.match(e)||[,""])[1],o=t.languages[l]),a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+l,s=a.parentNode,/pre/i.test(s.nodeName)&&(s.className=s.className.replace(e,"").replace(/\s+/g," ")+" language-"+l);var u=a.textContent,c={element:a,language:l,grammar:o,code:u};if(u&&(c.code=u.replace(/^(?:\r?\n|\r)/,"")),!u||!o)return t.hooks.run("complete",c),void 0;if(t.hooks.run("before-highlight",c),r&&_self.Worker){var g=new Worker(t.filename);g.onmessage=function(e){c.highlightedCode=n.stringify(JSON.parse(e.data),l),t.hooks.run("before-insert",c),c.element.innerHTML=c.highlightedCode,i&&i.call(c.element),t.hooks.run("after-highlight",c),t.hooks.run("complete",c)},g.postMessage(JSON.stringify({language:c.language,code:c.code}))}else c.highlightedCode=t.highlight(c.code,c.grammar,c.language),t.hooks.run("before-insert",c),c.element.innerHTML=c.highlightedCode,i&&i.call(a),t.hooks.run("after-highlight",c),t.hooks.run("complete",c)},highlight:function(e,a,r){var i=t.tokenize(e,a);return n.stringify(t.util.encode(i),r)},tokenize:function(e,n){var a=t.Token,r=[e],i=n.rest;if(i){for(var l in i)n[l]=i[l];delete n.rest}e:for(var l in n)if(n.hasOwnProperty(l)&&n[l]){var o=n[l];o="Array"===t.util.type(o)?o:[o];for(var s=0;s<o.length;++s){var u=o[s],c=u.inside,g=!!u.lookbehind,f=0,h=u.alias;u=u.pattern||u;for(var p=0;p<r.length;p++){var d=r[p];if(r.length>e.length)break e;if(!(d instanceof a)){u.lastIndex=0;var m=u.exec(d);if(m){g&&(f=m[1].length);var y=m.index-1+f,m=m[0].slice(f),v=m.length,k=y+v,b=d.slice(0,y+1),w=d.slice(k+1),N=[p,1];b&&N.push(b);var O=new a(l,c?t.tokenize(m,c):m,h);N.push(O),w&&N.push(w),Array.prototype.splice.apply(r,N)}}}}}return r},hooks:{all:{},add:function(e,n){var a=t.hooks.all;a[e]=a[e]||[],a[e].push(n)},run:function(e,n){var a=t.hooks.all[e];if(a&&a.length)for(var r,i=0;r=a[i++];)r(n)}}},n=t.Token=function(e,t,n){this.type=e,this.content=t,this.alias=n};if(n.stringify=function(e,a,r){if("string"==typeof e)return e;if("Array"===t.util.type(e))return e.map(function(t){return n.stringify(t,a,e)}).join("");var i={type:e.type,content:n.stringify(e.content,a,r),tag:"span",classes:["token",e.type],attributes:{},language:a,parent:r};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var l="Array"===t.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,l)}t.hooks.run("wrap",i);var o="";for(var s in i.attributes)o+=s+'="'+(i.attributes[s]||"")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'" '+o+">"+i.content+"</"+i.tag+">"},!_self.document)return _self.addEventListener?(_self.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,r=n.code;_self.postMessage(JSON.stringify(t.util.encode(t.tokenize(r,t.languages[a])))),_self.close()},!1),_self.Prism):_self.Prism;var a=document.getElementsByTagName("script");return a=a[a.length-1],a&&(t.filename=a.src,document.addEventListener&&!a.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)),_self.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=Prism);
</script>
<script type="text/javascript">
Prism.languages.perl={comment:[{pattern:/((?:^|\n)\s*)=\w+[\s\S]*?=cut.*/,lookbehind:!0},{pattern:/(^|[^\\$])#.*?(\r?\n|$)/,lookbehind:!0}],string:[/\b(?:q|qq|qx|qw)\s*([^a-zA-Z0-9\s\{\(\[<])(\\?.)*?\s*\1/,/\b(?:q|qq|qx|qw)\s+([a-zA-Z0-9])(\\?.)*?\s*\1/,/\b(?:q|qq|qx|qw)\s*\(([^()]|\\.)*\s*\)/,/\b(?:q|qq|qx|qw)\s*\{([^{}]|\\.)*\s*\}/,/\b(?:q|qq|qx|qw)\s*\[([^[\]]|\\.)*\s*\]/,/\b(?:q|qq|qx|qw)\s*<([^<>]|\\.)*\s*>/,/("|'|`)(\\?.)*?\1/],regex:[/\b(?:m|qr)\s*([^a-zA-Z0-9\s\{\(\[<])(\\?.)*?\s*\1[msixpodualgc]*/,/\b(?:m|qr)\s+([a-zA-Z0-9])(\\?.)*?\s*\1[msixpodualgc]*/,/\b(?:m|qr)\s*\(([^()]|\\.)*\s*\)[msixpodualgc]*/,/\b(?:m|qr)\s*\{([^{}]|\\.)*\s*\}[msixpodualgc]*/,/\b(?:m|qr)\s*\[([^[\]]|\\.)*\s*\][msixpodualgc]*/,/\b(?:m|qr)\s*<([^<>]|\\.)*\s*>[msixpodualgc]*/,/\b(?:s|tr|y)\s*([^a-zA-Z0-9\s\{\(\[<])(\\?.)*?\s*\1\s*((?!\1).|\\.)*\s*\1[msixpodualgcer]*/,/\b(?:s|tr|y)\s+([a-zA-Z0-9])(\\?.)*?\s*\1\s*((?!\1).|\\.)*\s*\1[msixpodualgcer]*/,/\b(?:s|tr|y)\s*\(([^()]|\\.)*\s*\)\s*\(\s*([^()]|\\.)*\s*\)[msixpodualgcer]*/,/\b(?:s|tr|y)\s*\{([^{}]|\\.)*\s*\}\s*\{\s*([^{}]|\\.)*\s*\}[msixpodualgcer]*/,/\b(?:s|tr|y)\s*\[([^[\]]|\\.)*\s*\]\s*\[\s*([^[\]]|\\.)*\s*\][msixpodualgcer]*/,/\b(?:s|tr|y)\s*<([^<>]|\\.)*\s*>\s*<\s*([^<>]|\\.)*\s*>[msixpodualgcer]*/,/\/(\[.+?]|\\.|[^\/\r\n])*\/[msixpodualgc]*(?=\s*($|[\r\n,.;})&|\-+*=~<>!?^]|(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b))/],variable:[/[&*\$@%]\{\^[A-Z]+\}/,/[&*\$@%]\^[A-Z_]/,/[&*\$@%]#?(?=\{)/,/[&*\$@%]#?((::)*'?(?!\d)[\w$]+)+(::)*/i,/[&*\$@%]\d+/,/[\$@%][!"#\$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?!=).*>|\b_\b/,alias:"symbol"},vstring:{pattern:/v\d+(\.\d+)*|\d+(\.\d+){2,}/,alias:"string"},"function":{pattern:/sub [a-z0-9_]+/i,inside:{keyword:/sub/}},keyword:/\b(any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/(\n|\b)-?(0x[\dA-Fa-f](_?[\dA-Fa-f])*|0b[01](_?[01])*|(\d(_?\d)*)?\.?\d(_?\d)*([Ee]-?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|[-+*=~\/|&]{1,2}|<=?|>=?|\.{1,3}|[!?\\^]|\b(lt|gt|le|ge|eq|ne|cmp|not|and|or|xor|x)\b/,punctuation:/[{}[\];(),:]/};
</script>
<script type="text/javascript">
!function(){if(self.Prism){var e={csharp:"C#",cpp:"C++"};Prism.hooks.add("before-highlight",function(a){var t=a.element.parentNode;if(t&&/pre/i.test(t.nodeName)){var i=e[a.language]||a.language;t.setAttribute("data-language",i)}})}}();
</script>
</body>
</html>
Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-59338894406343798042015-05-26T00:11:00.001+09:002015-05-26T12:47:34.297+09:00How to Add Prefix to all files in the folder <pre class="prettyprint">
# Method 1
for f in * ; do mv "$f" "PRE_$f" ; done
# Method 2
ls | xargs -I {} mv {} PRE_{}
ls | xargs -I {} mv {} {}_SUF
</pre>Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.comtag:blogger.com,1999:blog-6083860883077325170.post-88817022745252095292015-05-21T17:02:00.001+09:002015-05-21T18:30:11.067+09:00How to do Dunnett Test in R <pre class="prettyprint">
rm(list=ls())
install.packages("multcomp")
library("multcomp")
weight <- read.csv("~/Desktop/Pat-Mat-WT-Weight.csv", head=TRUE)
weight$Genotype <- as.factor(weight$Genotype)
low_fat <- subset(weight, Food=="CE-2")
high_fat <- subset(weight, Food =="D12492")
time_point <- c(4:17)
high_results <- lapply(time_point, function(x) {
summary(glht(aov(high_fat[,x] ~ Genotype, high_fat), linfct=mcp(Genotype="Dunnett")))
})
sink(file="high_results.txt")
high_results
sink(NULL)
ls(summary(glht(aov(high_fat[,4] ~ Genotype, high_fat), linfct=mcp(Genotype="Dunnett"))))
summary(glht(aov(high_fat[,4] ~ Genotype, high_fat), linfct=mcp(Genotype="Dunnett")))$vcov
low_results <- lapply(time_point, function(x) {
summary(glht(aov(low_fat[,x] ~ Genotype, low_fat), linfct=mcp(Genotype="Dunnett")))
})
sink(file="low_results.txt")
low_results
sink(NULL)
cwd()
</pre>
<pre class="prettyprint"><a href="https://drive.google.com/open?id=0B3bIaWINuRQhazBNa1J2VEhKR0U&authuser=0" target="_blank">File Link</a></pre>
Psytky03http://www.blogger.com/profile/13670489391499265082noreply@blogger.com