<?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/34525?offset=20</link>
	<atom:link href="https://bioinformaticsonline.com/related/34525?offset=20" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/44561/bactopia-a-flexible-pipeline-for-complete-analysis-of-bacterial-genomes</guid>
	<pubDate>Sat, 08 Jun 2024 16:25:08 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/44561/bactopia-a-flexible-pipeline-for-complete-analysis-of-bacterial-genomes</link>
	<title><![CDATA[Bactopia: a flexible pipeline for complete analysis of bacterial genomes]]></title>
	<description><![CDATA[<p>Bactopia is a flexible pipeline for complete analysis of bacterial genomes. The goal of Bactopia is process your data with a broad set of tools, so that you can get to the fun part of analyses quicker!</p>
<p>Bactopia was inspired by&nbsp;<a href="https://staphopia.github.io/">Staphopia</a>, a workflow we (Tim Read and myself) released that is targeted towards&nbsp;<em>Staphylococcus aureus</em>&nbsp;genomes. Using what we learned from Staphopia and user feedback, Bactopia was developed from scratch with usability, portability, and speed in mind from the start.</p>
<p>Bactopia uses&nbsp;<a href="https://www.nextflow.io/">Nextflow</a>&nbsp;to manage the workflow, allowing for support of many types of environments (e.g. cluster or cloud). Bactopia allows for the usage of many public datasets as well as your own datasets to further enhance the analysis of your sequencing. Bactopia only uses software packages available from&nbsp;<a href="https://bioconda.github.io/">Bioconda</a>&nbsp;and&nbsp;<a href="https://conda-forge.org/">Conda-Forge</a>&nbsp;to make installation as simple as possible for&nbsp;<em>all</em>&nbsp;users.</p>
<p>To highlight the use of&nbsp;<a href="https://bactopia.github.io/latest/full-guide/">Bactopia</a>&nbsp;and&nbsp;<a href="https://bactopia.github.io/latest/bactopia-tools/">Bactopia Tools</a>, we performed an analysis of 1,664 public&nbsp;<em>Lactobacillus</em>&nbsp;genomes, focusing on&nbsp;<em>Lactobacillus crispatus</em>, a species that is a common part of the human vaginal microbiome. The results from this analysis are published in mSystems under the title:&nbsp;<em><a href="https://doi.org/10.1128/mSystems.00190-20">Bactopia: a flexible pipeline for complete analysis of bacterial genomes</a></em></p>
<p><a href="https://bactopia.github.io/latest/assets/bactopia-workflow.png"><img src="https://bactopia.github.io/latest/assets/bactopia-workflow.png" alt="Bactopia Workflow" style="border: 0px;"></a></p><p>Address of the bookmark: <a href="https://bactopia.github.io/latest/" rel="nofollow">https://bactopia.github.io/latest/</a></p>]]></description>
	<dc:creator>Abhi</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/37527/nanopack-visualizing-and-processing-long-read-sequencing-data</guid>
	<pubDate>Fri, 10 Aug 2018 18:41:34 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/37527/nanopack-visualizing-and-processing-long-read-sequencing-data</link>
	<title><![CDATA[NanoPack: visualizing and processing long-read sequencing data]]></title>
	<description><![CDATA[<p>The NanoPack tools are written in Python3 and released under the GNU GPL3.0 License. The source code can be found at&nbsp;<a href="https://github.com/wdecoster/nanopack" target="">https://github.com/wdecoster/nanopack</a>, together with links to separate scripts and their documentation. The scripts are compatible with Linux, Mac OS and the MS Windows 10 subsystem for Linux and are available as a graphical user interface, a web service at&nbsp;<a href="http://nanoplot.bioinf.be/" target="">http://nanoplot.bioinf.be</a>&nbsp;and command line tools.</p>
<p>&nbsp;https://academic.oup.com/bioinformatics/article/34/15/2666/4934939</p><p>Address of the bookmark: <a href="https://github.com/wdecoster/nanoQC" rel="nofollow">https://github.com/wdecoster/nanoQC</a></p>]]></description>
	<dc:creator>Jit</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/36592/lachesis-genome-assembly-with-hi-c-based-contact-probability-maps-lachesis</guid>
	<pubDate>Mon, 14 May 2018 04:26:30 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/36592/lachesis-genome-assembly-with-hi-c-based-contact-probability-maps-lachesis</link>
	<title><![CDATA[LACHESIS: Genome Assembly with Hi-C-based Contact Probability Maps (LACHESIS)]]></title>
	<description><![CDATA[<p>LACHESIS is method that exploits contact probability map data (e.g. from Hi-C) for chromosome-scale&nbsp;<em>de novo</em>&nbsp;genome assembly.</p>
<p>Further information about LACHESIS, including source code, documentation and a user's guide are available at:&nbsp;<a href="http://shendurelab.github.io/LACHESIS/">http://shendurelab.github.io/LACHESIS</a>.</p>
<p>Manuscript describing LACHESIS was published as: Burton JN#, Adey A, Patwardhan RP, Qiu R, Kitzman JO, Shendure J#.&nbsp;<em>Chromosome-scale scaffolding of de novo genome assemblies based on chromatin interactions.</em>&nbsp;Nature Biotechnology 2013 Dec;31(12):1119-25. doi:&nbsp;<a href="http://dx.doi.org/10.1038/nbt.2727">10.1038/nbt.272</a>. PubMed PMID:&nbsp;<a href="http://www.ncbi.nlm.nih.gov/pubmed/24185095">24185095</a>.</p>
<p>&nbsp;</p>
<p>http://shendurelab.github.io/LACHESIS/</p><p>Address of the bookmark: <a href="http://shendurelab.github.io/LACHESIS/" rel="nofollow">http://shendurelab.github.io/LACHESIS/</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/41328/deephic-a-generative-adversarial-network-for-enhancing-hi-c-data-resolution</guid>
	<pubDate>Tue, 03 Mar 2020 01:12:47 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/41328/deephic-a-generative-adversarial-network-for-enhancing-hi-c-data-resolution</link>
	<title><![CDATA[DeepHiC: A Generative Adversarial Network for Enhancing Hi-C Data Resolution]]></title>
	<description><![CDATA[<p><strong>DeepHiC</strong> is a GAN-based model for enhancing Hi-C data resolution. We developed this server for helping researchers to enhance their own low-resolution data by a few steps of clicks. <em>Ab initio</em> training could be performed according to our published <a href="https://github.com/omegahh/DeepHiC">code</a>. We provided trained models for various depth of low-coverage sequencing Hi-C data. The depth of input data is estimated by its distribution comparing with those of the downsampled Hi-C data we used in training</p><p>Address of the bookmark: <a href="http://sysomics.com/deephic" rel="nofollow">http://sysomics.com/deephic</a></p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/3868/next-generation-sequencing-ngs-tutorials</guid>
	<pubDate>Sat, 24 Aug 2013 06:01:37 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/3868/next-generation-sequencing-ngs-tutorials</link>
	<title><![CDATA[Next Generation Sequencing (NGS) Tutorials]]></title>
	<description><![CDATA[<p>Institute of computational biomedicine, Cornell University provide an NGS workshop tutorial at&nbsp;<a href="http://chagall.med.cornell.edu/NGScourse/">http://chagall.med.cornell.edu/NGScourse/</a>&nbsp;</p>
<p>You can also add your favourite NGS educational material, or workshop tutorial by commenting on this bookmarks for user benefit.&nbsp;</p>
<p>Understanding the basics of genome sequencing:</p>
<p>Tutorial by Luke Jostins.</p>
<p>http://www.genetic-inference.co.uk/blog/2009/04/basics-sequencing-dna-part-1/</p>
<p>http://www.genetic-inference.co.uk/blog/2009/08/basics-sequencing-dna-part-2/</p>
<p>A window into third-generation sequencing</p>
<p>http://hmg.oxfordjournals.org/content/19/R2/R227.full.pdf</p>
<p>==============================================</p>
<p>NGS data analysis pipelines</p>
<ul>
<li><strong>Detecting and annotating genetic variations using the HugeSeq pipeline</strong>&nbsp; DOI: <a href="http://dx.doi.org/10.1038/nbt.2134">10.1038/nbt.2134</a></li>
<li><strong> NARWHAL, a primary analysis pipeline for NGS data</strong> <a href="http://bioinformatics.oxfordjournals.org/cgi/content/abstract/28/2/284?etoc">http://bioinformatics.oxfordjournals.org/cgi/content/abstract/28/2/284?etoc</a></li>
<li><strong>RseqFlow: Workflows for RNA-Seq data analysis</strong>&nbsp; DOI: <a href="http://dx.doi.org/10.1093/bioinformatics/btr441">10.1093/bioinformatics/btr441</a></li>
<li><strong>ngs_backbone: a pipeline for read cleaning, mapping and SNP calling using Next Generation Sequence</strong>&nbsp;&nbsp;<a href="http://dx.doi.org/10.1186/1471-2164-12-285">10.1186/1471-2164-12-285</a></li>
<li><strong>A framework for variation discovery and genotyping using next-generation DNA sequencing data</strong>&nbsp; PubMed: <a href="http://www.ncbi.nlm.nih.gov/pubmed/21478889">21478889</a></li>
<li><strong>SNiPlay: a web-based tool for detection, management and analysis of SNPs. Application to grapevine diversity projects</strong>&nbsp; DOI: <a href="http://dx.doi.org/10.1186/1471-2105-12-134">10.1186/1471-2105-12-134</a> Abstract: <a href="http://www.biomedcentral.com/1471-2105/12/134/abstract">http://www.biomedcentral.com/1471-2105/12/134/abstract</a></li>
<li><strong>WEP: a high-performance analysis pipeline for whole-exome data&nbsp;</strong>http://www.biomedcentral.com/1471-2105/14/S7/S11</li>
<li><strong>DDBJ read annotation pipeline: a cloud computing-based pipeline for high-throughput analysis of next-generation sequencing data.&nbsp;</strong>http://www.ncbi.nlm.nih.gov/pubmed/23657089</li>
<li><strong>GATK: a Toolkit for Genome Analysis&nbsp;</strong>http://www.broadinstitute.org/gatk/</li>
<li><strong>Metagenomics</strong>:http://www.nbic.nl/education/nbic-phd-school/course-schedule/ngsmetagenomics/</li>
<li><strong>RNASeq</strong>:http://www.nbic.nl/education/nbic-phd-school/course-schedule/ngsrnaseq/</li>
<li><strong>Bioinformatics and Seq courses</strong>:&nbsp;http://www.isb-sib.ch/training/training-activities-schedule/archive-2013.html</li>
<li><strong>Variant Detection (Model organism) Advanced tutorial</strong> https://docs.google.com/document/pub?id=1CuKkKylVDb03tnN7RSWl5EUzleetn0ctjmvaidPKLxM</li>
<li><strong>Variant Detection Introductory tutorial</strong> https://docs.google.com/document/pub?id=1ZRzrjjOCvtAu3m-IKL-rbJ1f4On60dDL_IEwG7oejdI</li>
<li><strong>Microbial de novo Assembly for Illumina Data Introductory tutorial</strong> https://docs.google.com/document/pub?id=1N3AB9ptISUu4zULqe1kXpVF0BDyGb5f5yzxWSJd_WNM</li>
<li><strong>RNAseq Differential Gene Expression Introductory tutorial</strong> https://docs.google.com/document/pub?id=1KbTiBHtvHLfPRZ39AY3uriazrINA8TJzgjjwn1zPP7Y</li>
</ul>
<blockquote>
<p>" Please add your favourite NGS link below in comment section for the benefit of bioinformatics community ".&nbsp;</p>
</blockquote><p>Address of the bookmark: <a href="http://chagall.med.cornell.edu/NGScourse/" rel="nofollow">http://chagall.med.cornell.edu/NGScourse/</a></p>]]></description>
	<dc:creator>Jitendra Narayan</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/26306/busco</guid>
	<pubDate>Sun, 07 Feb 2016 16:02:39 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/26306/busco</link>
	<title><![CDATA[BUSCO]]></title>
	<description><![CDATA[<p>Assessing genome assembly and annotation completeness with Benchmarking Universal Single-Copy Orthologs</p>
<p>More at http://busco.ezlab.org/</p><p>Address of the bookmark: <a href="http://busco.ezlab.org/" rel="nofollow">http://busco.ezlab.org/</a></p>]]></description>
	<dc:creator>Jitendra Narayan</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/28844/teannot</guid>
	<pubDate>Thu, 18 Aug 2016 10:02:03 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/28844/teannot</link>
	<title><![CDATA[TEannot]]></title>
	<description><![CDATA[<p>We advise to run first the TEdenovo pipeline but it is not compulsory. We suppose you begin by running the TEannot pipeline on the example provided in the directory "db/" rather than directly on your own genomic sequences. Thus, from now on, the project name is "DmelChr4".</p>
<p>&nbsp;</p><p>Address of the bookmark: <a href="https://urgi.versailles.inra.fr/Tools/REPET/TEannot-tuto" rel="nofollow">https://urgi.versailles.inra.fr/Tools/REPET/TEannot-tuto</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/34394/tulip-the-uncorrected-long-read-itegration-pipeline</guid>
	<pubDate>Thu, 23 Nov 2017 09:30:01 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/34394/tulip-the-uncorrected-long-read-itegration-pipeline</link>
	<title><![CDATA[TULIP - The Uncorrected Long read Itegration Pipeline]]></title>
	<description><![CDATA[<p>#Running TULIP (The Uncorrected Long-read Integration Process), version 0.4 late 2016 (European eel)</p>
<p>TULIP currently consists of to Perl scripts, tulipseed.perl and tulipbulb.perl. These are very much intended as prototypes, and additional components and/or implementations are likely to follow.&nbsp;<br>Tulipseed takes as input alignments files of long reads to sparse short seeds, and outputs a graph and scaffold structures. Tulipbulb adds long read sequencing data to these.</p>
<p>&nbsp;</p>
<p>https://github.com/Generade-nl/TULIP</p><p>Address of the bookmark: <a href="https://github.com/Generade-nl/TULIP" rel="nofollow">https://github.com/Generade-nl/TULIP</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/38475/purge-haplotigs-pipeline-to-help-with-curating-heterozygous-diploid-genome-assemblies</guid>
	<pubDate>Mon, 17 Dec 2018 03:17:20 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/38475/purge-haplotigs-pipeline-to-help-with-curating-heterozygous-diploid-genome-assemblies</link>
	<title><![CDATA[Purge Haplotigs: Pipeline to help with curating heterozygous diploid genome assemblies]]></title>
	<description><![CDATA[<p>Some parts of a genome may have a very high degree of heterozygosity. This causes contigs for both haplotypes of that part of the genome to be assembled as separate primary contigs, rather than as a contig and an associated haplotig. This can be an issue for downstream analysis whether you're working on the haploid or phased-diploid assembly.</p>
<p><span>Identify pairs of contigs that are syntenic and move one of them to the haplotig 'pool'. The pipeline uses mapped read coverage and Minimap2 alignments to determine which contigs to keep for the haploid assembly. Dotplots are optionally produced for all flagged contig matches, juxtaposed with read-coverage, to help the user determine the proper assignment of any remaining ambiguous contigs. The pipeline will run on either a haploid assembly (i.e. Canu, FALCON or FALCON-Unzip primary contigs) or on a phased-diploid assembly (i.e. FALCON-Unzip primary contigs + haplotigs). Here are&nbsp;</span><a href="https://bitbucket.org/mroachawri/purge_haplotigs/wiki/Examples">two examples</a><span>&nbsp;of how Purge Haplotigs can improve a haploid and diploid assembly.</span></p><p>Address of the bookmark: <a href="https://bitbucket.org/mroachawri/purge_haplotigs" rel="nofollow">https://bitbucket.org/mroachawri/purge_haplotigs</a></p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>

</channel>
</rss>