Merge commit 'upstream/0.1.8'
[samtools.git] / NEWS
1 Beta Release 0.1.8 (11 July, 2010)
2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3
4 Notable functional changes:
5
6  * Added the `reheader' command which replaces a BAM header with a new
7    header. This command is much faster than replacing header by
8    BAM->SAM->BAM conversions.
9
10  * Added the `mpileup' command which computes the pileup of multiple
11    alignments.
12
13  * The `index' command now stores the number of mapped and unmapped
14    reads in the index file. This information can be retrieved quickly by
15    the new `idxstats' command.
16
17  * By default, pileup used the SOAPsnp model for SNP calling. This
18    avoids the floating overflow in the MAQ model which leads to spurious
19    calls in repetitive regions, although these calls will be immediately
20    filtered by varFilter.
21
22  * The `tview' command now correctly handles CIGARs like 7I10M and
23    10M1P1I10M which cause assertion failure in earlier versions.
24
25  * Tview accepts a region like `=10,000' where `=' stands for the
26    current sequence name. This saves typing for long sequence names.
27
28  * Added the `-d' option to `pileup' which avoids slow indel calling
29    in ultradeep regions by subsampling reads locally.
30
31  * Added the `-R' option to `view' which retrieves alignments in read
32    groups listed in the specified file.
33
34 Performance improvements:
35
36  * The BAM->SAM conversion is up to twice faster, depending on the
37    characteristic of the input.
38
39  * Parsing SAM headers with a lot of reference sequences is now much
40    faster.
41
42  * The number of lseek() calls per query is reduced when the query
43    region contains no read alignments.
44
45 Bug fixes:
46
47  * Fixed an issue in the indel caller that leads to miscall of indels.
48    Note that this solution may not work well when the sequencing indel
49    error rate is higher than the rate of SNPs.
50
51  * Fixed another issue in the indel caller which may lead to incorrect
52    genotype.
53
54  * Fixed a bug in `sort' when option `-o' is applied.
55
56  * Fixed a bug in `view -r'.
57
58 APIs and other changes:
59
60  * Added iterator interfaces to random access and pileup. The callback
61    interfaces directly call the iterator interfaces.
62
63  * The BGZF blocks holding the BAM header are indepedent of alignment
64    BGZF blocks. Alignment records shorter than 64kB is guaranteed to be
65    fully contained in one BGZF block. This change is fully compatible
66    with the old version of samtools/picard.
67
68 Changes in other utilities:
69
70  * Updated export2sam.pl by Chris Saunders.
71
72  * Improved the sam2vcf.pl script.
73
74  * Added a Python version of varfilter.py by Aylwyn Scally.
75
76 (0.1.8: 11 July 2010, r613)
77
78
79
80 Beta Release 0.1.7 (10 November, 2009)
81 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82
83 Notable changes:
84
85  * Improved the indel caller in complex scenariors, in particular for
86    long reads. The indel caller is now able to make reasonable indel
87    calls from Craig Venter capillary reads.
88
89  * Rewrote single-end duplicate removal with improved
90    performance. Paired-end reads are not touched.
91
92  * Duplicate removal is now library aware. Samtools remove potential
93    PCR/optical dupliates inside a library rather than across libraries.
94
95  * SAM header is now fully parsed, although this functionality is not
96    used in merging and so on.
97
98  * In samtools merge, optionally take the input file name as RG-ID and
99    attach the RG tag to each alignment.
100
101  * Added FTP support in the RAZF library. RAZF-compressed reference
102    sequence can be retrieved remotely.
103
104  * Improved network support for Win32.
105
106  * Samtools sort and merge are now stable.
107
108 Changes in other utilities:
109
110  * Implemented sam2vcf.pl that converts the pileup format to the VCF
111    format.
112
113  * This release of samtools is known to work with the latest
114    Bio-Samtools Perl module.
115
116 (0.1.7: 10 November 2009, r510)
117
118
119
120 Beta Release 0.1.6 (2 September, 2009)
121 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
122
123 Notable changes:
124
125  * In tview, do not show a blank screen when no reads mapped to the
126    corresponding region.
127
128  * Implemented native HTTP support in the BGZF library. Samtools is now
129    able to directly open a BAM file on HTTP. HTTP proxy is also
130    supported via the "http_proxy" environmental variable.
131
132  * Samtools is now compitable with the MinGW (win32) compiler and the
133    PDCurses library.
134
135  * The calmd (or fillmd) command now calculates the NM tag and replaces
136    MD tags if they are wrong.
137
138  * The view command now recognizes and optionally prints FLAG in HEXs or
139    strings to make a SAM file more friendly to human eyes. This is a
140    samtools-C extension, not implemented in Picard for the time
141    being. Please type `samtools view -?' for more information.
142
143  * BAM files now have an end-of-file (EOF) marker to facilitate
144    truncation detection. A warning will be given if an on-disk BAM file
145    does not have this marker. The warning will be seen on BAM files
146    generated by an older version of samtools. It does NO harm.
147
148  * New key bindings in tview: `r' to show read names and `s' to show
149    reference skip (N operation) as deletions.
150
151  * Fixed a bug in `samtools merge -n'.
152
153  * Samtools merge now optionally copies the header of a user specified
154    SAM file to the resultant BAM output.
155
156  * Samtools pileup/tview works with a CIGAR with the first or the last
157    operation is an indel.
158
159  * Fixed a bug in bam_aux_get().
160
161
162 Changes in other utilies:
163
164  * Fixed wrong FLAG in maq2sam.
165
166
167 (0.1.6: 2 September 2009, r453)
168
169
170
171 Beta Release 0.1.5 (7 July, 2009)
172 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
173
174 Notable changes:
175
176  * Support opening a BAM alignment on FTP. Users can now use "tview" to
177    view alignments at the NCBI ftp site. Please read manual for more
178    information.
179
180  * In library, propagate errors rather than exit or complain assertion
181    failure.
182
183  * Simplified the building system and fixed compiling errors caused by
184    zlib<1.2.2.1.
185
186  * Fixed an issue about lost header information when a SAM is imported
187    with "view -t".
188
189  * Implemented "samtool.pl varFilter" which filters both SNPs and short
190    indels. This command replaces "indelFilter".
191
192  * Implemented "samtools.pl pileup2fq" to generate FASTQ consensus from
193    pileup output.
194
195  * In pileup, cap mapping quality at 60. This helps filtering when
196    different aligners are in use.
197
198  * In pileup, allow to output variant sites only.
199
200  * Made pileup generate correct calls in repetitive region. At the same
201    time, I am considering to implement a simplified model in SOAPsnp,
202    although this has not happened yet.
203
204  * In view, added '-u' option to output BAM without compression. This
205    option is preferred when the output is piped to other commands.
206
207  * In view, added '-l' and '-r' to get the alignments for one library or
208    read group. The "@RG" header lines are now partially parsed.
209
210  * Do not include command line utilities to libbam.a.
211
212  * Fixed memory leaks in pileup and bam_view1().
213
214  * Made faidx more tolerant to empty lines right before or after FASTA >
215    lines.
216
217
218 Changes in other utilities:
219
220  * Updated novo2sam.pl by Colin Hercus, the key developer of novoalign.
221
222
223 This release involves several modifications to the key code base which
224 may potentially introduce new bugs even though we have tried to minimize
225 this by testing on several examples. Please let us know if you catch
226 bugs.
227
228 (0.1.5: 7 July 2009, r373)
229
230
231
232 Beta Release 0.1.4 (21 May, 2009)
233 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
234
235 Notable changes:
236
237  * Added the 'rmdupse' command: removing duplicates for SE reads.
238
239  * Fixed a critical bug in the indel caller: clipped alignments are not
240    processed correctly.
241
242  * Fixed a bug in the tview: gapped alignment may be incorrectly
243    displayed.
244
245  * Unified the interface to BAM and SAM I/O. This is done by
246    implementing a wrapper on top of the old APIs and therefore old APIs
247    are still valid. The new I/O APIs also recognize the @SQ header
248    lines.
249
250  * Generate the MD tag.
251
252  * Generate "=" bases. However, the indel caller will not work when "="
253    bases are present.
254
255  * Enhanced support of color-read display (by Nils Homer).
256
257  * Implemented the GNU building system. However, currently the building
258    system does not generate libbam.a. We will improve this later. For
259    the time being, `make -f Makefile.generic' is preferred.
260
261  * Fixed a minor bug in pileup: the first read in a chromosome may be
262    skipped.
263
264  * Fixed bugs in bam_aux.c. These bugs do not affect other components as
265    they were not used previously.
266
267  * Output the 'SM' tag from maq2sam.
268
269 (0.1.4: 21 May 2009, r297)
270
271
272
273 Beta Release 0.1.3 (15 April, 2009)
274 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
275
276 Notable changes in SAMtools:
277
278  * SAMtools is more consistent with the specification: a) '*' in the
279    QUAL field is allowed; b) the field separator is TAB only and SPACE
280    is treated as a character in a field; c) empty header is allowed.
281
282  * Implemented GLFv3 support in pileup.
283
284  * Fixed a severe bug in fixmate: strand information is wrongly
285    overwritten.
286
287  * Fixed a bug in alignment retrieval: alignments bridging n*16384bp are
288    not correctly retrieved sometimes.
289
290  * Fixed a bug in rmdup: segfault if unmapped reads are present.
291
292  * Move indel_filter.pl to samtools.pl and improved the filtering by
293    checking the actual number of alignments containing indels. The indel
294    pileup line is also changed a little to make this filtration easier.
295
296  * Fixed a minor bug in indexing: the bin number of an unmapped read is
297    wrongly calculated.
298
299  * Added `flagstat' command to show statistics on the FLAG field.
300
301  * Improved indel caller by setting the maximum window size in local
302    realignment.
303
304 Changes in other utilities:
305
306  * Fixed a bug in maq2sam: a tag name is obsolete.
307
308  * Improvement to wgsim: a) added support for SOLiD read simulation; b)
309    show the number of substitutions/indels/errors in read name; c)
310    considerable code clean up.
311
312  * Various converters: improved functionality in general.
313
314  * Updated the example SAM due to the previous bug in fixmate.
315
316 (0.1.3: 15 April 2009, r227)
317
318
319
320 Beta Release 0.1.2 (28 January, 2008)
321 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
322
323 Notable changes in SAMtools:
324
325  * Implemented a Bayesian indel caller. The new caller generate scores
326    and genotype and is potentially more accurate than Maq's indel
327    caller. The pileup format is also changed accordingly.
328
329  * Implemented rmdup command: remove potential PCR duplicates. Note that
330    this command ONLY works for FR orientation and requires ISIZE is
331    correctly set.
332
333  * Added fixmate command: fill in mate coordinates, ISIZE and mate
334    related flags from a name-sorted alignment.
335
336  * Fixed a bug in indexing: reads bridging 16x kbp were not retrieved.
337
338  * Allow to select reads shown in the pileup output with a mask.
339
340  * Generate GLFv2 from pileup.
341
342  * Added two more flags for flagging PCR/optical duplicates and for QC
343    failure.
344
345  * Fixed a bug in sort command: name sorting for large alignment did not
346    work.
347
348  * Allow to completely disable RAZF (using Makefile.lite) as some people
349    have problem to compile it.
350
351  * Fixed a bug in import command when there are reads without
352    coordinates.
353
354  * Fixed a bug in tview: clipping broke the alignment viewer.
355
356  * Fixed a compiling error when _NO_CURSES is applied.
357
358  * Fixed a bug in merge command.
359
360 Changes in other utilities:
361
362  * Added wgsim, a paired-end reads simulator. Wgsim was adapted from
363    maq's reads simulator. Colin Hercus further improved it to allow
364    longer indels.
365
366  * Added wgsim_eval.pl, a script that evaluates the accuracy of
367    alignment on reads generated by wgsim.
368
369  * Added soap2sam.pl, a SOAP2->SAM converter. This converter does not
370    work properly when multiple hits are output.
371
372  * Added bowtie2sam.pl, a Bowtie->SAM converter. Only the top hit will
373    be retained when multiple hits are present.
374
375  * Fixed a bug in export2sam.pl for QC reads.
376
377  * Support RG tag at MAQ->SAM converter.
378
379  * Added novo2sam.pl, a NovoAlign->SAM converter. Multiple hits and
380    indel are not properly handled, though.
381
382  * Added zoom2sam.pl, a ZOOM->SAM converter. It only works with the
383    default Illumina output.
384
385 (0.1.2: 28 January 2008; r116)
386
387
388
389 Beta Release 0.1.1 (22 December, 2008)
390 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
391
392 The is the first public release of samtools. For more information,
393 please check the manual page `samtools.1' and the samtools website
394 http://samtools.sourceforge.net