text:
Scalable non-negative matrix tri-factorization
Andrej Čopar1,
Marinka žitnik1,2 &
Blaž Zupan ORCID: orcid.org/0000-0002-5864-70561,3
BioData Mining volume 10, Article number: 41 (2017) Cite this article
Matrix factorization is a well established pattern discovery tool that has seen numerous applications in biomedical data analytics, such as gene expression co-clustering, patient stratification, and gene-disease association mining. Matrix factorization learns a latent data model that takes a data matrix and transforms it into a latent feature space enabling generalization, noise removal and feature discovery. However, factorization algorithms are numerically intensive, and hence there is a pressing challenge to scale current algorithms to work with large datasets. Our focus in this paper is matrix tri-factorization, a popular method that is not limited by the assumption of standard matrix factorization about data residing in one latent space. Matrix tri-factorization solves this by inferring a separate latent space for each dimension in a data matrix, and a latent mapping of interactions between the inferred spaces, making the approach particularly suitable for biomedical data mining.
We developed a block-wise approach for latent factor learning in matrix tri-factorization. The approach partitions a data matrix into disjoint submatrices that are treated independently and fed into a parallel factorization system. An appealing property of the proposed approach is its mathematical equivalence with serial matrix tri-factorization. In a study on large biomedical datasets we show that our approach scales well on multi-processor and multi-GPU architectures. On a four-GPU system we demonstrate that our approach can be more than 100-times faster than its single-processor counterpart.
A general approach for scaling non-negative matrix tri-factorization is proposed. The approach is especially useful parallel matrix factorization implemented in a multi-GPU environment. We expect the new approach will be useful in emerging procedures for latent factor analysis, notably for data integration, where many large data matrices need to be collectively factorized.
Biomedical data are becoming increasingly challenging to analyze due to their sheer volume and complexity. Dimensionality reduction approaches address challenges in modern biomedical data analytics by learning useful projections of data into a smaller, compact and pattern-rich latent space. An especially popular dimensionality reduction approach uses matrix factorization [1]. Numerous non-negative matrix factorization methods have successfully been used for gene expression analysis [2–4], patient stratification [5], drug-target interaction discovery [6], gene phenotyping [7], and magnetic resonance image analysis [8–10].
Non-negative (two-factor) matrix factorization considers as input a data matrix X and learns two latent factors, U and V, such that their product U V approximates X, X≈U V, under some criterion of approximation error. One class of non-negative matrix factorization approaches is non-negative matrix tri-factorization, which extends a two-factor model by introducing a third latent factor S, such that X≈U S V T [11]. This representation is more appropriate for non-square data because it explicitly models data interactions through a latent factor S [12]. Several optimization techniques for parallel non-negative (two-factor) matrix factorization have recently been proposed [13–15]. These techniques first partition matrix X into blocks and then exploit the block-matrix multiplication when learning U and V. However, such a straightforward approach does not apply to matrix tri-factorization because, as we show in the Methods section, the learning of any block of U and V depends on factor S.
In this paper, we develop a principled mathematical approach and an algorithmic solution to latent factor learning for non-negative matrix tri-factorization. While there exists an initial solution to speed up the latent factor learning procedure using accelerated matrix operations on a MapReduce cluster [16], this approach is not optimal because it requires a specialized architecture [17]. Even more importantly, in the case of two-factor non-negative matrix factorization, it was shown that the MapReduce-based approach was outperformed by block-wise approaches by two orders of magnitude [18]. Block-wise approaches also provide the means for load balancing. These related studies thus encourage the development of a block-wise approach for matrix tri-factorization.
The paper makes the following contributions. We develop a block-wise approach for matrix tri-factorization. The new approach enables fast factorization on concurrent systems, such as multi-processor and multi-GPU architectures. We report on two variants of the approach: one variant for orthogonal matrix factorization [11] and the other for non-orthogonal matrix factorization [19]. We provide implementation of the new approach for both multi-processor and multi-GPU architectures. We evaluate the proposed approach with respect to dataset shape and size, parallelization degree, factorization rank, and data sparsity. In experiments on several biomedical datasets, we demonstrate that the new approach provides substantial speedups. The speedup is most pronounced on multi-GPU architectures, where matrix tri-factorization can be more than 100-times faster than its serial counterpart.
We start by describing the notation, factorization model, and matrix tri-factorization algorithm. The algorithm starts by initializing the latent factors, which are then iteratively revised until convergence. We then introduce a block data representation and provide an algorithm for partitioning data matrices into blocks. Finally, we develop the block-wise latent factor update rules and present the block-wise matrix tri-factorization algorithm.
Preliminaries: non-negative matrix tri-factorization
Consider a non-negative data matrix \({\mathbf {X}} \in \mathbb {R}^{n \times m}_{+}\), where n rows typically describe data instances and m columns provide their features. Non-negative matrix tri-factorization (NMTF) learns a decomposition of X into three latent factors \(\mathbf {U} \in \mathbb {R}_{+}^{n \times k_{1}}\), \(\mathbf {S} \in \mathbb {R}_{+}^{k_{1} \times k_{2}}\), and \(\mathbf {V} \in \mathbb {R}_{+}^{m \times k_{2}}\) by minimizing the reconstruction error \(F({\mathbf U},{\mathbf S},{\mathbf V})=\left \|{\mathbf X}-{\mathbf U}{\mathbf S}{\mathbf V}^{T}\right \|_{Fro}^{2}\) [20, 21]. Columns in factors U and V are latent vectors and provide the basis of the vector space into which the data (columns and rows of X, respectively) are projected. Factorization ranks k 1,k 2≪ min(m,n) are model parameters that specify the number of latent vectors.
Reconstruction error is typically minimized using the multiplicative update rules [1]. The rules are derived by computing the gradient of the reconstruction error F with respect to model parameters U, S, and V and by solving the gradient equations for the model parameters. This procedure results in the following set of update rules [19]:
$$\begin{array}{@{}rcl@{}} \mathbf{U} \leftarrow \mathbf{U} \circ \frac{\mathbf{X} \mathbf{V} \mathbf{S}^{T} }{ \mathbf{U} \mathbf{S} \mathbf{V}^{T} \mathbf{V} \mathbf{S}^{T}} \end{array} $$
$$\begin{array}{@{}rcl@{}} \mathbf{V} \leftarrow \mathbf{V} \circ \frac{\mathbf{X}^{T} \mathbf{U} \mathbf{S} }{ \mathbf{V} \mathbf{S}^{T} \mathbf{U}^{T} \mathbf{U} \mathbf{S}} \end{array} $$
$$\begin{array}{@{}rcl@{}} \mathbf{S} \leftarrow \mathbf{S} \circ \frac{\mathbf{U}^{T} \mathbf{X} \mathbf{V} }{ \mathbf{U}^{T} \mathbf{U} \mathbf{S} \mathbf{V}^{T} \mathbf{V}} \end{array} $$
where ∘ represents the element-wise product and the division is performed element-wise. The matrix tri-factorization algorithm starts by initializing latent factors using small random values and then iteratively applies the update rules in Eqs. (1–3) until convergence [1].
An often-desired variant [11] of matrix tri-factorization imposes orthogonality constraints on the latent vectors. Orthogonality helps in data interpretation because latent vectors are independent of each other and can thus be associated with a particular combination of input features (for U) or input data instances (for V) [22, 23]. The objective function of orthogonal matrix tri-factorization is \(F({\mathbf U},{\mathbf S},{\mathbf V})=\left \|{\mathbf X}-{\mathbf U}{\mathbf S}{\mathbf V}^{T}\right \|_{Fro}^{2}\), under the constraint that U T U=I and V T V=I, where I is an identity matrix. Following a similar procedure of gradient computation as described above, we arrive at the following update rules for orthogonal matrix tri-factorization [11]:
$$\begin{array}{@{}rcl@{}} \mathbf{U} \leftarrow \mathbf{U} \circ \sqrt{\frac{\mathbf{X} \mathbf{V} \mathbf{S}^{T} }{ \mathbf{U} \mathbf{U}^{T} \mathbf{X} \mathbf{V} \mathbf{S}^{T}} } \end{array} $$
$$\begin{array}{@{}rcl@{}} \mathbf{V} \leftarrow \mathbf{V} \circ \sqrt{\frac{\mathbf{X}^{T} \mathbf{U} \mathbf{S} }{ \mathbf{V} \mathbf{V}^{T} \mathbf{X}^{T} \mathbf{U} \mathbf{S}} } \end{array} $$
$$\begin{array}{@{}rcl@{}} \mathbf{S} \leftarrow \mathbf{S} \circ \sqrt{\frac{\mathbf{U}^{T} \mathbf{X} \mathbf{V} }{ \mathbf{U}^{T} \mathbf{U} \mathbf{S} \mathbf{V}^{T} \mathbf{V}} } \end{array} $$
Block-wise multiplicative update rules
We present a block-wise formulation of multiplicative update rules for NMTF. We partition the input data X into N×M blocks, X (i,j), where i∈{0,1,…,N−1} and j∈{0,1,…,M−1}. Conversely, latent factor U is row-partitioned into N blocks, and V is column-partitioned into M blocks. Figure 1 shows an example where matrix X is row-partitioned into N=3 blocks and column-partitioned into M=2 blocks.
Bock-wise partitioning of data matrix X using a 3×2 configuration. Latent factor U is divided into three blocks, U (i), and latent factor V (j) is divided into two blocks. The remaining latent factor S is not partitioned into blocks
Using this block-wise data representation we reformulate the multiplicative update rules from Eqs. (1–3) as follows:
$$\begin{array}{*{20}l} \mathbf{U}^{(i)} & \leftarrow \mathbf{U}^{(i)} \circ \frac{\sum_{j} \mathbf{X}^{(i,j)} \left(\mathbf{V}^{(j)} \mathbf{S}^{T}\right) }{ \mathbf{U}^{(i)} \sum_{j} \left(\mathbf{S} \left(\left(\mathbf{V}^{(j)}\right)^{T}\right) \left(\mathbf{V}^{(j)} \mathbf{S}^{T}\right)\right)} \end{array} $$
$$\begin{array}{*{20}l} \mathbf{V}^{(j)} & \leftarrow \mathbf{V}^{(j)} \circ \frac{\sum_{i} \left(\left(\mathbf{X}^{(i,j)}\right)^{T} \mathbf{U}^{(i)}\right) \mathbf{S} }{ \mathbf{V}^{(j)} \mathbf{S}^{T} \sum_{i} \left(\left(\mathbf{U}^{(i)}\right)^{T} \mathbf{U}^{(i)}\right) \mathbf{S}} \end{array} $$
$$\begin{array}{*{20}l} \mathbf{S} & \leftarrow \mathbf{S} \circ \frac{\sum_{j} \sum_{i} \left(\left(\mathbf{U}^{(i)}\right)^{T} \mathbf{X}^{(i,j)}\right) \mathbf{V}^{(j)} }{ \sum_{i} \left(\left(\mathbf{U}^{(i)}\right)^{T} \mathbf{U}^{(i)}\right) \mathbf{S} \sum_{j}\left(\left(\mathbf{V}^{(j)}\right)^{T} \mathbf{V}^{(j)}\right)} \end{array} $$
where i and j denote i-th row and j-th column matrix block, respectively. Notice that our block partitioning scheme and update rules in Eqs. (7–9) preserve all properties of factorizing a non-partitioned matrix X. That is, the result of block-wise matrix tri-factorization is identical to the result returned by non-partitioned matrix tri-factorization as proposed by Long et al. [19]. For example, consider an update for factor U in Eq. (1) and its block-wise variant in Eq. (7). To show that these two update rules are equivalent, we need to check that the values in U (i) are identical to the values of U at corresponding positions. Notice that division in both updates is element-wise; hence, we can independently check equivalency of numerator and denominator. For example, the numerator in Eq. (1) is expressed as X V S T. An i-th row of this expression can be written in a block-wise manner as \(\sum _{j}{\mathbf X^{(i,j)}}{\mathbf V^{(j)}}{\mathbf S}^{T}\), which is exactly the corresponding numerator in Eq. (7). The equivalency of other terms of non-partitioned and block-wise updated rules are further shown in the proof of equivalence of block-wise and non-block-wise formulation of NMTF (Additional file 1: Section 1).
Next, we propose update rules for block-wise orthogonal matrix tri-factorization:
$$\begin{array}{*{20}l} \mathbf{U}^{(i)} & \leftarrow \mathbf{U}^{(i)} \circ \sqrt{\frac{\sum_{j} \mathbf{X}^{(i,j)} \left(\mathbf{V}^{(j)} \mathbf{S}^{T}\right) }{ \mathbf{U}^{(i)} \sum_{i} \left(\mathbf{U}^{(i)}\right)^{T} \sum_{j} \left(\mathbf{X}^{(i,j)} \left(\mathbf{V}^{(j)} \mathbf{S}^{T}\right)\right)} } \end{array} $$
$$\begin{array}{*{20}l} \mathbf{V}^{(j)} & \leftarrow \mathbf{V}^{(j)} \circ \sqrt{\frac{\sum_{j} \left(\left(\mathbf{X}^{(i,j)}\right)^{T} \mathbf{U}^{(i)}\right) \mathbf{S} }{ \mathbf{V}^{(j)} \sum_{j} \left(\mathbf{V}^{(j)}\right)^{T} \sum_{i} \left(\left(\mathbf{X}^{(i,j)}\right)^{T} \mathbf{U}^{(i)}\right) \mathbf{S}} } \end{array} $$
$$\begin{array}{*{20}l} \mathbf{S} & \leftarrow \mathbf{S} \circ \sqrt{\frac{\sum_{j} \sum_{i} \left(\left(\mathbf{U}^{(i)}\right)^{T} \mathbf{X}^{(i,j)}\right) \mathbf{V}^{(j)} }{ \sum_{i} \left(\left(\mathbf{U}^{(i)}\right)^{T} \mathbf{U}^{(i)}\right) \mathbf{S} \sum_{j} \left(\left(\mathbf{V}^{(j)}\right)^{T} \mathbf{V}^{(j)}\right)} } \end{array} $$
The formulation is identical to the non-block-wise formulation originally proposed in Ding et al. [11] and shown in Eqs. (4–6). As before, this property is important because it indicates the proposed block-wise update rules yield latent factors that are identical to the non-block-wise update rules in Ding et al. [11].
Matrix partitioning
To effectively partition data matrix X and latent factors U, V and S into blocks, we distinguish between sparse and dense data matrices. In general, most elements of sparse data matrices are zero, whereas most elements of dense matrices are nonzero [24]. In the case of dense matrix X, our matrix partitioning procedure splits X into contiguous blocks of approximately equal size. In the case of sparse matrix X, we adapt the block size such that each block contains approximately equal number of nonzero elements. Such partitioning leads to workload balancing when factorization is carried out in parallel.
The details of matrix partitioning are provided in Algorithm 1. The algorithm takes as input a data matrix X and a desired block-wise configuration and returns an appropriate partitioning of X. Additional parameters are the number of row blocks N and column blocks M. Partitioning of latent factors U, V and S is determined by the partitioning of matrix X (for example, see Fig. 2).
Block-wise partitioning of data matrix X using a 2×2 configuration. Latent factors U and V are each partitioned into two blocks. The remaining latent factor S is not partitioned into blocks
Overview of block-wise matrix tri-factorization
A complete algorithm for matrix tri-factorization is given as Algorithm 2. The algorithm starts with matrix partitioning, followed by initialization of latent factors. Initial latent factors are then iteratively refined until convergence using the proposed block-wise multiplicative update rules. While not the subject of this paper, convergence is heuristically determined by observing the value of the objective function or the quality of latent factors and corresponding reconstruction error [11, 19].
Data and experimental setup
To test the benefits of the block-wise tri-factorization approach, we implemented the approach on multi-processor and multi-GPU architecture. We then tested the implementation on several biomedical datasets. Here, we describe the datasets, evaluation approach and implementation details.
We considered the following six datasets (Table 1):
TCGA-BRCA is an RNA-Seq gene expression dataset from the GDC databases [25]. The dataset contains expression measurements [26] of genes and gene variants from almost 1,300 human samples.
Table 1 Summary of datasets
E-TABM-185 is a microarray gene expression dataset [27] available at ArrayExpress database with accession number E-TABM-185 [28]. It contains gene expression measurements from almost 6,000 human samples representing different cell and tissue types.
Fetus denotes the fetus-specific functional interaction network from the GIANT database [29]. This is a network on human genes where two genes are connected if they are specifically co-expressed in fetal tissue. The fetus-specific gene interaction network [30] has 30 million interactions and is the sparsest network dataset in the GIANT database.
Retina denotes the retina-specific functional interaction network from the GIANT database [29]. This is a network on human genes where two genes are connected if they are specifically co-expressed in retinal tissue. The retina-specific gene interaction network [31] has 147 million interactions.
Cochlea denotes the cochlea-specific functional interaction network from the GIANT database [29]. This is a network on human genes where two genes are connected if they are specifically co-expressed in cochlear tissue. The cochlea-specific gene interaction network [32] has 280 million interactions and is the densest network dataset in the GIANT database.
TCGA-Methyl is a DNA methylation dataset from the GDC database [25], which contains 10,181 samples from Illumina Human Methylation 450 platform [33]. Each sample contains methylation beta values for over 485,577 CpG sites.
Experimental setup
We factorized each dataset on multi-processor and on multi-GPU architectures. To asses the runtime statistics for a single iteration of factorization, factorization was run for 100 iterations, and measurements were averaged across ten runs. To test relationship between scalability and factorization rank, we varied parameter k, such that k∈{10,20,…,100}. For a given dataset and a given value of factorization rank, factor matrices were initialized to the same values across different platforms.
We considered the following runtime metrics:
Speedup was expressed as the ratio between processing time t A for single iteration on observed architecture A, and processing time t C P U−1 on a single-CPU: \(s_{\mathrm A} = \frac {t_{A}}{t_{CPU-1}}\).
Efficiency was expressed as a fraction of linear speedup, a speedup that assumes that p processing units would reduce the runtime by a factor of p. For an system A p with p processing units, we compute efficiency relative to performance of a single-unit system A 1 on the same architecture. The formula is: \(E_{A_{p}} = \frac {T_{A_{1}}}{p T_{A_{p}}}\). Efficiency of \(E_{A_{p}}=1\) indicates a linear speedup. Communication cost pushes efficiency below this optimal value.
We implemented the block-wise matrix factorization in a Python module. To support multi-GPU architecture we use PyCUDA [34]. Communication between processing units uses OpenMPI [35] with Mpi4py Python interface [36]. Matrix operations are accelerated with OpenBLAS [37] on multi-processor architectures and CuBLAS [38] on GPUs. On multi-processor architectures we use NumPy for dense matrices and SciPy for operations on sparse matrices. On GPUs we use Scikit-cuda [39] for dense matrix operations and CuSPARSE [40] with Python-cuda-cffi [41] for operations on sparse matrices. Our implementation is available online [42].
All experiments were run on a computational server with Intel Xeon E5-1650 processor and on four NVIDIA Titan X (Maxwell) GPUs, each with 12 GB of memory. Given p processing units, we split input data matrix X into p blocks, testing various block configurations. Each block was passed to a processing unit that communicated the block with other units when data for next computational steps were required. Figure 3 shows an example of this computational and data transfer workflow for one update of matrix U on a 2×2-block configuration. Notice this workflow applies to both 4-GPU and 4-processor architecture.
Computational and data transfer workflow for block-wise update of factor matrix U on architecture with four processing units and data matrix X partitioned into 2×2 blocks. Each vertical band represents a processing unit (PU0 to PU3). Stages where all data are available for the next wave of asynchronous operations are horizontally aligned and are marked with t i , i∈{0,1,…,11}
We here present results for non-orthogonal block-wise matrix tri-factorization. Results for orthogonal block-wise matrix tri-factorization are qualitatively the same and are provided in the Additional file 1.
Figures 4 and 5 show speedups achieved on multi-processing and multi-GPU architectures, respectively, for each of six considered biomedical datasets. Runtime performance was tested on architectures with one, two or four processing units. Data matrices were partitioned according to block configurations in Table 2.
Computational speedups on multi-processing architectures. Speedup using 1, 2 and 4 processes compared to a configuration with one processor. Datasets are ordered from smallest to largest based on the number of non-zero values
Computational speedups on multi-GPU architectures. Speedup on 1-, 2- and 4-GPU devices is compared to a single-processor configuration. Datasets are ordered from smallest to largest based on the number of non-zero values
Table 2 Block configurations used in experiments where we tested architectures with two or four processing units (PUs)
Efficiency of parallel implementation depends on dataset shape and on chosen block configuration. Measurements illustrating this dependency are shown in Fig. 6 for multi-processor architectures and in Fig. 7 for multi-GPU architectures.
Efficiency of multi-processor architectures for different block configurations. Efficiency is represented by the fraction of linear speedup. The number of parallel processes is equal to the number of partitions
Efficiency of multi-GPU architectures for different block configurations. Efficiency is represented by the fraction of linear speedup. The number of GPU devices is equal to the number of matrix blocks
One bottleneck of GPU-based architectures is communication overhead that occurs when copying data between GPU boards. This overhead was also observed in our experiments. For example, up to 50% of time needed to factorize TCGA-BRCA dataset in a 4-GPU environment was spent for communication. On larger datasets, however, this overhead was less pronounced. A detailed analysis is provided in Additional file 1: Figures S6 and S8. The communication overhead on multi-processor architectures is negligible as shown in the Additional file 1: Figures S5 and S7.
We also studied algorithm scalability with respect to factorization rank. Figure 9 shows runtime of one iteration as a function of factorization rank value on a four-GPU architecture using a 2×2-block configuration. Figure 8 shows the results on a four-processor architecture.
Iteration time depending on factorization rank in a 4-processor environment. The average runtime of one iteration is plotted against factorization rank. Factorization rank is represented by parameters k 1=k 2
Using matrix partitioning approach presented in Algorithm 1, we can increase speedup on sparse datasets that have imbalanced distribution of nonzero elements. The approach adapts matrix block size based on the number of nonzero elements. In Additional file 1: Figure S11 we show factorization speedup attributed to the adaptive nature of Algorithm 1, and compared to non-adaptive partitioning of data matrix into equally sized blocks. We observe a speedup of up to 1.4-times on multi-processor architecture, and up to 1.2-times on multi-GPU architecture.
Speedup on GPU-architectures is substantial, and pronounced with the dataset size and number of GPUs. For example, factorization on a retina dataset was 150-times faster than that on a single processor. Datasets in Fig. 5 are ordered by their number of nonzero elements, and we can observe a steady increase in speedup. Similar trends can also be observed on multi-processor architectures (Fig. 4), but the speedups are substantially lower than those on the GPUs.
For TCGA-Methyl dataset, the complete data matrix occupies about 19 GBytes of GPU's memory (Additional file 1: Table S1). With a 12 GBytes of total memory on each GPU, and considering the overhead of libraries and temporary data matrices for inter-GPU communication, the data does not fit to the working memory in 1×1 and 1×2 block configurations. Running the factorization with 1×4 block configurations on 1-GPU or 2-GPU is feasible, but due to insufficient memory to store all necessary blocks in a single GPU requires a transfer of data between main memory and GPUs which severely impacts the runtime and prohibits any speedup. On this large dataset, a configuration with 4-GPUs has sufficient memory and provides for excellent speed-up (Fig. 5). This case also demonstrates that for large datasets the proposed approach requires setups with the adequate number of GPUs that can keep all the data in working GPU memory.
Efficiency effects of block configuration
Block configuration plays a significant role in minimizing the impact of data transfers and balancing the load across devices (Figs. 6 and 7). Tall datasets (E-TABM-185) favor row-wise partitioning (e.g., 2×1 and 4×1). Wide datasets (TCGA-BRCA, TCGA-Methyl) favor column-wise partitioning (1×2 and 1×4). The two mentioned datasets, E-TABM-185 and TCGA-BRCA, are also those where the effect of the block configuration on efficiency was most pronounced. This observation highlights that suitable block configuration is data dependent, and also indicates that the selection of block configuration can be automated.
The drop in efficiency under a particular choice of block configuration can be explained by increased communication overhead (Additional file 1: Figures S5 and S6). As we increase the number of devices that run in parallel, we need to perform additional data transfers that are not needed on setups with one matrix block. For example, in the case of tall dataset E-MTAB-185 and column-wise partitioning (1×4), over 40% of factorization runtime was spent for transferring data between GPUs. On the other hand, in the case of wide TCGA-BRCA dataset, the lowest efficiency was measured when row-wise partitioning (4×1) was used, because communication cost was the highest.
Factorization rank
Next, we evaluate the performance of our approach when varying the value of the matrix factorization rank. Factorization rank is a vital parameter of all matrix factorization methods because it determines the number of latent vectors. A larger factorization rank means the inferred latent model has a larger degree of freedom and can thus better approximate the input data matrix [43]. However, increasing factorization rank demands more computational resources and can result in poorer generalization performance [44]. Instead of determining the optimal factorization rank for a given dataset, our goal here is to investigate how the scalability of the proposed block-wise matrix factorization algorithm depends on the value of the factorization rank and on the sparsity of the input data matrix.
Figure 8 shows the iteration time of NMTF as a function of factorization rank on a 4-processor architecture. We can observe that by increasing the factorization rank, the time of iteration increases linearly. For this analysis, both parameters k 1 and k 2, were set with equal values and shown as a single factorization rank parameter. Partitioning was done according to Table 2. When using a single process, the iteration time is proportionally slower according to the speedup shown in Fig. 4.
Figure 9 shows results that correspond to iteration time on 4-GPU architecture. We can see step-wise increases in iteration time, which is a result of the way the multiplication kernel utilizes the physical resources of the GPU [45]. The multiplication on the GPU is done on tiles of data which are processed by several threads in parallel. If the matrix shape is not aligned to the tile size, the border tiles will not make full use of the resources [46].
Iteration time depending on factorization rank in a 4-GPU environment. The average runtime of one iteration is plotted against factorization rank. Factorization rank is represented by parameters k 1=k 2
When comparing the factorization time of a sparse dataset (Fetus) and dense datasets (Retina, Cochlea) of similar size, the benefits of using sparse data structure are substantial. On a GPU, the factorization time on a sparse dataset (Fetus) is slower than on comparable dense datasets (Retina, Cochlea). This is because multiplication with sparse structures requires slower non-sequential memory access [47].
Interpretation of factorization results
Matrix factorization methods can be used to gain a better understanding of the data and their relationships as the methods identify cluster structures and detect potential new associations. The latent factors learned by NMTF reveal clusters in each of the two dimensions of the input data (matrices U and V) and encode cluster interactions (matrix S). The analysis of the latent factors can then lead to data interpretation, cluster discovery, and to prediction of new interactions.
We here demonstrate that tri-factorization can lead to the reconstruction of biologically meaningful interactions. We have used a DNA methylation dataset (TCGA-Methyl, Table 1) consisting of 10,181 tissue samples from 33 cancer types. Tissue samples are profiled using methylation beta values for 485,577 CpG sites of the DNA. From these, we have considered only the sites that are related to 567 genes with known cancer interactions as listed in the Sanger cancer catalog [48]. Of those, 491 genes were included in our dataset and altogether involved 14,299 methylation sites. The resulting matrix had 10,181 rows and 14,299 columns. We factorized the matrix using factorization ranks k 1=25, k 2=30, which yielded an optimal data compression with respect to the accuracy evaluated on a validation dataset (see Additional file 1: Figure S15).
Additional file 1: Table S2 lists five resulting cluster pairs that relate clusters of genes (from matrix V) and clusters of cancer types (from matrix U) with highest interaction scores in matrix S. First, we note that factorization revealed related cancer types, with, for example, colon, stomach and rectum adenocarcinoma (Additional file 1: Table S2, first row) forming its own group. Also, we found several common Gene Ontology annotations for the clustered genes (Additional file 1: Table S3). Most importantly, we found evidence in published literature for a majority of interactions between genes and cancer types inferred through matrix tri-factorization. For example, GATA2 was suggested as a prospective indicator for poor prognosis in patients with colorectal cancer [49], and FAT4 functions as a tumor suppressor for stomach cancer [50]. Other supporting publications are listed in Additional file 1: Table S2.
Transcriptional silencing by DNA methylation plays an important role in the onset of cancer [51, 52]. It is thus encouraging that some of the critical interactions between methylated genes and diseases can be inferred, as demonstrated by this analysis, by non-negative matrix factorization of methylation cancer data alone.
Non-negative matrix tri-factorization is a successful modeling approach that can reveal hidden patterns in biomedical datasets. Current serial factorization approaches take substantial runtime, particularly for larger datasets. We proposed a block-wise approach to speed up matrix tri-factorization through parallel execution. Experiments show the approach easily scales to very large datasets, and can achieve speedups of up to two orders of magnitude on current GPU-based architectures. We anticipate the proposed approach will be important for data integration, where matrix tri-factorization on large collections of data matrices [53] has already been proven superior and where execution times run into days.
Central processing unit
Message passing interface
NMTF:
Non-negative matrix tri-factorization
PU:
RNA:
Lee DD, Seung HS. Algorithms for non-negative matrix factorization. In: Advances in Neural Information Processing Systems. Cambridge: MIT Press: 2001. p. 556–62.
Devarajan K. Nonnegative matrix factorization: an analytical and interpretive tool in computational biology. PLoS Comput Biol. 2008; 4(7):1000029.
Lee CM, Mudaliar MA, Haggart D, Wolf CR, Miele G, Vass JK, Higham DJ, Crowther D. Simultaneous non-negative matrix factorization for multiple large scale gene expression datasets in toxicology. PloS ONE. 2012; 7(12):48238.
Wang JJ-Y, Wang X, Gao X. Non-negative matrix factorization by maximizing correntropy for cancer clustering. BMC Bioinformatics. 2013; 14(1):107.
Northcott PA, Korshunov A, Witt H, Hielscher T, Eberhart CG, Mack S, Bouffet E, Clifford SC, Hawkins CE, French P, et al. Medulloblastoma comprises four distinct molecular variants. J Clin Oncol. 2010; 29(11):1408–14.
Gönen M. Predicting drug–target interactions from chemical and genomic kernels using bayesian matrix factorization. Bioinformatics. 2012; 28(18):2304–310.
Hwang T, Atluri G, Xie M, Dey S, Hong C, Kumar V, Kuang R. Co-clustering phenome–genome for phenotype classification and disease gene discovery. Nucleic Acids Res. 2012; 40(19):146–6.
Sajda P, Du S, Brown TR, Stoyanova R, Shungu DC, Mao X, Parra LC. Nonnegative matrix factorization for rapid recovery of constituent spectra in magnetic resonance chemical shift imaging of the brain. IEEE Trans Med Imaging. 2004; 23(12):1453–65.
Tikole S, Jaravine V, Rogov V, Dötsch V, Güntert P. Peak picking NMR spectral data using non-negative matrix factorization. BMC Bioinformatics. 2014; 15(1):46.
Anderson A, Douglas PK, Kerr WT, Haynes VS, Yuille AL, Xie J, Wu YN, Brown JA, Cohen MS. Non-negative matrix factorization of multimodal MRI, fMRI and phenotypic data reveals differential changes in default mode subnetworks in ADHD. NeuroImage. 2014; 102:207–19.
Ding C, Li T, Peng W, Park H. Orthogonal nonnegative matrix t-factorizations for clustering. In: Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM: 2006. p. 126–35.
Benson AR, Lee JD, Rajwa B, Gleich DF. Scalable methods for nonnegative matrix factorizations of near-separable tall-and-skinny matrices. In: Advances in Neural Information Processing Systems. Red Hook: Curran Associates, Inc.: 2014. p. 945–53.
Kysenko V, Rupp K, Marchenko O, Selberherr S, Anisimov A. GPU-accelerated non-negative matrix factorization for text mining. In: International Conference on Application of Natural Language to Information Systems. Berlin: Springer: 2012. p. 158–63.
Platoš J, Gajdoš P, Krömer P, Snášel V. Non-negative matrix factorization on GPU. In: International Conference on Networked Digital Technologies. Berlin: Springer: 2010. p. 21–30.
Mejía-Roa E, Tabas-Madrid D, Setoain J, García C, Tirado F, Pascual-Montano A. NMF-mGPU: non-negative matrix factorization on multi-GPU systems. BMC Bioinformatics. 2015; 16(1):43.
Sun Z, Li T, Rishe N. Large-scale matrix factorization using mapreduce. In: 2010 IEEE International Conference on Data Mining Workshops (ICDMW). Los Alamitos: IEEE Computer Society: 2010. p. 1242–8.
Dean J, Ghemawat S. Mapreduce: simplified data processing on large clusters. Commun ACM. 2008; 51(1):107–13.
Yin J, Gao L, Zhang ZM. Scalable nonnegative matrix factorization with block-wise updates. In: Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Berlin: Springer: 2014. p. 337–52.
Long B, Zhang ZM, Yu PS. Co-clustering by block value decomposition. In: Proceedings of the Eleventh ACM SIGKDD International Conference on Knowledge Discovery in Data Mining. New York: ACM: 2005. p. 635–40.
Ma C, Kamp Y, Willems LF. A frobenius norm approach to glottal closure detection from the speech signal. IEEE Trans Speech Audio Process. 1994; 2(2):258–65.
Guo S, Wu X, Li Y. On the lower bound of reconstruction error for spectral filtering based privacy preserving data mining. In: European Conference on Principles of Data Mining and Knowledge Discovery. Berlin: Springer: 2006. p. 520–7.
Zhang Y, Yeung DY. Overlapping community detection via bounded nonnegative matrix tri-factorization. In: Proceedings of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM: 2012. p. 606–14.
Chen G, Wang F, Zhang C. Collaborative filtering using orthogonal nonnegative matrix tri-factorization. Inf Process Manag. 2009; 45(3):368–79.
Soni A, Jain S, Haupt J, Gonella S. Noisy matrix completion under sparse factor models. IEEE Trans Inf Theory. 2016; 62(6):3636–61.
Grossman RL, Heath AP, Ferretti V, Varmus HE, Lowy DR, Kibbe WA, Staudt LM. Toward a shared vision for cancer genomic data. N Engl J Med. 2016; 375(12):1109–12.
Lingle W, Erickson B, Zuley M, Jarosz R, Bonaccio E, Filippini J, Gruszauskas N. Radiology data from the cancer genome atlas breast invasive carcinoma [TCGA-BRCA] collection.The Cancer Imaging Archive. 2016. http://doi.org/10.7937/K9/TCIA.2016.AB2NAZRP. https://wiki.cancerimagingarchive.net/display/Public/TCGABRCA#a1133e32f8c541859b2e9a19ec11c3cb. Accessed 12 Oct 2016.
Lukk M, Kapushesky M, Nikkilä J, Parkinson H, Goncalves A, Huber W, Ukkonen E, Brazma A. A global map of human gene expression. Nat Biotechnol. 2010; 28(4):322–4.
Kolesnikov N, Hastings E, Keays M, Melnichuk O, Tang YA, Williams E, Dylag M, Kurbatova N, Brandizi M, Burdett T, et al. Arrayexpress update-simplifying data submissions. Nucleic Acids Res. 2014; 43(D1):D1113–D1116.
Greene CS, Krishnan A, Wong AK, Ricciotti E, Zelaya RA, Himmelstein DS, Zhang R, Hartmann BM, Zaslavsky E, Sealfon SC, et al. Understanding multicellular function and disease with human tissue-specific networks. Nat Genet. 2015; 47(6):569–76.
Fetus-specific functional interaction network. http://giant.princeton.edu/static/networks/fetus.gz. Accessed 10 Oct 2016.
Retina-specific functional interaction network. http://giant.princeton.edu/static/networks/retina.gz. Accessed 10 Oct 2016.
Cochlea-specific functional interaction network. http://giant.princeton.edu/static/networks/cochlea.gz. Accessed 10 Oct 2016.
GDC data portal. https://portal.gdc.cancer.gov/. Accessed 25 Sept 2017.
Klöckner A, Pinto N, Lee Y, Catanzaro B, Ivanov P, Fasih A. PyCUDA and PyOpenCL: a scripting-based approach to GPU run-time code generation. Parallel Comput. 2012; 38(3):157–74.
Gabriel E, Fagg GE, Bosilca G, Angskun T, Dongarra JJ, Squyres JM, Sahay V, Kambadur P, Barrett B, Lumsdaine A, Castain RH, Daniel DJ, Graham RL, Woodall TS. Open MPI: Goals, concept, and design of a next generation MPI implementation. In: Proceedings, 11th European PVM/MPI Users' Group Meeting. Berlin: Springer: 2004. p. 97–104.
Dalcin LD, Paz RR, Kler PA, Cosimo A. Parallel distributed computing using python. Adv Water Resources. 2011; 34(9):1124–39.
Xianyi Z, Qian W, Yunquan Z. Model-driven level 3 BLAS performance optimization on loongson 3A processor. In: 18th IEEE International Conference on Parallel and Distributed Systems (ICPADS). Los Alamitos: IEEE Computer Society: 2012. p. 684–91.
CUDA Basic Linear Algebra Subroutines (cuBLAS). 2014. Available: https://developer.nvidia.com/cuBLAS. Accessed 13 June 2017.
Givon LE, Unterthiner T, Erichson NB, Chiang DW, Larson E, Pfister L, Dieleman S, Lee GR, van der Walt S, Moldovan TM, Bastien F, Shi X, Schlüter J, Thomas B, Capdevila C, Rubinsteyn A, Forbes MM, Frelinger J, Klein T, Merry B, Pastewka L, Taylor S, Wang F, Zhou Y. scikit-cuda 0.5.1: a Python interface to GPU-powered libraries. 2015. doi:10.5281/zenodo.40565. Accessed 27 Sept 2017.
NVIDIA CUDA Sparse Matrix library (cuSPARSE): 2010. Available: https://developer.nvidia.com/cusparse. Accessed 13 June 2017.
Lee GR. python-cuda-cffi repository. https://github.com/grlee77/python-cuda-cffi. Accessed 27 Sept 2017.
Copar A, Zitnik M, Zupan B. CROW: Fast Non-Negative Matrix Tri-Factorization. https://github.com/acopar/crow. Accessed 27 Sept 2017.
Tan VY, Févotte C. Automatic relevance determination in nonnegative matrix factorization with the β-divergence. IEEE Trans Pattern Anal Mach Intell. 2013; 35(7):1592–605.
Kanagal B, Sindhwani V. Rank selection in low-rank matrix approximations: A study of cross-validation for NMFs. In: Proceedings of NIPS 2010: 6-11 December. Red Hook: Curran Associates, Inc.: 2010.
Kurzak J, Tomov S, Dongarra J. Autotuning GEMM kernels for the fermi GPU. IEEE Trans Parallel Distributed Syst. 2012; 23(11):2045–57.
Sørensen HHB. High-performance matrix-vector multiplication on the GPU. In: European Conference on Parallel Processing. Berlin: Springer: 2011. p. 377–86.
Monakov A, Lokhmotov A, Avetisyan A. Automatically tuning sparse matrix-vector multiplication for GPU architectures. In: International Conference on High-Performance Embedded Architectures and Compilers. Berlin: Springer: 2010. p. 111–25.
Futreal PA, Coin L, Marshall M, Down T, Hubbard T, Wooster R, Rahman N, Stratton MR. A census of human cancer genes. Nat Rev Cancer. 2004; 4(3):177.
Xu K, Wang J, Gao J, Di J, Jiang B, Chen L, Wang Z, Wang A, Wu F, Wu W, et al. GATA binding protein 2 overexpression is associated with poor prognosis in KRAS mutant colorectal cancer. Oncol Rep. 2016; 36(3):1672–8.
Cai J, Feng D, Hu L, Chen H, Yang G, Cai Q, Gao C, Wei D. FAT4 functions as a tumour suppressor in gastric cancer by modulating wnt/ β-catenin signalling. Br J Cancer. 2015; 113(12):1720.
Luczak MW, Jagodzinski PP. The role of DNA methylation in cancer development. Folia Histochem Cytobiol. 2006; 44(3):143–54.
Jin B, Robertson KD. DNA methyltransferases, DNA damage repair, and cancer. Adv Exp Med Biol. 2013; 754:3–29.
Zitnik M, Zupan B. Data fusion by matrix factorization. Pattern Anal Mach Intell IEEE Trans. 2015; 37(1):41–53.
This work was supported by Slovenian Research Agency grant P2-0209 and by a grant Health-F5-2010-242038 from European Union FP7 programme.
A Python library implementing the proposed block-wise matrix tri-factorization is available at the GitHub repository https://github.com/acopar/crow.
Faculty of Computer and Information Science, University of Ljubljana, Ljubljana, Slovenia
Andrej Čopar, Marinka žitnik & Blaž Zupan
Department of Computer Science, Stanford University, Stanford, 94305, CA, USA
Marinka žitnik
Baylor College of Medicine, Houston, 77030, TX, USA
Blaž Zupan
Andrej Čopar
AC and Mž developed the method; AC implemented the method and performed the experiments; and AC, Mž and BZ wrote the manuscript. BZ coordinated the project. All authors read and approved the final manuscript.
Correspondence to Andrej Čopar.
The work described herein does not involve humans, human data or animals. Therefore ethics and consent approval is not applicable.
Document with mathematical proofs, results for impact of communication, impact of balancing sparse datasets and results for orthogonal NMTF. (PDF 317 kb)
Čopar, A., žitnik, M. & Zupan, B. Scalable non-negative matrix tri-factorization. BioData Mining 10, 41 (2017). https://doi.org/10.1186/s13040-017-0160-6
Matrix factorization
Non-negative block value decomposition
Block-wise multiplication
Graphics-processing unit
Large scale latent factor analysis


