text:
GraphTeams: a method for discovering spatial gene clusters in Hi-C sequencing data
Tizian Schulz1,2,
Jens Stoye1 &
Daniel Doerr1
Hi-C sequencing offers novel, cost-effective means to study the spatial conformation of chromosomes. We use data obtained from Hi-C experiments to provide new evidence for the existence of spatial gene clusters. These are sets of genes with associated functionality that exhibit close proximity to each other in the spatial conformation of chromosomes across several related species.
We present the first gene cluster model capable of handling spatial data. Our model generalizes a popular computational model for gene cluster prediction, called δ-teams, from sequences to graphs. Following previous lines of research, we subsequently extend our model to allow for several vertices being associated with the same label. The model, called δ-teams with families, is particular suitable for our application as it enables handling of gene duplicates. We develop algorithmic solutions for both models. We implemented the algorithm for discovering δ-teams with families and integrated it into a fully automated workflow for discovering gene clusters in Hi-C data, called GraphTeams. We applied it to human and mouse data to find intra- and interchromosomal gene cluster candidates. The results include intrachromosomal clusters that seem to exhibit a closer proximity in space than on their chromosomal DNA sequence. We further discovered interchromosomal gene clusters that contain genes from different chromosomes within the human genome, but are located on a single chromosome in mouse.
By identifying δ-teams with families, we provide a flexible model to discover gene cluster candidates in Hi-C data. Our analysis of Hi-C data from human and mouse reveals several known gene clusters (thus validating our approach), but also few sparsely studied or possibly unknown gene cluster candidates that could be the source of further experimental investigations.
Distance-based clustering algorithms are paramount to approach various questions across all data-driven fields including comparative genomics. Here, we study the problem of discovering single-linkage clusters of a set of corresponding vertices (where correspondence between vertices across graphs is either provided through a bijective mapping or equivalence classes) between two or more undirected weighted graphs G1,…,G k such that the weakest link in the cluster (measured in terms of the weighted shortest path) does not exceed a given threshold δ in either graph G i , 1≤i≤k. We call such clusters(δ-)teams, thereby adopting notation used by an extensive trail of literature that studies the equivalent problem on permutations and sequences [1–4].
A prominent use case of δ-teams in comparative genomics is the detection of gene clusters, which are sets of genes with associated functionality such as the encoding of different enzymes used in the same metabolic pathway. In many organisms, instances exist where such genes are also locally close to each other in the genome, i.e., their positions fall within a narrow region on the same chromosome. They may even remain in close proximity over a longer evolutionary period, despite the fact that genomes regularly undergo mutations such as genome rearrangements, gene- or segmental duplications, as well as gene insertions and deletions. Such mutations may also affect the order and copy number of genes within a gene cluster (see example in Fig. 1a). Molecular biologists argue that a conserved neighborhood is beneficial for co-regulation, as is true in the prominent case of operons in prokaryotes [5]. Gene clusters are also prevalent in eukaryotes, even in animals, where the HOX gene cluster is without doubt the best studied representative. HOX genes are transcription factors that regulate the embryological development of the metazoan body plan [6].
Illustrations of a sequential and b spatial gene clusters. Genes with the same colors belong to the same gene family
Yet, the function of many genes is often barely understood or entirely unknown despite the increasing number of whole genome data that is becoming available. Hence, a popular approach in comparative genomics is to work this way backwards, starting with the investigation of conserved gene proximity in genomes of a reasonably phylogenetically diverse set of species. Here, the underlying assumption is made that accumulated genome rearrangements will have shuffled the genome sequences sufficiently so that natural selection becomes a plausible cause of conserved gene neighborhoods. By identifying homologous sets of genes that are consistently close to each other across several species, candidate gene clusters are identified that are then subject to more thorough functional analysis.
Recently, new technologies emerged, allowing the study of the spatial structure of genomes. High-throughput chromosome conformation capture (Hi-C), the most popular among such approaches, allows assessing the conformation of the chromatin structure in a cell sample through measuring the number of observed contacts between DNA regions [7]. The Hi-C method makes use of formaldehyde to covalently link proteins and DNA strings which are located next to each other in the cell. After crosslinking, the cells are lysed and the DNA is digested by a restriction enzyme. Remaining fragments bonded by the same protein are ligated. Sequencing the hybrid sequences reveals three-dimensional contacts between their genomic origins. The outcome of the experiment is a table, called Hi-C map, that records observed contacts either within a single (intrachromosomal) or between different chromosomes (interchromosomal). Each row and each column of the Hi-C map represents an equally sized segment of a genome sequence, and a count in each cell indicates how often hybrid sequences of the corresponding segments have been observed in the experiment. The size of these segments is known as resolution. It is a crucial parameter regarding the quality of the data. The higher the resolution of the chromatin structure is, the smaller is the segment size, but also the more data is needed to get significant results. An increasing number of Hi-C maps is made publicly available (human and mouse [8, 9], fruit fly [10]) and is used to answer numerous biological questions, starting from gene regulation and replication timing [8, 11] to genome scaffolding and haplotyping [12, 13].
Gene cluster discovery has sparked the development of various computational models for identifying sets of genes that exhibit close proximity. Such models typically rely on abstract data structures known as gene order sequences, which describe the succession of genes in chromosomes. In doing so, each element of a gene order sequence is the identifier of a gene's associated gene family. A popular method to find gene clusters is based on the identification of common intervals in these sequences, which are intervals with an identical set of elements (i.e. gene family identifiers), independent of the elements' order and multiplicity [14–16]. Since their first mentioning in [16], common intervals became the source for several generalizations [17, 18], among others, δ-teams [2]. δ-Teams are sets of elements where the distance between any two successors across all sequences is bounded by a given threshold δ≥0. This flexible model facilitates not only the detection of gene clusters that are interspersed by unrelated inserted genes, but also the consideration of general distance measures. The latter, for instance, allows to take into account the number of nucleotide base pairs between genes.
Not only the gene proximity on linear DNA sequences, but especially the spatial conformation of chromosomes may provide a pivotal indicator for common regulation and/or associated function of sets of genes (see example in Fig. 1b). Evidence of spatial gene clusters has been put forward already by Thévenin et al. [19] who studied spatial proximity within functional groups of genes in the human genome. In the present work, we introduce the first spatial gene cluster model. It extends the δ-teams model from sequences to undirected weighted graphs, facilitating the detection of genes that are consistently spatially close in multiple species. In doing so, our method integrates Hi-C and genome annotation data into weighted undirected graphs, where vertices represent gene family identifiers of genes and weighted edges correspond to distances obtained from Hi-C data.
The remainder of this manuscript is organized as follows: In the following section, we formally define δ-teams on graphs and present an algorithm for their discovery. We then extend our approach to finding δ-teams with families, i.e., the case where vertices across graphs are related through a common family membership, allowing multiple members of the same family to be part of the same graph. We then show how δ-teams can be used to find candidate sets of spatial gene clusters using a combination of genome and Hi-C data of two or more species. In "Results", we present GraphTeams, a workflow for discovering gene cluster candidates in Hi-C data. We subsequently apply it to intra- and interchromosomal Hi-C data from human and mouse. Spatial gene clusters that have been found by our method are presented and further investigated. In "Discussion" we relate the computational complexity of our algorithms for finding δ-teams in graphs with those of permutations and sequences that have been previously reported in the literature. We then discuss some of the gene cluster candidates that our method discovered in intra- and interchromosomal Hi-C data of human and mouse. "Conclusions" closes this manuscript and provides an outlook on future work.
GraphTeams is available for download at http://github.com/danydoerr/GraphTeams.
Discovering δ-teams in graphs with shared vertex sets
In this section, we discuss the general problem of identifying common single-linkage clusters in a collection of graphs, where the largest link does not exceed a given distance threshold δ. We call such clusters δ-teams to remain in line with previous literature which studied the equivalent problem on permutations and sequences.
A naive method would require to compute all-pairs-shortest-paths in each graph independently. From these distances, a single matrix would be constructed for vertices that are common to all graphs. Each entry of this matrix, corresponding to a pair of vertices, equals to the longest distance over all shortest paths in any of the graphs. Then, a standard single-linkage clustering algorithm could be used to enumerate δ-teams. Here, we present an algorithm with a slightly better running time than this naive approach.
To simplify presentation, we describe only the case of two input graphs G and H in detail. The general case can be trivially inferred. In fact, our implementation (see "Results") supports two or more graphs.
We study undirected graphs G=(V,E) with distances measure \(d_{G}: V \times V \to \mathbb [0, \infty)\). While subsequent definitions adhere to the general case, for all our purposes we assume edge-weighted graphs and use as distance measure the length of the shortest path between any two vertices, if such exists and \(\infty \) otherwise. In doing so, the length of the shortest path is measured by the sum of its edge weights. We use E(G) and V(G) to denote the edge and vertex set of a graph G, respectively. Since we will refer frequently to sets of vertices in one of several graphs, we will indicate the origin of a vertex set \(S \subseteq V(G)\) of a graph G through subscript notation, i.e. S G , whenever this information is relevant. We are interested in sets of vertices that are connected through paths on which the distance between two successive members is bounded by δ:
[ δ-set] Given a graph G with distance measure d G and a threshold value δ≥0, a vertex set \(S \subseteq V(G)\) is a δ-set if for each pair of vertices u,v∈S there exists a sequence \(P = (u, \ldots, v) \subseteq S\) such that the distance d G (w,z) between any two consecutive vertices w and z of P is less than or equal to δ.
Note that unlike single-linkage clusters of a graph, δ-sets are not required to be maximal in that graph. Analog to partition refinement, the aim is to find sets of vertices that are δ-sets in both input graphs. The subsequent definitions establish relations of δ-sets across two graphs G and H with shared vertex set \(V_{\cap } = V(G) \cap V(H)\). In doing so, we assume that there is a common non-empty set of vertices between the two graphs that is subject to subsequent analysis. Vertices that are unique to either of the two graphs are disregarded, yet may be relevant due to their involvement in paths between common vertices.
[ δ-cluster] Given two graphs G and H with distance measure d G and d H , respectively, and a threshold value δ≥0, a vertex set \(S \subseteq V_{\cap }\) is a δ-cluster if it is a δ-set in both G and H under distance measures d G and d H , respectively.
[ δ-team] Given two graphs G and H, a δ-cluster S of G and H is a δ-team if it is maximal, i.e., there is no δ-cluster S′ of G and H such that \(S \subsetneqq S^{\prime }\).
The two graphs G and H depicted in Fig. 2a have three δ-teams: 1-team {d,f}; 2-team {c,d,f}, and 3-team {a,c,d,f,g}. The set {c,d,f,g} exemplifies a non-maximal 3-cluster of G and H.
Examples of δ-teams and δ-clusters in graphs without families a and with families b. δ-Teams and -clusters are highlighted by areas of shared color. Edge labels indicate weights. Vertices in b are represented by their family identifier
Finding δ-teams by decomposing graphs with divide-and-conquer
Given the above definitions, the following computational problem naturally arises and is subject to this work:
Given two graphs G and H with distance measure d G and d H , respectively, and a threshold value δ≥0, find all δ-teams of G and H.
The first observation that is key to addressing the problem at hand, is that two δ-teams cannot overlap. The following lemma, in which Teams δ (S) denotes the set of δ-teams of vertex set S, is basis to all permutation-based (gene-) team algorithms and holds true for the here proposed generalization, too:
Lemma 1
[1,2] Given two graphs G and H with common vertex set \(V_{\cap }\) and a threshold value δ≥0, there exists a partition \(\{V^{\prime },{V^{\prime }{\prime }}\}\) of \(V_{\cap }\) such that \(\text {Teams}_{\delta }(V_{\cap }) = \text {Teams}_{\delta }(V^{\prime }) \cup \text {Teams}_{\delta }(V^{{\prime }{\prime }})\).
The lemma leads to a simple divide-and-conquer approach which has already been applied by He and Goldwasser [2] for the restricted case of sequential data. Here, we apply this lemma to general graphs. Algorithm DECOMPOSE divides the common vertex subset \(S \subseteq V_{\cap }\) of graphs G and H into smaller subsets as long as S is not a δ-set in both graphs.
Because Algorithm 1 proceeds from larger to smaller sets, a vertex set S, identified by the algorithm, that is a δ-set in both G and H is always maximal and therefore a δ-team. Procedure SMALLMAX (see line 1) finds a maximal δ-set \(S^{\prime }\) smaller than S, or, if the smallest maximal δ-set (that is still a subset of S) in both G and H is S itself, returns S. This will be further elaborated in the following section.
Identifying maximal δ-sets
Maximal δ-sets are identified by function SMALLMAX as described in pseudo-code by Algorithm 2.
Note that procedure SMALLMAX is drafted for a general setting that permits the discovery of different vertex sets in graphs G and H, respectively. In doing so, SMALLMAX can also be used in the case of finding δ-teams with families that is subject of "δ-teams with families". For now, the input sets S G and S H are identical.
The function is designed to terminate the search for a maximal δ-set that is subset of S G or S H as early as possible. Hence, SMALLMAX searches through both graphs independently, but simultaneously, to identify a smaller maximal δ-set in either vertex set. In each iteration (lines 4-12), the algorithm tries to identify in each graph X=G,H a vertex s of set S X which has not been previously visited and that has distance at most δ from any already visited node. To this end, a list \(S^{\prime }_{X}\) is maintained that keeps track of already visited vertices of set S X . Boolean variables p X indicate whether unvisited, yet reachable vertices in set \(S_{X} \setminus S^{\prime }_{X}\) could be found in graph X in the previous iteration. The iteration is controlled by three different cases (line 4): If no unvisited node can be found, SMALLMAX has identified either a smaller δ-set of S X or, if the traversal is exhausted, S X itself. In the former case, the procedure stops and returns the visited subset \(S^{\prime }_{X}\) of S X . In the latter case, the algorithm continues the search for a smaller δ-set in the corresponding other vertex set S Y , Y={G,H}∖X, and will return such if found. Otherwise, the smallest maximal δ-set in both S G and S H is the set itself. This also leads to a disruption of the while-loop (lines 4-12) and, by convention, the return of set \(S_{H}^{\prime }\) (=S H ).
Because SMALLMAX does not go further than distance δ from any already visited node of \(S_{X}^{\prime }\), it is clear that the returned vertex set is a δ-set. It is also maximal, because the algorithm does not stop prior to having found all vertices of S X that can be reached from the starting node (which is also a member of S X and \(S_{X}^{\prime }\)).
The time complexity of algorithm DECOMPOSE depends on the number of its own recursive function calls. The decomposition of set S into sets \(S^{\prime }\) and \(S\setminus S^{\prime }\) that is performed in line 5 of DECOMPOSE takes O(|S|) time, but is overshadowed by the time complexity of SMALLMAX. For SMALLMAX, the most costly operation is the search for the next node s of \(S_{X}\setminus S_{X}^{\prime }\). This can be found through successive traversal of each graph using breadth-first search (BFS) outgoing from any arbitrary vertex of sets S G and S H , respectively. The BFS determines the running time of SMALLMAX and requires O(|V(G)|+|E(G)|+|V(H)|+|E(H)|) time. In the worst case, DECOMPOSE needs \(|V_{\cap }|\) iterations to decompose the initial, shared vertex set \(V_{\cap }\).
This leads to an overall running time of \(O\left (|V_{\cap }| \cdot (|V(G)|\right.\left.+|E(G)|+|V(H)|+|E(H)|)\right)\) for Algorithm 1.
The special case of shortest-path graphs
In the special case where each pair of vertices u, v of vertex set \(V_{\cap }\) has a directly connecting edge whenever their distance is smaller than or equal to δ, SMALLMAX takes \(O(|V_{\cap }|)\) time in each iteration. This observation leads to an alternative approach for the general case that may in practice be faster for certain instances or applications: From the input graphs G and H two new graphs \(G^{\prime }\) and \(H^{\prime }\) are derived by computing shortest paths between all pairs of vertices in V(G) and V(H), respectively. In the new graph \(G^{\prime }\) two vertices \(u, v \in V(G) = V(G^{\prime })\) are connected with an edge of weight 1 if their distance is smaller than δ and, similarly, for graph \(H^{\prime }\). Then, the enumeration of δ-teams of G and H is equivalent to computing 1-teams in \(G^{\prime }\) and \(H^{\prime }\). Our implementation includes an option for the computation of δ-teams using this alternative approach. Shortest paths are obtained with Floyd-Warshall's algorithm which has a running time of \(O\left (|V|^{3}\right)\) [20].
δ-teams with families
Family labels allow correspondences between vertices of the input graphs G and H that go beyond 1-to-1 assignments, which is the scenario best suitable for our application as further explained in "Application to spatial gene cluster discovery". Given a graph G=(V,E), let \(\mathcal F: V \to F\) be a surjective mapping between vertices and families.
We extend the concepts of δ-cluster and δ-team to families as follows:
[ δ-cluster with families] Given two graphs G and H with distance measures d G and d H , respectively, a family mapping \(\mathcal F\) and a threshold value δ≥0, a pair of vertex sets (S G ,S H ) with \(S_{G} \subseteq V(G)\) and \(S_{H} \subseteq V(H)\) is a δ-cluster if (i) \(\mathcal F(S_{G}) = \mathcal F(S_{H})\) and (ii) S G and S H are δ-sets in G and H under distance measures d G and d H , respectively.
[ δ-team with families] Given two graphs G and H, a δ-cluster (S G ,S H ) of G and H is a δ-team if it is maximal, i.e., there is no other δ-cluster \((S_{G^{\prime }}, S_{H^{\prime }})\) of G and H such that \(S_{G} \subseteq S_{G^{\prime }}\) and \(S_{H} \subseteq S_{H^{\prime }}\).
The two graphs \(G^{\prime }\) and \(H^{\prime }\) depicted in Fig. 2b have four δ-teams that are in the following represented by their family set: 1-team {d,f}; 2-teams {c,d,f} and {c,e}, and 3-team {a,c,d,f,g}. The set {c,d,f,g} exemplifies a non-maximal 3-cluster of \(G^{\prime }\) and \(H^{\prime }\).
With the generalization to families, Lemma 1 is no longer applicable. However, Wang et al. [3] provide an adaptation which shows how the original divide-and-conquer approach can be extended:
[3] Given two graphs G and H, a family mapping \(\mathcal F\) and a threshold value δ≥0, let \(S_{G} \subseteq V(G)\), \(S_{H} \subseteq V(H)\), s.t. \(\mathcal F(S_{G}) = \mathcal F(S_{H})\) and B be a maximal δ-set of S G or S H . W.l.o.g. let \(B \subseteq S_{G}\), then \(\text {Teams}_{\delta }(S_{G}, S_{H}) = \text {Teams}_{\delta }(B, S_{H^{\prime }}) \cup \text {Teams}_{\delta }(S_{G}\setminus B, S_{H^{{\prime }{\prime }}})\), where \(S_{H^{\prime }} = \{v \in S_{H}\mid \mathcal F(v) \in \mathcal F(B)\}\) and \(S_{H^{{\prime }{\prime }}} = \{v \in S_{H} \mid \mathcal F(v) \in \mathcal F(S_{G}\setminus B)\}\).
The adaptations to algorithm DECOMPOSE are a straightforward implementation of Lemma 2 and are shown in Algorithm 3 (DECOMPOSEFAMILIES).
To efficiently retrieve vertices associated with families of \(\mathcal F(S^{\prime }_{X})\) and \(\mathcal F(S_{X}\setminus S_{X^{\prime }})\) (see lines 6 and 7 of Algorithm 3), we follow Wang et al. [3] and maintain a table of linked lists that maps family identifiers with its members in each respective graph. \(\mathcal F\left ({S^{\prime }}_{X}\right)\) can be built in \(O\left (\left |{S^{\prime }}_{X}\right |\right)\) time while \(\mathcal F\left (S_{X}\setminus {S^{\prime }}_{X}\right)\) needs O(|S X |) time. Afterwards, it is possible to build \(S^{\prime }_{Y}\) and \(S_{Y{^{\prime }{\prime }}}\) in O(|S Y |) time. The runtime of SMALLMAX remains the same for Algorithm 3. Yet, because the input sets S G and S H can no longer be decomposed into disjoint sets, Algorithm 3 requires overall O((|V(G)|+|E(G)|)·(|V(H)|+|E(H)|)) time and \(O\left (|V(G)|+|E(G)|+|V(H)|+|E(H)|\right)\) space.
Application to spatial gene cluster discovery
We will now demonstrate how the discovery of δ-teams with families allows to find spatial gene clusters in genomic data of two or more species. For each genome, we construct an undirected weighted graph in which vertices correspond to genes that are labeled with the identifier of their associated gene family and in which weighted edges correspond to distances obtained from the contact counts of the genomes' respective Hi-C maps. Then, δ-teams (with families according to the genes' families) in the constructed graphs will correspond to spatial gene cluster candidates.
We first map the Hi-C data onto their chromosomal sequences. In doing so, we associate genes with segments of the Hi-C map. Consequently, contact counts between genes correspond to the contact counts of their associated segments. The value of a contact count does not represent a distance but a closeness score, hence a transformation is needed. We define the dissimilarity between two genes g i , g j associated with Hi-C map M as
$$ d_{M}(g_{i}, g_{j}) = \left\{ \begin{array}{ll} 0 & \text{if}\,\,g_{i} = g_{j}\\ \max_{k, l}(M_{kl}) + 1 - M_{ij} & \text{otherwise} \end{array}\,.\right. $$
Note that intrachromosomal distances are symmetric. Whenever two adjacent genes fall into the same segment of an intrachromosomal Hi-C map, the distance is estimated by incorporating their proximity on the DNA sequence. To this end, each base pair between the midpoints of two genes is scored with a relative contact count of C/r, where C is the average contact count between two adjacent segments in the Hi-C map, i.e., the mean of Mi,i+1 of Hi-C map M, and r is the resolution of the Hi-C map, i.e., the size of its segments. This estimator works well for our purposes because Hi-C data shows strong correlations with distances on the chromosomal DNA sequence.
It is common that Hi-C maps contain large numbers of empty cells as a result of erroneous measurements and deliberate blanking of the contact counts around the centromere. We do not apply any correction to such cells except to those in intrachomosomal Hi-C maps that correspond to adjacent segments, i.e., the Mi,i+1 cells. Here, we use the same estimator as described above for genes falling into the same cell of the intrachromosomal Hi-C map.
Because we will compare distances obtained from Hi-C maps of different experiments, we must ensure that they all use the same scale. We do this by normalizing all distances of each Hi-C map M as follows:
$$ M_{norm} = \frac{c}{\max_{k,l}\left(M_{kl}\right)}\cdot M, $$
where c is the average maximum contact count across all Hi-C maps.
Quantifying functional associations of gene clusters using gene ontology annotations
We quantify functional associations between genes of a gene cluster candidate by testing against the null hypothesis that genes in a gene cluster are as functionally associated to their co-members as members within any other equally-sized set of genes in the genome. To this end, we make use of Gene Ontology (GO) [21] annotations and relate between gene functions by means of the gene ontology hierarchy that corresponds to the domain "Biological Process". In doing so, we measure GO-based functional dissimilarity (GFD) [22] between pairs of GO-annotated genes. Given a directed acyclic graph G=(V,E) corresponding to a GO-hierarchy, \(r_{G}(g) = \left \{ v \in V(G) \mid g \text { associated with } v\right \}\) denotes the set of GO terms, i.e., vertices of the GO hierarchy G, with which gene g is associated. Further, p G (u,v) denotes the length of the shortest path between two vertices u,v∈V measured in the number of separating nodes. The GFD between two GO-annotated genes g and \(G^{\prime }\) is then defined as
$$ \mathit{gfd}_{G}\left(g, g^{\prime}\right) = \min_{(u, v) \in r_{G}(g) \times r_{G}(g^{\prime})} \left(\frac{p_{G}(u, v)}{\mathit{depth}_{G}(u)+\mathit{depth}_{G}(v)}\right), $$
where depth G (w) is the length of the path from the root vertex of G to vertex w. This measure gives then rise to the gene cluster penalty defined for a gene set \(C \subseteq \mathcal G\) of a genome \(\mathcal G\) as follows:
$$ \phi_{G}(C, \mathcal G) = \sum_{g \in C} \left(\min_{g^{\prime} \in C \setminus \{g\}} \mathit{gfd}\left(g, g^{\prime}\right) - \min_{g^{{\prime}{\prime}} \in \mathcal G \setminus \{g\}} \mathit{gfd}\left(g, g^{{\prime}{\prime}}\right)\right)\,. $$
This leads to the null hypothesis that the gene cluster penalty of a gene cluster follows the same distribution as any other equally-sized set of genes that is uniformly drawn from the genome. In our analysis, we rank gene clusters according to p-values empirically computed from sample pools of size 107 which are drawn for each gene cluster size, individually.
The GraphTeams workflow
We implemented Algorithm 3 in the Python programming language and provide an entirely automated Snakemake [23] workflow for the identification of spatial gene clusters. Our workflow, called GraphTeams, takes as input the fully assembled sequences of a collection of genomes as well as their corresponding Hi-C maps. If supplied with Hi-C maps of different resolution, it automatically assimilates their scale. Next, GraphTeams normalizes the Hi-C maps, establishes relationships between Hi-C segments and genes, and constructs weighted graphs that are then input to Algorithm 3. Further, when provided with additional GO-annotations, our workflow allows the computation of a GFD-based ranking scheme for gene cluster candidates. Our approach is, to the best of our knowledge, the first of its kind that is capable of identifying spatial gene clusters. GraphTeams can be obtained from http://github.com/danydoerr/GraphTeams.
Intrachromosomal study of human and mouse
We used GraphTeams to find intrachromosomal spatial gene cluster candidates in human and mouse. To this end, we supplied GraphTeams with intrachromosomal Hi-C maps first published by Dixon et al. [8]. These Hi-C maps have been obtained from Hi-C sequencing experiments with embryonic cell lines and have a resolution of 40 kb. Further, we queried the Ensemble Genome Browser (release 88) [24] to obtain information about orthologous genes of the human reference sequence GRCh38.p10 and the mouse reference sequence GRCm38.p5. The data consists of 19,843 human genes that are orthologous to 20,647 mouse genes. After integration with the Hi-C data, GraphTeams constructed graphs with average pairwise distances of 408.5 and 407.8 for human and mouse, respectively.
We ran GraphTeams with a range of values for δ from 50 to 600. All computations were performed on a Dell RX815 machine with 64 2.3 GHz AMD Opteron processors and 512 GB of shared memory. The running times for computing all δ-teams for each value of δ are shown in the bottom right plot of Fig. 3 and range from 62 minutes for δ=200 to 111 minutes for δ=600. The plot indicates a sharp increase of running time for δ>400 that correlates with the increase of the size of identified δ-teams in our dataset.
Results of Algorithm 3 on intrachromosomal Hi-C datasets of human and mouse for different values of δ. The plots show for each threshold value δ, the number of discovered 1D and 3D gene clusters (upper left) and their average sizes (upper right) in the spatial and sequential graphs, respectively, the average number of gained genes in the 3D gene clusters versus the 1D gene clusters (lower left), and the computation time for the 3D gene clusters (lower right)
Apart from the performance of our algorithm, we also investigated the claim whether spatial data can improve the search for functional gene clusters. Next to the graphs that were generated as previously described and which we will further call spatial graphs, we constructed a second type of graphs, called sequential graphs. These graphs represent one-dimensional distances between genes if each chromosome is seen as a linear DNA molecule. Because the distances should be comparable to those from spatial graphs, we derived them also from the Hi-C data, but only considered cells Mi,i+1 of each Hi-C map M. The entries directly above the main diagonal of a Hi-C map correspond to contact counts between adjacent segments of a chromosome. This resulted in graphs harboring identical one-dimensional distances as spatial graphs, but without any three-dimensional "shortcuts". Since our algorithm is a direct generalization of previous methods acting on linear DNA sequences, we use it to identify (traditional) δ-teams on sequential graphs, too. We call δ-teams that are found in spatial graphs 3D gene clusters, whereas those in sequential graphs are called 1D gene clusters.
Figure 3 shows the results for both graphs. In the plot on the top left, we can see that the number of gene clusters grows for both types of graphs with increasing values of δ while the number of 3D gene clusters is slightly higher than that of 1D gene clusters. This changes after δ=350 when more 3D gene clusters are merged than new instances are found, leading to a rapid decrease in their number along with an increase in their size (see plot on the top right). The peak associated with this phenomenon is delayed in the sequential graphs, owing to the fact that in the latter, gene clusters are more stretched out. This is also the reason why we find that some 1D gene clusters are much denser in the spatial graphs. More surprisingly, we also find gene clusters that can only be found in spatial graphs for a given threshold value δ. We call the average amount of genes in a cluster that can be found in the spatial graphs, but not in the sequential ones, spatial gain (see plot at the bottom left). We see an increase in spatial gain around δ=250 until a saturation seems to be reached at δ=450.
We studied in further detail gene clusters that were discovered with δ=350. These gene clusters strike a fair balance between number and size as can be readily observed from our previous analysis. The datasets of both, 3D and 1D gene clusters, were used to evaluate functional associations between gene cluster members. To this end, GO-annotations of the human genome were obtained from [21] to compute gene cluster penalties and to rank gene clusters according to their empirical p-valueas described in "Quantifying functional associations of gene clusters using gene ontology annotations". In the obtained gene ontology dataset, 15,737 out of 19,843 human genes were associated with one or more GO-terms. Because the analysis is restricted to those genes with annotated GO-terms, only 1559 out of 1961 3D gene clusters and 1669 out of 2118 1D gene clusters could be further investigated. 18.54% of the 3D gene clusters and 18.33% of the 1D gene clusters exhibited a significant empirical p-value (p<0.05). Overall, significant 3D gene clusters tend to include more (annotated) genes (total: 930) than their 1D counterparts (total: 886). Table 1 lists the top twenty 3D gene clusters that are either not found in the set of significant 1D gene clusters, or only partially found, or broken into two or more sub-clusters.
Table 1 Top 20 3D gene clusters with smallest p-value using intrachromosomal Hi-C data
Interchromosomal spatial gene cluster candidates in human and mouse
Unlike traditional methods for gene cluster discovery, our approach is not limited to the study of intrachromosomal clusters. On the contrary, our model permits spatial gene clusters to be composed of genes from different chromosomes. The GraphTeams workflow supports data from both inter- and intrachromosomal Hi-C maps. Here, we present results of an analysis in which we replaced the human Hi-C data from the previous analysis with that by Lieberman-Aiden et al. [9]. The latter consists of both intra- and interchromosomal Hi-C maps and further differs from Dixon et al.'s dataset in the facts that it was obtained from lymphoblastoid cell lines with a lower resolution (1 Mb). Due to the normalization using Eq. 2, distances in the constructed graphs exhibit a wider range than in our previous analysis. This also affects intrachromosomal distances that are now larger than before. On average, two genes have a pairwise distance of 799.8 and 836.6 in human and mouse, respectively. Yet, the number of δ-teams in both graphs follows the same trends that we observed in our previous analysis (see left plot of Fig. 4). Thus, following the same line of reasoning, we decided to study gene clusters for δ=700 and δ=750 in close detail. Note that the larger size of the graphs is taking a toll on the computation time of δ-teams (see right plot of Fig. 4). For δ=700, GraphTeams reported 58 gene cluster candidates whose members are located on more than one chromosome of the human genome. For δ=750, it reported 88, many of which are contained exactly or partially in the former list. Five of these candidates were ranked as significant in our gene ontology analysis as shown in Table 2.
Results of Algorithm 3 on interchromosomal Hi-C datasets of human and mouse for different values of δ. The plots show for each threshold value δ, the number of discovered 1D and 3D gene clusters in the spatial and sequential graphs, respectively (left) and the computation time for the 3D gene clusters (right)
Table 2 Interchromosomal gene cluster candidates identified by Algorithm 3 with δ=700 and δ=750
The enumeration of common intervals in sequences has been subject to various extensions including δ-teams. Here, we described a generalization of δ-teams from sequences to graphs. We presented a novel algorithm for the enumeration of δ-teams that, when trivially extended to k graphs \(G_{i} = \left (V_{i}, E_{i}\right)\), for i=1,…,k, will run in \(O\left (\sum _{i} |V_{i}| + |V_{\cap }|\cdot \sum _{i} \left (|V_{i}|+|E_{i}|\right)\right)\) time and \(O\left (\sum _{i}(|V_{i}|+|E_{i}|)\right)\) space, where \(V_{\cap } = V_{1} \cap \cdots \cap V_{k}\). Our algorithm beats the naive approach that requires \(O\left (\sum _{i}|V_{i}|^{3}\right)\) time and \(O\left (\sum _{i}|V_{i}|^{2}\right)\) space. The naive approach computes all-pairs shortest paths on each of the input graphs independently and then employs a standard single-linkage algorithm for the enumeration of δ-teams in a matrix over all largest shortest paths of all graphs.
Further, we provide an algorithm for the computation of δ-teams that, when trivially extended to k graphs with families, will run in \(O\left (k \cdot \prod _{i} \left (|V_{i}|+|E_{i}|\right)\right)\) time and \(O\left (k\cdot \sum _{i}\left (|V_{i}|+|E_{i}|\right)\right)\) space. In comparison, the best algorithm for the enumeration of δ-teams in k permutations of size n runs in \(O\left (k \cdot n \cdot \log N\right)\) time, where N denotes the number of reported δ-teams [25]. The best algorithm that solves the corresponding family-based problem for k sequences of lengths n1,…,n k runs in \(O\left (k \cdot C \cdot \log \left (n_{1}\cdots n_{k}\right)\right)\) time, where C is a factor accounting for the number of possible 1:1 assignments between family members across the k graphs [3]. The differences in running time between the permutation-, sequence- and our graph-based algorithms reflect the fact that the latter solve much more general problems.
With GraphTeams, we developed an open source, fully automated workflow for gene cluster discovery in Hi-C data. We used this workflow to study intrachromosomal gene clusters in a Hi-C dataset of embryonic cell lines from human and mouse [8]. In doing so, we assessed the benefit of predicting gene clusters in spatial data as opposed to traditional, sequential genomic data. We identified several gene cluster candidates corresponding to sets of functionally associated genes whose members are closer to each other in the 3D space than on the chromosomal sequence (see Table 1). Many of these gene clusters are already known from the literature. E.g., we find four clusters of olfactory receptor (OR) genes on different chromosomes, the taste receptor type 2 (TAS2R) gene cluster and the HOXC gene cluster. The latter is one of three clusters among the top 20 but can be found in the 1D results only as a composition of sub-clusters. Therefore, these genes seem to be even closer together in 3D space than on the DNA strand. The same is true for other clusters, such as that of the testis-specific protein Y-encoded (TSPY) and superfamily Ig belonging lectins (SIGLEC) which were not even partially detected in the 1D graphs.
We then extended our approach to the discovery of interchromosomal gene clusters and applied it to a mixed dataset containing Hi-C data from a human lymphoblastoid cell line [9] and the previously studied intrachromosomal data of an embryonic cell line of the mouse. Table 2 lists several identified gene cluster candidates that contain genes located on different chromosomes in the human genome. The highest ranking cluster constitutes 23 out of 115 members of the human USP17L gene family. Since the divergence from the common ancestor of human and mouse, this family of deubiquitinating enzymes has largely expanded in the human lineage and is homologous to only four genes located on chromosome 7 in the mouse. We further identified three gene cluster candidates related to olfactory receptors and one related to members of the gamma-glutamyltransferase (GGT) gene family. The vast majority of the studied gene cluster candidates does not contain GO-annotated genes. Further examination revealed that many of these clusters are entirely composed of genes encoding small nuclear RNAs. The lower part of Table 2 lists the eight most promising gene cluster candidates identified through manual inspection.
By identifying δ-teams with families, we provide a flexible model that is well suitable to capture the complexity of biological datasets such as those at hand. Our analysis of Hi-C data from human and mouse reveals several known gene clusters (thus validating our approach), but also few sparsely studied or possibly unknown gene cluster candidates that could be the source of further experimental investigation.
The presented algorithms and their implementation are fast enough to process large graphs as demonstrated in a study of Hi-C data of human and mouse. Nevertheless, further research may lead to improved algorithms. It seems possible that the problem of finding δ-teams in graphs without families could be solved faster with the help of a guide tree that allows to find a maximal δ-set by traversing each graph in fewer steps than required by an exhaustive graph traversal. Alternatively, a randomized variant of our algorithm could assert a better expected running time. The presented algorithmic work could also be extended into another direction, by allowing the direct computation of the single-linkage hierarchy. This makes the gene cluster analysis no longer dependent on a fixed δ, but will provide all possible δ-clusters through a single computation. This idea has also been applied for δ-teams in sequences, where the hierarchy is called gene team tree [4,26].
The δ-team model has the drawback that only maximal δ-clusters are reported. These can potentially hide smaller, nested δ-clusters that are in size closer to those of typical gene clusters. However, the solution space of non-maximal δ-clusters in graphs is exponential, which leaves little hope for their efficient enumeration and subsequent processing.
Beal M, Bergeron A, Corteel S, Raffinot M. An algorithmic view of gene teams. Theor Comput Sci. 2004; 320(2-3):395–418.
He X, Goldwasser MH. Identifying conserved gene clusters in the presence of homology families. J Comput Biol. 2005; 12(6):638–56.
Wang B-F, Kuo C-C, Liu S-J, Lin C-H. A New Efficient Algorithm for the Gene-Team Problem on General Sequences. IEEE/ACM Trans Comput Biol Bioinform. 2012; 9(2):330–44.
Wang B-F, Lin C-H, Yang I-T. Constructing a Gene Team Tree in Almost O(n lg n) Time. IEEE/ACM Trans Comput Biol Bioinform. 2014; 11(1):142–53.
Jacob F, Perrin D, Sanchez C, Monod J. Operon: a group of genes with the expression coordinated by an operator. C R Hebd Seances Acad Sci. 1960; 250:1727–9.
Larroux C, Fahey B, Degnan SM, Adamski M, Rokhsar DS, Degnan BM. The NK Homeobox gene cluster predates the origin of Hox genes. Curr Biol. 2007; 17(8):706–10.
Belton J-M, McCord RP, Gibcus JH, Naumova N, Zhan Y, Dekker J. Hi–C: a comprehensive technique to capture the conformation of genomes. Methods. 2012; 58(3):268–76.
Dixon JR, Selvaraj S, Yue F, Kim A, Li Y, Shen Y, Hu M, Liu JS, Ren B. Topological domains in mammalian genomes identified by analysis of chromatin interactions. Nature. 2012; 485(7398):376–80.
Lieberman-Aiden E, Van Berkum NL, Williams L, Imakaev M, Ragoczy T, Telling A, Amit I, Lajoie BR, Sabo PJ, Dorschner MO, et al. Comprehensive mapping of long-range interactions reveals folding principles of the human genome. Science. 2009; 326(5950):289–93.
Sexton T, Yaffe E, Kenigsberg E, Bantignies F, Leblanc B, Hoichman M, Parrinello H, Tanay A, Cavalli G. Three-dimensional folding and functional organization principles of the drosophila genome. Cell. 2012; 148(3):458–72.
Ryba T, Hiratani I, Lu J, Itoh M, Kulik M, Zhang J, Schulz TC, Robins AJ, Dalton S, Gilbert DM. Evolutionarily conserved replication timing profiles predict long-range chromatin interactions and distinguish closely related cell types. Genome Res. 2010; 20(6):761–70.
Burton JN, Adey A, Patwardhan RP, Qiu R, Kitzman JO, Shendure J. Chromosome-scale scaffolding of de novo genome assemblies based on chromatin interactions. Nat Biotechnol. 2013; 31(12):1119–25.
Selvaraj S, Dixon JR, Bansal V, Ren B. Whole-genome haplotype reconstruction using proximity-ligation and shotgun sequencing. Nat Biotechnol. 2013; 31(12):1111–8.
Didier G, Schmidt T, Stoye J, Tsur D. Character sets of strings. J Discrete Algorithms. 2006; 5(2):330–40.
Schmidt T, Stoye J. Gecko and GhostFam: rigorous and efficient gene cluster detection in prokaryotic genomes. Methods Mol Biol. 2007; 396(Chapter 12):165–82.
Uno T, Yagiura M. Fast algorithms to enumerate all common intervals of two permutations. Algorithmica. 2000; 26(2):290–309.
Jahn K. Efficient computation of approximate gene clusters based on reference occurrences. J Comput Biol. 2011; 18(9):1255–74.
Winter S, Jahn K, Wehner S, Kuchenbecker L, Marz M, Stoye J, Böcker S. Finding approximate gene clusters with Gecko 3. Nucleic Acids Res. 2016; 44(20):9600–10.
Thévenin A, Ein-Dor L, Ozery-Flato M, Shamir R. Functional gene groups are concentrated within chromosomes, among chromosomes and in the nuclear space of the human genome. Nucleic Acids Res. 2014; 42(15):9854–61.
Cormen TH, Leiserson CE, Rivest RL, Stein C. Introduction to Algorithms. 3rd edn. Cambridge: The MIT Press; 2009.
Ashburner M, Ball CA, Blake JA, Botstein D, Butler H, Cherry JM, Davis AP, Dolinski K, Dwight SS, Eppig JT, Harris MA, Hill DP, Issel-Tarver L, Kasarskis A, Lewis S, Matese JC, Richardson JE, Ringwald M, Rubin GM, Sherlock G. Gene ontology: tool for the unification of biology. Nat Genet. 2000; 25(1):25–9.
Díaz-Díaz N, Aguilar-Ruiz JS. GO-based functional dissimilarity of gene sets. BMC Bioinformatics. 2011; 12(1):360.
Köster J, Rahmann S. Snakemake—a scalable bioinformatics workflow engine. Bioinformatics. 2012; 28(19):2520–2.
Yates A, Akanni W, Amode MR, Barrell D, Billis K, Carvalho-Silva D, Cummins C, Clapham P, Fitzgerald S, Gil L, Girón CG, Gordon L, Hourlier T, Hunt SE, Janacek SH, Johnson N, Juettemann T, Keenan S, Lavidas I, Martin FJ, Maurel T, McLaren W, Murphy DN, Nag R, Nuhn M, Parker A, Patricio M, Pignatelli M, Rahtz M, Riat HS, Sheppard D, Taylor K, Thormann A, Vullo A, Wilder SP, Zadissa A, Birney E, Harrow J, Muffato M, Perry E, Ruffier M, Spudich G, Trevanion SJ, Cunningham F, Aken BL, Zerbino DR, Flicek P. Ensembl 2016. Nucleic Acids Res. 2016; 44(D1):710.
Wang B-F, Lin C-H. Improved algorithms for finding gene teams and constructing gene team trees. IEEE/ACM Trans Comput Biol Bioinform. 2010; 8(5):1258–72.
Zhang M, Leong HW. Gene team tree - a hierarchical representation of gene teams for all gap lengths. J Comput Biol. 2009; 16(10):1383–98.
We are very grateful to Krister Swenson for kindly providing the Hi-C data used in this study and for his many valuable suggestions. We wish to thank Pedro Feijão for many fruitful discussions in the beginning of this project.
TS is partially funded by the International DFG Research Training Group GRK 1906/1. All authors acknowledge support for the Article Processing Charge by the Deutsche Forschungsgemeinschaft and the Open Access Publication Fund of Bielefeld University.
The datasets generated and/or analysed during the current study are available on the BiBiServ platform, https://bibiserv.cebitec.uni-bielefeld.de/graphteams.
Faculty of Technology and CeBiTec, Bielefeld University, Universitätsstr. 25, Bielefeld, 33615, Germany
Tizian Schulz, Jens Stoye & Daniel Doerr
International Research Training Group 1906 "Computational Methods for the Analysis of the Diversity and Dynamics of Genomes", Universitätsstr. 25, Bielefeld, 33615, Germany
Tizian Schulz
Jens Stoye
Daniel Doerr
JS and DD directed the research. All authors participated in the development of the presented model. DD devised the algorithms and implemented Algorithm 3, and drafted the manuscript. TS and DD implemented the workflow. TS conducted the experiments on the human/mouse datasets. All authors contributed to the writing and editing of the manuscript, and all authors read and approved the final manuscript.
Correspondence to Daniel Doerr.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License(http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver(http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.
Schulz, T., Stoye, J. & Doerr, D. GraphTeams: a method for discovering spatial gene clusters in Hi-C sequencing data. BMC Genomics 19, 308 (2018). https://doi.org/10.1186/s12864-018-4622-0
Spatial gene cluster
Gene teams
Single-linkage clustering
Graph teams
Hi-C data


text:
Lensing I Am Not Your Negro
By Beth Marchant / May 3, 2017
Essential Gear: Gifts for Filmmakers (Part 1)
Director Alla Kovgan on Layering Visuals in Stereo 3D for Documentary Cunningham
Essential Gear: Lenses to Love
Canon Announces New Lenses, EOS-1D Camera Development
Director Bassam Tariq on Netflix Documentary Short "Ghosts of Sugar Land"
Essential Gear: Three from IBC
Fluid Camera Moves Elevate the Power of Baldwin's Words
Director Raoul Peck took 10 years to make his Oscar-nominated documentary, I Am Not Your Negro, yet never deviated from its singular point of view: the words of novelist and social critic James Baldwin. Through the layered intersection of archival and contemporary images, Peck's film brings new urgency to Baldwin's writing, particularly Remember This House, his unpublished memoir about the intersecting lives and deaths of his friends Martin Luther King, Jr., Malcolm X and Medgar Evers. "The conundrum of color is the inheritance of every American, be he/she legally or actually Black or White," Baldwin wrote in the 1984 preface to the reissue of Notes of a Native Son, his 1955 classic. "It is a fearful inheritance," one that lends "an unadmitted icy panic coiled beneath the scaffolding of these present days." As Peck's film reveals, it coils there still.
Although archival photographs and film make up the majority of the documentary's images, on-the-street coverage of protests in Ferguson, MO, and B-roll shot on location in New York and in the South (helmed by Independent Spirit Award-winning documentarians Bill and Turner Ross) complete Peck's visual montage. Emmy-nominated DP Henry Adebonojo, who shot b-roll in New York, also closes the film with his gorgeously stylized portraits of current New York residents of color.
"Raoul's overall concept, for the entire film and for every image we shot and archival image he chose, was to unite the past with the present through Baldwin's words," Adebonojo says. "He therefore wanted a continuity in African-American portraiture, beginning in the 19th century on through to the stuff we shot, that focuses on the dignity of the individual. He was very particular about the looks he wanted, so there was some casting done and, before that, he had me do some scouting for possible locations." Filming in one day at Bronx Community College with the Canon C300 Mark II and a mix of natural light and HMIs, Adebonojo was able to seamlessly transition from sepia photographs of black Americans to colorful modern-day portraits in 4K.
"I've always been impressed with Canon's color science, especially as it relates to African-American skin tones," he says. "And we knew we were going to be shooting a variety of those skin tones. I also wanted more shallow depth of field than I could accomplish with the Canon lenses I already owned, so I used Canon Cine Primes with the C300 and mostly shot almost wide open. Even with such shallow depth of field, the sharpness was exactly what I needed it to be."
Adebonojo shot the B-roll footage of New York with his Panasonic GH4 DSLR but was drawn to the C300's small size and internal recording features for the later shoot. "We had a really small crew and a very tight schedule, and being able to shoot 4K internally on the C300 without an external recorder to capture the image meant we could shoot close to 40 people that day and still make it all happen pretty quickly," he says. Peck didn't use every shot in the final cut, though he could have without much finessing in post. Adebonojo says he was able to keep the background uniform in each one through exposure and a bit of "wrestling with the changing light."
The power of the closing portraits come not just from the subjects themselves but from the nearly imperceptible pan and zoom within the frame, a conscious creative choice Peck defined for his DPs as "a certain amount of grace." "That idea informed everything I shot," says Adebonojo. "It was very important to Raoul that anything with movement be captured in a very graceful, subtle manner. The film is literally Baldwin sitting with his own thoughts, and even when we see him on camera, that gracefulness of his presence needed to be implicit in every camera move. And if the camera wasn't moving, Raoul wanted what was moving within the frame to express that idea. He was very particular about what he wanted each frame to feel like."
Samuel L. Jackson's simmering yet understated narration, which brings Baldwin's words to life, was also part of Peck's plan. "Most people know Sam Jackson as a very boisterous actor," says Adebonojo, "and if Raoul could get that kind of subtle performance out of him, you can understand how his original vision drove every aspect of this film with absolute clarity."
It's also a tremendous tribute to James Baldwin, he adds, that his thoughts alone could form the foundation of the film. "What Baldwin urges us all to do is just to be better human beings, regardless of who we are," Adebonojo says. "He challenges us to look at the bigger picture. If any one group of us within the family unit of America are weary, then we are all weary, whether we realize it or not."
I Am Not Your Negro remains in theatrical release. It is also available on DVD and Blu-ray and for streaming on iTunes and Amazon Prime.
Crafts: Shooting
Sections: Creativity
Topics: c300 mark ii Canon cinema prime ef lenses documentary Henry Adebonojo James Baldwin Panasonic GH4 Raoul Peck
Contributing editor Beth Marchant has been writing about filmmaking technology and craft for two decades. A former chief editor of Studio/monthly magazine and co-editor of StudioDaily.com, she now creates content for a variety of media, technology, marketing and nonprofit clients.
Also in Shooting
Sony's Vlogger-Friendly Camera Grip Has Bluetooth Control Built In
Sony announced a new grip designed for a range of its Alpha cameras. The GP-VPT2BT Shooting Grip with Wireless...
Cinematographer Rodrigo Prieto, ASC, AMC, Gives The Irishman His All
For its critical success, awards buzz, and technical breakthroughs revolving around the unique use of brand-new digital de-aging techniques...
JVC Ships Connected Cam 500 Streaming Camcorders
It took some time, but JVC Professional Video said it is finally shipping its Connected Cam 500 series of...
Panasonic Sets Three 10-Bit 4K Camcorders for March Release
Panasonic announced a new series of run-and-gun 4K camcorders led by the AG-CX10, a pro camera with a 24x...
ASC Names Feature Film Award Nominees
The American Society of Cinematographers (ASC) announced the nominees for the Theatrical and Spotlight categories of the organization's Outstanding...
Colorfront Adds Express Dailies Subscription Option for HDR Workflow on New Mac Pro
Colorfront said it is going after the Apple Mac Pro market with a new subscription model for its Colorfront...
Director Michael Shapiro Signs with Spears & Arrows
Director Michael Shapiro has joined Santa Monica commercial production company Spears & Arrows. In addition to commercial work for...
As digital cameras settle into a familiar technological groove, crisp images with outstanding color rendition have become the rule...

redpajama_set_name: RedPajamaCommonCrawl


If it's a blasted heath or a sunny cliff top, an urban pocket handkerchief or just a tiny patio, whatever the size and site of your garden there's a fruit that will love growing there! Sally Cunningham will take a tour of the possibilities of fruit growing for any site.
To include apples, pears, plum, fig, apricot and grapes, with all soft fruits.
Find out how to assess your site: rainfall, exposure, frost pockets: pollination groups, soil characteristics and pH. We'll look at growing fruit in a controlled form, in pots or confined spaces. Learn more about prolonging the season by choice of site as well as variety. Ideas for harvesting and storage.
The course will also cover common pests and diseases, and how to combat them.
Come to find out how to have a very fruit filled garden next year.


text:
Optimism Raises $150 Million in Series B Funding Round Led by Paradigm and A16z
Optimism, an L2 (Layer 2) rollup solution for Ethereum, has raised $150 million in its Series B funding round coming from big companies in the venture capital (VC) scene. The funding round was led by A16z and Paradigm, with the former also having invested during the previous funding round. The scaling solution reached a valuation of $1.65 billion with this fund injection, reaching well above unicorn status.
Optimism Gets Backing to Keep Growing
Optimism, a solution that allows for transacting on Ethereum with low fees, has scored a $150 million investment in its Series B funding round. The round, that was co-led by A16z and Paradigm, caused the organization to reach a valuation of $1.65 billion, being one of the most valuable L2 Ethereum expansion layers.
VCs are considering the relevance that these scaling technologies have for the future of Ethereum. While Ethereum fees have been relatively low recently, during the recent bull market, this was almost never the case. To appease users not wanting to take the hit of paying these sometimes exorbitant fees, L2 solutions rose to the spotlight. Optimism is one of these solutions, based on Optimistic rollups that take L1 (Layer 1) data to process it in batches in L2, to then return this abbreviated data to Ethereum.
According to numbers offered by the company, Optimism has already saved its users $1 billion in gas fees, and has over $469 million in TVL (total value locked) on its platform, being the fourth-biggest rollup in this regard, per L2beat statistics.
Expansion via Hiring and Advancements
Optimism informed users via a blog post about how the funds would be directed. The company is planning to hire more people to complete its already sizeable team in order to keep delivering features. Optimism has 18 job offerings currently open across several departments, ranging from software development-related jobs to finance openings.
This latest funding injection comes on the heels of the company's Series A funding round, where the company raised a $25 million investment that was also led by A16z. The company praised Optimism, noting that its "close adherence to Ethereum development paradigms results in a very easy transition for developers, wallets, and users: no new programming languages, minimal code changes to existing contracts required."
What do you think about the latest $150 million funding round for Optimism? Tell us in the comments section below.


The Diada, celebrated on September 11th, is Catalonia's National day. It commemorates the fall of Barcelona on 11 September 1714, at the end of the War of the Spanish Succession. Catalans have since then commemorated this day as the day they lost their liberties and the institutions of the Catalan-Aragonese Confederation. This was formalised with the Spanish Nueva Planta decrees, who abolished the institutions, privileges and the ancient charters of the Crown of Aragon.
Nowadays, the Diada has been converted in a popular, festive and pacific rally in favour of Catalan independence. Since 2012, monster-sized demonstrations have filled Barcelona's streets and Catalonia alike. Every year, more than a million demonstrators take the streets. In 2013, people formed a large chain from Catalonia's border in the south to the Spanish state border in the north, holding their hands together for over 400 kms (250 miles). Read more about in the underlying sections!


The University of Salzburg offers advice and financial support to its scientific and scholarly employees who publish in gold Open Access journals. It provides a fund to cover publication fees charged by some Open Access journals (please note that there are maximum funding amounts). Many Open Access journals are financed by so-called author publication charges (APCs): After a one-time payment publications are permanently online for free.
You are eligible for funding if currently employed at the University of Salzburg.
If the publication is co-authored, you need to be submitting or corresponding author.
The publication needs to be accepted for publication, but not yet published.
Funding is possible for one publication per person and year.
Click here to get a complete list of our funding criteria.
The chosen journal is listed in the Directory of Open Access Journals.
Publication charges are funded up to a maximum amount of 2000€.
Articles need to be published under a Creative Commons license.
Hybrid Open Access publications are not covered by this fund. "Hybrid OA publications" are single articles published in regular journals and then made freely available by paying a one-time-fee (e.g. Springer "open choice").
The publisher must offer an adequate peer review.
The fund covers a maximum of 8.000€ for Open Access monographs and edited volumes.
The fund covers a maximum of 2.000€ for Open Access articles in edited volumes.
If there is an embargo period, it must not exceed one year.
Please send the application form, an abstract of the proposed publication and a preprint or the accepted manuscript of the publication to open-access.ubs(at)sbg.ac.at.
The University Library of Salzburg will check the formal criteria of your application.
The advisory board of the Open Access Publication Fund will make a final decision which articles will be funded.


text:
package com.cngu.kittenviewer.ui.presenter;

import android.graphics.Bitmap;
import android.util.Log;

import com.cngu.kittenviewer.R;
import com.cngu.kittenviewer.data.listener.DownloadListener;
import com.cngu.kittenviewer.domain.service.ImageDownloadService;
import com.cngu.kittenviewer.ui.activity.UIThreadExecutor;
import com.cngu.kittenviewer.ui.model.PlaceKittenArgs;
import com.cngu.kittenviewer.ui.view.KittenPhotoView;

public class KittenPhotoPresenterImpl implements KittenPhotoPresenter, DownloadListener<Bitmap> {
    private static final String TAG = "KittenPhotoPresenter";
    private static final boolean DEBUG = true;

    private KittenPhotoView mView;
    private UIThreadExecutor mUiThreadExecutor;
    private ImageDownloadService mImageDownloadService;

    public KittenPhotoPresenterImpl(KittenPhotoView view, UIThreadExecutor uiThreadExecutor) {
        mView = view;
        mUiThreadExecutor = uiThreadExecutor;
    }

    @Override
    public void onRequestPhotoRefresh() {
        downloadPlaceKittenPhoto();
    }

    @Override
    public void onServiceConnected(ImageDownloadService imageDownloadService) {
        mImageDownloadService = imageDownloadService;
    }

    @Override
    public void onSearchButtonClicked() {
        downloadPlaceKittenPhoto();
    }

    @Override
    public void onDownloadComplete(final Bitmap download) {
        if (DEBUG) {
            Log.i(TAG, String.format("Received bitmap of size: %dx%d",
                    download.getWidth(), download.getHeight()));
        }

        showDownloadProgress(false, 0);
        showKittenPhoto(download);
    }

    @Override
    public void onDownloadMissing() {
        if (DEBUG) Log.i(TAG, "Placekitten did not return an image with the requested dimensions");

        showDownloadProgress(false, R.string.msg_placekitten_missing_photo);
    }

    @Override
    public void onDownloadError() {
        if (DEBUG) Log.i(TAG, "Placekitten returned an error");

        showDownloadProgress(false, R.string.msg_placekitten_error);
    }

    @Override
    public void onNetworkConnectionLost() {
        if (DEBUG) Log.i(TAG, "WiFi connection was lost during download");

        showDownloadProgress(false, R.string.msg_not_connected_to_wifi);
    }

    private void downloadPlaceKittenPhoto() {
        int reqWidth = mView.getRequestedPhotoWidth();
        int reqHeight = mView.getRequestedPhotoHeight();
        if (reqWidth <= 0 || reqHeight <= 0) {
            if (DEBUG) Log.d(TAG, "Can not download photo with invalid size dimensions <=0");
            mView.showToast(R.string.msg_invalid_size);
            return;
        }

        showDownloadProgress(true, 0);

        PlaceKittenArgs args = new PlaceKittenArgs(reqWidth, reqHeight);
        mImageDownloadService.downloadBitmap(args, this);
    }

    private void showDownloadProgress(final boolean progressBarVisible, final int msgResId) {
        mUiThreadExecutor.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                mView.setDownloadProgressBarVisibility(progressBarVisible);

                if (msgResId > 0) {
                    // Valid resources ids are always positive
                    mView.showToast(msgResId);
                }
            }
        });
    }

    private void showKittenPhoto(final Bitmap bitmap) {
        mUiThreadExecutor.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                mView.setKittenPhoto(bitmap);
            }
        });
    }
}

