annotate mrfast-2.1.0.4/Reads.c @ 0:7b3dc85dc7fd

Uploaded mrfast source tarball
author calkan
date Tue, 21 Feb 2012 10:29:47 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
1 /*
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
2 * Copyright (c) <2008 - 2012>, University of Washington, Simon Fraser University
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
3 * All rights reserved.
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
4 *
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
5 * Redistribution and use in source and binary forms, with or without modification,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
6 * are permitted provided that the following conditions are met:
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
7 *
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
8 * Redistributions of source code must retain the above copyright notice, this list
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
9 * of conditions and the following disclaimer.
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
10 * - Redistributions in binary form must reproduce the above copyright notice, this
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
11 * list of conditions and the following disclaimer in the documentation and/or other
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
12 * materials provided with the distribution.
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
13 * - Neither the names of the University of Washington, Simon Fraser University,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
14 * nor the names of its contributors may be
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
15 * used to endorse or promote products derived from this software without specific
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
16 * prior written permission.
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
17 *
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
22 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
23 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
24 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
25 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
26 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
27 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
28 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
29 */
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
30
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
31 /*
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
32 Authors:
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
33 Farhad Hormozdiari
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
34 Faraz Hach
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
35 Can Alkan
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
36 Emails:
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
37 farhadh AT uw DOT edu
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
38 fhach AT cs DOT sfu DOT ca
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
39 calkan AT uw DOT edu
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
40 */
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
41
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
42
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
43
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
44 #include <stdio.h>
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
45 #include <stdlib.h>
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
46 #include <string.h>
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
47 #include <ctype.h>
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
48 #include <zlib.h>
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
49 #include "Common.h"
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
50 #include "Reads.h"
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
51
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
52 #define CHARCODE(a) (a=='A' ? 0 : (a=='C' ? 1 : (a=='G' ? 2 : (a=='T' ? 3 : 4))))
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
53
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
54 FILE *_r_fp1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
55 FILE *_r_fp2;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
56 gzFile _r_gzfp1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
57 gzFile _r_gzfp2;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
58 Read *_r_seq;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
59 int _r_seqCnt;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
60 int *_r_samplingLocs;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
61
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
62 /**********************************************/
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
63 char *(*readFirstSeq)(char *);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
64 char *(*readSecondSeq)(char *);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
65 /**********************************************/
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
66 char *readFirstSeqTXT( char *seq )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
67 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
68 return fgets(seq, SEQ_MAX_LENGTH, _r_fp1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
69 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
70
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
71 /**********************************************/
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
72 char *readSecondSeqTXT( char *seq )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
73 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
74 return fgets(seq, SEQ_MAX_LENGTH, _r_fp2);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
75 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
76 /**********************************************/
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
77 char *readFirstSeqGZ( char *seq )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
78 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
79 return gzgets(_r_gzfp1, seq, SEQ_MAX_LENGTH);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
80 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
81
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
82 /**********************************************/
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
83 char *readSecondSeqGZ( char *seq )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
84 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
85 return gzgets(_r_gzfp2, seq, SEQ_MAX_LENGTH);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
86 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
87 /**********************************************/
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
88 int toCompareRead(const void * elem1, const void * elem2)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
89 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
90 return strcmp(((Read *)elem1)->seq, ((Read *)elem2)->seq);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
91 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
92 /**********************************************/
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
93 int readAllReads(char *fileName1,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
94 char *fileName2,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
95 int compressed,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
96 unsigned char *fastq,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
97 unsigned char pairedEnd,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
98 Read **seqList,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
99 unsigned int *seqListSize)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
100 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
101 double startTime=getTime();
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
102
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
103 char seq1[SEQ_MAX_LENGTH];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
104 char rseq1[SEQ_MAX_LENGTH];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
105 char name1[SEQ_MAX_LENGTH];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
106 char qual1[SEQ_MAX_LENGTH];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
107 char seq2[SEQ_MAX_LENGTH];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
108 char rseq2[SEQ_MAX_LENGTH];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
109 char name2[SEQ_MAX_LENGTH];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
110 char qual2[SEQ_MAX_LENGTH];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
111
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
112 char dummy[SEQ_MAX_LENGTH];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
113 char ch;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
114 int err1, err2;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
115 int nCnt;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
116 int discarded = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
117 int seqCnt = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
118 int maxCnt = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
119 int i;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
120 Read *list = NULL;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
121
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
122 int clipped = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
123
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
124 if (!compressed)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
125 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
126 _r_fp1 = fileOpen( fileName1, "r");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
127
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
128 if (_r_fp1 == NULL)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
129 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
130 return 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
131 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
132
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
133 ch = fgetc(_r_fp1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
134
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
135 if ( pairedEnd && fileName2 != NULL )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
136 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
137 _r_fp2 = fileOpen ( fileName2, "r" );
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
138 if (_r_fp2 == NULL)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
139 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
140 return 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
141 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
142 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
143 else
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
144 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
145 _r_fp2 = _r_fp1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
146 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
147
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
148 readFirstSeq = &readFirstSeqTXT;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
149 readSecondSeq = &readSecondSeqTXT;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
150 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
151 else
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
152 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
153
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
154 _r_gzfp1 = fileOpenGZ (fileName1, "r");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
155
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
156 if (_r_gzfp1 == NULL)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
157 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
158 return 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
159 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
160
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
161 ch = gzgetc(_r_gzfp1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
162
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
163 if ( pairedEnd && fileName2 != NULL )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
164 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
165 _r_gzfp2 = fileOpenGZ ( fileName2, "r" );
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
166 if (_r_gzfp2 == NULL)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
167 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
168 return 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
169 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
170 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
171 else
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
172 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
173 _r_gzfp2 = _r_gzfp1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
174 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
175
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
176 readFirstSeq = &readFirstSeqGZ;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
177 readSecondSeq = &readSecondSeqGZ;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
178 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
179
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
180 if (ch == '>')
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
181 *fastq = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
182 else
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
183 *fastq = 1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
184
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
185 // Counting the number of lines in the file
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
186 while (readFirstSeq(dummy)) maxCnt++;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
187
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
188 if (!compressed)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
189 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
190 rewind(_r_fp1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
191 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
192 else
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
193 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
194 gzrewind(_r_gzfp1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
195 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
196
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
197 // Calculating the Maximum # of sequences
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
198 if (*fastq)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
199 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
200 maxCnt /= 4;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
201 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
202 else
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
203 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
204 maxCnt /= 2;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
205 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
206
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
207 if (pairedEnd && fileName2 != NULL )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
208 maxCnt *= 2;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
209
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
210 list = getMem(sizeof(Read)*maxCnt);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
211
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
212 while( readFirstSeq(name1) )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
213 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
214 err1 = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
215 err2 = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
216 readFirstSeq(seq1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
217 name1[strlen(name1)-1] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
218
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
219 if ( *fastq )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
220 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
221 readFirstSeq(dummy);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
222 readFirstSeq(qual1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
223 qual1[strlen(qual1)-1] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
224 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
225 else
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
226 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
227 sprintf(qual1, "*");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
228 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
229
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
230 // Cropping
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
231 if (cropSize > 0)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
232 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
233 seq1[cropSize] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
234 if ( *fastq )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
235 qual1[cropSize] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
236 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
237
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
238
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
239 nCnt = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
240 for (i=0; i<strlen(seq1); i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
241 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
242 seq1[i] = toupper (seq1[i]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
243 if (seq1[i] == 'N')
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
244 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
245 nCnt++;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
246 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
247 else if (isspace(seq1[i]))
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
248 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
249
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
250 seq1[i] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
251 break;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
252 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
253 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
254
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
255 if (nCnt > errThreshold)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
256 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
257 err1 = 1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
258 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
259
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
260 // Reading the second seq of pair-ends
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
261 if (pairedEnd)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
262 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
263 readSecondSeq(name2);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
264 readSecondSeq(seq2);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
265 name2[strlen(name2)-1] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
266
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
267
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
268 if ( *fastq )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
269 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
270 readSecondSeq(dummy);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
271 readSecondSeq(qual2);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
272
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
273 qual2[strlen(qual2)-1] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
274 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
275 else
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
276 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
277 sprintf(qual2, "*");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
278 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
279
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
280
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
281 // Cropping
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
282 if (cropSize > 0)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
283 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
284 seq2[cropSize] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
285 if ( *fastq )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
286 qual2[cropSize] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
287 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
288
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
289
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
290 nCnt = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
291 for (i=0; i<strlen(seq2); i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
292 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
293 seq2[i] = toupper (seq2[i]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
294 if (seq2[i] == 'N')
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
295 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
296 nCnt++;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
297
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
298 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
299 else if (isspace(seq2[i]))
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
300 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
301 seq2[i] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
302 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
303 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
304 if (nCnt > errThreshold)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
305 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
306 err2 = 1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
307 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
308
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
309
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
310 if (strlen(seq1) < strlen(seq2)) {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
311 seq2[strlen(seq1)] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
312 if ( *fastq )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
313 qual2[strlen(seq1)] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
314 if (!clipped) clipped = 2;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
315 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
316 else if (strlen(seq1) > strlen(seq2)){
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
317 seq1[strlen(seq2)] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
318 if ( *fastq )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
319 qual1[strlen(seq2)] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
320 if (!clipped) clipped = 1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
321 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
322
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
323 if (clipped == 1 || clipped == 2){
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
324 fprintf(stdout, "[PE mode warning] Sequence lengths are different, read #%d is clipped to match.\n", clipped);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
325 clipped = 3;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
326 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
327
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
328
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
329
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
330 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
331
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
332 if (!pairedEnd && !err1)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
333 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
334 int _mtmp = strlen(seq1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
335 list[seqCnt].hits = getMem (1+3*_mtmp+3+strlen(name1)+1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
336 list[seqCnt].seq = list[seqCnt].hits + 1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
337 list[seqCnt].rseq = list[seqCnt].seq + _mtmp+1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
338 list[seqCnt].qual = list[seqCnt].rseq + _mtmp+1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
339 list[seqCnt].name = list[seqCnt].qual + _mtmp+1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
340
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
341 list[seqCnt].hashValue = getMem(sizeof(short)*_mtmp);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
342 list[seqCnt].rhashValue = getMem(sizeof(short)*_mtmp);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
343
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
344 list[seqCnt].readNumber = seqCnt;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
345
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
346 reverseComplete(seq1, rseq1, _mtmp);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
347 rseq1[_mtmp] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
348 int i;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
349
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
350 list[seqCnt].hits[0] = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
351
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
352 for (i=0; i<=_mtmp; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
353 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
354 list[seqCnt].seq[i] = seq1[i];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
355 list[seqCnt].rseq[i] = rseq1[i] ;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
356 list[seqCnt].qual[i] = qual1[i];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
357 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
358
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
359
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
360 //MAKE HASH VALUE
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
361 short code = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
362
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
363 for(i=0; i < 4; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
364 code = code * 5 + CHARCODE(list[seqCnt].seq[i]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
365 list[seqCnt].hashValue[0] = code;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
366
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
367
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
368 for(i = 1; i < _mtmp-3; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
369 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
370 list[seqCnt].hashValue[i] = (list[seqCnt].hashValue[i-1] - 125 * CHARCODE(seq1[i-1])) * 5 + CHARCODE(seq1[i+3]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
371 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
372
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
373
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
374 code = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
375 for(i=0; i < 4; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
376 code = code * 5 + CHARCODE(list[seqCnt].rseq[i]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
377 list[seqCnt].rhashValue[0] = code;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
378
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
379
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
380 for(i = 1; i < _mtmp-3; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
381 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
382 list[seqCnt].rhashValue[i] = (list[seqCnt].rhashValue[i-1] - 125 * CHARCODE(rseq1[i-1])) * 5 + CHARCODE(rseq1[i+3]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
383 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
384
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
385 int j = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
386 int tmpSize = _mtmp / (errThreshold+1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
387
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
388 list[seqCnt].hashValSampleSize = getMem(sizeof(int)*(errThreshold+1));
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
389 for(i=0; i < errThreshold+1; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
390 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
391 code = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
392 for(j = 0; j < tmpSize; j++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
393 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
394 code = code * 5 + CHARCODE(list[seqCnt].seq[i*tmpSize+j]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
395 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
396 list[seqCnt].hashValSampleSize[i] = code;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
397 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
398
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
399 sprintf(list[seqCnt].name,"%s%c", ((char*)name1)+1,'\0');
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
400
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
401 seqCnt++;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
402
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
403 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
404 else if (pairedEnd && !err1 && !err2)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
405 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
406
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
407 // Naming Conventions X/1, X/2 OR X
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
408 int tmplen = strlen(name1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
409 if (strcmp(name1, name2) != 0)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
410 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
411 tmplen = strlen(name1)-2;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
412 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
413
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
414 //first seq
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
415 int _mtmp = strlen(seq1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
416 list[seqCnt].hits = getMem (1+3*_mtmp+3+tmplen+1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
417 list[seqCnt].seq = list[seqCnt].hits + 1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
418 list[seqCnt].rseq = list[seqCnt].seq + _mtmp+1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
419 list[seqCnt].qual = list[seqCnt].rseq + _mtmp+1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
420 list[seqCnt].name = list[seqCnt].qual + _mtmp+1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
421
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
422 list[seqCnt].hashValue = getMem(sizeof(short)*_mtmp);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
423 list[seqCnt].rhashValue = getMem(sizeof(short)*_mtmp);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
424 list[seqCnt].readNumber = seqCnt;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
425
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
426 reverseComplete(seq1, rseq1, _mtmp);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
427 rseq1[_mtmp] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
428 int i;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
429
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
430 list[seqCnt].hits[0] = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
431
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
432 for (i=0; i<=_mtmp; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
433 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
434 list[seqCnt].seq[i] = seq1[i];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
435 list[seqCnt].rseq[i] = rseq1[i] ;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
436 list[seqCnt].qual[i] = qual1[i];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
437 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
438
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
439
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
440 name1[tmplen]='\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
441
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
442 //MAKE HASH VALUE
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
443 short code = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
444
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
445 for(i=0; i < 4; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
446 code = code * 5 + CHARCODE(list[seqCnt].seq[i]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
447 list[seqCnt].hashValue[0] = code;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
448
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
449
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
450 for(i = 1; i < _mtmp-3; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
451 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
452 list[seqCnt].hashValue[i] = (list[seqCnt].hashValue[i-1] - 125 * CHARCODE(seq1[i-1])) * 5 + CHARCODE(seq1[i+3]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
453 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
454
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
455
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
456 code = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
457 for(i=0; i < 4; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
458 code = code * 5 + CHARCODE(list[seqCnt].rseq[i]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
459 list[seqCnt].rhashValue[0] = code;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
460
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
461
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
462 for(i = 1; i < _mtmp-3; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
463 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
464 list[seqCnt].rhashValue[i] = (list[seqCnt].rhashValue[i-1] - 125 * CHARCODE(rseq1[i-1])) * 5 + CHARCODE(rseq1[i+3]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
465 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
466
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
467 int j = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
468 int tmpSize = _mtmp / (errThreshold+1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
469
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
470 list[seqCnt].hashValSampleSize = getMem(sizeof(int)*(errThreshold+1));
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
471 for(i=0; i < errThreshold+1; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
472 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
473 code = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
474 for(j = 0; j < tmpSize; j++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
475 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
476 code = code * 5 + CHARCODE(list[seqCnt].seq[i*tmpSize+j]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
477 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
478 list[seqCnt].hashValSampleSize[i] = code;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
479 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
480
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
481 sprintf(list[seqCnt].name,"%s%c", ((char*)name1)+1,'\0');
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
482
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
483
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
484 seqCnt++;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
485
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
486 //second seq
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
487 list[seqCnt].hits = getMem (1+3*_mtmp+3+tmplen+1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
488 list[seqCnt].seq = list[seqCnt].hits + 1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
489 list[seqCnt].rseq = list[seqCnt].seq + _mtmp+1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
490 list[seqCnt].qual = list[seqCnt].rseq + _mtmp+1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
491 list[seqCnt].name = list[seqCnt].qual + _mtmp+1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
492
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
493 list[seqCnt].hashValue = getMem(sizeof(short)*_mtmp);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
494 list[seqCnt].rhashValue = getMem(sizeof(short)*_mtmp);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
495 list[seqCnt].readNumber = seqCnt;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
496
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
497 reverseComplete(seq2, rseq2, _mtmp);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
498 rseq2[_mtmp] = '\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
499
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
500 list[seqCnt].hits[0] = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
501
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
502 for (i=0; i<=_mtmp; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
503 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
504 list[seqCnt].seq[i] = seq2[i];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
505 list[seqCnt].rseq[i] = rseq2[i] ;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
506 list[seqCnt].qual[i] = qual2[i];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
507 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
508
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
509
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
510 name2[tmplen]='\0';
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
511
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
512 //MAKE HASH VALUE
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
513 code = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
514
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
515 for(i=0; i < 4; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
516 code = code * 5 + CHARCODE(list[seqCnt].seq[i]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
517 list[seqCnt].hashValue[0] = code;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
518
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
519
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
520 for(i = 1; i < _mtmp-3; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
521 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
522 list[seqCnt].hashValue[i] = (list[seqCnt].hashValue[i-1] - 125 * CHARCODE(seq1[i-1])) * 5 + CHARCODE(seq1[i+3]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
523 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
524
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
525
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
526 code = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
527 for(i=0; i < 4; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
528 code = code * 5 + CHARCODE(list[seqCnt].rseq[i]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
529 list[seqCnt].rhashValue[0] = code;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
530
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
531
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
532 for(i = 1; i < _mtmp-3; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
533 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
534 list[seqCnt].rhashValue[i] = (list[seqCnt].rhashValue[i-1] - 125 * CHARCODE(rseq1[i-1])) * 5 + CHARCODE(rseq1[i+3]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
535 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
536
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
537 j = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
538 tmpSize = _mtmp / (errThreshold+1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
539
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
540 list[seqCnt].hashValSampleSize = getMem(sizeof(int)*(errThreshold+1));
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
541 for(i=0; i < errThreshold+1; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
542 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
543 code = 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
544 for(j = 0; j < tmpSize; j++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
545 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
546 code = code * 5 + CHARCODE(list[seqCnt].seq[i*tmpSize+j]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
547 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
548 list[seqCnt].hashValSampleSize[i] = code;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
549 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
550
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
551 sprintf(list[seqCnt].name,"%s%c", ((char*)name2)+1,'\0');
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
552
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
553 seqCnt++;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
554
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
555 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
556 else
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
557 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
558 discarded++;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
559 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
560 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
561
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
562 if (seqCnt > 0)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
563 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
564 SEQ_LENGTH = strlen(list[0].seq);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
565 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
566 else
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
567 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
568 fprintf(stdout, "ERROR: No reads can be found for mapping\n");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
569 return 0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
570 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
571
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
572
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
573 // Closing Files
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
574 if (!compressed)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
575 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
576 fclose(_r_fp1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
577 if ( pairedEnd && fileName2 != NULL )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
578 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
579 fclose(_r_fp2);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
580 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
581 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
582 else
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
583 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
584 gzclose(_r_gzfp1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
585 if ( pairedEnd && fileName2 != NULL)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
586 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
587 gzclose(_r_fp2);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
588 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
589 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
590
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
591 //qsort(list, seqCnt, sizeof(Read), toCompareRead);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
592
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
593 adjustQual(list, seqCnt);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
594
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
595 *seqList = list;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
596 *seqListSize = seqCnt;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
597
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
598
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
599 _r_seq = list;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
600 _r_seqCnt = seqCnt;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
601
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
602 if ( pairedEnd ) discarded *= 2;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
603
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
604 if (seqCnt>1)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
605 fprintf(stdout, "%d sequences are read in %0.2f. (%d discarded) [Mem:%0.2f M]\n", seqCnt, (getTime()-startTime), discarded, getMemUsage());
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
606 else
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
607 fprintf(stdout, "%d sequence is read in %0.2f. (%d discarded) [Mem:%0.2f M]\n", seqCnt, (getTime()-startTime), discarded, getMemUsage());
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
608
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
609
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
610
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
611 return 1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
612 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
613 /**********************************************/
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
614 void loadSamplingLocations(int **samplingLocs, int * samplingLocsSize)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
615 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
616 int i;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
617 int samLocsSize = errThreshold + 1;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
618 int *samLocs = getMem(sizeof(int)*samLocsSize);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
619
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
620 for (i=0; i<samLocsSize; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
621 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
622 samLocs[i] = (SEQ_LENGTH / samLocsSize) *i;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
623 if ( samLocs[i] + WINDOW_SIZE > SEQ_LENGTH)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
624 samLocs[i] = SEQ_LENGTH - WINDOW_SIZE;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
625 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
626
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
627 // Outputing the sampling locations
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
628
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
629 /*
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
630
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
631 int j;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
632 for (i=0; i<SEQ_LENGTH; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
633 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
634 fprintf(stdout, "-");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
635 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
636 fprintf(stdout, "\n");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
637
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
638 for ( i=0; i<samLocsSize; i++ )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
639 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
640 for ( j=0; j<samLocs[i]; j++ )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
641 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
642 fprintf(stdout," ");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
643 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
644 for (j=0; j<WINDOW_SIZE; j++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
645 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
646 fprintf(stdout,"+");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
647 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
648 fprintf(stdout, "\n");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
649 fflush(stdout);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
650 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
651
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
652
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
653 for ( i=0; i<SEQ_LENGTH; i++ )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
654 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
655 fprintf(stdout, "-");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
656 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
657 fprintf(stdout, "\n");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
658
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
659 */
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
660
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
661 *samplingLocs = samLocs;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
662 *samplingLocsSize = samLocsSize;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
663 _r_samplingLocs = samLocs;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
664 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
665
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
666 void finalizeReads(char *fileName)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
667 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
668 FILE *fp1=NULL;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
669
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
670 if (fileName != NULL)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
671 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
672 fp1 = fileOpen(fileName, "w");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
673 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
674 if (pairedEndMode)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
675 _r_seqCnt /=2;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
676
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
677 int i=0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
678 for (i = 0; i < _r_seqCnt; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
679 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
680 if (pairedEndMode && _r_seq[2*i].hits[0] == 0 && _r_seq[2*i+1].hits[0] == 0 && strcmp(_r_seq[2*i].qual,"*")!=0)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
681 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
682 fprintf(fp1,"@%s/1\n%s\n+\n%s\n@%s/2\n%s\n+\n%s\n", _r_seq[i*2].name, _r_seq[i*2].seq, _r_seq[i*2].qual, _r_seq[i*2].name, _r_seq[i*2+1].seq, _r_seq[i*2+1].qual);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
683 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
684 else if (pairedEndMode && _r_seq[2*i].hits[0] == 0 && _r_seq[2*i+1].hits[0] == 0)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
685 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
686 fprintf(fp1, ">%s/1\n%s\n>%s/2\n%shits=%d\n", _r_seq[i*2].name, _r_seq[i*2].seq, _r_seq[i*2].name, _r_seq[i*2+1].seq, _r_seq[2*i+1].hits[0]);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
687 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
688 else if (!pairedEndMode && _r_seq[i].hits[0] == 0 && strcmp(_r_seq[i].qual, "*")!=0)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
689 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
690 fprintf(fp1,"@%s\n%s\n+\n%s\n", _r_seq[i].name, _r_seq[i].seq, _r_seq[i].qual);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
691 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
692 else if (!pairedEndMode && _r_seq[i].hits[0] == 0)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
693 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
694 fprintf(fp1,">%s\n%s\n", _r_seq[i].name, _r_seq[i].seq);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
695 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
696 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
697
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
698 fclose(fp1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
699 if (pairedEndMode)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
700 _r_seqCnt *= 2;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
701
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
702 for (i = 0; i < _r_seqCnt; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
703 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
704 freeMem(_r_seq[i].hits,0);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
705 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
706
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
707
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
708 freeMem(_r_seq,0);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
709 freeMem(_r_samplingLocs,0);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
710 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
711
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
712 void adjustQual(Read *list, int seqCnt){
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
713 /* This function will automatically determine the phred_offset and readjust quality values if needed */
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
714 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
715
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
716
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
717
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
718 /*void finalizeOEAReads(char *fileName)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
719 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
720 FILE *fp1=NULL;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
721 FILE *fp2=NULL;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
722
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
723 //printf("OEA%s\n", fileName);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
724 char fileNameOEA1[200];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
725 char fileNameOEA2[200];
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
726 sprintf(fileNameOEA1, "%s_OEA1", fileName);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
727 sprintf(fileNameOEA2, "%s_OEA2", fileName);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
728
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
729
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
730 if (fileName != NULL)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
731 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
732 fp1 = fileOpen(fileNameOEA1, "w");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
733 fp2 = fileOpen(fileNameOEA2, "w");
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
734 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
735 if (pairedEndMode)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
736 _r_seqCnt /=2;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
737
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
738 int i=0;
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
739 printf("%d\n", _r_seqCnt);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
740 for (i = 0; i < _r_seqCnt; i++)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
741 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
742 if (pairedEndMode && _r_seq[2*i].hits[0] == 0 && _r_seq[2*i+1].hits[0] != 0 && strcmp(_r_seq[2*i].qual, "*")==0)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
743 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
744 fprintf(fp1,">%s/1\n%s\n>%s/2\n%s\n", _r_seq[i*2].name, _r_seq[i*2].seq, _r_seq[i*2].name, _r_seq[i*2+1].seq);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
745 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
746 else if (pairedEndMode && _r_seq[2*i].hits[0] != 0 && _r_seq[2*i+1].hits[0] == 0 && strcmp(_r_seq[2*i].qual, "*")==0)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
747 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
748 fprintf(fp2, ">%s/1\n%s\n>%s/2\n%s\n", _r_seq[i*2].name, _r_seq[i*2].seq, _r_seq[i*2].name, _r_seq[i*2+1].seq);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
749 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
750 else if (pairedEndMode && _r_seq[2*i].hits[0] == 0 && _r_seq[2*i+1].hits[0] != 0 && strcmp(_r_seq[2*i].qual, "*")!=0)
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
751 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
752 fprintf(fp1,"@%s\n%s\n+\n%s\n@%s\n%s\n+\n%s\n", _r_seq[2*i].name,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
753 _r_seq[2*i].seq,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
754 _r_seq[2*i].qual,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
755 _r_seq[2*i+1].name,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
756 _r_seq[2*i+1].seq,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
757 _r_seq[2*i+1].qual);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
758 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
759 else if ( pairedEndMode && _r_seq[2*i].hits[0] != 0 && _r_seq[2*i+1].hits[0] == 0 && strcmp(_r_seq[2*i].qual, "*")!=0 )
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
760 {
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
761 fprintf(fp2,"@%s\n%s\n+\n%s\n@%s\n%s\n+\n%s\n", _r_seq[2*i].name,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
762 _r_seq[2*i].seq,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
763 _r_seq[2*i].qual,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
764 _r_seq[2*i+1].name,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
765 _r_seq[2*i+1].seq,
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
766 _r_seq[2*i+1].qual);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
767 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
768 }
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
769
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
770 fclose(fp1);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
771 fclose(fp2);
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
772
7b3dc85dc7fd Uploaded mrfast source tarball
calkan
parents:
diff changeset
773 }*/