Calculate SNP quality after finishing alignment step - initial commit.
Re-organize code for callsnp.go and main/isc.go:
- Move functions ReadReads(), ProcessReads() to from main/isc.go to callsnp.go
- Take out the code for read alignment phase (with goroutines) from main/isc.go to a new function AlignReads() in callsnp.go.
- Modify function CallSNP() and create a new function CalcSNPQual() in callsnp.go to prepare for SNP quality calculation phase (with goroutines).
Modify function WriteSNPCalls() in callsnp.go
- Rename several functions in callsnp.go.
- Separate function FindSNP() to process each end.
- Remove reverse complement parts from ReadInfo data structure and move their calculation to function FindSNP().
re-organize code
Add function CalcSNPQual(), modify function CallSNPForEachPos() and related functions to calculate SNP quality.
Use non-goroutines for calling SNPs
Remove redundant memory creation in function ReadInfo (share.go)
- Modify function RevComp() to release redundant memory (share.go)
- Create each data channel for each "FindSNP" worker (callsnp.go)
Update TODO
- Made several changes to reduce memory usage.
- Switch back to using one data channnel for all gophers.
- Produce memory profile after each call to major functions.
Put log printing to a function
Show more log info
Rename variables, add quality info, and re-organize functions.
Add more log info
- Move read_info share variable out of FindSNPs() to ProcessReads()
- Use PrintMemStats() function for logging.
- Add more comments for variables and functions, change some functions' interface.
- Fix bugs: quality calculation of INDEL, writing quality to file.
- Change various variable names.
- Remove redundant assignment of returned SNPs in function FindSNPsFromReads().
- Change returned values of function ProcessReads().
...
Change type of SNP position (map index) from  int to uint32.
Merge branch '0.3.6-snpqual'

Edit TODO list.