Mercurial > repos > yufei-luo > s_mart
comparison commons/core/writer/MySqlTranscriptWriter.py @ 18:94ab73e8a190
Uploaded
author | m-zytnicki |
---|---|
date | Mon, 29 Apr 2013 03:20:15 -0400 |
parents | 769e306b7933 |
children |
comparison
equal
deleted
inserted
replaced
17:b0e8584489e6 | 18:94ab73e8a190 |
---|---|
162 Add a list of transcripts to the transcripts to be written | 162 Add a list of transcripts to the transcripts to be written |
163 @param transcriptListParser: transcripts to be written | 163 @param transcriptListParser: transcripts to be written |
164 @type transcriptListParser: class L{TranscriptListParser<TranscriptListParser>} | 164 @type transcriptListParser: class L{TranscriptListParser<TranscriptListParser>} |
165 """ | 165 """ |
166 self.transcriptListParser = transcriptListParser | 166 self.transcriptListParser = transcriptListParser |
167 self.mySqlConnection.executeManyQueriesIterator(self) | 167 self.mySqlConnection.executeManyFormattedQueriesIterator(self) |
168 | 168 |
169 | 169 |
170 def getIterator(self): | 170 def getIterator(self): |
171 """ | 171 """ |
172 Iterator to the SQL commands to insert the list | 172 Iterator to the SQL commands to insert the list |
176 chromosome = transcript.getChromosome() | 176 chromosome = transcript.getChromosome() |
177 if chromosome not in self.tables: | 177 if chromosome not in self.tables: |
178 self.createTable(chromosome) | 178 self.createTable(chromosome) |
179 self.nbTranscriptsByChromosome[chromosome] = self.nbTranscriptsByChromosome.get(chromosome, 0) + 1 | 179 self.nbTranscriptsByChromosome[chromosome] = self.nbTranscriptsByChromosome.get(chromosome, 0) + 1 |
180 values = transcript.getSqlValues() | 180 values = transcript.getSqlValues() |
181 yield "INSERT INTO '%s' (%s) VALUES (%s)" % (self.tables[chromosome].name, ", ".join(self.tables[chromosome].variables), ", ".join([MySqlTable.formatSql(values[variable], self.tables[chromosome].types[variable], self.tables[chromosome].sizes[variable]) for variable in self.tables[chromosome].variables])) | 181 #yield "INSERT INTO '%s' (%s) VALUES (%s)" % (self.tables[chromosome].name, ", ".join(self.tables[chromosome].variables), ", ".join([MySqlTable.formatSql(values[variable], self.tables[chromosome].types[variable], self.tables[chromosome].sizes[variable]) for variable in self.tables[chromosome].variables])) |
182 yield ("INSERT INTO '%s' (%s) VALUES (%s)" % (self.tables[chromosome].name, ", ".join(self.tables[chromosome].variables), ", ".join(["?"] * len(self.tables[chromosome].variables))), [values[variable] for variable in self.tables[chromosome].variables]) | |
182 progress.inc() | 183 progress.inc() |
183 progress.done() | 184 progress.done() |
184 | 185 |
185 | 186 |
186 def write(self): | 187 def write(self): |
188 Copy the content of the files into the database | 189 Copy the content of the files into the database |
189 (May add transcripts to already created databases) | 190 (May add transcripts to already created databases) |
190 """ | 191 """ |
191 for chromosome in self.transcriptValues: | 192 for chromosome in self.transcriptValues: |
192 if chromosome in self.transcriptValues: | 193 if chromosome in self.transcriptValues: |
193 self.tables[chromosome].insertMany(self.transcriptValues[chromosome]) | 194 self.tables[chromosome].insertManyFormatted(self.transcriptValues[chromosome]) |
194 self.transcriptValues = {} | 195 self.transcriptValues = {} |
195 self.toBeWritten = False | 196 self.toBeWritten = False |
196 | 197 |
197 | 198 |
198 def getTables(self): | 199 def getTables(self): |