redpajama_set_name: RedPajamaGithub


The Mortgage Bankers Association (MBA) has signaled its support for the work being done on comprehensive tax reform, writing to key lawmakers that this was a "once in a generation opportunity" to overhaul the tax code.
The letter from MBA President and CEO David Stevens to the Big Six – congressmen Paul Ryan, Mitch McConnell, Orrin Hatch and Kevin Brady, along with Treasury Secretary Steven Mnuchin and National Economic Council Director Gary Cohn – highlighted MBA's support of the recently released framework, which keeps the mortgage interest deduction and low-income housing tax credit.
MBA strongly believes the elimination or modification of 1031 exchanges would adversely affect commercial real estate transactions, he wrote.
Another area of concern for MBA, Stevens wrote, is business interest deductibility.
Stevens closed by saying MBA was ready to work with legislators and their staff on the process.
"Our members would be quite interested in offering their perspectives on appropriate phase-ins and other treatments that would accomplish the ultimate goals of pro-growth tax reform while not causing near term market disruptions," he wrote.
This article has been viewed 1331 times.


This work is a collaboration between the Department of Information Science (Prof Stephen Cranefield, Michael Winikoff and Phd Student Manjula Devananda) and BPAC (the Best Practice Advocacy Centre New Zealand, bpac.org.nz).
The aim of this project is to help primary health care organisations manage their workload, specifically, the workload arising from patients with long-term health conditions. We are developing computational models that will allow us to simulate the progression of patients through a defined care plan, in order to predict the tasks that need to be carried out in a given week, and hence the workload for the medical practice. In order to do this we need (i) an understanding of the (generic) defined care plans for long-term medical conditions, which BPAC is providing (in the form of expert knowledge – note that this information is not specific to individual patients); and (ii) patient data, which is being provided by BPAC, in de-identified form. This project's methodology follows a typical design science approach: a software solution is developed, and evaluated. There is no medical protocol, or interaction with patients.
Manjula was runner-up of 3MT at BARC (Business Annual Research Conference), 2015.
She has competed at the 3MT, 2015.
Bastin Tony Roy Savarimuthu, Sherlock Licorish, Manjula Devananda, Georgia Greenheld, Virginia Dignum and Frank Dignum. Developers responses to app review feedback A study of communication norms in app development, COIN@AAMAS 2017.


