<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.umiacs.umd.edu/cbcb/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tgibbons</id>
	<title>Cbcb - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.umiacs.umd.edu/cbcb/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tgibbons"/>
	<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php/Special:Contributions/Tgibbons"/>
	<updated>2026-04-12T19:07:46Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.7</generator>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7376</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7376"/>
		<updated>2010-09-05T05:54:44Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* September 10, 2010 */ Created entry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;br /&gt;
&lt;br /&gt;
== April 2, 2010 ==&lt;br /&gt;
More on my Thesis Project:&lt;br /&gt;
* I read the most recent (Science, Nov. 2009) paper by Gordon and Knight on their ongoing gut microbiota experiments&lt;br /&gt;
* Pretty much every section addressed the potential thesis topics I&#039;d imagined while reading the preceding section. Frustrating, but reaffirming (trying to learn from Mihai on not getting bummed about being scooped).&lt;br /&gt;
* Something that seems interesting and useful to me is the do more rigorous statistical analysis to attempt to correlate particular genes and pathways with the time series and spacial data. I will have to work closely with Bo at least at first.&lt;br /&gt;
* As a starting point, James has recommended building spacial models similar to his time series models&lt;br /&gt;
* James is essentially mentoring me on my project at this point. It&#039;s pretty excellent.&lt;br /&gt;
&lt;br /&gt;
== July 23, 2010 ==&lt;br /&gt;
It&#039;s been several months, I don&#039;t feel any closer to finding a thesis project, and it&#039;s really starting to stress me out. I&#039;ve finally stopped making excuses for not reading and have been steadily reading about 10 abstracts and 2 papers per week for the last month or two, but it doesn&#039;t appear to be nearly enough. I met with Mihai today to talk about it and then foolishly went for a run in the heat of the afternoon, where I decided on a new direction in a state of euphoric delirium.&lt;br /&gt;
# Read the book Mihai loaned me within the next week (or so): &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; by Michael Wilson&lt;br /&gt;
#* Mihai says the book is a summery of what was known about the human microbiome 5 years ago. The table of contents for the first chapter is essentially identical to the list of wikipedia pages I&#039;ve read in the past week, so I&#039;m pretty excited to now have a more thorough, authoritative source.&lt;br /&gt;
# Go back to looking for papers describing quorum sensing, especially in organisms known to be present in the human microbiome, either stably or transiently.&lt;br /&gt;
#* Try not to get too side-tracked reading about biofilms.&lt;br /&gt;
#* Search for an existing database of quorum sensing genes to use as references to potentially identify novel quorum sensing genes in microbiome WGS data. Consider making one if it&#039;s not already available.&lt;br /&gt;
# Look for a core metabolome (at this point I think a core microbiome seems unlikely) using metapath (or something similar) in the new HMP data for the gut, oral, and vaginal samples from the 100 reference individuals, as well as other sources like MetaHIT.&lt;br /&gt;
#* Start with a fast and dirty approach pulling all KO&#039;s associated with organisms identified using 16S rDNA sequencing, and then possibly attempt more accurate gene assemblies and annotation from WGS sequencing projects.&lt;br /&gt;
# Try to stay focused on a research topic for more than 2 weeks so I don&#039;t keep wasting time and effort.&lt;br /&gt;
# Don&#039;t make a habit of using the wiki like a personal journal...&lt;br /&gt;
&lt;br /&gt;
=== Possible Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
* I transferred this to a new page I created that&#039;s dedicated my potential [[User:Tgibbons:Project-Ideas | project ideas]]&lt;br /&gt;
&lt;br /&gt;
== July 30, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomics Papers and Subjects Related to the Content of &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
# MetaHIT&lt;br /&gt;
# Vaginal Microbiome&lt;br /&gt;
# Acquisition of Microbiome&lt;br /&gt;
#* [http://www.pnas.org/content/early/2010/06/08/1002601107.full.pdf Vaginal birth vs cesarean section]&lt;br /&gt;
&lt;br /&gt;
== August 13, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Other Potential Research Projects ===&lt;br /&gt;
* I transferred this to a new page I created that&#039;s dedicated my potential [[User:Tgibbons:Project-Ideas | project ideas]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== September 10, 2010 ==&lt;br /&gt;
I concatenated together the sequences from a subset of mated pairs from Mihai&#039;s oral microbiome data, and was able to align one of them to human dna with &amp;gt;97% identity. This is surprising because neither of these reads were able to be aligned to a human reference using bowtie. I plan concatenate the remainder of the filtered reads and attempt to align them to human dna using blast.&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7308</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7308"/>
		<updated>2010-08-26T17:41:28Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: Rearranged the layout&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Metagenomic assembly ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Potential Title:&#039;&#039;&#039; Justifying chimeric contigs in metagenomic assembly&lt;br /&gt;
&lt;br /&gt;
* There are two important aspects to metagenomic assembly:&lt;br /&gt;
# High-throughput short-read assembly, which is already being addressed by eurlerian and debruijn assemblers designed to run in the cloud.&lt;br /&gt;
# Heterogeneous assembly, which I haven&#039;t seen addressed by any well-known assemblers.&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that in many cases, a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
* As a simple starting point:&lt;br /&gt;
# I would begin by assembling all unitigs.&lt;br /&gt;
# From these seeds, I would extend out in both directions, allowing forks without automatically breaking the contigs.&lt;br /&gt;
# Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species. In order to accomplish this, I would need to set thresholds for spawning and merging forks. I expect these to be of the three following types:&lt;br /&gt;
## &#039;&#039;&#039;SNPs and other very small indels and mutations&#039;&#039;&#039; could be handled by allowing a string of some small number (eg. 3 or so) within a unitig before terminating the unitig and considering a fork. This would probably require modifying or creating an assembler, as opposed to just using a scaffolder. The main concern here is differentiating between variation and sequencing error.&lt;br /&gt;
##* Unfortunately, I don&#039;t think simply using exceptionally stringent quality score thresholds is a good approach as long as the sequencing data is vastly smaller than the amount of sequence in the original sample. I therefore think the current approach of throwing out N&#039;s and then using standard trimming algorithms should still be used, and then sequencing error should further be inferred algorithmically.&lt;br /&gt;
##* A single instance of a variant with relatively low quality scores is (somewhat obviously) more likely to be sequencing error than actually variation within the population.&lt;br /&gt;
##* Other such small indels and mutations could tentatively be considered actual variation within the population.&lt;br /&gt;
##* I believe much of the statistics for handling such cases have already been worked out for eulerian path and de bruijn graph assemblers.&lt;br /&gt;
## &#039;&#039;&#039;Forked regions that are long enough to contain disparate unitigs, closed on both sides by other unitigs&#039;&#039;&#039;, could be assembled from the output of an existing assembler. Of course, most current assemblers tend to generate a very large number of very small contigs, leaving us with most of the same challenges we would face with a full-blown assembler (also Chris is itching to make an assembler anyway).&lt;br /&gt;
##* It is important to consider that such cases are very likely the result of repeats at the boundaries of unitigs that can be placed in such an arrangement.&lt;br /&gt;
##* It is possible for inserted genes to create such scenarios in a biologically valid/meaningful way, but even these will likely be be surrounded by repetitive sequences.&lt;br /&gt;
##* I will need to review the various methods other assemblers use to handle repeats before deciding on even a simple starting scheme.&lt;br /&gt;
## &#039;&#039;&#039;Everything in between&#039;&#039;&#039; - Forked regions with lengths falling between the minimum length of a unitig and the maximum length set for small mutations.&lt;br /&gt;
##* As with the other two scenarios, this one could also arise by incorrect assembly. These may be harder to sort out however, because this category is (currently) less well defined.&lt;br /&gt;
##* One of the big issues will be to develop a heuristic to differentiate between complex variation, and reads that are from organisms so divergent that they should be classified as different OTUs.&lt;br /&gt;
##* It might be best to start by only considering the first two categories.&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;The more I kick around this idea, the more I think this might work better as a scaffolder, of sorts. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something. Of course, Bambus fundamentally requires mate pairs, which would not necessarily be a constraint for this assembler/scaffolder. Also any smaller variance collapsed by an assembler into a consensus sequence would be lost.&amp;lt;/s&amp;gt; ...actually, nvm.&lt;br /&gt;
&lt;br /&gt;
=== Preliminary Experiment(s) ===&lt;br /&gt;
# Create synthetic heterogeneous metagenomic read set using very closely related strains of &#039;&#039;Mycobacteria&#039;&#039;.&lt;br /&gt;
#* Why &#039;&#039;Mycobacteria&#039;&#039;? There are many sequenced strains of &#039;&#039;M. tuberculosis&#039;&#039; &amp;amp; &#039;&#039;M. bovis&#039;&#039;, plus several more strains that are very closely related such as &#039;&#039;M. kansasii&#039;&#039;, &#039;&#039;M. gastri&#039;&#039;, and &#039;&#039;M. marinum&#039;&#039;. This should provide the ability to combine reads from many strains that are &amp;gt;95% identical, but have significantly different phenotypes. I&#039;m also hoping I might get lucky and stumble across something that would help me publish something with Volker. If I run into a problem with &#039;&#039;Mycobacteria&#039;&#039;, &#039;&#039;Lactobacillus&#039;&#039; would probably also be a good choice because there are many available sequences and there&#039;s a (slim) chance to discover meaningful insights into the vaginal microbiome.&lt;br /&gt;
#* I should consider my options for generating reads. The options I&#039;m already familiar with are Metasim, and Arthur&#039;s naive in-house read generator. I think it would be worth my time to do a literature search for alternative options though.&lt;br /&gt;
#* I would need to generate read sets with increasing variance and identify the types of changes that break contigs and lead to more fragmented (poorer) assemblies.&lt;br /&gt;
&lt;br /&gt;
== (pre)Binning to improve metagenomic assembly ==&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
== Microbial Ecology of the Human Microbiome ==&lt;br /&gt;
# Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
#* Search for and consider making quorum sensing gene DB&lt;br /&gt;
#** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
#* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
#** WGS data - Obviously search for homologues directly&lt;br /&gt;
#** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
# Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
#* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
# Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
#* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Volker&#039;s Mycobacterial genomes ==&lt;br /&gt;
&lt;br /&gt;
== Thoughts on my Career Trajectory ==&lt;br /&gt;
* For the past 2+ years, when asked, I&#039;ve been saying that my research interests are &amp;quot;using metagenomics to study the human microbiome.&amp;quot; This is all well and good for a green grad student, but &amp;quot;metagenomics&amp;quot; and &amp;quot;the human microbiome&amp;quot; are simultaneously too broad and too limiting to define an individual researcher&#039;s specific area of specialty.&lt;br /&gt;
* After some consideration of how I&#039;ve spent my time, and which projects have most interested me, a refined statement of my research interests would seem to be, &amp;quot;using high-throughput biological techniques to study microbial communities, especially where there is a direct impact on human health.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7304</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7304"/>
		<updated>2010-08-18T02:58:42Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Potential Research Projects Inspired by &amp;#039;&amp;#039;Microbial Inhabitants of Humans&amp;#039;&amp;#039; */ Added thematic header&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
All of these projects fall under the broader category of &#039;&#039;microbial ecology&#039;&#039;. I should consider finding a good reference, such as a microbial ecology textbook. I should also keep in mind the overarching theme of this branch of my research interests and not be discouraged when sub-projects do not pan out because there is no shortage of ways in which microbes interact with each other.&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* There are two important aspects to metagenomic assembly:&lt;br /&gt;
# High-throughput short-read assembly, which is already being addressed by eurlerian and debruijn assemblers designed to run in the cloud.&lt;br /&gt;
# Heterogeneous assembly, which I haven&#039;t seen addressed by any well-known assemblers.&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that in many cases, a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
* As a simple starting point:&lt;br /&gt;
# I would begin by assembling all unitigs.&lt;br /&gt;
# From these seeds, I would extend out in both directions, allowing forks without automatically breaking the contigs.&lt;br /&gt;
# Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species. In order to accomplish this, I would need to set thresholds for spawning and merging forks. I expect these to be of the three following types:&lt;br /&gt;
## &#039;&#039;&#039;SNPs and other very small indels and mutations&#039;&#039;&#039; could be handled by allowing a string of some small number (eg. 3 or so) within a unitig before terminating the unitig and considering a fork. This would probably require modifying or creating an assembler, as opposed to just using a scaffolder. The main concern here is differentiating between variation and sequencing error.&lt;br /&gt;
##* Unfortunately, I don&#039;t think simply using exceptionally stringent quality score thresholds is a good approach as long as the sequencing data is vastly smaller than the amount of sequence in the original sample. I therefore think the current approach of throwing out N&#039;s and then using standard trimming algorithms should still be used, and then sequencing error should further be inferred algorithmically.&lt;br /&gt;
##* A single instance of a variant with relatively low quality scores is (somewhat obviously) more likely to be sequencing error than actually variation within the population.&lt;br /&gt;
##* Other such small indels and mutations could tentatively be considered actual variation within the population.&lt;br /&gt;
##* I believe much of the statistics for handling such cases have already been worked out for eulerian path and de bruijn graph assemblers.&lt;br /&gt;
## &#039;&#039;&#039;Forked regions that are long enough to contain disparate unitigs, closed on both sides by other unitigs&#039;&#039;&#039;, could be assembled from the output of an existing assembler. Of course, most current assemblers tend to generate a very large number of very small contigs, leaving us with most of the same challenges we would face with a full-blown assembler (also Chris is itching to make an assembler anyway).&lt;br /&gt;
##* It is important to consider that such cases are very likely the result of repeats at the boundaries of unitigs that can be placed in such an arrangement.&lt;br /&gt;
##* It is possible for inserted genes to create such scenarios in a biologically valid/meaningful way, but even these will likely be be surrounded by repetitive sequences.&lt;br /&gt;
##* I will need to review the various methods other assemblers use to handle repeats before deciding on even a simple starting scheme.&lt;br /&gt;
## &#039;&#039;&#039;Everything in between&#039;&#039;&#039; - Forked regions with lengths falling between the minimum length of a unitig and the maximum length set for small mutations.&lt;br /&gt;
##* As with the other two scenarios, this one could also arise by incorrect assembly. These may be harder to sort out however, because this category is (currently) less well defined.&lt;br /&gt;
##* One of the big issues will be to develop a heuristic to differentiate between complex variation, and reads that are from organisms so divergent that they should be classified as different OTUs.&lt;br /&gt;
##* It might be best to start by only considering the first two categories.&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;The more I kick around this idea, the more I think this might work better as a scaffolder, of sorts. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something. Of course, Bambus fundamentally requires mate pairs, which would not necessarily be a constraint for this assembler/scaffolder. Also any smaller variance collapsed by an assembler into a consensus sequence would be lost.&amp;lt;/s&amp;gt; ...actually, nvm.&lt;br /&gt;
&lt;br /&gt;
==== Preliminary Experiment(s) ====&lt;br /&gt;
# Create synthetic heterogeneous metagenomic read set using very closely related strains of &#039;&#039;Mycobacteria&#039;&#039;.&lt;br /&gt;
#* Why &#039;&#039;Mycobacteria&#039;&#039;? There are many sequenced strains of &#039;&#039;M. tuberculosis&#039;&#039; &amp;amp; &#039;&#039;M. bovis&#039;&#039;, plus several more strains that are very closely related such as &#039;&#039;M. kansasii&#039;&#039;, &#039;&#039;M. gastri&#039;&#039;, and &#039;&#039;M. marinum&#039;&#039;. This should provide the ability to combine reads from many strains that are &amp;gt;95% identical, but have significantly different phenotypes. I&#039;m also hoping I might get lucky and stumble across something that would help me publish something with Volker. If I run into a problem with &#039;&#039;Mycobacteria&#039;&#039;, &#039;&#039;Lactobacillus&#039;&#039; would probably also be a good choice because there are many available sequences and there&#039;s a (slim) chance to discover meaningful insights into the vaginal microbiome.&lt;br /&gt;
#* I should consider my options for generating reads. The options I&#039;m already familiar with are Metasim, and Arthur&#039;s naive in-house read generator. I think it would be worth my time to do a literature search for alternative options though.&lt;br /&gt;
#* I would need to generate read sets with increasing variance and identify the types of changes that break contigs and lead to more fragmented (poorer) assemblies.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;br /&gt;
&lt;br /&gt;
== Thoughts on my Career Trajectory ==&lt;br /&gt;
* For the past 2+ years, when asked, I&#039;ve been saying that my research interests are &amp;quot;using metagenomics to study the human microbiome.&amp;quot; This is all well and good for a green grad student, but &amp;quot;metagenomics&amp;quot; and &amp;quot;the human microbiome&amp;quot; are simultaneously too broad and too limiting to define an individual researcher&#039;s specific area of specialty.&lt;br /&gt;
* After some consideration of how I&#039;ve spent my time, and which projects have most interested me, a refined statement of my research interests would seem to be, &amp;quot;using high-throughput biological techniques to study microbial communities, especially where there is a direct impact on human health.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7303</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7303"/>
		<updated>2010-08-17T22:10:43Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* There are two important aspects to metagenomic assembly:&lt;br /&gt;
