contBAIT v1.1.8
==============
Function changes:
- Added findSexGroup that attempts to find sec chromosomes (or any monosome chromosomes) within the assembly

Minor changes:
- fixed a bug where findSimilarLibraries was crashing if no similarities were found
- fixed a bug where flipOrderedLinkageGroups was taking consecutive LGs rather than specifies LGs, causing the occassional crash
- fixed a bug in mergeFlankedLGs where if all LGs had fewer numbers than buildConsensus, or all LGs had higher numbers than buildConsensus there would be a crash.
- fixed a bug in orderAllLinkageGroups where the returned LinkageGroupList did not have a names attribute, and so would cause errors in downstream processes.
- plotLGDistances now has same colour scheme as orderAllLinkage groups. Also removed legend, as it was overlayed over the data
- thoroughBed now has a rmdup option (defaulted to TRUE) to presevent bug where sequencing duplicates were being called chimeras.


contiBAIT v1.1.7
==============
Function changes:
- strandSeqFreqTable now takes in a chimera file, the product of the second element of LocateMisroients.
- OrientationFrame has been depreciated. ReorientAndMergeLGs now generates a ChrTable with the strand information rather than the OrientationFrame data.frame
- ideogramPlot has been changed to accept the ChrTable orientation element
- writeBed has been changed to accept the ChrTable orientation element
- preProcessStrandTable now returns a ChrTable of AWC regions, rather than a vector

Minor changes:
- plotContigOrder tidied up
- plotLGDistances tidied up
- barplotLinkageGroupCalls tidied up

contiBAIT v1.1.6
==============
Function changes:
- Added whichGroup option for barplotLinkageGroupCalls, which allows selective plotting of data (for example, the 20 largest LGs or chromosomes)
- LocateMisorients now returns a list of ChrTable elements, with the first element representing identified misorients, and the second element representing identified chimeras.
- LocateMisorients no longer creates a table of misorient and chimera information, as this can easily be achieved by summing the width for the two returned elements
- Added similarityCutoff variable to mergeFlankedLGs.
- plotContigOrder now uses spearman correlation in determining ordering ability.
- plotContigOrder now orders zero-distance contig groups sequentially, rather than assigning them the same rank
- strandSeqFreqTable now includes a misorientation parameter. This parameter (the product of locateMisorients[[1]]) will flip reads contained within this region. For example, if
a filter element, chr1:1-1000000, has 80 W reads and 20 C reads, and a misorientations element, chr1:400000-500000, has 20 C reads and 0 W reads, then the filter element will be 
recorded as having 100 W and 0 C reads. 

Bug fixes:
- Added validity check to LinkageGroupList class, as LinkageGroupList elements with an empty names slot was causing R to crash when running some functions
- Changed the ChrTable constructor to create a name meta column to the GRanges object if one doesn't already exist
- Removed writeBed option for locateMisorients, as not necessary
- When more than one core used in clusterContigs, verbose is forced off to prevent spew of messages from all used cores once analysis completes.
- Fixed bug in makeBoxPlot, where occasionally the exclude bar was not displaying the percentage excluded

contiBAIT v1.1.5
==============
Bug fixes:
-fixed bug in orderAllLinkageGroups where program was erroring out if only one value sent to whichLG. 
-fixed bug where mergeFlankedLGs was crashing when no mergable regions were found

Major changes:
-Added new function, flipOrderedLinkageGroups, that uses a simple greedy algorithm to determine if contigs are misoriented within linkage groups, after ordering has already taken place.
-orderAllLinkageGroups now also returns a reordered linkageGroupList object as a third list element for use in downstream analysis.
-barplotLinkageGroupCalls has an additional parameter, bySize, that will order LGs by physical size rather than number of contigs contained therein. This is now the default
-plotLGDistances has an additional parameter, state, that allows the plotting of all states, only homozygous states ('homo'), or a comparison between homozygous and heterozygous ('hetero')

contiBAIT v1.1.4
==============
Bug fixes:
-Major bug uncovered in preProcessStrandTable where contigs that were entirely WC were not being removed since NAs were included in counts.
This meant that if a contig had 10 libraries with WC, and 90 libraries with NA, the proportion of WC libraries was erroneously called as 10%
-BarplotLinkageGroupCalls now has a percentage variable that plots the barplots as a % of the chromosome/LG rather than the absolute lenth in Mb
-Added verbose function to inform user of whether reorientAndMergeLGs finds any contigs to reorient.
-Fixed bug where mergeFlankedLG was occasionally crashing when no mergeable contigs were found.

Major changes:
-ideogramPlot now allows closer BAIT-like ideograms using the sizeProportional argument. For example, if three contigs are present in an LG, the plot will be small
irrespective of the size of the contigs. Using sizeProportional=200000 will divide each contig into 200kb bins, and the reads will be evenly distributed across them 
to give a better representation of the chromosome size.

contiBAIT v1.1.3
==============
Bug fixes:
-Prevented bug where makeChrTable was creating GRanges starting at nucleotide 0 rather than 1
-Fixed bug that caused error when 'chrom' option was used in BAIT.R
-Changed ideogramPlot to be more stable, quicker, no longer generate warnings.


contiBAIT v1.1.2
==============
Bug fixes:
-Prevented bug where ContigOrdering elements were slow to open due to computationally expensive sapply function in the definition 

contiBAIT v1.1.1
==============
Bug fixes:
-Changed version number to align with Bioconductor

