Ausblenden identischer Sequenzen in der NCBI-Weboberfläche

Manchmal gibt es identische Sequenzen in Genbank/Genpept, die meistens von derselben Spezies, aber unterschiedlichen Stämmen stammen. Dh wenn ich "Bakterien-Chitin-Synthase" nachschlage, taucht das 624-aa-Protein von Dickeya dadantii dreimal auf. Es gibt sogar einen Link zu "identischen Proteinen".

Gibt es einen Filter, den ich verwenden kann, um nur eine Sequenz aus jeder Gruppe identischer Sequenzen zu erhalten? Ich meine, außer die heruntergeladene Datei auf meinem eigenen Computer zu analysieren.

Verwenden Sie die NR-Datenbank und beschränken Sie sich auf die interessierenden Arten
@WYSIWYG meinst du die "teilweise" nicht redundante Datenbank? :P
Was ist Ihr Endziel? Es ist trivial, die Sequenzen herunterzuladen und nur eine zu behalten, aber wäre das für Sie in Ordnung oder muss dies auf der Website selbst geschehen? Durch die Verwendung von RefSeq werden die Duplikate für Ihr Beispiel auf 2 reduziert, aber da mehrere Sequenzen für verschiedene Stämme existieren, wird es schwierig sein, sie vollständig aus den NCBI-Datenbanken zu vermeiden. Was ist Ihr Endziel hier? Vielleicht gibt es bessere Wege.
@terdon .. LOL .. ja teilweise nicht redundant ..

Antworten (2)

Ich bin mir nicht sicher, ob es bei GenBank einen Weg gibt, aber UniProt bietet UniRef an, wo Sie redundante Sequenzen gruppieren oder einen niedrigeren Grenzwert (wie 90% Identität ) angeben können.

Ich brauche keine Cluster, ich brauche einen nicht redundanten Satz von Sequenzen, vorzugsweise mit einem richtigen Zugriff (dh das Lesen der gesamten Nr, um das zu finden, was ich brauche, ist zu viel). Aber trotzdem danke für die Antwort.
Nun, nehmen Sie einfach eine Sequenz aus jedem Cluster! Wenn Sie die UniRef-Datenbanken herunterladen, erhalten Sie tatsächlich den nicht redundanten Satz.

Ich habe ein kleines Skript geschrieben, um identische Sequenzen aus Fasta zu entfernen, um das zu bekommen, was ich brauche. Um die Liste der entfernten Sequenzen zu drucken, kommentieren Sie Zeile 22 aus

#! /usr/bin/python3
# Removes identical sequences from fasta file

import sys
from Bio import SeqIO
sequences={}
#This is where sequences will be stored
#likely calling str(seq.seq) on every test will be slower
with open(sys.argv[1], 'r') as fasta:
    parser=SeqIO.parse(fasta,'fasta')
    for seq in parser:
        sequences[seq.id]=str(seq.seq)
l=list(sequences.keys())
for j in range(0,len(l)-1,1):
    try:
        s=sequences[l[j]]
        for k in range(j+1,len(l)-1,1):
            if sequences[l[k]]==sequences[l[j]]:
                del sequences[l[k]]
    except KeyError:
        pass
        #print(l[j],file=sys.stderr)
for j in sequences.keys():
    print('>',j,'\n',sequences[j])
Dies ist für die Offline-Ausführung, für die auch viele andere Tools verwendet werden können – EMBOSS oder sogar awk. War nicht Ihre Frage zur Online-Suche.