High fructose corn syrup has become a staple in many foods regularly consumed by Americans. New Research from the University of California at Los Angeles shows that drinking a can of soda may be more than just harmful to a person's teeth.
The researchers discovered that pancreatic cancer cell growth rate increases with large quantities of fructose. The consumption of HFCS has increased significantly over the past years and is used as the sole sweetener in many American soft drinks, according to the research.
"The bottom line is the modern diet contains a lot of refined sugar including fructose and it's a hidden danger implicated in a lot of modern diseases, such as obesity, diabetes and fatty liver," said associate professor of medicine and neurosurgery Dr. Anthony Heaney. "In this study, we show that cancers can use fructose just as readily as glucose to fuel their growth."
Even though HFCS is found in a lot of foods, there are things people can do to limit their consumption. The Mayo Clinic suggests that people limit their intake of processed foods and eat canned fruit that is stored in its own juices. Taking such steps to maintain a healthy diet and lifestyle may help contribute to lowering one's health and life insurance rates.


Medical Front Desk Policies And Procedures Manual. Front Desk Luxury Training Checklist Hotel Throughout Medical Policies And Procedures Manual Ideas 2. Policy And Procedure Manual Church Sample With Medical Front Desk Policies Procedures Designs 10. Operations Manual Throughout Medical Front Desk Policies And Procedures Plan 16. 27 Images Of Draft Desk Manual Template Boatsee Com Pertaining To Medical Front Policies And Procedures Designs 3. Clinic Policy And Procedures Manual 1 728 Cb Dental Office Policies For Medical Front Desk Inspirations 9. Operations Manual Intended For Medical Front Desk Policies And Procedures Designs 11. Best Photos Of Policies And Procedures Manual Medical Office Within Front Desk Idea 0.
9 Office Assistant Job Description Templates PDF DOC Free With Medical Front Desk Policies And Procedures Manual Ideas 13. Front Office Training Manual For Medical Desk Policies And Procedures Remodel 19. Sample Office Manual Template Staruptalent Com Regarding Medical Front Desk Policies And Procedures Prepare 15. 18 Images Of Front Office Procedures Template Crazybiker Net In Medical Desk Policies And Manual Decor. 18 Images Of Front Office Procedures Template Crazybiker Net With Regard To Medical Desk Policies And Manual Designs 7.