contiBAIT v0.99.7
==============
Bug fixes:
-prevented rare error where strandSeqFreqTable was crashing when there were no reads for all contigs

Major changes:
-Added table output of inversion/chimera statistics from locateMisorients
-Made method for plotContigOrder and cleaned up code

contiBAIT v0.99.6
==============
Bug fixes:
Major changes:
-Added function fixLinkageGroups. This iteratively looks through each ordered linkageGroup and assesses whether the contigs actually belong together based on similarity of adjacent contigs. For example,
any adjacent contigs that are < 0.6 similar (this relatedCutOff is a user-definable option) are unlikely to actually be adjacent. This allows users to split groups that clustercContigs had erroneously merged
-Added function mergeFlankedLGs. For organisms with large chromosomes, computing a consensus strand state for each linkage group is inefficient; the 'consensus' will be highly variable compared to the 
contigs at each extreme flank of a linkage group. This function takes an ordered linkage group, and computes a consensus for the extreme flank at each side of a linkage group. It then merges groups that clluster
-To faciliate the above functions, orderAllLinkageGroups now outputs a list, with the contig order as the first element, and a series of strandStateMatrices as the second element. These strandStateMatrices are ordered, and 
parameters required for fixLinkageGroups and mergeFlankedContigs.  The strandStateMatrices are themselves stored in a list, which constitutes a new class; StrandStateList

Minor changes:
-Fixed a few bugs where single-contig LGs were being ignored or throwing out errors in orderAllLinkageGroups
-Added alreadyOrdered function to plotLGDistances, which prevents heatmap clustering and outputs in the order in which data is given. Will eventually remove the plotting function inherent in orderAllLinkageGroups


contiBAIT v0.99.5
==============
Bug fixes:
Major changes:
-Added master function highlightAssemblyErrors for use in detecting misorientations and chimera

Minor changes:
-Added generic for thoroghBed
-Fixed view error for LibraryGroupList with >10 elements
-Removed empty/1 base elements from makeChrTable, that occasionally occurred while using a splitBy file


contiBAIT v0.99.4
==============

Bug fixes:
- fixed error where strandTable removal in preprocessStrandTable was resulting in empty matrix
- fixed error where combineZeroDistances was creating an empty matrix that was too small for some data
- fixed bugs in contiBAIT:
	a) bug where error would occur if verbose=FALSE but saveFiles=TRUE (because this.message only produced if verbose is TRUE)
	b) changed linkage.groups to linkage.merged the second time reorientLinkageGroups is called
- Changed makeChrTable so it can now accept both a splitFile and a splitBy argument. Also will ensure that GRanges with meta columns won't interfere with splitting
- plotContigOrder now defaults to all chromosomes unless 'lg' is specified
- preprocessStrandTable has retired ignoreInternatlQual. To ignore quality libraries, just set lowQualityThreshold to NULL
- strandSeqFreqTable now behaves differently if the filter file has strand information. Any elements in the filter object will have their reads flipped to reflect the orientation specified in this file.
- replaced reorientLinkageGroup0s and mergeLinkageGroups into a combined function; reoientAndMergeLGs.

New Functions:
1. findSimilarLibraries.  Uses the clustering algorithm across libraries rather than contigs to find libraries where the distribution of directional reads are similar across a particular chromosome. These libraries can be merged into deeper files to look for chimerism using thoroughBed
2. thoroughBed. This function takes the list of lists from findSimilarLibraries and for each chromsome, merges similar libraries together. The output is a GRange object with merged reads for each chromosome
3. locateMisorients. This function takes the output of thoroghBed and using a circular binary segmenting algorithm to identify changes in strandState. The resulting file is of class ChrTable and includes directionality. As such, when fed into strandSeqFreqTable, regions of misorientations will be flipped, and chimeric sequence will be seperated.

contiBAIT v0.99.3
==============

- Added some core R dependencies to make things happy with the new devel version of R
- Shortened some lines of code

contiBAIT v0.99.2
==============

(In response to first round of Bioconductor review).

CLUSTERCONTIGS:
-Now pre-creates the LinkageGroupList; more efficient than copy and replace

MAKECHRTABLE:
-Now returns GRanges object
-All subsequent programs edited to take chrTable call as a GRanges
-Divided chromosome table now included in makeChrTable, so dividedChrTable function removed
-Ability to include additional split locations

MERGELINKAGEGROUPS:
-Now if clusNum is NULL, parallel clustering is not performed

PLOTTING FUNCTIONS WITH GGPLOTS:
-No longer return false positive issues with R CMD check

MAPGAPFROMOVERLAP:
-Retains data in GRanges, speeding up function

GENERAL:
-Simplified some longer one-liners.
-Imported methods
-All classes now have constructor functions


contiBAIT v0.99.1
==============

IDEOGRAMPLOT:
-fixed orientation issue. Now accepts OrientationTable to flip Watson and Crick reads

MERGELINKAGEGROUPS:
-fixed intermediate issue in mergeLinkageGroups where rownames were sometimes maintained and sometimes not after computeconsensus resulting in melt error.

PREPROCESSSTRANDTABLE:
- no longer looks for sex chromosomes. Was mostly pointless and didn't work well. Better method is to look for linkage groups with computeConsensus where consensus is mostly homozygous.

REORIENTLINKAGEGROUPS
-fixed bug where second iteration after mergeLinkageGroups was overwriting the OrientationTable.  Now accepts a previousOrient argument if performing second reorientation.


contiBAIT v0.99.0 (Submitted for BioC review 2016-01-20)
==============