# High-throughput short-read assembly, which is already being addressed by eurlerian and debruijn assemblers designed to run in the cloud.&lt;br /&gt;
# Heterogeneous assembly, which I haven&#039;t seen addressed by any well-known assemblers.&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that in many cases, a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
* As a simple starting point:&lt;br /&gt;
# I would begin by assembling all unitigs.&lt;br /&gt;
# From these seeds, I would extend out in both directions, allowing forks without automatically breaking the contigs.&lt;br /&gt;
# Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species. In order to accomplish this, I would need to set thresholds for spawning and merging forks. I expect these to be of the three following types:&lt;br /&gt;
## &#039;&#039;&#039;SNPs and other very small indels and mutations&#039;&#039;&#039; could be handled by allowing a string of some small number (eg. 3 or so) within a unitig before terminating the unitig and considering a fork. This would probably require modifying or creating an assembler, as opposed to just using a scaffolder. The main concern here is differentiating between variation and sequencing error.&lt;br /&gt;
##* Unfortunately, I don&#039;t think simply using exceptionally stringent quality score thresholds is a good approach as long as the sequencing data is vastly smaller than the amount of sequence in the original sample. I therefore think the current approach of throwing out N&#039;s and then using standard trimming algorithms should still be used, and then sequencing error should further be inferred algorithmically.&lt;br /&gt;
##* A single instance of a variant with relatively low quality scores is (somewhat obviously) more likely to be sequencing error than actually variation within the population.&lt;br /&gt;
##* Other such small indels and mutations could tentatively be considered actual variation within the population.&lt;br /&gt;
##* I believe much of the statistics for handling such cases have already been worked out for eulerian path and de bruijn graph assemblers.&lt;br /&gt;
## &#039;&#039;&#039;Forked regions that are long enough to contain disparate unitigs, closed on both sides by other unitigs&#039;&#039;&#039;, could be assembled from the output of an existing assembler. Of course, most current assemblers tend to generate a very large number of very small contigs, leaving us with most of the same challenges we would face with a full-blown assembler (also Chris is itching to make an assembler anyway).&lt;br /&gt;
##* It is important to consider that such cases are very likely the result of repeats at the boundaries of unitigs that can be placed in such an arrangement.&lt;br /&gt;
##* It is possible for inserted genes to create such scenarios in a biologically valid/meaningful way, but even these will likely be be surrounded by repetitive sequences.&lt;br /&gt;
##* I will need to review the various methods other assemblers use to handle repeats before deciding on even a simple starting scheme.&lt;br /&gt;
## &#039;&#039;&#039;Everything in between&#039;&#039;&#039; - Forked regions with lengths falling between the minimum length of a unitig and the maximum length set for small mutations.&lt;br /&gt;
##* As with the other two scenarios, this one could also arise by incorrect assembly. These may be harder to sort out however, because this category is (currently) less well defined.&lt;br /&gt;
##* One of the big issues will be to develop a heuristic to differentiate between complex variation, and reads that are from organisms so divergent that they should be classified as different OTUs.&lt;br /&gt;
##* It might be best to start by only considering the first two categories.&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;The more I kick around this idea, the more I think this might work better as a scaffolder, of sorts. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something. Of course, Bambus fundamentally requires mate pairs, which would not necessarily be a constraint for this assembler/scaffolder. Also any smaller variance collapsed by an assembler into a consensus sequence would be lost.&amp;lt;/s&amp;gt; ...actually, nvm.&lt;br /&gt;
&lt;br /&gt;
==== Preliminary Experiment(s) ====&lt;br /&gt;
# Create synthetic heterogeneous metagenomic read set using very closely related strains of &#039;&#039;Mycobacteria&#039;&#039;.&lt;br /&gt;
#* Why &#039;&#039;Mycobacteria&#039;&#039;? There are many sequenced strains of &#039;&#039;M. tuberculosis&#039;&#039; &amp;amp; &#039;&#039;M. bovis&#039;&#039;, plus several more strains that are very closely related such as &#039;&#039;M. kansasii&#039;&#039;, &#039;&#039;M. gastri&#039;&#039;, and &#039;&#039;M. marinum&#039;&#039;. This should provide the ability to combine reads from many strains that are &amp;gt;95% identical, but have significantly different phenotypes. I&#039;m also hoping I might get lucky and stumble across something that would help me publish something with Volker. If I run into a problem with &#039;&#039;Mycobacteria&#039;&#039;, &#039;&#039;Lactobacillus&#039;&#039; would probably also be a good choice because there are many available sequences and there&#039;s a (slim) chance to discover meaningful insights into the vaginal microbiome.&lt;br /&gt;
#* I should consider my options for generating reads. The options I&#039;m already familiar with are Metasim, and Arthur&#039;s naive in-house read generator. I think it would be worth my time to do a literature search for alternative options though.&lt;br /&gt;
#* I would need to generate read sets with increasing variance and identify the types of changes that break contigs and lead to more fragmented (poorer) assemblies.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;br /&gt;
&lt;br /&gt;
== Thoughts on my Career Trajectory ==&lt;br /&gt;
* For the past 2+ years, when asked, I&#039;ve been saying that my research interests are &amp;quot;using metagenomics to study the human microbiome.&amp;quot; This is all well and good for a green grad student, but &amp;quot;metagenomics&amp;quot; and &amp;quot;the human microbiome&amp;quot; are simultaneously too broad and too limiting to define an individual researcher&#039;s specific area of specialty.&lt;br /&gt;
* After some consideration of how I&#039;ve spent my time, and which projects have most interested me, a refined statement of my research interests would seem to be, &amp;quot;using high-throughput biological techniques to study microbial communities, especially where there is a direct impact on human health.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7298</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7298"/>
		<updated>2010-08-13T22:30:34Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */ Added ideas for a preliminary experiment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that in many cases, a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
* As a simple starting point:&lt;br /&gt;
# I would begin by assembling all unitigs.&lt;br /&gt;
# From these seeds, I would extend out in both directions, allowing forks without automatically breaking the contigs.&lt;br /&gt;
# Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species. In order to accomplish this, I would need to set thresholds for spawning and merging forks. I expect these to be of the three following types:&lt;br /&gt;
## &#039;&#039;&#039;SNPs and other very small indels and mutations&#039;&#039;&#039; could be handled by allowing a string of some small number (eg. 3 or so) within a unitig before terminating the unitig and considering a fork. This would probably require modifying or creating an assembler, as opposed to just using a scaffolder. The main concern here is differentiating between variation and sequencing error.&lt;br /&gt;
##* Unfortunately, I don&#039;t think simply using exceptionally stringent quality score thresholds is a good approach as long as the sequencing data is vastly smaller than the amount of sequence in the original sample. I therefore think the current approach of throwing out N&#039;s and then using standard trimming algorithms should still be used, and then sequencing error should further be inferred algorithmically.&lt;br /&gt;
##* A single instance of a variant with relatively low quality scores is (somewhat obviously) more likely to be sequencing error than actually variation within the population.&lt;br /&gt;
##* Other such small indels and mutations could tentatively be considered actual variation within the population.&lt;br /&gt;
##* I believe much of the statistics for handling such cases have already been worked out for eulerian path and de bruijn graph assemblers.&lt;br /&gt;
## &#039;&#039;&#039;Forked regions that are long enough to contain disparate unitigs, closed on both sides by other unitigs&#039;&#039;&#039;, could be assembled from the output of an existing assembler. Of course, most current assemblers tend to generate a very large number of very small contigs, leaving us with most of the same challenges we would face with a full-blown assembler (also Chris is itching to make an assembler anyway).&lt;br /&gt;
##* It is important to consider that such cases are very likely the result of repeats at the boundaries of unitigs that can be placed in such an arrangement.&lt;br /&gt;
##* It is possible for inserted genes to create such scenarios in a biologically valid/meaningful way, but even these will likely be be surrounded by repetitive sequences.&lt;br /&gt;
##* I will need to review the various methods other assemblers use to handle repeats before deciding on even a simple starting scheme.&lt;br /&gt;
## &#039;&#039;&#039;Everything in between&#039;&#039;&#039; - Forked regions with lengths falling between the minimum length of a unitig and the maximum length set for small mutations.&lt;br /&gt;
##* As with the other two scenarios, this one could also arise by incorrect assembly. These may be harder to sort out however, because this category is (currently) less well defined.&lt;br /&gt;
##* One of the big issues will be to develop a heuristic to differentiate between complex variation, and reads that are from organisms so divergent that they should be classified as different OTUs.&lt;br /&gt;
##* It might be best to start by only considering the first two categories.&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;The more I kick around this idea, the more I think this might work better as a scaffolder, of sorts. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something. Of course, Bambus fundamentally requires mate pairs, which would not necessarily be a constraint for this assembler/scaffolder. Also any smaller variance collapsed by an assembler into a consensus sequence would be lost.&amp;lt;/s&amp;gt; ...actually, nvm.&lt;br /&gt;
&lt;br /&gt;
==== Preliminary Experiment(s) ====&lt;br /&gt;
# Create synthetic heterogeneous metagenomic read set using very closely related strains of &#039;&#039;Mycobacteria&#039;&#039;.&lt;br /&gt;
#* Why &#039;&#039;Mycobacteria&#039;&#039;? There are many sequenced strains of &#039;&#039;M. tuberculosis&#039;&#039; &amp;amp; &#039;&#039;M. bovis&#039;&#039;, plus several more strains that are very closely related such as &#039;&#039;M. kansasii&#039;&#039;, &#039;&#039;M. gastri&#039;&#039;, and &#039;&#039;M. marinum&#039;&#039;. This should provide the ability to combine reads from many strains that are &amp;gt;95% identical, but have significantly different phenotypes. I&#039;m also hoping I might get lucky and stumble across something that would help me publish something with Volker. If I run into a problem with &#039;&#039;Mycobacteria&#039;&#039;, &#039;&#039;Lactobacillus&#039;&#039; would probably also be a good choice because there are many available sequences and there&#039;s a (slim) chance to discover meaningful insights into the vaginal microbiome.&lt;br /&gt;
#* I should consider my options for generating reads. The options I&#039;m already familiar with are Metasim, and Arthur&#039;s naive in-house read generator. I think it would be worth my time to do a literature search for alternative options though.&lt;br /&gt;
#* I would need to generate read sets with increasing variance and identify the types of changes that break contigs and lead to more fragmented (poorer) assemblies.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;br /&gt;
&lt;br /&gt;
== Thoughts on my Career Trajectory ==&lt;br /&gt;
* For the past 2+ years, when asked, I&#039;ve been saying that my research interests are &amp;quot;using metagenomics to study the human microbiome.&amp;quot; This is all well and good for a green grad student, but &amp;quot;metagenomics&amp;quot; and &amp;quot;the human microbiome&amp;quot; are simultaneously too broad and too limiting to define an individual researcher&#039;s specific area of specialty.&lt;br /&gt;
* After some consideration of how I&#039;ve spent my time, and which projects have most interested me, a refined statement of my research interests would seem to be, &amp;quot;using high-throughput biological techniques to study microbial communities, especially where there is a direct impact on human health.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7297</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7297"/>
		<updated>2010-08-13T22:14:20Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: Added section for thoughts on my career in general&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that in many cases, a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
* As a simple starting point:&lt;br /&gt;
# I would begin by assembling all unitigs.&lt;br /&gt;
# From these seeds, I would extend out in both directions, allowing forks without automatically breaking the contigs.&lt;br /&gt;
# Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species. In order to accomplish this, I would need to set thresholds for spawning and merging forks. I expect these to be of the three following types:&lt;br /&gt;
## &#039;&#039;&#039;SNPs and other very small indels and mutations&#039;&#039;&#039; could be handled by allowing a string of some small number (eg. 3 or so) within a unitig before terminating the unitig and considering a fork. This would probably require modifying or creating an assembler, as opposed to just using a scaffolder. The main concern here is differentiating between variation and sequencing error.&lt;br /&gt;
##* Unfortunately, I don&#039;t think simply using exceptionally stringent quality score thresholds is a good approach as long as the sequencing data is vastly smaller than the amount of sequence in the original sample. I therefore think the current approach of throwing out N&#039;s and then using standard trimming algorithms should still be used, and then sequencing error should further be inferred algorithmically.&lt;br /&gt;
##* A single instance of a variant with relatively low quality scores is (somewhat obviously) more likely to be sequencing error than actually variation within the population.&lt;br /&gt;
##* Other such small indels and mutations could tentatively be considered actual variation within the population.&lt;br /&gt;
##* I believe much of the statistics for handling such cases have already been worked out for eulerian path and de bruijn graph assemblers.&lt;br /&gt;
## &#039;&#039;&#039;Forked regions that are long enough to contain disparate unitigs, closed on both sides by other unitigs&#039;&#039;&#039;, could be assembled from the output of an existing assembler. Of course, most current assemblers tend to generate a very large number of very small contigs, leaving us with most of the same challenges we would face with a full-blown assembler (also Chris is itching to make an assembler anyway).&lt;br /&gt;
##* It is important to consider that such cases are very likely the result of repeats at the boundaries of unitigs that can be placed in such an arrangement.&lt;br /&gt;
##* It is possible for inserted genes to create such scenarios in a biologically valid/meaningful way, but even these will likely be be surrounded by repetitive sequences.&lt;br /&gt;
##* I will need to review the various methods other assemblers use to handle repeats before deciding on even a simple starting scheme.&lt;br /&gt;
## &#039;&#039;&#039;Everything in between&#039;&#039;&#039; - Forked regions with lengths falling between the minimum length of a unitig and the maximum length set for small mutations.&lt;br /&gt;
##* As with the other two scenarios, this one could also arise by incorrect assembly. These may be harder to sort out however, because this category is (currently) less well defined.&lt;br /&gt;
##* One of the big issues will be to develop a heuristic to differentiate between complex variation, and reads that are from organisms so divergent that they should be classified as different OTUs.&lt;br /&gt;
##* It might be best to start by only considering the first two categories.&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;The more I kick around this idea, the more I think this might work better as a scaffolder, of sorts. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something. Of course, Bambus fundamentally requires mate pairs, which would not necessarily be a constraint for this assembler/scaffolder. Also any smaller variance collapsed by an assembler into a consensus sequence would be lost.&amp;lt;/s&amp;gt; ...actually, nvm.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;br /&gt;
&lt;br /&gt;
== Thoughts on my Career Trajectory ==&lt;br /&gt;
* For the past 2+ years, when asked, I&#039;ve been saying that my research interests are &amp;quot;using metagenomics to study the human microbiome.&amp;quot; This is all well and good for a green grad student, but &amp;quot;metagenomics&amp;quot; and &amp;quot;the human microbiome&amp;quot; are simultaneously too broad and too limiting to define an individual researcher&#039;s specific area of specialty.&lt;br /&gt;
* After some consideration of how I&#039;ve spent my time, and which projects have most interested me, a refined statement of my research interests would seem to be, &amp;quot;using high-throughput biological techniques to study microbial communities, especially where there is a direct impact on human health.&amp;quot;&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7296</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7296"/>
		<updated>2010-08-11T03:20:45Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */ I cleaned up a lot of the notes I jotted down yesterday&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that in many cases, a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
* As a simple starting point:&lt;br /&gt;
# I would begin by assembling all unitigs.&lt;br /&gt;
# From these seeds, I would extend out in both directions, allowing forks without automatically breaking the contigs.&lt;br /&gt;
# Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species. In order to accomplish this, I would need to set thresholds for spawning and merging forks. I expect these to be of the three following types:&lt;br /&gt;
## &#039;&#039;&#039;SNPs and other very small indels and mutations&#039;&#039;&#039; could be handled by allowing a string of some small number (eg. 3 or so) within a unitig before terminating the unitig and considering a fork. This would probably require modifying or creating an assembler, as opposed to just using a scaffolder. The main concern here is differentiating between variation and sequencing error.&lt;br /&gt;
##* Unfortunately, I don&#039;t think simply using exceptionally stringent quality score thresholds is a good approach as long as the sequencing data is vastly smaller than the amount of sequence in the original sample. I therefore think the current approach of throwing out N&#039;s and then using standard trimming algorithms should still be used, and then sequencing error should further be inferred algorithmically.&lt;br /&gt;
##* A single instance of a variant with relatively low quality scores is (somewhat obviously) more likely to be sequencing error than actually variation within the population.&lt;br /&gt;
##* Other such small indels and mutations could tentatively be considered actual variation within the population.&lt;br /&gt;
##* I believe much of the statistics for handling such cases have already been worked out for eulerian path and de bruijn graph assemblers.&lt;br /&gt;
## &#039;&#039;&#039;Forked regions that are long enough to contain disparate unitigs, closed on both sides by other unitigs&#039;&#039;&#039;, could be assembled from the output of an existing assembler. Of course, most current assemblers tend to generate a very large number of very small contigs, leaving us with most of the same challenges we would face with a full-blown assembler (also Chris is itching to make an assembler anyway).&lt;br /&gt;
##* It is important to consider that such cases are very likely the result of repeats at the boundaries of unitigs that can be placed in such an arrangement.&lt;br /&gt;
##* It is possible for inserted genes to create such scenarios in a biologically valid/meaningful way, but even these will likely be be surrounded by repetitive sequences.&lt;br /&gt;
##* I will need to review the various methods other assemblers use to handle repeats before deciding on even a simple starting scheme.&lt;br /&gt;
## &#039;&#039;&#039;Everything in between&#039;&#039;&#039; - Forked regions with lengths falling between the minimum length of a unitig and the maximum length set for small mutations.&lt;br /&gt;
##* As with the other two scenarios, this one could also arise by incorrect assembly. These may be harder to sort out however, because this category is (currently) less well defined.&lt;br /&gt;
##* One of the big issues will be to develop a heuristic to differentiate between complex variation, and reads that are from organisms so divergent that they should be classified as different OTUs.&lt;br /&gt;
##* It might be best to start by only considering the first two categories.&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;The more I kick around this idea, the more I think this might work better as a scaffolder, of sorts. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something. Of course, Bambus fundamentally requires mate pairs, which would not necessarily be a constraint for this assembler/scaffolder. Also any smaller variance collapsed by an assembler into a consensus sequence would be lost.&amp;lt;/s&amp;gt; ...actually, nvm.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7295</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7295"/>
		<updated>2010-08-11T02:31:32Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that in many cases, a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
* As a simple starting point:&lt;br /&gt;
# I would begin by assembling all unitigs.&lt;br /&gt;
# From these seeds, I would extend out in both directions, allowing forks without automatically breaking the contigs.&lt;br /&gt;
# Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species. In order to accomplish this, I would need to set thresholds for spawning and merging forks. I expect these to be of the three following types:&lt;br /&gt;
## &#039;&#039;&#039;SNPs and other very small indels and mutations&#039;&#039;&#039; could be handled by allowing a string of some small number (eg. 3 or so) within a unitig before terminating the unitig and considering a fork. This would probably require modifying or creating an assembler, as opposed to just using a scaffolder. The main concern here is differentiating between variation and sequencing error.&lt;br /&gt;
##* Unfortunately, I don&#039;t think simply using exceptionally stringent quality score thresholds is a good approach as long as the sequencing data is vastly smaller than the amount of sequence in the original sample. I therefore think the current approach of throwing out N&#039;s and then using standard trimming algorithms should still be used, and then sequencing error should further be inferred algorithmically.&lt;br /&gt;
##* A single instance of a variant with relatively low quality scores is (somewhat obviously) more likely to be sequencing error than actually variation within the population.&lt;br /&gt;
##* Other such small indels and mutations could tentatively be considered actual variation within the population.&lt;br /&gt;
##* I believe much of the statistics for handling such cases have already been worked out for eulerian path and de bruijn graph assemblers.&lt;br /&gt;
## &#039;&#039;&#039;Forked regions that are long enough to contain disparate unitigs, closed on both sides by other unitigs&#039;&#039;&#039;, could be assembled from the output of an existing assembler. Of course, most current assemblers tend to generate a very large number of very small contigs, leaving us with most of the same challenges we would face with a full-blown assembler (also Chris is itching to make an assembler anyway).&lt;br /&gt;
##* It is important to consider that such cases are very likely the result of repeats at the boundaries of unitigs that can be placed in such an arrangement.&lt;br /&gt;
##* It is possible for inserted genes to create such scenarios in a biologically valid/meaningful way, but even these will likely be be surrounded by repetitive sequences.&lt;br /&gt;
##* I will need to review the various methods other assemblers use to handle repeats before deciding on even a simple starting scheme.&lt;br /&gt;
## &#039;&#039;&#039;Everything in between&#039;&#039;&#039; - Forked regions with lengths falling between the minimum length of a unitig and the maximum length set for small mutations.&lt;br /&gt;
##* T&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;The more I kick around this idea, the more I think this might work better as a scaffolder, of sorts. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something. Of course, Bambus fundamentally requires mate pairs, which would not necessarily be a constraint for this assembler/scaffolder. Also any smaller variance collapsed by an assembler into a consensus sequence would be lost.&amp;lt;/s&amp;gt; ...actually, nvm.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7294</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7294"/>
		<updated>2010-08-11T01:56:02Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that in many cases, a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