Polyamory without rules? Isn't that anarchy and chaos?
Franklin Veaux (@franklinveaux), author of More Than Two (@MTTbook) explores the difference between rules and boundaries, and how we can use direct communication to get our needs met without stepping on the needs of others.
Read Polyamory without rules? Isn't that anarchy and chaos?


These are ideal for a wide range of purposes including prevention of light ingress, and avoiding noise pollution and adverse room acoustics. They can also be used effectively as decoration. These blackout drapes come in a wide range of sizes to suit venues from small rooms up to the largest event spaces such as the NEC and Wembley Arena, both of which we have provided drapery to major productions.
Visit our dedicated Dry Hire site!
We have one of the UK's largest stocks of drapery. Our black wool serge is perfect for blacking out a room, creating a blank canvas, or as part of an acoustic solution. We have drops of 3, 4, and 5m, and can start from 3m wide. We also stock drapes in other colours such as blue, and white.
We can provide a full drapery solution - call 0333 022 0171 or email hello@sxsevents.co.uk for info.


text:
Q: qx.data.store.Jsonp: configureRequest not getting request as parameter when creating an new qx.data.store.Jsonp object like this...
var store = new qx.data.store.Jsonp(url, {
  configureRequest: function(req) {
    req.setParameter("key", "resources.appsrvs");
  }
},"callback");

