<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linux on Morgan Bye</title><link>https://morganbye.com/tags/linux/</link><description>Recent content in Linux on Morgan Bye</description><generator>Hugo</generator><language>en-ca</language><copyright>CC BY-SA 4.0</copyright><lastBuildDate>Wed, 05 Sep 2012 12:44:00 +0000</lastBuildDate><atom:link href="https://morganbye.com/tags/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>PyMOL visualising e2 rotamers</title><link>https://morganbye.com/posts/20120905/</link><pubDate>Wed, 05 Sep 2012 12:44:00 +0000</pubDate><guid>https://morganbye.com/posts/20120905/</guid><description>&lt;p&gt;This morning whilst writing some reports I wanted to show some rotamer populations of my spin label attached to the protein. Whilst &lt;a href="http://www.epr.ethz.ch/software/index"&gt;MMM&lt;/a&gt; provides visualisation, and having had discussions with Jeschke I understand just how difficult it is to do, I do not consider them to be of publication standard. For this reason I needed to come up with something.&lt;/p&gt;
&lt;p&gt;So first up do all the calculations in MMM as per normal but make sure you save your statistics.&lt;/p&gt;</description></item><item><title>Logarithmic backups on a linux server</title><link>https://morganbye.com/posts/20120802_2/</link><pubDate>Thu, 02 Aug 2012 17:50:00 +0000</pubDate><guid>https://morganbye.com/posts/20120802_2/</guid><description>&lt;p&gt;This is the second part of the &lt;a href="https://morganbye.com/tech/20120801/"&gt;lab server setup guide&lt;/a&gt;. Mainly for my own memory purposes, but if you find it useful then so much the better.&lt;/p&gt;
&lt;h1 id="synchronization"&gt;Synchronization&lt;/h1&gt;
&lt;p&gt;As previously discussed all of the machines in the lab are mounted onto the server using NFS under &lt;code&gt;/media/lab-machine-XX&lt;/code&gt;. But this does not back them up. So the first step of the backup is to copy the files from the lab machines to the server. For this I use &lt;code&gt;unison&lt;/code&gt; which is an easy implementation of rsync which will compare the two versions in question, determine the newest and only copy across changes saving bandwidth and time.&lt;/p&gt;</description></item><item><title>Lab server setup - Ubuntu 12.4</title><link>https://morganbye.com/posts/20120802_1/</link><pubDate>Thu, 02 Aug 2012 15:31:00 +0000</pubDate><guid>https://morganbye.com/posts/20120802_1/</guid><description>&lt;p&gt;With a recent change of machines in the lab, I thought that I should update the backup server according to reflect the new machines. However, upon inspection the backup server OS hard drive had died long ago; but then what do you expect when you use 8 year old battered PCs as a server.&lt;/p&gt;
&lt;p&gt;This wasn&amp;rsquo;t too much of a problem as the machine&amp;rsquo;s RAID array was otherwise fine, it just hadn&amp;rsquo;t been mounted in some time. And the lab machines all have their files safely on them still. So I thought I&amp;rsquo;d take the opportunity to bring new life to the server and update it. Something that had been on the list of things-to-do for a long time and I just hadn&amp;rsquo;t got there.&lt;/p&gt;</description></item><item><title>PyMOL visualising binding interfaces</title><link>https://morganbye.com/posts/20120224_2/</link><pubDate>Fri, 24 Feb 2012 17:31:00 +0000</pubDate><guid>https://morganbye.com/posts/20120224_2/</guid><description>&lt;p&gt;Today I&amp;rsquo;ve been trying to come up with a nice way of visualising the binding interface between protein-protein or protein-DNA complexes. What follows is a quick little walk-through mostly for my own purposes so that I can remember what I&amp;rsquo;ve done in the future.&lt;/p&gt;
&lt;p&gt;Download PDB file from &lt;a href="https://pdb.org"&gt;pdb.org&lt;/a&gt;, here &lt;code&gt;XXXX&lt;/code&gt; will be your PDB accession code.&lt;/p&gt;
&lt;p&gt;Point a terminal window at the download directory&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;cd&lt;/span&gt; &lt;span class="o"&gt;~/&lt;/span&gt;&lt;span class="n"&gt;Downloads&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Run &lt;a href="http://www.ccp4.ac.uk/download.php"&gt;CCP4&lt;/a&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ncont XYZIN XXXX.pdb &amp;gt;&amp;gt; XXXX.ncont &amp;lt;&amp;lt; eof
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;source A [or whatever your protein chain is]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;target E,F [or whatever the DNA chains are]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;eof
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;This will give us a file &lt;code&gt;XXXX.ncont&lt;/code&gt; in the Downloads folder which contains all the information about the binding interface&lt;/p&gt;</description></item><item><title>Clone an (openSUSE) machine and make it functional</title><link>https://morganbye.com/posts/20120129_2/</link><pubDate>Sun, 29 Jan 2012 12:00:00 +0000</pubDate><guid>https://morganbye.com/posts/20120129_2/</guid><description>&lt;p&gt;In the last week I&amp;rsquo;ve had some need to setup some new PCs to control some of our machines in the lab. The problem being that the control interface between machine and PC is quite complicated and uses some pretty niche software, on the openSUSE OS (which is one of the most difficult linux OS&amp;rsquo;s IMHO).&lt;/p&gt;
&lt;p&gt;So rather than having to install openSUSE from scratch using repositories that are no longer supported (because the software isn&amp;rsquo;t supported by the new SUSE distros) and then try to install the software and configure it, I thought it perhaps best to take a PC that is working and clone it onto a new PC.&lt;/p&gt;</description></item><item><title>Getting an openSUSE machine online</title><link>https://morganbye.com/posts/20120129_3/</link><pubDate>Sun, 29 Jan 2012 12:00:00 +0000</pubDate><guid>https://morganbye.com/posts/20120129_3/</guid><description>&lt;p&gt;This week I&amp;rsquo;ve been cloning machines, but each new machine has slightly different hardware, even if it&amp;rsquo;s just a MAC address or serial number.&lt;/p&gt;
&lt;p&gt;So, a quick disclaimer I&amp;rsquo;m using openSUSE 11.3 and so things will be slightly different for different versions of SUSE or different distros.&lt;/p&gt;
&lt;h1 id="get-online"&gt;Get online&lt;/h1&gt;
&lt;p&gt;SUSE unlike some of the more user friendly OS&amp;rsquo;s doesn&amp;rsquo;t go out of it&amp;rsquo;s way to get you online. So we need to manually tell it what to do. First open a terminal and log in as a system admin:&lt;/p&gt;</description></item><item><title>PyMOL with Ubuntu 11.10 rendering problems</title><link>https://morganbye.com/posts/20120224_1/</link><pubDate>Sun, 29 Jan 2012 12:00:00 +0000</pubDate><guid>https://morganbye.com/posts/20120224_1/</guid><description>&lt;p&gt;Recently my (Ubuntu 11.10 64bit) machine stopped playing nice with &lt;a href="http://www.pymol.org/"&gt;PyMOL&lt;/a&gt; and whenever I tried to render or move an object I was facing a &amp;gt;40 second render time, while both of my CPU cores jumped to &amp;gt;90%&lt;/p&gt;
&lt;p&gt;When I paid close attention to the startup messages in the PyMOL command window I could see:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;span class="lnt"&gt;7
&lt;/span&gt;&lt;span class="lnt"&gt;8
&lt;/span&gt;&lt;span class="lnt"&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Detected&lt;/span&gt; &lt;span class="n"&gt;OpenGL&lt;/span&gt; &lt;span class="n"&gt;version&lt;/span&gt; &lt;span class="mf"&gt;2.0&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="n"&gt;greater&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="n"&gt;Shaders&lt;/span&gt; &lt;span class="n"&gt;available&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;PyMOLShader_NewFromFile&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;open&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/usr/lib/pymodules/python2.7/pymol/data/shaders/default.vs&amp;#39;&lt;/span&gt; &lt;span class="n"&gt;PYMOL_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/usr/lib/pymodules/python2.7/pymol&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;PyMOLShader_NewFromFile&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Warning&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;default&lt;/span&gt; &lt;span class="n"&gt;shader&lt;/span&gt; &lt;span class="n"&gt;files&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;found&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;loading&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;memory&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;PyMOLShader_NewFromFile&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Unable&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;open&lt;/span&gt; &lt;span class="n"&gt;file&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/usr/lib/pymodules/python2.7/pymol/data/shaders/volume.vs&amp;#39;&lt;/span&gt; &lt;span class="n"&gt;PYMOL_PATH&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;/usr/lib/pymodules/python2.7/pymol&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;PyMOLShader_NewFromFile&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;Warning&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;volume&lt;/span&gt; &lt;span class="n"&gt;shader&lt;/span&gt; &lt;span class="n"&gt;files&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;found&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;loading&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;memory&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;In short, the current version of PyMOL supported by Ubuntu (1.4.1-1) was having troubles playing nicely with the new version of Python (2.7).&lt;/p&gt;</description></item><item><title>MatLab with Ubuntu 11.10</title><link>https://morganbye.com/posts/20111009/</link><pubDate>Sun, 09 Oct 2011 12:00:00 +0000</pubDate><guid>https://morganbye.com/posts/20111009/</guid><description>&lt;p&gt;Under the new Ubuntu release (11.10 Oneiric Ocelot), trying to run MatLab gets the following error&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/opt/MATLAB/bin/util/oscheck.sh: 605: /lib64/libc.so.6: not found
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;MatLab will still load, but will effectively be useless and can only be closed by killing the process. Furthermore, my previous trick of&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo ln -s /lib64/x86_64-linux-gnu/libc-2.13.so /lib64/libc.so.6
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;On closer inspection, the &lt;code&gt;libc.so.6&lt;/code&gt; link exists in &lt;code&gt;/lib64&lt;/code&gt; however the file it actually points to (&lt;code&gt;/lib64/x86_64-linux-gnu/libc-2.13.so&lt;/code&gt;) does not exist, thanks to the update it’s moved&lt;/p&gt;</description></item><item><title>Rosetta 3.2 with Ubuntu 11.04</title><link>https://morganbye.com/posts/20110511/</link><pubDate>Wed, 11 May 2011 10:45:00 +0000</pubDate><guid>https://morganbye.com/posts/20110511/</guid><description>&lt;p&gt;&lt;a href="https://www.rosettacommons.org/home"&gt;Rosetta&lt;/a&gt; is a very useful program for the prediction of protein structure, folding and interactions be that docking with proteins or ligands.&lt;/p&gt;
&lt;p&gt;However, the current version of Rosetta (3.2.1) uses &lt;code&gt;SCons&lt;/code&gt; to compile itself on your system. This is usually fine except that these use &lt;code&gt;gcc&lt;/code&gt; libraries 4.1 and before.&lt;/p&gt;
&lt;p&gt;Ubunutu 11.04 considers anything before gcc v4.4 to be obsolete and you can&amp;rsquo;t install them (even with &lt;code&gt;apt-get&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;As a result, a small amount of hacking is required.&lt;/p&gt;</description></item><item><title>Ubuntu 11.04 and MATLAB x64 C, C++ and Fortran libraries</title><link>https://morganbye.com/posts/20110501/</link><pubDate>Sun, 01 May 2011 12:00:00 +0000</pubDate><guid>https://morganbye.com/posts/20110501/</guid><description>&lt;p&gt;MatLab requires the use of libraries (think translation dictionaries) to run code that is outside of it&amp;rsquo;s native realm (a hybrid C).&lt;/p&gt;
&lt;p&gt;The most common of computing languages are those of C and Fortran (an old machine code).&lt;/p&gt;
&lt;p&gt;The problem is that old code runs typically on 32 bit (a way of addressing memory), whereas most modern operating systems are now running 64 bit.&lt;/p&gt;
&lt;p&gt;If you run a 64 bit Linux distro then you cannot run 32 bit MATLAB and you will be forced to install and run x64 MATLAB (there are some work around for Windows).&lt;/p&gt;</description></item><item><title>Recovering a RAID1 disk from a corrupt array</title><link>https://morganbye.com/posts/20110412/</link><pubDate>Tue, 12 Apr 2011 12:00:00 +0000</pubDate><guid>https://morganbye.com/posts/20110412/</guid><description>&lt;p&gt;I recently had our backup server at work die. Upon investigation the Kubuntu 8 server had had it’s OS drive and one of the RAID1 data disks corrupted to such an extent it couldn’t boot. The bad data disk was so bad that it couldn’t even be assigned a hardware address under Linux or Windows.&lt;/p&gt;
&lt;p&gt;The only hope remained with the remaining RAID1 disk.&lt;/p&gt;
&lt;p&gt;As the server had been set up by a previous administrator as a software RAID, I thought it would be a nice simple job of sticking the drive into a good computer and copying files off.&lt;/p&gt;</description></item><item><title>Western Digital Green Drives (WD20EARS) and spin downs</title><link>https://morganbye.com/posts/20110401/</link><pubDate>Fri, 01 Apr 2011 12:00:00 +0000</pubDate><guid>https://morganbye.com/posts/20110401/</guid><description>&lt;p&gt;Recently I bought myself 2 new Western Digital (WD) drives for my home NAS box. Doing the good thing for the planet and not wanting massive electricity bills, I thought I&amp;rsquo;d try the recommend Western Digital Green Drives. Drives that are touted as being energy efficient compared to their WD blue and black office and server based brethren.&lt;/p&gt;
&lt;p&gt;I personally have always opted for WD drives as all Hitachi drives I&amp;rsquo;ve had seem to make horrible noises and die quickly, Samsung always expensive and Seagate always been a bit slow.&lt;/p&gt;</description></item></channel></rss>