À partir de xml sur les informations de séquence de Genbank Vous pouvez récupérer des informations sur les taxons avec le script suivant
import xml.etree.ElementTree as ET 
tree = ET.parse("./gene_file.xml") 
root = tree.getroot()
for child in root.findall('GBSeq'):
    accession = child.find('GBSeq_accession-version').text
    taxon = child.find('GBSeq_taxonomy').text
    for child in child.findall('GBSeq_feature-table'):
        for child in child.findall('GBFeature'):
            for child in child.findall('GBFeature_quals'):
                for child in child.findall('GBQualifier'):
                    if child.find('GBQualifier_value') is not None:
                        taxon_id = child.find('GBQualifier_value').text
                        if('taxon:' in taxon_id):
                            taxon_id_out = taxon_id
                    else:
                        taxon_id_out = ""
    out +=(accession+"\t"+taxon_id_out+ "\t"+ taxon +"\n")
with open("out10.taxon.txt", mode='w') as f:
    f.write(out)
L'analyse à partir d'un fichier plat est gênante + des exceptions sont placées, j'ai donc essayé de lire et d'extraire de xml.
Recommended Posts