HAMILTON — A development agreement between Hamilton Township and Project Freedom Inc. may result in affordable housing getting built on land Mayor Kelly Yaede previously envisioned as a go-kart entertainment district.
Yaede once wanted to transform the Morton Tract across from Hamilton's police station and free public library into an all-out fun park. She famously talked about that during her 2015 State of the Township address in a moment not long forgotten.
The Republican mayor, however, has since abandoned that idea, announcing in her 2019 State of the Township address that her administration is now partnering with Project Freedom to benefit people with disabilities.
The township owns the entire Morton Tract and has agreed to give some of this land to Project Freedom at no cost if the property is found to be environmentally sound. Hamilton Council approved the deal in a 3-2 vote last September, but the township could nullify the contract if the land is deemed unsuitable for development or too expensive to remediate.
Every municipality in New Jersey must promote affordable housing for low-income and moderate-income communities, according to the New Jersey Supreme Court's landmark opinions and the state's Fair Housing Act of 1985. Hamilton Township is using the Project Freedom development agreement to help satisfy its affordable housing obligations.
If the township honors the agreement, Project Freedom will build 72 units of housing for low-income people with special needs. Although the township would be giving the land away for free, Hamilton Township anticipates it would gain an estimated $1.7 million of new revenue as a direct result of the agreement, according to Hamilton Business Administrator Dave Kenny.
The $1.7 million would come from the township's pot of affordable housing funds, according to Kenny, who described it as a reimbursement.
The agreement is not exactly a land sale, because the township is offering the land to Project Freedom at no cost, but the township would effectively be compensated for the value of the land by being able to collect an estimated $1.7 million from the township-restricted affordable housing fund.
Project Freedom has several affordable housing sites throughout Mercer County and the state of New Jersey, including a pre-existing site in Hamilton Township near Kuser Farm Park.
Project Freedom is a nonprofit organization that "develops affordable housing designed for people with disabilities and their families to empower them to live independently in their communities," according to its website.
Hamilton Council, however, was divided on the issue last September.
Democratic Hamilton Councilmen Anthony Carabelli Jr. and Jeff Martin supported the Project Freedom development agreement along with Republican Councilman Ralph Mastrangelo, but GOP Councilwoman Ileana Schirmer and Democratic Councilman Rick Tighe opposed the plan.
Martin suggested Morton Tract is the best location for the project.
Mastrangelo voiced support for the resolution without elaborating.
The land directly across from the Hamilton Township Free Public Library, known as the Morton Tract, was once considered a prime location to build a new Hamilton Township municipal building. Political candidates debated the concept about 30 years ago, but the idea never came to fruition and the township continued utilizing its preexisting municipal building on Greenwood Avenue that was built circa 1928.
"I want that location preserved for what it was originally intended," township resident Marilyn Jose said at the September 2018 council meeting, opposing the Project Freedom housing plan.
So unless something changes, the Morton Tract will not be redeveloped into a new municipal building, and it certainly will not become a go-kart racing venue.


