+ changed module hierarchy a bit
authorFabio <fabio@congo.fml.local>
Wed, 10 Sep 2008 15:50:56 +0000 (17:50 +0200)
committerFabio <fabio@congo.fml.local>
Wed, 10 Sep 2008 15:50:56 +0000 (17:50 +0200)
qpalma/SettingsParser.py [deleted file]
qpalma/gridtools.py
qpalma/sequence_utils.py
scripts/SettingsParser.py [new file with mode: 0644]
scripts/createAlignmentFileFromPrediction.py
scripts/qpalma_pipeline.py

diff --git a/qpalma/SettingsParser.py b/qpalma/SettingsParser.py
deleted file mode 100644 (file)
index cb09308..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-#! /usr/bin/env python
-# -*- coding: utf-8 -*-
-
-import os 
-import os.path 
-import pdb 
-import sys 
-from optparse import OptionParser 
-jp = os.path.join
-
-def parseSettingsFile(filename):
-   """
-   """
-   global_settings = {}
-   for line in open(filename):
-      if (not line.strip()) or line.startswith('#'):
-         pass
-      else:
-         key, val = line.strip().replace(' ', '').split('=')
-         global_settings[key] = val
-
-   return global_settings
-
-
-
-def makeSettings(global_settings):
-   """
-   
-   """
-   assert os.path.exists(global_settings['result_dir']),'Error: You have to specify a existing result directory!'
-   result_dir = global_settings['result_dir']
-   global_settings['approximation_dir'] = jp(result_dir, 'approximation')
-   global_settings['preproc_dir'] = jp(result_dir, 'preprocessing')
-   global_settings['postproc_dir'] = jp(result_dir, 'postprocessing')
-   global_settings['prediction_dir'] = jp(result_dir, 'prediction')
-   global_settings['training_dir'] = jp(result_dir, 'training')
-
-   for dir_name in ['approximation_dir', 'preproc_dir', 'postproc_dir',\
-     'prediction_dir', 'training_dir']:
-      try:
-         os.mkdir(global_settings[dir_name])
-         continue
-      except:
-         print ('Error: There was a problem generating the subdirectory: %s' % dir_name)
-
-   try:
-      os.mkdir(global_settings['global_log_fn'])
-   except:
-      print ('Error: There was a problem generating the logfile %s' % global_settings['global_log_fn'])
-
-   return global_settings
-
-
-
-def checkSettings(global_settings):
-   for (key, val,) in global_settings.items():
-      if key.endswith('_fn'):
-         assert os.path.exists(val), 'Error: Path/File %s with value %s does not seem to exist!' % (key,val)
-      if key.endswith('_dir'):
-         assert os.path.exists(val), 'Error: Path/File %s with value %s does not seem to exist!' % (key,val)
-
-   return True
-
-
-
-def parseSettings(filename):
-   global_settings = parseSettingsFile(filename)
-   global_settings = makeSettings(global_settings)
-   assert checkSettings(global_settings),'Check your settings some entries were invalid!'
-
-   return global_settings
index 0e34ee2..d4eb873 100644 (file)
@@ -26,7 +26,7 @@ from createAlignmentFileFromPrediction import create_alignment_file
 
 import gridtools
 
-from utils import get_slices
+from utils import get_slices,split_file
 
 jp = os.path.join
 
