Exemplo n.º 1
0
 def test_addFilters(self):
     ds1 = DataSet()
     filt = Filters()
     filt.addRequirement(rq=[('>', '0.85')])
     ds1.addFilters(filt)
     self.assertEquals(str(ds1.filters), '( rq > 0.85 )')
     # Or added from a source XML
     ds2 = DataSet(data.getXml(16))
     self.assertTrue(str(ds2.filters).startswith('( rname = E.faecalis'))
Exemplo n.º 2
0
 def test_addFilters(self):
     ds1 = DataSet()
     filt = Filters()
     filt.addRequirement(rq=[('>', '0.85')])
     ds1.addFilters(filt)
     assert str(ds1.filters) == '( rq > 0.85 )'
     # Or added from a source XML
     ds2 = DataSet(data.getXml(15))
     assert str(ds2.filters).startswith('( rname = E.faecalis')
Exemplo n.º 3
0
 def test_setFilters(self):
     ds1 = DataSet()
     filt = Filters()
     filt.addRequirement(rq=[('>', '0.85')])
     ds1.addFilters(filt)
     self.assertEquals(str(ds1.filters), '( rq > 0.85 )')
     # Or added from a source XML
     ds2 = DataSet()
     ds2.filters = ds1.filters
     self.assertEquals(str(ds2.filters), '( rq > 0.85 )')
Exemplo n.º 4
0
 def test_addFilters(self):
     ds1 = DataSet()
     filt = Filters()
     filt.addRequirement(rq=[('>', '0.85')])
     ds1.addFilters(filt)
     self.assertEquals(str(ds1.filters), '( rq > 0.85 )')
     # Or added from a source XML
     ds2 = DataSet(data.getXml(16))
     self.assertTrue(str(ds2.filters).startswith(
         '( rname = E.faecalis'))
Exemplo n.º 5
0
 def test_setFilters(self):
     ds1 = DataSet()
     filt = Filters()
     filt.addRequirement(rq=[('>', '0.85')])
     ds1.addFilters(filt)
     self.assertEquals(str(ds1.filters), '( rq > 0.85 )')
     # Or added from a source XML
     ds2 = DataSet()
     ds2.filters = ds1.filters
     self.assertEquals(str(ds2.filters), '( rq > 0.85 )')
Exemplo n.º 6
0
def filterXml(args):
    log.error("Adding filters via CLI is temporarily out of order")
    exit(1)
    if args.infile.endswith('xml'):
        dataSet = DataSet(args.infile, strict=args.strict)
        filters = []
        separators = ['<=', '>=', '!=', '==', '>', '<', '=']
        for filt in args.filters:
            for sep in separators:
                if sep in filt:
                    param, condition = filt.split(sep)
                    condition = sep + condition
                    filters[param] = condition
                    break
        dataSet.addFilters([filters])
        log.info("{i} filters added".format(i=len(filters)))
        dataSet.write(args.outfile)
    else:
        raise IOError("No files found/found to be compatible")
Exemplo n.º 7
0
def filterXml(args):
    log.error("Adding filters via CLI is temporarily out of order")
    exit(1)
    if args.infile.endswith('xml'):
        dataSet = DataSet(args.infile, strict=args.strict)
        filters = []
        separators = ['<=', '>=', '!=', '==', '>', '<', '=']
        for filt in args.filters:
            for sep in separators:
                if sep in filt:
                    param, condition = filt.split(sep)
                    condition = sep + condition
                    filters[param] = condition
                    break
        dataSet.addFilters([filters])
        log.info("{i} filters added".format(i=len(filters)))
        dataSet.write(args.outfile)
    else:
        raise IOError("No files found/found to be compatible")
