Get duplicate GO ids
0
0
Entering edit mode
14 months ago
iCosmoso • 0

Hello!

I have this code that I wrote and if works the way I want to.

from Bio import SeqIO
import collections as C
import requests as R
import itertools

proteins2 = list(SeqIO.parse("2-proteins-tryout.gb","gb"))
#print(proteins2)

for protein in proteins2:
    #print(protein)
    for f in protein.features:
        if f.type == "BLAST":
            if "db_xref" in f.qualifiers:
                idss = f.qualifiers["db_xref"]
                print(idss)

            #Read files
            for idd in idss:

                fullProtein = SeqIO.read(f'{idd}.xml','uniprot-xml')
                #print(fullProtein)

                goTerms = []
                for ref in fullProtein.dbxrefs:
                    if ref.startswith('GO:'):
                        goTerm = ref[3:]
                        goTerms.append(goTerm)
                #print(goTerms)

                allTerms = [t for terms in goTerms for t in terms]
                print(allTerms)

Heres the output ['P52326', 'P26480', 'P52327', 'P0A2E3', 'P00579', 'O24744', 'P32001', 'P57163', 'Q89B10', 'Q83BB6', 'Q9PDM9', 'Q87DT7', 'Q8PG33', 'P43766', 'Q8P4H2', 'P52325', 'P33452', 'Q59753', 'Q2K619', 'P52324', 'D5AQI9', 'P17531', 'P0CZ15', 'Q1RKH7', 'Q92FZ8', 'Q4UJT1', 'P33451', 'Q68VQ5'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005829', 'GO:0009408', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0006352', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987', 'GO:0030435'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005829', 'GO:0009408', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0006352', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987', 'GO:0030435'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['GO:0001123', 'GO:0003677', 'GO:0003700', 'GO:0005737', 'GO:0016987'] ['Q9RR29', 'D4GU70', 'P08075', 'A6VG23', 'A6UP85', 'A4FX98', 'Q58501', 'Q6LYB5', 'A6UUQ4', 'Q975F9', 'Q9Y725', 'Q6FRY2', 'P0C5I2', 'O93827', 'Q8BTZ7', 'Q9Y5P6', 'Q752H4', 'P41940', 'Q6BN12', 'O74624', 'Q2YDJ9', 'A2VD83', 'Q4U3E8'] ['GO:0008879', 'GO:0017000', 'GO:0046872'] ['GO:0006486', 'GO:0016779', 'GO:0045232', 'GO:0046872'] ['GO:0008879', 'GO:0019872', 'GO:0046872'] ['GO:0003977', 'GO:0006048', 'GO:0019134'] ['GO:0003977', 'GO:0006048', 'GO:0019134'] ['GO:0003977', 'GO:0006048', 'GO:0019134'] ['GO:0003977', 'GO:0006048', 'GO:0019134'] ['GO:0003977', 'GO:0006048', 'GO:0019134'] ['GO:0003977', 'GO:0006048', 'GO:0019134'] ['GO:0000166', 'GO:0003977', 'GO:0003983', 'GO:0006048', 'GO:0008879', 'GO:0019134'] ['GO:0000032', 'GO:0004475', 'GO:0005525', 'GO:0005737', 'GO:0006486', 'GO:0007049', 'GO:0009298'] ['GO:0004475', 'GO:0005525', 'GO:0005737', 'GO:0007049', 'GO:0009298'] ['GO:0004475', 'GO:0005525', 'GO:0005737', 'GO:0009298'] ['GO:0000032', 'GO:0004475', 'GO:0005525', 'GO:0005737', 'GO:0005886', 'GO:0007049', 'GO:0009298', 'GO:0009986', 'GO:0030445'] ['GO:0004475', 'GO:0005525', 'GO:0005737', 'GO:0005739', 'GO:0009298'] ['GO:0004475', 'GO:0005525', 'GO:0005737', 'GO:0009298'] ['GO:0000032', 'GO:0004475', 'GO:0005525', 'GO:0005737', 'GO:0006486', 'GO:0007049', 'GO:0009272', 'GO:0009298', 'GO:0051286'] ['GO:0000032', 'GO:0004475', 'GO:0005525', 'GO:0005737', 'GO:0006486', 'GO:0007049', 'GO:0009298'] ['GO:0004475', 'GO:0005525', 'GO:0005737', 'GO:0007049', 'GO:0009272', 'GO:0009298', 'GO:0051286'] ['GO:0004475', 'GO:0005525', 'GO:0005737', 'GO:0007049', 'GO:0009298'] ['GO:0004475', 'GO:0005525', 'GO:0005737', 'GO:0009298'] ['GO:0004475', 'GO:0005525', 'GO:0009298'] ['GO:0004475', 'GO:0005525', 'GO:0005737', 'GO:0007049', 'GO:0009298', 'GO:0070590'] ['P14738', 'Q2FE03', 'Q6G6H3', 'A7X6I5', 'Q6GDU5', 'Q2YW62', 'A0A0H2XKG3'] ['GO:0001968', 'GO:0005576', 'GO:0005618', 'GO:0007155', 'GO:0009405', 'GO:0016020', 'GO:0070051', 'GO:0098630'] ['GO:0005576', 'GO:0005618', 'GO:0007155', 'GO:0009405', 'GO:0016020'] ['GO:0005576', 'GO:0005618', 'GO:0007155', 'GO:0009405', 'GO:0016020'] ['GO:0005576', 'GO:0005618', 'GO:0007155', 'GO:0009405', 'GO:0016020'] ['GO:0005576', 'GO:0005618', 'GO:0007155', 'GO:0009405', 'GO:0016020'] ['GO:0005576', 'GO:0005618', 'GO:0007155', 'GO:0009405', 'GO:0016020'] ['GO:0005576', 'GO:0005618', 'GO:0007155', 'GO:0009405', 'GO:0016020'] ['P08320', 'P39347', 'P37317', 'P37326', 'P32053', 'P76542'] ['GO:0003677', 'GO:0006310', 'GO:0015074', 'GO:0016740', 'GO:0016787', 'GO:0044826', 'GO:0046718', 'GO:0075713'] ['GO:0003677', 'GO:0006310', 'GO:0015074', 'GO:0044826', 'GO:0046718', 'GO:0075713'] ['GO:0003677', 'GO:0006310', 'GO:0015074', 'GO:0016740', 'GO:0016787', 'GO:0044826', 'GO:0046718', 'GO:0075713'] ['GO:0006310', 'GO:0015074', 'GO:0032359', 'GO:0042802', 'GO:0043565', 'GO:0044826', 'GO:0046718', 'GO:0075713'] ['GO:0003677', 'GO:0008979', 'GO:0032359', 'GO:0044826', 'GO:0046718'] ['GO:0003677', 'GO:0006310', 'GO:0015074', 'GO:0044826', 'GO:0046718', 'GO:0075713'] ['P69451', 'Q8XDR6', 'P63521', 'Q8ZES9', 'P46450', 'P94547', 'O07610', 'Q0DV32', 'P41636', 'Q42982', 'Q54P79', 'Q54P77', 'P14912', 'P14913', 'O24146', 'Q54P78'] ['GO:0003996', 'GO:0004467', 'GO:0005504', 'GO:0005524', 'GO:0005737', 'GO:0005829', 'GO:0006629', 'GO:0006631', 'GO:0006635', 'GO:0006637', 'GO:0008654', 'GO:0009411', 'GO:0009898', 'GO:0015908', 'GO:0070538', 'GO:0102391'] ['GO:0003996', 'GO:0004467', 'GO:0005524', 'GO:0016020', 'GO:0102391'] ['GO:0003996', 'GO:0004467', 'GO:0005524', 'GO:0016020', 'GO:0102391'] ['GO:0003996', 'GO:0004467', 'GO:0005524', 'GO:0016020', 'GO:0102391'] ['GO:0003996', 'GO:0004467', 'GO:0005524', 'GO:0016020', 'GO:0102391'] ['GO:0003996', 'GO:0004467', 'GO:0005524', 'GO:0102391'] ['GO:0003996', 'GO:0004467', 'GO:0005524', 'GO:0006635', 'GO:0102391'] ['GO:0004321', 'GO:0005524', 'GO:0005777', 'GO:0009695', 'GO:0016874'] ['GO:0005524', 'GO:0009698', 'GO:0016207'] ['GO:0005524', 'GO:0009698', 'GO:0010584', 'GO:0016207'] ['GO:0005524', 'GO:0009698', 'GO:0016207'] ['GO:0005524', 'GO:0009698', 'GO:0016207'] ['GO:0005524', 'GO:0009698', 'GO:0016207'] ['GO:0005524', 'GO:0009698', 'GO:0016207'] ['GO:0005524', 'GO:0009698', 'GO:0016207'] ['GO:0005524', 'GO:0009698', 'GO:0016207']

I can also provide the input files if needed.

However, I want to find all of the GO id duplicates between the UniProt entries for every protein sequence. For example: the first list has the UniProt entry ids, and below are all of the GO ids of the individual UnitProt entry and then again UniProt ids and GO ids and so on. I want to find the same GO ids that occur in those UnitProt entries.

My original idea was that for every set (in our case list) of UniProt ids put every GO ids into one list and then extract the duplicates. But I cant append the items from goTerms list into a new list. I tried append and extend. It doesnt work at all.

Maybe there is a better solution?

parsing genbank biopython • 222 views
ADD COMMENT
1
Entering edit mode

Please do not use Google Drive to show us plain text. Use either a GitHub gist or post the text here using code formatting. See here for more details.

ADD REPLY

Login before adding your answer.

Traffic: 1058 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6