... the delegate function configureRequest does not get the request as parameter as described in qx.data.storeInterface.IStoreDelegate. so how can i configure the request?

A: Unfortunately, not in the way you intend. The Jsonp store uses a ScriptLoader object, as it is designed for cross-domain requests. So your delegate is used, but the 'req' object passed to it is actually a qx.io.ScriptLoader instance. Please see the API doc for ScriptLoader and also here for some additional details.
If you are not planning to do a cross-domain request, consider using qx.data.store.Json instead.

A: It might have something to do with the fact that qx.data.store.Jsonp internally seems to use qx.io.ScriptLoader for which the documentation says EXPERIMENTAL – NOT READY FOR PRODUCTION.
Also you didn't specify which version of qooxdoo you use. Prior to 1.0.x I think qx.data.store.Jsonp is just an empty stub.
Does your function get called at all? If yes what does it get passes as parameters?
And finally consider just filing a bug report.

redpajama_set_name: RedPajamaStackExchange


text:
HANSARD 1803–2005 → 2000s → 2003 → October 2003 → 23 October 2003 → Written Answers (Commons) → ENVIRONMENT, FOOD AND RURAL AFFAIRS
Common Agricultural Policy
HC Deb 23 October 2003 vol 411 cc642-4W 642W
§ 22. Mr. Kidney
To ask the Secretary of State for Environment, Food and Rural Affairs what assessment she has made of the impact of reform of the Common Agricultural Policy on the support available for growing energy crops. [133805]
§ Alun Michael
The reform of the Common Agricultural Policy was positive in its support for energy crops. It will still be possible to grow energy crops on set-aside land and to receive payments under the new Single Payment Scheme. If energy crops are grown on non set-aside land payments under the new Single Payment Scheme and the new €45 per hectare energy crops payment will be available. The energy crops payment is limited to 1.5 million hectares for the EU as a whole and aid will be reduced if production exceeds that area.
§ Mr. Wills
To ask the Secretary of State for Environment, Food and Rural Affairs what progress has been made with the reform of the common agricultural policy sugar regime. [133799]
§ Mr. Morley
The European Commission issued an options paper on reform of the Sugar Regime in late September 2003. A Defra consultation exercise has just been launched to help inform the UK response, covering agricultural, development and trade issues.
§ Miss McIntosh
To ask the Secretary of State for Environment, Food and Rural Affairs when she next plans to meet the National Chairman of the Tenant Farmers Association to discuss the CAP Reform package of 26 June. [132264]
§ Mr. Bradshaw
My right hon. Friend the Secretary of State, has no plans at present to meet the National Chairman of the Tenant Farmers' Association. However, my noble Friend, the Lord Whitty, is currently considering a request from the Chief Executive of the Tenant Farmers' Association to meet him. The Chief Executive attended a meeting with Defra officials and representatives of other key stakeholders on 8 October which unfortunately my noble Friend was unable to chair due to last minute diary pressures. The Chief Executive has also been invited to a meeting with officials on 17 October.
To ask the Secretary of State for Environment, Food and Rural Affairs if she will make a statement on the impact of the CAP Reform package of 26 June on the nation's tenant farmers. [132265]
No specific assessment has been undertaken of the impact of the CAP reform proposals on tenant farmers. However, we have assessed the impacts of the proposals on farming and other businesses generally, including an analysis by farm activity, and a summary of these is included in the Regulatory Impact Assessments which have been lodged in the House Libraries. An additional analysis looking at the impact on distribution of payments of various options for operating the Single Payment Scheme has also been carried out and a copy has been placed in the Library of the House.
For the first time, the bulk of farm subsidy will not be dependent on what or how much farmers produce. As with the previous system, subsidy would be paid to the farmer, whether owner or tenant, will continue to hold the subsidy entitlement. Tenant farmers, along with other farmers, will therefore be free to produce what they judge the market wants and so be better able to cut costs and increase profits. Farmers will also be freed from some of the bureaucracy associated with the subsidy schemes which are being replaced by the new decoupled subsidy.
To ask the Secretary of State for Environment, Food and Rural Affairs what assessment she has made of the possible impact on tenant farmers of the option available to EU member states to implement the CAP Reform package of 26 June by using regional average payments. [132266]
No such assessment has been done in relation to tenant farmers specifically. However, we have prepared an analysis of the impacts of regional average payments on farming and other businesses generally and a copy has been placed in the Library of the House.
To ask the Secretary of State for Environment, Food and Rural Affairs what assessment she has made of the extent of redistribution of payments between farmers if the CAP Reform package of 26 June is implemented using regional average payments as opposed to the historic payment basis. [132267]
We are currently consulting stakeholders on whether the historic or area model of the new Single Payments Scheme should be operated in England. Responses to that exercise will help develop our understanding of the range of environmental, social and economic impacts of each of the models including the impact on the agriculture industry and its constituent parts. An assessment has been made of the redistributive effects of a number of CAP direct aid payments. A copy has been placed in the Library of the House.
To ask the Secretary of State for Environment, Food and Rural Affairs if it is her policy to ensure that as farm tenants progress to better agricultural holdings they will be free to move their single payment entitlements established under the CAP Reform package of 26 June to those holdings without penalty. [132268]
Entitlements under the Single Payment Scheme will be allocated to farmers rather than holdings. It follows that a tenant would be free to use the eligible land on any new holding to claim payment against the entitlements he or she owns. There is also provision to lease entitlements, but only with an equivalent number of hectares. Leased entitlements would, therefore, revert back to their owner at the same time that the accompanying land does.
Back to Air Quality
Forward to Beef Exports

