<?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/39250?offset=420</link>
	<atom:link href="https://bioinformaticsonline.com/related/39250?offset=420" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/45349/finding-the-hidden-switches-the-story-of-kinext-and-protein-kinases</guid>
	<pubDate>Thu, 24 Sep 2026 02:51:28 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/45349/finding-the-hidden-switches-the-story-of-kinext-and-protein-kinases</link>
	<title><![CDATA[Finding the Hidden Switches: The Story of KiNext and Protein Kinases]]></title>
	<description><![CDATA[<p>Every newly sequenced genome contains thousands of proteins, but identifying what each protein does is a much harder task. Among these proteins are protein kinases, important molecular regulators that control processes such as cell growth, development, metabolism, stress responses, and signaling. Finding these kinases and determining which families they belong to can reveal important clues about how an organism functions and has evolved.</p><p>This is where KiNext comes into the picture. Introduced in a 2024 study published in BMC Bioinformatics, KiNext is a computational workflow designed to identify and classify protein kinases from predicted protein sequences. Instead of relying on a single search method, it brings together several approaches, including Hidden Markov Models, sequence alignment, phylogenetic analysis, and structural comparison.</p><p>The search begins with a simple question: does a protein contain the characteristics of a kinase? Protein kinases can change considerably during evolution, but important regions of their sequences often retain recognizable patterns. KiNext uses Hidden Markov Models, or HMMs, to detect these patterns. An HMM does not require a protein to be an exact match to a known kinase. Instead, it looks for a statistical sequence signature associated with kinase proteins, making it possible to detect more distant candidates.</p><p>Once potential kinases are identified, KiNext takes the analysis further. It distinguishes conventional eukaryotic protein kinases from atypical protein kinases and then attempts to classify them into different kinase groups and families. This distinction is important because simply identifying a protein as a kinase does not tell the complete story. Different kinase families can have very different evolutionary histories and biological functions.</p><p>The next stage brings evolution into the picture. KiNext can align kinase sequences and construct phylogenetic trees, allowing researchers to examine how newly identified proteins are related to previously characterized kinases. When sequence evidence alone is difficult to interpret, structural information can provide another clue. The workflow can incorporate AlphaFold-predicted structures and Foldseek-based structural comparisons to investigate whether an unusual protein resembles known kinase structures.</p><p>The researchers tested KiNext using two very different organisms: the Pacific oyster, Crassostrea gigas, and the green alga Ostreococcus tauri. In C. gigas, KiNext recovered previously reported kinases while identifying additional candidates. Structural analysis provided further evidence for many of the newly detected proteins. In O. tauri, the workflow similarly recovered most previously reported kinases and identified additional candidates while refining some of their classifications.</p><p>What makes KiNext particularly interesting is not just its ability to find kinases, but how the entire analysis is organized. The workflow uses Nextflow, allowing the different computational steps to be connected into a reproducible pipeline. Containers can also help manage software dependencies, making it easier to run the workflow across different computing environments.</p><p>This reproducibility becomes increasingly important as the number of available genomes continues to grow. A researcher studying one organism may be able to perform an analysis manually, but repeating the same process across hundreds or thousands of genomes quickly becomes impractical. A standardized workflow provides a way to perform the analysis consistently while keeping track of how the results were generated.</p><p>At its core, KiNext demonstrates a broader change taking place in modern genomics. Sequencing a genome provides an enormous amount of information, but the real scientific challenge begins afterward: understanding what all those sequences mean. Protein kinases are only one part of this larger puzzle, yet they are particularly important because they act as molecular switches throughout the cell.</p><p>By combining sequence profiles, evolutionary analysis, and structural evidence within a reproducible computational framework, KiNext provides researchers with a systematic way to uncover these molecular switches. Its real value lies not only in finding more kinases, but in making the process scalable, repeatable, and easier to apply to new genomes.</p><p>As genome sequencing continues to expand across the tree of life, tools such as KiNext can help turn enormous collections of protein sequences into meaningful biological stories&mdash;one kinase at a time.</p><p>Read more about it @</p><p>https://link.springer.com/article/10.1186/s12859-024-05953-w</p>]]></description>
	<dc:creator>LEGE</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/37473/lsc-a-long-read-error-correction-tool</guid>
	<pubDate>Thu, 02 Aug 2018 07:39:46 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/37473/lsc-a-long-read-error-correction-tool</link>
	<title><![CDATA[LSC :a long read error correction tool]]></title>
	<description><![CDATA[<h2>Getting Started</h2>
<p>These simple steps will help you integrate LSC into your transcriptomics analysis pipeline.</p>
<ul>
<li>Read the&nbsp;<a href="https://www.healthcare.uiowa.edu/labs/au/LSC/LSC_requirements.asp">LSC_requirements</a>&nbsp;for running LSC.</li>
<li><a href="https://www.healthcare.uiowa.edu/labs/au/LSC/LSC_download.asp">Download</a>&nbsp;and set-up the LSC package.</li>
<li>Follow the&nbsp;<a href="https://www.healthcare.uiowa.edu/labs/au/LSC/LSC_tutorial.asp">tutorial</a>&nbsp;to see how LSC works on some example data.</li>
<li>Read the&nbsp;<a href="https://www.healthcare.uiowa.edu/labs/au/LSC/LSC_manual.asp">manual</a>&nbsp;if anything is unclear.</li>
<li>You're ready, Happy LSCing!</li>
</ul>
<h2>Latest publication</h2>
<p><span>Kin Fai Au, Jason Underwood, Lawrence Lee and Wing Hung Wong&nbsp;</span><br><strong>Improving PacBio Long Read Accuracy by Short Read Alignment&nbsp;</strong><span>[</span><a href="http://journals.plos.org/plosone/article?id=10.1371%2Fjournal.pone.0046679">Manuscript</a><span>]&nbsp;</span><br><em>PLoS ONE</em><span>&nbsp;2012. 7(10): e46679. doi:10.1371/journal.pone.0046679</span></p><p>Address of the bookmark: <a href="https://www.healthcare.uiowa.edu/labs/au/LSC/" rel="nofollow">https://www.healthcare.uiowa.edu/labs/au/LSC/</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/39302/understanding-reads-mapping-and-flags</guid>
	<pubDate>Thu, 25 Apr 2019 09:06:20 -0500</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/39302/understanding-reads-mapping-and-flags</link>
	<title><![CDATA[Understanding reads mapping and flags !]]></title>
	<description><![CDATA[<p><strong>Linear Alignment:</strong>&nbsp;An alignment of a read to a single reference sequence that may&nbsp;<q>include insertions, deletions, skips and clipping</q>,&nbsp;<span style="text-decoration: underline;">but may not include direction changes</span>&nbsp;(i.e. one portion of the alignment on forward strand and another portion of alignment on reverse strand).<sup id="fnref:1"><a href="https://yulijia.net/en/bioinformatics/2015/12/21/Linear-Chimeric-Supplementary-Primary-and-Secondary-Alignments.html#fn:1"><br /></a></sup></p><p><strong>Chimeric Alignment:</strong>&nbsp;An alignment of a read that cannot be represented as a linear alignment. Typically, one of the linear alignments in a chimeric alignment is considered the &ldquo;representative&rdquo; alignment, and the others are called &ldquo;supplementary&rdquo; and are distinguished by the supplementary alignment flag.<sup id="fnref:1:1"><a href="https://yulijia.net/en/bioinformatics/2015/12/21/Linear-Chimeric-Supplementary-Primary-and-Secondary-Alignments.html#fn:1"><br /></a></sup></p><p>Chimeric reads are indicative of structural variation in DNA-seq and it may indicate the presence of&nbsp;<a href="https://en.wikipedia.org/wiki/Chimeric_gene">chimeric genes</a>&nbsp;in RNA-seq.<sup id="fnref:2"><a href="https://yulijia.net/en/bioinformatics/2015/12/21/Linear-Chimeric-Supplementary-Primary-and-Secondary-Alignments.html#fn:2"><br /></a></sup></p><p>In short, chimeric reads can be split in to two or more parts, each part would be mapped to reference(it&rsquo;s not&nbsp;<a href="https://www.biostars.org/p/119537/">hard-clipped</a>), the total length of the mapped part is longger than read length.<sup id="fnref:3"><a href="https://yulijia.net/en/bioinformatics/2015/12/21/Linear-Chimeric-Supplementary-Primary-and-Secondary-Alignments.html#fn:3"><br /></a></sup></p><p><strong>Representative alignment:</strong>&nbsp;A chimeric alignment that is represented as a set of linear alignments that do not have large overlaps typically has one linear alignment that is considered the representative alignment.<sup id="fnref:4"><a href="https://yulijia.net/en/bioinformatics/2015/12/21/Linear-Chimeric-Supplementary-Primary-and-Secondary-Alignments.html#fn:4"><br /></a></sup></p><p>One read can align to multiple positions, we can find one alignmnet position which sequence do not have large overlaps, it called representative alighment, for other alignment positions, we called them supplementary alignment.</p><p>It seems that GATK can realignment those representative reads to the correctly position via&nbsp;<q>RealignerTargetCreator and IndelRealigner</q>. (WARNING: I am not quite sure if I understand this correctly. If someone could help me, please leave me a message below, thanks, thanks.)</p><p><strong>Supplementary Alignment:</strong>&nbsp;A chimeric reads but not a representative reads.</p><p><strong>Primary Alignment and Secondary Alignment:</strong>&nbsp;A read may map ambiguously to multiple locations, e.g. due to repeats.&nbsp;<strong>Only one of the multiple read alignments is considered primary</strong>,<span style="text-decoration: underline;">&nbsp;and this decision may be arbitrary</span>. All other alignments have the secondary alignment flag.<sup id="fnref:5"><a href="https://yulijia.net/en/bioinformatics/2015/12/21/Linear-Chimeric-Supplementary-Primary-and-Secondary-Alignments.html#fn:5"><br /></a></sup></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/36974/many-to-many-pairwise-alignments-of-two-sequence-sets</guid>
	<pubDate>Tue, 19 Jun 2018 08:34:15 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/36974/many-to-many-pairwise-alignments-of-two-sequence-sets</link>
	<title><![CDATA[Many-to-many pairwise alignments of two sequence sets]]></title>
	<description><![CDATA[needleall reads a set of input sequences and compares them all to one or more sequences, writing their optimal global sequence alignments to file. It uses the Needleman-Wunsch alignment algorithm to find the optimum alignment (including gaps) of two sequences along their entire length. The algorithm uses a dynamic programming method to ensure the alignment is optimum, by exploring all possible alignments and choosing the best. A scoring matrix is read that contains values for every possible residue or nucleotide match. Needleall finds the alignment with the maximum possible score where the score of an alignment is equal to the sum of the matches taken from the scoring matrix, minus penalties arising from opening and extending gaps in the aligned sequences. The substitution matrix and gap opening and extension penalties are user-specified.<p>Address of the bookmark: <a href="http://emboss.sourceforge.net/apps/release/6.6/emboss/apps/needleall.html" rel="nofollow">http://emboss.sourceforge.net/apps/release/6.6/emboss/apps/needleall.html</a></p>]]></description>
	<dc:creator>Poonam Mahapatra</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/38172/bamview-a-free-interactive-display-of-read-alignments-in-bam-data-files</guid>
	<pubDate>Fri, 09 Nov 2018 13:43:22 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/38172/bamview-a-free-interactive-display-of-read-alignments-in-bam-data-files</link>
	<title><![CDATA[BamView: a free interactive display of read alignments in BAM data files]]></title>
	<description><![CDATA[<p>To run the application on UNIX from the downloaded jar file run the UNIX:</p>
<p><tt>java -mx512m -jar BamView.jar</tt></p>
<p>and extra command line options are given when '-h' is used:</p>
<p><tt>java -jar BamView.jar -h</tt></p>
<p>BAM files can be specified on the command line with the '-a' option:</p>
<p><tt>java -mx512m -jar BamView.jar -a pathToFile/sorted.bam</tt></p>
<p>If a BAM filename is not given on the command line BamView will prompt for a file to be entered. The BAM index file should have the same name as the BAM file but with a '.bai' suffix. Multiple BAM files can be loaded and overlaid in the viewer. To make this easier BamView will read in files that contain a list of filenames.</p>
<p>&nbsp;</p><p>Address of the bookmark: <a href="http://bamview.sourceforge.net/" rel="nofollow">http://bamview.sourceforge.net/</a></p>]]></description>
	<dc:creator>Neel</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/44663/svbyeye-r-package-to-visualize-alignments-between-two-or-multiple-dna-sequences</guid>
	<pubDate>Tue, 17 Sep 2024 02:34:57 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/44663/svbyeye-r-package-to-visualize-alignments-between-two-or-multiple-dna-sequences</link>
	<title><![CDATA[SVbyEye: R Package to visualize alignments between two or multiple DNA sequences]]></title>
	<description><![CDATA[<p dir="auto">R Package to visualize alignments between two or multiple DNA sequences including<br>a number of functionalities to facilitate processing of alignments in PAF format.</p>
<p dir="auto"><span>SVbyEye, an open-source R package to visualize and annotate sequence-to-sequence alignments along with various functionalities to process alignments in PAF format. The tool facilitates the characterization of complex SVs in the context of sequence homology helping resolve the mechanisms underlying their formation. Availability and implementation SVbyEye is available at https://github.com/daewoooo/SVbyEye.</span></p>
<p dir="auto">Author: David Porubsky</p><p>Address of the bookmark: <a href="https://github.com/daewoooo/SVbyEye" rel="nofollow">https://github.com/daewoooo/SVbyEye</a></p>]]></description>
	<dc:creator>LEGE</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>