def test_init_empty(self): """LOC empty init should succeed with expected defaults""" l = LineOrientedConstructor() self.assertEqual(l.Lines, []) self.assertEqual(l.LabelSplitter(' ab cd '), ['ab', 'cd']) self.assertEqual(l.FieldMap, {}) self.assertEqual(l.Constructor, MappedRecord) self.assertEqual(l.Strict, False)
_ll_fieldmap['MAP'] = _map_adder _ll_fieldmap['CDD'] = _cdd_adder _ll_fieldmap['ASSEMBLY'] = _assembly_adder _ll_fieldmap['CONTIG'] = _contig_adder for field in 'NG ACCNUM'.split(): _ll_fieldmap[field] = _accnum_adder for field in 'NR NM NC NP XG XR XM XP PROT'.split(): _ll_fieldmap[field] = _accession_adder for field in _ll_multi: if field not in _ll_fieldmap: _ll_fieldmap[field] = _generic_adder LinesToLocusLink = LineOrientedConstructor() LinesToLocusLink.Constructor = LocusLink LinesToLocusLink.FieldMap = _ll_fieldmap LinesToLocusLink.LabelSplitter = first_colon def LocusLinkParser(lines): """Treats lines as a stream of unigene records""" for record in LLFinder(lines): curr = LinesToLocusLink(record) yield curr if __name__ == '__main__': from sys import argv, stdout filename = argv[1] count = 0 for record in LocusLinkParser(open(filename)): print record
_ll_fieldmap['MAP'] = _map_adder _ll_fieldmap['CDD'] = _cdd_adder _ll_fieldmap['ASSEMBLY'] = _assembly_adder _ll_fieldmap['CONTIG'] = _contig_adder for field in 'NG ACCNUM'.split(): _ll_fieldmap[field] = _accnum_adder for field in 'NR NM NC NP XG XR XM XP PROT'.split(): _ll_fieldmap[field] = _accession_adder for field in _ll_multi: if field not in _ll_fieldmap: _ll_fieldmap[field] = _generic_adder LinesToLocusLink = LineOrientedConstructor() LinesToLocusLink.Constructor = LocusLink LinesToLocusLink.FieldMap = _ll_fieldmap LinesToLocusLink.LabelSplitter = first_colon def LocusLinkParser(lines): """Treats lines as a stream of unigene records""" for record in LLFinder(lines): curr = LinesToLocusLink(record) yield curr if __name__ == '__main__': from sys import argv, stdout filename = argv[1] count = 0 for record in LocusLinkParser(open(filename)): print record