The BMW brand keeps its heritage in design primarily through the use of kidney grills on every model design, the most recognizable feature of the car. However, to the trained eye there is another distinct design feature that has been used in the BMW line up since 1961. This design feature is called the Hofmister kink.
Wilhelm Hofmeister was the design director of BMW from 1955 - 1970 and was responsible for the BMW New Class or "neue classe" of vehicles. This era was an important part of the BMW history as these new class of vehicles were crucial to the financial future of the brand. Without the success of these cars the brand would not have survived.
Wilhelm Hofmeister was involved with the design of the BMW 1500 model which debuted in 1961. This was the first BMW vehicle to feature the Hofmeister kink on the C pillar. This kink is a design element where the C pillar bends forward slightly meeting up with the lower window line. It widens the base of the C pillar and BMW claims the angled line towards the rear of the car suggests rear wheel or all wheel drive.
This design feature can still be found on the C pillars of cars or D pillars of tourings and SUVs of today's models. It is a simple yet elegant way to execute the two intersecting lines of the car. When you start noticing how other brands execute these two lines meeting up it just doesn't look as classy. BMW was not the first brand to use this design feature, it can still be found in other competing models in the present day. However, no other brand consistently keeps this kink as a feature in every model.
This little but important features shows us how BMW honors its heritage and where its roots were born. The next time you are driving around, look for this feature on passing cars. Check out the pictures below to see how BMW uses the Hofmeister kink in its lineup.


