def test_existing(self): ds = SubreadSet(data.getSubreadSet(), skipMissing=True) # check that we aren't adding any additional biosamples elements: self.assertEqual( Counter( ds.metadata.tags)['BioSamples'], 1) self.assertEqual(ds.metadata.bioSamples[0].name, 'consectetur purus') self.assertEqual( ds.metadata.bioSamples[0].DNABarcodes[0].name, 'F1--R1') self.assertTrue(ds.metadata.collections[0].getV('children', 'Automation')) self.assertTrue(ds.metadata.collections[0].automation) ds.metadata.collections[ 0].automation.automationParameters.addParameter('foo', 'bar') self.assertEqual( ds.metadata.collections[ 0].automation.automationParameters['foo'].value, 'bar') self.assertEqual( ds.metadata.collections[ 0].automation.automationParameters.parameterNames, [None, 'foo'])
def test_existing(self): ds = SubreadSet(data.getSubreadSet(), skipMissing=True) # check that we aren't adding any additional biosamples elements: self.assertEqual( Counter(ds.metadata.collections[0].wellSample.tags)['BioSamples'], 1) self.assertEqual( ds.metadata.collections[0].wellSample.bioSamples[0].name, 'consectetur purus') self.assertEqual( ds.metadata.collections[0].wellSample.bioSamples[0].DNABarcodes[0]. name, 'F1--R1') self.assertTrue(ds.metadata.collections[0].getV( 'children', 'Automation')) self.assertTrue(ds.metadata.collections[0].automation) ds.metadata.collections[ 0].automation.automationParameters.addParameter('foo', 'bar') self.assertEqual( ds.metadata.collections[0].automation.automationParameters['foo']. value, 'bar') self.assertEqual( ds.metadata.collections[0].automation.automationParameters. parameterNames, [None, 'foo'])
def test_existing(self): ds = SubreadSet(data.getSubreadSet(), skipMissing=True) self.assertEqual(ds.metadata.bioSamples[0].name, 'consectetur purus') self.assertTrue(ds.metadata.collections[0].getV('children', 'Automation')) self.assertTrue(ds.metadata.collections[0].automation)
def test_build(self): # Progs like pbalign provide a .bam file: # e.g. d = DataSet("aligned.bam") # Something like the test files we have: inBam = data.getBam() self.assertTrue(inBam.endswith('.bam')) d = DataSet(inBam) # A UniqueId is generated, despite being a BAM input self.assertTrue(d.uuid != '') dOldUuid = d.uuid # They can write this BAM to an XML: # e.g. d.write("alignmentset.xml") outdir = tempfile.mkdtemp(suffix="dataset-unittest") outXml = os.path.join(outdir, 'tempfile.xml') d.write(outXml) # And then recover the same XML (or a different one): # e.g. d = DataSet("alignmentset.xml") d = DataSet(outXml) # The UniqueId will be the same self.assertTrue(d.uuid == dOldUuid) # Inputs can be many and varied ds1 = DataSet(data.getXml(11), data.getBam()) self.assertEquals(ds1.numExternalResources, 2) ds1 = DataSet(data.getFofn()) self.assertEquals(ds1.numExternalResources, 2) # New! Use the correct constructor: self.assertEquals(type(SubreadSet(data.getSubreadSet())).__name__, 'SubreadSet') # Even with untyped inputs self.assertTrue(str(SubreadSet(data.getBam())).startswith( '<SubreadSet')) self.assertEquals(type(SubreadSet(data.getBam())).__name__, 'SubreadSet') self.assertEquals(type(DataSet(data.getBam())).__name__, 'DataSet') # You can also cast up and down, but casting between siblings # is limited (abuse at your own risk) self.assertEquals( type(DataSet(data.getBam()).copy(asType='SubreadSet')).__name__, 'SubreadSet') self.assertEquals( type(SubreadSet(data.getBam()).copy(asType='DataSet')).__name__, 'DataSet') # Add external Resources: ds = DataSet() ds.externalResources.addResources(["IdontExist.bam"]) self.assertTrue( ds.externalResources[-1].resourceId == "IdontExist.bam") # Add an index file ds.externalResources[-1].addIndices(["IdontExist.bam.pbi"]) self.assertTrue( ds.externalResources[-1].indices[0].resourceId == "IdontExist.bam.pbi")
def test_build(self): # Progs like pbalign provide a .bam file: # e.g. d = DataSet("aligned.bam") # Something like the test files we have: inBam = data.getBam() self.assertTrue(inBam.endswith('.bam')) d = DataSet(inBam) # A UniqueId is generated, despite being a BAM input self.assertTrue(d.uuid != '') dOldUuid = d.uuid # They can write this BAM to an XML: # e.g. d.write("alignmentset.xml") outdir = tempfile.mkdtemp(suffix="dataset-unittest") outXml = os.path.join(outdir, 'tempfile.xml') d.write(outXml) # And then recover the same XML (or a different one): # e.g. d = DataSet("alignmentset.xml") d = DataSet(outXml) # The UniqueId will be the same self.assertTrue(d.uuid == dOldUuid) # Inputs can be many and varied ds1 = DataSet(data.getXml(11), data.getBam()) self.assertEquals(ds1.numExternalResources, 2) ds1 = DataSet(data.getFofn()) self.assertEquals(ds1.numExternalResources, 2) # New! Use the correct constructor: self.assertEquals( type(SubreadSet(data.getSubreadSet())).__name__, 'SubreadSet') # Even with untyped inputs self.assertTrue( str(SubreadSet(data.getBam())).startswith('<SubreadSet')) self.assertEquals( type(SubreadSet(data.getBam())).__name__, 'SubreadSet') self.assertEquals(type(DataSet(data.getBam())).__name__, 'DataSet') # You can also cast up and down, but casting between siblings # is limited (abuse at your own risk) self.assertEquals( type(DataSet(data.getBam()).copy(asType='SubreadSet')).__name__, 'SubreadSet') self.assertEquals( type(SubreadSet(data.getBam()).copy(asType='DataSet')).__name__, 'DataSet') # Add external Resources: ds = DataSet() ds.externalResources.addResources(["IdontExist.bam"]) self.assertTrue( ds.externalResources[-1].resourceId == "IdontExist.bam") # Add an index file ds.externalResources[-1].addIndices(["IdontExist.bam.pbi"]) self.assertTrue(ds.externalResources[-1].indices[0].resourceId == "IdontExist.bam.pbi")
def test_subread_build(self): ds1 = SubreadSet(data.getXml(no=5), skipMissing=True) ds2 = SubreadSet(data.getXml(no=5), skipMissing=True) assert type(ds1).__name__ == 'SubreadSet' assert ds1._metadata.__class__.__name__ == 'SubreadSetMetadata' assert type(ds1._metadata).__name__ == 'SubreadSetMetadata' assert type(ds1.metadata).__name__ == 'SubreadSetMetadata' assert len(ds1.metadata.collections) == 1 assert len(ds2.metadata.collections) == 1 ds3 = ds1 + ds2 assert len(ds3.metadata.collections) == 2 ds4 = SubreadSet(data.getSubreadSet(), skipMissing=True) assert type(ds4).__name__ == 'SubreadSet' assert type(ds4._metadata).__name__ == 'SubreadSetMetadata' assert len(ds4.metadata.collections) == 1
def test_subread_build(self): ds1 = SubreadSet(data.getXml(no=5), skipMissing=True) ds2 = SubreadSet(data.getXml(no=5), skipMissing=True) self.assertEquals(type(ds1).__name__, 'SubreadSet') self.assertEquals(ds1._metadata.__class__.__name__, 'SubreadSetMetadata') self.assertEquals(type(ds1._metadata).__name__, 'SubreadSetMetadata') self.assertEquals(type(ds1.metadata).__name__, 'SubreadSetMetadata') self.assertEquals(len(ds1.metadata.collections), 1) self.assertEquals(len(ds2.metadata.collections), 1) ds3 = ds1 + ds2 self.assertEquals(len(ds3.metadata.collections), 2) ds4 = SubreadSet(data.getSubreadSet(), skipMissing=True) self.assertEquals(type(ds4).__name__, 'SubreadSet') self.assertEquals(type(ds4._metadata).__name__, 'SubreadSetMetadata') self.assertEquals(len(ds4.metadata.collections), 1)
def test_existing(self): ds = SubreadSet(data.getSubreadSet(), skipMissing=True) # check that we aren't adding any additional biosamples elements: assert Counter(ds.metadata.tags)['BioSamples'] == 1 assert ds.metadata.bioSamples[0].name == 'consectetur purus' assert ds.metadata.bioSamples[0].DNABarcodes[0].name == 'F1--R1' assert ds.metadata.collections[0].getV('children', 'Automation') assert ds.metadata.collections[0].automation ds.metadata.collections[ 0].automation.automationParameters.addParameter('foo', 'bar') assert ds.metadata.collections[0].automation.automationParameters[ 'foo'].value == 'bar' assert ds.metadata.collections[ 0].automation.automationParameters.parameterNames == [None, 'foo']
def test_existing(self): ds = SubreadSet(data.getSubreadSet(), skipMissing=True) self.assertEqual(ds.metadata.bioSamples[0].name, 'consectetur purus') self.assertTrue(ds.metadata.collections[0].getV('children', 'Automation')) self.assertTrue(ds.metadata.collections[0].automation) ds.metadata.collections[ 0].automation.automationParameters.addParameter('foo', 'bar') self.assertEqual( ds.metadata.collections[ 0].automation.automationParameters['foo'].value, 'bar') self.assertEqual( ds.metadata.collections[ 0].automation.automationParameters.parameterNames, [None, 'foo'])