4
|
1 #include <assert.h>
|
|
2 #include <ctype.h>
|
|
3 #include <stdlib.h>
|
|
4 #include <zlib.h>
|
|
5 #include <stdio.h>
|
|
6 #include <unistd.h>
|
|
7 #include "sickle.h"
|
|
8 #include "kseq.h"
|
|
9
|
|
10
|
|
11 void print_record (FILE *fp, kseq_t *fqr, cutsites *cs) {
|
|
12 fprintf(fp, "@%s", fqr->name.s);
|
|
13 if (fqr->comment.l) fprintf(fp, " %s\n", fqr->comment.s);
|
|
14 else fprintf(fp, "\n");
|
|
15 fprintf(fp, "%.*s\n", cs->three_prime_cut - cs->five_prime_cut, fqr->seq.s + cs->five_prime_cut);
|
|
16 fprintf(fp, "+\n");
|
|
17 fprintf(fp, "%.*s\n", cs->three_prime_cut - cs->five_prime_cut, fqr->qual.s + cs->five_prime_cut);
|
|
18 }
|
|
19
|
|
20 void print_record_gzip (gzFile fp, kseq_t *fqr, cutsites *cs) {
|
|
21 gzprintf(fp, "@%s", fqr->name.s);
|
|
22 if (fqr->comment.l) gzprintf(fp, " %s\n", fqr->comment.s);
|
|
23 else gzprintf(fp, "\n");
|
|
24 gzprintf(fp, "%.*s\n", cs->three_prime_cut - cs->five_prime_cut, fqr->seq.s + cs->five_prime_cut);
|
|
25 gzprintf(fp, "+\n");
|
|
26 gzprintf(fp, "%.*s\n", cs->three_prime_cut - cs->five_prime_cut, fqr->qual.s + cs->five_prime_cut);
|
|
27 }
|
|
28
|
|
29 void print_record_N (FILE *fp, kseq_t *fqr, int qualtype) {
|
|
30 fprintf(fp, "@%s", fqr->name.s);
|
|
31 if (fqr->comment.l) fprintf(fp, " %s\n", fqr->comment.s);
|
|
32 else fprintf(fp, "\n");
|
|
33 fprintf(fp, "N\n+\n%c\n", quality_constants[qualtype][Q_MIN]);
|
|
34 }
|
|
35
|
|
36 void print_record_N_gzip (gzFile fp, kseq_t *fqr, int qualtype) {
|
|
37 gzprintf(fp, "@%s", fqr->name.s);
|
|
38 if (fqr->comment.l) gzprintf(fp, " %s\n", fqr->comment.s);
|
|
39 else gzprintf(fp, "\n");
|
|
40 gzprintf(fp, "N\n+\n%c\n", quality_constants[qualtype][Q_MIN]);
|
|
41 }
|
|
42
|