def registerCustomExecutables(self, workflow=None):
        """
		2012.3.14
		"""
        if workflow is None:
            workflow = self
        AbstractVervetWorkflow.registerCustomExecutables(self, workflow=workflow)

        self.addOneExecutableFromPathAndAssignProperClusterSize(
            path=os.path.join(self.vervetSrcPath, "mapper/CountFastqReadBaseCount.py"),
            name="CountFastqReadBaseCount",
            clusterSizeMultipler=1,
        )

        self.addOneExecutableFromPathAndAssignProperClusterSize(
            path=os.path.join(self.vervetSrcPath, "db/input/PutReadBaseCountIntoDB.py"),
            name="PutReadBaseCountIntoDB",
            clusterSizeMultipler=0.2,
        )
	def registerCustomExecutables(self, workflow=None):
		"""
		2011-11-28
		"""
		if workflow==None:
			workflow=self
		AbstractVervetWorkflow.registerCustomExecutables(self, workflow)
		
		namespace = workflow.namespace
		version = workflow.version
		operatingSystem = workflow.operatingSystem
		architecture = workflow.architecture
		clusters_size = workflow.clusters_size
		site_handler = workflow.site_handler
		vervetSrcPath = self.vervetSrcPath
		
		executableClusterSizeMultiplierList = []	#2012.8.7 each cell is a tuple of (executable, clusterSizeMultipler (0 if u do not need clustering)		
		AggregateAndHClusterDistanceMatrix = Executable(namespace=namespace, name="AggregateAndHClusterDistanceMatrix", \
											version=version, \
											os=operatingSystem, arch=architecture, installed=True)
		AggregateAndHClusterDistanceMatrix.addPFN(PFN("file://" + os.path.join(vervetSrcPath, "reducer/AggregateAndHClusterDistanceMatrix.py"), \
													site_handler))
		executableClusterSizeMultiplierList.append((AggregateAndHClusterDistanceMatrix, 0))
		self.addExecutableAndAssignProperClusterSize(executableClusterSizeMultiplierList, defaultClustersSize=self.clusters_size)