Exemple #1
0
    def generate_report(model, scanned_par1, scanned_par2, outputdir, sim_plots_folder):
        """
        The third pipeline step: report generation.

        :param model: the model name
        :param scanned_par1: the first scanned parameter
        :param scanned_par2: the second scanned parameter
        :param outputdir: the directory containing the report
        :param sim_plots_folder: the folder containing the plots.
        :return: no output
        """

        if not os.path.exists(os.path.join(outputdir, sim_plots_folder)):
            logger.error("input_dir " + os.path.join(outputdir, sim_plots_folder) +
                         " does not exist. Analyse the data first.")
            return

        logger.info("Generating a LaTeX report")
        logger.info(model)
        filename_prefix = "report__double_param_scan_"
        latex_report_double_param_scan(outputdir, sim_plots_folder, filename_prefix,
                                       model, scanned_par1, scanned_par2)

        pdflatex = which("pdflatex")
        if pdflatex is None:
            logger.error("pdflatex not found! pdflatex must be installed for pdf reports.")
            return

        logger.info("Generating PDF report")
        pdf_report(outputdir, filename_prefix + model + ".tex")
Exemple #2
0
def main(argv=None):
  
  # logging settings
  home = os.path.expanduser("~")
  if not os.path.exists(os.path.join(home, '.sb_pipe', 'logs')):
      os.makedirs(os.path.join(home, '.sb_pipe', 'logs'))
  # disable_existing_loggers=False to enable logging for Python third-party packages
  fileConfig(os.path.join(SB_PIPE, 'logging_config.ini'), 
	     defaults={'logfilename': os.path.join(home, '.sb_pipe', 'logs', 'sb_pipe_pydeps.log')},
	     disable_existing_loggers=False)   
  logger = logging.getLogger('sbpipe')  
  
  if which("CopasiSE") == None: 
      logger.error("CopasiSE not found. Please install Copasi as explained on the sb_pipe website.")  

  if which("R") == None: 
      logger.error("R not found. Skipping installation of R dependencies."
	           "sb_pipe will be severely affected due to this.")  
  
  python_deps(logger)
Exemple #3
0
def python_deps(logger):
  logger.info("Installing Python dependencies...")    
  if which("pip") == None: 
      logger.warn("pip not found. Skipping installation of Python dependencies."
		  "Please, install `python-dev` and `python-pip` packages.")
  else:
      out = install_python_deps(os.path.join(SB_PIPE, 'requirements.txt'))
      logger.debug(out)
      if (' ERROR:' in out or
	  ' Error:' in out):
	  logger.error("Some error occurred when installing Python dependencies."
		       "Please check log files in logs/")  
      else:
	  logger.info("Python dependencies should have been installed correctly.")  
Exemple #4
0
    def generate_report(model, outputdir, sim_plots_folder):

        if not os.path.exists(os.path.join(outputdir, sim_plots_folder)):
            logger.error("input_dir " + os.path.join(outputdir, sim_plots_folder) +
                         " does not exist. Analyse the data first.")
            return

        logger.info("Generating a LaTeX report")
        filename_prefix="report__sensitivity_"
        latex_report_simulate(outputdir, sim_plots_folder, model, filename_prefix)

        pdflatex = which("pdflatex")
        if pdflatex is None:
            logger.error("pdflatex not found! pdflatex must be installed for pdf reports.")
            return

        logger.info("Generating PDF report")
        pdf_report(outputdir, filename_prefix + model + ".tex")
Exemple #5
0
def pdf_report(outputdir, filename):
    """
    Generate a PDF report from LaTeX code
    :param outputdir: the output directory
    :param filename: the LaTeX file name
    :return: no output
    """
    pdflatex = which("pdflatex")
    if pdflatex is None:
        logger.error("pdflatex not found! pdflatex must be installed for pdf reports.")
        return
    currdir = os.getcwd()
    os.chdir(outputdir)
    logger.info(pdflatex + " -halt-on-error " + filename + " ... ")
    p = subprocess.Popen([pdflatex, "-halt-on-error", filename],
                         stdout=subprocess.PIPE)
    p.communicate()[0]
    p = subprocess.Popen([pdflatex, "-halt-on-error", filename],
                         stdout=subprocess.PIPE)
    p.communicate()[0]
    os.chdir(currdir)