redpajama_set_name: RedPajamaCommonCrawl


text:
Here's Shakil, who has worked in both Dubai and Singapore
webmaster2019-08-30T16:30:45+08:00December 23rd, 2018|Articles, Stories|
In Singapore, we rarely see workers who have worked in the Middle East before coming here. Why that is so probably involves complex reasons outside the scope of this article.
Shakil is the unusual one. He spent five years in Dubai before coming to Singapore. We seize the opportunity to ask him to describe his work and the conditions that he experienced over there.
Shakil Mohammad
Through the five years, he worked for a very big company called Al Habtoor. "Have 96,000 workers," Shakil says. "Big construction company."
Although he describes his basic salary as "520 dirhams" (=S$194) per month, he further elaborates that mostly he was on piece rate. Each task assigned to him would, on completion, earn him X number of "hours", which was later converted into salary. If he took only a short while to complete the task, it would be to his benefit, earning him more "hours" than he actually put in. Of course, the reverse could also apply.
We don't have the time to talk in detail about how the hours were then converted to total monthly salary — the UAE has clear rules about overtime pay, where overtime is defined as hours in excess of 48 per week — but Shakil says salary was never an issue. It was always paid on time, in the evening of the last day of the calendar month or the day after, and deposited into his bank account. Most months he would earn far more than the basic salary.
It could be as high as "1,500 dirhams, sometimes have." That's the equivalent of S$560.
When we later compare this Dubai salary with what he would later earn in Singapore, he adds,"but many things not so expensive in Dubai. Food very cheap."
To get the Al Habtoor job, he had paid about S$3,500 in agent fees. It may not sound like much compared to what new Bangladeshi workers have to pay to land a construction job in Singapore, but seen in the context of a basic salary of 520 dirhams, the agent fee he paid was 18 times the basic monthly salary. Luckily, he was able to stay on the job for five years.
Changing the topic somewhat, we ask Shakil to "tell us about the dormitory or the camp."
He is momentarily perplexed by our terminology, before realising that the question is about housing generally.
"I live in bungalow house," he answers. Not a dormitory or a camp. That sounds wonderful, but we hold back; a 'house' after all can be anything from a mansion to a shack. We urge him to say more about it.
"Have twelve man stay there," Shakil elaborates.
"How many rooms?"
"Six."
Alright, it's a veritable mansion. With airconditioning, kitchen — where they get to cook their own meals — and a washing machine.
In Singapore, even the best purpose-built dormitories are designed for twelve men sharing one room. Of course, Al Habtoor may be an unusually good employer and Shakil's experience far from typical. All we have in front of us is a sample of one. Hardly representative.
Eventually, after five years, projects dried up. The good times didn't last; there was less and less work, and Shakil quit to return to Bangladesh.
He remained home in Bangladesh for four years, during which he worked as a salesman for Unilever, earning a salary (no overtime) of 7,000 taka a month (=S$115). He got married too. Unilever's measly salary would not help him support a wife, so he decided to come to Singapore in 2017.
He paid $7,500 to a job broker in Bangladesh to get a job here with a basic monthly salary of $468. Interestingly, the fee-to-salary multiple is a shade better than the ratio for Dubai. It's "only" 16 times his basic salary for this new job.
He's employed as a scaffolder here, once again on piece rate. For every section of scaffolding he erects, he earns a set rate. So, he tries to work as fast as possible or put in as much overtime as he can. "Usually total salary about $1,000 one month, but highest was $1,700."
Is sturdiness and safety of the scaffolding sacrificed for speed? we wonder. Actually, we don't have to wonder. Eleven months into his Singapore job, steel struts came crashing down. "China worker above me, he make mistake," says Shakil.
Shakil himself was struck by the falling pieces, fell, got hurt, and is now temporarily unable to work.


