<?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/45278?offset=40</link>
	<atom:link href="https://bioinformaticsonline.com/related/45278?offset=40" rel="self" type="application/rss+xml" />
	<description><![CDATA[]]></description>
	
	<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/41459/jcvipython-utility-libraries-on-genome-assembly-annotation-and-comparative-genomics</guid>
	<pubDate>Tue, 17 Mar 2020 06:19:06 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/41459/jcvipython-utility-libraries-on-genome-assembly-annotation-and-comparative-genomics</link>
	<title><![CDATA[JCVI:Python utility libraries on genome assembly, annotation and comparative genomics]]></title>
	<description><![CDATA[<p>Collection of Python libraries to parse bioinformatics files, or perform computation related to assembly, annotation, and comparative genomics.</p>
<p>https://github.com/tanghaibao/jcvi</p>
<p>More at https://github.com/tanghaibao/jcvi/wiki</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/43736/odgi-optimized-dynamic-genomegraph-implementation</guid>
	<pubDate>Tue, 01 Feb 2022 23:42:21 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/43736/odgi-optimized-dynamic-genomegraph-implementation</link>
	<title><![CDATA[odgi: optimized dynamic genome/graph implementation]]></title>
	<description><![CDATA[<p dir="auto"><code>odgi</code>&nbsp;provides an efficient and succinct dynamic DNA sequence graph model, as well as a host of algorithms that allow the use of such graphs in bioinformatic analyses.</p>
<p dir="auto">Careful encoding of graph entities allows&nbsp;<code>odgi</code>&nbsp;to efficiently compute and transform&nbsp;<a href="https://pangenome.github.io/">pangenomes</a>&nbsp;with minimal overheads.&nbsp;<code>odgi</code>&nbsp;implements a dynamic data structure that leveraged multi-core CPUs and can be updated on the fly.</p>
<p dir="auto">The edges and path steps are recorded as deltas between the current node id and the target node id, where the node id corresponds to the rank in the global array of nodes. Graphs built from biological data sets tend to have local partial order and, when sorted, the deltas be small. This allows them to be compressed with a variable length integer representation, resulting in a small in-memory footprint at the cost of packing and unpacking.</p>
<p dir="auto">The RAM and computational savings are substantial. In partially ordered regions of the graph, most deltas will require only a single byte.</p><p>Address of the bookmark: <a href="https://github.com/pangenome/odgi" rel="nofollow">https://github.com/pangenome/odgi</a></p>]]></description>
	<dc:creator>Abhimanyu Singh</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/43806/genomicus-genome-browser-that-enables-users-to-navigate-in-genomes-in-several-dimensions</guid>
	<pubDate>Mon, 28 Feb 2022 23:27:37 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/43806/genomicus-genome-browser-that-enables-users-to-navigate-in-genomes-in-several-dimensions</link>
	<title><![CDATA[Genomicus: genome browser that enables users to navigate in genomes in several dimensions]]></title>
	<description><![CDATA[<p>Genomicus is a genome browser that enables users to navigate in genomes in several dimensions: linearly along chromosome axes, transversaly across different species, and chronologicaly along evolutionary time.</p>
<p>Once a query gene has been entered, it is displayed in its genomic context in parallel to the genomic context of all its orthologous and paralogous copies in all the other sequenced metazoan genomes. Moreover, Genomicus stores and displays the predicted ancestral genome structure in all the ancestral species within the phylogenetic range of interest.</p>
<p>All the data on extant species displayed in this browser are from&nbsp;<a href="http://www.ensembl.org/">Ensembl</a>.</p>
<p><br><strong>Summary statistics of Genomicus version 105.01:</strong><span>&nbsp;(view species tree in&nbsp;</span><a href="https://www.genomicus.bio.ens.psl.eu/genomicus-105.01/data/SpeciesTree.pdf">pdf</a><span>&nbsp;or&nbsp;</span><a href="https://www.genomicus.bio.ens.psl.eu/genomicus-105.01/data/SpeciesTree.nwk">newick</a><span>)</span><br><br></p>
<table id="introstats">
<tbody>
<tr><th>Number of extant species</th>
<td>200</td>
</tr>
<tr><th>Number of extant genes</th>
<td>4303993</td>
</tr>
<tr><th>&nbsp;</th></tr>
<tr><th>Number of ancestral species</th>
<td>196</td>
</tr>
<tr><th>Number of ancestral genes</th>
<td>4624213</td>
</tr>
<tr><th>Number of ancestral synteny blocks</th>
<td>83342<br><br></td>
</tr>
</tbody>
</table><p>Address of the bookmark: <a href="https://www.genomicus.bio.ens.psl.eu/genomicus-105.01/cgi-bin/search.pl" rel="nofollow">https://www.genomicus.bio.ens.psl.eu/genomicus-105.01/cgi-bin/search.pl</a></p>]]></description>
	<dc:creator>Jit</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/43725/comparative-genomics-workshops</guid>
	<pubDate>Tue, 25 Jan 2022 20:39:58 -0600</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/43725/comparative-genomics-workshops</link>
	<title><![CDATA[Comparative Genomics Workshops !]]></title>
	<description><![CDATA[<p><span>This meeting's objective was to obtain a big picture look at the current state of the field of comparative&nbsp;genomics with a focus on commonalities across genomic investigations into humans, model organisms&nbsp;(both traditional and non-traditional), agricultural species, wildlife species and microbes.</span></p>
<p>https://www.genome.gov/event-calendar/perspectives-in-comparative-genomics-and-evolution</p><p>Address of the bookmark: <a href="https://www.genome.gov/event-calendar/perspectives-in-comparative-genomics-and-evolution" rel="nofollow">https://www.genome.gov/event-calendar/perspectives-in-comparative-genomics-and-evolution</a></p>]]></description>
	<dc:creator>Rahul Nayak</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/44770/nvidia-and-arc-institute-unveil-evo-2-a-breakthrough-ai-for-dna-design</guid>
	<pubDate>Fri, 21 Feb 2025 10:39:47 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/44770/nvidia-and-arc-institute-unveil-evo-2-a-breakthrough-ai-for-dna-design</link>
	<title><![CDATA[NVIDIA and Arc Institute Unveil Evo 2: A Breakthrough AI for DNA Design]]></title>
	<description><![CDATA[<p>NVIDIA and the Arc Institute have introduced <strong style="font-size: 12.8px;">Evo 2</strong>, a groundbreaking AI model designed to <strong style="font-size: 12.8px;">understand, predict, and generate DNA sequences</strong>. This marks a major advancement in computational biology, offering scientists an unprecedented tool to decode the genetic blueprint of life and even design entirely new biological systems.</p><h3><strong>The Power of Evo 2: AI Meets DNA</strong></h3><p>Evo 2 is <strong>the largest AI model for biology ever created</strong>, trained on an astonishing <strong>9.3 trillion DNA "letters"</strong> (nucleotides) carefully selected from genomes spanning the entire tree of life. This massive dataset ensures that Evo 2 can recognize patterns and relationships in genetic sequences at an unparalleled scale.</p><p>For the first time, scientists can <strong>design DNA with AI</strong>, moving beyond simple sequence analysis to active DNA generation. Evo 2 enables researchers to <strong>predict, modify, and even create entire genetic sequences</strong>, opening new possibilities in medicine, agriculture, and synthetic biology.</p><h3><strong>Decoding the Dark Genome</strong></h3><p>One of the biggest challenges in genetics is understanding the <strong>non-coding regions</strong> of DNA&mdash;vast stretches of the genome that do not code for proteins but play crucial roles in regulating gene expression. These regions control when and how genes are activated, influencing everything from development to disease.</p><p>Evo 2 is designed to <strong>decode these non-coding elements</strong>, helping researchers uncover their functions and use this knowledge to develop gene-based therapies, synthetic life forms, and precision agriculture solutions.</p><h3><strong>From Reading DNA to Writing It</strong></h3><p>To put Evo 2&rsquo;s impact into perspective:</p><ul>
<li><strong>Previous AI models could "read" DNA</strong> like a book, analyzing genetic sequences and identifying patterns.</li>
<li><strong>Evo 2 can "write" entirely new DNA</strong>, designing functional genes, chromosomes, and even full genomes from scratch.</li>
</ul><p>This means scientists can now <strong>engineer biological systems with AI</strong>, designing new proteins, metabolic pathways, and genetic circuits to address real-world challenges.</p><h3><strong>A Step Toward Generative Biology</strong></h3><p>The Arc Institute describes Evo 2 as a major step toward <strong>"generative biology"</strong>&mdash;a revolutionary approach where AI is used to create <strong>novel biological structures</strong> rather than just analyzing existing ones. This could lead to breakthroughs such as:</p><ul>
<li><strong>New medicines</strong>: AI-generated enzymes and proteins tailored for targeted therapies.</li>
<li><strong>Disease-resistant crops</strong>: Genetically optimized plants for higher yield and climate resilience.</li>
<li><strong>Synthetic organisms</strong>: Custom-designed microbes for bioremediation, biofuel production, and industrial applications.</li>
</ul><h3><strong>An Open-Source Revolution</strong></h3><p>Unlike many proprietary AI models, <strong>Evo 2 is open source</strong>, making its capabilities accessible to researchers worldwide. This democratization of AI-driven biology means that scientists from different disciplines can <strong>collaborate, experiment, and innovate</strong>, accelerating discoveries in genetic engineering and synthetic biology.</p><p>With Evo 2, the boundaries of what&rsquo;s possible in <strong>DNA design, genetic engineering, and biological innovation</strong> are being redrawn. The future of life sciences is no longer just about understanding life&rsquo;s code&mdash;it&rsquo;s about writing it.</p>]]></description>
	<dc:creator>BioStar</dc:creator>
</item>

<item>
  <guid isPermaLink='true'>https://bioinformaticsonline.com/opportunity/view/42294/the-hiller-lab-at-the-loewe-tbg-in-frankfurt-is-looking-for-an-ambitious-postdoc%E2%80%93-comparative-genomics</guid>
  <pubDate>Sat, 31 Oct 2020 23:01:41 -0500</pubDate>
  <link></link>
  <title><![CDATA[The Hiller Lab at the LOEWE-TBG in Frankfurt is looking for an ambitious  PostDoc– Comparative Genomics]]></title>
  <description><![CDATA[
<p>The mission of our group is to discover genomic determinants of phenotypic differences between species, which is important to understand how nature's fascinating phenotypic diversity evolved and how it is encoded in the genome. Work in the lab ranges from genome assembly and alignment to annotating genes, developing and applying comparative genomic methods to discover key differences in genes (such as loss, gain, selection) and regulatory elements, and using statistical approaches to associate genomic to phenotypic differences [1-8].</p>

<p>The postdoc will join our efforts to extend our methods repertoire to accurately detect additional types of genomic changes, to adopt them to other taxonomic groups, and to apply them on a large-scale to existing and numerous newly-sequenced genomes generated by us and our TBG collaborators.</p>

<p>Candidate requirements<br />·         PhD degree in bioinformatics / computational biology, genomics or a related area</p>

<p>·         a strong publication record</p>

<p>·         excellent programming skills in a Linux environment as well as experience with shell scripting and Unix tools</p>

<p>·         previous experience in large-scale comparative genomic data analysis is an advantage.</p>

<p>More at https://www.lifescience.net/jobs/71529/postdoc-mfd-comparative-genomics/</p>
]]></description>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/blog/view/44731/exploring-bacterial-comparative-genomics-a-bioinformatics-approach</guid>
	<pubDate>Sat, 14 Dec 2024 12:31:14 -0600</pubDate>
	<link>https://bioinformaticsonline.com/blog/view/44731/exploring-bacterial-comparative-genomics-a-bioinformatics-approach</link>
	<title><![CDATA[Exploring Bacterial Comparative Genomics: A Bioinformatics Approach]]></title>
	<description><![CDATA[<p>In the world of microbiology, bacteria have long fascinated scientists for their diversity, adaptability, and crucial roles in ecosystems and human health. Comparative genomics&mdash;a field that involves analyzing and comparing the genomes of different organisms&mdash;has revolutionized our understanding of bacterial evolution, adaptation, and pathogenicity. By leveraging bioinformatics tools and techniques, researchers can uncover genomic insights that were once hidden. This blog delves into the principles, methodologies, and applications of bacterial comparative genomics from a bioinformatics perspective.</p><h4><strong>What is Bacterial Comparative Genomics?</strong></h4><p>Comparative genomics involves the systematic comparison of genomes across different bacterial species or strains. This approach allows scientists to:</p><ul>
<li>
<p>Identify conserved and unique genes.</p>
</li>
<li>
<p>Explore genetic determinants of pathogenicity.</p>
</li>
<li>
<p>Understand bacterial evolution and phylogenetics.</p>
</li>
<li>
<p>Investigate horizontal gene transfer and its role in antibiotic resistance.</p>
</li>
</ul><p>Bioinformatics is central to these analyses, enabling the processing and interpretation of large-scale genomic data.</p><h4><strong>Key Steps in Bacterial Comparative Genomics</strong></h4><ol>
<li>
<p><strong>Genome Sequencing and Assembly</strong>: The process begins with obtaining high-quality bacterial genome sequences. Advances in next-generation sequencing (NGS) technologies have made it faster and more affordable to sequence bacterial genomes. Tools such as SPAdes and Velvet are commonly used for genome assembly.</p>
</li>
<li>
<p><strong>Genome Annotation</strong>: Annotating a genome involves identifying genes, regulatory elements, and other genomic features. Automated tools like Prokka and RAST provide functional annotations, allowing researchers to predict the roles of genes and proteins.</p>
</li>
<li>
<p><strong>Genome Alignment</strong>: Aligning genomes is crucial for identifying conserved regions, single-nucleotide polymorphisms (SNPs), and structural variations. Tools like Mauve and progressiveMauve are commonly employed for whole-genome alignments.</p>
</li>
<li>
<p><strong>Comparative Analyses</strong>:</p>
<ul>
<li>
<p><strong>Core and Pan-genome Analysis</strong>: The core genome consists of genes shared across all strains of a species, while the pan-genome includes all genes found in any strain. Software like Roary and BPGA can perform core and pan-genome analyses.</p>
</li>
<li>
<p><strong>Phylogenetic Analysis</strong>: Comparative genomics often involves reconstructing evolutionary relationships. Tools such as MEGA and IQ-TREE facilitate phylogenetic tree construction based on genomic data.</p>
</li>
<li>
<p><strong>Functional Enrichment Analysis</strong>: To understand the biological significance of unique or shared genes, functional enrichment analysis using databases like GO (Gene Ontology) and KEGG is essential.</p>
</li>
</ul>
</li>
</ol><div>&nbsp;<strong style="font-size: 1em;">Recommended Bioinformatics Tools for Comparative Genomics</strong></div><p>Here are some additional bioinformatics tools that can aid bacterial comparative genomics:</p><ul>
<li>
<p><strong>OrthoFinder</strong>: For accurate ortholog identification across multiple genomes.</p>
</li>
<li>
<p><strong>PanOCT</strong>: Specifically designed for pan-genome clustering and annotation.</p>
</li>
<li>
<p><strong>FASTANI</strong>: A tool for calculating Average Nucleotide Identity (ANI) for microbial genome comparisons.</p>
</li>
<li>
<p><strong>CIRCOS</strong>: For visually comparing genomic data through circular genome plots.</p>
</li>
<li>
<p><strong>Galaxy Platform</strong>: A user-friendly web-based platform offering numerous genomic analysis tools.</p>
</li>
<li>
<p><strong>BLAST</strong>: Essential for sequence alignment and similarity searches.</p>
</li>
<li>
<p><strong>PhyloSift</strong>: Focused on phylogenetic analysis of microbial genomes using marker genes.</p>
</li>
</ul><p>These tools, in combination with the methods discussed, provide a robust framework for conducting comprehensive comparative genomic studies.</p><h4><strong>Applications of Bacterial Comparative Genomics</strong></h4><ol>
<li>
<p><strong>Understanding Pathogenicity</strong>: Comparative genomics helps identify virulence factors that distinguish pathogenic strains from non-pathogenic relatives. For instance, comparing genomes of <em>Escherichia coli</em> strains has revealed key genetic determinants of pathogenicity in enterohemorrhagic strains.</p>
</li>
<li>
<p><strong>Antibiotic Resistance Research</strong>: The spread of antibiotic resistance genes through horizontal gene transfer is a major global concern. Comparative analyses can trace the origins and dissemination of resistance genes, aiding in the development of countermeasures.</p>
</li>
<li>
<p><strong>Microbial Ecology and Evolution</strong>: By studying genomic variations, researchers can understand how bacteria adapt to different environments. This is particularly relevant for extremophiles and symbiotic bacteria.</p>
</li>
<li>
<p><strong>Vaccine Development</strong>: Identifying conserved antigens across pathogenic strains is critical for vaccine design. Comparative genomics has been instrumental in developing vaccines against pathogens like <em>Neisseria meningitidis</em>.</p>
</li>
<li>
<p><strong>Biotechnology Applications</strong>: Comparative studies can uncover unique metabolic pathways in bacteria, paving the way for applications in bioremediation, synthetic biology, and industrial microbiology.</p>
</li>
</ol><h4><strong>Challenges in Bacterial Comparative Genomics</strong></h4><p>While the field has made significant strides, several challenges remain:</p><ul>
<li>
<p><strong>Data Overload</strong>: The rapid growth of sequencing data requires robust computational infrastructure and efficient algorithms.</p>
</li>
<li>
<p><strong>Genome Plasticity</strong>: High rates of horizontal gene transfer and genome rearrangements in bacteria complicate comparative analyses.</p>
</li>
<li>
<p><strong>Annotation Accuracy</strong>: Automated annotation tools are not infallible, and manual curation is often needed for high-confidence results.</p>
</li>
<li>
<p><strong>Interpreting Non-Coding Regions</strong>: Understanding the functional significance of non-coding genomic regions remains a challenge.</p>
</li>
</ul><h4><strong>Future Directions</strong></h4><p>The integration of bacterial comparative genomics with other &lsquo;omics&rsquo; approaches&mdash;such as transcriptomics, proteomics, and metabolomics&mdash;promises a more comprehensive understanding of bacterial biology. Additionally, advancements in machine learning and artificial intelligence are likely to further enhance bioinformatics analyses, enabling the prediction of complex phenotypes from genomic data.</p><h4><strong>Conclusion</strong></h4><p>Bacterial comparative genomics, driven by bioinformatics, continues to unravel the complexities of bacterial life. From combating antibiotic resistance to uncovering the secrets of microbial evolution, this interdisciplinary field holds immense potential for addressing pressing challenges in microbiology and beyond. As technology advances, so too will our ability to harness the power of comparative genomics for scientific and societal benefit.</p>]]></description>
	<dc:creator>LEGE</dc:creator>
</item>
<item>
	<guid isPermaLink="true">https://bioinformaticsonline.com/bookmarks/view/27092/medea-comparative-genomic-visualization-with-adobe-flash</guid>
	<pubDate>Tue, 26 Apr 2016 12:15:16 -0500</pubDate>
	<link>https://bioinformaticsonline.com/bookmarks/view/27092/medea-comparative-genomic-visualization-with-adobe-flash</link>
	<title><![CDATA[MEDEA: Comparative Genomic Visualization with Adobe Flash]]></title>
	<description><![CDATA[<p><span>As the number of sequence and annotated genomes grows larger, the need to understand, compare, and contrast the data becomes increasingly important. Using the power of the human visual system to detect trends and spot outliers is necessary in such large and complex data sets.</span></p>
<p><span>More at&nbsp;http://www.broadinstitute.org/annotation/medea/</span></p><p>Address of the bookmark: <a href="http://www.broadinstitute.org/annotation/medea/" rel="nofollow">http://www.broadinstitute.org/annotation/medea/</a></p>]]></description>
	<dc:creator>Jit</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/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>

</channel>
</rss>