<?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/36502?offset=10</link>
	<atom:link href="https://bioinformaticsonline.com/related/36502?offset=10" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<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/blog/view/26395/biolinux-ubuntu-desktop-folder-and-files-disappeared</guid>
	<pubDate>Tue, 16 Feb 2016 08:40:41 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/26395/biolinux-ubuntu-desktop-folder-and-files-disappeared</link>
	<title><![CDATA[BioLinux Ubuntu Desktop folder and files disappeared !!]]></title>
	<description><![CDATA[<p>Restarted my BioLinux ubuntu computer after an update, and when I logged back in, I noticed that all of my files went missing. Instead of Desktop folder, icons of all of my home folder are showed on desktop.</p><p>Then I thaught it migh be a problem of graphical display and I opened the terminal out of curiosity, and I found out that there is no ~/Desktop folder at all. What happened? What do I need to do?</p><p>Then I google the problem and found this is a very common problem after updates. To fix this problem, follow these steps:</p><p>You need to edit the ~/.config/user-dirs.dirs file, and make sure the contents of the file are like the following:<br /><br />XDG_DESKTOP_DIR="$HOME/Desktop"<br />XDG_DOWNLOAD_DIR="$HOME/Downloads"<br />XDG_TEMPLATES_DIR="$HOME/"<br />XDG_PUBLICSHARE_DIR="$HOME/Share"<br />XDG_DOCUMENTS_DIR="$HOME/Documents"<br />XDG_MUSIC_DIR="$HOME/Music"<br />XDG_PICTURES_DIR="$HOME/Pictures"<br />XDG_VIDEOS_DIR="$HOME/Videos"<br /><br />Then restart nautilus:<br /><br />killall nautilus<br /><br />or<br /><br />nautilus -q<br /><br />Then, open nautilus via Unity menu (press the Super key) or using the run command (Alt+F2)</p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/40768/linux-advantages</guid>
	<pubDate>Thu, 30 Jan 2020 06:27:29 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/40768/linux-advantages</link>
	<title><![CDATA[Linux advantages]]></title>
	<description><![CDATA[<p>https://www.forbes.com/sites/jasonevangelho/2018/07/30/ditching-windows-heres-how-ubuntu-updates-your-pc-and-why-its-better/#7aa6fa5f7c23</p><p>https://www.forbes.com/sites/jasonevangelho/2018/07/23/5-reasons-you-should-switch-from-windows-to-linux-right-now/#70c74923777b</p>]]></description>
	<dc:creator>Rahul Agarwal</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/43911/slurm-commands</guid>
	<pubDate>Wed, 06 Jul 2022 07:40:07 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/43911/slurm-commands</link>
	<title><![CDATA[SLURM Commands]]></title>
	<description><![CDATA[<h3>SLURM commands</h3><p>The following table shows SLURM commands on the SOE cluster.</p><table border="1">
<thead>
<tr><th>Command</th><th>Description</th></tr>
</thead>
<tbody>
<tr>
<td><strong>sbatch</strong></td>
<td>Submit batch scripts to the cluster</td>
</tr>
<tr>
<td><strong>scancel</strong></td>
<td>Signal jobs or job steps that are under the control of Slurm.</td>
</tr>
<tr>
<td><strong>sinfo</strong></td>
<td>View information about SLURM nodes and partitions.</td>
</tr>
<tr>
<td><strong>squeue</strong></td>
<td>View information about jobs located in the SLURM scheduling queue</td>
</tr>
<tr>
<td><strong>smap</strong></td>
<td>Graphically view information about SLURM jobs, partitions, and set configurations parameters</td>
</tr>
<tr>
<td><strong>sqlog</strong></td>
<td>View information about running and finished jobs</td>
</tr>
<tr>
<td><strong>sacct</strong></td>
<td>View resource accounting information for finished and running jobs</td>
</tr>
<tr>
<td><strong>sstat</strong></td>
<td>View resource accounting information for running jobs</td>
</tr>
</tbody>
</table><p><span>For more information, run&nbsp;</span><strong>man</strong><span>&nbsp;on the commands above. See some examples below.</span><br /><br /><span style="font-size: large;"><strong>1. Info about the partitions and nodes</strong></span><span></span><br /><span>List all the partitions available to you and the nodes therein:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>sinfo
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>Nodes in state&nbsp;</span><tt>idle</tt><span>&nbsp;can accept new jobs.</span><br /><br /><span>Show a partition configuratuin, for example,&nbsp;</span><tt>SOE_main</tt><span></span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>scontrol show partition=SOE_main
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>Show current info about a specific node:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>scontrol show node=&lt;nodename&gt;
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>You can also specify a group of nodes in the command above. For example, if your MPI job is running across soenode05,06,35,36, you can execute the command below to get the info on the nodes you are interested in:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>scontrol show node=soenode[05-06,35-36]
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>An informative parameter in the output to look at would be CPULoad. It allows you to see how your application utilizes the CPUs on the running nodes.</span><br /><br /><span style="font-size: large;"><strong>2. Submit scripts</strong></span><span></span><br /><span>The header in a submit script specifies job name, partition (queue), time limit, memory allocation, number of nodes, number of cores, and files to collect standard output and error at run time, for example</span></p><div><table border="1">
<tbody>
<tr>
<td>
<pre>#!/bin/bash

#SBATCH --job-name=OMP_run     # job name, "OMP_run"
#SBATCH --partition=SOE_main   # partition (queue)
#SBATCH -t 0-2:00              # time limit: (D-HH:MM) 
#SBATCH --mem=32000            # memory per node in MB 
#SBATCH --nodes=1              # number of nodes
#SBATCH --ntasks-per-node=16   # number of cores
#SBATCH --output=slurm.out     # file to collect standard output
#SBATCH --error=slurm.err      # file to collect standard errors
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>If the time limit is not specified in the submit script, SLURM will assign the default run time, 3 days. This means the job will be terminated by SLURM in 72 hrs. The maximum allowed run time is two weeks,&nbsp;</span><tt>14-0:00</tt><span>.</span><br /><span>If the memory limit is not requested, SLURM will assign the default 16 GB. The maximum allowed memory per node is 128 GB. To see how much RAM per node your job is using, you can run commands&nbsp;</span><tt>sacct</tt><span>&nbsp;or&nbsp;</span><tt>sstat</tt><span>&nbsp;to query MaxRSS for the job on the node - see examples below.</span><br /><span>Depending on a type of application you need to run, the submit script may contain commands to create a temporary space on a computational node -&nbsp;</span><a href="http://ecs.rutgers.edu/file_systems.html">see the discussion about using the file systems on the cluster.</a><span></span><br /><span>Then it sets the environment specific to the application and starts the application on one or multiple nodes - see sbatch sample scripts in directory&nbsp;</span><tt>/usr/local/Samples</tt><span>&nbsp;on soemaster1.hpc.rutgers.edu.</span><br /><span>You can submit your job to the cluster with&nbsp;</span><tt>sbatch</tt><span>&nbsp;command:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>sbatch myscript.sh
</pre>
</td>
</tr>
</tbody>
</table></div><p><br /><span style="font-size: large;"><strong>3. Query job information</strong></span><span></span><br /><span>List all currently submitted jobs in running and pending states for a user:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>squeue -u &lt;username&gt;
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>Command&nbsp;</span><tt>squeue</tt><span>&nbsp;can be run with format options to expose specific information, for example, when pending job #706 is scheduled to start running:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>squeue -j 706 --format="%S"
</pre>
</td>
</tr>
</tbody>
</table></div><div><table border="1">
<tbody>
<tr>
<td>
<pre>START_TIME
2015-04-30T09:54:32
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>More info can be shown by placing additional format options, for example:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>squeue -j 706 --format="%i %P %j %u %T %l %C %S"
</pre>
</td>
</tr>
</tbody>
</table></div><div><table border="1">
<tbody>
<tr>
<td>
<pre>JOBID PARTITION   NAME    USER STATE   TIMELIMIT  CPUS START_TIME
706   SOE_main  Par_job_3 mike PENDING 3-00:00:00 64   2015-04-30T09:54:32
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>To see when all the jobs, pending in the queue, are scheduled to start:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>squeue --start 
</pre>
</td>
</tr>
</tbody>
</table></div><p><br /><span>List all running and completed jobs for a user</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>sqlog -u &lt;username&gt;
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>or</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>sqlog -j &lt;JobID&gt;
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>The following appreviations are used for the job states:</span></p><pre>       CA   CANCELLED      Job was cancelled.

       CD   COMPLETED      Job completed normally.

       CG   COMPLETING     Job is in the process of completing.

       F    FAILED         Job termined abnormally.

       NF   NODE_FAIL      Job terminated due to node failure.

       PD   PENDING        Job is pending allocation.

       R    RUNNING        Job currently has an allocation.

       S    SUSPENDED      Job is suspended.

       TO   TIMEOUT        Job terminated upon reaching its time limit.
</pre><p><span>You can specify the fields you would like to see in the output of&nbsp;</span><tt>sqlog</tt><span>:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>sqlog --format=list
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>The command below, for example, provides Job ID, user name, exit state, start date-time, and end date-time for job #2831:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>sqlog -j 2831 --format=jid,user,state,start,end
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>List status info for a currently running job:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>sstat -j &lt;jobid&gt;
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>A formatted output can be used to gain only a specific info, for example, the maximum resident RAM usage on a node:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>sstat --format="JobID,MaxRSS" -j &lt;jobid&gt;
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>To get statistics on completed jobs by jobID:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>sacct --format="JobID,JobName,MaxRSS,Elapsed" -j &lt;jobid&gt;
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>To view the same information for all jobs of a user:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>sacct --format="JobID,JobName,MaxRSS,Elapsed" -u &lt;username&gt;
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>To print a list of fields that can be specified with the&nbsp;</span><tt>--format</tt><span>&nbsp;option:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>sacct --helpformat
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>For example, to get Job ID, Job name, Exit state, start date-time, and end date-time for job #2831:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>sacct -j 2831 --format="JobID,JobName,State,Start,End"
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>Another useful command to gain information about a running job is&nbsp;</span><tt>scontrol</tt><span>:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>scontrol show job=&lt;jobid&gt;
</pre>
</td>
</tr>
</tbody>
</table></div><p><br /><span style="font-size: large;"><strong>4. Cancel a job</strong></span><span></span><br /><span>To cancel one job:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>scancel &lt;jobid&gt;
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>To cancel one job and delete the TMP directory created by the submit script on a node:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>sdel &lt;jobid&gt;
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>To cancel all the jobs for a user:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>scancel -u &lt;username&gt;
</pre>
</td>
</tr>
</tbody>
</table></div><p><span>To cancel one or more jobs by name:</span></p><div><table border="0" style="background-color: #D0D0D0;">
<tbody>
<tr>
<td>
<pre>scancel --name &lt;myJobName&gt;
</pre>
</td>
</tr>
</tbody>
</table></div>]]></description>
	<dc:creator>Shruti Paniwala</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/3013/python-and-biopython-tutorial</guid>
	<pubDate>Fri, 23 Aug 2013 06:47:40 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/3013/python-and-biopython-tutorial</link>
	<title><![CDATA[Python and BioPython Tutorial]]></title>
	<description><![CDATA[<p>A quickstart tutorial that allows to become familiar with the Python language. The exercises expect knowledge of basic concepts of programming. A group of 2nd year computer science students with no previous Python knowledge required 60'-90' to complete the exercises. With about 3 hours time, the exercise is suitable for non-programmers as well.</p><p>Address of the bookmark: <a href="http://www.biotnet.org/training-materials/python-programmers" rel="nofollow">http://www.biotnet.org/training-materials/python-programmers</a></p>]]></description>
	<dc:creator>Manshi Raghubanshi</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/news/view/20331/type-hinting</guid>
	<pubDate>Fri, 09 Jan 2015 22:26:13 -0600</pubDate>
	<link>https://bioinformaticsonline.com/news/view/20331/type-hinting</link>
	<title><![CDATA[Type Hinting]]></title>
	<description><![CDATA[<p>Python creator Guido van Rossum&rsquo;s proposal for static type-checking annotations is inching closer to reality, and the feature has taken on a new name: type hinting.</p><p><img src="http://sdtimes.com/wp-content/uploads/2015/01/0107.sdt-python-typehinting.png" alt="image" width="619" height="219" style="border: 0px; border: 0px;"></p><p>Back in August, van Rossum published a proposal on the Python mailing list recommending type-checking annotations as a valuable feature for the next version of Python to improve the performance of editors and IDEs, linter capabilities, standard notation, and refactoring. Van Rossum&rsquo;s <a href="http://lwn.net/Articles/627558/">latest proposal</a>, posted late last month, outlined plans to publish a Python Enhancement Proposal (PEP) in early January to put the feature now known as type hinting on track for inclusion in Python 3.5, slated for release this September.</p><p>Reference</p><p>https://quip.com/r69HA9GhGa7J</p>]]></description>
	<dc:creator>Pranjali Yadav</dc:creator>
</item>

<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/opportunity/view/26627/scientist-computational-genomics-two-positions</guid>
  <pubDate>Sat, 12 Mar 2016 18:07:56 -0600</pubDate>
  <link></link>
  <title><![CDATA[Scientist - Computational Genomics (Two Positions)]]></title>
  <description><![CDATA[
<p>ICRISAT is a non-profit, non-political organization that conducts agricultural research for development in Asia and sub-Saharan Africa with a wide array of partners throughout the world. Covering 6.5 million square kilometers of land in 55 countries, the semi-arid tropics is home to over 2 billion people, with 650 million of these being the poorest of the poor. ICRISAT and its partners help empower those living in the semi-arid tropics, especially smallholder farmers, to overcome poverty, hunger, malnutrition and a degraded environment through more efficient and profitable agriculture.</p>

<p>ICRISAT is headquartered in Patancheru near Hyderabad, India, with two regional hubs and five country offices in sub-Saharan Africa. ICRISAT, established in 1972, is a member of the CGIAR Consortium. For more details, see www.icrisat.org.</p>

<p>Responsibilities:Design efficient SQL queries for pulling large sequencing projects.<br />Serve as a technical adviser to the project leadership and provide computational perspective on product design and deliverability.<br />Develop and oversee a rapid and incremental software development and release schedule.<br />Design the software architecture, oversee the implementation and evolution of the design on appropriate hardware platforms.<br />Working collaboratively in a team environment to design, code, test, debug, and document programs for an integrated genomic analysis pipeline in a rapid and incremental software development and release schedule.<br />Supervise and review code development and ensure that software products meet project objectives in terms of functionality, scalability, robustness and user experience.<br />Implement and oversee the QA/QC practices to ensure the development team is adhering to quality standards.<br />Work closely with the application specialist to integrate feedbacks from teams in each CGIAR center into software customization and improvement.<br />Assist in training of breeders in the CGIAR centers to use software developed.<br /> Personal Profile:</p>

<p>The applicant should have:</p>

<p>Understanding of genomics data and advanced knowledge of Java, and C/C++ as the programming languages and any of the scripting language like perl and/or Python, SQL<br />High Performance Computing, data architecture, database platforms and QA/QC practices in software engineering.<br />She/he should have solid experience in software development projects, preferably as a senior programmer or in the software project management role, and in projects involving big data.<br />Excellent communication skills are needed to work in this multi-disciplinary, multi-location and multi-cultural team.<br />Ability to mentor colleagues in quality software development practices is desired.<br />Educational Qualification : Ph. D or Masters Degree in Computational Biology / Computational Genomics or Equivalent with Research Experience in Mentioned Areas.</p>

<p>More at http://www.icrisat.org/careers/</p>
]]></description>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/36360/dendropy-a-python-library-for-phylogenetic-computing</guid>
	<pubDate>Mon, 23 Apr 2018 05:49:50 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/36360/dendropy-a-python-library-for-phylogenetic-computing</link>
	<title><![CDATA[DendroPy: a Python library for phylogenetic computing]]></title>
	<description><![CDATA[<p>DendroPy is a Python library for phylogenetic computing. It provides classes and functions for the simulation, processing, and manipulation of phylogenetic trees and character matrices, and supports the reading and writing of phylogenetic data in a range of formats, such as NEXUS, NEWICK, NeXML, Phylip, FASTA, etc. Application scripts for performing some useful phylogenetic operations, such as data conversion and tree posterior distribution summarization, are also distributed and installed as part of the libary. DendroPy can thus function as a stand-alone library for phylogenetics, a component of more complex multi-library phyloinformatic pipelines, or as a scripting &ldquo;glue&rdquo; that assembles and drives such pipelines.</p>
<p>The primary home page for DendroPy, with detailed tutorials and documentation, is at:</p>
<blockquote><div><a href="http://dendropy.org/">http://dendropy.org/</a></div></blockquote>
<p>DendroPy is also hosted in the official Python repository:</p>
<blockquote><div><a href="http://packages.python.org/DendroPy/">http://packages.python.org/DendroPy/</a></div></blockquote>
<div id="requirements-and-installation">
<h2>Requirements and Installation</h2>
<p>DendroPy 4.x runs under Python 3 (all versions &gt; 3.1) and Python 2 (Python 2.7 only).</p>
<p>You can install DendroPy by running:</p>
<pre>&nbsp;</pre>
<p>More information is available here:</p>
<blockquote><div><a href="http://dendropy.org/downloading.html">http://dendropy.org/downloading.html</a></div></blockquote>
</div>
<div id="documentation">
<h2>Documentation</h2>
<p>Full documentation is available here:</p>
<blockquote><div><a href="http://dendropy.org/">http://dendropy.org/</a></div></blockquote>
<p>This includes:</p>
<blockquote>
<ul>
<li><a href="http://dendropy.org/primer/index.html">A comprehensive &ldquo;getting started&rdquo; primer</a>&nbsp;.</li>
<li><a href="http://dendropy.org/library/index.html">API documentation</a>&nbsp;.</li>
<li><a href="http://dendropy.org/schemas/index.html">Descriptions of data formats supported for reading/writing</a>&nbsp;.</li>
</ul>
</blockquote>
<p>and more.</p>
</div><p>Address of the bookmark: <a href="https://pypi.org/project/DendroPy/" rel="nofollow">https://pypi.org/project/DendroPy/</a></p>]]></description>
	<dc:creator>Seema Singh</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/37586/julia-programming-language-a-python-and-r-rival</guid>
	<pubDate>Sat, 25 Aug 2018 04:46:39 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/37586/julia-programming-language-a-python-and-r-rival</link>
	<title><![CDATA[Julia Programming Language, a Python and R rival]]></title>
	<description><![CDATA[<p>Big data has grown to become one of the most lucrative fields. In fact, data scientists are some of the most sought people. They are usually hired to analyze, control and parse large chunks of data. Implementing these actions using traditional techniques is not a walk in the park. This is why most data scientists prefer using programming languages such as R and Python. However, there is one more programming language that can do the job. That is Julia programming language.</p><p>What Is Julia Language?</p><p>Julia is a programming language that came into the limelight in 2012. It is a general-purpose programming language that was designed for solving scientific computations. Julia was meant to be an alternative to Python, R and other programming languages that were mainly used for manipulating data. This is because it has numerous features that can minimize the complexities of numerical computations.&nbsp;</p><p>Julia optimizes on the best features of Python and R while at the same time overlooks their weaknesses. This explains why it is viewed as an alternative to these programming languages. For instance, it utilizes the readability and simplicity of Python then performs faster.</p><p>Julia is the most preferred programming language for data scientists and mathematicians. This is because its core features are similar to the ones that are used on most data software. Also, the language is ideal for these two subjects because its syntax is similar to the standard mathematical formulas.</p><p>Key Features Of Julia Language<br />Uses JIT Compilation<br />Parallelism<br />Dynamic Typing<br />Simple Syntax<br />Allows Metaprogramming<br />Accessible to Libraries<br />-1-Array Indexing</p><p>Julia Vs Python And R Programming Languages<br />1. Speed<br />Julia is faster than both Python and R. This is a very critical aspect that is given special attention in the big data programming. The high speed of Julia is because of JIT compilers. You will need to install external libraries on Python to achieve similar speed.</p><p>2. Syntax<br />Julia has a math-friendly syntax. The syntax of this programming language is similar to the mathematical formulas hence can be used to perform mathematical and scientific computations. This syntax makes it easier to learn than Python.</p><p>3. Parallelism<br />Although both Python and R use parallelism, Julia uses a top-level parallelism. Julia allows the processor to perform to the optimum level than what Python and R can achieve.</p><p>4. Versatility<br />Julia programming language is more versatile than Python and R. It allows a programmer to move from different codes and functions with ease.</p><p>The only area that Python and R are superior to Julia is in terms of community. Given that Julia is a new programming language, it has a small community as compared to others which have been around for years.</p><p>In overall Julia programming language is a better alternative that you can use to handle Big data projects. Despite having a small community, it is one of those programming languages that you can easily learn.</p>]]></description>
	<dc:creator>Radha Agarkar</dc:creator>
</item>

</channel>
</rss>