Deze vraag is eigenlijk een soort vervolg op de vorige vraag die ik gesteld had.
Ik moet een dictionary maken van een '.fasta'-file van een paar proteïnen in een organisme.
Ik kom steeds op het probleem dat de verschillende lines in de '.fasta'-file niet worden samengevoegd in één sequentie zoals het hoort. Dit heb ik al, maar wat er nu staat geeft de values als '[]' weer (en dat weet ik ook niet hoe ik heb gedaan haha):
De '.fasta'-file is opgebouwd uit FASTA-formaten, dit zijn een op tekst gebaseerd formaat voor het weergeven van nucleotidesequenties of aminozuursequenties (eiwitsequenties). De ID van het proteïne wordt standaard weergeven met het '>' teken en daarachter de hele specifieke ID (bestaande uit accesion number, proteïne naam, etc.). Daaronder wordt dan de sequentie van dat proteïne weergeven.
Het lastige is ook dat niet elke proteïne een even grote sequentie heeft en al de aparte lines van de sequenties worden gescheiden door een 'enter'. Eén sequentie heeft dus meerdere lines in het bestand, en deze is bij elke proteïne van verschillende grootte.
Ik moet dus door het hele bestand een loop doen zodanig dat die elke keer de ID, die met '>' begint. En dan de sequentie eronder samenvoegt tot één element (niet aparte lines) en die toevoegt als de value. Dit moet elke keer herhaalt worden per ID en sequentie paar.
Ik ben een absolute beginner.
Alvast bedankt voor jullie hulp!
Ik moet een dictionary maken van een '.fasta'-file van een paar proteïnen in een organisme.
Ik kom steeds op het probleem dat de verschillende lines in de '.fasta'-file niet worden samengevoegd in één sequentie zoals het hoort. Dit heb ik al, maar wat er nu staat geeft de values als '[]' weer (en dat weet ik ook niet hoe ik heb gedaan haha):
Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| #Een dictionary aanmaken: dictionary = {} #empty ID = "" sequentie = "" with open("6EP.fasta","r") as f: for line in f: if line.startswith(">"): ID_plit = line.strip().split("|") ID = ID_gesplitst[1].strip() if ID not in dictionary: dictionaryID] = [] continue ?? print(dictionary) |
De '.fasta'-file is opgebouwd uit FASTA-formaten, dit zijn een op tekst gebaseerd formaat voor het weergeven van nucleotidesequenties of aminozuursequenties (eiwitsequenties). De ID van het proteïne wordt standaard weergeven met het '>' teken en daarachter de hele specifieke ID (bestaande uit accesion number, proteïne naam, etc.). Daaronder wordt dan de sequentie van dat proteïne weergeven.
Het lastige is ook dat niet elke proteïne een even grote sequentie heeft en al de aparte lines van de sequenties worden gescheiden door een 'enter'. Eén sequentie heeft dus meerdere lines in het bestand, en deze is bij elke proteïne van verschillende grootte.
Ik moet dus door het hele bestand een loop doen zodanig dat die elke keer de ID, die met '>' begint. En dan de sequentie eronder samenvoegt tot één element (niet aparte lines) en die toevoegt als de value. Dit moet elke keer herhaalt worden per ID en sequentie paar.
Ik ben een absolute beginner.
Alvast bedankt voor jullie hulp!
[Voor 77% gewijzigd door Noordpoollicht op 18-12-2022 23:27]