2017-09-03 Yanxiao Zhang <yanxiazh@umich.edu>
	* version 1.1.19-1.1.21
	* bugfixes
	* changed read file method. Switch from reading the 
	left-most position to the read start position.

2017-03-06 Yanxiao Zhang <yanxiazh@umich.edu>
	* version 1.1.18
	* fixed sveral runtime bugs
	* Made compatible with python 3x

2016-08-08 Yanxiao Zhang <yanxiazh@umich.edu>
	* version 1.1.13
	* fixed a bug if the bam file read is smaller 1000 reads. 
	* fixed a bug where 'no' for normalization will not run. 

2016-07-14 Yanxiao Zhang <yanxiazh@umich.edu>
	* version 1.1.13
	* added refine peak boundary back to the post-processing module

2016-06-27 Yanxiao Zhang <yanxiazh@umich.edu>
	* version 1.1.9-1.1.12
	* hotfixes
	* changes readme. 

2016-05-31 Yanxiao Zhang <yanxiazh@umich.edu>
	* version 1.1.8
	* added support for paired-end reads (bam and sam)
	* v1.1.9
	* check if the paired-end files are sorted by the read name. 

2016-05-26 Yanxiao Zhang <yanxiazh@umich.edu>
	* version 1.1.7
	* added back the inter-group normalization
	* added a few exception handlers.
	* check for files and directories before running PePr.

2016-05-24 Yanxiao Zhang <yanxiazh@umich.edu>
	* version 1.1.6
	* added back the post-processing module
	* make preprocessing and postprocessing modules separate console commands.
	* added back fileParser.py to facilitate parser function reuse. 

2016-05-23 Yanxiao Zhang <yanxiazh@umich.edu>
	* version 1.1.5
	* added back 'removing duplicates'

2016-05 Yanxiao Zhang <yanxiazh@umich.edu>
	* version 1.1.1 - 1.1.4
	* hotfixes. 

2016-04-17 Yanxiao Zhang <yanxiazh@umich.edu>
	* version 1.1.0
	* A few major changes
	* PePr now separated into three steps: (1) preprocessing (2)
	peak-calling (3) post-processing. step 3 is no longer required.
	* Instead of command line options, can take parameter file as input
	now, and will output parameters into a file so users can reproduce the
	results or fine-tune the parameters using that file. 
	* Shift size estimation method changed
	* Added multiprocessing. Now can run in parallel mode.
	* Memory usage significantly reduced because reads are no longer
	completed loaded into memory.
	* No longer needed to sort and index bam files for reading. 
	

2015-08-05 Yanxiao Zhang <yanxiazh@umich.edu>
	* Bug fixes for the refining peak width.

2015-04-07 Yanxiao Zhang <yanxiazh@umich.edu>
	* Change dependencies on Numpy and Scipy to 
		'numpy>=1.6.0'
	        'scipy>=0.14.0'

2015-03-24 Yanxiao Zhang <yanxiazh@umich.edu>
	* version 1.0.7
	* refactor a few functions, now should work with python 3.4.
	* change dependency to numpy==1.6.0 and scipy==0.14.0, which is the working version under development. 
	
2015-01-27 Yanxiao Zhang <yanxiazh@umich.edu>
	* version 1.0.6
	* enable custom normalization or NO normalization.
	* fixed the filename list bug. 
	* add a message when PePr finishes running

2014-12-02 Yanxiao Zhang <yanxiazh@umich.edu> 
	* version 1.0.5
	* from now on, users can submit differential analysis without input samples. 

2014-11-21 Yanxiao Zhang <yanxiazh@umich.edu>
	* sigTest.py: fixed the coordinates overflow error in the post-processing step. 

2014-08-22 Yanxiao Zhang <yanxiazh@umich.edu>
	* classDef.py: Added a few exception handlers for invalid input
	parameters. 

2014-04-23 Yanxiao Zhang <yanxiazh@umich.edu>
	* setup.py: Added. Made PePr into a python package and uploaded it up to the PyPI repository. 

2014-04-04 Yanxiao Zhang <yanxiazh@umich.edu>
	* sigTest.py: Removed the previous method that filter out the peaks without any strand lag; added a method to remove artefacts that either have same peak shape in ChIP and background, or are dominated by reads at less than three positions.  

2014-04-01 Yanxiao Zhang <yanxiazh@umich.edu>
	* Version 1.0.1
	* Major changes: 
	    Added support for BAM format (requring pysam module);
	    Changed the normalization strategy (NCIS and modified TMM for input and ChIP samples respectively);
	    For differential analysis, will subtract input reads from ChIP reads after normalization;	    Improved the peak-calling speed; 
	    No longer requires a pre-specified genome. 
	* classDef.py: Added a new class Parameters.
	* fileParser.py: Added BAM format parser. 
	* sigTest.py: implemented a new method for estimating over-dispersion parameter.
	* windowSize.py: Added new normalization: NCIS for input and modified TMM for ChIP samples.
	* genomeData.py: Deleted. Chromosome and genome size will be established directly from the data. 

2014-02-05 Yanxiao Zhang <yanxiazh@umich.edu> 
	* Version 1.0.0
	* optParser.py: Added diff option to allow the user to do automatical sample swap for differential analysis instead of running the program twice. 
	* shiftSize.py, sigTests.py: some functions changed accordingly to do sample swap. 

2012-10-09 Yanxiao Zhang <yanxiazh@umich.edu>
	* Version 0.9.0
	* sigTests.py: Added optional post-processing steps: (1) Estimating the shift size for every peak and remove peaks that have shift size less than 5bp+readlength (2) refine the peak boundary to minimally contain the  core region that are warranted by reads. 
	* Cleaned deprecated functions. 	

2012-09-28 Yanxiao Zhang <yanxiazh@umich.edu>
	*  sigTests.py: Revised the dispersion parameter estiamtion method to leverage the local information to increase the precision of estiamtion. Deleted the code from edgeR. 


2012-03-19 Yanxiao Zhang <yanxiazh@umich.edu>
	* windowsize.py: New window size estiamtion method 

	* shiftsize.py: New shift size estiamtion method 

	* sigTests.py: Using the log transformed wald test instead of the original wald test. 

	* clasDef.py: Added function to estimate and remove redundant reads. 

2012-01-24 Yanxiao Zhang <yanxiazh@umich.edu> 
	* genomeData.py: Added support to genome build mm9, dm3

2011-10-25 Yanxiao Zhang <yanxiazh@umich.edu> 
	* The first draft version of the program. 
	* classDef.py, fileParser.py, genomeData.py, logConfig.py, misc.py, optParser.py, PePr.py, shiftSize.py, sigTests.py, windowSize.py: files created