text:
Updated: Talks between SsangYong GB and Mitsubishi officially called off as firms 'miles apart' on price
Subaru confirms launch of new electric model
Pendragon sheds last of its US interests as it agrees to sell Santa Monica Jaguar and Land Rover site for £11.8m
by John Bowman
Pendragon is selling its Jaguar and Land Rover dealership in Santa Monica to Redwood Automotive for some £11.8m, it announced this morning (Dec 15).
If approved by Jaguar Land Rover, it will spell the end of Pendragon's interests in the USA – a business decision it embarked upon in 2017 as part of a restructuring operation.
It sold its Puente Hills Chevrolet showroom to JBR Automotive Inc at a £700,000 loss in February this year.
The group also sold two Jaguar Land Rover dealerships in California for £60m in May 2019, and offloaded its sole US-based Aston Martin dealership to US Auto Trust in July 2018 for £3.1m.
Ad-free Car Dealer website, £5 per month
Latterly, in September this year, the retail group said it was looking to sell its Los Angeles-based Jaguar Land Rover dealership to Triunity Automotive Group for some £15.8m.
Chief executive Bill Berman, who joined Pendragon in April 2019, told Car Dealer in May this year he would never have sold the US businesses if he'd been in charge.
In an exclusive interview, he said: 'In 2017, when they announced they were going to close the US operations, I think if I was on the board at that time I would have strongly and aggressively advised against that.
'Those are great assets, they produce at a very high level. Jaguar Land Rover is an amazing brand in the US, premium luxury brand and the locations we had were unreplicable. You could never buy those brands again.'
As of December 31, 2019, the gross assets of the Hornburg dealership were said to amount to £36.7m, with profit before central costs amounting to £858,000.
Pendragon has said that the proceeds of the transaction will be used for general corporate purposes.
JLR has the right of first refusal over the trade and assets and could still nominate a replacement buyer.
In September this year, Pendragon published its delayed half-year results that showed it made a £31m loss for the first half of the year.
However, Berman told Car Dealer in a video interview you can see above that the group's delayed results weren't the result of any 'going concern' fears.
The following month, it announced that its pre-tax profit for this year's third quarter had rocketed to £27.3m against £3.0m in 2019, as reported by Car Dealer.
Pendragon CEO would have fought to save its American dealerships if he'd been in charge at the time
Pendragon lost £31m in the first half of the year as pandemic bit, but summer trading has been healthy
Pendragon set to sell Los Angeles JLR dealership to Triunity Automotive Group for £15.8m
Exclusive: Pendragon boss Bill Berman ditched Car Store name for firm's used car business because he 'hated it'
Register as a Car Dealer member and get more out of the website here
Car Dealer Mag issue 153 is out now – Read it here
Join our breaking news WhatsApp group – Click here to join now
Updated: Talks between SsangYong GB and Mitsubishi officially called off as firms 'miles apart' on price