Rainy Day? Check out OBX Museums!
The Outer Banks is home to some of the most amazing museums anywhere. I know this because as a child my mother would drag us to every museum imaginable–and as a consequence I have become a connoisseur of what it takes for a museum to hold the interest of a child.
There's not a lot of museums on the Outer Banks, so one good rainy day should take care of the whole thing–although something like the Aquarium may be worth spending more time.
The Aquarium actually has two locations on the Outer Banks–the NC Aquarium onRoanoke Island and Jennette's Pier.
The Aquarium (I'm calling it a museum because you go inside and look at exhibits) is relatively small but can easily take an hour and a half to two hours of time. The otters are invariably cute, the alligators endlessly fascinating, the petting pond a thing of wonder and the gigantic aquarium filled with NC sea life is equally as interesting for both children and adults. Especially when the divers are in the tank cleaning it or feeding the sharks.
Easy to find . . . drive through Manteo and look for the Airport sign. It's just before the Airport. Jennette's pier is part of the NC Aquarium system, but we'll talk about the pier some other time.
Probably the best known museum on the Outer Banks is the Wright Brother's Memorial in Kill Devil Hills. The entire grounds actually serve as a museum, and the view from the top of the Memorial is amazing. However, the building that houses the Wright Flyer (It's actually an exact replica. The original is in the Smithsonian.) should be on every family's list of things to do.
From an adult perspective, what becomes apparent in walking through the museum, is that Wilbur and Orville Wright were extraordinary scientists and it was no accident that their aircraft flew. From a child's standpoint the talk that is given in the rotunda that houses the Flyer is fascinating and informative. What is perhaps most unique about the discussion is that, although geared toward elementary school children, it is so filled with interesting facts that adults find it interesting.
For the folks up north(Duck and Corolla), Currituck County Heritage Park houses the Whalehead Club, the Currituck Beach Lighthouse and the Outer Banks Center for Wildlife Education.
Kind of a shame the Outer Banks Center for Wildlife Education has such a convoluted name for such a wonderful little museum. It contains, among other things, the largest hand carved decoy collection in the world (kids may or may not find that interesting), a diorama of the history and ecology of the Currituck Sound and a 8,000 gallon tank filled with the creatures that live in the sound. Figure about 30-45 minutes with kids in the Wildlife Center and then head over to the Lighthouse and climb to the top. Amazing view, worth the effort, kids love it.


text:
India and Lithuania celebrate their 'personal bond' with Kolkata at the heart of it
Hon'ble Governor of West Bengal, Shri Keshari Nath Tripathi, released a book "India and Lithuania: A Personal Bond" in Kolkata on Monday (3 April). Lithuanian Ambassador Laimonas Talat-Kelpša and other high dignitaries also attended the event at the iconic Oxford Bookstore on Park Street.
M.Gandhi and H.Kallenbach sculpture in Lithuania
The book has been produced by the Lithuanian Embassy in New Delhi and is dedicated to the 25th anniversary of Indo-Lithuanian diplomatic relations.
"We believe that this important publication will further increase Kolkata's interest in Lithuania, a small European nation with which Kolkata already shares many things in common," said the ambassador during the book launch.
The book featuring Gandhi and three Lithuanians, Poška, Vydūnas and Kallenbach on its cover, contains seven articles on historical personalities who contributed to the forging of the special connect between two geographically distant nations.
PM Butkevičius attends India@70 reception
Lithuanian-grown peas go to India
For example, Hermann Kallenbach was Gandhiji's closest associate during his South African times, his 'soulmate.'
Meanwhile, Antanas Poška traveled from Lithuania to India on a motorbike in 1931, a journey that to this day would be hard to accomplish. Poška's legacy served as a source of inspiration to generations of Lithuanians. The University of Calcutta also honored him with a posthumous D.Litt in 2014. More information on Poška available here.
"It is unique that Kolkata and West Bengal takes such a central role in the Indo-Lithuanian relationship and we must definitely try to build on that," said Arvind Sukhani, Lithuania's Honorary Consul in West Bengal, who co-sponsored the publication.
Over the last three years, Mr. Sukhani and the Lithuanian Embassy have arranged a number of important events in Kolkata, to promote public awareness about Lithuania.
Thus, in 2014, a philatelic exhibition featuring the coats of arms of Lithuanian towns and provinces was set up at the Conclave Club.
The same year, a renowned Lithuanian dancer Loreta Juodkaitė attended the Kolkata International Theater Festival, where she performed a mind-blowing solo act called 'Salamandra's dream.' This included an almost one hour of vertigo spinning, an exercise so physically exhausting that only a few actors dare to perform it.
In 2016, when Lithuania inaugurated its Honorary Consulate in Kolkata, the Bengali edition of "The History of Lithuania" book was officially released. This edition represents the first of its kind in any South Asian language.
In February next year, the Republic of Lithuania will celebrate its Centenary. This will serve as yet another opportunity to present Lithuania to the citizens of Kolkata, both Mr. Sukhani and the ambassador maintain.
India and Lithuania established their diplomatic relations on 27 April 1992.
Prime Minister of Lithuania , HE Mr Algirdas Butkevičius , was the chief guest at a grand reception...
India and Lithuania agree to deepen cultural and economic ties
In a high-level interaction between India and Lithuania, the Vice President of India, Dr. Mohammed...
Minister of State for External Affairs of India visiting Lithuania for the first time
Mr M. J. Akbar, Minister of State for External Affairs, Government of India , and his delegation will...
India considers opening embassy in Lithuania
India is considering opening an embassy in Lithuania, Mobashar Akbar , the country's minister of...
Lithuania to appoint new ambassadors to India, Armenia
The Lithuanian government on Wednesday gave the green light for recalling the country's ambassadors...


The Internet Society's policy agenda on trust is guided by our "Policy Framework for an Open and Trusted Internet". This document underscores the challenge that diminishing trust presents to the Internet. And, it provides a blueprint for addressing the complexities of establishing the solid foundation of trust required to realize the Internet's full potential. At its core, trust is created by taking responsibility for securing that piece of the Internet for which one bears responsibility, and by being held to account when one doesn't.
We approach the critical issue of trust from many dimensions.
Beyond consumers, we provide a home for the Network and Distributed System Symposium (NDSS). NDSS is a top academic conference on network and systems security, with a unique open-publication policy. This conference not only attracts top researchers from around the world, but shares contributions in a way that promotes diffusion of information to industry and beyond.
In addition, we will continue our work in the Global Commission on the Stability of Cyberspace (GCSC), and contribute to the global norm development around Cyber and International Stability.
We will of course continue to weigh in on discussions around privacy, identification, and encryption in various policy-oriented forums. We will continue to speak out against Internet shutdowns, lending our technical expertise to communities impacted by government mandated disruptions of Internet access. Where applicable we will contribute to trust-enabling technical developments, such as technologies that enhance transparency or improve privacy.
The ability for individuals to interact online without sacrificing their personal privacy is a vital part of the Internet's value, and is intimately related to its trustworthiness. Privacy is about retaining the ability to disclose data consensually, and with expectations about the context and scope of sharing.
The Internet Society has dedicated outreach activities on identity and privacy. These are aimed at technology vendors and adopters, to encourage privacy-respecting technology deployment, and at policymakers and legislators to provide the necessary counter-balances to commercial expediency.
Read more about privacy and how the Internet Society can help.
Read more about encryption, the threats it faces, and how the Internet Society can help.
People deserve to have their rights protected on the Internet as well as offline. The Internet can bring all of us closer together. Whether people use the Internet to create powerful apps, find information, buy and sell things, or even just stay in touch with their family and friends — it's important we all have the freedom to do any of these of things online.
The Internet Society fights for an Internet that is open for all, and where people's rights are respected.
Read more about the threat to Internet freedom and how the Internet Society can help.


text:
60W Fit Yamaha XP500 TMAX 2009 2010 2011 H7 LED Headlights High Beam 6000K Bulbs
tecoparts ( 91431 )
Details about 60W Fit Yamaha XP500 TMAX 2009 2010 2011 H7 LED Headlights High Beam 6000K Bulbs
FREE Standard SpeedPAK from Greater China | See details
Estimated between Fri. 4 Feb. and Fri. 18 Feb. Estimated delivery date help - opens a layer
Last updated on Nov 30, 2021 12:07:13 MYT View all revisions
New: A vehicle is considered new if it is purchased directly from a new car franchise dealer and has ...
New: A vehicle is considered new if it is purchased directly from a new car franchise dealer and has not yet been registered and issued a title. New vehicles are covered by a manufacturer's new car warranty and are sold with a window sticker (also known as a "Monroney Sticker") and a Manufacturer's Statement of Origin. These vehicles have been driven only for demonstration purposes and should be in excellent running condition with a pristine interior and exterior. See the seller's listing for full details. See all condition definitionsopens in a new window or tab
Bevinsee
Placement on Vehicle:
Left, Right, Front
Fitment Type:
Cold White
Bulb Size:
60W/Pair
To Fit:
OE Spec or Performance/Custom:
Performance/Custom
Lumens:
16000LM/Pair
Other Part Number:
5PS-84314-00-00
MAXPOWER-CNC
ATV Accessories & Parts
Off Road & Motocross Parts
Street & Scooter Parts
Cars and Trucks Parts
Cars & Trucks LED Light
Cars & Trucks Parts
For KTM
For Honda
For Yamaha
For Suzuki
For Kawasaki
For Husqvarna
For Husaberg
Motoycycle/off road Gear
For Beta
For GASGAS
For Aprilia
For MV Agusta
For Harley
For Moto Guzzi
For Buell
Item location: Guangzhou, China
Excludes: Africa, South America, Afghanistan, Armenia, Azerbaijan Republic, Bangladesh, Bhutan, China, Georgia, India, Kazakhstan, Kyrgyzstan, Mongolia, Nepal, Pakistan, Tajikistan, Turkmenistan, Uzbekistan, Brunei Darussalam, Cambodia, Hong Kong, Indonesia, Laos, Macau, Philippines, Taiwan, Albania, Andorra, Bosnia and Herzegovina, Gibraltar, Guernsey, Iceland, Jersey, Liechtenstein, Lithuania, Macedonia, Malta, Moldova, Monaco, Montenegro, San Marino, Serbia, Slovakia, Slovenia, Svalbard and Jan Mayen, United Kingdom, Vatican City State, Anguilla, Antigua and Barbuda, Aruba, Bahamas, Barbados, Belize, British Virgin Islands, Cayman Islands, Costa Rica, Dominica, Dominican Republic, El Salvador, Grenada, Guadeloupe, Guatemala, Haiti, Honduras, Jamaica, Martinique, Montserrat, Netherlands Antilles, Nicaragua, Panama, Saint Kitts-Nevis, Saint Lucia, Saint Vincent and the Grenadines, Trinidad and Tobago, Turks and Caicos Islands, Virgin Islands (U.S.), American Samoa, Australia, Cook Islands, Fiji, French Polynesia, Guam, Kiribati, Marshall Islands, Micronesia, Nauru, New Caledonia, Niue, Palau, Papua New Guinea, Solomon Islands, Tonga, Tuvalu, Vanuatu, Wallis and Futuna, Western Samoa, Bahrain, Iraq, Jordan, Kuwait, Lebanon, Oman, Qatar, Turkey, United Arab Emirates, Yemen, Bermuda, Greenland, Mexico, Saint Pierre and Miquelon
Change country: -Select- Austria Belarus Belgium Bulgaria Canada Croatia, Republic of Cyprus Czech Republic Denmark Estonia Finland France Germany Greece Hungary Ireland Israel Italy Japan Korea, South Latvia Luxembourg Malaysia Maldives Netherlands New Zealand Norway Poland Portugal Puerto Rico Romania Russian Federation Saudi Arabia Singapore Spain Sri Lanka Sweden Switzerland Thailand Ukraine United States Vietnam
Standard SpeedPAK from Greater China
Estimated between Fri. 4 Feb. and Fri. 18 Feb.
Expedited Shipping from Greater China to worldwide
Estimated between Thu. 27 Jan. and Thu. 3 Feb.
LED Xenon High Beam Car & Truck Light Bulbs & LEDs H7 Bulb Fitment Code,
H7 LED Bulb Car and Truck Headlights,
Xenon High Beam Car & Truck Light Bulbs & LEDs 6000K Color Temperature,
Unbranded Xenon High Beam Car & Truck Light Bulbs & LEDs H7 Bulb Fitment Code,
Xenon High Beam Blue Car & Truck Light Bulbs & LEDs H7 Bulb Fitment Code,
Car & Truck 6000K LED Headlight Bulbs,
H7 Bulb Car and Truck Headlights,
Xenon High Beam Car & Truck Light Bulbs & LEDs,
H7 Bulb Car and Truck LED Lights,
Xenon Low Beam Car & Truck Light Bulbs & LEDs 6000K Color Temperature


The Hagerstown City Council on Tuesday expressed support for a proposal to move a downtown Hagerstown bus stop from its present location near Public Square.
John Budesky, director of administrative services, presented to the council two locations where a bus stop could be located on city-owned property off West Washington Street. The sites are in a city parking lot across Washington Street from Elizabeth Court near the Tusing Warehouse.
The Washington County Commissioners would have to approve the site, Budesky said. The county also would have to hold a public hearing, she said.
The bus stop could not be moved for at least six to eight months, Budesky said.
Council members said the bus stop should have a place where people waiting for the bus can sit.
In mid-August, developer Dominick Perini asked the city to move the bus stop farther from property his company owns at the southwest corner of Public Square.
In making the request, Perini said bus passengers are deterring potential tenants for the property and causing sidewalk congestion.
People waiting for buses to arrive sit on building steps and planters in front of the former People's building, Perini, executive vice president of Perini Properties Corp., wrote in an Aug. 5 letter to the city.
The current setup makes "good citizens look like loiterers." Councilman Lewis C. Metzner agreed Tuesday.
Perini had suggested the County Commuter stop be moved to the front of the building that formerly housed Washington County District Court.
But that site would block an alleyway and could cause congestion across the street from the University System of Maryland Hagerstown Education Center, Budesky said.
The head of County Commuter has said the proposed sites would work.


Information on local leisure centres and facilities, play areas and open spaces, leisure grants and awards, sport and fitness, arts and health.
Play areas, Kilkenny Lane Country Park and open spaces.
Financial support for clubs and recognition awards for key achievements.
Activities and programmes that people can get involved in.
Details of health services in your area.