@@ -103,8 +103,8 @@ class ApproximationTask(ClusterTask):
    identify true spliced reads.
    """
 
-   def __init__(self):
-      ClusterTask.__init__(self)
+   def __init__(self,settings):
+      ClusterTask.__init__(self,settings)
 
 
    def CreateJobs(self):
@@ -130,7 +130,7 @@ class ApproximationTask(ClusterTask):
          data_fname     = jp(result_dir,'map.part_%d'%idx)
          result_fname   = jp(result_dir,'map.vm.part_%d.heuristic'%idx)
 
-         current_job = KybJob(grid_heuristic.TaskStarter,[run_fname,data_fname,param_fname,result_fname])
+         current_job = KybJob(gridtools.TaskStarter,[run_fname,data_fname,param_fname,result_fname])
          current_job.h_vmem = '25.0G'
          #current_job.express = 'True'
 
index e5130af..7c3bef4 100644 (file)
@@ -1,6 +1,14 @@
-#!/usr/bin/env python 
-# -*- coding: utf-8 -*- 
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# Written (W) 2008 Fabio De Bona
+# Copyright (C) 2008 Max-Planck-Society
 
+#
+# This file contains the main interface to the QPalma pipeline.
+#
 #
 # This module holds all functions for queries on the dna flat files and the
 # splice score files.
diff --git a/scripts/SettingsParser.py b/scripts/SettingsParser.py
new file mode 100644 (file)
index 0000000..56f4180
--- /dev/null
@@ -0,0 +1,78 @@
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# Written (W) 2008 Fabio De Bona
+# Copyright (C) 2008 Max-Planck-Society
+
+#
+# This file contains the main interface to the QPalma pipeline.
+#
+
+import os 
+import os.path 
+import sys 
+
+jp = os.path.join
+
+
+def parseSettingsFile(filename):
+   """
+   This function parse all key value pairs from the given filename
+   """
+   global_settings = {}
+   for line in open(filename):
+      if (not line.strip()) or line.startswith('#'):
+         pass
+      else:
+         key, val = line.strip().replace(' ', '').split('=')
+         global_settings[key] = val
+
+   return global_settings
+
+
+def makeSettings(global_settings):
+   """
+   
+   """
+   assert os.path.exists(global_settings['result_dir']),'Error: You have to specify a existing result directory!'
+   result_dir = global_settings['result_dir']
+   global_settings['approximation_dir'] = jp(result_dir, 'approximation')
+   global_settings['preproc_dir'] = jp(result_dir, 'preprocessing')
+   global_settings['postproc_dir'] = jp(result_dir, 'postprocessing')
+   global_settings['prediction_dir'] = jp(result_dir, 'prediction')
+   global_settings['training_dir'] = jp(result_dir, 'training')
+
+   for dir_name in ['approximation_dir', 'preproc_dir', 'postproc_dir',\
+     'prediction_dir', 'training_dir']:
+      try:
+         os.mkdir(global_settings[dir_name])
+         continue
+      except:
+         print ('Error: There was a problem generating the subdirectory: %s' % dir_name)
+
+   try:
+      os.mkdir(global_settings['global_log_fn'])
+   except:
+      print ('Error: There was a problem generating the logfile %s' % global_settings['global_log_fn'])
+
+   return global_settings
+
+
+def checkSettings(global_settings):
+   for (key, val,) in global_settings.items():
+      if key.endswith('_fn'):
+         assert os.path.exists(val), 'Error: Path/File %s with value %s does not seem to exist!' % (key,val)
+      if key.endswith('_dir'):
+         assert os.path.exists(val), 'Error: Path/File %s with value %s does not seem to exist!' % (key,val)
+
+   return True
+
+
+def parseSettings(filename):
+   global_settings = parseSettingsFile(filename)
+   global_settings = makeSettings(global_settings)
+   assert checkSettings(global_settings),'Check your settings some entries were invalid!'
+
+   return global_settings
index e263395..a9b0bae 100644 (file)
@@ -9,7 +9,7 @@ import os.path
 import pdb
 import sys
 
-from Utils import pprint_alignment
+from qpalma.utils import pprint_alignment
 
 import palma.palma_utils as pu
 from palma.output_formating import print_results
index d39ab6f..ae24e4c 100644 (file)
@@ -21,7 +21,7 @@ import sys
 from qpalma.gridtools import ApproximationTask,PreprocessingTask
 from qpalma.gridtools import AlignmentTask,PostprocessingTask
 
-from qpalma.SettingsParser import parseSettings
+from SettingsParser import parseSettings
 
 
 Errormsg = """Usage is: python qpalma_pipeline.py <config filename>"""
@@ -46,7 +46,6 @@ class System:
       """
 
       self.global_settings = parseSettings(filename)
-      pdb.set_trace()
 
 
    def training(self):
@@ -74,9 +73,9 @@ class System:
       # the matches from the first seed finding run.
 
       approx_task = ApproximationTask(self.global_settings)
-      approx_task.createJobs()
-      approx_task.submit()
-      approx_task.checkIfTaskFinished()
+      approx_task.CreateJobs()
+      approx_task.Submit()
+      approx_task.CheckIfTaskFinished()
       
       # After filtering combine the filtered matches from the first run and the
       # found matches from the second run to a full dataset