Source code for ncbitaxonomist.model.accession
"""
..
Copyright 2020 The University of Sydney
.. moduleauthor:: Jan P Buchmann <jan.buchmann@sydney.edu.au>
"""
from typing import Dict, Mapping
import ncbitaxonomist.model.datamodel
[docs]class Accession(ncbitaxonomist.model.datamodel.DataModel):
def __init__(self, attributes:Mapping=None):
super().__init__('accs', attributes=attributes)
attributes = ncbitaxonomist.model.datamodel.standardize_attributes(attributes)
self.taxonid = ncbitaxonomist.model.datamodel.int_attribute(attributes.pop('taxid', None))
self.uid = ncbitaxonomist.model.datamodel.int_attribute(attributes.pop('uid', None))
self.db = attributes.pop('db', None)
self.accessions = attributes.pop('accessions', {})
[docs] def update_accessions(self, accession:Mapping[str,str]):
"""Update accessions from dictionary with structure accession:type"""
self.accessions.update(accession)
[docs] def get_attributes(self) -> Dict[str,any]:
return {'taxid':self.taxonid, 'accessions':self.accessions, 'db':self.db,
'uid':self.uid}
[docs] def get_accessions(self)->Dict[str,str]:
"""Return accessions as dictionary"""
return self.accessions