<?xml version='1.0'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:atom="http://www.w3.org/2005/Atom" >
<channel>
	<title><![CDATA[BOL: Related items]]></title>
	<link>https://bioinformaticsonline.com/related/26395?offset=10</link>
	<atom:link href="https://bioinformaticsonline.com/related/26395?offset=10" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/14091/subprocess-pkg</guid>
	<pubDate>Sun, 17 Aug 2014 07:59:32 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/14091/subprocess-pkg</link>
	<title><![CDATA[Subprocess pkg]]></title>
	<description><![CDATA[<p>Subprocess is one of simplest way of running linux command from within python code</p><p>Example:</p><p>if you want to run fastqc for QC of fastq file:</p><p>from subprocess import Popen,PIPE,call</p><p>p=Popen(["fastqc","-f","fastq","-o", "/home/name/result/","/dev/stdin"],stdin=fopen("read.fastq","r") ,stdout=PIPE,stderr=PIPE)</p><p>print p.stderr</p><p>p.stdout.close()</p><p>More:</p><p>http://pymotw.com/2/subprocess/</p>]]></description>
	<dc:creator>Rahul Agarwal</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/43120/ventoy-an-open-source-tool-to-create-bootable-usb-drive</guid>
	<pubDate>Tue, 29 Jun 2021 10:16:19 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/43120/ventoy-an-open-source-tool-to-create-bootable-usb-drive</link>
	<title><![CDATA[Ventoy: an open source tool to create bootable USB drive]]></title>
	<description><![CDATA[<p>Ventoy is an open source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files. With ventoy, you don't need to format the disk over and over, you just need to copy the image files to the USB drive and boot it. You can copy many image files at a time and ventoy will give you a boot menu to select them. x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are supported in the same way. Both MBR and GPT partition style are supported in the same way. Most type of OS supported(Windows/WinPE/Linux/Unix/Vmware/Xen...) 700+ ISO files are tested.&nbsp;</p><p>Address of the bookmark: <a href="https://github.com/ventoy/Ventoy" rel="nofollow">https://github.com/ventoy/Ventoy</a></p>]]></description>
	<dc:creator>LEGE</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/43954/elgg-installation-steps</guid>
	<pubDate>Wed, 07 Sep 2022 00:43:53 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/43954/elgg-installation-steps</link>
	<title><![CDATA[Elgg Installation steps !]]></title>
	<description><![CDATA[<p>Elgg is an open source social networking engine that allows the creation of social environments such as campus social networks and internal collaborative platforms for organizations. Elgg offers a number of social networking features including microblogging, messaging, file-sharing and groups. This tutorial will guide you through the process of installing Elgg on a Ubuntu 18.04 VPS.</p><h2 id="Prerequisites">Prerequisites</h2><ul>
<li>A fresh Vultr Cloud Compute instance with Ubuntu 18.04 and root access.</li>
</ul><h2 id="Step_1__Install_Apache__MySQL__and_PHP">Step 1: Install Apache, MySQL, and PHP</h2><p>Elgg requires MySQL, PHP, and a web server. Before you can install Elgg, you will need to install the Apache web server, MySQL, and PHP.</p><p>Update the repository list.</p><pre><code>apt-get update
</code></pre><p>Install the Apache web server.</p><pre><code>apt-get install apache2 -y
</code></pre><p>Install MySQL.</p><pre><code>apt-get install mysql-server -y
</code></pre><p>Complete the MySQL installation by executing the following command.</p><pre><code>/usr/bin/mysql_secure_installation
</code></pre><p>During the installation, you will be asked to enter a root password. Enter a secure password. This will be the MySQL root password.</p><pre><code>Would you like to setup VALIDATE PASSWORD plugin? [Y/N] N
New password: password
Re-enter new password: password
Remove anonymous users? [Y/N] Y
Disallow root login remotely? [Y/N] Y
Remove test database and access to it? [Y/N] Y
Reload privilege tables now? [Y/N] Y
</code></pre><p>Install PHP 7.2, as well as the PHP modules required by Elgg.</p><pre><code>apt-get install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip -y
</code></pre><h2 id="Step_2__Create_a_MySQL_database_for_Elgg">Step 2: Create a MySQL database for Elgg</h2><p>Elgg will require a MySQL database. Log into the MySQL console.</p><pre><code>mysql -u root -p
</code></pre><p>When prompted for a password, enter the MySQL root password you set in step 1. Once you are logged in to the MySQL console, create a new database.</p><pre><code>CREATE DATABASE elgg;
</code></pre><p>Create a new MySQL user and grant it privileges to the newly created database. You can replace&nbsp;<code>username</code>&nbsp;and&nbsp;<code>password</code>&nbsp;with the username and password of your choice.</p><pre><code>GRANT ALL PRIVILEGES on elgg.* to 'username'@'localhost' identified by 'password';
FLUSH PRIVILEGES;
</code></pre><p>Exit the MySQL console.</p><pre><code>exit
</code></pre><h2 id="Step_3__Download_and_Install_Elgg">Step 3: Download and Install Elgg</h2><p>Download the latest version of Elgg.</p><pre><code>cd /var/www/html
rm -r index.html
wget https://elgg.org/download/elgg-2.3.7.zip
</code></pre><p>Unzip the downloaded archive and move the files to the root of the Apache web server.</p><pre><code>apt install unzip
unzip elgg-2.3.7.zip
mv ./elgg-2.3.7/* . &amp;&amp; rm elgg-2.3.7.zip &amp;&amp; rm -r elgg-2.3.7
</code></pre><p>Create a data directory for Elgg.</p><pre><code>sudo mkdir -p /var/www/html/data
</code></pre><p>Set the appropriate file permissions.</p><pre><code>sudo chown -R www-data:www-data /var/www/html/
sudo chmod -R 755 /var/www/html/
</code></pre><h2 id="Step_4__Configure_Apache_for_Elgg">Step 4: Configure Apache for Elgg</h2><p>Elgg requires the Apache rewrite module. Enable the Apache rewrite module.</p><pre><code>sudo a2enmod rewrite
</code></pre><p>Create an Apache configuration file for the Elgg installation.</p><pre><code>sudo nano /etc/apache2/sites-available/elgg.conf
</code></pre><p>Paste the following snippet to the file, replacing&nbsp;<code>example.com</code>&nbsp;with your own domain name.</p><pre><code>&lt;VirtualHost *:80&gt;
     DocumentRoot /var/www/html/
     ServerName example.com
     &lt;Directory /var/www/html/&gt;
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     &lt;/Directory&gt;
     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
&lt;/VirtualHost&gt;
</code></pre><p>Enable the configuration and restart the Apache server.</p><pre><code> sudo a2ensite elgg.conf
 sudo systemctl restart apache2.service</code></pre>]]></description>
	<dc:creator>Abhi</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/34552/edit-distance-application-in-bioinformatics</guid>
	<pubDate>Thu, 07 Dec 2017 08:46:51 -0600</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/34552/edit-distance-application-in-bioinformatics</link>
	<title><![CDATA[Edit distance application in bioinformatics !]]></title>
	<description><![CDATA[<p>There are other popular measures of&nbsp;<a href="https://en.wikipedia.org/wiki/Edit_distance" title="Edit distance">edit distance</a>, which are calculated using a different set of allowable edit operations. For instance,</p><ul>
<li>the&nbsp;<a href="https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance" title="Damerau&ndash;Levenshtein distance">Damerau&ndash;Levenshtein distance</a>&nbsp;allows insertion, deletion, substitution, and the&nbsp;<a href="https://en.wikipedia.org/wiki/Transposition_(mathematics)" title="Transposition (mathematics)">transposition</a>&nbsp;of two adjacent characters;</li>
<li>the&nbsp;<a href="https://en.wikipedia.org/wiki/Longest_common_subsequence_problem" title="Longest common subsequence problem">longest common subsequence</a>&nbsp;(LCS) distance allows only insertion and deletion, not substitution;</li>
<li>the&nbsp;<a href="https://en.wikipedia.org/wiki/Hamming_distance" title="Hamming distance">Hamming distance</a>&nbsp;allows only substitution, hence, it only applies to strings of the same length.</li>
<li>the&nbsp;<a href="https://en.wikipedia.org/wiki/Jaro_distance" title="Jaro distance">Jaro distance</a>&nbsp;allows only&nbsp;<a href="https://en.wikipedia.org/wiki/Transposition_(mathematics)" title="Transposition (mathematics)">transposition</a>.</li>
</ul><p>&nbsp;</p><pre><span>use</span> Text<span>::</span>Levenshtein <span>qw</span><span>(</span>distance<span>);</span>

 <span>print</span> <span>distance</span><span>(</span><span>"foo"</span><span>,</span><span>"four"</span><span>);</span>
 <span># prints "2"</span>

 <span>my</span> <span>@words</span>     <span>=</span> <span>qw</span><span>/ four foo bar /</span><span>;</span>
 <span>my</span> <span>@distances</span> <span>=</span> <span>distance</span><span>(</span><span>"foo"</span><span>,</span><span>@words</span><span>);</span>

 <span>print</span> <span>"@distances"</span><span>;</span>
 <span># prints "2 0 3"</span><br /><br /><br /></pre><pre><span>use</span> Algorithm<span>::</span>LCSS <span>qw</span><span>(</span> LCSS CSS CSS_Sorted <span>);</span>
    <span>my</span> <span>$lcss_ary_ref</span> <span>=</span> <span>LCSS</span><span>(</span> <span>\</span><span>@SEQ1</span><span>,</span> <span>\</span><span>@SEQ2</span> <span>);</span>  <span># ref to array</span>
    <span>my</span> <span>$lcss_string</span>  <span>=</span> <span>LCSS</span><span>(</span> <span>$STR1</span><span>,</span> <span>$STR2</span> <span>);</span>    <span># string</span>
    <span>my</span> <span>$css_ary_ref</span> <span>=</span> <span>CSS</span><span>(</span> <span>\</span><span>@SEQ1</span><span>,</span> <span>\</span><span>@SEQ2</span> <span>);</span>    <span># ref to array of arrays</span>
    <span>my</span> <span>$css_str_ref</span> <span>=</span> <span>CSS</span><span>(</span> <span>$STR1</span><span>,</span> <span>$STR2</span> <span>);</span>      <span># ref to array of strings</span>
    <span>my</span> <span>$css_ary_ref</span> <span>=</span> <span>CSS_Sorted</span><span>(</span> <span>\</span><span>@SEQ1</span><span>,</span> <span>\</span><span>@SEQ2</span> <span>);</span>  <span># ref to array of arrays</span>
    <span>my</span> <span>$css_str_ref</span> <span>=</span> <span>CSS_Sorted</span><span>(</span> <span>$STR1</span><span>,</span> <span>$STR2</span> <span>);</span>    <span># ref to array of strings<br /><br /><br /><br /></span></pre><p>There are many different modules on CPAN for calculating the edit distance between two strings. Here's just a selection.</p><p><a href="http://search.cpan.org/perldoc?Text%3A%3ALevenshteinXS">Text::LevenshteinXS</a>&nbsp;and&nbsp;<a href="http://search.cpan.org/perldoc?Text%3A%3ALevenshtein%3A%3AXS">Text::Levenshtein::XS</a>&nbsp;are both versions of the Levenshtein algorithm that require a C compiler, but will be a lot faster than this module.</p><p>The Damerau-Levenshtein edit distance is like the Levenshtein distance, but in addition to insertion, deletion and substitution, it also considers the transposition of two adjacent characters to be a single edit. The module&nbsp;<a href="http://search.cpan.org/perldoc?Text%3A%3ALevenshtein%3A%3ADamerau">Text::Levenshtein::Damerau</a>&nbsp;defaults to using a pure perl implementation, but if you've installed&nbsp;<a href="http://search.cpan.org/perldoc?Text%3A%3ALevenshtein%3A%3ADamerau%3A%3AXS">Text::Levenshtein::Damerau::XS</a>&nbsp;then it will be a lot quicker.</p><p><a href="http://search.cpan.org/perldoc?Text%3A%3AWagnerFischer">Text::WagnerFischer</a>&nbsp;is an implementation of the Wagner-Fischer edit distance, which is similar to the Levenshtein, but applies different weights to each edit type.</p><p><a href="http://search.cpan.org/perldoc?Text%3A%3ABrew">Text::Brew</a>&nbsp;is an implementation of the Brew edit distance, which is another algorithm based on edit weights.</p><p><a href="http://search.cpan.org/perldoc?Text%3A%3AFuzzy">Text::Fuzzy</a>&nbsp;provides a number of operations for partial or fuzzy matching of text based on edit distance.&nbsp;<a href="http://search.cpan.org/perldoc?Text%3A%3AFuzzy%3A%3APP">Text::Fuzzy::PP</a>&nbsp;is a pure perl implementation of the same interface.</p><p><a href="http://search.cpan.org/perldoc?String%3A%3ASimilarity">String::Similarity</a>&nbsp;takes two strings and returns a value between 0 (meaning entirely different) and 1 (meaning identical). Apparently based on edit distance.</p><p><a href="http://search.cpan.org/perldoc?Text%3A%3ADice">Text::Dice</a>&nbsp;calculates&nbsp;<a href="https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient">Dice's coefficient</a>&nbsp;for two strings. This formula was originally developed to measure the similarity of two different populations in ecological research.</p><pre><span>&nbsp;</span></pre>]]></description>
	<dc:creator>Neel</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/news/view/4716/osddlinux-computational-resources-for-drug-discovery</guid>
	<pubDate>Sun, 22 Sep 2013 13:15:58 -0500</pubDate>
	<link>https://bioinformaticsonline.com/news/view/4716/osddlinux-computational-resources-for-drug-discovery</link>
	<title><![CDATA[OSDDlinux : Computational resources for drug discovery]]></title>
	<description><![CDATA[<p>Open Source Drug Discovery (OSDD), a mission to provide affordable drugs for poors, is in the process of creating an in silico plateform for designing, discovering and simulating drugs. OSDD have initiate number of projects to support in silico drug discovery, including OSDDlinux and computational resources for drug discovery (CRDD).</p><p>The main purpose of OSDDLinux is to provide an in silico platform for computer-aided drug design. This is a collection and compilation of large number of software and web services which will be directly or indirectly useful for researches working in the field of drug design/discovery. Overall objective of OSDDlinux is to promote open source in drug discovery, crowdsourcing and network based collobrations. Following are major features of OSDDlinux ...&nbsp;</p><p>Find more @&nbsp;http://osddlinux.osdd.net/index.php</p>]]></description>
	<dc:creator>Archana Malhotra</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/9204/keep-your-important-ssh-session-running-when-you-disconnect-from-server</guid>
	<pubDate>Sat, 15 Mar 2014 21:39:17 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/9204/keep-your-important-ssh-session-running-when-you-disconnect-from-server</link>
	<title><![CDATA[Keep Your Important SSH Session Running when You Disconnect from Server !!!]]></title>
	<description><![CDATA[<p>As a Bioinformatician/ Computational biologist we swim in the ocean of genomic/proteomics data, and play with them with an ease. In our day to day simulation, analysis, comparative study we do need to run exhaustive programs, which might take more than a week. In such cases we do need to disconnect from sever in a way that our program/session should not get terminated. To do so there are lots of software, tools such as tmux ( <a href="http://tmux.sourceforge.net/">http://tmux.sourceforge.net/</a>, nohup (<a href="http://ss64.com/bash/nohup.html">http://ss64.com/bash/nohup.html</a>) , byobu (<a href="https://help.ubuntu.com/10.04/serverguide/byobu.html">https://help.ubuntu.com/10.04/serverguide/byobu.html</a>) and other commands (disown -a &amp;&amp; exit), but following are the ones I use the most.</p><p>Screen is like a window manager for your console. It will allow you to keep multiple terminal sessions running and easily switch between them. It also protects you from disconnection, because the screen session doesn&rsquo;t end when you get disconnected.<br /><br />You&rsquo;ll need to make sure that screen is installed on the server you are connecting to. If that server is Ubuntu or Debian, just use this command:<br /><br />sudo apt-get install screen<br /><br />Now you can start a new screen session by just typing screen at the command line. You&rsquo;ll be shown some information about screen. Hit enter, and you&rsquo;ll be at a normal prompt.<br /><br /><strong>To disconnect (but leave the session running)</strong><br /><br />Hit Ctrl + A and then Ctrl + D in immediate succession. You will see the message [detached]<br /><br /><strong>To reconnect to an already running session</strong><br /><br />screen -r<br /><br /><strong>To reconnect to an existing session, or create a new one if none exists</strong><br /><br />screen -D -r<br /><br /><strong>To create a new window inside of a running screen session</strong><br /><br />Hit Ctrl + A and then C in immediate succession. You will see a new prompt.<br /><br /><strong>To switch from one screen window to another</strong><br /><br />Hit Ctrl + A and then Ctrl + A in immediate succession.<br /><br /><strong>To list open screen windows</strong><br /><br />Hit Ctrl + A and then W in immediate succession</p>]]></description>
	<dc:creator>Jitendra Narayan</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/11582/monitor-running-jobs-on-linux-server</guid>
	<pubDate>Fri, 06 Jun 2014 16:18:43 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/11582/monitor-running-jobs-on-linux-server</link>
	<title><![CDATA[Monitor running jobs on Linux server]]></title>
	<description><![CDATA[<p>You as a bioinformatican run lots of program on your servers. Sometime the shared server is also used by your colleague. If server is busy you sometime need to check the running programs and want to monitor the running programs as well. The "top" command will come in handy when you need to find out if things are still running, how long they&rsquo;ve been running, or how much memory is being used.<br /><br />&lsquo;top&rsquo; is very simple to run: type<br /><br />%% top<br /><br />You&rsquo;ll get a screen that looks like this, and is updated regularly:<br /><br /><img src="http://bioinformaticsonline.com/mod/photo/top.png" width="659" height="582" alt="image" style="border: 0px;"><br />Simple, right? Heh.<br /><br />First! Note that you can use &lsquo;q&rsquo; or &lsquo;CTRL-C&rsquo; to exit from &lsquo;top&rsquo;.<br /><br />Now let&rsquo;s read and understand at each line independently.<br /><br />The first line:<br /><br />top - 23:00:48 up 39 days,&nbsp; 2 user,&nbsp; load average: 0.00, 0.00, 0.00<br /><br />The first line tells you the current time, how long the machine has been up, how many users are logged in, and the short/medium/long-term compute load on the machine. If you run something for a long time, you&rsquo;ll see these numbers go up. Right now, the machine is basically just sitting there, so these are all close to 0.<br /><br />The second line:</p><p>Tasks:&nbsp; 239 total,&nbsp;&nbsp; 1 running,&nbsp; 238 sleeping,&nbsp;&nbsp; 0 stopped,&nbsp;&nbsp; 0 zombie<br /><br />This line tells you how many processes are running. If you are using laptops machines it&rsquo;s not so interesting because you really are the only one using this machine.<br /><br />Cpu(s):&nbsp; 0.0%us,&nbsp; 0.0%sy,&nbsp; 0.0%ni,100.0%id,&nbsp; 0.0%wa,&nbsp; 0.0%hi,&nbsp; 0.0%si,&nbsp; 0.0%st<br /><br />This line contains the CPU load. The first two numbers are how busy the system is doing computation (&ldquo;us&rdquo; stands for &ldquo;user&rdquo;) and how busy the system is doing system-y things like accessing disks or network (&ldquo;sy&rdquo; stands for &ldquo;system&rdquo;). We&rsquo;ll talk more about this later.<br /><br />Mem:&nbsp;&nbsp; 49457320k total,&nbsp;&nbsp;&nbsp; 3492174k used,&nbsp; 14535596k free,&nbsp;&nbsp;&nbsp; 1435148k buffers<br /><br />This should be easy to understand &ndash; how much memory you&rsquo;re using! <br /><br />Swap:&nbsp;&nbsp; 539356k total,&nbsp;&nbsp; 28332k used,&nbsp;&nbsp; 836562k free,&nbsp;&nbsp;&nbsp; 29862014k cached<br /><br />Swap is just on-disk memory that can be used to &ldquo;swap&rdquo; out programs from main memory. Again, we&rsquo;ll talk about this later.:<br /><br />PID USER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PR&nbsp; NI&nbsp; VIRT&nbsp; RES&nbsp; SHR S %CPU %MEM&nbsp;&nbsp;&nbsp; TIME+&nbsp; COMMAND<br />&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 39 &nbsp; 19&nbsp; 0&nbsp; 0&nbsp; 0 S&nbsp; 0.0&nbsp; 0.0&nbsp;&nbsp; 246:57.22 kipmi0<br />&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RT&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; 0 S&nbsp; 0.0&nbsp; 0.0&nbsp;&nbsp; 0:00.00 migration/0<br /><br />And... finally! What&rsquo;s actually running! The two most important numbers are the %CPU and %MEM towards the right, as well as the COMMAND. This tells you how compute- and memory-intensive your program is. Right now, nothing&rsquo;s running so the numbers aren&rsquo;t very interesting, but just wait until we run something...</p>]]></description>
	<dc:creator>Jitendra Narayan</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/27965/cheatsheet-for-linux</guid>
	<pubDate>Wed, 22 Jun 2016 07:55:06 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/27965/cheatsheet-for-linux</link>
	<title><![CDATA[Cheatsheet for Linux !!]]></title>
	<description><![CDATA[<p>Linux Commands Cheat Sheet<br /><br />&nbsp;&nbsp;&nbsp; File System<br /><br />&nbsp;&nbsp;&nbsp; ls &mdash; list items in current directory<br /><br />&nbsp;&nbsp;&nbsp; ls -l &mdash; list items in current directory and show in long format to see perimissions, size, an modification date<br /><br />&nbsp;&nbsp;&nbsp; ls -a &mdash; list all items in current directory, including hidden files<br /><br />&nbsp;&nbsp;&nbsp; ls -F &mdash; list all items in current directory and show directories with a slash and executables with a star<br /><br />&nbsp;&nbsp;&nbsp; ls dir &mdash; list all items in directory dir<br /><br />&nbsp;&nbsp;&nbsp; cd dir &mdash; change directory to dir<br /><br />&nbsp;&nbsp;&nbsp; cd .. &mdash; go up one directory<br /><br />&nbsp;&nbsp;&nbsp; cd / &mdash; go to the root directory<br /><br />&nbsp;&nbsp;&nbsp; cd ~ &mdash; go to to your home directory<br /><br />&nbsp;&nbsp;&nbsp; cd - &mdash; go to the last directory you were just in<br /><br />&nbsp;&nbsp;&nbsp; pwd &mdash; show present working directory<br /><br />&nbsp;&nbsp;&nbsp; mkdir dir &mdash; make directory dir<br /><br />&nbsp;&nbsp;&nbsp; rm file &mdash; remove file<br /><br />&nbsp;&nbsp;&nbsp; rm -r dir &mdash; remove directory dir recursively<br /><br />&nbsp;&nbsp;&nbsp; cp file1 file2 &mdash; copy file1 to file2<br /><br />&nbsp;&nbsp;&nbsp; cp -r dir1 dir2 &mdash; copy directory dir1 to dir2 recursively<br /><br />&nbsp;&nbsp;&nbsp; mv file1 file2 &mdash; move (rename) file1 to file2<br /><br />&nbsp;&nbsp;&nbsp; ln -s file link &mdash; create symbolic link to file<br /><br />&nbsp;&nbsp;&nbsp; touch file &mdash; create or update file<br /><br />&nbsp;&nbsp;&nbsp; cat file &mdash; output the contents of file<br /><br />&nbsp;&nbsp;&nbsp; less file &mdash; view file with page navigation<br /><br />&nbsp;&nbsp;&nbsp; head file &mdash; output the first 10 lines of file<br /><br />&nbsp;&nbsp;&nbsp; tail file &mdash; output the last 10 lines of file<br /><br />&nbsp;&nbsp;&nbsp; tail -f file &mdash; output the contents of file as it grows, starting with the last 10 lines<br /><br />&nbsp;&nbsp;&nbsp; vim file &mdash; edit file<br /><br />&nbsp;&nbsp;&nbsp; alias name 'command' &mdash; create an alias for a command<br />&nbsp;&nbsp;&nbsp; System<br /><br />&nbsp;&nbsp;&nbsp; shutdown &mdash; shut down machine<br /><br />&nbsp;&nbsp;&nbsp; reboot &mdash; restart machine<br /><br />&nbsp;&nbsp;&nbsp; date &mdash; show the current date and time<br /><br />&nbsp;&nbsp;&nbsp; whoami &mdash; who you are logged in as<br /><br />&nbsp;&nbsp;&nbsp; finger user &mdash; display information about user<br /><br />&nbsp;&nbsp;&nbsp; man command &mdash; show the manual for command<br /><br />&nbsp;&nbsp;&nbsp; df &mdash; show disk usage<br /><br />&nbsp;&nbsp;&nbsp; du &mdash; show directory space usage<br /><br />&nbsp;&nbsp;&nbsp; free &mdash; show memory and swap usage<br /><br />&nbsp;&nbsp;&nbsp; whereis app &mdash; show possible locations of app<br /><br />&nbsp;&nbsp;&nbsp; which app &mdash; show which app will be run by default<br />&nbsp;&nbsp;&nbsp; Process Management<br /><br />&nbsp;&nbsp;&nbsp; ps &mdash; display your currently active processes<br /><br />&nbsp;&nbsp;&nbsp; top &mdash; display all running processes<br /><br />&nbsp;&nbsp;&nbsp; kill pid &mdash; kill process id pid<br /><br />&nbsp;&nbsp;&nbsp; kill -9 pid &mdash; force kill process id pid<br />&nbsp;&nbsp;&nbsp; Permissions<br /><br />&nbsp;&nbsp;&nbsp; ls -l &mdash; list items in current directory and show permissions<br /><br />&nbsp;&nbsp;&nbsp; chmod ugo file &mdash; change permissions of file to ugo - u is the user's permissions, g is the group's permissions, and o is everyone else's permissions. The values of u, g, and o can be any number between 0 and 7.<br /><br />&nbsp;&nbsp;&nbsp; 7 &mdash; full permissions<br /><br />&nbsp;&nbsp;&nbsp; 6 &mdash; read and write only<br /><br />&nbsp;&nbsp;&nbsp; 5 &mdash; read and execute only<br /><br />&nbsp;&nbsp;&nbsp; 4 &mdash; read only<br /><br />&nbsp;&nbsp;&nbsp; 3 &mdash; write and execute only<br /><br />&nbsp;&nbsp;&nbsp; 2 &mdash; write only<br /><br />&nbsp;&nbsp;&nbsp; 1 &mdash; execute only<br /><br />&nbsp;&nbsp;&nbsp; 0 &mdash; no permissions<br /><br />&nbsp;&nbsp;&nbsp; chmod 600 file &mdash; you can read and write - good for files<br /><br />&nbsp;&nbsp;&nbsp; chmod 700 file &mdash; you can read, write, and execute - good for scripts<br /><br />&nbsp;&nbsp;&nbsp; chmod 644 file &mdash; you can read and write, and everyone else can only read - good for web pages<br /><br />&nbsp;&nbsp;&nbsp; chmod 755 file &mdash; you can read, write, and execute, and everyone else can read and execute - good for programs that you want to share<br />&nbsp;&nbsp;&nbsp; Networking<br /><br />&nbsp;&nbsp;&nbsp; wget file &mdash; download a file<br /><br />&nbsp;&nbsp;&nbsp; curl file &mdash; download a file<br /><br />&nbsp;&nbsp;&nbsp; scp user@host:file dir &mdash; secure copy a file from remote server to the dir directory on your machine<br /><br />&nbsp;&nbsp;&nbsp; scp file user@host:dir &mdash; secure copy a file from your machine to the dir directory on a remote server<br /><br />&nbsp;&nbsp;&nbsp; scp -r user@host:dir dir &mdash; secure copy the directory dir from remote server to the directory dir on your machine<br /><br />&nbsp;&nbsp;&nbsp; ssh user@host &mdash; connect to host as user<br /><br />&nbsp;&nbsp;&nbsp; ssh -p port user@host &mdash; connect to host on port as user<br /><br />&nbsp;&nbsp;&nbsp; ssh-copy-id user@host &mdash; add your key to host for user to enable a keyed or passwordless login<br /><br />&nbsp;&nbsp;&nbsp; ping host &mdash; ping host and output results<br /><br />&nbsp;&nbsp;&nbsp; whois domain &mdash; get information for domain<br /><br />&nbsp;&nbsp;&nbsp; dig domain &mdash; get DNS information for domain<br /><br />&nbsp;&nbsp;&nbsp; dig -x host &mdash; reverse lookup host<br /><br />&nbsp;&nbsp;&nbsp; lsof -i tcp:1337 &mdash; list all processes running on port 1337<br />&nbsp;&nbsp;&nbsp; Searching<br /><br />&nbsp;&nbsp;&nbsp; grep pattern files &mdash; search for pattern in files<br /><br />&nbsp;&nbsp;&nbsp; grep -r pattern dir &mdash; search recursively for pattern in dir<br /><br />&nbsp;&nbsp;&nbsp; grep -rn pattern dir &mdash; search recursively for pattern in dir and show the line number found<br /><br />&nbsp;&nbsp;&nbsp; grep -r pattern dir --include='*.ext &mdash; search recursively for pattern in dir and only search in files with .ext extension<br /><br />&nbsp;&nbsp;&nbsp; command | grep pattern &mdash; search for pattern in the output of command<br /><br />&nbsp;&nbsp;&nbsp; find file &mdash; find all instances of file in real system<br /><br />&nbsp;&nbsp;&nbsp; locate file &mdash; find all instances of file using indexed database built from the updatedb command. Much faster than find<br /><br />&nbsp;&nbsp;&nbsp; sed -i 's/day/night/g' file &mdash; find all occurrences of day in a file and replace them with night - s means substitude and g means global - sed also supports regular expressions<br />&nbsp;&nbsp;&nbsp; Compression<br /><br />&nbsp;&nbsp;&nbsp; tar cf file.tar files &mdash; create a tar named file.tar containing files<br /><br />&nbsp;&nbsp;&nbsp; tar xf file.tar &mdash; extract the files from file.tar<br /><br />&nbsp;&nbsp;&nbsp; tar czf file.tar.gz files &mdash; create a tar with Gzip compression<br /><br />&nbsp;&nbsp;&nbsp; tar xzf file.tar.gz &mdash; extract a tar using Gzip<br /><br />&nbsp;&nbsp;&nbsp; gzip file &mdash; compresses file and renames it to file.gz<br /><br />&nbsp;&nbsp;&nbsp; gzip -d file.gz &mdash; decompresses file.gz back to file<br />&nbsp;&nbsp;&nbsp; Shortcuts<br /><br />&nbsp;&nbsp;&nbsp; ctrl+a &mdash; move cursor to beginning of line<br /><br />&nbsp;&nbsp;&nbsp; ctrl+f &mdash; move cursor to end of line<br /><br />&nbsp;&nbsp;&nbsp; alt+f &mdash; move cursor forward 1 word<br /><br />&nbsp;&nbsp;&nbsp; alt+b &mdash; move cursor backward 1 word</p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/37677/installing-blat-on-linux</guid>
	<pubDate>Tue, 11 Sep 2018 08:17:35 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/37677/installing-blat-on-linux</link>
	<title><![CDATA[Installing BLAT on Linux !]]></title>
	<description><![CDATA[<p><span>It's been a while since I last installed BLAT and when I went to the download directory at UCSC:&nbsp;</span><a href="http://users.soe.ucsc.edu/~kent/src/">http://users.soe.ucsc.edu/~kent/src/</a><span>&nbsp;I found that the latest blast is now version 35 and that the code to download was:&nbsp;</span><a href="http://users.soe.ucsc.edu/~kent/src/blatSrc35.zip">blatSrc35.zip</a><span>. However, you can also get pre-compiled binaries at:&nbsp;</span><a href="http://hgdownload.cse.ucsc.edu/admin/exe/">http://hgdownload.cse.ucsc.edu/admin/exe/</a><span>&nbsp;and that there was a linux x86_64 executable for my architecture available at:&nbsp;</span><a href="http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/blat/">http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/blat/</a><span>. Though YYMV, BLAT can be a little bit of a tricky beast to get going, so I decided to download the source code and compile that.</span><br /><br /><span>I will be compiling this code as 'root' as a system tool in&nbsp;</span><code>/usr/local/src</code><span>, so do not scream at me for that.</span><br /><br /><span>First I created an /usr/local/src/blat directory and I copied the blatSrc35.zip file into that.</span><br /><br /><span>Next I used</span></p><pre><code>unzip blatSrc35.zip</code></pre><p><span>to unpack the archive. This gives a directory blatSrc now move into that directory.</span></p><pre><code>#cd blatSrc</code></pre><p><span>before you begin read the README file that comes with the source code.</span><br /><br /><span>One thing about building blat is that you need to set the MACHTYPE variable so that the BLAT sources know what type of machine you are compiling the software on.</span><br /><br /><span>on most *nix machines, typing</span></p><pre><code>echo $MACHTYPE</code></pre><p><span>will return the machine architecture type.</span><br /><br /><span>On my CentOS 6 based system this gave:</span></p><pre><code>x86_64-redhat-linux-gnu</code></pre><p><span>However, what BLAT requires is the 'short value' (ie the first part of the MACHTYPE). To correct this, in the bash shell type (change this to the correct MACHTYPE for your system)</span></p><pre><code>MACHTYPE=x86_64
export MACHTYPE</code></pre><p><span>now running the command:</span></p><pre><code>echo $MACHTYPE</code></pre><p><span>should give the correct short form of the MACHTYPE:</span></p><pre><code>x86_64</code></pre><p><span>now create the directory lib/$MACHTYPE in the source tree. ie:</span></p><pre><code>mkdir lib/$MACHTYPE</code></pre><p><span>For my machine, lib/x86_64 already existed, so I did not have to do this, but this is not the case for all architectures.</span><br /><br /><span>The BLAT code assumes that you are compiling BLAT as a non-privileged (ie non-root) user. As a result, you must create the directory for the executables to go into:</span><br /><br /><span>mkdir ~/bin/$MACHTYPE</span><br /><br /><span>If you are installing as a normal user, edit your .bashrc to add the following (change the x86_64 to be your MACHTYPE):</span><br /><br /><span>export PATH=~/bin/x86_64::$PATH</span><br /><br /><span>For me, though, this was not good enough. I wanted the executables in /usr/local/bin where all my other code goes. As a result I did some hackery...</span><br /><br /><span>There is a master make template in the&nbsp;</span><code>inc</code><span>&nbsp;directory called&nbsp;</span><code>common.mk</code><span>&nbsp;and I edited this file with the command:</span><br /><br /><span>vi inc/common.mk</span><br /><br /><span>I replaced the line</span></p><pre><code>    BINDIR=${HOME}/bin/${MACHTYPE}</code></pre><p><span>with</span></p><pre><code>    BINDIR=/usr/local/bin</code></pre><p><span>saved and quit (as this is in my path, I do not need to do anything else)</span><br /><br /><span>All the preparation is now done and you can create the blat executables by going into the toplevel of the blat source tree (for me it was&nbsp;</span><code>/usr/local/src/blat/blatSrc</code><span>, but change to wherever you unpacked blat into).</span><br /><br /><span>Now simply run the command:</span></p><pre><code>make</code></pre><p><span>to compile the code.</span><br /><br /><span>Blat installed cleanly and the executables were all neatly placed in /usr/local/bin/x86_64, just like I wanted.</span><br /><br /><span>now simply running the command:</span></p><pre><code>blat</code></pre><p><span>on the command line gives me information on blat and sample usage.</span><br /><br /><span>Blat is installed and it's installed properly in my system code tree!!!</span></p>]]></description>
	<dc:creator>BioStar</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/38248/how-to-set-up-ssh-on-ubuntu-1804</guid>
	<pubDate>Thu, 22 Nov 2018 10:12:00 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/38248/how-to-set-up-ssh-on-ubuntu-1804</link>
	<title><![CDATA[How to set up SSH on Ubuntu 18.04]]></title>
	<description><![CDATA[<p>SSH, also known as Secure Shell or Secure Socket Shell, is a network protocol that gives users, particularly system administrators, a secure way to access a computer over an unsecured network. SSH also refers to the suite of utilities that implement the SSH protocol.</p><p>Here are the commands used to connect by Secure SHell:</p><p>On the server side</p><blockquote><p><span style="font-size: 12.8px;">sudo apt-get install ssh</span></p><p><span style="font-size: 12.8px;">sudo apt-get install openssh-server</span></p><p><span style="font-size: 12.8px;">sudo /etc/init.d/ssh start</span></p><p>sudo nano /etc/ssh/sshd_config</p><p>Uncomment port 22<br />Uncomment HostKey /etc/ssh/ssh_host_rsa_key<br />Uncomment AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2<br />Set pubkey authentication to "yes"</p></blockquote><p>sudo systemctl restart sshd.service # or sudo /etc/init.d/ssh reload</p><p><br />On the client side:<br />in ~/.ssh</p><blockquote><p>ssh-keygen -t rsa # set passphrase or not<br />ssh-copy-id -i ~/.ssh/id_rsa user@100.100.10.100</p></blockquote><p>--&gt; write "yes" then password in</p><blockquote><p><br />ssh user@100.100.10.100</p></blockquote><p>--&gt; write password --&gt; you should be in</p><p>--&gt; in /home/user/.ssh/config type:<br /><strong>Host WhateverName</strong><br /><strong> HostName 100.100.10.100</strong><br /><strong> User username</strong><br /><strong> ForwardX11 yes</strong><br /><strong> ForwardAgent yes</strong><br /><strong> IdentityFile ~/.ssh/id_rsa</strong></p><p>--&gt; you should now be able to connect with :</p><blockquote><p>ssh WhateverName</p></blockquote>]]></description>
	<dc:creator>AnHo</dc:creator>
</item>

</channel>
</rss>