<?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/44375?offset=460</link>
	<atom:link href="https://bioinformaticsonline.com/related/44375?offset=460" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/34931/3d-dna-3d-de-novo-assembly-3d-dna-pipeline</guid>
	<pubDate>Thu, 28 Dec 2017 10:09:37 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/34931/3d-dna-3d-de-novo-assembly-3d-dna-pipeline</link>
	<title><![CDATA[3d-dna: 3D de novo assembly (3D DNA) pipeline]]></title>
	<description><![CDATA[<p>This code is designed to enable anyone to reproduce the Hs2-HiC and the AaegL4 genomes reported in:&nbsp;<a href="http://science.sciencemag.org/content/early/2017/03/22/science.aal3327.full">Dudchenko et al., De novo assembly of the Aedes aegypti genome using Hi-C yields chromosome-length scaffolds. Science, 2017.</a></p>
<p>Unless otherwise noted, all terminology below is consistent with this paper, and all references to figures and tables in this readme refer to this paper. Specifically, some of the terminology used below is outlined in&nbsp;<code>Figure S2</code>. The assembly procedure is described in detail in the&nbsp;<a href="http://science.sciencemag.org/content/suppl/2017/03/22/science.aal3327.DC1?_ga=1.9816115.760837492.1490574064">Supporting Online Materials</a>, specifically in the section labelled &ldquo;Pipeline description&rdquo;.</p>
<p>In addition, the pipeline uses tools and methods from&nbsp;<a href="http://www.cell.com/cell-systems/abstract/S2405-4712(16)30219-8">Juicer (Durand &amp; Shamim et al., Cell Systems, 2016)</a>&nbsp;and&nbsp;<a href="http://www.cell.com/cell-systems/abstract/S2405-4712(15)00054-X">Juicebox (Durand &amp; Robinson et al., Cell Systems, 2016)</a>, as well as additional dependencies noted below.</p>
<p>Feel free to post your questions and comments at:&nbsp;<a href="http://www.aidenlab.org/forum.html">http://www.aidenlab.org/forum.html</a></p>
<p>http://aidenlab.org/documentation.html</p><p>Address of the bookmark: <a href="https://github.com/theaidenlab/3d-dna" rel="nofollow">https://github.com/theaidenlab/3d-dna</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/38666/mcat-motif-combining-and-association-tool</guid>
	<pubDate>Sun, 13 Jan 2019 06:27:28 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/38666/mcat-motif-combining-and-association-tool</link>
	<title><![CDATA[MCAT: Motif Combining and Association Tool]]></title>
	<description><![CDATA[<p>This is a pipeline for finding motifs in fasta files.<br>It can be run from the command line as follows:</p>
<p>usage: orange_pipeline_refine.py [-h] [-w W] [--nmotifs NMOTIFS] [--iter ITER] [-c C]<br>[-s S] [-d] [-ff] [-v V]<br>positive_seq negative_seq</p>
<p>positional arguments:<br>positive_seq the fasta file for the positive sequences<br>negative_seq the fasta file for the negative sequences</p>
<p>&nbsp;</p><p>Address of the bookmark: <a href="https://github.com/yanshen43/MCAT" rel="nofollow">https://github.com/yanshen43/MCAT</a></p>]]></description>
	<dc:creator>Neel</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/40409/haplotypo-a-variant-calling-pipeline-for-phased-genomes</guid>
	<pubDate>Thu, 19 Dec 2019 07:33:40 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/40409/haplotypo-a-variant-calling-pipeline-for-phased-genomes</link>
	<title><![CDATA[HaploTypo: a variant-calling pipeline for phased genomes]]></title>
	<description><![CDATA[<p>An increasing number of phased (i.e. with resolved haplotypes) reference genomes are available. However, most genetic variant calling tools do not explicitly account for haplotype structure. Here, we present HaploTypo, a pipeline tailored to resolve haplotypes in genetic variation analyses. HaploTypo infers the haplotype correspondence for each heterozygous variant called on a phased reference genome.</p>
<div>Availability and Implementation</div>
<p>HaploTypo is implemented in Python 2.7 and Python 3.5, and is freely available at&nbsp;<a href="https://github.com/gabaldonlab/haplotypo" target="">https://github.com/gabaldonlab/haplotypo</a>, and as a Docker image.</p><p>Address of the bookmark: <a href="https://github.com/gabaldonlab/haplotypo" rel="nofollow">https://github.com/gabaldonlab/haplotypo</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/41675/gapfinisher-a-reliable-gap-filling-pipeline-for-sspace-longread-scaffolder-output</guid>
	<pubDate>Thu, 14 May 2020 15:13:30 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/41675/gapfinisher-a-reliable-gap-filling-pipeline-for-sspace-longread-scaffolder-output</link>
	<title><![CDATA[gapFinisher: A reliable gap filling pipeline for SSPACE-LongRead scaffolder output]]></title>
	<description><![CDATA[<p>gapFinisher to process SSPACE-LongRead output to fill gaps after the scaffolding. gapFinisher is based on the controlled use of a previously published gap filling tool FGAP and works on all standard Linux/UNIX command lines.</p>
<p>https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6733440/</p><p>Address of the bookmark: <a href="https://github.com/kammoji/gapFinisher" rel="nofollow">https://github.com/kammoji/gapFinisher</a></p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/42132/squeezemeta-a-fully-automated-metagenomics-pipeline-from-reads-to-bins</guid>
	<pubDate>Mon, 17 Aug 2020 05:25:10 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/42132/squeezemeta-a-fully-automated-metagenomics-pipeline-from-reads-to-bins</link>
	<title><![CDATA[SqueezeMeta: a fully automated metagenomics pipeline, from reads to bins]]></title>
	<description><![CDATA[<p>SqueezeMeta is a full automatic pipeline for metagenomics/metatranscriptomics, covering all steps of the analysis. SqueezeMeta includes multi-metagenome support allowing the co-assembly of related metagenomes and the retrieval of individual genomes via binning procedures. Thus, SqueezeMeta features several unique characteristics:</p>
<ol>
<li>Co-assembly procedure with read mapping for estimation of the abundances of genes in each metagenome</li>
<li>Co-assembly of a large number of metagenomes via merging of individual metagenomes</li>
<li>Includes binning and bin checking, for retrieving individual genomes</li>
<li>The results are stored in a database, where they can be easily exported and shared, and can be inspected anywhere using a web interface.</li>
<li>Internal checks for the assembly and binning steps inform about the consistency of contigs and bins, allowing to spot potential chimeras.</li>
<li>Metatranscriptomic support via mapping of cDNA reads against reference metagenomes</li>
</ol><p>Address of the bookmark: <a href="https://github.com/jtamames/SqueezeMeta" rel="nofollow">https://github.com/jtamames/SqueezeMeta</a></p>]]></description>
	<dc:creator>BioStar</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/43062/jcvi-utility-libraries</guid>
	<pubDate>Sat, 08 May 2021 22:04:02 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/43062/jcvi-utility-libraries</link>
	<title><![CDATA[JCVI utility libraries]]></title>
	<description><![CDATA[<p><span>Collection of Python libraries to parse bioinformatics files, or perform computation related to assembly, annotation, and comparative genomics.</span></p><p>Address of the bookmark: <a href="https://github.com/tanghaibao/jcvi" rel="nofollow">https://github.com/tanghaibao/jcvi</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/44595/squeezemeta-a-fully-automated-metagenomics-pipeline-from-reads-to-bins</guid>
	<pubDate>Sat, 06 Jul 2024 04:29:16 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/44595/squeezemeta-a-fully-automated-metagenomics-pipeline-from-reads-to-bins</link>
	<title><![CDATA[SqueezeMeta: a fully automated metagenomics pipeline, from reads to bins]]></title>
	<description><![CDATA[<p dir="auto">SqueezeMeta is a full automatic pipeline for metagenomics/metatranscriptomics, covering all steps of the analysis. SqueezeMeta includes multi-metagenome support allowing the co-assembly of related metagenomes and the retrieval of individual genomes via binning procedures. Thus, SqueezeMeta features several unique characteristics:</p>
<ol dir="auto">
<li>Co-assembly procedure with read mapping for estimation of the abundances of genes in each metagenome</li>
<li>Co-assembly of a large number of metagenomes via merging of individual metagenomes</li>
<li>Includes binning and bin checking, for retrieving individual genomes</li>
<li>The results are stored in a database, where they can be easily exported and shared, and can be inspected anywhere using a web interface.</li>
<li>Internal checks for the assembly and binning steps inform about the consistency of contigs and bins, allowing to spot potential chimeras.</li>
<li>Metatranscriptomic support via mapping of cDNA reads against reference metagenomes</li>
</ol><p>Address of the bookmark: <a href="https://github.com/jtamames/SqueezeMeta" rel="nofollow">https://github.com/jtamames/SqueezeMeta</a></p>]]></description>
	<dc:creator>BioStar</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/37590/parallel-processing-with-perl</guid>
	<pubDate>Sat, 25 Aug 2018 11:32:40 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/37590/parallel-processing-with-perl</link>
	<title><![CDATA[Parallel Processing with Perl !]]></title>
	<description><![CDATA[<p>Here is a small tutorial on how to make best use of multiple processors for bioinformatics analysis. One best way is using perl threads and forks. Knowing how these threads and forks work is very important before implementing them. Getting to know how these work would be really useful before reading this tutorial.</p><p>Many times in bioinformatics we need to deal with huge datasets which&nbsp; are more than 100GB size. The traditional way to analysis a file is using the while loop</p><p>while (FILE){</p><p>Do something;</p><p>}</p><p>This is very slow(since we are using only one processor) and if we have 500 million lines in the dataset it takes more than a day to iterate through the whole dataset. So how do we make best use of all our processors and get the work done quickly?</p><p>Here is a very simple and efficient technique with perl which i have been using. I am&nbsp; more inclined towards using perl fork than perl threads.</p><p>One of the oldest way to fork is</p><blockquote><p>my $fork = fork();<br />if($fork){&nbsp;&nbsp;&nbsp;<br />push (@childs,$fork);&nbsp;<br />}<br />elseif($fork==0){<br /><strong>your code here;</strong><br />exit(0);<br />}<br />else{die &ldquo;Couldnt fork : $!&rdquo;;}</p><p>## wait for the child process to finish<br />foreach(@childs){<br />my $tmp=waitid($_,0);<br />}</p></blockquote><p>what a fork does is it creates a child process and takes the variables and code with it to analyze it separately (detached from the parent process) and thus a separate process is created( which usually runs on a separate processor). Thats it!! One big disadvantage of forking is its very difficult to share variables among the different processes. I will show you how to do it easily but still it has its own drawbacks.</p><blockquote><p>Okie, now if you really do not want to use fork in your code, that&rsquo;s okie too..There are many useful modules which do it for you very efficiently. One really useful module is Parallel::ForkManager. You can use Parallel::ForkManager to manage the number of forks you want to generate (number of processors you want to use).</p><p><strong>Simple usage:</strong><br />use Parallel::ForkManager;<br />my $max_processors=8;<br />my $fork= new Parallel::ForkManager($max_processors);<br />foreach (@dna) {<br />$fork-&gt;start and next; # do the fork<br /><strong>you code here;</strong><br />$fork-&gt;finish; # do the exit in the child process<br />}<br />$pm-&gt;wait_all_children;</p></blockquote><p>so you will be generating 8 forks which do the same thing for your each element of array. when one child finishes, Parallel::ForkManager generates a new one and thus you will be using all your processors to analyze the data. Now, if you have generated 8 child processes and want to write the data to one file. You need to lock the file to do this, because you will have problems with the buffering. You can lock the file using flock command.</p><blockquote><p>open (my $QUAL, &ldquo;myfile.txt&rdquo;);<br />flock $QUAL, LOCK_EX or die &ldquo;cant lock file $!&rdquo;;<br />print $QUAL &ldquo;$output&rdquo;;<br />flock $QUAL, LOCK_UN or die &ldquo;$!&rdquo;;<br />close $QUAL;</p></blockquote><p>I would not suggest using flock when dealing with multiple processes because it will decrease the processing efficiency( each child process must wait for the lock to be released by the other child process). Instead, I would suggest each fork writing to a separate file and after the processing just concatenating them.</p><p><strong>Putting it all together, If you have 100GB data you can do this</strong></p><blockquote><p><strong>step 1</strong>&nbsp;: split the dataset equally according to number of processors you have. this may take a few hours(about 2-3 hrs for 100GB file)<br />You can use unix &ldquo;split&rdquo; command for this<br />for example:<br />my $number_split=int($number_of_entries_in_your_dataset/$max_processors);<br />my $split_Files=`split -l $number_split &ldquo;your_file.fasta&rdquo; &ldquo;file_name&rdquo;`;</p><p><strong>step2</strong>: open you directory comtaining you split files and start Parallel::ForkManager.<br /><strong>For example:</strong><br />opendir(DIRECTORY, $split_files_directory) or die $!; ### open the directory<br />my $fork= new Parallel::ForkManager($max_processors);<br />while (my $file = readdir(DIRECTORY)) { ### read the directory<br />if($file=~/^\./){next;}<br />print $file,&rdquo;\n&rdquo;;<br />########## Start fork ##########<br />my $pid= $super_fork-&gt;start and next;<br /><strong>Whatever you want to do with the split file ;</strong><br /><strong>analyze my piece of $file;</strong><br />######### end fork ###############<br />$super_fork-&gt;finish;<br />}<br />$super_fork-&gt;wait_all_children;</p></blockquote><p>So basically each processor will be active with its piece of data (split file) and thus you have created 8 processes at one time which run without interfering with the other process. I again will not suggest writing output from each child process to one file(for reasons above). Write output from each fork to a separate file and finally concatenate them. Thats it, you have just increased your program speed by 8 times!! Isnt it easy?</p><p><strong>Note:</strong><br />You may worry about concatenation of the output each child generates, since it does take some time(remember 100GB). I think now you can use a mysql database LOAD DATA LOCAL INFILE command to load all the files into a single table(Should take about 3hrs for 100Gb dataset) and then export the whole table into one file. This should be faster than just concatenating them using &ldquo;cat&rdquo; command.(correct me if I am wrong)</p><p>Or much simpler way is to use pipes</p><p>cat output_dir/* | my_pipe or my_pipe &lt;(file1) final_file;</p><p>Thats it guys!! Enjoy programming and please do comment. I am not a computer scientist so forgive me for any mistakes and if any please report them. Thank you.</p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/34420/rita-rapid-identification-of-high-confidence-taxonomic-assignments-for-metagenomic-data</guid>
	<pubDate>Mon, 27 Nov 2017 08:25:33 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/34420/rita-rapid-identification-of-high-confidence-taxonomic-assignments-for-metagenomic-data</link>
	<title><![CDATA[RITA: Rapid identification of high-confidence taxonomic assignments for metagenomic data]]></title>
	<description><![CDATA[<p>RITA is a standalone software package and Web server for taxonomic assignment of metagenomic sequence reads. By combining homology predictions from BLAST or UBLAST with compositional classifications from a Naive Bayes classifier, RITA is able to achieve very high accuracy on short reads. Unlike other hybrid approaches which combine these predictions for all sequences to be classified, RITA uses a pipeline to first identify cases where both types of classifier are in agreement, which constitute the highest-confidence set. Sequences not classified in this manner are subjected to a series of downstream classification steps.</p>
<p>This work has been accepted for publication:</p>
<p>MacDonald NJ, Parks DH, and Beiko RG. Rapid identification of taxonomic assignments. Accepted to&nbsp;<em>Nucleic Acids Research</em>&nbsp;April 4, 2012.</p>
<p>If you have any questions or bug reports, please let us know at &lt;beiko@cs.dal.ca&gt;.</p><p>Address of the bookmark: <a href="http://kiwi.cs.dal.ca/Software/RITA" rel="nofollow">http://kiwi.cs.dal.ca/Software/RITA</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/35272/biocircosjs-is-an-open-source-interactive-javascript-library-to-interactive-display-biological-data-on-the-web</guid>
	<pubDate>Fri, 19 Jan 2018 15:03:51 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/35272/biocircosjs-is-an-open-source-interactive-javascript-library-to-interactive-display-biological-data-on-the-web</link>
	<title><![CDATA[BioCircos.js is an open source interactive Javascript library to interactive display biological data on the web]]></title>
	<description><![CDATA[<p><a href="http://bioinfo.ibp.ac.cn/biocircos/index.php">BioCircos.js</a>&nbsp;is an open source interactive&nbsp;<code>Javascript</code>&nbsp;library which provides an easy way to interactive display biological data on the web. It implements a raster-based&nbsp;<code>SVG</code>&nbsp;visualization using the open source Javascript framework jquery.js. BioCircos.js is multiplatform and works in all major internet browsers (<strong>Internet Explorer</strong>,&nbsp;<strong>Mozilla Firefox</strong>,&nbsp;<strong>Google Chrome</strong>,&nbsp;<strong>Safari</strong>,&nbsp;<strong>Opera</strong>). Its speed is determined by the client&rsquo;s hardware and internet browser. For smoothest user experience, we recommend&nbsp;<strong>Google Chrome</strong>.</p>
<p>BioCircos.js provides&nbsp;<strong>SNP</strong>,&nbsp;<strong>CNV</strong>,&nbsp;<strong>HEATMAP</strong>,&nbsp;<strong>LINK</strong>,&nbsp;<strong>LINE</strong>,&nbsp;<strong>SCATTER</strong>,&nbsp;<strong>ARC</strong>,&nbsp;<strong>TEXT</strong>, and&nbsp;<strong>HISTGRAM</strong>modules to display genome-wide genetic variations (SNPs, CNVs and chromosome rearrangement), gene expression and biomolecule interactions. BioCircos.js also provides&nbsp;<strong>BACKGROUND</strong>&nbsp;module to display background and axis circles. Tooltips showing detailed information of SVG elements are also provided.</p>
<p><a href="http://bioinfo.ibp.ac.cn/biocircos/document/demo/pages/paper01.html">Demo</a></p><p>Address of the bookmark: <a href="http://bioinfo.ibp.ac.cn/biocircos/document/index.html" rel="nofollow">http://bioinfo.ibp.ac.cn/biocircos/document/index.html</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>

</channel>
</rss>