from htsworkflow.pipelines.eland import eland, ELAND
from htsworkflow.pipelines.samplekey import SampleKey
-from htsworkflow.pipelines.runfolder import \
+from htsworkflow.pipelines import \
ElementTree, \
EUROPEAN_STRPTIME, \
LANES_PER_FLOWCELL, \
"""
Debugging function, report current object
"""
- print 'Software:'. self.__class__.__name__
- print 'Alignment version:', self.version
- print 'Run date:', self.date
- print 'config.xml:', self.tree
+ print('Software:'. self.__class__.__name__)
+ print('Alignment version:', self.version)
+ print('Run date:', self.date)
+ print('config.xml:', self.tree)
self.summary.dump()
def get_elements(self, root_tag):
return None
gerald = ElementTree.Element(root_tag,
- {'version': unicode(Gerald.XML_VERSION)})
+ {'version': str(Gerald.XML_VERSION)})
gerald.append(self.tree)
gerald.append(self.summary.get_elements())
if self.eland_results:
timestamp = self.tree.findtext('ChipWideRunParameters/TIME_STAMP')
if timestamp is not None:
- epochstamp = time.mktime(time.strptime(timestamp, '%c'))
+ epochstamp = time.mktime(time.strptime(timestamp))
return datetime.fromtimestamp(epochstamp)
return super(Gerald, self)._get_date()
date = property(_get_date)
if self.tree is None:
return
if len(self.tree.xpath('TIME_STAMP')) == 0:
- time_stamp = self.date.strftime('%c')
+ time_stamp = self.date.strftime('%a %b %d %H:%M:%S %Y')
time_element = ElementTree.Element('TIME_STAMP')
time_element.text = time_stamp
self.tree.append(time_element)
return None
time_element = self.tree.xpath('TIME_STAMP')
if len(time_element) == 1:
- return datetime.strptime(time_element[0].text, '%c')
+ timetuple = time.strptime(
+ time_element[0].text.strip(),
+ "%a %b %d %H:%M:%S %Y")
+ return datetime(*timetuple[:6])
return super(CASAVA, self)._get_date()
date = property(_get_date)
lanes = [x.tag.split('_')[1] for x in container.getchildren()]
try:
index = lanes.index(self._lane_id)
- except ValueError, e:
+ except ValueError as e:
return None
element = container[index]
return element.text
def __iter__(self):
if self._lanes is None:
self._initialize_lanes()
- return self._lanes.iterkeys()
+ return iter(self._lanes.keys())
def __getitem__(self, key):
if self._lanes is None:
real_key = self._find_key(key)
if real_key is not None:
return self._lanes[real_key]
- raise KeyError("%s not found" % (repr(key),))
+ raise KeyError("%s not found in %s" % (
+ repr(key),
+ ",".join((repr(k) for k in list(self._lanes.keys())))))
def __setitem__(self, key, value):
if len(self._lanes) > 100:
if k.matches(lookup_key):
results.append(k)
if len(results) > 1:
- raise ValueError("More than one key matched query %s" % (str(lookup_key),))
+ errmsg = "Key %s matched multiple keys: %s"
+ raise ValueError(errmsg % (str(lookup_key),
+ ",".join((str(x) for x in results))))
+
elif len(results) == 1:
return results[0]
else: