Ich versuche, Genübersichten aus der NCBI Entrez Gene-Datenbank abzurufen und zu speichern, und möchte auch die UID behalten, aber obwohl es dort ist, kann ich nicht den richtigen Weg finden, es aus den Ergebnissen zu holen. Siehe unten (NB: offensichtlich nicht meine gültige E-Mail-Adresse verwendet hier):Entrez.esummary ('Gen' db): Wie UID aus DictElement abrufen?
from Bio import Entrez
Entrez.email = "[email protected]"
handle = Entrez.esummary(db="gene", id="79001")
record = Entrez.read(handle)
handle.close()
for k in record["DocumentSummarySet"]['DocumentSummary'][0].keys():
print k
Dies sind die Tasten:
Status NomenclatureSymbol, OtherDesignations, Mim, Namens-, NomenclatureName, CurrentID, GenomicInfo, OtherAliases , Zusammenfassung, GeneWeight, GeneticSource, MapLocation, ChrSort, ChrStart, LocationHist, Organismus, NomenclatureStatus, Chromosome, Beschreibung
Aber wenn man sich das Element aussehen selbst (record["DocumentSummarySet"]['DocumentSummary'][0])
, werden Sie feststellen, 012.am Ende:
DictElement(
{u'Status': '0',
u'NomenclatureSymbol': 'VKORC1',
u'OtherDesignations': 'phylloquinone epoxide reductase',
u'Mim': ['608547'],
u'Name': 'VKORC1',
u'NomenclatureName': 'vitamin K epoxide reductase complex subunit 1',
u'CurrentID': '0',
u'GenomicInfo': [
{u'ChrAccVer': 'NC_000016.10',
u'ChrLoc': '16',
u'ExonCount': '4',
u'ChrStop': '31090841',
u'ChrStart': '31094998'}],
u'OtherAliases': 'EDTP308, MST134, MST576, VKCFD2, VKOR',
u'Summary': 'This gene [...] variants. [provided by RefSeq, Aug 2015]',
u'GeneWeight': '46017',
u'GeneticSource': 'genomic',
u'MapLocation': '16p11.2',
u'ChrSort': '16',
u'ChrStart': '31090841',
u'LocationHist': [
{u'AssemblyAccVer': 'GCF_000001405.33',
u'ChrAccVer': 'NC_000016.10',
u'AnnotationRelease': '108',
u'ChrStop': '31090841',
u'ChrStart': '31094998'}],
u'Organism': {
u'CommonName': 'human',
u'ScientificName': 'Homo sapiens',
u'TaxID': '9606'},
u'NomenclatureStatus': 'Official',
u'Chromosome': '16',
u'Description': 'vitamin K epoxide reductase complex subunit 1'},
attributes={u'uid': u'79001'})
aber ‚Attribute‘ ist nicht eine der Tasten. Ich muss noch einen Weg finden, um auf die UID zuzugreifen, die in Attributen gespeichert ist. Hätte jemand eine Idee?
Ja, es funktioniert! Vielen Dank, es hat mich verrückt gemacht; Ich wusste nicht, dass DictElements Attribute hatte. Danke noch einmal. –
Und danke für die Bearbeitung, ich werde wissen, wie man beim nächsten Mal richtig vorgeht. –
@SBourgeois, ich musste einen Blick auf den Code werfen, um ihn zu finden. https://github.com/biopython/biopython/blob/master/Bio/Entrez/Parser.py#L96 – xbello