<?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/31976?</link>
	<atom:link href="https://bioinformaticsonline.com/related/31976?" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/27463/bpipe-a-tool-for-running-and-managing-bioinformatics-pipelines</guid>
	<pubDate>Sat, 21 May 2016 22:42:16 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/27463/bpipe-a-tool-for-running-and-managing-bioinformatics-pipelines</link>
	<title><![CDATA[Bpipe - a tool for running and managing bioinformatics pipelines]]></title>
	<description><![CDATA[<p>Bpipe provides a platform for running big bioinformatics jobs that consist of a series of processing stages - known as 'pipelines'.</p>
<ul>
<li>January 20th, 2016 - New! Bpipe 0.9.9 released!</li>
<li>Download <a href="http://download.bpipe.org/versions/bpipe-0.9.9.tar.gz">latest</a>, <a href="http://download.bpipe.org">all</a></li>
<li><a href="http://docs.bpipe.org">Documentation</a></li>
<li><a href="https://groups.google.com/forum/#%21forum/bpipe-discuss">Mailing List</a> (Google Group)</li>
</ul>
<p>Bpipe has been published in <a href="http://bioinformatics.oxfordjournals.org/content/early/2012/04/11/bioinformatics.bts167.abstract">Bioinformatics</a>! If you use Bpipe, please cite:</p>
<p><em>Sadedin S, Pope B &amp; Oshlack A, Bpipe: A Tool for Running and Managing Bioinformatics Pipelines, Bioinformatics</em></p><p>Address of the bookmark: <a href="http://docs.bpipe.org/" rel="nofollow">http://docs.bpipe.org/</a></p>]]></description>
	<dc:creator>Radha Agarkar</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/30696/many-core-engine-mce-for-perl-example</guid>
	<pubDate>Tue, 31 Jan 2017 05:37:50 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/30696/many-core-engine-mce-for-perl-example</link>
	<title><![CDATA[Many-Core Engine (MCE) for Perl example]]></title>
	<description><![CDATA[<p><span>MCE spawns a pool of workers and therefore does not fork a new process per each element of data. Instead, MCE follows a bank queuing model. Imagine the line being the data and bank-tellers the parallel workers. MCE enhances that model by adding the ability to chunk the next n elements from the input stream to the next available worker.</span></p>
<p>CORE MODULES</p>
<p>Three modules make up the core engine for MCE.</p>
<dl><dt id="MCE::Core"><a href="https://metacpan.org/pod/MCE#MCE::Core"><span></span></a><a></a><a href="https://metacpan.org/pod/distribution/MCE/lib/MCE/Core.pod">MCE::Core</a></dt><dd>
<p>Provides the Core API for Many-Core Engine. The various MCE options are described here.</p>
</dd><dt id="MCE::Signal"><a href="https://metacpan.org/pod/MCE#MCE::Signal"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Signal">MCE::Signal</a></dt><dd>
<p>Temporary directory creation, cleanup, and signal handling.</p>
</dd><dt id="MCE::Util"><a href="https://metacpan.org/pod/MCE#MCE::Util"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Util">MCE::Util</a></dt><dd>
<p>Utility functions for Many-Core Engine.</p>
</dd></dl>
<p><a href="https://metacpan.org/pod/MCE#MCE-EXTRAS"><span></span></a><a></a>MCE EXTRAS</p>
<p>There are 4 add-on modules for use with MCE.</p>
<dl><dt id="MCE::Candy"><a href="https://metacpan.org/pod/MCE#MCE::Candy"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Candy">MCE::Candy</a></dt><dd>
<p>Provides a collection of sugar methods and output iterators for preserving output order.</p>
</dd><dt id="MCE::Mutex"><a href="https://metacpan.org/pod/MCE#MCE::Mutex"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Mutex">MCE::Mutex</a></dt><dd>
<p>Provides a simple semaphore implementation supporting threads and processes.</p>
</dd><dt id="MCE::Queue"><a href="https://metacpan.org/pod/MCE#MCE::Queue"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Queue">MCE::Queue</a></dt><dd>
<p>Provides a hybrid queuing implementation for MCE supporting normal queues and priority queues from a single module. MCE::Queue exchanges data via the core engine to enable queuing to work for both children (spawned from fork) and threads.</p>
</dd><dt id="MCE::Relay"><a href="https://metacpan.org/pod/MCE#MCE::Relay"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Relay">MCE::Relay</a></dt><dd>
<p>Enables workers to receive and pass on information orderly with zero involvement by the manager process while running.</p>
</dd></dl>
<p><a href="https://metacpan.org/pod/MCE#MCE-MODELS"><span></span></a><a></a>MCE MODELS</p>
<p>The models take Many-Core Engine to a new level for ease of use. Two options (chunk_size and max_workers) are configured automatically as well as spawning and shutdown.</p>
<dl><dt id="MCE::Loop"><a href="https://metacpan.org/pod/MCE#MCE::Loop"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Loop">MCE::Loop</a></dt><dd>
<p>Provides a parallel loop utilizing MCE for building creative loops.</p>
</dd><dt id="MCE::Flow"><a href="https://metacpan.org/pod/MCE#MCE::Flow"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Flow">MCE::Flow</a></dt><dd>
<p>A parallel flow model for building creative applications. This makes use of user_tasks in MCE. The author has full control when utilizing this model. MCE::Flow is similar to MCE::Loop, but allows for multiple code blocks to run in parallel with a slight change to syntax.</p>
</dd><dt id="MCE::Grep"><a href="https://metacpan.org/pod/MCE#MCE::Grep"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Grep">MCE::Grep</a></dt><dd>
<p>Provides a parallel grep implementation similar to the native grep function.</p>
</dd><dt id="MCE::Map"><a href="https://metacpan.org/pod/MCE#MCE::Map"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Map">MCE::Map</a></dt><dd>
<p>Provides a parallel map model similar to the native map function.</p>
</dd><dt id="MCE::Step"><a href="https://metacpan.org/pod/MCE#MCE::Step"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Step">MCE::Step</a></dt><dd>
<p>Provides a parallel step implementation utilizing MCE::Queue between user tasks. MCE::Step is a spin off from MCE::Flow with a touch of MCE::Stream. This model, introduced in 1.506, allows one to pass data from one sub-task into the next transparently.</p>
</dd><dt id="MCE::Stream"><a href="https://metacpan.org/pod/MCE#MCE::Stream"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Stream">MCE::Stream</a></dt><dd>
<p>Provides an efficient parallel implementation for chaining multiple maps and greps together through user_tasks and MCE::Queue. Like with MCE::Flow, MCE::Stream can run multiple code blocks in parallel with a slight change to syntax from MCE::Map and MCE::Grep.</p>
</dd></dl>
<p><a href="https://metacpan.org/pod/MCE#MISCELLANEOUS"><span></span></a>MISCELLANEOUS</p>
<p>Miscellaneous additions included with the distribution.</p>
<dl><dt id="MCE::Examples"><a href="https://metacpan.org/pod/MCE#MCE::Examples"><span></span></a><a></a><a href="https://metacpan.org/pod/distribution/MCE/lib/MCE/Examples.pod">MCE::Examples</a></dt><dd>
<p>Describes various demonstrations for MCE including a Monte Carlo simulation.</p>
</dd><dt id="MCE::Subs"><a href="https://metacpan.org/pod/MCE#MCE::Subs"><span></span></a><a></a><a href="https://metacpan.org/pod/MCE::Subs">MCE::Subs</a></dt><dd>
<p>Exports functions mapped directly to MCE methods; e.g. mce_wid. The module allows 3 options; :manager, :worker, and :getter.</p>
</dd></dl>
<p><a href="https://metacpan.org/pod/MCE#REQUIREMENTS"><span></span></a>REQUIREMENTS</p>
<p>Perl 5.8.0 or later. PDL::IO::Storable is required in scripts running PDL.</p>
<p><a href="https://metacpan.org/pod/MCE#SOURCE-AND-FURTHER-READING"><span></span></a><a></a>SOURCE AND FURTHER READING</p>
<p>The source, cookbook, and examples are hosted at GitHub.</p>
<ul>
<li>
<p><a href="https://github.com/marioroy/mce-perl">https://github.com/marioroy/mce-perl</a></p>
</li>
<li>
<p><a href="https://github.com/marioroy/mce-cookbook">https://github.com/marioroy/mce-cookbook</a></p>
</li>
<li>
<p><a href="https://github.com/marioroy/mce-examples">https://github.com/marioroy/mce-examples</a></p>
</li>
</ul>
<p><a href="https://metacpan.org/pod/MCE#SEE-ALSO"><span></span></a><a></a>SEE ALSO</p>
<p><code>MCE::Shared</code>&nbsp;provides data sharing capabilities for&nbsp;<code>MCE</code>. It includes&nbsp;<code>MCE::Hobo</code>&nbsp;for running code asynchronously.</p>
<ul>
<li>
<p><a href="https://metacpan.org/pod/MCE::Shared">MCE::Shared</a></p>
</li>
<li>
<p><a href="https://metacpan.org/pod/MCE::Hobo">MCE::Hobo</a></p>
</li>
</ul><p>Address of the bookmark: <a href="https://github.com/marioroy/mce-examples" rel="nofollow">https://github.com/marioroy/mce-examples</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/news/view/396/bioinformatics-introduction-to-perl</guid>
	<pubDate>Thu, 11 Jul 2013 09:49:37 -0500</pubDate>
	<link>https://bioinformaticsonline.com/news/view/396/bioinformatics-introduction-to-perl</link>
	<title><![CDATA[Bioinformatics: Introduction to PERL]]></title>
	<description><![CDATA[<p>This course is aimed at those new to programming and provides an introduction to programming using <strong>Perl</strong>. By the end of this course, attendees should be able to write simple <strong>Perl</strong> programs and to understand more complex <strong>Perl</strong> programs written by others. The course will be taught using the online <a href="http://sofiarobb.com/learning-perl-toc/" title="http://sofiarobb.com/learning-perl-toc/">Learning Perl</a> materials created by <a href="http://stajich.bioinformatics.ucr.edu/members/sofia-robb" title="http://stajich.bioinformatics.ucr.edu/members/sofia-robb">Sofia Robb</a> of the <a href="http://www.ucr.edu/" title="http://www.ucr.edu/">University of California Riverside</a>. Further information is <a href="http://ruddles.bio.cam.ac.uk/%7Edpjudge/Descriptions/PERL.php" title="http://ruddles.bio.cam.ac.uk/~dpjudge/Descriptions/PERL.php">available</a>.</p>]]></description>
	<dc:creator>Archana Malhotra</dc:creator>
</item>

<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/opportunity/view/43292/bioinformatics-scientist-production-bioinformatics-south-san-francisco-ca</guid>
  <pubDate>Thu, 19 Aug 2021 08:45:24 -0500</pubDate>
  <link></link>
  <title><![CDATA[Bioinformatics Scientist, Production Bioinformatics @ South San Francisco, CA]]></title>
  <description><![CDATA[
<p>wist is looking for a Bioinformatics Scientist to join our Production Bioinformatics Team. You will work alongside research scientists, software engineers and data scientists to further deliver on our mission to expand access to best-in-class synthetic biology and next-generation sequencing applications. You will be developing and engineering tools to better evaluate and build hardened, production quality pipelines, optimize data quality, and automate lab and bioinformatics processes. Our ideal candidate is an organized problem solver with a background in developing and building novel production-quality bioinformatics tools and packages. Equally excellent communication skills and a proven ability to work independently are required.</p>

<p>More at https://boards.greenhouse.io/twistbioscience/jobs/3135495?gh_src=9ecc0b941us</p>
]]></description>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/22567/rosalind-problem-solution-with-perl</guid>
	<pubDate>Tue, 09 Jun 2015 23:35:18 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/22567/rosalind-problem-solution-with-perl</link>
	<title><![CDATA[Rosalind Problem Solution with Perl]]></title>
	<description><![CDATA[<p>Rosalind is a platform for learning bioinformatics and programming through problem solving. <a href="http://rosalind.info/problems/list-view/?location=bioinformatics-textbook-track">Take a tour</a> to get the hang of how Rosalind works.</p><p>Bioinformatics Textbook Track</p><p>Find more about Rosalind puzzle at http://rosalind.info/problems/list-view/?location=bioinformatics-textbook-track</p><p>I will provide solution of all the Rosalind problem with Perl for community.</p><p>Check out the right sidebar for more links ...</p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/26424/biotoolbox</guid>
	<pubDate>Fri, 19 Feb 2016 09:14:44 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/26424/biotoolbox</link>
	<title><![CDATA[BioToolbox]]></title>
	<description><![CDATA[<p>This is a collection of libraries and high-quality end-user scripts for bioinformatic analysis, including working with gene annotation, collecting data scores from a variety of modern file formats, and conversion between file formats. The Bio::ToolBox libraries provide a unified, abstracted interface to multiple common gene annotation formats and the collection of data from multiple data files. They rely on BioPerl SeqFeature libraries and related adaptors to access binary file formats including Bam, BigWig, BigBed, and USeq. The Bio::ToolBox package includes scripts for setting up databases of annotation, collecting annotated features, collecting genomic data relative to features, manipulating and analyzing data, and data format conversion.</p>
<p>More at http://cpansearch.perl.org/src/TJPARNELL/</p><p>Address of the bookmark: <a href="http://cpansearch.perl.org/src/TJPARNELL/" rel="nofollow">http://cpansearch.perl.org/src/TJPARNELL/</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/29479/how-to-install-perl-modules-on-mac-os-x-in-easy-steps</guid>
	<pubDate>Thu, 20 Oct 2016 07:26:29 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/29479/how-to-install-perl-modules-on-mac-os-x-in-easy-steps</link>
	<title><![CDATA[How to install Perl modules on Mac OS X in easy steps !!]]></title>
	<description><![CDATA[<p>Today at work, I learned how to install Perl modules using&nbsp;<a href="http://en.wikipedia.org/wiki/CPAN">CPAN</a>. It&rsquo;s a lot easier than I thought.</p><p>You see, for the past couple of years, I&rsquo;ve been a bit frustrated because OS X does not come with a whole lot of Perl modules pre-installed, and for all I googled, I couldn&rsquo;t find an &ldquo;idiot&rsquo;s&rdquo; guide for moderately-savvy-but-not-expert users like myself to install modules and dependencies on demand.</p><p>The only instructions I could find point to&nbsp;<a href="http://fink.sourceforge.net/">Fink</a>, which basically installs modules in a path that isn&rsquo;t included in the Perl @INC variable, meaning you have to manually specify the full path to the modules in every script &mdash; which is not a lot of fun if you&rsquo;re developing on OS X and deploying on Red Hat, for instance.</p><p>Moreover, Fink doesn&rsquo;t seem to make every module available, and it&rsquo;s not very easy to determine which Fink package you need to install if you need a particular module.</p><p>So, with a script that called on several apparently unavailable modules, and a deadline looming, I finally decided to suck it up and figure out how to use CPAN to install them:</p><h4>1) Make sure you have the Apple Developer Tools (XCode) installed.</h4><p>These are on one of your install discs, or available as a huge but free download from the&nbsp;<a href="https://developer.apple.com/xcode/">Apple Developer Connection</a>&nbsp;[free registration required] or the Mac App Store. I thought I had them, but apparently when we upgraded that computer to Tiger, they went missing.</p><p>If you don&rsquo;t have this stuff installed, your installation will fail with errors about unavailable commands.</p><h4>1.5) Install Command Line Tools (Recent XCode versions only)</h4><p>(Thank you to Tom Marchioro for informing me about this step.)</p><p>Older versions of XCode installed the command line tools (which are required to properly install CPAN modules) by default, but apparently newer ones do not. To check whether you have the command line tools already installed, run the following from the Terminal:</p><p><code>$ which make</code></p><p>This command checks the system for the &ldquo;<code>make</code>&rdquo; tool. If it spits out something like&nbsp;<code>/usr/bin/make</code>&nbsp;you&rsquo;re golden and can skip ahead to Step 2. If you just get a new prompt and no output, you&rsquo;ll need to install the tools:</p><ol>
<li>Launch XCode and bring up the Preferences panel.</li>
<li>Click on the Downloads tab</li>
<li>Click to install the Command Line Tools</li>
</ol><p>If you like, you can run&nbsp;<code>which make</code>&nbsp;again to confirm that everything&rsquo;s installed correctly.</p><h4>2) Configure CPAN.</h4><p><code>$ sudo perl -MCPAN -e shell</code></p><p><code>perl&gt; o conf init</code></p><p>This will prompt you for some settings. You can accept the defaults for almost everything (just hit &ldquo;return&rdquo;). The two things you must fill in are the path to&nbsp;<code>make</code>&nbsp;(which should be&nbsp;<code>/usr/bin/make</code>&nbsp;or the value returned when you run&nbsp;<code>which make</code>&nbsp;from the command line) and your choice of CPAN mirrors (which you actually choose don&rsquo;t really matter, but it won&rsquo;t let you finish until you select at least one). If you use a proxy or a very restrictive firewall, you may have to configure those settings as well.</p><p>If you skip Step 2, you may get errors about&nbsp;<code>make</code>&nbsp;being unavailable.</p><h4>3) Upgrade CPAN</h4><p><code>$ sudo perl -MCPAN -e 'install Bundle::CPAN'</code></p><p>Don&rsquo;t forget the&nbsp;<code>sudo</code>, or it&rsquo;ll fail with permissions errors, probably when doing something relatively unimportant like installing&nbsp;<code>man</code>&nbsp;files.</p><p>This will spend a long time downloading, testing, and compiling various files and dependencies. Bear with it. It will prompt you a few times about dependencies. You probably want to enter &ldquo;yes&rdquo;. I agreed to everything it asked me, and everything turned out fine. YMMV of course. If everything installs properly, it&rsquo;ll give you an &ldquo;OK&rdquo; at the end.</p><h4>4) Install your modules. For each module&hellip;.</h4><p><code>$ sudo perl -MCPAN -e 'install Bundle::Name'</code></p><p>or</p><p><code>$ sudo perl -MCPAN -e 'install Module::Name'</code></p><p>This will install the module&nbsp;<em>and</em>&nbsp;its dependencies. Nice, eh? Again, don&rsquo;t forget the&nbsp;<code>sudo</code>.</p><p>The first time you run this after upgrading CPAN, it may prompt you to configure again (see Step 2). If you accept its offer to try to configure itself automatically, it may just run through everything without a problem.</p><p>There are a couple of potential pitfalls with specific modules (such as the<code>LWP::UserAgent</code>&nbsp;/&nbsp;<code>HEAD</code>&nbsp;issue), but most have workarounds, and I haven&rsquo;t run into anything that wasn&rsquo;t easily recoverable.</p><p>And that&rsquo;s it!</p><p>Did you find this useful? Is there anything I missed?</p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/428/five-unique-traits-of-effective-computational-biologist</guid>
	<pubDate>Thu, 11 Jul 2013 13:12:51 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/428/five-unique-traits-of-effective-computational-biologist</link>
	<title><![CDATA[Five unique traits of effective computational biologist]]></title>
	<description><![CDATA[<p>Bioinformatics research is driven by large set of software, scripts, and tools to analyse gigantic biological data. Being a great biological programmer or bioinformatician involves more than writing code that works. The biological programmers who rise to the top ranks of their profession are not only good programmer but also expert in biological stuff. Moreover, In order to be a good and effective biological programmer, you need to possess a combination of traits that allow your computational as well as biological skill, experience, and knowledge to produce working code. There are some technically skilled biological programmers who will never be effective because they lack the other important traits needed. Here are top five traits that are necessary to become a great biological programmer.</p><p><strong>1. Learn and get updated</strong></p><p>Some of the bad biological programmers only learn new technical or non-technical things when it&rsquo;s absolutely necessary. The good biological programmers learn new technical skills proactively. But great biological programmers not only learn new technical skills on their own but also learn non-technical skills, and have an open mind to sources of knowledge that others may shut out.</p><p>In other concrete term, the bad biological programmer learn Perl's regular expression when they started a project on comparative genomics; the good biological programmer learned it a year before because it looked interesting; and the great biological programmer also read about the BioPerl packages, genomics, DNA string, genomic theories, or some similar course of study so that they could understand the results and explain it biologically.</p><p><strong>2. Not a merely coder!!!</strong></p><p>I often encountered with biological programmer who call themself a hard-core computer programmer and avoid biology. I can almost guarantee that if you are one of them then you are not doing research but merely writing "dry" codes.</p><p>According to my supervisor most of the computational biologist, don't know what they are doing biologically. Even they struggle to explain their own programs output and results. Therefore, It is highly advisable to learn basic of biology which can assist you to explain the result and understand your discovery. Always remember you are a researcher not a coder.</p><p><strong>3. Be Social with biologist</strong></p><p>The computational biologist spends most of the time in from of computers, writing codes. They always think their job is to produce working codes, not technical research perfections. But, they are completely wrong. You should not forget that apart from your computational skills you also need some biologist, other than your supervisor, to explain and make you understand the complex biological mechanism.</p><p>I highly recommend your to interact with biotech researchers and learn how do they explain their one graph (which they generally produce after one year of work) biologically. Remember, the origin of your research project is complex biological phenomenon, which is more complex than that of your limited programming rules.</p><p><strong>4. Do not search, research for answers</strong></p><p>Researching for answers means more than typing several keywords into a search engine or posting a question at Stack Overflow or the BioStars forums. I have entered problems into search engines that generate no results, and every question I posted on Stack Overflow or the BioStars forums never got anything resembling an answer, yet I solved the issues and moved on. I&rsquo;m not a magician &mdash; I just know how to find answers or discover root causes.</p><p>Many problems are situational, and if you depend on search engines and forums, you can waste a lot of time going down a rabbit hole and possibly never getting a solution. Learn to perform root cause analysis, learn enough about the underlying system to look for other clues and solutions, and learn to take a long distance view of an issue before deep diving into it.</p><p><strong>5. Love and defend your research</strong></p><p>You cannot rise to the top in this research profession without loving your work. There are some very good &ldquo;it&rsquo;s just a job&rdquo; biological programmers (I&rsquo;ve been one at times), but if that is your outlook, you won&rsquo;t be willing to do whatever it takes to succeed. This idea gets a lot of folks in a huff, because they feel it is a personal insult. &ldquo;I&rsquo;m a good programmer, but I have other priorities and can&rsquo;t make work my life.&rdquo; I understand completely; I have other priorities too. As much as I hate to say it, when I am passionate about my work, I am willing (though not eager) to abandon my other priorities to finish the job. It is not an insult to say that if you aren&rsquo;t willing to pull out all the stops you can&rsquo;t be the best, it is a fact.</p><p>You must be passionate about more than programming &mdash; you must also be excited about your research, the tools and technology you are using, and so on. I have seen very good and even great biological programmers operating at mediocre levels because something was not a good fit, such as they hated the project or were using a technology they disliked. Therefore, like your research project and get excited about your discoveries. You have not only to discover but also defend your finding with scientific words.</p><p>Thanks to all of you for reading.</p>]]></description>
	<dc:creator>Jitendra Narayan</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/34814/bioinformatics-web-application-development-with-perl</guid>
	<pubDate>Tue, 26 Dec 2017 18:14:11 -0600</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/34814/bioinformatics-web-application-development-with-perl</link>
	<title><![CDATA[Bioinformatics Web Application Development with Perl]]></title>
	<description><![CDATA[<div><p>Perl's second wave of adoption came from the growth of the world wide web. Dynamic web pages&mdash;the precursor to modern web applications&mdash;were easy to create with Perl and CGI. Thanks to Perl's ubiquity as a language for system administrators and its power to manipulate text, it was the default choice for web programming. Its presence everywhere made it popular and, in some ways, the duct tape of the Internet.</p><h4>Web Application Development</h4><p>The old days of CGI programs and the simple development style that represented seem clunky. Web pages have become web applications. Development has moved from generating static HTML to both client and server side programming, with rich client interfaces and powerful backends.</p><p>Perl is still well suited for developing modern web apps. The language grows more powerful and easier to use every year, the available libraries are wonderful and keep getting better, and the inventions and discoveries available in modern Perl are unsurpassed.</p><p>In particular, a modern Perl developer can do amazing things with modern Perl tools. If you still think of Perl web development as a&nbsp;<em>cgi-bin</em>&nbsp;directory full of messy scripts that spew warnings to STDERR, you're a decade out of date. Better yet, you can replace that mess piecemeal, thanks to the new tools and techniques of modern Perl. See, for example, the ever-growing list of technologies&nbsp;<a href="http://www.builtinperl.com/">Built in Perl</a>.</p><h4>Modern Perl Web Frameworks</h4><p>While the old wave of web development may have made the CGI.pm module central, modern Perl web programming follows a stricter separation of business logic, URL and request routing, and output. The days of slinging a string here, an array there, a Perl hash yonder, declaring every variable at the top of the program, and maybe making a subroutine are gone. The Perl world has seen the value of abstraction and ways to mechanize away boilerplate. Perl has dozens of frameworks and toolkits designed to make web development and deployment simpler.</p><p>Any of a dozen of these frameworks will help you do great things, but three in particular stand out. You can build web sites and web applications of tremendous value with all three. These are neither the only good possibilities (think of POE or Jifty or Continuity or...) nor the only mechanisms for web programming with Perl (see Mechanize or LWP or Mojo::UserAgent for more). Yet if you want three good options to choose between, start here.</p><h4>Catalyst</h4><p>The&nbsp;<a href="http://catalystframework.org/">Catalyst</a>&nbsp;framework is a flexible and powerful system for building small to large web apps. It uses the&nbsp;<a href="http://moose.perl.org/">Moose</a>&nbsp;object system to provide great APIs for extension and further development. It's the most mature of the modern top Perl web frameworks, yet it retains its flexibility and vibrancy. In particular, its plugin and extension ecosystem allows it to evolve to provide new and essential features.</p><p>Catalyst has embraced the Plack/PSGI standard for Perl web deployment and recent versions are exploring high-scalability, event-based request handling models.</p><h4>Dancer</h4><p>The&nbsp;<a href="http://perldancer.org/">Dancer</a>&nbsp;framework is deliberately minimal in syntax and scope, but it also has a vibrant plugin ecosystem. Dancer particularly excels for smaller sites and applications, though good programmers can build larger things with it.</p><p>The first version of Dancer was easy to use. Dancer 2 continues that ease while improving the internals and robustness of applications.</p><h4>Mojolicious</h4><p>The&nbsp;<a href="http://mojolicio.us/">Mojolicious</a>&nbsp;(Mojo) framework has a real-time design based on high performance event handling. Its focus is solving new and interesting problems in simple and effective ways, and the project has produced a lot of new code that does old things in better ways.</p><p>In particular, Mojolicious goes to great lengths to support new web standards, such as CSS 3, web sockets, and HTTP 2.</p><p>Where Catalyst embraces the CPAN fully, Mojolicious by design provides most of what an average app might need in a single download. It's still fully compatible with the CPAN, but the intention is to provide good working defaults in a package that's easy to start with. Mojo's fans are quick to praise it as fun to develop.</p><p>A modern Perl web developer should be familiar with at least one of these frameworks.</p><h4>Modern Perl Storage Mechanisms</h4><p>Perl's venerable&nbsp;<a href="http://search.cpan.org/perldoc?DBI">DBI</a>&nbsp;module has been the focal point of database access since its invention. Its design allows it to provide the same interface to huge relational databases and flat files alike through its DBD extension mechanism. Yet the DBI by itself isn't the be-all, end-all of data storage and access in Perl.</p><h4>DBIx::Class</h4><p><a href="http://search.cpan.org/perldoc?DBIx::Class">DBIx::Class</a>&nbsp;sits on top of DBI to provide an API to your database based on the concept of queries and results. This is often sufficient to remove all but the most complicated of SQL from your code, leaving you to manipulate your business models instead of the small details of how a relational database works. The power and maintainability you receive is well the small cost of the learning curve.</p><p>Even better, DBIC can manage (and even generate) your database schema for you.</p><p>Recent versions of DBIC have demonstrated that a well-written ORM can perform much better than even clever hand-written code. Because it builds on the Perl DBI, it scales everywhere from SQLite to PostgreSQL, MySQL, Oracle, and more.</p><h3>Rose::DB</h3><p>The lesser-known but no less powerful&nbsp;<a href="http://search.cpan.org/perldoc?Rose::DB::Object">Rose::DB::Object</a>&nbsp;builds on&nbsp;<a href="http://search.cpan.org/perldoc?Rose::DB">Rose::DB</a>&nbsp;to provide an object-relational mapper for Perl. While its high level features most directly compare to those of DBIx::Class, it's often measurably faster.</p><h4>NoSQL on the CPAN</h4><p>Of course the&nbsp;<a href="http://search.cpan.org/">CPAN</a>&nbsp;has modules for almost any NoSQL database or job queue or persistence mechanism you could name, and several you have never heard of. Everything you need is a quick CPAN or cpanm away!</p><h4>Modern Perl Deployment Strategies</h4><p>In the early days of the web, deploying a Perl web application meant putting one or more&nbsp;<em>.cgi</em>&nbsp;or&nbsp;<em>.pl</em>&nbsp;files in a special directory and hoping that your system administrator had everything configured correctly. The execution model was often slow and cumbersome, and accessing shared resources such as databases was often tricky.</p><p>Modern Perl has better choices. While deployment strategies are the source of many arguments, the return on your investment from learning the modern way is impressive.</p><h4>Plack/PSGI</h4><p>The PSGI specification (as exemplified by&nbsp;<a href="http://plackperl.org/">Plack</a>) describes a strategy for building Perl web apps independent of server and with the possibility to share custom processing behaviors.</p><p>In other words, it's a standard for writing Perl apps to take advantage of the huge ecosystem of Perl development available on the CPAN without tying yourself to a server like Apache, Apache 2, nginx, or anything else.</p><p>Any good modern Perl web framework (including those listed here) supports PSGI. Several deployment mechanisms exist to meet various business needs which also support PSGI. In particular, you can deploy the same application with a local testing server on your own machine as you can to your production server or servers without changing your application at all.</p><h4>mod_perl</h4><p>The older but still viable mod_perl Apache httpd module embeds Perl into the web server. This was the first widespread persistence mechanism for Perl web applications themselves and it's still popular to this day, though PSGI compliance is often the choice for new development. (PSGI handlers to use mod_perl as the backend are available.)</p><p>Modern Perl developers should familiarize themselves with PSGI and the wealth of available Plack middleware.</p><h4>Perl Web Development</h4><p>Of course no discussion of Perl web development would be complete without mentioning the strength of the CPAN. Almost any project will benefit from the wealth of freely available libraries built to solve real problems. These distributions run the gamut from full-blown web frameworks and content management systems to APIs for web services, development tools, testing systems, and interfaces to document formats and external resources.</p><p>For example, if you need to write a web service which accepts JSON data and produces Excel spreadsheets, you can glue together a few CPAN distributions and get the job done early. If you need to consume XML from a remote service and emit a PDF, you're in luck.</p><p>Perl's prowess as a general purpose programming language as well as its flexibility and power in managing text and gluing systems together make it a wonderful fit for web development. The community's adoption of modern Perl standards such as PSGI and Plack only enhance your power.</p><p>Web application development in Perl is still viable, and modern Perl tools and techniques and libraries make it more powerful and pleasant than ever.</p></div>]]></description>
	<dc:creator>Jit</dc:creator>
</item>

<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/opportunity/view/1720/postdoctoral-associate-bioinformatics-at-duke-university-medical-center</guid>
  <pubDate>Sat, 10 Aug 2013 18:38:38 -0500</pubDate>
  <link></link>
  <title><![CDATA[Postdoctoral Associate - Bioinformatics  at Duke University Medical Center]]></title>
  <description><![CDATA[
<p>The Department of Biostatistics and Bioinformatics at Duke University Medical Center is seeking a Postdoctoral Associate for a one year appointment to work on several high-dimensional research projects. The specific goals of the project are to identify genes or molecular markers that are predictive of clinical outcomes in renal and prostate cancer.</p>

<p>Candidates must have: a PhD degree in statistics, biostatistics or bioinformatics, extensive experience in analyzing high-dimensional data (microarray, SNP, CNVs) and of validation approaches. In addition, experience in penalized regression methods, data base manipulation; and strong programming skills in order to conduct Monte Carlo studies and applications (R). Candidate must have excellent communication skills (verbal, written and presentation), a strong proficiency in Linux system.</p>

<p>This position is available immediately and will be filled as soon as possible. Appointment could be extended beyond the first year based on additional funding.</p>

<p>For more information about the Department of Biostatistics and Bioinformatics, please visit our website: http://www.biostat.duke.edu.</p>

<p>For more info: http://biostat.duke.edu/sites/biostat.duke.edu/files/Halabi%20-%20Postdoc%20Job%20Posting%202013%20updated.pdf</p>

<p>Duke University is an Equal Opportunity/Affirmative Action Employer.</p>
]]></description>
</item>

</channel>
</rss>