Skip to content

Instantly share code, notes, and snippets.

View bovee's full-sized avatar

Roderick Bovee bovee

  • South San Francisco, CA
View GitHub Profile
use std::cell::UnsafeCell;
use std::io::Write;
// `parking_lot` evidently has better implementations of some of these sync primatives?
use std::sync::atomic::{AtomicUsize, Ordering};
use std::sync::{Arc, Condvar, Mutex};
use errors::Result;
const BUFFER_SIZE: usize = 1000;
"""
This process the tree from the Hug et al 2016 paper into a genus-resolved tree
with NCBI tax ids for the leafs. This helps make it a little more amenable to
graphing (i.e. shorter labels and fewer of them) and comparing with the
preexisting NCBI taxonomy.
(Note that not all of the nodes can be resolved into tax ids using this name
matching and the current NCBI taxonomy (e.g. CPR phyla don't generally have
genus resolution yet). Also, I had to drop some members of some of the genuses
to ensure no genuses were paraphyletic. This is good enough for my purposes, but