I am officially back on the site. I missed all of you guys to much. This really gave me an avenue to get out my thoughts, my frustrations and even my joys with no one to judge me for them.
I wanted to just drop a quick note down to say "Hi!" I will write more later but I have class in a few hours and still need to sleep at some point.
Bout damn time son Must start drinking soon. This is my decree.
youre back! ive missed you!


text:
Washington Business Journal: Executive Profile
She's got the formula for funding!
BGCGW's Chief Executive Officer, Gabrielle Webster, was featured in an Executive Profile in the Washington Business Journal.
This Washington nonprofit leader knows the formula for funding
Gabrielle Webster, president and CEO, Boys & Girls Clubs of Greater Washington
JOANNE S. LAWTON
By Emily Van Zandt – Associate Editor, Washington Business Journal
May 24, 2018, 1:39pm
A year into her role as president and CEO of Boys & Girls Clubs of Greater Washington, Gabrielle Webster can trace her favorite time of day to the minute. At 3 p.m., kids from the elementary school up the hill flood into the club attached to the executive offices on Benning Road in Northeast D.C.
"At that time in the afternoon, you get a little tired. That's about the time the kids come down," Webster said. "It's a little bit of euphoria. This is what we're here for."
Webster's organization — which reported more than $10 million in revenue in 2016 — currently serves around 13,000 kids, ages 5 to 18, at centers across Greater Washington.
What was your early career like? I actually started out as a chemical engineer and the majority of my career was at Kodak. I really started out doing lab testing and things you would think of that a chemist does.
Were there a lot of other women in the lab? In my very first job, I started at a chemical company in Delaware and there were a couple hundred engineers. I was the only African-American female in the organization. It was tough to come right out of grad school and have that environment. Trying to be successful in an environment where people really weren't pulling for you helped set the tone for my entire career.
Does your science side still come out? It's always here. I go over to the clubs and do some of our STEM activities. If we're doing something around chemistry or physics, I tend to pop my head in and enjoy a little of that.
What drew you to this work? My mother and grandmother were both educators. I saw the work they did with youth and the effect it had on them.
Biggest challenge so far in your role: I think the hardest challenge is always making sure you have the right staff in the right roles to support the organization and make sure that we're moving forward. And also really learning the whole process. We actually have whole facilities and a fleet of busses. It's not just the mission and the fundraising, but it's all the other little things.
What makes the Greater Washington clubs special? Our programs. We know that they're special, and we've been recognized by Boys and Girls Club of America about how special we really are. We won an Honor Award this year for a bullying program that we have. We won an Honor Award last year for Our Lives Matter — which is community conversation among our kids, parents and the police in Ward 8 — to win two Honor Awards out of 4,000 clubs nationally is unheard of two years in a row. I think that's what makes us most special.
Where would you like the organization to be five years from now? I'd love to serve more kids. Many of our clubs are at capacity. In a couple of weeks, the parents will line up to get the kids into summer camp and the line will be around the block. But the answer is always that there are more resources needed to open more clubs.
Is there a dollar amount that you need? It's many, many millions. It costs us about $1,500 to support one youth. We've had other people who have done capital campaigns and they're looking at $20 [million] or $30 million to start another location.
Where would that location go? We want to be able to serve the kids that need us most. Wards 7 and 8 could certainly use another location, or two or three.
What do you wish donors knew about the organization? Frankly, we do need revenue. That will never end. What I want them to know is that their funds would be well spent. I encourage anyone to come and visit a club. When you get here you see the joy, you see them learning, you see them being able to be kids. I've never brought anyone in who didn't leave wanting to be more involved. For many kids, this is the best part of their day.
Favorite part of your job? I like raising money and I think you have to for this job. It's a challenge, especially in this environment. But it allows you to go and talk to people and share the story. When I come back with support it helps me realize what more we can do to help the kids. I have grown to truly enjoy it.
On fundraising in D.C.: While D.C. is a big city, the corporate climate is not as broad as others. I think we all know individual giving is where you can truly shine. We have been really grants focused in the past and we are shifting that focus to individuals.
Proudest moment? I think when I got my first $1 million gift. And we've had a few more, some recently, thank goodness. The first time you see that amount on a check it makes you realize how powerful money is in support of a mission.
Who do you look to as mentors? I would say there are two ladies in the local community who have been women that I've always looked up to: Marie Johns and Barbara Lang. I watched how they led their teams with such great skill, compassion and excellence. I always try to model myself after them and hopefully I can do them a small amount of justice. On a larger scale, Nancy Brown, who is the CEO of the American Heart Association. I have truly admired how she has led that organization as one of the few women in that type of role.
Best business advice: I had a boss at Kodak who once told me that fair trumps everything. I've always tried to be extremely fair in my work life and in managing staff. Fair doesn't mean necessarily treating everyone the same, but if I'm fair in making my decisions, I can always live with that.
Least favorite work task: Dealing with buses. The buses are always something. A tire or the air conditioning. When you have 30-some buses, there's always something.
What do you like best about living in Prince George's County? I like living in an area that's predominately African American and professional. My neighbors are people that I have so much in common with. It is a community that is a community. We gather and have cookouts and play cards or just have conversation. We also have a great golf course. I try to play golf. I will always be practicing.
Hobbies: Interior decorating is one of my big things. I have many friends who call me to help them with colors or items or shopping. I can be found quite often shopping with friends for new lighting or furniture. I love to just go in the stores, walk on 14th Street into the various furniture stores. It gives you a lot of great ideas.
What's your favorite room in your house? Probably my dining room. The artwork is pretty. It's an intimate room, it's not big. It makes you feel cozy. I think the colors and the chandelier with the art make it a very interesting room. We used it at Easter and it sparkled. When we first moved into the house before the kitchen was done, we ate in the dining room every night.
On travel: I would say while I love the architecture of Paris, I think Istanbul is my favorite place. The history and the beauty and the people are absolutely amazing. Santorini is probably the most amazing place I've ever seen. I want to do Italy, experience four or five cities in Italy and spend a few weeks just exploring.
Where did you get the travel bug? My grandmother was exploring the world 30, 40 years ago. When people were just taking small trips she was going to Alaska and Russia and Europe and Africa. I just watched her explore the world and her fascination and love of travel really infused itself into me.
If you could have a conversation with anyone, who would it be? Martin Luther King Jr. I'd ask how he continued to persevere in the face of so many challenges daily. I think we all have challenges, but I can't imagine the challenges that he faced. So if he could do that, I can truly do this.


text:
@implementation WBDNSSortManager

