Example #1
0
 def testModule(self):
     pModule1 = Proc()
     pModule2 = Proc()
     pModule3 = Proc()
     pModule4 = Proc()
     pModule5 = Proc()
     pModule6 = Proc()
     aggr = Aggr(pModule1,
                 pModule2,
                 pModule3,
                 pModule4,
                 pModule5,
                 pModule6,
                 depends=False)
     aggr.module('m1',
                 starts='pModule1, pModule2',
                 ends='pModule4',
                 depends={
                     'pModule3,': ['starts'],
                     'pModule4': 'pModule3'
                 },
                 ends_shared={'pModule4': 'm2'},
                 depends_shared={'pModule4': 'm2'})
     aggr.module('m2',
                 starts='pModule3',
                 ends='pModule4, pModule6',
                 depends={'pModule4': 'pModule3'},
                 ends_shared={'pModule4': 'm1'},
                 depends_shared={'pModule4': 'm1'},
                 starts_shared={'pModule3': 'm1'})
     self.assertEqual(aggr.starts, [])
     self.assertEqual(aggr.ends, [])
     self.assertEqual(aggr.pModule3.depends, [])
     self.assertEqual(aggr.pModule4.depends, [])
     aggr.on('m1')
     self.assertEqual(aggr.starts, [aggr.pModule1, aggr.pModule2])
     self.assertEqual(aggr.ends, [aggr.pModule4])
     self.assertEqual(aggr.pModule3.depends, [aggr.pModule1, aggr.pModule2])
     self.assertEqual(aggr.pModule4.depends, [aggr.pModule3])
     aggr.off('m1')
     self.assertEqual(aggr.starts, [])
     self.assertEqual(aggr.ends, [])
     self.assertEqual(aggr.pModule3.depends, [])
     self.assertEqual(aggr.pModule4.depends, [])
     aggr.on('m2')
     self.assertEqual(aggr.starts, [aggr.pModule3])
     self.assertEqual(aggr.ends, [aggr.pModule4, aggr.pModule6])
     self.assertEqual(aggr.pModule4.depends, [aggr.pModule3])
     aggr.off('m2')
     self.assertEqual(aggr.starts, [])
     self.assertEqual(aggr.ends, [])
     self.assertEqual(aggr.pModule3.depends, [])
     aggr.on('m1, m2')
     aggr.off('m2')
     self.assertEqual(aggr.starts,
                      [aggr.pModule1, aggr.pModule2, aggr.pModule3])
     self.assertEqual(aggr.ends, [aggr.pModule4])
     self.assertEqual(aggr.pModule3.depends, [aggr.pModule1, aggr.pModule2])
     self.assertEqual(aggr.pModule4.depends, [aggr.pModule3])
Example #2
0
    def dataProvider_testCopy(self):
        pCopy1 = Proc()
        pCopy2 = Proc()
        pCopy3 = Proc()
        pCopy4 = Proc()
        aggr = Aggr(pCopy1, pCopy2, pCopy3)
        aggr.depends = [pCopy4]
        yield aggr, 'newtag', True, 'newid'
        yield aggr, None, True, None
        yield aggr, None, False, None
        yield aggr, aggr.pCopy1.tag, False, None, False, False, AggrCopyError, 'Cannot copy process with same id and tag: \'pCopy1.%s\'' % aggr.pCopy1.tag

        aggr1 = Aggr(pCopy1, pCopy2, pCopy3, depends=False)
        aggr1.starts = [aggr1.pCopy1, aggr1.pCopy2]
        aggr1.pCopy3.depends = aggr1.starts
        aggr1.module('qc', lambda a: True, lambda a: False)
        yield aggr1, None, True, None, True, True
Example #3
0
                   pSam2Bam,
                   pBamRecal,
                   depends=False)
# starts and ends
aPrepareBam.ends = 'pBamRecal'
# depends
aPrepareBam['pFastq2Sam', ].depends = ['pFastqTrim']
aPrepareBam['pSam2Bam', ].depends = ['pFastq2Sam']
aPrepareBam['pBamRecal', ].depends = ['pSam2Bam']
# delegates
aPrepareBam.delegate('args.ref', 'pFastq2Sam, pBamRecal')
# args
aPrepareBam.pSam2Bam.args.markdup = True
# modules
aPrepareBam.module('ebam',
                   starts='pBam2Fastq',
                   depends={'pFastqTrim': 'pBam2Fastq'})
aPrepareBam.module('fastq', starts='pFastqTrim')
aPrepareBam.module('qc',
                   ends='pFastQC, pFastMC',
                   depends={'pFastQC, pFastMC': ['pFastqTrim'] * 2})
# inital modules
aPrepareBam.on('fastq')
"""
@name:
	aBam2SCNV
@description:
	Call CNV with paired control samples
@procs:
	`pBamDir`       : The directory with the bam files
	`pSampleInfo`   : The sample information
Example #4
0
aCELDir2DEG.ends = 'pMArrayDEG'

aCELDir2DEG['pGMTFetcher'].input = ['KEGG_2016_gmt']
aCELDir2DEG['pMArrayDEG'].args.maplot = True
aCELDir2DEG['pMArrayDEG'].args.heatmap = True
aCELDir2DEG['pGMTFetcher'].args.header = False
# Depends
aCELDir2DEG['pMArrayDEG', ].depends = ['pCELDir2Matrix, pSampleInfo']
# Input adjustments
aCELDir2DEG['pGSEA'].input = lambda ch1, ch2, ch3:       \
 ch1.repRow(ch2.length() * ch3.length())              \
    .cbind(ch2.repRow(ch1.length() * ch3.length()))   \
    .cbind(ch3.repRow(ch1.length() * ch2.length()))
aCELDir2DEG['pMArrayDEG'].input = lambda ch1, ch2:       \
 ch1.colAt(0).repRow(ch2.length()).cbind(ch2.repRow(ch1.length()))
# Configs
aCELDir2DEG.module('exprplot',
                   depends={'pExprPlot': 'pCELDir2Matrix'},
                   ends='pExprPlot')
aCELDir2DEG.module(
    'gsea', 'pGMTFetcher', {
        'pGSEA': 'pExprMat2GCT, pSampleinfo2CLS, pGMTFetcher',
        'pExprMat2GCT': 'pCELDir2Matrix',
        'pSampleinfo2CLS': 'pSampleInfo'
    }, 'pGSEA')
aCELDir2DEG.module('enrichr',
                   depends={'pEnrichr': 'pMArrayDEG'},
                   ends='pEnrichr')
# Enable all functions
aCELDir2DEG.on()