text:
package com.xcv58.graphql

import com.fasterxml.jackson.databind.JsonNode
import com.twitter.finatra.json.FinatraObjectMapper
import org.json4s.JsonAST.{JArray, JNull, JObject, JValue}
import org.json4s.jackson.JsonMethods
import org.json4s.jackson.JsonMethods.asJsonNode
import sangria.marshalling.json4s.jackson.Json4sJacksonResultMarshaller

object JsonUtils {
  // Basic JSON mapper
  val mapper: FinatraObjectMapper = FinatraObjectMapper.create()

  def removeObjectNulls(node: JValue): JValue = node match {
    // Strip out null values from the values of objects
    case JObject(fields) =>
      JObject(fields flatMap {
        case (k: String, JNull) => None
        case (k: String, v: JValue) => Some((k, removeObjectNulls(v)))
      })

    // We don't want to strip null values from the items in an array,
    // but the array might contain objects that contain nulls, so we recurse.
    case JArray(values) => JArray(values map removeObjectNulls)

    // Everything else is fine
    case _ => node
  }

  def toJson(node: Json4sJacksonResultMarshaller.Node): JsonNode =
    asJsonNode(removeObjectNulls(node))

  // We have problem to directly parse variables to JObject
  def toJValue(map: Option[Map[String, Any]]): JValue = map match {
    case Some(m) => JsonMethods.parse(mapper.writeValueAsString(m))
    case _ => JObject()
  }
}

redpajama_set_name: RedPajamaGithub


Scooby Doo has always been a greatly popular cartoon and is still shown today on Cartoon Network. The show has been on air in some way or another since 1969 and is still being produced today. There are four main characters, along with Scooby himself of course. The four teenagers include Shaggy, Fred, Daphne, and Velma and together they solve many mysteries that come their way.
The gang spend their days getting into all sorts of trouble and solving many mysteries that involve the teenagers facing ghosts, ghouls, monsters, and criminals. The episodes are full of fun, action, and adventure and it's no wonder why they have always been so popular.
Shaggy and Scooby are usually together. Shaggy is Scooby's owner and is a little bit of a coward himself who is usually more interested in food that what is going on! Scooby is a Great Dane who can speak English a little bit and tends to put an 'r' before the words that he says. Shaggy is always being chased by ghosts and is a bit scared to say the least! Scooby is the star of the show and a very loveable character who is scared of his own shadow! His mistakes often lead to the group solving a mystery.
Daphne is known to be a little clumsy. She has been kidnapped a few times and left imprisoned until the other teenagers finding her. It's usually Shaggy and Scooby who end up finding her, but it does tend to vary. She has a big crush on Fred too. Daphne adds a bit of glamor to the show with some handy everyday things in her purse that often prove to be useful.
Fred is the leader of the gang and tends to try to take charge. He and Daphne are often wondering off alone whilst the rest of the team heads off in another direction. She is calm and collected most of the time and very focused on the task in hand.
Velma is the clever one and is very intelligent at that. She is a key to solving a lot of the mysteries and loves to read mystery books as well. She has a habit of losing her glasses at times and finds them often falling off her head! Velma is great at finding the vital clues that the gang need to solve the mystery!
If you are a Scooby Doo fan, then you can watch episodes on Cartoon Network and see if you can help solve the mysteries. Every episode has a new plot and a new mystery to solve. The gang gathers clues to reveal who has committed the crime!
Not only can you watch the episodes, but you can also play the games. Cartoon Network has loads of great games to play online so you can help the gang solve mysteries and plot your way out of a haunted house. You can keep yourself entertained with games online until the next episode is on! Scooby will no doubt be around for many more years to come.
Olivia is a freelance writer based in North Wales. She is a great fan of Cartoon Network and Scooby Doo. When not watching the shows; you'll usually find her swimming or reading a good book.


