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.
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 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])
WYSIWYG
Terdon
Terdon
WYSIWYG