Používat AI je povoleno, pouze to poznamenejte to kódu. Úkoly se budou hodnotit podle toho, jak splní zadané požadavky.
Začněte s jednodušším vstupním souborem fastq.fq a vyrobte program, který bude postupně splňovat následující úkoly:
for header, sequnce, comment, quality in FASTQReader(SOUBOR):
...
for header, sequnce in FASTAReader(SOUBOR):
...
type fastq.fq | program.py
> pro FASTA, @ pro FASTQ)`
Napište následující tři programy, které všechny přebírají svůj vstup ze standardního vstupu operačního systému a posílají výstup na standardní výstup operačního systému (tzn. že je možné napsat následující sekvenci příkazů; předpokládáme, že vytvořené programy jsou spustitelné:
DOS: type fastq.fq | crc.py | kontrola.py
Linux: cat fastq.fq | crc.py | kontrola.py
). Požadované programy:
crc.py – Program doplní do hlavičkového, resp. komentářového řádku vstupního FASTQ-souboru kontrolní součet sekvence, resp. kvality čtení. Ze záznamu..
@HWI-ST169:212:B07Y7ABXX:2:1101:15198:2000 1:N:0: GAGAAAGAAGCAACTCTACTACGTCAGTACGGCCTTTGTAACATGCCCACATAAG + CCCFFFFFHHG?HIJJJJJJJJJGIJJIIHIJJJJIJJGIJJJJJJJJJJJJJJI..se tak stane např. záznam:
@HWI-ST169:212:B07Y7ABXX:2:1101:15198:2000 1:N:0: crc32=3411694818 GAGAAAGAAGCAACTCTACTACGTCAGTACGGCCTTTGTAACATGCCCACATAAG + crc32=1049268927 CCCFFFFFHHG?HIJJJJJJJJJGIJJIIHIJJJJIJJGIJJJJJJJJJJJJJJI
kontrola.py – Program ověří, že sekvence a kvalita čtení ve vstupním souboru odpovídají kontrolním součtům z příslušných hlaviček, a chybné údaje vypíše (všechny čtyři řádky daného záznamu s vyznačením řádku obsahujícím chybu). Příklad (barevného) výpisu chyby:
@HWI-ST169:212:B07Y7ABXX:2:1101:15537:1999 1:N:0: crc32=1684002928
CCCCAACAAGATTGGACGTTTTGTGATCGAAGAGGTTCCTGGTGAGCTCATGCAG
+ crc32=2764384176
@@CDDDFDHHFHHIJ@GHAHHJEDAEIIIGIIIJB?FGGIJJDHIGGCHIGIIIG
kopie.py – Program přepíše ze vstupu na výstup pouze ty záznamy, v nichž bude kontrolní součet sekvence i kvality čtení bez chyby (tzn. že na výstupu bude potenciálně menší, ale stále validní, FASTQ-soubor).
...