Exemplo n.º 8
0
    def test_reads_in_contig(self):
        log.info("Testing reads in contigs")
        ds = DataSet(data.getXml(8))
        dss = ds.split(contigs=True)
        self.assertEqual(len(dss), 12)
        efaec1TimesFound = 0
        efaec1TotFound = 0
        efaec2TimesFound = 0
        efaec2TotFound = 0
        for ds in dss:
            ef1 = len(list(ds.readsInReference('E.faecalis.1')))
            ef2 = len(list(ds.readsInReference('E.faecalis.2')))
            if ef1:
                efaec1TimesFound += 1
                efaec1TotFound += ef1
            if ef2:
                efaec2TimesFound += 1
                efaec2TotFound += ef2
        self.assertEqual(efaec1TimesFound, 1)
        self.assertEqual(efaec1TotFound, 20)
        self.assertEqual(efaec2TimesFound, 1)
        self.assertEqual(efaec2TotFound, 3)

        ds = DataSet(data.getXml(8))
        filt = Filters()
        filt.addRequirement(length=[('>', '100')])
        ds.addFilters(filt)
        dss = ds.split(contigs=True)
        self.assertEqual(len(dss), 12)
        efaec1TimesFound = 0
        efaec1TotFound = 0
        efaec2TimesFound = 0
        efaec2TotFound = 0
        for ds in dss:
            ef1 = len(list(ds.readsInReference('E.faecalis.1')))
            ef2 = len(list(ds.readsInReference('E.faecalis.2')))
            if ef1:
                efaec1TimesFound += 1
                efaec1TotFound += ef1
            if ef2:
                efaec2TimesFound += 1
                efaec2TotFound += ef2
        self.assertEqual(efaec1TimesFound, 1)
        self.assertEqual(efaec1TotFound, 20)
        self.assertEqual(efaec2TimesFound, 1)
        self.assertEqual(efaec2TotFound, 3)

        ds = DataSet(data.getXml(8))
        filt = Filters()
        filt.addRequirement(length=[('>', '1000')])
        ds.addFilters(filt)
        dss = ds.split(contigs=True)
        self.assertEqual(len(dss), 9)
        efaec1TimesFound = 0
        efaec1TotFound = 0
        efaec2TimesFound = 0
        efaec2TotFound = 0
        for ds in dss:
            ef1 = len(list(ds.readsInReference('E.faecalis.1')))
            ef2 = len(list(ds.readsInReference('E.faecalis.2')))
            if ef1:
                efaec1TimesFound += 1
                efaec1TotFound += ef1
            if ef2:
                efaec2TimesFound += 1
                efaec2TotFound += ef2
        self.assertEqual(efaec1TimesFound, 1)
        self.assertEqual(efaec1TotFound, 20)
        self.assertEqual(efaec2TimesFound, 1)
        self.assertEqual(efaec2TotFound, 1)
Exemplo n.º 9
0
    def test_reads_in_contig(self):
        log.info("Testing reads in contigs")
        ds = DataSet(data.getXml(8))
        dss = ds.split(contigs=True)
        self.assertEqual(len(dss), 12)
        efaec1TimesFound = 0
        efaec1TotFound = 0
        efaec2TimesFound = 0
        efaec2TotFound = 0
        for ds in dss:
            ef1 = len(list(ds.readsInReference('E.faecalis.1')))
            ef2 = len(list(ds.readsInReference('E.faecalis.2')))
            if ef1:
                efaec1TimesFound += 1
                efaec1TotFound += ef1
            if ef2:
                efaec2TimesFound += 1
                efaec2TotFound += ef2
        self.assertEqual(efaec1TimesFound, 1)
        self.assertEqual(efaec1TotFound, 20)
        self.assertEqual(efaec2TimesFound, 1)
        self.assertEqual(efaec2TotFound, 3)

        ds = DataSet(data.getXml(8))
        filt = Filters()
        filt.addRequirement(length=[('>', '100')])
        ds.addFilters(filt)
        dss = ds.split(contigs=True)
        self.assertEqual(len(dss), 12)
        efaec1TimesFound = 0
        efaec1TotFound = 0
        efaec2TimesFound = 0
        efaec2TotFound = 0
        for ds in dss:
            ef1 = len(list(ds.readsInReference('E.faecalis.1')))
            ef2 = len(list(ds.readsInReference('E.faecalis.2')))
            if ef1:
                efaec1TimesFound += 1
                efaec1TotFound += ef1
            if ef2:
                efaec2TimesFound += 1
                efaec2TotFound += ef2
        self.assertEqual(efaec1TimesFound, 1)
        self.assertEqual(efaec1TotFound, 20)
        self.assertEqual(efaec2TimesFound, 1)
        self.assertEqual(efaec2TotFound, 3)

        ds = DataSet(data.getXml(8))
        filt = Filters()
        filt.addRequirement(length=[('>', '1000')])
        ds.addFilters(filt)
        dss = ds.split(contigs=True)
        self.assertEqual(len(dss), 9)
        efaec1TimesFound = 0
        efaec1TotFound = 0
        efaec2TimesFound = 0
        efaec2TotFound = 0
        for ds in dss:
            ef1 = len(list(ds.readsInReference('E.faecalis.1')))
            ef2 = len(list(ds.readsInReference('E.faecalis.2')))
            if ef1:
                efaec1TimesFound += 1
                efaec1TotFound += ef1
            if ef2:
                efaec2TimesFound += 1
                efaec2TotFound += ef2
        self.assertEqual(efaec1TimesFound, 1)
        self.assertEqual(efaec1TotFound, 20)
        self.assertEqual(efaec2TimesFound, 1)
        self.assertEqual(efaec2TotFound, 1)