During the trial in a Federal District Court at which petitioner was convicted of knowingly and willfully evading the payment of income taxes for the years 1950, 1951, and 1952, an important issue was whether his handwritten record of dividends received in 1951 and 1952 had been given to an accounting firm while it was preparing his returns for those years, rather than in 1953, after revenue agents had begun investigating his returns. To impeach the testimony of a partner in the accounting firm that they had not received this record until 1953, petitioner called for and obtained the production of certain documents in the possession of the Government, but he was denied production of a 600-word memorandum summarizing parts of a 3 1/2-hour interrogation of the witness by a government agent.
Held: such memorandum was not a "statement" of the kind required to be produced under the so-called Jencks Act, 18 U.S.C. § 3500; its production was properly denied; and the conviction is sustained. Pp. 360 U. S. 343-356.
contemporaneous and in the petitioner's handwriting, of dividends received during 1951 and 1952. This record reflected an amount of dividend income for 1951 substantially larger than that reported on the 1951 return. Petitioner contended that this record had been turned over to the accounting firm which regularly prepared his return, Arthur R. Sanfilippo & Co., in early 1952 for use in preparing his 1951 return, but that the figures had not been accurately entered on the return by the accountants. The Government's contention was that the record had not been given to the accounting firm until early 1953, subsequent to the initiation of the investigation of petitioner's tax affairs and long after the filing of the 1951 return. The time at which the record had been given to the accountants thus became directly relevant to the issue of criminal intent in the charge against the petitioner. Arthur R. Sanfilippo, an important government witness and the principal partner in the accounting firm, testified that his firm had not received the handwritten record of dividend income until early 1953.
affidavit. The defense also requested production of any memoranda, or of any part thereof summarizing what Sanfilippo had said, which had been made of the August 23 conference. The trial judge denied this request on the ground that the Act of September 2, 1957, 71 Stat. 595, 18 U.S.C. § 3500 -- the so-called "Jencks" Act -- governing the production of statements made to government agents by government witnesses, precluded production of the requested memorandum, since it was not within the definition of "statement" in (e) of the Act. [Footnote 1] The Court of Appeals for the Second Circuit affirmed. 258 F.2d 397. Together with several other cases raising Jencks Act problems, we granted certiorari, 358 U.S. 905, to determine the scope and meaning of this new statute.
Accurate analysis of these problems as a basis of their appropriate solution requires due appreciation of the background against which the statutory terms must be projected.
agents of the Government. We also held that the trial judge was not to examine the statements to determine if they contained material inconsistent with the testimony of the witness before deciding whether he would turn them over to the defense. Once the statements had been shown to contain related material, only the defense was adequately equipped to decide whether they had value for impeachment. This decision only concerned production, and therefore did not purport to modify the laws of evidence governing the admissibility of prior statements of a witness.
had determined to exercise its power to define the rules that should govern in this particular area in the trial of criminal cases instead of leaving the matter to the lawmaking of the courts.
In almost every enactment, there are gaps to be filled and ambiguities to be resolved by judicial construction. This statute is not free from them. Here, however, the detailed particularity with which Congress has spoken has narrowed the scope for needful judicial interpretation to an unusual degree. The statute clearly defines procedures and plainly indicates the circumstances for their application. Since this case is the first calling for authoritative exposition of an Act that frequently comes into use in federal criminal prosecutions we deem it appropriate to explicate the construction of the statute required by the circumstances of this case.
reliable documents a more favored legal status, free from safeguards in the tournament of trials. To state such a construction demonstrates its irrationality; the authoritative legislative history precludes its acceptance.
and Senate bills as they went to Conference explicitly so stated. See 103 Cong.Rec. 16130; 103 Cong.Rec. 16125. Nothing in the Conference Reports or the limited debate following Conference intimated the slightest intention to change the exclusive nature of the measure. Indeed, the reports and debate proceeded on the explicit assumption that the bill retained as a major purpose the barring of all statements not specifically defined. [Footnote 6] The purpose of the Act, its fair reading, and its overwhelming legislative history compel us to hold that statements of a government witness made to an agent of the Government which cannot be produced under the terms of 18 U.S.C. § 3500 cannot be produced at all.
"a stenographic, mechanical, electrical, or other recording, or a transcription thereof, which is a substantially verbatim recital of an oral statement made by said witness to an agent of the Government and recorded contemporaneously with the marking of such oral statement."
3. The statute itself provides no procedure for making a determination whether a particular statement comes within the terms of (e), and thus may be produced if related to the subject matter of the witness' testimony. Ordinarily, the defense demand will be only for those statements which satisfy the statutory limitations. Thus, the Government will not produce documents clearly beyond the reach of the statute, for to do so would not be responsive to the order of the court. However, when it is doubtful whether the production of a particular statement is compelled by the statute, we approve the practice of having the Government submit the statement to the trial judge for an in camera determination. Indeed, any other procedure would be destructive of the statutory purpose. The statute governs the production of documents; it does not purport to affect or modify the rules of evidence regarding admissibility and use of statements once produced. The Act's major concern is with limiting and regulating defense access to government papers, and it is designed to deny such access to those statements which do not satisfy the requirements of (e), or do not relate to the subject matter of the witness' testimony. It would indeed defeat this design to hold that the defense may see statements in order to argue whether it should be allowed to see them.
extrinsic to the statement itself may or must be offered to prove the nature of the statement. In most cases, the answer will be plain from the statement itself. In others, further information might be deemed relevant to assist the court's determination. This is a problem of the sound and fair administration of a criminal prosecution, and its solution must be guided by the need, reflected in so much of our law of evidence, to avoid needless trial of collateral and confusing issues while assuring the utmost fairness to a criminal defendant. See, e.g., Nardone v. United States, 308 U. S. 338, 308 U. S. 342.
for making available a prior statement of a government witness in a case. Against such a contingency, there is always the safeguard of this Court's reviewing power.
We reject the Government's contention that, at trial, petitioner asserted only that the statute did not cover his request for production, and failed to assert that, if the statute was applicable, the memorandum could be produced under its terms. We find that objection to the interpretation of the statute was adequately made.
103 Cong.Rec. 8327. The other House bills were H.R. 8225, 103 Cong.Rec. 9572; H.R. 8243, 103 Cong.Rec. 9746; H.R. 8335, 103 Cong.Rec. 10181; H.R. No. 8341, 103 Cong.Rec. 10181; H.R. 8388, 103 Cong.Rec. 10403; H.R. 8393, 103 Cong.Rec. 10403; H.R. 8414, 103 Cong.Rec. 10547; H.R. 8416, 103 Cong.Rec. 10547; H.R. 8423, 103 Cong.Rec. 10547; H.R. 8438, 103 Cong.Rec. 10589.
Many of the cases in the lower federal courts after Jencks and prior to the enactment of the statute are collected in the statement of the Attorney General contained in H.R.Rep. No. 700, 85th Cong., 1st Sess., and in S.Rep. No. 569, 85th Cong., 1st Sess. See also S.Rep. No. 981, 85th Cong., 1st Sess.; 103 Cong.Rec. 15939-15941.
"(c) If the United States claims that any statement ordered to be produced under this section contains matter which does not relate to the subject matter of the testimony of the witness, the court shall order the United States to deliver such statement for the inspection of the court in camera. Upon such delivery, the court shall excise the portions of such statement which do not relate to the subject matter of the testimony of the witness. With such material excised, the court shall then direct delivery of such statement to the defendant for his use. If, pursuant to such procedure, any portion of such statement is withheld from the defendant and the defendant objects to such withholding, and the trial is continued to an adjudication of the guilt of the defendant, the entire text of such statements shall be preserved by the United States and, in the event the defendant appeals, shall be made available to the appellate court for the purpose of determining the correctness of the ruling of the trial judge. Whenever any statement is delivered to a defendant pursuant to this section, the court in its discretion, upon application of said defendant, may recess proceedings in the trial for such time as it may determine to be reasonably required for the examination of such statement by said defendant and his preparation for its use in the trial."
See, e.g., H.R.Rep. No. 700, 85th Cong., 1st Sess.; S.Rep. No. 569, 85th Cong., 1st Sess.; S.Rep. No. 981, 85th Cong., 1st Sess. The statements in the reports are frequent and clear. There are many like expressions on the floor of both chambers. For example, there was a lengthy debate in the Senate over an amendment which would have restricted the type of statement which could be produced beyond the limitations already incorporated in the Senate bill. The entire debate proceeded on the explicit assumption that only those statements which were enumerated in the bill could be produced at all. 103 Cong.Rec. 15930-15935. See also 103 Cong.Rec. 16116. There are many similar expressions during the debates.
See legislative history summarized in Appendix A, post, p. 360 U. S. 356.
See legislative history summarized in Appendix B, post, p. 360 U. S. 358.
See, e.g., 103 Cong.Rec. 16739. See also many statements to the same effect in the House and Senate Reports.
See legislative material cited and quoted in Appendix B, post, p. 360 U. S. 358.
Of course the statute does not provide that inconsistency between the statement and the witness' testimony is to be a relevant consideration. Neither is it significant whether or not the statement is admissible as evidence.
The statute as interpreted does not reach any constitutional barrier. Congress has the power to prescribe rules of procedure for the federal courts, and has from the earliest days exercised that power. See 37 Harv.L.Rev. at 1086 and 093 -1094, for a collection of such legislation. The power of this Court to prescribe rules of procedure and evidence for the federal courts exists only in the absence of a relevant Act of Congress. See Funk v. United States, 290 U. S. 371, 290 U. S. 382; Gordon v. United States, 344 U. S. 414, 344 U. S. 418. Much of the law of evidence and of discovery is concerned with limitations on a party's right to have access to, and to admit in evidence, material which has probative force. It is obviously a reasonable exercise of power over the rules of procedure and evidence for Congress to determine that only statements of the sort described in (e) are sufficiently reliable or important for purposes of impeachment to justify a requirement that the Government turn them over to the defense.
The statement consists of a brief agent's summary, of approximately 600 words, of a conference lasting 3 1/2 hours. It was made up after the conference, and consists of several brief statements of information given by Sanfilippo in response to questions of the agent. The typed agent's memorandum is clearly not a virtually verbatim narrative of the conference, but represents the agent's selection of those items of information deemed appropriate for inclusion in the memorandum. Thus, by applying the governing standard set forth supra, it is clear that the lower courts did not err in refusing to hand the statement over to the defense.
NOT DESCRIBED IN SUBSECTION (E).
"In any criminal prosecution brought by the United States, no statement or report of a Government witness or prospective Government witness (other than the defendant) made to an agent of the Government which is in the possession of the United States shall be the subject of subpoena or inspection except if provided in the Federal Rules of Criminal Procedure or as provided in paragraph (b) of this section."
(Emphasis added.) 103 Cong.Rec. 16130. The House bill contained a similar provision.
"To remove any doubt as to the kinds of statements affected by the bill as agreed to by the conferees, a new paragraph 'e' was added . . . expressly defining the term 'statement.'"
H.R.Rep.No.1271, 85th Cong., 1st Sess., 3. In the Senate, Senator O'Mahoney, in response to a question, gave the specific changes which had been made in the bill by the Conference, and he did not give the slightest indication that it had lost its exclusive nature. 103 Cong.Rec. 16487.
"[t]here was some fear upon the part of the Department of Justice that the Senate bill would create a greater latitude for the examination of irrelevant reports of agents. The language which was devised by the conferees has cleared up the doubts. . . ."
"The conferees provided that the only statements a defendant could see, and then only in the courtroom were those actually signed or formally approved by the witness or a stenographic verbatim recital of a statement made by a witness which is recorded contemporaneously with the making of such oral statement.
In other words, only those statements need be produced in court by the Government which could be shown in court to impeach the credibility of the witness."
103 Cong.Rec. 16739. See also 103 Cong.Rec. 16742.
"is that the records which are relevant and competent, which deal with the oral statements made by Government witnesses whom the Government puts on the stand, with respect to the matters concerning which they testify, be made available."
103 Cong.Rec. 15932. Thus, the bill as it left the Senate was clearly not confined to automatic reproductions of oral statements, although its further reach was not explicitly demarcated.
The House bill, as passed, allowed only the production of written statements signed by the witness or otherwise adopted or approved. 103 Cong.Rec. 16125. The present language emerged from the Conference.
made by an agent of the Government of an oral statement made to him by a Government witness. . . ."
". . . what has been done with the so-called records provision is to tie it down to those cases in which the agent actually purports to make a substantially verbatim recital of an oral statement that the witness has made to him -- not the agent's own comments or a recording of his own ideas, but a substantially verbatim recital of an oral statement which the witness has made to him, and as transcribed by him; is that correct?"
Ibid. Senator O'Mahoney replied, "Precisely." Thus although the Senate history indicates that the bill was restricted to a "substantially verbatim recital," it is apparent that the Act was not designed to be restricted to mere mechanical transcription.
"It is believed that the provisions of the bill as agreed to by the conferees are in line with the standard enunciated by Judge George H. Moore of the eastern district of Missouri in . . . U.S. v. Anderson, . . . which is set forth at 14552 [sic] of the daily Congressional Record of August 26, 1957."
H.R. Rep. No. 1271, 85th Cong., 1st Sess., 3.
". . . only continuous, narrative statements made by the witness recorded verbatim, or nearly so, and does not include notes made during the course of an investigation (or reports compiled therefrom) which contain the subjective impressions, opinions, or conclusions of the person or persons making such notes."
103 Cong.Rec. 15940. This standard, explicitly incorporated into the House Report, has a dual significance. It not only goes beyond mechanical or stenographic statements in defining the statements which must be made available to the defense, but indicates that, once beyond that point, a very restrictive standard is to be applied.
MR. JUSTICE BRENNAN, with whom The CHIEF JUSTICE, MR. JUSTICE BLACK and MR. JUSTICE DOUGLAS join, concurring in the result.
I concur in the result, but see no justification for the Court's ranging far afield of the necessities of the case in an opinion essaying obiter a general interpretation of the so-called "Jencks Act," 18 U.S.C. (Supp. V) § 3500. Many more concrete cases must be adjudicated in the District Courts before we shall be familiar with all the problems created by the statute.
We of this Court, removed as we are from the tournament of trials, must be careful to guard against promulgating general pronouncements which prevent the trial judges from exercising their traditional responsibility. The Court's opinion well observes that the hope for a fair administration of the statute rests in the final analysis with its responsible application in the federal trial courts.
This responsibility of the federal trial judge, it goes without saying, is not to be delegated to the prosecutor. Questions of production of statements are not to be solved through one party's determination that interview reports fall without the statute, and hence that they are not to be produced to defense counsel or to the trial judge for his determination as to their coverage. I am confident that federal trial judges will devise procedural methods whereby their responsibility is not abdicated in favor of the unilateral determination of the prosecuting arm of the Government.
No express language of the statute forbids the production, after a witness has testified, of any statement outside the coverage of the definition in subsection (e), and certainly the legislative history is no adequate support for reading an absolute prohibition into it. It is true that, until the Conference Report, the bill contained a provision making it in terms exclusive; but this language was deleted in Conference. I should think this change would support an inference negating any absolute exclusivity. To be sure, the change was not explained in the hurried floor discussions which followed the agreement in Conference, in the hectic closing days of the session, [Footnote 2/3] but the absence of an explanation for the change can argue in favor of its being taken at face value. Certainly this Court should not decide the contrary against the backdrop of a serious question of potential invasion of Sixth Amendment rights. This is not to ignore the obvious intent of Congress that the statute provide the primary tests of what the Government should produce; it is only to recognize that it is not inconsistent with achievement of the statute's aim to require the production of statements outside the scope of the statute where the fair administration of criminal justice so demands. And certainly the statute cannot be said to be exclusive where the Constitution demands production. Of course, the trial judge may fashion procedural safeguards as to those producible statements lying outside the statute's purview, perhaps by analogy to the statutory procedures for the excision of irrelevant matter.
It is sufficient to say in this case that the summary in controversy does not appear to fall within the category of statements, outside the definition in subsection (e), as to which the trial judge's discretion might be exercised. [Footnote 2/4] Decision need turn on no broader ground. Cf. Lee v. Madigan, 358 U. S. 228, 358 U. S. 230-231. What was stated in the agent's summary was already known in every important detail to the defense from the transcript of the interview of July 16 and the affidavit of August 23.
suppose that a summary, part of which gave a substantial verbatim account of part of the interview, would, as to that part, be producible under the statute. Certainly a statement can be most useful for impeachment even though it does not exhaust all that was said upon the occasion. We must not forget that, when confronted with his prior statement upon cross-examination, the witness always has the opportunity to offer an explanation. The statute is to be given a reasonable construction, and the courts must not lose sight of the fact that the statute regulates production of material for possible use in cross-examination, and does not regulate admissibility into evidence -- as the Court properly observes. Here too, the constitutional question close to the surface of our holding in Jencks must be borne in mind.
of encouraging a practice of government agents' taking statements in a fashion calculated to insulate them from production. I am confident that the District Courts will bear all these factors in mind in devising practical solutions to the problems of production in the many areas which cannot fairly be said to be determined by the affirmance of the judgment in this case.
"I would certainly not want to carry the burden of saying that, in some extraordinary situation where there was no other possible way to getting hold of it [the summary], that there might not be exceptions read into the statute -- what I am talking about now is the normal, ordinary case."
See H.R.Rep. No. 700, 85th Cong., 1st Sess., p. 4; S.Rep. No. 981, 85th Cong., 1st Sess., p. 3; 103 Cong.Rec. 15928, 15933, 16489.
Copies of a statement analyzing the conference version were not even available to the Senate, due to the press of time. See 103 Cong.Rec. 16488-16489.
Of course, if the memorandum had been one falling within the statute, I need hardly add that the judge would have had no discretion to refuse to order its production to the defense, in the light of the statute's affirmative command.
I might say in passing that the Court's emphasis on interviewer's notes as a basis of producible interview records seems wholly devoid of any real support in the text of the statute or in the legislative materials cited by the Court.


Tabletop clock Murano glass fusing AMBRA Vetro di Murano / Casa di fata - Stifte, Lampen, Raucherbedarf und Schmuck. Online-Shop für Luxusgüter, Geschenke, handgefertigte und in Italien hergestellte Objekte.
Tabletop clock Murano glass fusing: an original composition reminiscent of modern art, particularly Mondrian. The opalescent white brings out the brilliance of stained glass, while black chopsticks define geometry.