The q-order partial correlation graph learning software, qpgraph

R package version

The software qpgraph is a package for the R statistical software that forms part of the Bioconductor project. It forms part of Bioconductor's release since version 2.4 and thus it requires a version of R >= 2.9.0 (available for download at the CRAN repository). Once a version of R >= 2.9.0 is installed, qpgraph can be downloaded and installed from the R shell as follows:
  source("http://www.bioconductor.org/biocLite.R")
  biocLite("qpgraph")
  
where this operation only needs to be done once. However, each time that we launch R, the package should be dynamically loaded into the R system in order to use it, with the following R command:
  library(qpgraph)
  
To get started you can browse a vignette that will guide you through an example on how to use this package to reverse-engineer a transcriptional regulatory network from Escherichia coli microarray data, in the following way:
  vignette("qpTxRegNet")
  
and you should get a PDF file opened in your system with R code that implements this example and its corresponding explanatory text. More specific information on the package features can be found from its on-line help which can be accessed typing:
  help(qpgraph)
  
Please let us know any difficulties you may encounter in using the software to the email address on the margin and also if you have found it useful in your research.

Parallel standalone version

We provide a parallel standalone version of one particular function from the qpgraph R-package, the calculation of the non-rejection rate. This parallel version uses the Message Passing Interface (MPI) library for distributing the calculations throughout the nodes of a cluster. The source code is not available yet and we will post it here soon. By now, we make available the executable for the particular architecture where it was developed which you can download through the following link:

qp.nrr

This program was compiled using mpicc in the following architecture:
  Linux 2.6.5-7.244-pseries64 #1 SMP ppc64 GNU/Linux
  cpu: PPC970MP, altivec supported
  clock: 2297.70MHz
  revision: 1.1
  
Its usage is as follows:
  qp.nrr [-h] [-s <sig>] [-t <tag>] [-p <pct>] <sample_covariance_matrix> <N> <T> <q>
    options: -h       this help
             -s <sig> significance level (default 0.05)
             -t <tag> tag to add to the output filename (nonrejectionrates.<tag>.Tx.qx.txt)
             -p <pct> percentage at which each process should show its progress (default 25%)
  
where <sample_coveriance_matrix> corresponds to a flat file containing the sample covariances among the random variables. Two such files can be found in the web supplement of our article published by the Journal of Computational Biology. This program provides as a result a file named nonrejectionrates.<tag>.Tx.qy.txt where <tag>, x and y correspond, respectively, to parameters given in the command-line call being a user-defined label, the number of tests to estimate the non-rejection rate and the q value to be used.

An example of a job script we used for q=35, T=100 and the NCBI GEO GDS680 data set (with p=4205 and n=43 and which can be found in the web supplement of our last article), is:
  #!/bin/bash
  #
  # @ job_name = qp.nrr
  # @ initialdir = /home/robert/test
  # @ output = OUTPUT/qp.nrr.test.%j.out
  # @ error =  OUTPUT/qp.nrr.test.%j.err
  # @ total_tasks = 80
  # @ features = mx
  # @ wall_clock_limit = 01:00:00
 
  time srun /home/robert/test/qp.nrr -t GDS680 /home/robert/test/GDS680.scovmat.txt 43 100 35