<?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/38176?offset=230</link>
	<atom:link href="https://bioinformaticsonline.com/related/38176?offset=230" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/44722/step-by-step-guide-to-running-genome-assembly</guid>
	<pubDate>Fri, 13 Dec 2024 11:35:55 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/44722/step-by-step-guide-to-running-genome-assembly</link>
	<title><![CDATA[Step-by-Step Guide to Running Genome Assembly]]></title>
	<description><![CDATA[<p>Genome assembly is a critical process in bioinformatics, enabling the reconstruction of an organism's genome from short DNA sequence reads. Whether you&rsquo;re working on a new microbial genome or a complex eukaryotic organism, this guide will walk you through the steps of genome assembly using state-of-the-art tools and best practices.</p><h4><strong>What is Genome Assembly?</strong></h4><p>Genome assembly involves piecing together short DNA sequence reads generated by sequencing platforms (e.g., Illumina, PacBio, Oxford Nanopore) into longer, contiguous sequences called contigs. This can be performed as:</p><ul>
<li><strong>De Novo Assembly</strong>: Without a reference genome.</li>
<li><strong>Reference-Guided Assembly</strong>: Using a reference genome to guide the assembly process.</li>
</ul><h4><strong>Step 1: Preparing Your Data</strong></h4><p>Before starting the assembly, ensure that your raw sequencing data is high quality.</p><ol>
<li>
<p><strong>Input Data</strong></p>
<ul>
<li><strong>Short Reads</strong>: Illumina sequencing generates short, accurate reads ideal for scaffolding.</li>
<li><strong>Long Reads</strong>: PacBio and Nanopore sequencing provide long reads for resolving repetitive regions.</li>
</ul>
</li>
<li>
<p><strong>Quality Control (QC)</strong><br />Use tools like <strong>FastQC</strong> or <strong>MultiQC</strong> to assess the quality of your reads:</p>
<div>
<div dir="ltr"><code>fastqc reads.fastq multiqc . </code></div>
</div>
<p>Look for issues like low-quality bases, adapter contamination, or overrepresented sequences.</p>
</li>
<li>
<p><strong>Read Trimming and Filtering</strong><br />Trim low-quality bases and adapters using <strong>Trimmomatic</strong> or <strong>Cutadapt</strong>:</p>
<div>
<div dir="ltr"><code>trimmomatic PE reads_R1.fastq reads_R2.fastq trimmed_R1.fastq trimmed_R2.fastq \ ILLUMINACLIP:adapters.fa:2:30:10 LEADING:3 TRAILING:3 SLIDINGWINDOW:4:20 MINLEN:36 </code></div>
</div>
</li>
</ol><h4><strong>Step 2: Choosing an Assembly Strategy</strong></h4><p>Select an assembly strategy based on your data type:</p><ul>
<li>
<p><strong>Short-Read Assemblers</strong>:</p>
<ul>
<li>SPAdes: Popular for microbial genomes.</li>
<li>Velvet: Fast for smaller genomes.</li>
</ul>
</li>
<li>
<p><strong>Long-Read Assemblers</strong>:</p>
<ul>
<li>Canu: Ideal for long-read datasets.</li>
<li>Flye: Versatile for small and large genomes.</li>
</ul>
</li>
<li>
<p><strong>Hybrid Assemblers</strong>:</p>
<ul>
<li>MaSuRCA: Combines short and long reads.</li>
<li>Unicycler: Optimized for bacterial genomes.</li>
</ul>
</li>
</ul><h4><strong>Step 3: Running the Assembly</strong></h4><h5><strong>3.1. SPAdes (Short-Read Assembly)</strong></h5><p>SPAdes is an excellent choice for small genomes, such as bacteria.</p><div><div dir="ltr"><code>spades.py -1 trimmed_R1.fastq -2 trimmed_R2.fastq -o spades_output </code></div></div><p>The output includes assembled contigs (<code>contigs.fasta</code>) and scaffolds (<code>scaffolds.fasta</code>).</p><h5><strong>3.2. Canu (Long-Read Assembly)</strong></h5><p>Canu is designed for high-error long reads from PacBio or Nanopore.</p><div><div dir="ltr"><code>canu -p genome -d canu_output genomeSize=4.7m -nanopore-raw reads.fastq </code></div></div><p>The output will be in <code>canu_output/genome.contigs.fasta</code>.</p><h5><strong>3.3. Hybrid Assembly with Unicycler</strong></h5><p>Unicycler combines short and long reads for improved assemblies.</p><div><div dir="ltr"><code>unicycler -1 trimmed_R1.fastq -2 trimmed_R2.fastq -l long_reads.fastq -o unicycler_output </code></div></div><h4><strong>Step 4: Assessing Assembly Quality</strong></h4><p>After assembly, evaluate its quality using the following tools:</p><ol>
<li>
<p><strong>QUAST</strong><br />QUAST generates assembly statistics, such as N50, genome size, and GC content:</p>
<div>
<div dir="ltr"><code>quast contigs.fasta -o quast_output </code></div>
</div>
</li>
<li>
<p><strong>BUSCO</strong><br />BUSCO checks genome completeness by identifying conserved genes:</p>
<div>
<div dir="ltr"><code>busco -i contigs.fasta -o busco_output -l fungi_odb10 -m genome </code></div>
</div>
</li>
<li>
<p><strong>Assembly Graph Visualization</strong><br />Visualize assembly graphs with <strong>Bandage</strong>:</p>
<div>
<div dir="ltr"><code>Bandage load assembly_graph.gfa </code></div>
</div>
</li>
</ol><hr><h4><strong>Step 5: Post-Assembly Steps</strong></h4><ol>
<li>
<p><strong>Polishing</strong><br />Improve assembly accuracy using tools like <strong>Pilon</strong> (for short reads) or <strong>Racon</strong> (for long reads).</p>
<div>
<div dir="ltr"><code>racon long_reads.fasta mapped_reads.sam contigs.fasta &gt; polished_contigs.fasta </code></div>
</div>
</li>
<li>
<p><strong>Scaffolding</strong><br />Link contigs into scaffolds using tools like <strong>SSPACE</strong> or <strong>Opera-LG</strong> if required.</p>
</li>
<li>
<p><strong>Annotation</strong><br />Annotate the assembled genome using <strong>Prokka</strong> for prokaryotes or <strong>Maker</strong> for eukaryotes.</p>
<div>
<div dir="ltr"><code>prokka --outdir annotation_output --prefix genome contigs.fasta </code></div>
</div>
</li>
</ol><h4><strong>Step 6: Sharing and Archiving</strong></h4><ol>
<li>
<p><strong>Submit to Public Repositories</strong><br />Share your assembly in databases like <strong>NCBI GenBank</strong>, <strong>ENA</strong>, or <strong>DDBJ</strong>.</p>
</li>
<li>
<p><strong>Metadata Preparation</strong><br />Include detailed metadata for your submission, such as organism name, sequencing platform, and coverage.</p>
</li>
</ol><h4><strong>Best Practices</strong></h4><ul>
<li>Always perform quality checks at each stage to ensure data integrity.</li>
<li>Use multiple tools to cross-validate results when working with complex genomes.</li>
<li>Document parameters and software versions for reproducibility.</li>
</ul><h4><strong>Conclusion</strong></h4><p>Genome assembly is a powerful process that transforms raw sequencing data into a coherent representation of an organism&rsquo;s genome. By following this step-by-step guide, you can successfully assemble genomes and uncover valuable biological insights. Whether you&rsquo;re assembling a microbial genome or tackling the complexities of a eukaryotic genome, these tools and strategies will set you on the path to success.</p>]]></description>
	<dc:creator>Abhi</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/44775/genomic-architecture-surrounding-the-fusion-site-of-human-chromosome-2</guid>
	<pubDate>Tue, 04 Mar 2025 12:26:29 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/44775/genomic-architecture-surrounding-the-fusion-site-of-human-chromosome-2</link>
	<title><![CDATA[Genomic architecture surrounding the fusion site of human chromosome 2]]></title>
	<description><![CDATA[<p>The article <strong>"Genomic Structure and Evolution of the Ancestral Chromosome Fusion Site in 2q13&ndash;2q14.1 and Paralogous Regions on Other Human Chromosomes (https://pmc.ncbi.nlm.nih.gov/articles/PMC187548/)"</strong> explores the genomic architecture surrounding the fusion site of human chromosome 2. This fusion event is a key evolutionary marker distinguishing humans from other great apes, as humans have 46 chromosomes while chimpanzees, gorillas, and orangutans possess 48. The fusion occurred through an end-to-end joining of two ancestral chromosomes, which remain separate in nonhuman primates.</p><h3><strong>Key Findings:</strong></h3><ol>
<li>
<p><strong>Chromosomal Fusion and Its Molecular Signature:</strong></p>
<ul>
<li>The fusion site is located at <strong>2q13&ndash;2q14.1</strong> and is characterized by <strong>degenerate telomeric sequences</strong> appearing interstitially, indicating the historical head-to-head joining of ancestral chromosomes.</li>
<li>Despite being a signature of a past fusion event, these telomeric repeats are no longer functional and have undergone sequence degradation over time.</li>
</ul>
</li>
<li>
<p><strong>Extensive Duplications in the Surrounding Genomic Region:</strong></p>
<ul>
<li>The study identifies <strong>large-scale segmental duplications</strong> flanking the fusion site, with several of these regions duplicated and scattered across multiple chromosomes.</li>
<li>These duplications are predominantly located in <strong>subtelomeric and pericentromeric regions</strong>, suggesting their role in genomic instability and chromosomal evolution.</li>
</ul>
</li>
<li>
<p><strong>Paralogous Regions and Their Evolutionary Relationships:</strong></p>
<ul>
<li>A <strong>168-kilobase (kb) segment</strong> near the fusion site has <strong>98%&ndash;99% sequence identity</strong> with three regions on <strong>chromosome 9 (9pter, 9p11.2, and 9q13)</strong>.</li>
<li>Another <strong>67-kb region distal to the fusion site</strong> shows a high degree of homology to sequences in <strong>chromosome 22qter</strong>.</li>
<li>Additionally, a <strong>100-kb segment</strong> exhibits <strong>96% sequence identity</strong> with a region in <strong>chromosome 2q11.2</strong>.</li>
</ul>
</li>
<li>
<p><strong>Comparative Genomics and Evolutionary Implications:</strong></p>
<ul>
<li>By comparing the duplicated sequences and their arrangement in primates, the researchers traced the order of duplication events leading to their present distribution.</li>
<li>The presence of specific repetitive elements within these duplicated segments serves as <strong>evolutionary markers</strong> that help infer their historical rearrangements.</li>
<li>Some of these <strong>duplicated regions are associated with chromosomal inversion breakpoints</strong>, potentially contributing to evolutionary changes in primates.</li>
<li>Recurrent <strong>structural rearrangements</strong> in these regions have been linked to human chromosomal disorders.</li>
</ul>
</li>
</ol><h3><strong>Conclusions and Implications:</strong></h3><ul>
<li>The findings provide valuable insights into <strong>the structural evolution of human chromosome 2</strong>, which played a crucial role in human speciation.</li>
<li>Understanding these <strong>segmental duplications</strong> and their evolutionary trajectories sheds light on <strong>genomic instability</strong>, which may contribute to <strong>human genetic diseases</strong>.</li>
<li>The study highlights how large-scale chromosomal rearrangements, such as fusion and duplication, have influenced the <strong>evolutionary divergence of humans</strong> from other primates.</li>
</ul><p>This research advances our understanding of <strong>human genome evolution</strong> and offers a foundation for studying the effects of <strong>structural variants in genetic disorders</strong>.</p>]]></description>
	<dc:creator>LEGE</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/45267/when-thousands-of-bacterial-genomes-become-one-giant-map</guid>
	<pubDate>Thu, 27 Aug 2026 10:56:47 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/45267/when-thousands-of-bacterial-genomes-become-one-giant-map</link>
	<title><![CDATA[When Thousands of Bacterial Genomes Become One Giant Map]]></title>
	<description><![CDATA[<p>Imagine trying to understand a city by studying just one house.</p><p>You might learn a lot about that house&mdash;the rooms, the doors, the furniture&mdash;but you would miss the bigger story: the streets, the neighborhoods, and all the ways the city changes from one place to another.</p><p>Something similar happens when scientists study bacterial genomes one at a time.</p><p>Over the past decade, researchers have collected thousands of bacterial genomes. These genomes contain an enormous amount of information about how bacteria survive, adapt, and evolve. But comparing thousands of individual genomes can quickly become a computational maze.</p><p>That is where PANORAMA enters the story.</p><p>Developed by J&eacute;r&ocirc;me Arnoux and colleagues, PANORAMA is a computational tool designed to explore bacterial pangenomes&mdash;the complete collection of genetic possibilities found across a species or group of related organisms. Instead of looking at every genome as an isolated object, the approach represents their shared and variable genetic features as a graph.</p><p>Think of this graph as a giant subway map.</p><p>Some stations appear on almost every route. These represent genes that are highly conserved. Other stations appear only on certain routes, representing genes that some bacteria possess while others do not. By looking at the entire network, scientists can begin to see not just *what genes exist*, but how they are organized and how biological systems are distributed across populations.</p><p>The researchers put PANORAMA to the test using 941 genomes of Pseudomonas aeruginosa, a bacterium important in human health. They used the tool to investigate biological systems, including bacterial defense mechanisms against viruses known as bacteriophages. They then expanded the analysis to more than 6,000 genomes from four Enterobacteriaceae species.</p><p>The result is more than a faster way to process data.</p><p>PANORAMA allows researchers to ask a bigger question: What can an entire microbial species do, genetically speaking?</p><p>By comparing pangenomes, the researchers could identify systems shared between species as well as distinctive features. They could also find recurring genomic locations where genetic material is inserted&mdash;clues that may reveal common evolutionary processes.</p><p>And this is perhaps the most exciting part of the story.</p><p>Every bacterial genome is like a page in a huge evolutionary book. Until recently, reading thousands of those pages together was difficult. PANORAMA provides a way to turn those pages into a map, allowing scientists to see patterns that might disappear when each genome is studied separately.</p><p>The study, published in PLOS Computational Biology in July 2026, presents PANORAMA as a foundation for large-scale comparative pangenomics. The software and accompanying analysis resources are openly available, giving other researchers the opportunity to explore microbial diversity themselves.</p><p>So the story is not really about one bacterium or one genome.</p><p>It is about changing the way we look at life.</p><p>Instead of asking, &ldquo;What is inside this genome?&rdquo;, scientists can increasingly ask, &ldquo;What is the full genetic landscape of this species&mdash;and how did it become this way?&rdquo;</p><p>And sometimes, when you stop looking at one house and finally see the whole city, the most interesting discoveries are hiding in the streets between them.</p><p>Read more at&nbsp;https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1013856</p>]]></description>
	<dc:creator>LEGE</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/45303/the-tree-that-learned-to-read-genomes</guid>
	<pubDate>Fri, 11 Sep 2026 00:51:02 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/45303/the-tree-that-learned-to-read-genomes</link>
	<title><![CDATA[The Tree That Learned to Read Genomes]]></title>
	<description><![CDATA[<p>Imagine trying to reconstruct a family tree when many family photographs are missing, some names are unclear, and different relatives remember the past differently. This is similar to the challenge scientists face when trying to understand how organisms are related. Their family records are genomes, and the family tree is a phylogenetic tree. With modern sequencing technologies, scientists now have access to thousands of genomes, but comparing them can be difficult, especially when genomes are incomplete or poorly annotated.</p><p>A recent study by Webster and Chapman introduces Buscogeny (https://github.com/Jwebster89/Buscogeny), an open-source bioinformatics pipeline designed to make this process easier. The tool uses BUSCO (Benchmarking Universal Single-Copy Orthologs), which identifies conserved genes that are expected to occur as single copies in particular groups of organisms. These genes act like evolutionary landmarks, allowing researchers to compare genomes and investigate their relationships.</p><p>Buscogeny brings several steps of phylogenomic analysis into one workflow. It identifies BUSCO genes, extracts and aligns their sequences, removes unreliable regions, combines information from multiple genes, and uses the resulting data to construct a phylogenetic tree. It also provides quality-control information, helping researchers identify genomes that may be too incomplete for reliable analysis.</p><p>The authors demonstrate the usefulness of Buscogeny with bacterial and fungal genomes, including Alternaria. This is particularly valuable because fungal genomes can vary greatly in quality and annotation. Ultimately, Buscogeny helps transform massive amounts of genomic data into an understandable evolutionary story. Each DNA sequence becomes a clue, each conserved gene becomes a landmark, and together these clues reveal a picture of how life is connected.</p><p>More at&nbsp;https://link.springer.com/article/10.1007/s10123-025-00752-6?</p>]]></description>
	<dc:creator>BioStar</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/40996/sequanix-a-dynamic-graphical-interface-for-snakemake-workflows</guid>
	<pubDate>Wed, 12 Feb 2020 01:20:34 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/40996/sequanix-a-dynamic-graphical-interface-for-snakemake-workflows</link>
	<title><![CDATA[Sequanix: a dynamic graphical interface for Snakemake workflows]]></title>
	<description><![CDATA[<ol>
<li>A Python library dedicated to NGS analysis (e.g., tools to visualise standard NGS formats).</li>
<li>A set of <a href="https://sequana.readthedocs.io/en/master/pipelines.html#pipelines"><span>pipelines</span></a> dedicated to NGS in the form of Snakefiles (Makefile-like with Python syntax based on snakemake framework) with more than 80 re-usable rules (see <a href="https://sequana.readthedocs.io/en/master/rules.html#rules"><span>Rules</span></a>).</li>
<li>Original tools to help in the creation of such pipelines including HTML reports.</li>
<li><dl><dt><a href="https://sequana.readthedocs.io/en/master/applications.html#applications"><span>Standalone applications</span></a>:</dt><dd><ol>
<li><a href="https://sequana.readthedocs.io/en/master/applications.html#standalone-sequana-coverage"><span>sequana_coverage</span></a> ease the extraction of genomic regions of interest and genome coverage information</li>
<li><a href="https://sequana.readthedocs.io/en/master/applications.html#standalone-sequana-taxonomy"><span>sequana_taxonomy</span></a> performs a quick taxonomy of your FastQ. This requires dedicated databases to be downloaded.</li>
<li><a href="https://sequana.readthedocs.io/en/master/applications.html#sequanix"><span>Sequanix: GUI for snakemake workflows</span></a>, a GUI for Snakemake workflows (hence Sequana pipelines as well)</li>
</ol>
<p>More at https://sequana.readthedocs.io/en/master/</p>
</dd></dl></li>
</ol><p>Address of the bookmark: <a href="https://github.com/sequana/sequana" rel="nofollow">https://github.com/sequana/sequana</a></p>]]></description>
	<dc:creator>BioStar</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/pages/view/11735/search-shell-command-history</guid>
	<pubDate>Thu, 12 Jun 2014 17:43:34 -0500</pubDate>
	<link>https://bioinformaticsonline.com/pages/view/11735/search-shell-command-history</link>
	<title><![CDATA[Search Shell Command History]]></title>
	<description><![CDATA[<p>We use couple of hundreads of command in daily basis. Most of them are actually repeated several time. The question remain open how do I search old command history under bash shell and modify or reuse it? <br /><br />Now a days almost all modern shell allows you to search command history if enabled by user. Use history command to display the history list with line numbers. Lines listed with with a * have been modified by user.</p><p><br /><strong>Shell history search command</strong><br /><br />Type history at a shell prompt:<br />$ history</p><p>It will display the list of all used commandline history with an serial number.<br /><br />To search particular command, enter:<br />$ history | grep command-name<br />$ history | egrep -i 'scp|ssh|ftp'<br />Emacs Line-Edit Mode Command History Searching<br /><br />To get previous command containing string, hit [CTRL]+[r] followed by search string:<br /><br />(reverse-i-search): <br /><br />To get previous command, hit [CTRL]+[p]. You can also use up arrow key.<br /><br />CTRL-p<br /><br />To get next command, hit [CTRL]+[n]. You can also use down arrow key.<br /><br />CTRL-n<br /><br /></p><p><strong>fc command</strong></p><p>Apart from hostory command there are fc command to extract the command from history. The fc stands for either "find command" or "fix command.</p><p>For example list last 10 command, enter:<br />$ fc -l 10<br />To list commands 130 through 150, enter:<br />$ fc -l 130 150<br />To list all commands since the last command beginning with ssh, enter:<br />$ fc -l ssh<br />You can edit commands 1 through 5 using vi text editor, enter:<br />$ fc -e vi 1 5</p><p><strong>Delete command history</strong><br /><br />The -c option causes the history list to be cleared by deleting all of the entries:<br />$ history -c</p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/42987/public-databases-for-bioinformatics</guid>
	<pubDate>Tue, 23 Mar 2021 05:32:15 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/42987/public-databases-for-bioinformatics</link>
	<title><![CDATA[Public Databases for Bioinformatics !]]></title>
	<description><![CDATA[<pre>https://www.nature.com/articles/s41467-020-17155-y<br><br>Server Infrastructure:

File Server:

dhara: Synology 3614 Storage Appliance
4 Core Xeon
108TB disk storage
10Gb ethernet to SCG3
Access atx: dhara:5000
Has btsync server (try it - its much better than dropbox)

Compute Servers:

nandi: Kundaje and Phi Server
24 intel cores
256GB RAM
500GB of SSD storage 
36TB RAID6 local storage
4 Intel Phi's (space for 4 more GPU's)


durga: Montgomery and sensitive data
24 intel cores
256GB RAM
500GB of SSD RAID0 storage 
60TB RAID6 local storage

mitra: Bassik and Web/DB Server
24 core
256GB RAM 
500GB of SSD RAID0 storage 
36TB RAID6 local storage

vayu: Kundaje GPU server
4 core
64GB RAM 
200GB of SSD storage 
8TB RAID10 local storage
4 Nvidia GTX 970 4GB GPUs

amold: Bickel and SGE server
32 AMD core
128GB RAM 
200GB of SSD storage 
12TB RAID5 local storage

wotan: Bickel and SGE server
64 AMD core
256GB RAM 
200GB of SSD storage 
12TB RAID5 local storage

Filesystem:

/users/$USER
default home directory
full backups nightly 
nfs mount to dhara
should store code, papers, and other highly processed data here

/mnt/data/
globally accessible data
should store common data here
e.g. genomes and indexes, annotations, ENCODE data  
if you dont want this to count towards your quote you must chown

/mnt/lab_data/$LAB/
lab accessible data
should store lab project data here 
e.g. ATAC-seq prediction data, enhancer prediction, motif calls

/srv/scratch/$USER
fast local storage
not backed up, but on raid and data will never be deleted
most analysis should be performed here

/srv/persistent/$USER
fast local storage
synced nightly, but not backed up
       ie if the hard drives fail or you delete something and notice 
       within 24 hours we can recover. Otherwise not. (vs home which is 
       properly backed up )  
intermediate analysis products that would be hard to recover should be stored here 
       e.g. stochastic analysis results that need to be kept so that paper 
       results can be reproduced

/srv/www/$LABNAME/
web accessible from mitra.stanford.edu
*NOT BACKED UP*

Some parallel programming patterns:

# gzip a bunch of files
parallel gzip -- *.FILESTOGZIP

# fork example in python:
(for more detailed examples look at 
 https://github.com/nboley/grit/ grit/lib/multiprocessing_utils.py)

import os
import time
import random

import multiprocessing

class ProcessSafeOPStream( object ):
    def __init__( self, writeable_obj ):
        self.writeable_obj = writeable_obj
        self.lock = multiprocessing.Lock()
        self.name = self.writeable_obj.name
        return
    
    def write( self, data ):
        self.lock.acquire()
        self.writeable_obj.write( data )
        self.writeable_obj.flush()
        self.lock.release()
        return
    
    def close( self ):
        self.writeable_obj.close()

def worker(queue, ofp):
    # Try without this
    random.seed()
    while True:
        i = queue.get()
        if i == 'FINISHED': return
        # simulate an expensive function
        x = random.random()
        time.sleep(x/10)
        print i, x
        ofp.write("%i\t%s\n" % (i, x))

NSIMS = 10000
NPROC = 25

# populate queue
todo = multiprocessing.Queue()
for i in xrange(NSIMS): todo.put(i)
for i in xrange(NPROC): todo.put('FINISHED')

ofp = ProcessSafeOPStream( open("output.txt", "w") )

pids = []
for i in xrange(NPROC):
    pid = os.fork()
    if pid == 0:
       worker(todo, ofp)
       os._exit(0)
    else:
       pids.append(pid)  

for pid in pids:
    os.waitpid(pid, 0)

ofp.close()

print "FINISHED"<br><br></pre>
<p>For use case 1 we obtained the following ENCODE and ROADMAP datasets&nbsp;<a href="https://www.encodeproject.org/files/ENCFF446WOD/@@download/ENCFF446WOD.bed.gz">https://www.encodeproject.org/files/ENCFF446WOD/@@download/ENCFF446WOD.bed.gz</a>,&nbsp;<a href="https://www.encodeproject.org/files/ENCFF546PJU/@@download/ENCFF546PJU.bam">https://www.encodeproject.org/files/ENCFF546PJU/@@download/ENCFF546PJU.bam</a>,&nbsp;<a href="https://www.encodeproject.org/files/ENCFF059BEU/@@download/ENCFF059BEU.bam">https://www.encodeproject.org/files/ENCFF059BEU/@@download/ENCFF059BEU.bam</a>. Blacklisted regions were obtained from&nbsp;<a href="http://mitra.stanford.edu/kundaje/akundaje/release/blacklists/hg38-human/hg38.blacklist.bed.gz">http://mitra.stanford.edu/kundaje/akundaje/release/blacklists/hg38-human/hg38.blacklist.bed.gz</a>. The human genome version hg38 was obtained from&nbsp;<a href="http://hgdownload.cse.ucsc.edu/goldenPath/hg38/bigZips/hg38.fa.gz">http://hgdownload.cse.ucsc.edu/goldenPath/hg38/bigZips/hg38.fa.gz</a>.</p>
<p>For use case 2 we used the set of narrowPeak files summarized in&nbsp;<a href="https://github.com/wkopp/janggu_usecases/tree/master/extra/urls.txt">https://github.com/wkopp/janggu_usecases/tree/master/extra/urls.txt</a>&nbsp;(archived version v1.0.1). The human genome version hg19 was obtained from&nbsp;<a href="http://hgdownload.cse.ucsc.edu/goldenPath/hg19/bigZips/hg19.fa.gz">http://hgdownload.cse.ucsc.edu/goldenPath/hg19/bigZips/hg19.fa.gz</a></p>
<p>For use case 3 we used the ENCODE datasets&nbsp;<a href="https://www.encodeproject.org/files/ENCFF591XCX/@@download/ENCFF591XCX.bam">https://www.encodeproject.org/files/ENCFF591XCX/@@download/ENCFF591XCX.bam</a>,&nbsp;<a href="https://www.encodeproject.org/files/ENCFF736LHE/@@download/ENCFF736LHE.bigWig">https://www.encodeproject.org/files/ENCFF736LHE/@@download/ENCFF736LHE.bigWig</a>,&nbsp;<a href="https://www.encodeproject.org/files/ENCFF177HHM/@@download/ENCFF177HHM.bam">https://www.encodeproject.org/files/ENCFF177HHM/@@download/ENCFF177HHM.bam</a>&nbsp;as we as the GENCODE annotation v29 from&nbsp;<a href="ftp://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_29/gencode.v29.annotation.gtf.gz">ftp://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/release_29/gencode.v29.annotation.gtf.gz</a>.</p><p>Address of the bookmark: <a href="http://mitra.stanford.edu/" rel="nofollow">http://mitra.stanford.edu/</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/34488/scripts-for-the-analysis-of-hgt-in-genome-sequence-data</guid>
	<pubDate>Wed, 29 Nov 2017 16:44:10 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/34488/scripts-for-the-analysis-of-hgt-in-genome-sequence-data</link>
	<title><![CDATA[Scripts for the analysis of HGT in genome sequence data.]]></title>
	<description><![CDATA[<p><span>Scripts for the analysis of HGT in genome sequence data</span></p><p>Address of the bookmark: <a href="https://github.com/reubwn/hgt" rel="nofollow">https://github.com/reubwn/hgt</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/34569/ksnp30-snp-detection-and-phylogenetic-analysis-of-genomes-without-genome-alignment-or-reference-genome</guid>
	<pubDate>Fri, 08 Dec 2017 16:48:40 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/34569/ksnp30-snp-detection-and-phylogenetic-analysis-of-genomes-without-genome-alignment-or-reference-genome</link>
	<title><![CDATA[kSNP3.0: SNP detection and phylogenetic analysis of genomes without genome alignment or reference genome]]></title>
	<description><![CDATA[<p><span>Sept. 20, 2017 Version 3.1 released. Major upgrade. Version 3.1 fixes the problems with SNP annotation that arose when NCBI discontinued use of GI numbers. Please read carefully the Preface (page 3) and the File of annotated genomes section (pages 9-10) in the version 3.1 User Guide. Thanks to Tom Slezak for revsing the get_genbank_file3 script and to Tod Stuber (USDA) for testing version 3.1 even though he doesn't need the annotation feature. All users are encouraged to upgrade to version 3.1.&nbsp;<br></span></p><p>Address of the bookmark: <a href="https://sourceforge.net/projects/ksnp/files/" rel="nofollow">https://sourceforge.net/projects/ksnp/files/</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/34707/string-graph-based-genome-assembly-software-and-tools</guid>
	<pubDate>Tue, 19 Dec 2017 17:17:38 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/34707/string-graph-based-genome-assembly-software-and-tools</link>
	<title><![CDATA[String graph based genome assembly software and tools !]]></title>
	<description><![CDATA[<p>In&nbsp;<a href="https://en.wikipedia.org/wiki/Graph_theory" title="Graph theory">graph theory</a>, a&nbsp;<strong>string graph</strong>&nbsp;is an&nbsp;<a href="https://en.wikipedia.org/wiki/Intersection_graph" title="Intersection graph">intersection graph</a>&nbsp;of&nbsp;<a href="https://en.wikipedia.org/wiki/Curve" title="Curve">curves</a>&nbsp;in the plane; each curve is called a "string".&nbsp; String graphs were first proposed by E. W. Myers in a&nbsp;<a href="http://bioinformatics.oxfordjournals.org/content/21/suppl_2/ii79.full.pdf+html">2005 publication</a>.&nbsp;In&nbsp;recent&nbsp;<a href="http://genome.cshlp.org/content/early/2012/01/22/gr.126953.111">Genome Research paper</a>&nbsp;describing an innovative approach for assembling large genomes from NGS data caught our attention for several reasons. i) it give different "string graph" prospective of long lasting genome assembly problem ii) the&nbsp;paper is coauthored by Jared Simpson, the developer of&nbsp;<a href="http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2694472/">ABySS assembler</a>&nbsp;and Richard Durbin. iii)&nbsp;Simpson-Durbin algorithm is that it does not rely on de Bruijn graphs, and instead employs a different graph construction approach called &lsquo;string graph&rsquo;.</p><p>Following are the genome assembly tools based on string graph:</p><p>1.SGA (String Graph Assembler)&nbsp;https://github.com/jts/sga</p><p>Assembles large genomes from high coverage short read data. SGA is designed as a modular set of programs, which are used to form an assembly pipeline. SGA implements a set of assembly algorithms based on the FM-index. As the FM-index is a compressed data structure, the algorithms are very memory efficient. The SGA assembly has three distinct phases. The first phase corrects base calling errors in the reads. The second phase assembles contigs from the corrected reads. The third phase uses paired end and/or mate pair data to build scaffolds from the contigs. The output of this software is a PDF report that allows the properties of the genome and data quality to be visually explored. By providing more information to the user at the start of an assembly project, this software will help increase awareness of the factors that make a given assembly easy or difficult, assist in the selection of software and parameters and help to troubleshoot an assembly if it runs into problems.</p><p>2.&nbsp;SAGE: String-overlap Assembly of GEnomes&nbsp;https://github.com/lucian-ilie/SAGE2</p><p>SAGE, for de novo genome assembly. As opposed to most assemblers, which are de Bruijn graph based, SAGE uses the string-overlap graph. SAGE builds upon great existing work on string-overlap graph and maximum likelihood assembly, bringing an important number of new ideas, such as the efficient computation of the transitive reduction of the string overlap graph, the use of (generalized) edge multiplicity statistics for more accurate estimation of read copy counts, and the improved use of mate pairs and min-cost flow for supporting edge merging. The assemblies produced by SAGE for several short and medium-size genomes compared favourably with those of existing leading assemblers.</p><p>3. FSG: Fast String Graph</p><p>The new integrated assembler has been assessed on a standard benchmark, showing that fast string graph (FSG) is significantly faster than SGA while maintaining a moderate use of main memory, and showing practical advantages in running FSG on multiple threads. Moreover, we have studied the effect of coverage rates on the running times.</p><p>4.&nbsp;&nbsp;BASE&nbsp;https://github.com/dhlbh/BASE</p><p>It enhances the classic seed-extension approach by indexing the reads efficiently to generate adaptive seeds that have high probability to appear uniquely in the genome. Such seeds form the basis for BASE to build extension trees and then to use reverse validation to remove the branches based on read coverage and paired-end information, resulting in high-quality consensus sequences of reads sharing the seeds. Such consensus sequences are then extended to contigs.&nbsp;BASE is a practically efficient tool for constructing contig, with significant improvement in quality for long NGS reads. It is relatively easy to extend BASE to include scaffolding.</p><p>5.&nbsp;Fermi&nbsp;https://github.com/lh3/fermi/</p><p>Fermi is a de novo assembler with a particular focus on assembling Illumina&nbsp;short sequence reads from a mammal-sized genome. In addition to the role of a&nbsp;typical assembler, fermi also aims to preserve heterozygotes which are often&nbsp;collapsed by other assemblers. Its ultimate goal is to find a minimal set of&nbsp;unitigs to represent all the information in raw reads.</p><p>If you want to learn about String Graph assembler, please read the following papers -</p><p>i)&nbsp;<a href="http://bioinformatics.oxfordjournals.org/content/21/suppl_2/ii79.full.pdf+html">The Fragment Assembly String Graph - E. W. Myers</a></p><p>This paper describes the String Graph concept.</p><p>ii)&nbsp;<a href="http://bioinformatics.oxfordjournals.org/content/26/12/i367.full#ref-20">Efficient construction of an assembly string graph using the FM-index - Jared T. Simpson and Richard Durbin</a></p><p>This earlier paper from Simpson and Durbin</p><p>iii)&nbsp;<a href="http://genome.cshlp.org/content/early/2012/01/22/gr.126953.111">Efficient de novo assembly of large genomes using compressed data structures - Jared T. Simpson and Richard Durbin</a></p><p>&nbsp;</p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>

</channel>
</rss>