2013-06-17 12 views
-1

J'ai obtenu une liste d'environ 5000 gènes comme un résultat de recherche de Gene Expression Atlas. À partir de la page de résultats, je peux télécharger tous les résultats dans un fichier. Ce fichier contient des identifiants de gènes (Ensembl Gene ID) pour chaque gène. Donc maintenant je veux EMBL-Bank ID correspondant pour chaque ID de gène Ensembl afin que je puisse télécharger leurs séquences de nucléotides en lots de Dbfetch. Tout le monde sait comment pouvons-nous y parvenir? Pouvons-nous utiliser biopython pour y parvenir?Récupérer EMBL-Bank ID par Ensembl Gene ID correspondant dans le lot

+1

Avez-vous fait des tentatives pour résoudre ces problèmes? Avez-vous du code à afficher? –

Répondre

0

Le fichier que vous pouvez télécharger est dans un format délimité par des tabulations personnalisées (qu'aucun des analyseurs de Biopython n'est équipé pour gérer).

Au lieu de cela, vous pouvez simplement utiliser le module csv pour extraire ce que vous souhaitez:

import csv 


with open("listd1.tab") as tab_file: 
    data_lines = (line for line in csv_file if not line.startswith("#")) 
    csv_data = csv.reader(data_lines, delimiter="\t") 
    header = csv_data.next() # ['Gene name', 'Gene identifier', ...] 
    gene_id_index = header.find("Gene identifier") 

    for line in csv_data: 
     gene_id = line[gene_id_index] # Do whatever you'd like with this