+ (WBDNSDomainModel *)sortIpArrayOfModel:(WBDNSDomainModel *)model {
    if (model == nil || model.ipModelArray == nil || model.ipModelArray.count == 0) {
        return model;
    }

    NSMutableArray* sortedIpArray = [NSMutableArray array];
    NSMutableArray* speedTestedIpArray = [NSMutableArray array];
    NSMutableArray* speedNotTestedIpArray = [NSMutableArray array];
    for (WBDNSIpModel* ip in model.ipModelArray) {
        if (ip.finally_success_time && ip.finally_fail_time) {
            NSDate* successTime = [[WBDNSTools sharedInstance] dateFromString:ip.finally_success_time];
            NSDate* failedTime = [[WBDNSTools sharedInstance] dateFromString:ip.finally_fail_time];

            //时间异常,认定测速数据不合法,分到未测速组。
            if (successTime == nil && failedTime == nil) {
                NSLog(@"ERROR:%s:%d SuccessTime(%@) or FailedTime (%@) is invalid.", __func__,__LINE__,ip.finally_success_time,ip.finally_fail_time);
                [speedNotTestedIpArray addObject:ip];
                continue;
            }

            int speedTestExpireTime = 2* [WBDNSConfigManager sharedInstance].config.speedTestInterval;

            if ((![WBDNSTools isTestTimeExpired:successTime expiredTime:speedTestExpireTime])&&(![WBDNSTools isTestTimeExpired:failedTime expiredTime:speedTestExpireTime])) {
                //成功时间 晚于失败时间,说明测速成功。
                if ([successTime compare:failedTime] != NSOrderedDescending) {
                    [speedTestedIpArray addObject:ip];
                    continue;
                }
                //测速失败,本条记录从ip列表中去除,不返回给用户。
                else {
                    continue;
                }
            }
            else if(![WBDNSTools isTestTimeExpired:successTime expiredTime:speedTestExpireTime]) {
                //测速成功,加入到测速成功分组
                [speedTestedIpArray addObject:ip];
                continue;
            }
            else if(![WBDNSTools isTestTimeExpired:failedTime expiredTime:speedTestExpireTime]) {
                //测速失败,本条记录从ip列表中去除,不返回给用户。
                continue;
            }
            else {
                //测速数据过期,分到未测速分组
                [speedNotTestedIpArray addObject:ip];
                continue;
            }
        }
        //时间异常,认定测速数据不合法,分到未测速组。
        else {
            NSLog(@"ERROR:%s:%d SuccessTime(%@) or FailedTime (%@) is invalid.", __func__,__LINE__,ip.finally_success_time,ip.finally_fail_time);
            [speedNotTestedIpArray addObject:ip];
            continue;
        }

    }

    [speedTestedIpArray sortUsingComparator:^NSComparisonResult(id obj1, id obj2) {
        WBDNSIpModel* ip1 = obj1;
        WBDNSIpModel* ip2 = obj2;
        int rtt1 = [ip1.rtt intValue];
        int rtt2 = [ip2.rtt intValue];
        if (rtt1 > rtt2) {
            return NSOrderedDescending;
        }
        else if(rtt1 < rtt2) {
            return NSOrderedAscending;
        }
        else {
            return NSOrderedSame;
        }
    }];

    [sortedIpArray addObjectsFromArray:speedTestedIpArray];
    [sortedIpArray addObjectsFromArray:speedNotTestedIpArray];
    model.ipModelArray = sortedIpArray;
    return model;
}

@end


text:
Q: verbatim text in tables and macros I have a cheatsheet with a table that looks like
\begin{tabular}{l|l}
$k > 0$    &  \verb+k > 0+    \\
$k \geq 0$ &  \verb+k \geq 0+ \\
$\sum_l$   &  \verb+\sum_l+   \\
%etc
\end{tabular}

There is a lot of redundancy here since the argument to verb is the same as the first entry of the table. I tried to make a macro to remove the duplication
\newcommand\code[1]{$#1$& \verb+#1+\\}

but that gives an error. I also tried using detokenize
\newcommand\code[1]{$#1$&\texttt{\detokenize{#1}}\\}

but that introduces superfluous spaces.
How can I define a macro that produces both the formula and its verbatim code?

A:
You need to read the argument verbatim, to see the spaces:
\documentclass{article}

\makeatletter
\def\code#1{%
\let\do\@makeother \dospecials
\verbatim@font\@noligs
\@vobeyspaces \frenchspacing
\catcode`#1\active
\lccode`\~`#1%
\lowercase{\long\def\tmp##1~}{\$##1\$&$\scantokens{##1}$\\}%
\tmp
}

\makeatother

\begin{document}

\begin{tabular}{l|l}
\code|k > 0|
\code|k \geq 0|
\code|\sum_l|
\end{tabular}

\end{document}

or to swap the columns is a bit harder:-)
\makeatletter
\def\code#1{%
\bgroup
\let\do\@makeother \dospecials
\@vobeyspaces
\catcode`#1\active
\lccode`\~`#1%
\lowercase{\long\def\tmp##1~}{\egroup$\scantokens{##1}$&%
\verbatim@font\@noligs
\@vobeyspaces\frenchspacing
\$##1\$\\}%
\tmp
}

\makeatother

redpajama_set_name: RedPajamaStackExchange


The item When Sophie gets angry-- really, really angry--, by Molly Bang represents a specific, individual, material embodiment of a distinct intellectual or artistic creation found in Huntsville Public Library.
"First bookshelf edition, June 2004.".


text:
You are here: HomeNewsMarvel Previews for 01/31
Marvel Previews for 01/31
Posted by Frederik Hautain on Jan 10, 2007
AVENGERS: EARTH'S MIGHTIEST HEROES II #5 & #6 (of 8)
Penciled by WILLIAM ROSADO
Cover by DAVE JOHNSON
The Super-Adaptoid has gone underground, and Hank Pym has stared down his deepest demons. And when the mysterious Yellowjacket arrives on the scene... why do the Avengers have to act like they don't know him? And how does his appearance lead to the most surreal super hero wedding in Marvel history? All the answers are here!
32 PGS./Rated A ...$3.99
GHOST RIDER FINALE
Written by IVAN VELEZ
Art by JAVIER SALTARES & MARK TEXEIRA
Cover by JAVIER SALTARES
The original creative team unites to complete an issue eight years in the making! In early 1998, GHOST RIDER #93 ended with a shocking cliffhanger: the death of Dan Ketch, the Ghost Rider's human host! But the book was canceled prematurely, prior to the release of the series finale in GHOST RIDER #94 – which had already been written and was almost entirely penciled. Now, the final fate of Dan Ketch is revealed at last! With Blackheart deposed, the Ghost Rider is now lord of the Nether Realm. What does he intend to do with his power? And will the other Dark Lords – like Belasco, Pluto and Hela – allow him to keep it? This special edition also includes GHOST RIDER #93 and other bonus material!
ULTIMATE CIVIL WAR SPIDER-HAM CRISIS (FEATURING WOLVER-HAM) #1
Written by J. MICHAEL STRACZYNSKI
Penciled by MIKE WIERINGO, MIKE ALLRED, JOHN SEVERIN, NICK DRAGOTTA, ARIEL OLIVETTI and JIM MAHFOOD
Cover by MIKE WIERINGO
You asked for it, you got it! Quite possibly the most important comic ever! A life-changing event that will change the way you look at yourself and the world around you! Spinning out of the page of CIVIL WAR -- and every other top-selling comic crossover event you can think of – it's ULTIMATE CIVIL WAR SPIDER-HAM FRISIS (FEATURING WOLVER-HAM)!!! He's little, he's pink, he knows how to bring home the bacon. He's Spider-Ham – and he's about to embark a kaleidoscopic, time-spanning, universe-shifting journey that will prove just how big a pig he really is. Guest-starring: Iron Ham, Deviled Ham, Fantastic Ham, Green Ham, Ant-Ham, Ultimate Captain Ham, Hambit, Hamneto, and everyone's favorite Sorcerer Supreme -- whathisface? You know, the guy with the blue tights and red cape…Mustache…Man-servant named Wong? -- anyway, you know who I'm talking about. He's in it, too. And Wolver-Ham – did I mention him?
WHITE TIGER #3 (of 6)
Written by TAMORA PIERCE & TIMOTHY LIEBE
Penciled by PHILIPPE BRIONES
Cover by DAVID MACK
After putting a beating on Sano and his bloodthirsty Yakuza warriors, White Tiger and Daredevil face the long arm of the NYPD---and its crosshairs. Being a wanted vigilante is a newsflash for Del Toro as she realizes becoming an enemy of the state isn't easy. On top of a visit by everyone's favorite Webslinger, a cold hard rejection by Matt Murdock, and a bruising punch fest with Cobra, Angela learns that divorcing her real-life identity from masked crusading is not as simple as just removing a mask, nor is it all that realistic. And to add it all, Chaeyi and its shadowy activities keep running unchecked with no leads in sight.
The only thing that seems to be constant is the indecision, violence, and frustration following White Tiger without pause….welcome to her world. It's about to get much rougher!
32 PGS./Parental Advisory …$2.99
X-MEN ANNUAL #1
Written by MIKE CAREY
Pencils and Cover by MARK BROOKS
Rogue and her team have unfinished business on board the S.H.I.E.L.D. Helicarrier - business that concerns the twins, Northstar and Aurora, and a last-ditch attempt to restore them to their right minds. But a powerful enemy from the X-Men's past has a different agenda - and his plans to hijack the Helicarrier for his own uses lead to a terrible revelation.
Marvel Enters Digital Realm - written by Frederik Hautain on Dec 14, 2005


wearing my summer uniform today courtesy of one of my favorite online vintage shops, rawson. or if you're lucky enough to be in chicago, you can visit their brick & mortar. they have a ton of vintage blouses just like this one and i kinda want one for every day of the week? i remember back when i was in high school and early college, my friends and i would do "sleeveless summers." meaning we'd cut the sleeves off all of our t-shirts. well, now i'm declaring it a "puff sleeve summer." and rawson is providing the goods.
in other news, i seriously need a haircut. i feel like i've been even more camera shy than usual because i've been growing out a botched cut i got earlier this year. and i just know it's the universe punishing me for cheating on my hairdresser for the first time in 10 years! so it's just been one long agonizing awkward growing-out phase. i've been using bobby pins to hide it, or else pulling it back into a tiny ponytail and wearing a hat. if you live in the los angeles area, go see shannon at refuge salon in highland park. he won't do you wrong.


text:
Q: Why is my category "vanishing" from the navigation menu after a period of time? Let's say I open my product page and now I got following structure:
home -> category_x -> product_y
I think this is the normal case which we all knew. But after sometimes if I let the page open it will change to this:
home -> product_y
What is happening here and how could I prevent this?

A: You can tell Magento to use categories url_key in your product URLs in System > Configuration > Catalog > SEO > Use Categories Path for Product URLs and set this option to Yes
Note : Take care with this option to the duplicate content of your product page


text:
Heims ist der Name folgender Personen:

 Else Heims (1878–1958), deutsche Schauspielerin
 Rebecca Heims (* 1996), deutsche Schriftstellerin
 Volker Heims (* 1963), deutscher Fußballspieler
 Paul Heims-Heymann (1849–1931), deutscher Mediziner

redpajama_set_name: RedPajamaWikipedia