* As a simple starting point:&lt;br /&gt;
# I would begin by assembling all unitigs.&lt;br /&gt;
# From these seeds, I would extend out in both directions, allowing forks without automatically breaking the contigs.&lt;br /&gt;
# Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species. In order to accomplish this, I would need to set thresholds for spawning and merging forks. I expect these to be of the three following types:&lt;br /&gt;
## &#039;&#039;&#039;SNPs and other very small indels and mutations&#039;&#039;&#039; could be handled by allowing a string of some small number (eg. 3 or so) within a unitig before terminating the unitig and considering a fork. This would probably require modifying or creating an assembler, as opposed to just using a scaffolder. The main concern here is differentiating between variation and sequencing error.&lt;br /&gt;
##* Unfortunately, I don&#039;t think simply using exceptionally stringent quality score thresholds is a good approach as long as the sequencing data is vastly smaller than the amount of sequence in the original sample. I therefore think the current approach of throwing out N&#039;s and then using standard trimming algorithms should still be used, and then sequencing error should further be inferred algorithmically.&lt;br /&gt;
##* A single instance of a variant with relatively low quality scores is (somewhat obviously) more likely to be sequencing error than actually variation within the population.&lt;br /&gt;
##* Other such small indels and mutations could tentatively be considered actual variation within the population.&lt;br /&gt;
##* I believe much of the statistics for handling such cases have already been worked out for eulerian path and de bruijn graph assemblers.&lt;br /&gt;
## &#039;&#039;&#039;Forked regions that are long enough to contain disparate unitigs, closed on both sides by other unitigs&#039;&#039;&#039;, could be assembled from the output of an existing assembler. Of course, most current assemblers tend to generate a very large number of very small contigs, leaving us with most of the same challenges we would face with a full-blown assembler (also Chris is itching to make an assembler anyway).&lt;br /&gt;
##* It is important to consider that such cases are very likely the result of repeats at the boundaries of unitigs that can be placed in such an arrangement.&lt;br /&gt;
##* It is possible for inserted genes to create such scenarios in a biologically valid/meaningful way, but even these will likely be be surrounded by repetitive sequences.&lt;br /&gt;
##* I will need to review the various methods other assemblers use to handle repeats before deciding on even a simple starting scheme.&lt;br /&gt;
## The other &amp;quot;catch all&amp;quot; scenario will be when any boundary lengths in between the minimum length of a unitig and the maximum length set for small mutations. [needs more detail, but it&#039;s bed time]&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;The more I kick around this idea, the more I think this might work better as a scaffolder, of sorts. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something. Of course, Bambus fundamentally requires mate pairs, which would not necessarily be a constraint for this assembler/scaffolder. Also any smaller variance collapsed by an assembler into a consensus sequence would be lost.&amp;lt;/s&amp;gt; ...actually, nvm.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7293</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7293"/>
		<updated>2010-08-11T01:39:47Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that in many cases, a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
* As a simple starting point:&lt;br /&gt;
# I would begin by assembling all unitigs.&lt;br /&gt;
# From these seeds, I would extend out in both directions, allowing forks without breaking the contigs.&lt;br /&gt;
# Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species. In order to accomplish this, I would need to set thresholds for spawning and merging forks. I expect these to be of the three following types:&lt;br /&gt;
## &#039;&#039;&#039;SNPs and other very small indels and mutations&#039;&#039;&#039; could be handled by allowing a string of some small number (eg. 3 or so) within a unitig before terminating the unitig and considering a fork. This would probably require modifying or creating an assembler, as opposed to just using a scaffolder. The main concern here is differentiating between variation and sequencing error.&lt;br /&gt;
##* Unfortunately, I don&#039;t think simply using exceptionally stringent quality score thresholds is a good approach as long as the sequencing data is vastly smaller than the amount of sequence in the original sample. I therefore think the current approach of throwing out N&#039;s and then using standard trimming algorithms should still be used, and then sequencing error should further be inferred algorithmically.&lt;br /&gt;
##* A single instance of a variant with relatively low quality scores is (somewhat obviously) more likely to be sequencing error than actually variation within the population.&lt;br /&gt;
## &#039;&#039;&#039;Forked regions that are long enough to contain disparate unitigs, closed on both sides by other unitigs&#039;&#039;&#039;, could be assembled from the output of an existing assembler. Of course, most current assemblers tend to generate a very large number of very small contigs, leaving us with most of the same challenges we would face with a full-blown assembler (also Chris is itching to make an assembler anyway). It is important to consider that such cases are very likely the result of repeats at the boundaries of unitigs that can be placed in such an arrangement. It is possible though, for inserted genes to create such scenarios in a biologically valid/meaningful way.&lt;br /&gt;
## The other &amp;quot;catch all&amp;quot; scenario will be when any boundary lengths in between the minimum length of a unitig and the maximum length set for small mutations. [needs more detail, but it&#039;s bed time]&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;The more I kick around this idea, the more I think this might work better as a scaffolder, of sorts. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something. Of course, Bambus fundamentally requires mate pairs, which would not necessarily be a constraint for this assembler/scaffolder. Also any smaller variance collapsed by an assembler into a consensus sequence would be lost.&amp;lt;/s&amp;gt; ...actually, nvm.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7292</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7292"/>
		<updated>2010-08-10T03:35:53Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */ Added a bunch of details. It&amp;#039;s not complete, but it&amp;#039;s a serious start at considering this project.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that many times a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
** As a simple starting point, I would assemble all unitigs. From these seeds, I would extend out in both directions, allowing forks without breaking the contigs. Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species. In order to accomplish this, I would need to set thresholds for spawning and merging forks. I expect these to be of the three following types:&lt;br /&gt;
*# SNPs and other very small variances could be handled by allowing a string of 3 or so mismatches within a unitig before terminating the unitig and considering a fork. This would probably require modifying or creating an assembler, as opposed to a scaffolder.&lt;br /&gt;
*# Forked regions that are long enough to contain disparate unitigs, closed on both sides by other unitigs, could be assembled from the output of an existing assembler. Of course, most current assemblers tend to generate a very large number of very small contigs, leaving us with most of the same challenges we would face with a full-blown assembler (also Chris is itching to make an assembler anyway). It is important to consider that such cases are very likely the result of repeats at the boundaries of unitigs that can be placed in such an arrangement. It is possible though, for inserted genes to create such scenarios in a biologically valid/meaningful way.&lt;br /&gt;
*# The other &amp;quot;catch all&amp;quot; scenario will be when any boundary lengths in between the minimum length of a unitig and the maximum length set for small mutations. [needs more detail, but it&#039;s bed time]&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;The more I kick around this idea, the more I think this might work better as a scaffolder, of sorts. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something. Of course, Bambus fundamentally requires mate pairs, which would not necessarily be a constraint for this assembler/scaffolder. Also any smaller variance collapsed by an assembler into a consensus sequence would be lost.&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7291</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7291"/>
		<updated>2010-08-10T03:09:55Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that many times a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
** As a simple starting point, I would assemble all unitigs. From these seeds, I would extend out in both directions, allowing forks without breaking the contigs. Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species. In order to accomplish this, I would need to set thresholds for spawning and merging forks.:&lt;br /&gt;
*** SNPs and other very small variances could be handled by allowing a string of 3 or so mismatches within a unitig before terminating the unitig and considering a fork. This would probably require modifying or creating an assembler, as opposed to a scaffolder.&lt;br /&gt;
*** Forked regions that are long enough to contain disparate unitigs, closed on both sides by other unitigs, could be assembled from the output of an existing &lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
The more I kick around this idea, the more I think this might work better as a scaffolder, of sorts. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something. Of course, Bambus fundamentally requires mate pairs, which would not necessarily be a constraint for this assembler/scaffolder. Also any smaller variance collapsed by an assembler into a consensus sequence would be lost.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7290</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7290"/>
		<updated>2010-08-10T03:00:32Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that many times a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
** As a simple starting point, I would assemble all unitigs. From these seeds, I would extend out in both directions, allowing forks without breaking the contigs. Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species.&lt;br /&gt;
*** To accomplish this, I would need to set thresholds for spawning and merging forks. SNPs and other very small variances could be handled by allowing a string of 3 or so mismatches within a unitig before terminating the unitig and considering a fork.&lt;br /&gt;
*** &lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
The more I kick around this idea, the more I think this might work better as a scaffolder. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something. Of course, Bambus fundamentally requires mate pairs, which is not necessarily a constraint of this assembler/scaffolder. Also any smaller variance collapsed by the assembler into a consensus sequence would be lost.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7289</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7289"/>
		<updated>2010-08-10T02:36:21Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that many times a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
** As a simple starting point, I would assemble all unitigs. From these seeds, I would extend out in both directions, allowing forks without breaking the contigs. Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species.&lt;br /&gt;
** To accomplish this, I would need to set thresholds for spawning and merging forks. SNPs and other very small variances could be handled by allowing a string of 3 or so mismatches in a unitig before terminating the unitig and considering a fork.&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
The more I kick around this idea, the more I think this might work better as a scaffolder. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something. Of course, Bambus fundamentally requires mate pairs, which is not necessarily a constraint of this assembler/scaffolder. Also any smaller variance collapsed by the assembler into a consensus sequence would be lost.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7288</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7288"/>
		<updated>2010-08-10T02:32:34Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that many times a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
** As a simple starting point, I would assemble all unitigs. From these seeds, I would extend out in both directions, allowing forks without breaking the contigs. Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species.&lt;br /&gt;
** To accomplish this, I would need to set thresholds for spawning and merging forks. SNPs and other very small variances could be handled by allowing a string of 3 or so mismatches in a unitig before terminating the unitig and considering a fork.&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
The more I kick around this idea, the more I think this might work better as a scaffolder. I should talk to Sergey about the possibility of just incorporating this into Bambus as an alternative output or something.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7287</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7287"/>
		<updated>2010-08-10T02:21:19Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that many times a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
** As a simple starting point, I would assemble all unitigs. From these seeds, I would extend out in both directions, allowing forks without breaking the contigs. Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species.&lt;br /&gt;
** To accomplish this, I would need to set thresholds for the number of&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7286</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7286"/>
		<updated>2010-08-10T02:16:28Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that many times a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
** As a simple starting point, I would assemble all unitigs. From these seeds, I would extend out in both directions, allowing forks without breaking the contigs. Forks that can be joined on either side by unitigs that are substantially longer than the forked regions, I would tentatively consider to be variation within a single species.&lt;br /&gt;
*** To handle this, I would need to &lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7285</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7285"/>
		<updated>2010-08-10T01:52:10Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that many times a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
** As a simple starting point, I would assemble all unitigs. From these seeds, I would extend &lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7284</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7284"/>
		<updated>2010-08-10T01:40:28Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that many times a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to a micro-organism without significantly altering the overall sequence. This means that sequence divergence is not necessarily proportional to phenotypic divergence and thus can not be used to differentiate between what I would consider to be biologically meaningful species (micro-organisms with differing phenotypes).&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7283</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7283"/>
		<updated>2010-08-10T01:31:34Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Metagenomic assembly */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
** The fundamental limitation of differentiating between species based on sequence divergence is that many times a relatively small number of mutations, a single gene insertion, or a single functional plasmid can impart dramatic new phenotypic properties to an organism without significantly changing the overall sequence.&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7282</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7282"/>
		<updated>2010-08-10T01:17:13Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Potential Research Projects Inspired by &amp;#039;&amp;#039;Microbial Inhabitants of Humans&amp;#039;&amp;#039; */ Reformatted the headers for each project&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
=== Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data ===&lt;br /&gt;
* Search for and consider making quorum sensing gene DB&lt;br /&gt;
** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
** WGS data - Obviously search for homologues directly&lt;br /&gt;
** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
=== Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies ===&lt;br /&gt;
* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
=== Attempt to search for cases of symbiosis where possible ===&lt;br /&gt;
* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons&amp;diff=7281</id>
		<title>User:Tgibbons</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons&amp;diff=7281"/>
		<updated>2010-08-10T01:15:03Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: Added link to my project ideas page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*[[Cbcb:Pop-Lab:Ted-Report | Ted&#039;s Progress Reports]]&lt;br /&gt;
*[[User:Tgibbons:Project-Ideas | Ted&#039;s Project Ideas]]&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7280</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7280"/>
		<updated>2010-08-09T17:47:43Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* (pre)Binning to improve metagenomic assembly */ Added more to the prebinning entry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
# Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data&lt;br /&gt;
#* Search for and consider making quorum sensing gene DB&lt;br /&gt;
#** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
#* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
#** WGS data - Obviously search for homologues directly&lt;br /&gt;
#** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
# Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies&lt;br /&gt;
#* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
# Attempt to search for cases of symbiosis where possible&lt;br /&gt;
#* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs. This is in part because of the nature of the problem when these assemblers were first being developed. In clonal sequencing, one can safely assume that the vast majority of sequence variation actually comes from sequencing error, and not from variation within the population of that organism within a particular environment. To this end, traditional assemblers have sought to identify and eliminate minor sequence variation within the read set, assemble overlapping reads with relatively clean sequences, and simply break up assemblies in places where there was too much variation to justify any other action.&lt;br /&gt;
&lt;br /&gt;
hmm... Well that&#039;s not where I&#039;d intended to go with that. The more I think about this problem, the more I think my other metagenomic assembly idea is more promising in terms of improving assembly quality. I also have serious doubts about the need in the scientific community for the ability to assemble large metagenomic sequencing projects using modest local computational resources. It seems much more likely to me that these groups will increasingly request money for time on an Amazon cluster when writing their grants, and that an iterative local approach would quickly become obsolete, if it isn&#039;t already.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7279</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7279"/>
		<updated>2010-08-09T17:32:41Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Other Potential Research Projects */ Added a bunch of stuff about the prebinning project with Arthur&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
# Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data&lt;br /&gt;
#* Search for and consider making quorum sensing gene DB&lt;br /&gt;
#** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
#* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
#** WGS data - Obviously search for homologues directly&lt;br /&gt;
#** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
# Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies&lt;br /&gt;
#* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
# Attempt to search for cases of symbiosis where possible&lt;br /&gt;
#* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomic assembly ===&lt;br /&gt;
* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;br /&gt;
&lt;br /&gt;
=== (pre)Binning to improve metagenomic assembly ===&lt;br /&gt;
* Mihai&#039;s concerns that binning could (and probably would) break assemblies by separating overlapping reads into different bins are valid, but assume the simplist of binning schemes: Every read is placed in exactly one bin and the assembler is never allowed to combine reads from multiple bins.&lt;br /&gt;
** This scheme is obviously overly simplistic and offers little value to existing assembly techniques.&lt;br /&gt;
* Motivation&lt;br /&gt;
# Convert computationally challenging problem into an embarrassingly parallel problem&lt;br /&gt;
#* Current metagenomic sequencing projects are generating hundreds of millions of (30-500bp) reads, which traditional assemblers would attempt to load into RAM all at once. Even the average US university does likely have the computational resources to successfully attempt such an assembly, and it is unlikely that the average group generating the sequences is prepared for this challenge.&lt;br /&gt;
#* Recent attempts to address this problem have focused on massively parallelized assemblers designed to run on large computer clusters (SOAPdenovo) or cloud clusters such as those offered by Amazon and Google (CloudBurst).&lt;br /&gt;
#* An alternative approach is to first attempt to bin reads we expect to be assembled together, and then use traditional assemblers to assemble the reads placed in each bin.&lt;br /&gt;
#** The hope here is that the amount of sequence in each bin would be more similar to traditional clonal sequencing projects and would therefore be more amenable to traditional assembly techniques.&lt;br /&gt;
#** Avoiding Mihai&#039;s concerns would require additional computation that would further inflate the overhead of this approach. These may include:&lt;br /&gt;
#*# Keeping a special bin for reads that could not be placed with high confidence, and allowing each assembly to pull reads from it.&lt;br /&gt;
#*** This would require some sort of record keeping to ensure promiscuous reads are not added to many assemblies.&lt;br /&gt;
#*# Iterating the assemblies so that contigs from different bins have an opportunity to be combined, including singlets that were not able to be assembled in the first round.&lt;br /&gt;
#*** This approach would greatly increase the overall runtime, but may essentially allow a relatively small group to assemble a large metagenomic sample with modest computational resources.&lt;br /&gt;
# Improve assemblies by using alternative algorithms to place promiscuous reads&lt;br /&gt;
#* For the most part, assemblers use rather naive criteria to place reads into contigs.&lt;br /&gt;
&lt;br /&gt;
=== Volker&#039;s Mycobacterial genomes ===&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7278</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7278"/>
		<updated>2010-08-09T16:08:11Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Other Potential Research Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
# Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data&lt;br /&gt;
#* Search for and consider making quorum sensing gene DB&lt;br /&gt;
#** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
#* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
#** WGS data - Obviously search for homologues directly&lt;br /&gt;
#** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
# Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies&lt;br /&gt;
#* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
# Attempt to search for cases of symbiosis where possible&lt;br /&gt;
#* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
# Metagenomic assembly&lt;br /&gt;
#* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested. This could be due either to them already having large projects to which they&#039;re committed, or it could be that they sense trouble. I&#039;ll ask Mihai once I&#039;ve spent a couple of days looking through literature.&lt;br /&gt;
#* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
#* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
#* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7277</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7277"/>
		<updated>2010-08-09T15:55:10Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Other Potential Research Projects */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;br /&gt;
&lt;br /&gt;
== April 2, 2010 ==&lt;br /&gt;
More on my Thesis Project:&lt;br /&gt;
* I read the most recent (Science, Nov. 2009) paper by Gordon and Knight on their ongoing gut microbiota experiments&lt;br /&gt;
* Pretty much every section addressed the potential thesis topics I&#039;d imagined while reading the preceding section. Frustrating, but reaffirming (trying to learn from Mihai on not getting bummed about being scooped).&lt;br /&gt;
* Something that seems interesting and useful to me is the do more rigorous statistical analysis to attempt to correlate particular genes and pathways with the time series and spacial data. I will have to work closely with Bo at least at first.&lt;br /&gt;
* As a starting point, James has recommended building spacial models similar to his time series models&lt;br /&gt;
* James is essentially mentoring me on my project at this point. It&#039;s pretty excellent.&lt;br /&gt;
&lt;br /&gt;
== July 23, 2010 ==&lt;br /&gt;
It&#039;s been several months, I don&#039;t feel any closer to finding a thesis project, and it&#039;s really starting to stress me out. I&#039;ve finally stopped making excuses for not reading and have been steadily reading about 10 abstracts and 2 papers per week for the last month or two, but it doesn&#039;t appear to be nearly enough. I met with Mihai today to talk about it and then foolishly went for a run in the heat of the afternoon, where I decided on a new direction in a state of euphoric delirium.&lt;br /&gt;
# Read the book Mihai loaned me within the next week (or so): &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; by Michael Wilson&lt;br /&gt;
#* Mihai says the book is a summery of what was known about the human microbiome 5 years ago. The table of contents for the first chapter is essentially identical to the list of wikipedia pages I&#039;ve read in the past week, so I&#039;m pretty excited to now have a more thorough, authoritative source.&lt;br /&gt;
# Go back to looking for papers describing quorum sensing, especially in organisms known to be present in the human microbiome, either stably or transiently.&lt;br /&gt;
#* Try not to get too side-tracked reading about biofilms.&lt;br /&gt;
#* Search for an existing database of quorum sensing genes to use as references to potentially identify novel quorum sensing genes in microbiome WGS data. Consider making one if it&#039;s not already available.&lt;br /&gt;
# Look for a core metabolome (at this point I think a core microbiome seems unlikely) using metapath (or something similar) in the new HMP data for the gut, oral, and vaginal samples from the 100 reference individuals, as well as other sources like MetaHIT.&lt;br /&gt;
#* Start with a fast and dirty approach pulling all KO&#039;s associated with organisms identified using 16S rDNA sequencing, and then possibly attempt more accurate gene assemblies and annotation from WGS sequencing projects.&lt;br /&gt;
# Try to stay focused on a research topic for more than 2 weeks so I don&#039;t keep wasting time and effort.&lt;br /&gt;
# Don&#039;t make a habit of using the wiki like a personal journal...&lt;br /&gt;
&lt;br /&gt;
=== Possible Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
* I transferred this to a new page I created that&#039;s dedicated my potential [[User:Tgibbons:Project-Ideas | project ideas]]&lt;br /&gt;
&lt;br /&gt;
== July 30, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomics Papers and Subjects Related to the Content of &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
# MetaHIT&lt;br /&gt;
# Vaginal Microbiome&lt;br /&gt;
# Acquisition of Microbiome&lt;br /&gt;
#* [http://www.pnas.org/content/early/2010/06/08/1002601107.full.pdf Vaginal birth vs cesarean section]&lt;br /&gt;
&lt;br /&gt;
== August 13, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Other Potential Research Projects ===&lt;br /&gt;
* I transferred this to a new page I created that&#039;s dedicated my potential [[User:Tgibbons:Project-Ideas | project ideas]]&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7276</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7276"/>
		<updated>2010-08-09T15:54:56Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Possible Research Projects Inspired by &amp;#039;&amp;#039;Microbial Inhabitants of Humans&amp;#039;&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;br /&gt;
&lt;br /&gt;
== April 2, 2010 ==&lt;br /&gt;
More on my Thesis Project:&lt;br /&gt;
* I read the most recent (Science, Nov. 2009) paper by Gordon and Knight on their ongoing gut microbiota experiments&lt;br /&gt;
* Pretty much every section addressed the potential thesis topics I&#039;d imagined while reading the preceding section. Frustrating, but reaffirming (trying to learn from Mihai on not getting bummed about being scooped).&lt;br /&gt;
* Something that seems interesting and useful to me is the do more rigorous statistical analysis to attempt to correlate particular genes and pathways with the time series and spacial data. I will have to work closely with Bo at least at first.&lt;br /&gt;
* As a starting point, James has recommended building spacial models similar to his time series models&lt;br /&gt;
* James is essentially mentoring me on my project at this point. It&#039;s pretty excellent.&lt;br /&gt;
&lt;br /&gt;
== July 23, 2010 ==&lt;br /&gt;
It&#039;s been several months, I don&#039;t feel any closer to finding a thesis project, and it&#039;s really starting to stress me out. I&#039;ve finally stopped making excuses for not reading and have been steadily reading about 10 abstracts and 2 papers per week for the last month or two, but it doesn&#039;t appear to be nearly enough. I met with Mihai today to talk about it and then foolishly went for a run in the heat of the afternoon, where I decided on a new direction in a state of euphoric delirium.&lt;br /&gt;
# Read the book Mihai loaned me within the next week (or so): &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; by Michael Wilson&lt;br /&gt;
#* Mihai says the book is a summery of what was known about the human microbiome 5 years ago. The table of contents for the first chapter is essentially identical to the list of wikipedia pages I&#039;ve read in the past week, so I&#039;m pretty excited to now have a more thorough, authoritative source.&lt;br /&gt;
# Go back to looking for papers describing quorum sensing, especially in organisms known to be present in the human microbiome, either stably or transiently.&lt;br /&gt;
#* Try not to get too side-tracked reading about biofilms.&lt;br /&gt;
#* Search for an existing database of quorum sensing genes to use as references to potentially identify novel quorum sensing genes in microbiome WGS data. Consider making one if it&#039;s not already available.&lt;br /&gt;
# Look for a core metabolome (at this point I think a core microbiome seems unlikely) using metapath (or something similar) in the new HMP data for the gut, oral, and vaginal samples from the 100 reference individuals, as well as other sources like MetaHIT.&lt;br /&gt;
#* Start with a fast and dirty approach pulling all KO&#039;s associated with organisms identified using 16S rDNA sequencing, and then possibly attempt more accurate gene assemblies and annotation from WGS sequencing projects.&lt;br /&gt;
# Try to stay focused on a research topic for more than 2 weeks so I don&#039;t keep wasting time and effort.&lt;br /&gt;
# Don&#039;t make a habit of using the wiki like a personal journal...&lt;br /&gt;
&lt;br /&gt;
=== Possible Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
* I transferred this to a new page I created that&#039;s dedicated my potential [[User:Tgibbons:Project-Ideas | project ideas]]&lt;br /&gt;
&lt;br /&gt;
== July 30, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomics Papers and Subjects Related to the Content of &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
# MetaHIT&lt;br /&gt;
# Vaginal Microbiome&lt;br /&gt;
# Acquisition of Microbiome&lt;br /&gt;
#* [http://www.pnas.org/content/early/2010/06/08/1002601107.full.pdf Vaginal birth vs cesarean section]&lt;br /&gt;
&lt;br /&gt;
== August 13, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Other Potential Research Projects ===&lt;br /&gt;
I transferred this to a new page I created that&#039;s dedicated my potential [[User:Tgibbons:Project-Ideas | project ideas]]&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7275</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7275"/>
		<updated>2010-08-09T15:54:35Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Possible Research Projects Inspired by &amp;#039;&amp;#039;Microbial Inhabitants of Humans&amp;#039;&amp;#039; */ Replaced with a link to a dedicated page I created for my project ideas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;br /&gt;
&lt;br /&gt;
== April 2, 2010 ==&lt;br /&gt;
More on my Thesis Project:&lt;br /&gt;
* I read the most recent (Science, Nov. 2009) paper by Gordon and Knight on their ongoing gut microbiota experiments&lt;br /&gt;
* Pretty much every section addressed the potential thesis topics I&#039;d imagined while reading the preceding section. Frustrating, but reaffirming (trying to learn from Mihai on not getting bummed about being scooped).&lt;br /&gt;
* Something that seems interesting and useful to me is the do more rigorous statistical analysis to attempt to correlate particular genes and pathways with the time series and spacial data. I will have to work closely with Bo at least at first.&lt;br /&gt;
* As a starting point, James has recommended building spacial models similar to his time series models&lt;br /&gt;
* James is essentially mentoring me on my project at this point. It&#039;s pretty excellent.&lt;br /&gt;
&lt;br /&gt;
== July 23, 2010 ==&lt;br /&gt;
It&#039;s been several months, I don&#039;t feel any closer to finding a thesis project, and it&#039;s really starting to stress me out. I&#039;ve finally stopped making excuses for not reading and have been steadily reading about 10 abstracts and 2 papers per week for the last month or two, but it doesn&#039;t appear to be nearly enough. I met with Mihai today to talk about it and then foolishly went for a run in the heat of the afternoon, where I decided on a new direction in a state of euphoric delirium.&lt;br /&gt;
# Read the book Mihai loaned me within the next week (or so): &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; by Michael Wilson&lt;br /&gt;
#* Mihai says the book is a summery of what was known about the human microbiome 5 years ago. The table of contents for the first chapter is essentially identical to the list of wikipedia pages I&#039;ve read in the past week, so I&#039;m pretty excited to now have a more thorough, authoritative source.&lt;br /&gt;
# Go back to looking for papers describing quorum sensing, especially in organisms known to be present in the human microbiome, either stably or transiently.&lt;br /&gt;
#* Try not to get too side-tracked reading about biofilms.&lt;br /&gt;
#* Search for an existing database of quorum sensing genes to use as references to potentially identify novel quorum sensing genes in microbiome WGS data. Consider making one if it&#039;s not already available.&lt;br /&gt;
# Look for a core metabolome (at this point I think a core microbiome seems unlikely) using metapath (or something similar) in the new HMP data for the gut, oral, and vaginal samples from the 100 reference individuals, as well as other sources like MetaHIT.&lt;br /&gt;
#* Start with a fast and dirty approach pulling all KO&#039;s associated with organisms identified using 16S rDNA sequencing, and then possibly attempt more accurate gene assemblies and annotation from WGS sequencing projects.&lt;br /&gt;
# Try to stay focused on a research topic for more than 2 weeks so I don&#039;t keep wasting time and effort.&lt;br /&gt;
# Don&#039;t make a habit of using the wiki like a personal journal...&lt;br /&gt;
&lt;br /&gt;
=== Possible Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
I transferred this to a new page I created that&#039;s dedicated my potential [[User:Tgibbons:Project-Ideas | project ideas]]&lt;br /&gt;
&lt;br /&gt;
== July 30, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomics Papers and Subjects Related to the Content of &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
# MetaHIT&lt;br /&gt;
# Vaginal Microbiome&lt;br /&gt;
# Acquisition of Microbiome&lt;br /&gt;
#* [http://www.pnas.org/content/early/2010/06/08/1002601107.full.pdf Vaginal birth vs cesarean section]&lt;br /&gt;
&lt;br /&gt;
== August 13, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Other Potential Research Projects ===&lt;br /&gt;
I transferred this to a new page I created that&#039;s dedicated my potential [[User:Tgibbons:Project-Ideas | project ideas]]&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7274</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7274"/>
		<updated>2010-08-09T15:53:34Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Other Potential Research Projects */ Replaced with link to new dedicated page for my project ideas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;br /&gt;
&lt;br /&gt;
== April 2, 2010 ==&lt;br /&gt;
More on my Thesis Project:&lt;br /&gt;
* I read the most recent (Science, Nov. 2009) paper by Gordon and Knight on their ongoing gut microbiota experiments&lt;br /&gt;
* Pretty much every section addressed the potential thesis topics I&#039;d imagined while reading the preceding section. Frustrating, but reaffirming (trying to learn from Mihai on not getting bummed about being scooped).&lt;br /&gt;
* Something that seems interesting and useful to me is the do more rigorous statistical analysis to attempt to correlate particular genes and pathways with the time series and spacial data. I will have to work closely with Bo at least at first.&lt;br /&gt;
* As a starting point, James has recommended building spacial models similar to his time series models&lt;br /&gt;
* James is essentially mentoring me on my project at this point. It&#039;s pretty excellent.&lt;br /&gt;
&lt;br /&gt;
== July 23, 2010 ==&lt;br /&gt;
It&#039;s been several months, I don&#039;t feel any closer to finding a thesis project, and it&#039;s really starting to stress me out. I&#039;ve finally stopped making excuses for not reading and have been steadily reading about 10 abstracts and 2 papers per week for the last month or two, but it doesn&#039;t appear to be nearly enough. I met with Mihai today to talk about it and then foolishly went for a run in the heat of the afternoon, where I decided on a new direction in a state of euphoric delirium.&lt;br /&gt;
# Read the book Mihai loaned me within the next week (or so): &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; by Michael Wilson&lt;br /&gt;
#* Mihai says the book is a summery of what was known about the human microbiome 5 years ago. The table of contents for the first chapter is essentially identical to the list of wikipedia pages I&#039;ve read in the past week, so I&#039;m pretty excited to now have a more thorough, authoritative source.&lt;br /&gt;
# Go back to looking for papers describing quorum sensing, especially in organisms known to be present in the human microbiome, either stably or transiently.&lt;br /&gt;
#* Try not to get too side-tracked reading about biofilms.&lt;br /&gt;
#* Search for an existing database of quorum sensing genes to use as references to potentially identify novel quorum sensing genes in microbiome WGS data. Consider making one if it&#039;s not already available.&lt;br /&gt;
# Look for a core metabolome (at this point I think a core microbiome seems unlikely) using metapath (or something similar) in the new HMP data for the gut, oral, and vaginal samples from the 100 reference individuals, as well as other sources like MetaHIT.&lt;br /&gt;
#* Start with a fast and dirty approach pulling all KO&#039;s associated with organisms identified using 16S rDNA sequencing, and then possibly attempt more accurate gene assemblies and annotation from WGS sequencing projects.&lt;br /&gt;
# Try to stay focused on a research topic for more than 2 weeks so I don&#039;t keep wasting time and effort.&lt;br /&gt;
# Don&#039;t make a habit of using the wiki like a personal journal...&lt;br /&gt;
&lt;br /&gt;
=== Possible Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
# Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data&lt;br /&gt;
#* Search for and consider making quorum sensing gene DB&lt;br /&gt;
#** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
#* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
#** WGS data - Obviously search for homologues directly&lt;br /&gt;
#** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
# Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies&lt;br /&gt;
#* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
# Attempt to search for cases of symbiosis where possible&lt;br /&gt;
#* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== July 30, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomics Papers and Subjects Related to the Content of &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
# MetaHIT&lt;br /&gt;
# Vaginal Microbiome&lt;br /&gt;
# Acquisition of Microbiome&lt;br /&gt;
#* [http://www.pnas.org/content/early/2010/06/08/1002601107.full.pdf Vaginal birth vs cesarean section]&lt;br /&gt;
&lt;br /&gt;
== August 13, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Other Potential Research Projects ===&lt;br /&gt;
I transferred this to a new page I created that&#039;s dedicated my potential [[User:Tgibbons:Project-Ideas | project ideas]]&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7273</id>
		<title>User:Tgibbons:Project-Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=User:Tgibbons:Project-Ideas&amp;diff=7273"/>
		<updated>2010-08-09T15:51:04Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: Moved previous ideas from my progress report&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My weekly progress report just didn&#039;t seem appropriate for my brainstorming after a bit, so I&#039;ve transferred everything here.&lt;br /&gt;
&lt;br /&gt;
== Potential Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ==&lt;br /&gt;
# Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data&lt;br /&gt;
#* Search for and consider making quorum sensing gene DB&lt;br /&gt;
#** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
#* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
#** WGS data - Obviously search for homologues directly&lt;br /&gt;
#** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
# Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies&lt;br /&gt;
#* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
# Attempt to search for cases of symbiosis where possible&lt;br /&gt;
#* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== Other Potential Research Projects ==&lt;br /&gt;
# Metagenomic assembly&lt;br /&gt;
#* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested.&lt;br /&gt;
#* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
#* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
#* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7272</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7272"/>
		<updated>2010-08-09T15:29:22Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* August 13, 2010 */ Created a new entry with a subsection for my project ideas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;br /&gt;
&lt;br /&gt;
== April 2, 2010 ==&lt;br /&gt;
More on my Thesis Project:&lt;br /&gt;
* I read the most recent (Science, Nov. 2009) paper by Gordon and Knight on their ongoing gut microbiota experiments&lt;br /&gt;
* Pretty much every section addressed the potential thesis topics I&#039;d imagined while reading the preceding section. Frustrating, but reaffirming (trying to learn from Mihai on not getting bummed about being scooped).&lt;br /&gt;
* Something that seems interesting and useful to me is the do more rigorous statistical analysis to attempt to correlate particular genes and pathways with the time series and spacial data. I will have to work closely with Bo at least at first.&lt;br /&gt;
* As a starting point, James has recommended building spacial models similar to his time series models&lt;br /&gt;
* James is essentially mentoring me on my project at this point. It&#039;s pretty excellent.&lt;br /&gt;
&lt;br /&gt;
== July 23, 2010 ==&lt;br /&gt;
It&#039;s been several months, I don&#039;t feel any closer to finding a thesis project, and it&#039;s really starting to stress me out. I&#039;ve finally stopped making excuses for not reading and have been steadily reading about 10 abstracts and 2 papers per week for the last month or two, but it doesn&#039;t appear to be nearly enough. I met with Mihai today to talk about it and then foolishly went for a run in the heat of the afternoon, where I decided on a new direction in a state of euphoric delirium.&lt;br /&gt;
# Read the book Mihai loaned me within the next week (or so): &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; by Michael Wilson&lt;br /&gt;
#* Mihai says the book is a summery of what was known about the human microbiome 5 years ago. The table of contents for the first chapter is essentially identical to the list of wikipedia pages I&#039;ve read in the past week, so I&#039;m pretty excited to now have a more thorough, authoritative source.&lt;br /&gt;
# Go back to looking for papers describing quorum sensing, especially in organisms known to be present in the human microbiome, either stably or transiently.&lt;br /&gt;
#* Try not to get too side-tracked reading about biofilms.&lt;br /&gt;
#* Search for an existing database of quorum sensing genes to use as references to potentially identify novel quorum sensing genes in microbiome WGS data. Consider making one if it&#039;s not already available.&lt;br /&gt;
# Look for a core metabolome (at this point I think a core microbiome seems unlikely) using metapath (or something similar) in the new HMP data for the gut, oral, and vaginal samples from the 100 reference individuals, as well as other sources like MetaHIT.&lt;br /&gt;
#* Start with a fast and dirty approach pulling all KO&#039;s associated with organisms identified using 16S rDNA sequencing, and then possibly attempt more accurate gene assemblies and annotation from WGS sequencing projects.&lt;br /&gt;
# Try to stay focused on a research topic for more than 2 weeks so I don&#039;t keep wasting time and effort.&lt;br /&gt;
# Don&#039;t make a habit of using the wiki like a personal journal...&lt;br /&gt;
&lt;br /&gt;
=== Possible Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
# Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data&lt;br /&gt;
#* Search for and consider making quorum sensing gene DB&lt;br /&gt;
#** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
#* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
#** WGS data - Obviously search for homologues directly&lt;br /&gt;
#** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
# Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies&lt;br /&gt;
#* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
# Attempt to search for cases of symbiosis where possible&lt;br /&gt;
#* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== July 30, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomics Papers and Subjects Related to the Content of &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
# MetaHIT&lt;br /&gt;
# Vaginal Microbiome&lt;br /&gt;
# Acquisition of Microbiome&lt;br /&gt;
#* [http://www.pnas.org/content/early/2010/06/08/1002601107.full.pdf Vaginal birth vs cesarean section]&lt;br /&gt;
&lt;br /&gt;
== August 13, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Other Potential Research Projects ===&lt;br /&gt;
# Metagenomic assembly&lt;br /&gt;
#* I&#039;ve been kicking this idea around the floor for months, but none of the people I perceive as being better suited to tackle the problem have appeared all that interested.&lt;br /&gt;
#* Essentially I think the ideal metagenomic assembler would allow for, and gracefully represent, diversity within a single organism, without collapsing the genetic material of an entire community into a single messy contig.&lt;br /&gt;
#* The major theoretical challenge would be the development of an algorithm that could differentiate between variation and &amp;quot;speciation&amp;quot; in a biologically meaningful way. This is far from being a new problem.&lt;br /&gt;
#* In addition to the well-known theoretical challenges, coding this in such a way as to make it practical for current and future metagenomic problems would probably require more programming skills than I have the time to master. As such, I&#039;m hoping that maybe I can work out the theory on a smaller scale using Python, and then maybe convince someone else to collaborate with me for the implementation, or just publish my findings and leave it to the scientific community to incorporate my methods into their-favorite-assembler.&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7271</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7271"/>
		<updated>2010-07-27T19:34:02Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* July 23, 2010 */ Addedentry for week ending July 30, 2010, and a section for metagenomics papers I should read when I&amp;#039;m done with this book&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;br /&gt;
&lt;br /&gt;
== April 2, 2010 ==&lt;br /&gt;
More on my Thesis Project:&lt;br /&gt;
* I read the most recent (Science, Nov. 2009) paper by Gordon and Knight on their ongoing gut microbiota experiments&lt;br /&gt;
* Pretty much every section addressed the potential thesis topics I&#039;d imagined while reading the preceding section. Frustrating, but reaffirming (trying to learn from Mihai on not getting bummed about being scooped).&lt;br /&gt;
* Something that seems interesting and useful to me is the do more rigorous statistical analysis to attempt to correlate particular genes and pathways with the time series and spacial data. I will have to work closely with Bo at least at first.&lt;br /&gt;
* As a starting point, James has recommended building spacial models similar to his time series models&lt;br /&gt;
* James is essentially mentoring me on my project at this point. It&#039;s pretty excellent.&lt;br /&gt;
&lt;br /&gt;
== July 23, 2010 ==&lt;br /&gt;
It&#039;s been several months, I don&#039;t feel any closer to finding a thesis project, and it&#039;s really starting to stress me out. I&#039;ve finally stopped making excuses for not reading and have been steadily reading about 10 abstracts and 2 papers per week for the last month or two, but it doesn&#039;t appear to be nearly enough. I met with Mihai today to talk about it and then foolishly went for a run in the heat of the afternoon, where I decided on a new direction in a state of euphoric delirium.&lt;br /&gt;
# Read the book Mihai loaned me within the next week (or so): &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; by Michael Wilson&lt;br /&gt;
#* Mihai says the book is a summery of what was known about the human microbiome 5 years ago. The table of contents for the first chapter is essentially identical to the list of wikipedia pages I&#039;ve read in the past week, so I&#039;m pretty excited to now have a more thorough, authoritative source.&lt;br /&gt;
# Go back to looking for papers describing quorum sensing, especially in organisms known to be present in the human microbiome, either stably or transiently.&lt;br /&gt;
#* Try not to get too side-tracked reading about biofilms.&lt;br /&gt;
#* Search for an existing database of quorum sensing genes to use as references to potentially identify novel quorum sensing genes in microbiome WGS data. Consider making one if it&#039;s not already available.&lt;br /&gt;
# Look for a core metabolome (at this point I think a core microbiome seems unlikely) using metapath (or something similar) in the new HMP data for the gut, oral, and vaginal samples from the 100 reference individuals, as well as other sources like MetaHIT.&lt;br /&gt;
#* Start with a fast and dirty approach pulling all KO&#039;s associated with organisms identified using 16S rDNA sequencing, and then possibly attempt more accurate gene assemblies and annotation from WGS sequencing projects.&lt;br /&gt;
# Try to stay focused on a research topic for more than 2 weeks so I don&#039;t keep wasting time and effort.&lt;br /&gt;
# Don&#039;t make a habit of using the wiki like a personal journal...&lt;br /&gt;
&lt;br /&gt;
=== Possible Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
# Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data&lt;br /&gt;
#* Search for and consider making quorum sensing gene DB&lt;br /&gt;
#** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
#* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
#** WGS data - Obviously search for homologues directly&lt;br /&gt;
#** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
# Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies&lt;br /&gt;
#* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
# Attempt to search for cases of symbiosis where possible&lt;br /&gt;
#* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;br /&gt;
&lt;br /&gt;
== July 30, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Metagenomics Papers and Subjects Related to the Content of &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
# MetaHIT&lt;br /&gt;
# Vaginal Microbiome&lt;br /&gt;
# Acquisition of Microbiome&lt;br /&gt;
#* [http://www.pnas.org/content/early/2010/06/08/1002601107.full.pdf Vaginal birth vs cesarean section]&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7270</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7270"/>
		<updated>2010-07-22T18:23:19Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Potential Research Projects Inspired by &amp;#039;&amp;#039;Microbial Inhabitants of Humans&amp;#039;&amp;#039; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;br /&gt;
&lt;br /&gt;
== April 2, 2010 ==&lt;br /&gt;
More on my Thesis Project:&lt;br /&gt;
* I read the most recent (Science, Nov. 2009) paper by Gordon and Knight on their ongoing gut microbiota experiments&lt;br /&gt;
* Pretty much every section addressed the potential thesis topics I&#039;d imagined while reading the preceding section. Frustrating, but reaffirming (trying to learn from Mihai on not getting bummed about being scooped).&lt;br /&gt;
* Something that seems interesting and useful to me is the do more rigorous statistical analysis to attempt to correlate particular genes and pathways with the time series and spacial data. I will have to work closely with Bo at least at first.&lt;br /&gt;
* As a starting point, James has recommended building spacial models similar to his time series models&lt;br /&gt;
* James is essentially mentoring me on my project at this point. It&#039;s pretty excellent.&lt;br /&gt;
&lt;br /&gt;
== July 23, 2010 ==&lt;br /&gt;
It&#039;s been several months, I don&#039;t feel any closer to finding a thesis project, and it&#039;s really starting to stress me out. I&#039;ve finally stopped making excuses for not reading and have been steadily reading about 10 abstracts and 2 papers per week for the last month or two, but it doesn&#039;t appear to be nearly enough. I met with Mihai today to talk about it and then foolishly went for a run in the heat of the afternoon, where I decided on a new direction in a state of euphoric delirium.&lt;br /&gt;
# Read the book Mihai loaned me within the next week (or so): &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; by Michael Wilson&lt;br /&gt;
#* Mihai says the book is a summery of what was known about the human microbiome 5 years ago. The table of contents for the first chapter is essentially identical to the list of wikipedia pages I&#039;ve read in the past week, so I&#039;m pretty excited to now have a more thorough, authoritative source.&lt;br /&gt;
# Go back to looking for papers describing quorum sensing, especially in organisms known to be present in the human microbiome, either stably or transiently.&lt;br /&gt;
#* Try not to get too side-tracked reading about biofilms.&lt;br /&gt;
#* Search for an existing database of quorum sensing genes to use as references to potentially identify novel quorum sensing genes in microbiome WGS data. Consider making one if it&#039;s not already available.&lt;br /&gt;
# Look for a core metabolome (at this point I think a core microbiome seems unlikely) using metapath (or something similar) in the new HMP data for the gut, oral, and vaginal samples from the 100 reference individuals, as well as other sources like MetaHIT.&lt;br /&gt;
#* Start with a fast and dirty approach pulling all KO&#039;s associated with organisms identified using 16S rDNA sequencing, and then possibly attempt more accurate gene assemblies and annotation from WGS sequencing projects.&lt;br /&gt;
# Try to stay focused on a research topic for more than 2 weeks so I don&#039;t keep wasting time and effort.&lt;br /&gt;
# Don&#039;t make a habit of using the wiki like a personal journal...&lt;br /&gt;
&lt;br /&gt;
=== Possible Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
# Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data&lt;br /&gt;
#* Search for and consider making quorum sensing gene DB&lt;br /&gt;
#** KEGG has pathways containing both acyl-homoserine lactone and it&#039;s synthase&lt;br /&gt;
#* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
#** WGS data - Obviously search for homologues directly&lt;br /&gt;
#** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
# Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies&lt;br /&gt;
#* On the off chance I get to publish on this subject, it might be interesting to draw an analogy between genetic evolution involving chance mutations that are occasionally beneficial and are therefore propagated, and microbial colonization which involves chance introduction of microorganisms that are occasionally beneficial and therefore become stable members of the microbiome.&lt;br /&gt;
# Attempt to search for cases of symbiosis where possible&lt;br /&gt;
#* Search terms: commensalism, synergism (protocooperation), mutualism, competition, amensalism (antagonism), predation, parasitism, neutralism, syntrophism (nutritional synergism, cross-feeding, examples on pp.16-17)&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7269</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7269"/>
		<updated>2010-07-22T17:18:02Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* July 23, 2010 */ Started section to brainstorm research projects I&amp;#039;d like to look into&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;br /&gt;
&lt;br /&gt;
== April 2, 2010 ==&lt;br /&gt;
More on my Thesis Project:&lt;br /&gt;
* I read the most recent (Science, Nov. 2009) paper by Gordon and Knight on their ongoing gut microbiota experiments&lt;br /&gt;
* Pretty much every section addressed the potential thesis topics I&#039;d imagined while reading the preceding section. Frustrating, but reaffirming (trying to learn from Mihai on not getting bummed about being scooped).&lt;br /&gt;
* Something that seems interesting and useful to me is the do more rigorous statistical analysis to attempt to correlate particular genes and pathways with the time series and spacial data. I will have to work closely with Bo at least at first.&lt;br /&gt;
* As a starting point, James has recommended building spacial models similar to his time series models&lt;br /&gt;
* James is essentially mentoring me on my project at this point. It&#039;s pretty excellent.&lt;br /&gt;
&lt;br /&gt;
== July 23, 2010 ==&lt;br /&gt;
It&#039;s been several months, I don&#039;t feel any closer to finding a thesis project, and it&#039;s really starting to stress me out. I&#039;ve finally stopped making excuses for not reading and have been steadily reading about 10 abstracts and 2 papers per week for the last month or two, but it doesn&#039;t appear to be nearly enough. I met with Mihai today to talk about it and then foolishly went for a run in the heat of the afternoon, where I decided on a new direction in a state of euphoric delirium.&lt;br /&gt;
# Read the book Mihai loaned me within the next week (or so): &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; by Michael Wilson&lt;br /&gt;
#* Mihai says the book is a summery of what was known about the human microbiome 5 years ago. The table of contents for the first chapter is essentially identical to the list of wikipedia pages I&#039;ve read in the past week, so I&#039;m pretty excited to now have a more thorough, authoritative source.&lt;br /&gt;
# Go back to looking for papers describing quorum sensing, especially in organisms known to be present in the human microbiome, either stably or transiently.&lt;br /&gt;
#* Try not to get too side-tracked reading about biofilms.&lt;br /&gt;
#* Search for an existing database of quorum sensing genes to use as references to potentially identify novel quorum sensing genes in microbiome WGS data. Consider making one if it&#039;s not already available.&lt;br /&gt;
# Look for a core metabolome (at this point I think a core microbiome seems unlikely) using metapath (or something similar) in the new HMP data for the gut, oral, and vaginal samples from the 100 reference individuals, as well as other sources like MetaHIT.&lt;br /&gt;
#* Start with a fast and dirty approach pulling all KO&#039;s associated with organisms identified using 16S rDNA sequencing, and then possibly attempt more accurate gene assemblies and annotation from WGS sequencing projects.&lt;br /&gt;
# Try to stay focused on a research topic for more than 2 weeks so I don&#039;t keep wasting time and effort.&lt;br /&gt;
# Don&#039;t make a habit of using the wiki like a personal journal...&lt;br /&gt;
&lt;br /&gt;
=== Possible Research Projects Inspired by &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; ===&lt;br /&gt;
# Searching for quorum sensing genes, both known and novel, and any pathways including them in human microbiome data&lt;br /&gt;
#* Search for and consider making quorum sensing gene DB&lt;br /&gt;
#* After indexing known quorum sensing genes, search for homologues&lt;br /&gt;
#** WGS data - Obviously search for homologues directly&lt;br /&gt;
#** 16S data - Identify organisms and search for homologues in public DBs&lt;br /&gt;
# Search for &amp;quot;core metabolome&amp;quot; in pioneer organisms from infant studies&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7268</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7268"/>
		<updated>2010-07-22T04:16:13Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* July 23, 2010 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;br /&gt;
&lt;br /&gt;
== April 2, 2010 ==&lt;br /&gt;
More on my Thesis Project:&lt;br /&gt;
* I read the most recent (Science, Nov. 2009) paper by Gordon and Knight on their ongoing gut microbiota experiments&lt;br /&gt;
* Pretty much every section addressed the potential thesis topics I&#039;d imagined while reading the preceding section. Frustrating, but reaffirming (trying to learn from Mihai on not getting bummed about being scooped).&lt;br /&gt;
* Something that seems interesting and useful to me is the do more rigorous statistical analysis to attempt to correlate particular genes and pathways with the time series and spacial data. I will have to work closely with Bo at least at first.&lt;br /&gt;
* As a starting point, James has recommended building spacial models similar to his time series models&lt;br /&gt;
* James is essentially mentoring me on my project at this point. It&#039;s pretty excellent.&lt;br /&gt;
&lt;br /&gt;
== July 23, 2010 ==&lt;br /&gt;
It&#039;s been several months, I don&#039;t feel any closer to finding a thesis project, and it&#039;s really starting to stress me out. I&#039;ve finally stopped making excuses for not reading and have been steadily reading about 10 abstracts and 2 papers per week for the last month or two, but it doesn&#039;t appear to be nearly enough. I met with Mihai today to talk about it and then foolishly went for a run in the heat of the afternoon, where I decided on a new direction in a state of euphoric delirium.&lt;br /&gt;
# Read the book Mihai loaned me within the next week (or so): &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; by Michael Wilson&lt;br /&gt;
#* Mihai says the book is a summery of what was known about the human microbiome 5 years ago. The table of contents for the first chapter is essentially identical to the list of wikipedia pages I&#039;ve read in the past week, so I&#039;m pretty excited to now have a more thorough, authoritative source.&lt;br /&gt;
# Go back to looking for papers describing quorum sensing, especially in organisms known to be present in the human microbiome, either stably or transiently.&lt;br /&gt;
#* Try not to get too side-tracked reading about biofilms.&lt;br /&gt;
#* Search for an existing database of quorum sensing genes to use as references to potentially identify novel quorum sensing genes in microbiome WGS data. Consider making one if it&#039;s not already available.&lt;br /&gt;
# Look for a core metabolome (at this point I think a core microbiome seems unlikely) using metapath (or something similar) in the new HMP data for the gut, oral, and vaginal samples from the 100 reference individuals, as well as other sources like MetaHIT.&lt;br /&gt;
#* Start with a fast and dirty approach pulling all KO&#039;s associated with organisms identified using 16S rDNA sequencing, and then possibly attempt more accurate gene assemblies and annotation from WGS sequencing projects.&lt;br /&gt;
# Try to stay focused on a research topic for more than 2 weeks so I don&#039;t keep wasting time and effort.&lt;br /&gt;
# Don&#039;t make a habit of using the wiki like a personal journal...&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7267</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7267"/>
		<updated>2010-07-22T03:19:20Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* July 23, 2010 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;br /&gt;
&lt;br /&gt;
== April 2, 2010 ==&lt;br /&gt;
More on my Thesis Project:&lt;br /&gt;
* I read the most recent (Science, Nov. 2009) paper by Gordon and Knight on their ongoing gut microbiota experiments&lt;br /&gt;
* Pretty much every section addressed the potential thesis topics I&#039;d imagined while reading the preceding section. Frustrating, but reaffirming (trying to learn from Mihai on not getting bummed about being scooped).&lt;br /&gt;
* Something that seems interesting and useful to me is the do more rigorous statistical analysis to attempt to correlate particular genes and pathways with the time series and spacial data. I will have to work closely with Bo at least at first.&lt;br /&gt;
* As a starting point, James has recommended building spacial models similar to his time series models&lt;br /&gt;
* James is essentially mentoring me on my project at this point. It&#039;s pretty excellent.&lt;br /&gt;
&lt;br /&gt;
== July 23, 2010 ==&lt;br /&gt;
It&#039;s been several months, I don&#039;t feel any closer to finding a thesis project, and it&#039;s really starting to stress me out. I&#039;ve finally stopped making excuses for not reading and have been steadily reading about 10 abstracts and 2 papers per week for the last month or two, but it doesn&#039;t appear to be nearly enough. I met with Mihai today to talk about it and then foolishly went for a run in the heat of the afternoon, where I decided on a new direction in a state of euphoric delirium.&lt;br /&gt;
# Read the book Mihai loaned me within the next week (or so): &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; by Michael Wilson&lt;br /&gt;
#* Mihai says the book is a summery of what was known about the human microbiome 5 years ago. The table of contents for the first chapter is essentially identical to the list of wikipedia pages I&#039;ve read in the past week, so I&#039;m pretty excited to now have a more thorough, authoritative source.&lt;br /&gt;
# Go back to looking for papers describing quorum sensing, especially in organisms known to be present in the human microbiome, either stably or transiently.&lt;br /&gt;
#* Try not to get too side-tracked reading about biofilms.&lt;br /&gt;
# Look for a core metabolome (at this point I think a core microbiome seems unlikely) using metapath (or something similar) in the new HMP data for the gut, oral, and vaginal samples from the 100 reference individuals, as well as other sources like MetaHIT.&lt;br /&gt;
#* Start with a fast and dirty approach pulling all KO&#039;s associated with organisms identified using 16S rDNA sequencing, and then possibly attempt more accurate gene assemblies and annotation from WGS sequencing projects.&lt;br /&gt;
# Try to stay focused on a research topic for more than 2 weeks so I don&#039;t keep wasting time and effort.&lt;br /&gt;
# Don&#039;t make a habit of using the wiki like a personal journal...&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7266</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=7266"/>
		<updated>2010-07-22T03:08:12Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* July 23, 2010 */ Created entry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;br /&gt;
&lt;br /&gt;
== April 2, 2010 ==&lt;br /&gt;
More on my Thesis Project:&lt;br /&gt;
* I read the most recent (Science, Nov. 2009) paper by Gordon and Knight on their ongoing gut microbiota experiments&lt;br /&gt;
* Pretty much every section addressed the potential thesis topics I&#039;d imagined while reading the preceding section. Frustrating, but reaffirming (trying to learn from Mihai on not getting bummed about being scooped).&lt;br /&gt;
* Something that seems interesting and useful to me is the do more rigorous statistical analysis to attempt to correlate particular genes and pathways with the time series and spacial data. I will have to work closely with Bo at least at first.&lt;br /&gt;
* As a starting point, James has recommended building spacial models similar to his time series models&lt;br /&gt;
* James is essentially mentoring me on my project at this point. It&#039;s pretty excellent.&lt;br /&gt;
&lt;br /&gt;
== July 23, 2010 ==&lt;br /&gt;
It&#039;s been several months, I don&#039;t feel any closer to finding a thesis project, and it&#039;s really starting to stress me out. I&#039;ve finally stopped making excuses for not reading and have been steadily reading about 10 abstracts and 2 papers per week for the last month or two, but it doesn&#039;t appear to be nearly enough. I met with Mihai today to talk about it and then foolishly went for a run in the heat of the afternoon, where I decided on a new direction in a state of euphoric delirium.&lt;br /&gt;
# Read the book Mihai loaned me within the next week (or so): &#039;&#039;Microbial Inhabitants of Humans&#039;&#039; by Michael Wilson&lt;br /&gt;
#* Mihai says the book is a summery of what was known about the human microbiome 5 years ago. The table of contents for the first chapter is essentially identical to the list of wikipedia pages I&#039;ve read in the past week, so I&#039;m pretty excited to now have a more thorough, authoritative source.&lt;br /&gt;
# Go back to looking for papers describing quorum sensing, especially in organisms known to be present in the human microbiome, either stably or transiently.&lt;br /&gt;
# Look for a core metabolome (at this point I think a core microbiome seems unlikely) using metapath (or something similar) in the new HMP data for the gut, oral, and vaginal samples from the 100 reference individuals, as well as other sources like MetaHIT.&lt;br /&gt;
#* Start with a fast and dirty approach pulling all KO&#039;s associated with organisms identified using 16S rDNA sequencing, and then possibly attempt more accurate gene assemblies and annotation from WGS sequencing projects.&lt;br /&gt;
# Try to stay focused on a research topic for more than 2 weeks so I don&#039;t keep wasting time and effort.&lt;br /&gt;
# Don&#039;t make a habit of using the wiki like a personal journal...&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Communal_Software&amp;diff=7246</id>
		<title>Communal Software</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Communal_Software&amp;diff=7246"/>
		<updated>2010-06-04T18:58:12Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
CBCB users do not have root access on their machines or the communal servers. Communal CBCB software is therefore typically installed in&lt;br /&gt;
 /fs/sz-user-supported/&lt;br /&gt;
There are two primary subdirectories which differ by architecture. For the most part, 32bit software is installed in&lt;br /&gt;
 /fs/sz-user-supported/Linux-i686/&lt;br /&gt;
while 64bit software is installed in&lt;br /&gt;
 /fs/sz-user-supported/Linux-x86_64/&lt;br /&gt;
The appropriate subdirectory is typically dynamically chosen by embedding&lt;br /&gt;
 /fs/sz-user-supported/`uname`-`uname -m`&lt;br /&gt;
in a user&#039;s path variables in their bashrc file.&lt;br /&gt;
&lt;br /&gt;
Installing software to these directories and updating a user&#039;s path can be tricky. For this reason, many users choose to maintain specialty software in personal directories.&lt;br /&gt;
&lt;br /&gt;
== Carl&#039;s World ==&lt;br /&gt;
In an attempt to solve many software installation related headaches for his lab members, Carl Kingsford has created an alternate environment called &amp;quot;Carl&#039;s World&amp;quot; which contains many programs and modules frequently used by his lab members. Little else is known about Carl&#039;s World, but rumor has it that if you ask nicely, he will let you in. It is important to note that Carl&#039;s World is designed and maintained specifically for use by Carl&#039;s lab members, and there are therefore many common and useful software packages not included in Carl&#039;s World. It may therefore be necessary to modify YOUR OWN bashrc file once you have joined, but be warned that attempting to modify Carl&#039;s World itself is a sure way to lose your membership.&lt;br /&gt;
&lt;br /&gt;
== Planned Maintenance (Summer 2010) ==&lt;br /&gt;
The Pop lab is currently planning to update much of the communal software installed in sz-user-supported over the Summer of 2010. So far this list includes:&lt;br /&gt;
* [http://sourceforge.net/apps/mediawiki/amos/index.php?title=AMOS AMOS] -- Already installed&lt;br /&gt;
* [http://www.ncbi.nlm.nih.gov/staff/tao/URLAPI/blastall/index.html blastall 2.2.23] -- May not be worth upgrading from 2.2.18. Will look at release notes.&lt;br /&gt;
* [http://hmmer.janelia.org/ HMMer3] -- Installed.&lt;br /&gt;
** [http://pfam.sanger.ac.uk/ Pfam 24.0]&lt;br /&gt;
* PERL -- May attempt to standardize default version across servers.&lt;br /&gt;
** [http://www.bioperl.org/wiki/Main_Page BioPERL]&lt;br /&gt;
* Python -- May attempt to standardize default version across servers.&lt;br /&gt;
** [http://biopython.org/wiki/Main_Page BioPython]&lt;br /&gt;
*** [http://numpy.scipy.org/ NumPy]&lt;br /&gt;
*** [http://www.reportlab.com/software/opensource/ ReportLab]&lt;br /&gt;
Please feel free to contact Ted Gibbons at tgibbons@umd.edu to make suggestions or express concerns about tampering with the communal software installations and the corresponding paths in the communal CBCB bashrc file.&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Communal_Software&amp;diff=7245</id>
		<title>Communal Software</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Communal_Software&amp;diff=7245"/>
		<updated>2010-06-04T18:56:43Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: Created page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
Communal CBCB software is installed in&lt;br /&gt;
 /fs/sz-user-supported/&lt;br /&gt;
There are two primary subdirectories which differ by architecture. For the most part, 32bit software is installed in&lt;br /&gt;
 /fs/sz-user-supported/Linux-i686/&lt;br /&gt;
while 64bit software is installed in&lt;br /&gt;
 /fs/sz-user-supported/Linux-x86_64/&lt;br /&gt;
The appropriate subdirectory is typically dynamically chosen by embedding&lt;br /&gt;
 /fs/sz-user-supported/`uname`-`uname -m`&lt;br /&gt;
in a user&#039;s path variables in their bashrc file.&lt;br /&gt;
&lt;br /&gt;
Installing software to these directories and updating a user&#039;s path can be tricky. For this reason, many users choose to maintain specialty software in personal directories.&lt;br /&gt;
&lt;br /&gt;
== Carl&#039;s World ==&lt;br /&gt;
In an attempt to solve many software installation related headaches for his lab members, Carl Kingsford has created an alternate environment called &amp;quot;Carl&#039;s World&amp;quot; which contains many programs and modules frequently used by his lab members. Little else is known about Carl&#039;s World, but rumor has it that if you ask nicely, he will let you in. It is important to note that Carl&#039;s World is designed and maintained specifically for use by Carl&#039;s lab members, and there are therefore many common and useful software packages not included in Carl&#039;s World. It may therefore be necessary to modify YOUR OWN bashrc file once you have joined, but be warned that attempting to modify Carl&#039;s World itself is a sure way to lose your membership.&lt;br /&gt;
&lt;br /&gt;
== Planned Maintenance (Summer 2010) ==&lt;br /&gt;
The Pop lab is currently planning to update much of the communal software installed in sz-user-supported over the Summer of 2010. So far this list includes:&lt;br /&gt;
* [http://sourceforge.net/apps/mediawiki/amos/index.php?title=AMOS AMOS] -- Already installed&lt;br /&gt;
* [http://www.ncbi.nlm.nih.gov/staff/tao/URLAPI/blastall/index.html blastall 2.2.23] -- May not be worth upgrading from 2.2.18. Will look at release notes.&lt;br /&gt;
* [http://hmmer.janelia.org/ HMMer3] -- Installed.&lt;br /&gt;
** [http://pfam.sanger.ac.uk/ Pfam 24.0]&lt;br /&gt;
* PERL -- May attempt to standardize default version across servers.&lt;br /&gt;
** [http://www.bioperl.org/wiki/Main_Page BioPERL]&lt;br /&gt;
* Python -- May attempt to standardize default version across servers.&lt;br /&gt;
** [http://biopython.org/wiki/Main_Page BioPython]&lt;br /&gt;
*** [http://numpy.scipy.org/ NumPy]&lt;br /&gt;
*** [http://www.reportlab.com/software/opensource/ ReportLab]&lt;br /&gt;
Please feel free to contact Ted Gibbons at tgibbons@umd.edu to make suggestions or express concerns about tampering with the communal software installations and the corresponding paths in the communal CBCB bashrc file.&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Main_Page&amp;diff=7244</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Main_Page&amp;diff=7244"/>
		<updated>2010-06-04T18:10:40Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Getting started */ Created and linked to communal software page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Seminars ==&lt;br /&gt;
* [http://www.cbcb.umd.edu/seminars Regular CBCB seminars (during academic year)] &amp;lt;br&amp;gt;&lt;br /&gt;
* [[Cbcb:Works-In-Progress]] - Works in progress seminar schedule (Summer 2008) &amp;lt;br&amp;gt;&lt;br /&gt;
* [[short_read_sequencing|Short read sequencing Meeting]] (Fridays at 3pm)&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Project:Pop-Lab|Pop-Lab]]&lt;br /&gt;
* [[Project:Kingsford-Group|Kingsford Group]]&lt;br /&gt;
* [[Project:Cloud-Computing|Cloud Computing]]&lt;br /&gt;
* [[Project:SummerInternships|Summer Internship Projects]]&lt;br /&gt;
&lt;br /&gt;
== People ==&lt;br /&gt;
 &lt;br /&gt;
* [[User:ayres|Daniel Ayres]]&lt;br /&gt;
* [[User:pknut777|Adam Bazinet]] &lt;br /&gt;
* [[User:amp|Adam M Phillipy]] &lt;br /&gt;
* [[User:adelcher|Arthur L. Delcher]] &lt;br /&gt;
* [[User:carlk|Carl Kinsford]]  &lt;br /&gt;
* [[User:dpuiu|Daniela Puiu]] &lt;br /&gt;
* [[User:dsommer|Dan Sommer]] &lt;br /&gt;
* [[User:gpertea|Geo Pertea]] &lt;br /&gt;
* [[User:jeallen|Jonathan Edward All]] &lt;br /&gt;
* [[User:ayanbule|Kunmi Ayanbule]]&lt;br /&gt;
* [[User:mschatz|Michael Schatz]] &lt;br /&gt;
* [[User:mpertea|Mihaela Pertea]] &lt;br /&gt;
* [[User:mpop|Mihai Pop]] &lt;br /&gt;
* [[User:nelsayed|Najib El-Sayed]] &lt;br /&gt;
* [[User:nedwards|Nathan Edwards]]&lt;br /&gt;
* [[User:niranjan|Niranjan Nagarajan]] &lt;br /&gt;
* [[User:saket|Saket Navlakha]]&lt;br /&gt;
* [[User:angiuoli|Samuel V Angluoli]] &lt;br /&gt;
* [[User:salzberg|Steven Salzberg]]&lt;br /&gt;
* [[User:tgibbons | Ted Gibbons]]&lt;br /&gt;
* [[User:whitej|James Robert White]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
If you have just received a new umiacs account through CBCB, follow the instructions on this page to get the basic information you&#039;ll need to start working:&amp;lt;br&amp;gt;&lt;br /&gt;
*[[Getting Started in CBCB]]&lt;br /&gt;
*[https://wiki.umiacs.umd.edu/cbcb-private/index.php/Storage CBCB Storage]&lt;br /&gt;
*[https://wiki.umiacs.umd.edu/cbcb-private/index.php/Compute CBCB Computers]&lt;br /&gt;
*[[Communal Software]]&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:16S-pipeline_16S_analysis_pipeline_(for_Gates_project)&amp;diff=7239</id>
		<title>Cbcb:Pop-Lab:16S-pipeline 16S analysis pipeline (for Gates project)</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:16S-pipeline_16S_analysis_pipeline_(for_Gates_project)&amp;diff=7239"/>
		<updated>2010-05-26T21:52:05Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Directory structure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 16S analysis pipeline ==&lt;br /&gt;
&lt;br /&gt;
Assumptions:&amp;lt;br&amp;gt;&lt;br /&gt;
* 16S rRNA sequences are generated with barcoded 454 and are received as either: (i) .sff file; (ii) fasta and quality file; (iii) just fasta file&lt;br /&gt;
* each batch is a single 96-well plate and is accompanied by a tab-delimited file containing information about the sample, including the &amp;quot;Sample ID&amp;quot;, well on the plate, and additional information regarding the sample quality and DNA concentration&lt;br /&gt;
* we have a file that specifies the barcode and sequencing adapter used for each well (these entities do not change).&lt;br /&gt;
&lt;br /&gt;
=== Directory structure ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Gates_SOM/&lt;br /&gt;
  Main/&lt;br /&gt;
    samples.csv      - information about all the samples available to us&lt;br /&gt;
    454.csv          - information about all 454 runs (essentially concatenation of .csvs from 454 dir)&lt;br /&gt;
    phylochip.csv    - information about all Phylochip runs&lt;br /&gt;
    IGS_Barcodes.csv - information about barcodes used to multiplex 454 runs&lt;br /&gt;
    scripts/         - scripts used to process the data&lt;br /&gt;
  454/               - here&#039;s where all 454 sequences live&lt;br /&gt;
    [batch1]/        - ... each batch in a separate directory&lt;br /&gt;
    [batch1].csv     - meta-information about the batch &lt;br /&gt;
    [fasta1]         - fasta files containing the batch&lt;br /&gt;
     ... &lt;br /&gt;
    [fastan]&lt;br /&gt;
    [batch1].part    - partition file describing how the sequences get split by barcode/sample&lt;br /&gt;
     part/           - directory where all the partitioned files live &lt;br /&gt;
     ... &lt;br /&gt;
    [batchn]&lt;br /&gt;
  Phylochip/         - all the CEL files and auxiliary information on the Phylochip runs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 0: Get the sequence information ===&lt;br /&gt;
* From .SFF files (assuming these are 454 sequences)&lt;br /&gt;
&lt;br /&gt;
This step uses the sff_extract program from the Staden package (if I&#039;m not mistaken)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in *.sff ;do&lt;br /&gt;
  name=`expr $i : &#039;\(.*\)\.sff&#039;`&lt;br /&gt;
  sff_extract -c -s $name.seq -q $name.qual $i&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Cleanup meta-information ===&lt;br /&gt;
* Convert the Excel sheet containing the batch information into tab-delimited file (and run dos2unix) making sure the quotes added by Excel/OOffice are removed, adding the date (if not already in the file), and sorting the file by Sample ID.  At this stage also check that the header row information is in canonical format.&lt;br /&gt;
* Add barcode information using add_barcode.pl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;${SCRIPTDIR}/add_barcode.pl [batch].csv ${MAINDIR}IGS_Barcodes.csv &amp;gt; [batch]_barcode.csv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Create partition file ===&lt;br /&gt;
&lt;br /&gt;
First concatenate all the sequence files (if multiple) from a batch into a single file [batch].all.seq.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;${SCRIPTDIR}/code2part.pl [batch].csv [batch].all.seq [batch] &amp;gt; [batch].part&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The files [batch].BAD.list and [batch].NONE.list contain the names of all sequences that have failed quality checks either because they are too short, or contain Ns (BAD), or because the barcode is not recognized (NONE). The files contain additional information that can be used to troubleshoot the pipeline:  sequences that are too short (&amp;lt; 75 454 cycles) are followed by the number of cycles, sequences that either contain Ns or have an unknown barcode are followed by the first 8 characters in the sequence.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Break up the fasta file into separate batches by partition ===&lt;br /&gt;
&lt;br /&gt;
* Create partition directory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir part&lt;br /&gt;
cd part&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Partition main file into sub-parts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
${SCRIPTS}/partitionFasta.pl ../[batch].all.seq ../[batch].part&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The result is one fasta file per sub-partition (i.e. individual subject).&lt;br /&gt;
&lt;br /&gt;
* Remove barcodes &lt;br /&gt;
(still in the part/ subdirectory)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in *.seq; do&lt;br /&gt;
  ${SCRIPTS}/unbarcode.pl $i&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output files will have the same name as the original file but with the addition of the .nbc suffix.  You should remove the .nbc files from the BAD/NONE files in order to prevent their addition to the pipeline downstream.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; rm *.BAD.nbc.fa *.NONE.nbc.fa &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Add file names to sample tables ===&lt;br /&gt;
&lt;br /&gt;
The following needs to be run from the root of the 454 directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; ${SCRIPTS}/add_file.pl [batch]/[batch]_barcode.csv [batch]/part &amp;gt; [batch]/[batch]_names.csv &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a result, the file [batch]/[batch]_names.csv will associate each Sample ID to a file name and also record the number of sequences in that file.  Note that only files ending in .nbc.fa are procesed.&lt;br /&gt;
&lt;br /&gt;
=== Step 5: Merge all the batch meta-info files into a same file at the top ===&lt;br /&gt;
&lt;br /&gt;
Note: the addition of file names must be done on a batch by batch basis as multiple files might refer to a same Sample ID - within each batch it can be assumed that the Sample ID -&amp;gt; Filename mapping is unique.  In the 454.csv file in the top directory the unique key is the file name.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
mv ../454.csv ../454.csv.bak&lt;br /&gt;
${SCRIPTS}/merge_csv.pl ../454.csv.bak [batch]/[batch]_names.csv &amp;quot;Sample ID&amp;quot; non-unique &amp;gt; ../454.csv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should probably be run with the filename as the key but then the tables need to be sorted  by filename.  Ultimately, this will all work better once the data are in a relational database.&lt;br /&gt;
&lt;br /&gt;
=== Step 6: Update sample file ===&lt;br /&gt;
From the top directory:&lt;br /&gt;
&lt;br /&gt;
* First add all new samples to the samples.csv file&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
mv samples.csv samples.csv.bak&lt;br /&gt;
${SCRIPTS}/merge_csv.pl samples.csv.bak 454.csv &amp;quot;Sample ID&amp;quot; unique merge &amp;gt; samples.csv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: merge means that if record keys conflict, the empty fields will be updated with the new data.&lt;br /&gt;
&lt;br /&gt;
* Update the tag indicating 454 sequences available for this sample&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mv samples.csv samples.csv.bak&lt;br /&gt;
${SCRIPTS}/update_field_csv.pl samples.csv.bak 454.csv &amp;quot;Sample ID&amp;quot; 454 Y &amp;gt; samples.csv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 7: Assign numbers to all filenames ===&lt;br /&gt;
&lt;br /&gt;
Each file in the 454.csv file will be assigned an integer (if one is not already available).  This number will be used to prefix the sequences in the combined file for the project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mv 454.csv 454.csv.bak&lt;br /&gt;
${SCRIPTS}/add_filenum.pl 454.csv.bak &amp;gt; 454.csv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 8: Combine all fasta files into a single one ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: this assumes we&#039;re running the pipeline for the first time - a different protocol is necessary for adding new sequences to an already existing analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the new file all sequences will be named &amp;lt;n&amp;gt;_&amp;lt;nn&amp;gt; where &amp;lt;n&amp;gt; is the value in the &amp;quot;File #&amp;quot;&lt;br /&gt;
field in 454.csv and &amp;lt;nn&amp;gt; is the index of the sequence in the file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir Analysis/Run[date]&lt;br /&gt;
${SCRIPTS}/combinefa.pl -c Analysis/Run[date]/Run[date] -i 454.csv 454&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output will be in Analysis/Run[date]/Run[date].fna&lt;br /&gt;
&lt;br /&gt;
=== Step 9: Run clustering tool ===&lt;br /&gt;
&lt;br /&gt;
* First generate clusters&lt;br /&gt;
&#039;&#039;&#039;Note: This part assumes we&#039;re running the whole set of sequences as one batch.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd Analysis/Run[date]/Run[date].fna&lt;br /&gt;
/fs/szasmg2/ghodsi/Src/clusterk/clusterk7 -r 2 -i Run[date].fna &amp;gt; Run[date].fna.cluster&lt;br /&gt;
/fs/szasmg2/ghodsi/Src/clusterk/clusterk7 -r 2 -m -i Run[date].fna &amp;gt; Run[date].fna.align&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output will be in Run[date].fna.cluster, one cluster per line, cluster center listed as the first identifier.&lt;br /&gt;
&lt;br /&gt;
The .align file contains aligned FASTA records for all the sequences in each cluster.  Clusters are separated by #&amp;lt;number&amp;gt; where &amp;lt;number&amp;gt; is the number of sequences in the cluster.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Then extract the cluster centers&lt;br /&gt;
&#039;&#039;&#039;From here on the code runs the same in both full-run and batch modes&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/fs/szasmg2/ghodsi/Src/clusterk/fastaselect Run[date].fna &amp;lt; Run[date].fna.cluster &amp;gt; Run[date].centers.fna&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 10: Assign putative taxonomic labels to clusters ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/fs/szasmg2/ghodsi/rdp/findtax/findtaxid.sh Run[date].centers.fna &amp;gt; Run[date].centers.taxid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output is tab-delimited: sequence name &amp;lt;TAB&amp;gt; taxid&lt;br /&gt;
Note: using &amp;quot;findtax&amp;quot; instead of &amp;quot;findtaxid&amp;quot; will retrieve actual taxonomy names.&lt;br /&gt;
&lt;br /&gt;
=== Step 11: Build summary tables ===&lt;br /&gt;
&lt;br /&gt;
Using the output from steps 9 and 10 we construct a collection of tables linking OTUs, taxIDs, taxnames at various taxonomic levels to individual samples.  The colums are the samples and the rows are the respective units.  The cells are numbers of sequences assigned to the specific group. If looking at taxonomic levels, the sequences without an assignment at that level are assigned to a generic &amp;quot;No Assignment&amp;quot; bin.&lt;br /&gt;
&lt;br /&gt;
* First create a partition file that contains all the clusters and associated taxids (if they exist)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
${SCRIPTS}/cluster2part.pl [batch].fna.cluster [batch] [batch].centers.taxid &amp;gt; [batch].part&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using this partition, construct summary tables at various taxonomic levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
${SCRIPTS}/taxpart2summary.pl [batch].part ${MAIN}/454.csv [batch]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following outputs will be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[batch].stats.txt - overall statistics for the data-set&lt;br /&gt;
[batch].otus.count.csv - table containing OTUs as rows, samples as columns, and entries represent&lt;br /&gt;
       # of sequences in each OTU/Sample pair&lt;br /&gt;
[batch].otus.percent.csv - same as &amp;quot;count&amp;quot; except that entries are percentages wrt total sequences&lt;br /&gt;
       in each sample&lt;br /&gt;
[batch].[tax].[otu|count|percent] - same as the &amp;quot;otus&amp;quot; file except at varying taxonomic levels.&lt;br /&gt;
       [tax] is one of &amp;quot;strain&amp;quot;, &amp;quot;species&amp;quot;, &amp;quot;genus&amp;quot;, &amp;quot;family&amp;quot;, &amp;quot;order&amp;quot;, &amp;quot;class&amp;quot;, &amp;quot;phylum&amp;quot;&lt;br /&gt;
       the &amp;quot;count&amp;quot; and &amp;quot;percent&amp;quot; entries are the same as for the &amp;quot;otus&amp;quot; files&lt;br /&gt;
       the &amp;quot;otu&amp;quot; entries contain number of OTUs assigned to the taxonomic group/Sample pair.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:16S-pipeline_16S_analysis_pipeline_(for_Gates_project)&amp;diff=7238</id>
		<title>Cbcb:Pop-Lab:16S-pipeline 16S analysis pipeline (for Gates project)</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:16S-pipeline_16S_analysis_pipeline_(for_Gates_project)&amp;diff=7238"/>
		<updated>2010-05-26T21:30:23Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Directory structure */ Fixed some indeces, but the file structure appears to already be slightly out of date.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 16S analysis pipeline ==&lt;br /&gt;
&lt;br /&gt;
Assumptions:&amp;lt;br&amp;gt;&lt;br /&gt;
* 16S rRNA sequences are generated with barcoded 454 and are received as either: (i) .sff file; (ii) fasta and quality file; (iii) just fasta file&lt;br /&gt;
* each batch is a single 96-well plate and is accompanied by a tab-delimited file containing information about the sample, including the &amp;quot;Sample ID&amp;quot;, well on the plate, and additional information regarding the sample quality and DNA concentration&lt;br /&gt;
* we have a file that specifies the barcode and sequencing adapter used for each well (these entities do not change).&lt;br /&gt;
&lt;br /&gt;
=== Directory structure ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Gates_SOM/&lt;br /&gt;
  Main/&lt;br /&gt;
    samples.csv  - information about all the samples available to us&lt;br /&gt;
    454.csv      - information about all 454 runs (essentially concatenation of .csvs from 454 dir)&lt;br /&gt;
    phylochip.csv - information about all Phylochip runs&lt;br /&gt;
    IGS_Barcodes.csv - information about barcodes used to multiplex 454 runs&lt;br /&gt;
    scripts/     - scripts used to process the data&lt;br /&gt;
  454/         - here&#039;s where all 454 sequences live&lt;br /&gt;
    [batch1]/  - ... each batch in a separate directory&lt;br /&gt;
    [batch1].csv - meta-information about the batch &lt;br /&gt;
    [fasta1]- fasta files containing the batch&lt;br /&gt;
     ... &lt;br /&gt;
    [fastan]&lt;br /&gt;
    [batch1].part - partition file describing how the sequences get split by barcode/sample&lt;br /&gt;
     part/   - directory where all the partitioned files live &lt;br /&gt;
     ... &lt;br /&gt;
    [batchn]&lt;br /&gt;
  Phylochip/   - all the CEL files and auxiliary information on the Phylochip runs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 0: Get the sequence information ===&lt;br /&gt;
* From .SFF files (assuming these are 454 sequences)&lt;br /&gt;
&lt;br /&gt;
This step uses the sff_extract program from the Staden package (if I&#039;m not mistaken)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in *.sff ;do&lt;br /&gt;
  name=`expr $i : &#039;\(.*\)\.sff&#039;`&lt;br /&gt;
  sff_extract -c -s $name.seq -q $name.qual $i&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 1: Cleanup meta-information ===&lt;br /&gt;
* Convert the Excel sheet containing the batch information into tab-delimited file (and run dos2unix) making sure the quotes added by Excel/OOffice are removed, adding the date (if not already in the file), and sorting the file by Sample ID.  At this stage also check that the header row information is in canonical format.&lt;br /&gt;
* Add barcode information using add_barcode.pl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;${SCRIPTDIR}/add_barcode.pl [batch].csv ${MAINDIR}IGS_Barcodes.csv &amp;gt; [batch]_barcode.csv&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 2: Create partition file ===&lt;br /&gt;
&lt;br /&gt;
First concatenate all the sequence files (if multiple) from a batch into a single file [batch].all.seq.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;${SCRIPTDIR}/code2part.pl [batch].csv [batch].all.seq [batch] &amp;gt; [batch].part&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The files [batch].BAD.list and [batch].NONE.list contain the names of all sequences that have failed quality checks either because they are too short, or contain Ns (BAD), or because the barcode is not recognized (NONE). The files contain additional information that can be used to troubleshoot the pipeline:  sequences that are too short (&amp;lt; 75 454 cycles) are followed by the number of cycles, sequences that either contain Ns or have an unknown barcode are followed by the first 8 characters in the sequence.&lt;br /&gt;
&lt;br /&gt;
=== Step 3: Break up the fasta file into separate batches by partition ===&lt;br /&gt;
&lt;br /&gt;
* Create partition directory&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir part&lt;br /&gt;
cd part&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Partition main file into sub-parts&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
${SCRIPTS}/partitionFasta.pl ../[batch].all.seq ../[batch].part&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The result is one fasta file per sub-partition (i.e. individual subject).&lt;br /&gt;
&lt;br /&gt;
* Remove barcodes &lt;br /&gt;
(still in the part/ subdirectory)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in *.seq; do&lt;br /&gt;
  ${SCRIPTS}/unbarcode.pl $i&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output files will have the same name as the original file but with the addition of the .nbc suffix.  You should remove the .nbc files from the BAD/NONE files in order to prevent their addition to the pipeline downstream.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; rm *.BAD.nbc.fa *.NONE.nbc.fa &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 4: Add file names to sample tables ===&lt;br /&gt;
&lt;br /&gt;
The following needs to be run from the root of the 454 directory.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; ${SCRIPTS}/add_file.pl [batch]/[batch]_barcode.csv [batch]/part &amp;gt; [batch]/[batch]_names.csv &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As a result, the file [batch]/[batch]_names.csv will associate each Sample ID to a file name and also record the number of sequences in that file.  Note that only files ending in .nbc.fa are procesed.&lt;br /&gt;
&lt;br /&gt;
=== Step 5: Merge all the batch meta-info files into a same file at the top ===&lt;br /&gt;
&lt;br /&gt;
Note: the addition of file names must be done on a batch by batch basis as multiple files might refer to a same Sample ID - within each batch it can be assumed that the Sample ID -&amp;gt; Filename mapping is unique.  In the 454.csv file in the top directory the unique key is the file name.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
mv ../454.csv ../454.csv.bak&lt;br /&gt;
${SCRIPTS}/merge_csv.pl ../454.csv.bak [batch]/[batch]_names.csv &amp;quot;Sample ID&amp;quot; non-unique &amp;gt; ../454.csv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This should probably be run with the filename as the key but then the tables need to be sorted  by filename.  Ultimately, this will all work better once the data are in a relational database.&lt;br /&gt;
&lt;br /&gt;
=== Step 6: Update sample file ===&lt;br /&gt;
From the top directory:&lt;br /&gt;
&lt;br /&gt;
* First add all new samples to the samples.csv file&lt;br /&gt;
&amp;lt;pre&amp;gt; &lt;br /&gt;
mv samples.csv samples.csv.bak&lt;br /&gt;
${SCRIPTS}/merge_csv.pl samples.csv.bak 454.csv &amp;quot;Sample ID&amp;quot; unique merge &amp;gt; samples.csv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: merge means that if record keys conflict, the empty fields will be updated with the new data.&lt;br /&gt;
&lt;br /&gt;
* Update the tag indicating 454 sequences available for this sample&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mv samples.csv samples.csv.bak&lt;br /&gt;
${SCRIPTS}/update_field_csv.pl samples.csv.bak 454.csv &amp;quot;Sample ID&amp;quot; 454 Y &amp;gt; samples.csv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 7: Assign numbers to all filenames ===&lt;br /&gt;
&lt;br /&gt;
Each file in the 454.csv file will be assigned an integer (if one is not already available).  This number will be used to prefix the sequences in the combined file for the project.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mv 454.csv 454.csv.bak&lt;br /&gt;
${SCRIPTS}/add_filenum.pl 454.csv.bak &amp;gt; 454.csv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 8: Combine all fasta files into a single one ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note: this assumes we&#039;re running the pipeline for the first time - a different protocol is necessary for adding new sequences to an already existing analysis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the new file all sequences will be named &amp;lt;n&amp;gt;_&amp;lt;nn&amp;gt; where &amp;lt;n&amp;gt; is the value in the &amp;quot;File #&amp;quot;&lt;br /&gt;
field in 454.csv and &amp;lt;nn&amp;gt; is the index of the sequence in the file.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir Analysis/Run[date]&lt;br /&gt;
${SCRIPTS}/combinefa.pl -c Analysis/Run[date]/Run[date] -i 454.csv 454&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output will be in Analysis/Run[date]/Run[date].fna&lt;br /&gt;
&lt;br /&gt;
=== Step 9: Run clustering tool ===&lt;br /&gt;
&lt;br /&gt;
* First generate clusters&lt;br /&gt;
&#039;&#039;&#039;Note: This part assumes we&#039;re running the whole set of sequences as one batch.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd Analysis/Run[date]/Run[date].fna&lt;br /&gt;
/fs/szasmg2/ghodsi/Src/clusterk/clusterk7 -r 2 -i Run[date].fna &amp;gt; Run[date].fna.cluster&lt;br /&gt;
/fs/szasmg2/ghodsi/Src/clusterk/clusterk7 -r 2 -m -i Run[date].fna &amp;gt; Run[date].fna.align&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output will be in Run[date].fna.cluster, one cluster per line, cluster center listed as the first identifier.&lt;br /&gt;
&lt;br /&gt;
The .align file contains aligned FASTA records for all the sequences in each cluster.  Clusters are separated by #&amp;lt;number&amp;gt; where &amp;lt;number&amp;gt; is the number of sequences in the cluster.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Then extract the cluster centers&lt;br /&gt;
&#039;&#039;&#039;From here on the code runs the same in both full-run and batch modes&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/fs/szasmg2/ghodsi/Src/clusterk/fastaselect Run[date].fna &amp;lt; Run[date].fna.cluster &amp;gt; Run[date].centers.fna&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Step 10: Assign putative taxonomic labels to clusters ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/fs/szasmg2/ghodsi/rdp/findtax/findtaxid.sh Run[date].centers.fna &amp;gt; Run[date].centers.taxid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output is tab-delimited: sequence name &amp;lt;TAB&amp;gt; taxid&lt;br /&gt;
Note: using &amp;quot;findtax&amp;quot; instead of &amp;quot;findtaxid&amp;quot; will retrieve actual taxonomy names.&lt;br /&gt;
&lt;br /&gt;
=== Step 11: Build summary tables ===&lt;br /&gt;
&lt;br /&gt;
Using the output from steps 9 and 10 we construct a collection of tables linking OTUs, taxIDs, taxnames at various taxonomic levels to individual samples.  The colums are the samples and the rows are the respective units.  The cells are numbers of sequences assigned to the specific group. If looking at taxonomic levels, the sequences without an assignment at that level are assigned to a generic &amp;quot;No Assignment&amp;quot; bin.&lt;br /&gt;
&lt;br /&gt;
* First create a partition file that contains all the clusters and associated taxids (if they exist)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
${SCRIPTS}/cluster2part.pl [batch].fna.cluster [batch] [batch].centers.taxid &amp;gt; [batch].part&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Using this partition, construct summary tables at various taxonomic levels&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
${SCRIPTS}/taxpart2summary.pl [batch].part ${MAIN}/454.csv [batch]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following outputs will be created:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[batch].stats.txt - overall statistics for the data-set&lt;br /&gt;
[batch].otus.count.csv - table containing OTUs as rows, samples as columns, and entries represent&lt;br /&gt;
       # of sequences in each OTU/Sample pair&lt;br /&gt;
[batch].otus.percent.csv - same as &amp;quot;count&amp;quot; except that entries are percentages wrt total sequences&lt;br /&gt;
       in each sample&lt;br /&gt;
[batch].[tax].[otu|count|percent] - same as the &amp;quot;otus&amp;quot; file except at varying taxonomic levels.&lt;br /&gt;
       [tax] is one of &amp;quot;strain&amp;quot;, &amp;quot;species&amp;quot;, &amp;quot;genus&amp;quot;, &amp;quot;family&amp;quot;, &amp;quot;order&amp;quot;, &amp;quot;class&amp;quot;, &amp;quot;phylum&amp;quot;&lt;br /&gt;
       the &amp;quot;count&amp;quot; and &amp;quot;percent&amp;quot; entries are the same as for the &amp;quot;otus&amp;quot; files&lt;br /&gt;
       the &amp;quot;otu&amp;quot; entries contain number of OTUs assigned to the taxonomic group/Sample pair.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Main_Page&amp;diff=6975</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Main_Page&amp;diff=6975"/>
		<updated>2010-04-05T15:32:14Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Getting started */ Added links to the recently created resources pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Seminars ==&lt;br /&gt;
* [http://www.cbcb.umd.edu/seminars Regular CBCB seminars (during academic year)] &amp;lt;br&amp;gt;&lt;br /&gt;
* [[Cbcb:Works-In-Progress]] - Works in progress seminar schedule (Summer 2008) &amp;lt;br&amp;gt;&lt;br /&gt;
* [[short_read_sequencing|Short read sequencing Meeting]] (Fridays at 3pm)&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
&lt;br /&gt;
* [[Project:Pop-Lab|Pop-Lab]]&lt;br /&gt;
* [[Project:Kingsford-Group|Kingsford Group]]&lt;br /&gt;
* [[Project:Cloud-Computing|Cloud Computing]]&lt;br /&gt;
* [[Project:SummerInternships|Summer Internship Projects]]&lt;br /&gt;
&lt;br /&gt;
== People ==&lt;br /&gt;
 &lt;br /&gt;
* [[User:ayres|Daniel Ayres]]&lt;br /&gt;
* [[User:pknut777|Adam Bazinet]] &lt;br /&gt;
* [[User:amp|Adam M Phillipy]] &lt;br /&gt;
* [[User:adelcher|Arthur L. Delcher]] &lt;br /&gt;
* [[User:carlk|Carl Kinsford]]  &lt;br /&gt;
* [[User:dpuiu|Daniela Puiu]] &lt;br /&gt;
* [[User:dsommer|Dan Sommer]] &lt;br /&gt;
* [[User:gpertea|Geo Pertea]] &lt;br /&gt;
* [[User:jeallen|Jonathan Edward All]] &lt;br /&gt;
* [[User:ayanbule|Kunmi Ayanbule]]&lt;br /&gt;
* [[User:mschatz|Michael Schatz]] &lt;br /&gt;
* [[User:mpertea|Mihaela Pertea]] &lt;br /&gt;
* [[User:mpop|Mihai Pop]] &lt;br /&gt;
* [[User:nelsayed|Najib El-Sayed]] &lt;br /&gt;
* [[User:nedwards|Nathan Edwards]]&lt;br /&gt;
* [[User:niranjan|Niranjan Nagarajan]] &lt;br /&gt;
* [[User:saket|Saket Navlakha]]&lt;br /&gt;
* [[User:angiuoli|Samuel V Angluoli]] &lt;br /&gt;
* [[User:salzberg|Steven Salzberg]]&lt;br /&gt;
* [[User:tgibbons | Ted Gibbons]]&lt;br /&gt;
* [[User:whitej|James Robert White]]&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
If you have just received a new umiacs account through CBCB, follow the instructions on this page to get the basic information you&#039;ll need to start working:&amp;lt;br&amp;gt;&lt;br /&gt;
*[[Getting Started in CBCB]]&lt;br /&gt;
*[https://wiki.umiacs.umd.edu/cbcb-private/index.php/Storage CBCB Storage]&lt;br /&gt;
*[https://wiki.umiacs.umd.edu/cbcb-private/index.php/Compute CBCB Computers]&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6950</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6950"/>
		<updated>2010-03-29T02:37:01Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* April 2, 2010 */ Added entry for week ending April 2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;br /&gt;
&lt;br /&gt;
== April 2, 2010 ==&lt;br /&gt;
More on my Thesis Project:&lt;br /&gt;
* I read the most recent (Science, Nov. 2009) paper by Gordon and Knight on their ongoing gut microbiota experiments&lt;br /&gt;
* Pretty much every section addressed the potential thesis topics I&#039;d imagined while reading the preceding section. Frustrating, but reaffirming (trying to learn from Mihai on not getting bummed about being scooped).&lt;br /&gt;
* Something that seems interesting and useful to me is the do more rigorous statistical analysis to attempt to correlate particular genes and pathways with the time series and spacial data. I will have to work closely with Bo at least at first.&lt;br /&gt;
* As a starting point, James has recommended building spacial models similar to his time series models&lt;br /&gt;
* James is essentially mentoring me on my project at this point. It&#039;s pretty excellent.&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6949</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6949"/>
		<updated>2010-03-29T02:30:23Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* March 26, 2010 */ Finished my thoughts for the week&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;br /&gt;
* I&#039;m going to go forward, with Bo&#039;s help, using the plan outlined in my project proposal for Mihai&#039;s biosequence analysis class:&lt;br /&gt;
** Use reciprocal best blast hits to map H37Rv genes to annotated genes in all available virulent and non-virulent strains of mycobacteria&lt;br /&gt;
** Use results from gene mapping to identify a core set of tuberculosis genes, as well as a set of predicted virulence genes&lt;br /&gt;
** Use a variety of comparison schemes to study the effect on the set of predicted virulence genes of the consideration of different subsets of non-virulent strains&lt;br /&gt;
** Use stable virulence prediction to rank genes as virulence targets&lt;br /&gt;
&lt;br /&gt;
Metastats:&lt;br /&gt;
* As I mentioned, this is put on hold&lt;br /&gt;
* I intend to pick this back up after I&#039;m done with Volker&#039;s project, as it could be instrumental to my thesis work&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6945</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6945"/>
		<updated>2010-03-26T20:25:07Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* February 19, 2010 */ created an entry for March 26&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;br /&gt;
&lt;br /&gt;
== March 26, 2010 ==&lt;br /&gt;
I didn&#039;t realize it had been a whole month since I updated. Let&#039;s see, I nearly dropped Dr. Song&#039;s statistical genomics course, but then I didn&#039;t. I &amp;lt;i&amp;gt;did&amp;lt;/i&amp;gt; however learn that we don&#039;t have a class project. So the Metastats upgrades are going on a backburner for now because ZOMGZ I HAVE TO PRESENT MY PROPOSAL BY THE END OF THIS YEAR!!!&lt;br /&gt;
&lt;br /&gt;
My Thesis Project:&lt;br /&gt;
* I&#039;m generally interested in pathways shared between micro-organisms in a community, and also between micro-organisms and their multicellular hosts.&lt;br /&gt;
** I&#039;m particularly interested in studying the metabolic pathways shared between micro-organisms in the human gut, both with each other and their human hosts.&lt;br /&gt;
* James has created time-series models, and is interested in tackling spacial models with me.&lt;br /&gt;
* I would really like to correlate certain metabolic pathways with his modeled relationships.&lt;br /&gt;
&lt;br /&gt;
Volker&#039;s Project:&lt;br /&gt;
* has taken a big hit this week.&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6745</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6745"/>
		<updated>2010-02-19T19:52:42Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* February 19, 2010 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;br /&gt;
&lt;br /&gt;
I spent too much time talking with people about science and not enough time doing it this week...&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6739</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6739"/>
		<updated>2010-02-19T17:46:34Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* February 5, 2010 */ Created entries for the next two weeks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;br /&gt;
&lt;br /&gt;
== February 12, 2010 ==&lt;br /&gt;
&#039;&#039;&#039;SNOW!!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== February 19, 2010 ==&lt;br /&gt;
Met with James to discuss Metastats. I&#039;m going to attempt the following two updates by the end of the semester (I probably incorrectly described them, but I&#039;ll work it out later):&lt;br /&gt;
# Find a better way to compute the false discovery rate (FDR)&lt;br /&gt;
#* Currently computed by using the lowest 100 p-values from each sample (look at source code)&lt;br /&gt;
#* Need to find a more algebraically rigorous way to compute it&lt;br /&gt;
#* False positive rate for 1000 samples is the p-value (p=0.05 =&amp;gt; 50 H_a&#039;s will be incorrectly predicted; so if the null hypothesis is thrown out for 100 samples, 50 will be expected to be incorrect)&lt;br /&gt;
#* James just thinks this sucks and needs to be fixed&lt;br /&gt;
# Compute F-tests for features across all samples&lt;br /&gt;
#* Most requested feature&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6590</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6590"/>
		<updated>2010-02-03T02:09:23Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* Biomarker Assembly */ Finished entry&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* Align 75mers to determine the lowest score between any two 75mers in the consensus sequence for each biomarker and the corresponding 75mer in any actual protein sequence in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** While this solves the problem with the above approach, it is significantly more complicated and the data is going to be here soon.&lt;br /&gt;
* Choose a sequence identity level, or try a few different levels and see which produces the most complete biomarker proteins without creating overly complex graphs.&lt;br /&gt;
** While there&#039;s no good theoretical justification for this approach, it&#039;s probably what we&#039;ll do and it will probably work well enough.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
After making absurdly complicated descriptions of the various approaches which I felt weren&#039;t very clear, I used keynote to recreate the diagrams we&#039;d drawn on the white board and then printed them to a PDF. Unfortunately I&#039;m not sure exactly how to embed that in the wiki. So email me at trgibbons@gmail.com if you&#039;re reading this and I&#039;ll send it to you.&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
#* Bin reads that align to any sequence in a given marker set, and/or the consensus sequence for that marker&lt;br /&gt;
# Cluster-wise assembly&lt;br /&gt;
#* Cluster protein sequences&lt;br /&gt;
#* Bin reads that align to any protein sequence in a given cluster&lt;br /&gt;
# Gene-wise assembly&lt;br /&gt;
#* Bin reads that align to a particular protein sequence&lt;br /&gt;
* Marker-wise and cluster-wise binning should be better for assembling novel sequences&lt;br /&gt;
* Gene-wise binning should produce higher quality assemblies of markers for known organisms or those that are closely related&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
	<entry>
		<id>https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6588</id>
		<title>Cbcb:Pop-Lab:Ted-Report</title>
		<link rel="alternate" type="text/html" href="https://wiki.umiacs.umd.edu/cbcb/index.php?title=Cbcb:Pop-Lab:Ted-Report&amp;diff=6588"/>
		<updated>2010-02-02T23:37:01Z</updated>

		<summary type="html">&lt;p&gt;Tgibbons: /* February 5, 2010 */ Part two. Still have more to write.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Older Entries ==&lt;br /&gt;
[[Cbcb:Pop-Lab:Ted-Report-2009 | 2009]]&lt;br /&gt;
&lt;br /&gt;
== January 15, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Minimus Documentation ===&lt;br /&gt;
&lt;br /&gt;
Presently, the only relevant Google hit for &amp;quot;minimus&amp;quot; on the first page of results is the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus#Basic_usage_example sourceforge wiki.] The only example on this page is incomplete and appears to be an early draft made during development.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ideally, it should be easy to find a complete guide with the general format:&lt;br /&gt;
* Simple use case:&lt;br /&gt;
 `toAmos -s path/to/fastaFile.seq -o path/to/fastaFile.afg`&lt;br /&gt;
 `minimus path/to/fastaFile(prefix)`&lt;br /&gt;
* Necessary tools for set up (toAmos)&lt;br /&gt;
* Other options&lt;br /&gt;
* etc&lt;br /&gt;
&lt;br /&gt;
The description found on the [http://sourceforge.net/apps/mediawiki/amos/index.php?title=Minimus/README Minimus/README] page (linked to from the middle of the starting page) is more appropriate, but features use cases that may no longer be common and references another required tool (toAmos) without linking to it or describing how to access it. A description of this tool can be found on Amos [http://sourceforge.net/apps/mediawiki/amos/index.php?title=File_conversion_utilities File Conversion Utilities] page (again, linked to from the starting page), but it is less organized than what I&#039;ve come to expect from a project page and it is easy to get lost or distracted by the rest of the Amos documentation while trying to peace together the necessary steps for a basic assembly.&lt;br /&gt;
&lt;br /&gt;
=== Comparative Network Analysis pt. 2 ===&lt;br /&gt;
* Meeting with Volker this Friday to discuss how best to apply network alignment to what he&#039;s doing&lt;br /&gt;
* I&#039;m simultaneously trying to find a way to apply my network alignment technique to predicting genes in metagenomic samples&lt;br /&gt;
** I&#039;ve been trying to find a way to get beyond the restriction that my current program requires genes to be annotated with an EC number. A potentially interesting next step may be to use BioPython to BLAST the sequence of each enzyme annotated in every micro-organism in KEGG against a metagenomic library.&lt;br /&gt;
*** The results would be stretches of linked reactions that have been annotated in KEGG pathways.&lt;br /&gt;
*** This method could be applied to contigs just as easily as finished sequences. In a scenario where perhaps there was low coverage, it could be used to identify genes which are probably there but just weren&#039;t sampled by showing the presence of the rest pathway. In short, this could finally accomplish what Mihai asked me to work on when I showed up.&lt;br /&gt;
*** The major theoretical shortcoming of this approach is that it could only identify relatively well characterized pathways.&lt;br /&gt;
*** The practical shortcoming of this approach will start by obtaining a fairly complete copy of KEGG (which as we&#039;ve learned is a mess to parse locally and unusably slow to call through the API), and will continue to the computational challenge of such a large scale BLAST operation.&lt;br /&gt;
** Ask Bo about this when he gets back. He may have already done this.&lt;br /&gt;
&lt;br /&gt;
== January 22, 2010 ==&lt;br /&gt;
* Met with Dan and Sergey to talk about the Minimus-Bambus pipeline&lt;br /&gt;
** Minimus is running fine. I&#039;ve begun characterizing its run-time behavior (see next week&#039;s entry)&lt;br /&gt;
** After some tweeking by Sergey, Bambus was able to finish but did not generate a scaffold. We&#039;re going to talk about this after the meeting on Monday.&lt;br /&gt;
** Sergey had an interesting idea for making a better read simulator:&lt;br /&gt;
*** Error-free reads are cheap and easy to generate. The problem is with the error model.&lt;br /&gt;
*** The &amp;quot;best&amp;quot; tool (that we are aware of) which includes error models is MetaSim, but the error models are years out of date and the authors has been historically unreachable. While Mihai has now shown me how to edit the models in a reasonable way from flat files allowing to characterize base substitutions, I&#039;m not convinced it would be faster or easier to write a program that would modify these files than it would be to just write an entirely new program; and given the amount of time I&#039;ve spent trying to use MetaSim, I&#039;m more than ready to walk away from it. Oh yeah, and MetaSim doesn&#039;t work from the command line, so no scripting.&lt;br /&gt;
*** Sergey has pointed out that most companies will assemble &#039;&#039;E. coli&#039;&#039; when they release a new sequencer. Conveniently, there are many high quality assemblies of &#039;&#039;E. coli&#039;&#039; available for reference. It might therefore be possible to generate new error models for these sequencers in an automated fashion by mapping the &#039;&#039;E. coli&#039;&#039; reads to the available reference genomes, collecting the error frequencies, and then using them to mask synthesized reads.&lt;br /&gt;
*** I also talked with Mohammad and Mihai about this, who seemed to also think it was a pretty good idea. Mihai has proposed having Sergey or Mohammad add the described error model-generator to his read sampler (written in C) when they have time, but not in preparation of the oral microbiome data.&lt;br /&gt;
&lt;br /&gt;
* Met with James to discuss my work with Volker&lt;br /&gt;
** Told him about my meeting with Volker and the paper he wanted me to prepare, more or less by myself. The concepts of the papers are these:&lt;br /&gt;
*** Most available genomic sequences of mycobacteria are of a very small subset of highly pathogenic organisms.&lt;br /&gt;
*** Subtractive comparative genomics can be used to identify genes that are potentially responsible for differing phenotypes (such as extreme pathogenicity), but there must be an available genomic sequences for closely related organisms with differing phenotypes.&lt;br /&gt;
*** Volker has sequenced 2 more non-pathogenic strains of mycobacteria (&#039;&#039;gastri&#039;&#039;, and &#039;&#039;kansasiiW58&#039;&#039;) with the intention of increasing the effectiveness of these subtractive comparative genomic studies.&lt;br /&gt;
*** The meat of the paper would be comparing the results of subtractive comparative genomic analysis using all currently available strains in RefSeq, with the results from also using the two novel sequences.&lt;br /&gt;
*** The other, smaller publishable portion of this project would be a comparison of &#039;&#039;gastri&#039;&#039; and &#039;&#039;kansasiiW58&#039;&#039; to each other because they are allegedly thought to be extremely closely related, and yet they have distinct phenotypes (which I&#039;ve now forgotten).&lt;br /&gt;
*** James seemed to think this could make an okay paper, and he confirmed that he did not understand that Volker was looking for someone to do all of the analysis, both computational and biological, with Volker only contributing analysis of the analysis after it was all over.&lt;br /&gt;
** Ended up also discussing his work on differential abundance in populations of microorganisms.&lt;br /&gt;
*** I&#039;m going to start working on taking over and expanding Metastats this semester.&lt;br /&gt;
*** I&#039;m also going to start talking to Bo when he gets back about exactly what he&#039;s doing, and how I might be able to include pathway prediction in my expansion of Metastats without stepping on his toes.&lt;br /&gt;
*** Mihai has given me his approval to focus on this.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai to discuss working with Volker&lt;br /&gt;
** Explained that rather than looking for someone to do only the complex portions of the computational analysis, Volker was/is looking for someone to do the complete analysis.&lt;br /&gt;
** In exchange, Volker is offering first authorship and, if need be, to split the student&#039;s funding with their primary PI.&lt;br /&gt;
** I think I&#039;m capable of doing this within 3 or 4 months but it would consume my time pretty thoroughly.&lt;br /&gt;
** Mihai agreed that this is a reasonable deal, but that I have no personal interest in studying mycobacteria, and it&#039;s therefore unwise of me to invest a bunch of time becoming an expert on an organism I have no interest in continuing to study or work with. I&#039;ve therefore offered Volker to work closely with one of his graduate students who could meet with me every week or two. I would be willing to do all of the computational analysis and explain it to them, but they would have to actually look up potentially interesting genes and relationships I discover and help me keep the analysis biologically interesting and relevant.&lt;br /&gt;
&lt;br /&gt;
* Met with Mihai and Mohammad to discuss our impending huge-ass(embly) problem&lt;br /&gt;
** Talked about strategies for iterative assembly as an approach to assembling intractably large data sets. Most have glaring short-comings and complications.&lt;br /&gt;
** Discovered Mike Schatz has a map-reduce implementation of an assembler that uses De Bruijn graphs and is better suited to assemblies with high coverage but short read lengths.&lt;br /&gt;
&lt;br /&gt;
== January 29, 2010 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Minimus Performance Analysis ===&lt;br /&gt;
I&#039;m testing minimus and bambus in preparation of the oral microbiome data, and after spamming several lab members with email, it occurred to me that it would be considerably more considerate to put the information here instead.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Memory Usage Analysis&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Overlapper (in GB):&lt;br /&gt;
| 1.2 || 2.4 || 4.5 || 8.7 || 17 || 21.5 || ~1.1 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|RAM used by the Tigger (in GB):&lt;br /&gt;
| 3 || 6 || 12 || 25 || 48.4 || (60) || ~3 GB * (#Reads in Millions) = (Memory Used)&lt;br /&gt;
|}&lt;br /&gt;
* The 16 million read assembly data is from Walnut, all other numbers are rough averages from both Privet and Walnut.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Privet&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 3 || 9 || 34 || 130 || (576) || 783 || 2.96 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.87&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 9 || 66 || 473 || (3,456) || (25,088) || (47,493) || 9.03 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.86&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Privet has 2.4GHz Opteron 850 processors and 32GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
* &#039;&#039;&#039;For reference: There are 1,440 minutes in one day, and 10,080 minutes in one week&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:1000px; height:100px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Minimus Run Time Analysis on Walnut&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Number of 75bp Reads (in millions): !! 1 !! 2 !! 4 !! 8 !! 16 !! 20 !! Model&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Overlapper (in min):&lt;br /&gt;
| 2.7 || 8 || 27.5 || 102 || (325) || (481.5) || 2.54 * (#Reads in Millions)&amp;lt;sup&amp;gt;1.75&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Run Time of the Tigger (in min):&lt;br /&gt;
| 14 || 81 || 471.5 || (2,752) || (16,006) || (28,212) || 13.99 * (#Reads in Millions)&amp;lt;sup&amp;gt;2.54&amp;lt;/sup&amp;gt; = (Run Time in Min)&lt;br /&gt;
|}&lt;br /&gt;
* Walnut has 2.8GHz Opteron 875 processors and 64GB of RAM. Minimus is not parallelized and therefore only uses a single core.&lt;br /&gt;
* Numbers listed in parentheses are predictions made using the listed models.&lt;br /&gt;
* The models were generated by plotting the data points in open office and fitting a polynomial trendline. The R&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; value for each was 1.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Other Observations About the Assemblies ====&lt;br /&gt;
* Because of the short read length, every million reads is only 75MB of sequence. This is roughly 10-20x coverage of an average single bacteria. These test sets have reads sampled from roughly 100 bacterial genomic sequences, I would expect the coverage to be on the order of 0.1% on average.&lt;br /&gt;
* Unsurprisingly, a cursory glance through the contig files show that each is only comprised of about 2 or 3 reads.&lt;br /&gt;
* The n50 analysis for the smaller assemblies shows that only 2-3 reads are being added to each contig on average, leaving both n50&#039;s and average lengths just below 150bp.&lt;br /&gt;
* Therefore if the complexity of the oral microbiome data is high and/or the contamination of human DNA is extreme (80-95%), the coverage may be extremely low. This may make the use of Mike&#039;s assembler impractical, or at least that&#039;s how I&#039;m going to keep justifying this testing to myself until someone corrects me.&lt;br /&gt;
** &#039;&#039;&#039;Update:&#039;&#039;&#039; Apparently Mike and Dan have talked about this, and somewhere around 75-80bp, the performance of minimus catches up with Mike&#039;s de Bruijn graph assembler anyway. I also did not know that Dan&#039;s map-reduce minimus was running and would be used to assemble the data alongside Mike&#039;s.&lt;br /&gt;
* I learned on Feb. 1, 2010 that the 454 error model allows wild variation wrt read length. So these assemblies might not actually be representative of the performance with the illumina data we&#039;re expecting on Feb. 20&lt;br /&gt;
&lt;br /&gt;
=== UMIACS Resources ===&lt;br /&gt;
I just discovered the information listed on the CBCB intranet Resources page is inaccurate and very out of date, so I&#039;m making my own table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center; width:500px; height:200px&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ &#039;&#039;&#039;Umiacs Resources&#039;&#039;&#039;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Machine !! Processor !! Speed !! Cores !! RAM&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Walnut&lt;br /&gt;
| Dual Core AMD Opteron 8220 || 2.8GHz || 16 || 64GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Privet&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Larch&lt;br /&gt;
| AMD Opteron 850 || 2.4GHz || 4 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Sycamore&lt;br /&gt;
| Dual Core AMD Opteron 875 || 1GHz || 8 || 32GB&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Shagbark&lt;br /&gt;
| Intel Core 2 Quad || 2.83GHz || 4 || 4GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== February 5, 2010 ==&lt;br /&gt;
&lt;br /&gt;
=== Meeting with Volker and Sarada on Feb 3 ===&lt;br /&gt;
* Need to teach Sarada how to perform local blast on some sequences they have that aren&#039;t yet in genbank&lt;br /&gt;
* Trying to set up a meeting with Volker to find out for sure if he wants me to work on this project&lt;br /&gt;
&lt;br /&gt;
=== Biomarker Assembly ===&lt;br /&gt;
Bo, Mohammad, and I spent a couple hours discussing biomarker assembly today. I&#039;m going to try to efficiently summarize our conclusions, but it might be difficult without an easy way to make images. We eventually decided it would be best to attempt several methods in tandem, due to the severe time constraints. The general approach of each method is to fish out and bin reads through one method or another, and then assemble the reads in each bin using minimus. All sequence identify values will be determined by using BLASTx.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Preliminary Steps&#039;&#039;&#039;&lt;br /&gt;
* Gather biomarker consensus amino acid sequences&lt;br /&gt;
* Gather amino acid sequences for associated genes from each bacterial genome in refseq&lt;br /&gt;
* Cluster amino acid sequences within each biomarker set&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Sequence Identity Threshold Determination&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
There are 31 biomarkers and about 1,000 bacterial genomes in which they occur. This means that there are 31 sets of 1,000 sequences that are all relatively similar to one another. Because of the sequence similarity and the short read length, it&#039;s possible that a significant number of reads will map equally well to multiple sequences within each biomarker set. For this reason, it is better to allow a single read to be placed in any bin containing a sequence to which the read mapped above some minimum threshold. This will protect against synthetically lowering the coverage of extremely well conserved regions, and with any luck, incorrectly binned reads will simply not be included in the assembly. There are several ways to approach the determination of this threshold.&lt;br /&gt;
* Determine the lowest level of sequence identity between the consensus sequence for each biomarker and any actual gene in that biomarker set. Use that as the minimum threshold for each biomarker set, or use the lowest from any biomarker set as the minimum threshold for all biomarker sets.&lt;br /&gt;
** The obvious shortcoming of this approach is that the sequence identity between two homologous gene-length sequences can by much lower than between two homologous read-length sequences.&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Schemes&#039;&#039;&#039;&lt;br /&gt;
# Marker-wise assembly&lt;br /&gt;
## Fish out reads that map to any gene in a biomarker set (including the consensus?) above some minimum sequence identity threshold, and place them in a bin.&lt;br /&gt;
## Assemble each bin with minimus.&lt;/div&gt;</summary>
		<author><name>Tgibbons</name></author>
	</entry>
</feed>