[med-svn] [arden] 01/02: Imported Upstream version 0.0.20130425

Andreas Tille tille at debian.org
Fri Feb 7 12:00:07 UTC 2014


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository arden.

commit c1911383ec8e0c966121c9d68128a96d2c79e7e7
Author: Andreas Tille <tille at debian.org>
Date:   Fri Feb 7 13:02:55 2014 +0100

    Imported Upstream version 0.0.20130425
---
 LICENSE                                       |   24 +
 README                                        |  157 +++
 arden-analyze                                 |  277 ++++
 arden-create                                  |  256 ++++
 arden-filter                                  |  278 ++++
 core/AnalyseMapping.py                        | 1192 +++++++++++++++++
 core/FindOrfs.py                              |  283 ++++
 core/InsertMutations.py                       |  288 ++++
 core/PlotData.py                              |  295 +++++
 core/Prep.py                                  |  162 +++
 core/ReadAndWrite.py                          |  188 +++
 doc/api-objects.txt                           |  105 ++
 doc/class-tree.html                           |  117 ++
 doc/core-module.html                          |  162 +++
 doc/core-pysrc.html                           |  115 ++
 doc/core.AnalyseMapping-module.html           | 1729 +++++++++++++++++++++++++
 doc/core.AnalyseMapping-pysrc.html            | 1302 +++++++++++++++++++
 doc/core.AnalyseMapping.CustomRead-class.html |  208 +++
 doc/core.AnalyseMapping.ReadID-class.html     |  147 +++
 doc/core.AnalyseMapping.TPRead-class.html     |  203 +++
 doc/core.FindOrfs-module.html                 |  321 +++++
 doc/core.FindOrfs-pysrc.html                  |  398 ++++++
 doc/core.InsertMutations-module.html          |  403 ++++++
 doc/core.InsertMutations-pysrc.html           |  403 ++++++
 doc/core.Mem-module.html                      |  285 ++++
 doc/core.Mem-pysrc.html                       |  244 ++++
 doc/core.PlotData-module.html                 |  224 ++++
 doc/core.PlotData-pysrc.html                  |  406 ++++++
 doc/core.Prep-pysrc.html                      |  277 ++++
 doc/core.ReadAndWrite-pysrc.html              |  303 +++++
 doc/core.insert_mutations-module.html         |  403 ++++++
 doc/core.orfs-module.html                     |  328 +++++
 doc/core.prep-module.html                     |  460 +++++++
 doc/core.readandwrite-module.html             |  501 +++++++
 doc/crarr.png                                 |  Bin 0 -> 340 bytes
 doc/epydoc.css                                |  322 +++++
 doc/epydoc.js                                 |  293 +++++
 doc/frames.html                               |   17 +
 doc/help.html                                 |  272 ++++
 doc/identifier-index.html                     |  518 ++++++++
 doc/index.html                                |   17 +
 doc/module-tree.html                          |  124 ++
 doc/redirect.html                             |   38 +
 doc/script-arden_analyze-module.html          |  199 +++
 doc/script-arden_create-module.html           |  245 ++++
 doc/script-arden_filter-module.html           |  389 ++++++
 doc/toc-core-module.html                      |   31 +
 doc/toc-core.AnalyseMapping-module.html       |   73 ++
 doc/toc-core.FindOrfs-module.html             |   35 +
 doc/toc-core.InsertMutations-module.html      |   36 +
 doc/toc-core.Mem-module.html                  |   34 +
 doc/toc-core.PlotData-module.html             |   35 +
 doc/toc-core.ReadAndWrite-module.html         |   39 +
 doc/toc-core.insert_mutations-module.html     |   36 +
 doc/toc-core.orfs-module.html                 |   35 +
 doc/toc-core.prep-module.html                 |   38 +
 doc/toc-everything.html                       |  118 ++
 doc/toc-script-arden_analyze-module.html      |   34 +
 doc/toc-script-arden_create-module.html       |   36 +
 doc/toc-script-arden_filter-module.html       |   39 +
 doc/toc.html                                  |   42 +
 61 files changed, 15539 insertions(+)

diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..3035bfe
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,24 @@
+Copyright (c) 2012, Sven H. Giese, gieses at rki.de
+Robert Koch-Institut, Germany,
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+    * The name of the author may not be used to endorse or promote products
+      derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL MARTIN S. LINDNER BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README b/README
new file mode 100644
index 0000000..1803862
--- /dev/null
+++ b/README
@@ -0,0 +1,157 @@
+ARDEN - Artificial Reference Driven Estimation of false positives in NGS
+https://sourceforge.net/p/arden/
+
+CURRENT VERSION: 1.0
+
+---------------------------------------------------------------------------
+Table of Contents
+---------------------------------------------------------------------------
+  1.   	Overview
+  2.  	Latest Version
+  3.  	Documentation
+  4.   	Installation
+  5.   	Dependencies
+  6.	Usage Example
+  7.	Contact
+  8. 	Licensing
+  
+  
+ 1. Overview 
+ ---------------------------------------------------------------------------
+ ARDEN is a collection of tools to estimate the number of false positives in NGS 
+ read mapping. It includes three moduls ('createAR','analyse' and 'filter') to 
+ perform a False Discovery Rate estimation. For a detailed getting started guide
+ have a look at the wikki:
+	https://sourceforge.net/p/arden/
+ 
+ 
+  
+ 2. Latest Version 
+ ---------------------------------------------------------------------------
+  The latest version of ARDEN can be downloaded at sourceforge:
+  The current version is 1.0
+	https://sourceforge.net/p/arden/
+ 
+ 
+  3. Documentation
+ ---------------------------------------------------------------------------
+  The documentation is available as of the date of this release in html format 
+  in the docs/ directory. You may also find useful information in the wikki:
+	https://sourceforge.net/p/arden/
+ 
+ 
+  4. Installation 
+ ---------------------------------------------------------------------------
+ ARDEN is a collection of python scripts and therefore needs no installation.
+ It was built and tested on a Linux platform. However, for convenient access it
+ is recommended to do the following adjustments to your environment variables:
+	export PATH = $PATH:/path/to/ARDEN
+	
+	
+  5. Dependencies 
+ ---------------------------------------------------------------------------
+ ARDEN makes use of the following python packages, that are all mandatory
+ (ARDEN was developed under Python 2.7):
+ 
+	* Python 2.7, http://www.python.org/
+	* NumPy 1.6.1, http://numpy.scipy.org/
+	* SciPy 0.10.0, http://www.scipy.org/
+	* HTSeq 0.5.3p9,	 https://pypi.python.org/pypi/HTSeq
+	* matplotlib 1.1.0,	 http://matplotlib.org/
+	
+ 
+   6. Usage Examples 
+ ---------------------------------------------------------------------------
+  ARDEN consists of various programs:
+	* arden-create:		creates an artificial reference genome for a given DNA sequence
+	* arden-analyse:	compares results on the artificial and original reference mappings
+	* arden-filter:		depending on a user defined cut-off a SAM file is filtered
+	
+ To display the detailed help information for every tool just run arden-toolname --help, 
+ e.g. arden-create --help. For a getting started guide visit the wikki on sourceforge.net
+ 
+   6.1 arden-create 
+ ---------------------------------------------------------------------------
+  The aim is to generate an artificial reference genome from an input genome. 
+  The target folder have to specified as 1st argument. There are various options
+  constraining this task. The most important option is the minimum distance between
+  two subsitutions. It is specified with -d and should be adjusted to read length
+  and desired error level. The final value for is internally d-3. If you specify
+  -d 15 as option the minimum distance will be 12.
+  
+	arden-create results/ sample.fasta -d 18
+	
+
+   6.2 arden-analyze 
+ ---------------------------------------------------------------------------
+  The aim is to compare mappings (in sorted SAM file format) of the reference genome
+  and the artificial genome created in the first step. Since a lot of input options
+  are required the program is controled through an inifile. Refere to doc\sample\ 
+  or the online wikki for creating this file correctly.
+
+  In general the ini file looks like this (with 2 mapper specified):
+  
+  	$:/PATH/TO/REFERENCE/FASTA
+	#:/PATH/TO/ARTIFICIAL/FASTA
+	&:/PATH/TO/READFILE
+	@MapperName_1
+	ref:PATH/TO/SORTED/SAM/FILE/REFERENCE_1
+	art:PATH/TO/SORTED/SAM/FILE/ARTIFICIAL_1
+	+	
+	@MapperName_2
+	ref:PATH/TO/SORTED/SAM/FILE/REFERENCE_2
+	art:PATH/TO/SORTED/SAM/FILE/ARTIFICIAL_2
+	+
+	
+	
+	arden-analyze inifile.txt outputfolder/
+	
+ 
+
+   6.1 arden-filter 
+ ---------------------------------------------------------------------------
+  Given a sensitivity and specificity analyzes and the corresponding alignment
+  features a new SAM file is generated, where suboptimal alignments are excluded.
+  The options are the read quality score , number of gaps, number of mismatches,
+  the alignment file in sorted SAM format and the desired outputfilename.
+  The relation concerning the options are the following: rqs >= option, 
+  gaps <= option, mismatches <= option.
+  
+	arden-filter alignment.sam filtered.sam -r 0 -g 3 -m 3
+	
+	
+	
+  8.	Contact
+   ---------------------------------------------------------------------------
+ 	For any suggestions please contact renardB at rki.de.
+ 
+  9.	Licensing
+  ---------------------------------------------------------------------------
+   
+   	Copyright (c) 2012, Sven H. Giese, gieseS at rki.de, 
+	Robert Koch-Institut, Germany,
+	All rights reserved.
+	
+	Redistribution and use in source and binary forms, with or without
+	modification, are permitted provided that the following conditions are met:
+	    * Redistributions of source code must retain the above copyright
+	      notice, this list of conditions and the following disclaimer.
+	    * Redistributions in binary form must reproduce the above copyright
+	      notice, this list of conditions and the following disclaimer in the
+	      documentation and/or other materials provided with the distribution.
+	    * The name of the author may not be used to endorse or promote products
+	      derived from this software without specific prior written permission.
+	
+	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+	DISCLAIMED. IN NO EVENT SHALL MARTIN S. LINDNER BE LIABLE FOR ANY
+	DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+	(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+	LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+	ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+	(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+	SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+  
+  
+ 
\ No newline at end of file
diff --git a/arden-analyze b/arden-analyze
new file mode 100755
index 0000000..93eeec7
--- /dev/null
+++ b/arden-analyze
@@ -0,0 +1,277 @@
+#!/usr/bin/env python
+"""
+Created on Thu Aug 18  2012
+
+Script for analyzing mapping results using an artificial reference genome (ART / ARG). An exhaustive comparison is performed between the input files (SAM format).
+The goal is to calculate a ROC curve and the AUC value to compare different read mapper / different settings on the same read mapper. Therefore FP and TP have to be identified.
+The TP are from the original reference. The FP are from the ART and are defined as unique mappings in a sense that no FP alignment occurs on the reference.
+
+ at author: Sven Giese
+"""
+
+
+
+"""
+Copyright (c) 2012, Sven H. Giese, gieseS at rki.de, 
+Robert Koch-Institut, Germany,
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+    * The name of the author may not be used to endorse or promote products
+      derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL MARTIN S. LINDNER BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+"""
+
+
+import time
+import cProfile
+import sys
+from optparse import OptionParser
+import os
+
+
+from core import  AnalyseMapping as AM
+from core import   PlotData as PD
+
+
+
+def TestFiles(input):
+    """Function which checks if all required files are correctly specified (existing) """
+    controlDic = AM.readInput(input)
+    # indicator variable
+    error = 0
+    for mapper in controlDic["mapper"].keys():
+        # does the file exist?
+        try:
+            # yes
+            fobj = open(controlDic["mapper"][mapper][0][0],"r")
+            fobj.close()
+        except IOError:
+            # nope --> error
+            print "error opening file %s. Does it exist?" % controlDic["mapper"][mapper][0][0]
+            error =1
+            
+        # do the same for the artificial reference mappings
+        for p,artificial in enumerate(controlDic["mapper"][mapper][1]):
+            try:
+                
+                fobj = open(artificial,"r")
+                fobj.close()
+            except IOError:
+                print "error opening file %s. Does it exist?" % artificial
+                error =1
+    return(error)
+            
+def main():
+    """ Control function for arden-analyze """
+    usage = """usage: %prog [options] [INPUT FILE] [OUTPUTFOLDER] ...
+    Required Arguments:
+    
+    OUTPUTFOLDER:\t path to output destination folder.
+    INPUT FILE: \t ppath to ini file. To get the required format have a look at the example files.
+    
+    Script to analyze the results of the artificial reference genome mapping. This script identifies the putative TPs / FPs
+    on a specific data set (reads).
+    """
+    
+    parser = OptionParser(usage=usage,version="%prog 1.0")
+    parser.add_option("-p", "--phred", type='int',dest="phred",action="store",  default=33,help="Specify the PHRED encoding of the input reads i.e. Illumina 1.3+ = -p 33.[default: %default]")
+    parser.add_option("-r", "--internalrank", type='int',dest="rank",action="store",  default=1,help="Use internal ranking for reads (needed if the read names cannot be lexicographically be sorted in the same way in python and your OS by sam tools).[default: %default]")
+    parser.description=""
+    (options, args) = parser.parse_args() 
+    numArgs = len(args)
+         
+    # numArgs has to be equal to # required parameters
+    if numArgs ==2 :
+        input = args[0]
+        outpath = args[1]
+        # adjust options, otherwise default is used
+        internalrank = options.rank
+        phred = options.phred
+  
+        
+    else:
+        print("!!!Wrong number of parameters!!!")
+        parser.print_help()
+        sys.exit(1)
+    
+    
+    
+   
+    UseInternalRank = 1
+    controlDic = AM.readInput(input)
+   
+    print("#######################################################################################")
+    print ("Input Settings:")
+    print ("Inputfile:\t%s" % input)
+    print ("Outputpath:\t%s" % outpath)
+    print ("Reads:\t%s" % controlDic["fastqfile"])
+    print ("UseInternalRank:\t%s" % UseInternalRank)
+    print ("Phred:\t%s" % phred)
+    print("#######################################################################################")
+    print ("\r\nStart...")
+    error = TestFiles(input)
+    if error == 1:
+        print "Program aborted. Check your inputfiles!"
+        sys.exit()
+    else:
+        print "Inputfiles checked successfully."
+    
+    # check if output dir exists; else create output 
+    if not os.path.exists(os.path.dirname(outpath)):
+        os.makedirs(os.path.dirname(outpath))
+    
+    # readdictionary with ID as key and quality as VALUE
+    start1 = time.time()
+    readdic =  AM.readReadQualities(controlDic["fastqfile"])
+    end1 = time.time()
+    # extend Readdic
+    readdic,reverseReadArray =  AM.extendReadDic(readdic)
+    
+    
+    # init resultdictionary which carries all information about temporary results etc.
+    resultdic = {}
+    resultdic["nreads"] = len(readdic)
+    resultdic["maxalngt"] = 0
+    resultdic["AUC"] = {}
+    resultdic["alngts"] = {}
+    resultdic["id"] =[]
+    resultdic["mapper"] =[]
+    resultdic["lines"] = {}
+    resultdic["mreads"] = {} # mapped reads
+    
+    
+
+    # init list for comparing artificial and reference
+    compareList = []
+
+
+    
+    #### looping #####
+    print ("########Progress (analysis):########")
+    print ("Mapper\t\tOutputfile\t\tOverallAlignments (TP/FP)\t\t Time")
+    for mapper in controlDic["mapper"].keys():
+        
+        
+        resultdic["mapper"].append(mapper)
+        # initialize output files (write once to them in case an earlier version exists)
+        AM.initOutFiles(controlDic,mapper,outpath)
+        # set refname
+        refname = controlDic["mapper"][mapper][0][0].split("/")[-1]
+        
+        print ("%s" %mapper.upper()),
+        
+        if UseInternalRank == 1:
+            rankDic = AM.GetOrderDictionary(controlDic["mapper"][mapper][0][0])
+            
+        for p,artificial in enumerate(controlDic["mapper"][mapper][1]):
+            # list for calculation the difference between reference and artificial within a read region
+            compareList = AM.CreateCompareList(controlDic["fasta"]["reffasta"],controlDic["fasta"]["artfasta"][p])
+            filename = artificial.split("/")[-1]
+            outfile = mapper+"_"+artificial.split("/")[-1][:-4]+".esam"
+
+
+            start = time.time()
+            # main function, write results to 4 variables
+            tp,fp,LineCounter,MappedReads = AM.ReadSAMnoMem(controlDic["mapper"][mapper][0][0],artificial,outpath+outfile,compareList,readdic,rankDic,phred)
+            end = time.time()
+            # dummy, configurable sensitivity calculation
+            tempmaxsens = tp
+            # maintain results in the resultstructure dictionary
+            resultdic["alngts"][outfile] = (tp,fp)
+            resultdic["lines"][outfile] = LineCounter
+            resultdic["mreads"][outfile] = MappedReads
+            resultdic["id"].append(outfile)
+            
+            print (outfile),
+            print  ("\t%0.2f (%0.2f/%0.2f)" %(tp+fp,tp,fp)),
+            print ("\t%0.2f sec." %(end-start))
+    ##################################################################################################################################
+
+  
+    # start evaluation process. SAM files are not getting touched anymore
+    print ("\r\n########Progress (evaluation):########")    
+    print ("Mapper\tTP\tFP\tTime")
+    for resultfile in resultdic["id"]:
+        print resultfile.split("_")[0],
+        
+        #do sme name generation for this iteration
+        prefix   = outpath+resultfile.split(".")[0]
+        filename = resultfile.split(".")[0]
+        
+        # read data into an array
+        dataArray = AM.ReadFromTab(outpath+resultfile,resultdic["lines"][resultfile])
+        
+        # get tp and fp arrays
+        tp =[i for i in dataArray if i.mr[0] ==1]
+        fp =[i for i in dataArray if i.mr[0] ==0]
+        
+        print ("\t %d"  % resultdic["alngts"][resultfile][0]), # TP
+        print ("\t %d"  % resultdic["alngts"][resultfile][1]), # FP
+        
+        start = time.time()
+        #try:
+        resultdic["AUC"][resultfile] = PD.CalculateRoc2(dataArray,prefix,resultdic["nreads"],resultdic["lines"][resultfile],resultdic["mreads"][resultfile],filename)     
+        #except:
+            #print("error calculating AUC...")
+            
+            
+        end = time.time()
+        print ("\t%0.2f" %(end-start))
+    
+    # prepare labels and names for plotting the data
+    ids =[i for i in resultdic['id']]
+    mappernames = [i for i in resultdic['mapper']]
+    label = [k for k in xrange(1,len(ids)+1)]
+    tuple =[resultdic['alngts'][k] for k in ids]
+    tp = [i[0] for i in tuple]
+    fp = [i[1] for i in tuple]
+    
+
+    # plot an histogram: tp,fp comparison (all mappers included)    
+    PD.plotOverviewHist(fp,tp,label,prefix,mappernames)
+    
+
+    fobj = open(outpath+"results.txt","w")
+    
+    ## maintain resultfile
+    fobj.write("mapper\tfile\ttp\tfp\tsens\tspec\tAUC\tmappedReads\tInputReads\tF\r\n")
+    for resultfile in (resultdic["id"]):
+
+        mapper = resultfile.split("_")[0]
+        file =resultfile.replace(".esam","")
+        tp =resultdic["alngts"][resultfile][0]
+        fp = resultdic["alngts"][resultfile][1]
+        
+        #sens = (tp / tp+fp) * F
+        sens = round((float(tp) / resultdic["lines"][resultfile]) * (float(resultdic["mreads"][resultfile] )/ resultdic["nreads"]),3)
+        #sens = 1-(fp / tp+fp) * F
+        spec = 1- round((float(fp) / resultdic["lines"][resultfile]) *  (float(resultdic["mreads"][resultfile]) / resultdic["nreads"]),3)
+        auc = resultdic["AUC"][resultfile]
+        pmappedReads = round(float(resultdic["mreads"][resultfile]) / resultdic["nreads"],3)
+        fobj.write("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n" %(mapper,file,tp,fp,sens,spec,auc,resultdic["mreads"][resultfile],resultdic["nreads"],pmappedReads))
+    fobj.close()
+
+
+if __name__ == "__main__":
+    a = time.time()
+    main()
+    b = time.time()
+    print ("Finished!")
+    print ("Done in %0.2f seconds!" % (b-a))
\ No newline at end of file
diff --git a/arden-create b/arden-create
new file mode 100755
index 0000000..9bf7622
--- /dev/null
+++ b/arden-create
@@ -0,0 +1,256 @@
+#!/usr/bin/env python
+"""
+Created 2012
+Main script for generating an artificial reference genome. It  calls various modules from core.
+
+ at author: Sven Giese
+"""
+
+
+
+
+
+"""
+Copyright (c) 2012, Sven H. Giese, gieseS at rki.de, 
+Robert Koch-Institut, Germany,
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+    * The name of the author may not be used to endorse or promote products
+      derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL MARTIN S. LINDNER BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+"""
+
+
+
+
+
+import time 
+import os
+import sys
+
+import HTSeq
+from optparse import OptionParser
+
+
+# import ARDEN 
+from core import  FindOrfs as ORFS
+from core import ReadAndWrite as RAW
+from core import InsertMutations as IM
+from core import Prep as INI
+
+#global variable for DNA basecount
+bases = 0
+
+def printExample():
+    """
+    Function that prints some usage examples.
+    
+    """
+    print("\r\nEXAMPLES:\r\n")
+    print ("Here are 3 simple examples with all kinds of different settings. The general input scheme is:")
+    print ("usage: python createAR.py [options] [OUTPUTFOLDER] [INPUT FASTA])\r\n")
+    print("Case 1:")
+    print("\t -f random.fasta (inputfile)")
+    print("\t -p /home/ART (outputpath)")
+    print("\t -d 12 (minimum distance >= 9)")
+    print("\t -o 1 (protect start / stop codons)")
+    print("\t -r 1 (If no balanced mutation can be found for a nucleotide don't change it)")
+    print("\t -m 1 (select start position randomly)")
+    print("\t -s /home/ART/randomorfs (save start stop codons in file)")
+    print("CALL:\tpython createAR -s /home/ART/randomorfs -d 12 -o 1 -r 1 -m 1 /home/ART/  random.fasta\r\n")
+    print("Case 2:")
+    print("\t -f random.fasta (inputfile)")
+    print("\t -p /home/ART (outputpath)")
+    print("\t -d 12 (minimum distance >= 9)")
+    print("\t -o 0 (mutation of start / stop codons is allowed)")
+    print("\t -m 0 (start the search for a balanced mutation from left to right in genome)")
+    print("\t -r 0 (ignore balanced mutations conditions)")
+    print("CALL:\tpython createAR -d 12 -o 0 -r 0 -m 0 /home/ART/ random.fasta \r\n")
+    print("Case 3: (use default settings but load previously created orf file)")
+    print("\t -f random.fasta (inputfile)")
+    print("\t -p /home/ART (outputpath)")
+    print("\t -l /home/ART/randomorfs.p (pickle file)")
+    print("CALL:\tpython createAR -l /home/ART/randomorfs.p  /home/ART/ random.fasta \r\n")
+
+
+def Create():
+    """
+    Function that controls the generation of an artificial reference genome. Subfunction calls, preparation of data structures etc.
+    """
+    
+    usage = """usage: %prog [options] [OUTPUTFOLDER] [INPUT FASTA]...
+    Required Arguments:
+    
+    OUTPUTFOLDER:\t complete path to output destination folder
+    INPUT FASTA: \t Single sequence Fasta file.
+    
+    Script to generate an artificial reference genome (AR) from a given input. The AR fullfills 
+    the following conditions by default settings: 
+    1) has a nucleotide distribution equal to the input genome
+    2) has an amino acid (aa) distribution equal to the input genome
+    3) keeps the aa neighborhood similar to the neighborhood in input genome
+    4) protects start and stop codons from mutations
+    """
+    
+    parser = OptionParser(usage=usage,version="%prog 1.0")
+    parser.add_option("-d", "--distance", type='int',dest="distance",action="store",  default=15,help="distance between 2 mutations on DNA level. The minimum distance will then be d-3. [default: %default]")
+    parser.add_option("-o", "--orf", type='string',dest="orf",action="store",  default=1,help="1- protect ORF structure from mutations.\r\n 0 - allow mutations in start / stop codon [default: %default]")
+    parser.add_option("-r", "--revsub", type='int',dest="revsub",action="store",  default=1,help="1 - reverse substitution if no suitable counterpart was found (balanced mutation). 0 - keep the unbalanced mutations.[default: %default]")
+    parser.add_option("-m", "--random", type='int',dest="random",action="store",  default=1,help=" 1/0 variable. 1 - shuffled starting positions for the mutations. 0 - linear mutation [default: %default]")
+    parser.add_option("-s", "--saveorfs", type='string',dest="sorf",action="store",  default="",help="Save found start and stop codons in a pickle file (can be loaded if the input fasta is used again if a filename is specified). [default: %default]")
+    parser.add_option("-l", "--loadorfs", type='string',dest="lorf",action="store",  default="",help="Specify filename to a previously created pickle file (contains positions of start/stop codons) [default: %default]")
+    parser.add_option("-n", "--name", type='string',dest="name",action="store",  default="",help="Specify name which will be used as header. [default: %default]")
+    parser.add_option("-p", "--pexamples", type='int',dest="pexamples",action="store",  default=0,help="set to 1 if you want to print examples")
+    parser.description=""
+    (options, args) = parser.parse_args() 
+    numArgs = len(args)
+ 
+    # check if examples shall be printed
+    if options.pexamples == 1:
+        # self defined function to print
+        printExample()
+        # exit program
+        sys.exit()
+        
+    # numArgs has to be equal to # required parameters
+    if numArgs ==2 :
+        outputpath = args[0]
+        inputpath = args[1]
+        # adjust options, otherwise default is used
+        distance = options.distance
+        orfs = options.orf
+        rev = options.revsub
+        random = options.random
+        sorfs = options.sorf
+        lorfs = options.lorf
+        fastaheader = options.name
+    else:
+        print("!!!Wrong number of parameters!!!")
+        print("Add --help to print help message.")
+        #parser.print_help()
+        sys.exit(1)
+
+
+    # adjust to complete path
+    #outputpath = os.path.abspath(outputpath+"/")
+    print outputpath
+    
+    # create output directory if necessary
+    if not os.path.exists(os.path.dirname(outputpath)):
+            os.makedirs(os.path.dirname(outputpath))
+    
+    
+    
+    # number of nucleotides in genome
+    global bases
+    '''0. Step: prepare dictionaries and load DNA'''
+  
+    print("\r\n###############Your Settings:######################")
+    print("outputpath:\t"+ str(outputpath))
+    print("inputfile:\t"+ str(inputpath))
+    print("distance:\t" + str(distance))
+    print("orfs:\t\t" +  str(orfs))
+    print("rev:\t\t" + str(rev))
+    print("random:\t\t" + str(random))
+    print("###################################################")
+    print ("\r\nStart:")
+    print("\tReading DNA...")
+    Reference = RAW.readdna(inputpath)
+    
+    #adjust reference name to option
+    if fastaheader == "":
+        Reference.name = ''.join(e for e in Reference.name if e.isalnum())
+    else:
+        Reference.name = fastaheader
+        
+    # generate header with all information (which options enabled etc.)
+    ArtHead = "AR_%s%s%s_%s_%s"  % (str(orfs),str(rev),str(random),str(distance),Reference.name)
+
+    # INIT OUTFILES
+    # This file contains a complete log of the mutation algorithm
+    # Position for initial mutation in NUC / AA and the 2nd mutation if it was successful
+    fobj2= open(outputpath+ArtHead+"_CompleteLog.txt","w")
+    fobj2.close()
+
+    #1. Step :Find Orfs 
+   
+    # init orf dictionary
+    pdic={}
+    
+    # load orfs= yes?
+    if (lorfs != ""):
+        pdic = INI.loadpickle(lorfs)
+    # else create orfs
+    else:
+        if (orfs ==1 ):
+            #keep orf structure - enabled 
+            print("Searching Orfs...")
+            
+            pdic= ORFS.find_orfs(Reference.seq,pdic)
+            if sorfs != "":
+                INI.savepickle(pdic,sorfs)
+        #keep orf structure  - disabled --> do nothing
+
+    
+    #2. Step: Translate DNA 
+    print("\tTranslating DNA...")
+    AminoA =""
+    # dna which cannot be used for AA translation
+    rest_DNA = ""
+    AminoA,rest_DNA = INI.trans_seq(Reference.seq)
+    
+        
+    
+    #3. Step: Mutate DNA /AA
+    print("\tMutate DNA...")
+    # generate artifical genome sequence
+    AR = HTSeq.Sequence(IM.mutate_random(Reference.seq,AminoA,distance,pdic,rev,ArtHead,random,outputpath),ArtHead)
+    # write AR to output fasta
+    RAW.writefile(AR,outputpath+"/"+ArtHead+".fasta")
+
+        
+    '''4. Step: Compare Genomes'''
+    # compare hamming distance between REF and ART
+    RAW.gethammingdistance(Reference.seq,AR.seq)
+    
+    # compare NUC and AA distributions of REF and ART
+    n1=RAW.nucleotide_dist_seq(Reference.seq,Reference.name+"_dis.txt",0)
+    n2=RAW.nucleotide_dist_seq(AR.seq,ArtHead+"_dis.txt",0)
+    
+    #translate sequence of the artifical reference genome
+    AminoA_AR,dummy3=INI.trans_seq(AR.seq)
+    
+    a1=RAW.aa_dist_seq(AminoA,outputpath+Reference.name+"_dis_protein.txt",0)
+    a2=RAW.aa_dist_seq(AminoA_AR,outputpath+ArtHead+"_dis_protein.txt",0)
+    
+    # write the NUC AA distributions to the Delta file
+    RAW.writeoverview(n1,a1,n2,a2,outputpath+ArtHead+"_Delta.txt")
+    bases = len(Reference.seq)
+   
+
+
+a = time.time()
+Create()
+b = time.time()
+print ("Finished!")
+print ("Processed %d bases in %f seconds!" % (bases,b-a))
+
+
+    
\ No newline at end of file
diff --git a/arden-filter b/arden-filter
new file mode 100755
index 0000000..608aca9
--- /dev/null
+++ b/arden-filter
@@ -0,0 +1,278 @@
+#!/usr/bin/env python
+"""
+Script for filtering alignments with deficient properties (rqs,gaps, mismatches). The script generates a new .SAM file from the input SAM file, where only alignments are
+contained that fulfill certain quality thresholds.
+nm = numberOfMisMatches
+rq = readqualityscore
+MQ = mappingquality
+"""
+
+
+
+"""
+Copyright (c) 2012, Sven H. Giese, gieseS at rki.de, 
+Robert Koch-Institut, Germany,
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+    * The name of the author may not be used to endorse or promote products
+      derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL MARTIN S. LINDNER BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+"""
+
+
+
+
+import HTSeq
+import re
+import sys
+import time
+from optparse import OptionParser
+
+
+from core import AnalyseMapping as AM
+
+
+#global counter variables for good /counter1) and bad (counter2) alignments
+counter1 = 0
+counter2 = 0
+
+
+
+def writeFilteredReads(iddic,fastqfile,fastqfileoutput):
+    """
+    
+    Reads a .fastqfile and filters them for certain quality values. If an alignment is equally good or 
+    better as the threshold it will be written to the filtered .SAM file.
+    
+    input: fastq file
+    output: fastq dictionary key = readid; value = qualstr 
+
+
+    @type  iddic: dictionary
+    @param iddic: dictionary containing read ids.
+
+    @type  fastqfile: fastq
+    @param fastqfile: HTSeq readfile object
+
+    @type  fastqfileoutput: fastq
+    @param fastqfileoutput: HTSeq readfile object. Alignments that pass the filter are written to this file.
+    
+    """
+    counter = 0
+    for read in fastq:
+        # does the read fulfill the conditions?
+        if read.name in iddic:
+            
+            counter+=1
+    
+    #print fastqoutput
+    print (str(len(iddic)) + " ids" )
+    print (str(counter) + " reads to file written..." )
+    fastqoutput.close()
+
+def getMisGapRQ(alngt):
+    """
+    
+    Calculates the number of gaps / mistmatches from an HTSeq alngt. object.
+
+
+
+    @type  alngt: HTSeq alignment object
+    @param alngt: Initial SAM file for filtering
+
+
+    @type  gaps,mism: integer
+    @param gaps,mism: Number of gaps / mistmatches.
+    
+    """
+    cigar = alngt.cigar
+    # gap is generated by insertions / deletions
+    gaps  = sum([i.size for i in cigar if i.type=="I" or i.type=="D"])
+    #mismatches cannot be distinguished in a cigar string. use combination of cigar and md tag
+    # to calculate mismatches
+    mism = sum([i.size for i in cigar if i.type=="M"]) - AM.getsum(re.findall("(\d+)", alngt.optional_field("MD")))
+    return(gaps,mism)
+
+def FilterSAM(samfile,MISM,GAPS,RQ,fsam):
+    """
+    
+    Calculates the number of gaps / mistmatches from an HTSeq alngt. object.
+
+
+
+    @type  alngt: HTSeq alignment object
+    @param alngt: Initial SAM file for filtering
+
+
+    @type  gaps,mism: integer
+    @param gaps,mism: Number of gaps / mistmatches.
+    
+    """
+    
+    #counter1 = good alignments ( better than threshold)
+    global counter1
+    
+    #counter2 = bad alignments ( worse than threshold)
+    global counter2
+    SAM = HTSeq.SAM_Reader(samfile)
+    #test = open(teststr,"w")
+    #test.write("RQS\tGAPS\tMM\r\n")
+    
+    for alngt in SAM:
+    
+        # get gaps,mismatches
+        gaps,mismatches = getMisGapRQ(alngt)
+        try:
+            # in compressed sam files, the sequence as well as the quality for one read is
+            rqs = float(AM.ComputeRQScore(alngt.read.qualstr))
+            
+            # only once contained. For avoiding trouble just remember every sequence and qualstr
+            sequence = alngt.read.seq
+            qualstr = alngt.read.qualstr
+            
+            # threshold fulfilled?
+            if (int(mismatches) <= MISM and float(rqs) >= RQ and int(gaps) <= GAPS):
+                fsam.write(alngt.get_sam_line()+"\r\n")
+                counter1 +=1
+                
+                
+            else:
+                # if alignment worse than threshold --> throw away
+                counter2 +=1
+        except:
+            # if a read is incomplete (missing sequence, quality) that it's immediate predecessor must have the same sequence
+            rqs = rqs
+            if int(mismatches) <= MISM and rqs >= RQ and int(gaps) <= GAPS:
+                
+                # construct cigar
+                cigar  ="".join([str(i.size)+str(i.type) for i in alngt.cigar])
+                qualstr= "*"
+                
+                #generate tagdic for beeing able to write additional information (NM, MD tags)
+                tagdic =  dict(alngt.optional_fields)                
+                # NO PE Support --> '*'
+                tempstr = "\t".join([alngt.read.name,str(alngt.flag),alngt.iv.chrom,str(alngt.iv.start),str(alngt.aQual),cigar,'*','0','0',sequence,qualstr,"NM:i:"+str(tagdic["NM"]),"MD:Z:"+tagdic['MD']+"\r\n"])
+                fsam.write(tempstr)
+                counter1 +=1
+            else:
+                counter2 +=1
+        
+        #print ("%s\t%s\t%s\r\n" % (rqs,gaps,mismatches))
+                
+        #test.write("%s\t%s\t%s\r\n" % (rqs,gaps,mismatches))
+                
+    print ("PASSED\tREMOVED\tOVERALL")
+    print counter1,
+    print "\t",
+    print counter2,
+    print "\t",
+    print counter1+counter2
+    
+
+def readHeader(samfile):
+    """
+    Function to retrieve the header from a SAM file.
+    """
+    
+    fobj = open(samfile)
+    headerstr= ""
+    
+    for line in fobj:
+        if line.startswith("@"):
+            headerstr+=line
+        else:
+            # no header lines are left...
+            break
+    
+    return(headerstr)
+
+def filter():
+    """
+    Function for filtering a given sam file. The alignments are evaluated individually in regard to RQS,mismatches and gaps. The input needs to be sorted.
+    
+    """
+    
+    usage = """usage: %prog [INPUT SAM] [OUTPUTFILE] [OPTIONS]...
+    Required Arguments:
+    
+    OUTPUTFILE:\t Outputfilename
+    INPUT: \t Single SAM file to filter.
+    OPTIONS: \t Paramters for filtering.
+    
+    Script to filter and a SAM file based on the analysis with ARDEN. It is necessary to specify the desired cutoffs for RQS,GAPS and MM.
+    Type: python filter -e 1 for printing some examples.
+    """
+    
+
+    
+    parser = OptionParser(usage=usage,version="%prog 1.0")
+    parser.add_option("-r", "--rqs", type='int',dest="rqs",action="store",  default=0,help="Threshold for minimum read quality score.. [default: %default]")
+    parser.add_option("-m", "--mismatches", type='int',dest="mm",action="store",  default=3,help="Threshold for maximum number of mismatches in an alignment [default: %default]")
+    parser.add_option("-g", "--gaps", type='int',dest="gaps",action="store",  default=3,help="Threshold for maximum number of gaps in an alignment. [default: %default]")
+    parser.add_option("-e", "--examples", type='int',dest="pexamples",action="store",  default=0,help="set to 1 if you want to print examples")
+    parser.description=""
+    (options, args) = parser.parse_args() 
+    numArgs = len(args)
+
+
+    # numArgs has to be equal to # required parameters
+    if numArgs ==2:
+        input = args[0]
+        output = args[1]
+        # adjust options, otherwise default is used
+        rqs = options.rqs
+        mismatches = options.mm
+        gaps = options.gaps
+  
+        
+    else:
+        print("!!!Wrong number of parameters!!!")
+        parser.print_help()
+        sys.exit(1)
+
+
+    print("###############Your Settings:######################")
+
+    print("inputfile:\t"+ str(input))
+    print("outputfile:\t"+ str(output))
+    print("RQS >=:\t\t"+ str(rqs))
+    print("MM <=:\t\t" +  str(mismatches))
+    print("GAPS <=:\t" + str(gaps))
+    print("###################################################")
+    print ("Start...")
+    a = time.time()    
+    header = readHeader(input)
+    
+    # open samfile
+    fsam = open( output, "w" )
+    fsam.write(header)
+    # actually filter
+    FilterSAM(input,mismatches,gaps,rqs,fsam)
+        
+    # close current Readfile
+    fsam.close()
+    b = time.time()
+    print ("DONE in %f seconds!" %(b-a))
+
+        
+if __name__ == "__main__":
+    filter()
+
+
diff --git a/core/AnalyseMapping.py b/core/AnalyseMapping.py
new file mode 100644
index 0000000..64babde
--- /dev/null
+++ b/core/AnalyseMapping.py
@@ -0,0 +1,1192 @@
+#!/usr/bin/env python
+""" This script is used to evalulate the mapping results """
+
+import HTSeq
+import cPickle as pickle
+import numpy as np
+import time
+import sys
+import re
+import subprocess
+import random 
+import os
+
+
+
+alngts = 0
+AlignedReadsdic = {}
+algnedToRef = 0
+algnedToArt = 0
+phred = 0
+
+""" Helper debug functions.... """
+def savepickle(dictionaary, outputname):
+    pickle.dump(dictionaary, open(outputname + ".p", "wb"))
+    print("Saved .pickle!")
+
+def loadpickle(inputname):
+    dictionary = pickle.load(open(inputname + ".p"))
+    print("Loaded " + inputname + ".pickle!")
+    return (dictionary)
+    
+
+class CustomRead:
+    """
+    Class for exhaustive reading of the sam alignments.
+    
+    """
+    
+    def __init__(self, readname, mr, nm, subs, score, mq, start, end, gaps, mism):
+        self.id = readname      # read identifier 
+        self.mr = [mr]          # matched reference
+        self.subs =[subs]       # substitutions in artificial reference genome
+        self.nm = [nm]          # number of mismatches (according to SAM)
+        self.rq = score         # read quality score
+        self.mq = [mq]          # mapping quality
+        self.start = [start]    # alignment start
+        self.end = [end]        # alignment end
+                                    #mr,nm,subs,score,mq,start,end
+        self.gaps = [gaps]
+        self.mism = [mism]
+        
+    def toObjself(self, read): 
+        self.mr.append(read.mr[0])          
+        self.subs.append(read.subs[0])     
+        self.nm.append(read.nm[0])         
+        self.mq.append(read.mq[0])          
+        self.start.append(read.start[0])     
+        self.end.append(read.end[0])       
+        self.gaps.append(read.gaps[0])
+        self.mism.append(read.mism[0])
+        
+    def toStr(self, readname): 
+        """Converts the object to a string """
+        str = ""
+
+        for i, read in enumerate(self.mr):
+            #print read
+            str += "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n" % (readname, self.mr[i], self.subs[i], self.nm[i], self.rq, self.mq[i], self.start[i], self.end[i], self.gaps[i], self.mism[i])
+        return(str)
+    
+    def toStrNoMem(self, identifier): 
+        """Converts the object to a string """
+
+        if identifier == "art":
+            str = "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n" % (self.id, 0, self.subs[0], self.nm[0], self.rq, self.mq[0], self.start[0], self.end[0], self.gaps[0], self.mism[0])
+        else:
+            str = "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n" % (self.id, 1, 0, self.nm[0], self.rq, self.mq[0], self.start[0], self.end[0], self.gaps[0], self.mism[0])
+        return(str)
+        
+        
+
+class TPRead:
+    """ Class for exhaustive reading of the sam alignments. Only for TP """
+    def __init__(self, nm, score, mq, start, end, gaps, mism):
+        self.nm = [nm]       # number of mismatches (according to SAM)
+        self.rq = score                  # read quality score
+        self.mq = [mq]      # mapping quality
+        self.start = [start] # alignment start
+        self.end = [end]    # alignment end
+        self.gaps = [gaps]
+        self.mism = [mism]
+        
+    def toObjself(self, read):          
+        self.nm.append( read.nm[0])         
+        self.mq.append(read.mq[0])          
+        self.start.append( read.start[0])     
+        self.end.append( read.end[0])   
+        self.gaps.append( read.gaps[0])
+        self.mism.append(read.mism[0])   
+
+    def toStr(self, readname): 
+        str = ""
+        for i, read in enumerate(self.mr):
+            str += "%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n" % (readname, self.nm[i], self.rq, self.mq[i], self.start[i], self.end[i], self.gaps[i], self.mism[i])
+        return(str)
+        
+    """ returns 1 if an equal alignment is contained in the array """
+    def isContained(self, read):
+        for i, position in enumerate(self.start):
+            # Checks if a given Read (more accurate the alignment) is already in the object. this is used to check against FP
+            if position == read.start and self.end[i] == read.end:
+                return(1)
+        return(0)
+    
+
+class ReadID:
+    """ Class for efficient addressing for np. arrays! """
+    def __init__(self, internalID, quality):
+        self.internalID = internalID
+        self.quality = quality
+
+
+############################################# CLASSES END###########################################
+
+
+def getTPRead(alngt, compareList, readdic):
+    """
+    Funtion which transforms an HTSeq alignment to a TPRead class.
+
+    @type  alngt: alignment
+    @param alngt: alignment from the sam file.
+    @type  compareList: list
+    @param compareList: list which indicates differences between reference / artificial
+    @type  readdic: dictionary
+    @param readdic: Contains ranks and qualities for every entry in the fastq file
+    
+    @rtype:   TPRead
+    @return:  Transformed ReadObject.
+    """
+    cigar = alngt.cigar
+    gaps  = sum([i.size for i in cigar if i.type=="I" or i.type=="D"])
+    mism = sum([i.size for i in cigar if i.type=="M"]) - sum([int(s) for s in alngt.optional_field("MD") if s.isdigit()])
+    nm = alngt.optional_field("NM")
+    
+    #####->TPRead(nm, score, mq, start, end, gaps, mism, n)
+    return (TPRead(nm, readdic[alngt.read.name], alngt.aQual, alngt.iv.start, alngt.iv.end, gaps, mism))
+    
+def getCustomRead(alngt, compareList, readdic):
+    """
+    Funtion which transforms an HTSeq alignment to a CustomRead class.
+
+    @type  alngt: alignment
+    @param alngt: alignment from the sam file.
+    @type  compareList: list
+    @param compareList: list which indicates differences between reference / artificial
+    @type  readdic: dictionary
+    @param readdic: Contains ranks and qualities for every entry in the fastq file
+    
+    @rtype:   CustomRead
+    @return:  Transformed ReadObject.
+
+    """
+    cigar = alngt.cigar
+    # number of gaps is the sum of "I" (insertions) and "D" deletions.
+    gaps  = sum([i.size for i in cigar if i.type=="I" or i.type=="D"])
+    
+    # mismatches are calculated as cigar XM - MDtag occurrences of numbers
+    # which indicate mismatches
+    mism = sum([i.size for i in cigar if i.type=="M"]) - getsum(re.findall("(\d+)", alngt.optional_field("MD")))
+    
+    
+    nm = alngt.optional_field("NM")
+
+    ########
+    if len(alngt.read.qualstr) <= 1:
+       
+        return (CustomRead(alngt.read.name,0,nm,getHammingdistance(compareList, alngt.iv.start, alngt.iv.end),readdic[alngt.read.name],alngt.aQual,alngt.iv.start,alngt.iv.end,gaps,mism))
+    else:
+        return (CustomRead(alngt.read.name,0,nm,getHammingdistance(compareList, alngt.iv.start, alngt.iv.end),(alngt.read.qual.mean() / (alngt.read.qual.max() -  alngt.read.qual.min() + 1)),alngt.aQual,alngt.iv.start,alngt.iv.end,gaps,mism))
+
+def GetOrderDictionary(referenceSAM):
+    """
+    Function to get a dictionary containing the rank of a read (given a sorted samfile by readname, samtools).
+
+    @type  referenceSAM: string
+    @param referenceSAM: Inputfile name for reference SAM file.
+    @rtype:   dictionary
+    @return:  Internalnaming according to the sorting of samtools. Key = ReadID, Value = rank
+    """
+    internalDic = {}
+
+    # use ultrafast awk for getting only readnames from aligned fasta file
+    readnames = str(subprocess.check_output("""awk < %s -F "\t" '{print  $1 }'""" % referenceSAM, shell=True))
+
+    # make to list
+    readnames = readnames.split("\n")
+
+    i = 0
+    # skip header files
+    while readnames[i][0] == ("@"):
+        i += 1
+    
+    index = 0
+    for k in xrange(i, len(readnames)):
+        if readnames[k] in internalDic:
+            pass
+        else:
+            internalDic[readnames[k]] = index
+            #enumeration of the index
+            index += 1
+            
+            
+            
+    return(internalDic)
+
+
+def getNextLine(textfile, compareList, readdic):
+    """
+    Function which returns the next line from a SAMFile.
+    
+    @type  textfile: fileobject stream
+    @param textfile: SAMfile
+    @type  compareList: list
+    @param compareList: AA sequence of the reference genome.
+    @type  readdic: Dictionary
+    @param readdic: Boolean which decides if unbalanced mutations are allowed (only initial mutation is performed)
+    @rtype:   Readobj
+    @return: Parsed read from text line.
+    """
+        
+    # dummy is needed because nomem and standart reading return "different" values.
+    # dummy, equals readname
+    line = textfile.readline()
+    if not line:
+        return(0)
+    CRead, dummy = readSAMline(line, "noMem", compareList, readdic)
+    return(CRead)
+
+
+
+def getMisGap(mdtag, cigar):
+    """
+    Reads the alignment tag given, the text and a tag to search for
+    
+    @type  mdtag: string
+    @param mdtag: MDTag from alignment
+    @type  cigar: string
+    @param cigar: Cigar from alignment
+    @rtype:   gaps,mismatches
+    @return: Parsed gaps and mismatches
+    """
+    deletions = getsum(re.findall("(\d+)D", cigar))
+    insertions = getsum(re.findall("(\d+)I", cigar))
+    gaps = int(insertions + deletions)
+
+    # mismatches are:
+    # ALL Matches from CIGAR - RealMatches from MDTag
+    #
+
+    mismatch = getsum(re.findall("(\d+)M", cigar)) - getsum(re.findall("(\d+)", mdtag))
+
+ 
+    #print ("%s\t%s\t%s\t%s\t%s\t%s" %(mdtag,cigar,deletions,insertions,mismatch,gaps))
+    return(gaps, mismatch)
+
+def getAllID(textfile, read, compareList, readdic):
+    """
+    Reads all alignments for the current read which are in the SAM file (sorted). If a new read ID is scanned the results are returned.
+    
+    @type  textfile:  fileobject stream
+    @param textfile: SAM file for reading.
+    @type  read: read obj
+    @param read: the last read obj which defines the current read id
+    @type  readdic: dictionary
+    @param readdic: Look up for quality values.
+    @rtype:   (bool,list,bool)
+    @return: a "triple", where 2 bools are defined as indicator variables and a list with all alignments for one read.
+    """
+    # end of file?
+    if read == 0:
+        #parse last read and return
+        CRead = getNextLine(textfile, compareList, readdic)
+        return(getAllID(textfile, CRead, compareList, readdic))
+    else:
+        # start ne list and append read which was read with the last run of getALLID
+        templist = []
+        templist.append(read)
+    # get all reads with same id as "read" 
+    while 1:
+        line = textfile.readline()
+        # no text left infile
+        if not line:
+            return(0, templist, 0)
+        
+        try:
+           CRead = getCustomRead(HTSeq.SAM_Alignment.from_SAM_line(line), compareList, readdic)
+           #CRead, dummy = readSAMline(line, "noMem", compareList, readdic)
+        except:
+            CRead, dummy = readSAMline(line, "noMem", compareList, readdic)
+        
+        if CRead == 0:
+            #
+            return(1, templist, CRead)
+        # same read in current line as was in the last line --> continue reading
+        if CRead.id == read.id:
+            templist.append(CRead)
+        else:
+            return(1, templist, CRead)
+        
+    
+def CompareAlignments(reflist, artlist,file):
+    """
+    Compares alignments for the reference and artificial reference for a specific read id.
+    The goal is to identify false positives.
+
+    @type  reflist: read obj list
+    @param reflist: list containing alignments witht the same ID (reference)
+    @type  artlist: read obj list
+    @param artlist: list containing alignments witht the same ID (artificial)
+    @rtype:   np.array
+    @return:  indices of unique alignments
+    """
+   
+    
+    artlen = len(artlist)
+    reflen = len(reflist)
+
+    TPcount = reflen
+    FPcount = 0
+    for RefRead in reflist:
+         file.write(RefRead.toStrNoMem("ref"))
+    
+    # add 1 for every alignment from the artificial that is found on the reference
+    for i in xrange(0, artlen):
+        # bool which decides if artificial in reference hit
+        ArtInRef = 0
+        for j in xrange(0,reflen):
+            if artlist[i].start == reflist[j].start and artlist[i].end == reflist[j].end:
+                ArtInRef = 1
+                break
+        # hit on artificial not confirmed on reference --> FP
+        if (ArtInRef == 0):
+            FPcount+=1
+            file.write(artlist[i].toStrNoMem("art"))
+    
+    
+    return(TPcount,FPcount)
+    
+"""def WriteToFile(file, list, identifier):
+    
+    Writes read obj. to a file.
+
+
+    @type  file: read obj list
+    @param file: list containing alignments witht the same ID (reference)
+    @type  list: read obj. list
+    @param list: list containing alignments witht the same ID (artificial)
+    @type  identifier: string
+    @param identifier: indicator if the results are from the reference or artificial
+    
+    file.write(getBestAlignment(list).toStrNoMem(identifier))"""
+
+def SkipHeader(file, compareList, readdic):
+    """
+    Skips the header from a SAM file, but reads the first line of the alignment section.
+
+    @type  file: read obj list
+    @param file: list containing alignments witht the same ID (reference)
+    @type  compareList: list
+    @param compareList: list for accumulation of the same read id
+    @type  readdic: dictionary
+    @param readdic: dictionary containing read ID - read quality mappings.
+    @rtype:   read obj.
+    @return:  Returns a read obj. from the SAM file.
+    """
+    while 1:
+        temp = file.readline()
+        if temp.startswith("@"):
+            pass
+        else:
+            return(readSAMline(temp, "noMem", compareList, readdic))
+            break
+
+
+def getRanks(RefRead,ArtRead,rankdic):
+    """
+    Function which returns the ranks of 2 given readIDs (read from reference,read from artificial).
+
+    @type  RefRead: read obj 
+    @param RefRead: read obj  (reference)
+    @type  ArtRead: read obj 
+    @param ArtRead: read obj  (artificial)
+    @type  rankdic: dictionary
+    @param rankdic: dictionary containing ranks of the read IDs (according to the sorted SAM files).
+    @rtype:   int,int
+    @return:  returns the false positives and true positives for a SAM file pair (reference, artificial)
+    """
+    # get the ranks resulting from the sorted samfile.
+    RefReadRank = rankdic[RefRead[0].id]
+    if ArtRead[0].id in rankdic:
+        ArtReadRank = rankdic[ArtRead[0].id]
+    else:
+        # if this ReadID is not in the dictionary then it MUST be a FP!
+        ArtReadRank = RefReadRank - 1
+        
+    return(RefReadRank,ArtReadRank)
+
+
+def ReadSAMnoMem(ref, art, output, compareList, readdic, rankdic,phredoffset):
+    """
+    Main function for comparing to mappings. This functions takes the complete alignments for artificial and reference genome and goes through them in parallel.
+    Since the mappings are sorted the function alternates the parsing of the samfiles in such a way that no memory is used for comparing these functions.
+
+    @type  ref: string
+    @param ref: path to reference alignments (SAM file)
+    @type  art: string
+    @param art: path to artificial alignments (SAM file)
+    @type  output: read obj 
+    @param output: read obj  (artificial)
+    @type  compareList: read obj 
+    @param compareList: read obj  (artificial)
+    @type  readdic: dictionary
+    @param readdic: dictionary containing read ID - read quality mappings.
+    @type  rankdic: dictionary
+    @param rankdic: dictionary containing ranks of the read IDs (according to the sorted SAM files).
+    @rtype:   ranks
+    @return:  Returns the ranks for the 2 read ids.
+    """
+    
+    global phred
+    phred = phredoffset
+    
+    fobj = open(output, "w")
+    fobj.write("#ReadID\tMatchedReference\tSubstitutions\tNMtag\tReadQuality\tMappingQuality\tStart\tEnd\tGaps\tMisM\r\n")
+    fileref = open(ref, "r")
+    fileart = open(art, "r")
+    
+    # SKip Header section of SAM file
+    CurrentReadRef, dummy = SkipHeader(fileref, compareList, readdic)
+    CurrentReadArt, dummy = SkipHeader(fileart, compareList, readdic) 
+    
+    # get first readIDs for looping    
+    hasNextLine, ArtRead, NextReadArt = getAllID(fileart, CurrentReadArt, compareList, readdic)
+    hasNextLine, RefRead, NextReadRef = getAllID(fileref, CurrentReadRef, compareList, readdic)
+    # variables for counting
+
+    tp = 0
+    fp = 0
+    MappedReads = 0
+    i = 0
+    start = time.time()           
+    #Indicator variables which file is end first
+    ArtBool = 0
+    RefBool = 0
+    while 1:
+        i += 1
+        if i == 100000:
+            print "\t\t%f" % (time.time() - start),
+        
+        RefReadRank,ArtReadRank = getRanks(RefRead,ArtRead,rankdic)
+        
+        #case 1)
+        # Keep reading lines from artificial if the id is < than the one from the reference
+        # this means unique hits to the artificial!
+        #while (RefRead[0].id > ArtRead[0].id and hasNextLine != 0):
+        while (RefReadRank > ArtReadRank and hasNextLine != 0):
+            # in case of multiple hits, set all mr variables to  0 and get the best alignment
+            for l in xrange(0, len(ArtRead)):
+                ArtRead[l].mr = [0]
+            
+            # write FP to file
+            for hits in ArtRead:
+                fobj.write(hits.toStrNoMem("art"))
+                fp += 1
+
+            
+            # use akku for read lines
+            CurrentReadArt = NextReadArt
+            #get all the reads with the same ID into ArtRead
+            hasNextLine, ArtRead, NextReadArt = getAllID(fileart, CurrentReadArt, compareList, readdic)
+            
+            #update rank
+            ArtReadRank  = RefReadRank-1 if ArtRead[0].id not in rankdic else rankdic[ArtRead[0].id]
+            MappedReads+=1
+            
+        #case 2)
+        # keep reading lines from reference if id is < art.id
+        # all these hits are purely TP
+        #while (RefRead[0].id < ArtRead[0].id and hasNextLine != 0):
+        while (RefReadRank < ArtReadRank and hasNextLine != 0):
+            
+            for hits in RefRead:
+                fobj.write(hits.toStrNoMem("ref"))
+                tp += 1
+
+            CurrentReadRef = NextReadRef
+            hasNextLine, RefRead, NextReadRef = getAllID(fileref, CurrentReadRef, compareList, readdic)
+            RefReadRank = rankdic[RefRead[0].id]
+            MappedReads+=1
+            
+            
+        # case 3)
+        #if (RefRead[0].id == ArtRead[0].id):
+        if (RefReadRank == ArtReadRank):
+            MappedReads+=1
+            
+            #same read.id --> compare all Alignments for one read id (can be multiple alignments)
+            # return unique hits to artificial genome
+            tempTP,tempFP = CompareAlignments(RefRead, ArtRead,fobj)
+            tp +=tempTP
+            fp +=tempFP
+            # overwrite akku
+            CurrentReadRef = NextReadRef
+            CurrentReadArt = NextReadArt
+            
+            
+            # get next Read for next ID and check if file has a next line
+            hasNextLine, RefRead, NextReadRef = getAllID(fileref, CurrentReadRef, compareList, readdic)
+            if hasNextLine == 0:
+                #print "REFBREAK"
+                RefReadRank = rankdic[RefRead[0].id]
+                RefBool = 1
+                break
+            
+            hasNextLine, ArtRead, NextReadArt = getAllID(fileart, CurrentReadArt, compareList, readdic)
+            if hasNextLine == 0:
+                #print "ARTBREAK"
+                ArtReadRank  = RefReadRank-1 if ArtRead[0].id not in rankdic else rankdic[ArtRead[0].id]
+                ArtBool = 1
+                break
+
+    # if the while loop was broken one read has to be read in the not closed file
+    hasNextLine = 1
+    # the file which has still some lines is now processed linearly...
+    if RefBool == 1:
+        #print ("REF FILE FINISHED!!!")
+        # reference no lines --> read artificial
+        hasNextLine, ArtRead, NextReadArt = getAllID(fileart, CurrentReadArt, compareList, readdic)
+        ArtReadRank  = RefReadRank-1 if ArtRead[0].id not in rankdic else rankdic[ArtRead[0].id]
+        
+        while (RefReadRank > ArtReadRank and hasNextLine != 0):
+            MappedReads+=1
+            # in case of multiple hits, set all mr variables to  0 and get the best alignment
+            for l in xrange(0, len(ArtRead)):
+                ArtRead[l].mr = [0]
+    
+             # write current FP to file
+             # write FP to file
+            for hits in ArtRead:
+                fobj.write(hits.toStrNoMem("art"))
+                fp += 1
+            # use akku for read lines
+            CurrentReadArt = NextReadArt
+            #get all the reads with the same ID into ArtRead
+            hasNextLine, ArtRead, NextReadArt = getAllID(fileart, CurrentReadArt, compareList, readdic)
+    
+            #update rank
+            ArtReadRank  = RefReadRank-1 if ArtRead[0].id not in rankdic else rankdic[ArtRead[0].id]
+            
+        
+        
+        if (RefReadRank == ArtReadRank):
+            MappedReads+=1
+            #same read.id --> compare all Alignments for one read id (can be multiple alignments)
+            # return unique hits to artificial genome
+            tempTP,tempFP = CompareAlignments(RefRead, ArtRead,fobj)
+            tp +=tempTP
+            fp +=tempFP
+            
+            
+        while 1:
+            
+            if hasNextLine == 0:
+                break
+            else:
+               
+                CurrentReadArt = NextReadArt
+                # read next artificial read!
+                hasNextLine, ArtRead, NextReadArt = getAllID(fileart, CurrentReadArt, compareList, readdic)
+                
+            
+            for hits in ArtRead:
+                fobj.write(hits.toStrNoMem("art"))
+                fp += 1
+            MappedReads+=1
+            
+    else:
+        # read again reference file as long as the final read from he artificial file is reached
+        while (RefReadRank < ArtReadRank and hasNextLine != 0):
+            MappedReads+=1
+        
+            for hits in RefRead:
+                fobj.write(hits.toStrNoMem("ref"))
+                tp += 1
+            CurrentReadRef = NextReadRef
+            hasNextLine, RefRead, NextReadRef = getAllID(fileref, CurrentReadRef, compareList, readdic)
+            RefReadRank = rankdic[RefRead[0].id]
+        
+        
+        if (RefReadRank == ArtReadRank):
+            MappedReads+=1
+            #same read.id --> compare all Alignments for one read id (can be multiple alignments)
+            # return unique hits to artificial genome
+            tempTP,tempFP = CompareAlignments(RefRead, ArtRead,fobj)
+            tp +=tempTP
+            fp +=tempFP
+
+        
+        else:
+            MappedReads+=1
+            for hits in ArtRead:
+                fobj.write(hits.toStrNoMem("art"))
+                fp += 1
+        
+        while 1:
+                if hasNextLine == 0:
+                    MappedReads+=1
+                    for hits in RefRead:
+                        fobj.write(hits.toStrNoMem("ref"))
+                        tp += 1
+                    
+                    break
+                else:
+                    CurrentReadRef = NextReadRef
+                    MappedReads+=1
+                    for hits in RefRead:
+                        fobj.write(hits.toStrNoMem("ref"))
+                        tp += 1
+                hasNextLine, RefRead, NextReadRef = getAllID(fileref, CurrentReadRef, compareList, readdic)
+
+    end = time.time()
+    fobj.close()
+    return(tp, fp,tp+fp,MappedReads)
+##################END: FUNCTIONS FOR NO-MEMORY ANALYSIS ####################
+
+
+def getNumberOf(line, tag):
+    """
+    Reads the alignment tag, given the text and a tag to search for.
+
+    @type  line: string
+    @param line: SAM line
+    @type  tag: string
+    @param tag: SAM tag. i.e: NM,MD
+    @rtype:   int
+    @return:  number x behind desired tag tag:i:x
+    """
+
+    # gives the number of XX back
+    # valid tags: X0,XM (number of missmatches
+    m = re.search(tag + ":i:(\d+)", line)
+    besthits = m.group(1)
+      
+    return(besthits)
+
+def getsum(strlist):
+    """
+    Sum of strings (as ints)
+
+    @type  strlist: list(str)
+    @param strlist: SAM line
+
+    @rtype:   int
+    @return:  MD tag calculation.
+    """
+
+    return(sum([int(i) for i in strlist]))
+
+def getmean(strlist):
+    """
+    Mean of strings.
+
+    @type  strlist: list(str)
+    @param strlist: SAM line
+
+    @rtype:   float
+    @return:  mean
+    """
+    sum = getsum(strlist)
+    return(sum/float(len(strlist)))
+
+
+def ComputeRQScore(quality):
+    """
+    Computes the ReadQualityScore given a quality string
+
+    @type  quality: string
+    @param quality: quality string of a read.
+
+    @rtype:   float
+    @return:  ReadQualityScore (RQS)
+    """
+    global phred
+    
+    # phred --> -33
+    # solexa --> -64
+    qualarray = [ord(i)-phred for i in quality]
+    score =( sum(qualarray)/float(len(qualarray))) / (max(qualarray) -  min(qualarray) + 1)
+
+    return (score)
+
+
+def getAlignmentLength(cigar):
+    """
+    Computes the alignment length given a cigar string. Needed for Start + End calculation.
+
+    @type  cigar: string
+    @param cigar: Cigar string (SAM)
+
+    @rtype:   int
+    @return:  alignmentlength
+    """
+    # I - insertions do not extend the alignment
+    # S - does not extend...
+    # P - does not extend...
+    # H - does not extend...
+    match = re.findall("(\d+)[MDN]", cigar)
+    sumOfMatches = 0
+    for item in match:
+        sumOfMatches += int(item)
+    return (sumOfMatches)
+
+
+def isSaneAlignment(alignment, identifier, compareList, readdic):
+    """
+    Checks alignment line for unnecessary informations to skip 
+
+    @type  alignment: string
+    @param alignment: Line from SAM
+    @type  identifier: string
+    @param identifier: read id
+    @type  compareList: list
+    @param compareList: list of alignments with same read id.
+    @type  readdic: dictionary
+    @param readdic: Dictionary containg a read id; read quality mapping
+    @rtype:   readobj, readname
+    @return:  Returns the read and it's identifier.
+    """
+    
+    if alignment.startswith("@"):
+        return(0, "")
+    else:
+        read, readname = readSAMline(alignment, identifier, compareList, readdic)
+        if read == 0:
+            return(0, "")
+        else:
+            return (read, readname)
+
+
+def CheckForSameAlignments(readref, readart):
+    """
+    Function for comparison of artificial alignments and reference alignments. FP are defined such that start and end position must be unique to the artificial reference
+    returns 0 if no same read is found (FP found)
+    returns 1 if an equal alignment is found
+
+    @type  readref: read obj.
+    @param readref: reference
+    @type  readart: read obj.
+    @param readart: artificial
+    @rtype:   bool
+    @return:  Indicator if alignment is the same (start & end equal)
+    """
+    for i, item in enumerate(readref.start):
+        if (readref.start[i] == readart.start[0] and readref.end[i] == readart.end[0]):
+            return(1)
+    return(0)
+
+
+
+def getHammingdistance(CompareString, start, end):
+    """
+    Computes the number of subsitutions in the artificial reference using the CompareString.
+
+    @type  CompareString: string
+    @param CompareString: string of 0 and 1s. 1 = hamming 1 between reference and artificial.
+    @type  start: int
+    @param start: start of alignment
+    @type  end: int
+    @param end: end ofalignment
+    @rtype:   int
+    @return:  hamming distance
+    """
+    return (sum(CompareString[start:end]))
+    
+
+def readReadQualities(fastqfile):
+    """
+    
+    Reads a .fastqfile and calculates a defined readscore 
+    input: fastq file
+    output: fastq dictionary key = readid; value = qualstr 
+
+
+    @type  fastqfile: string
+    @param fastqfile: path to fastq file
+
+    @rtype:   dictionary
+    @return:  dictionary containing read ids and read qualities.
+    """
+    fastq_file = HTSeq.FastqReader(fastqfile , "phred")
+    readdictionary = {}
+    
+    for read in fastq_file:
+        readdictionary[read.name.split()[0]] = ComputeRQScore(read.qualstr)
+    print("\tReading Fastq file done!")
+    return readdictionary
+
+
+
+
+def extendReadDic(readdic):
+    """
+    Extends a given dictionary with KEY = readid and VALUE = qualstr such that an internal naming is generated which can be used to efficiently create an numpy array
+
+
+    @type  readdic: dictionary
+    @param readdic: dictionary containing read ids and read qualities.
+
+    @rtype:   dictionary
+    @return:  extended readdic with KEY = ID, VALUE = READID object with READID.internalid and READID.qulstr = qualstr
+    """
+    internalnaming = 0
+    reverseReadDic = np.zeros(len(readdic), dtype='S50')
+    for id in readdic.iterkeys():
+        # i
+        readdic[id] = ReadID(internalnaming, readdic[id])
+        reverseReadDic[internalnaming] = id
+        internalnaming += 1
+    return(readdic, reverseReadDic)
+
+         
+
+def returnSequence(fasta):
+    """
+    Returns a sequence string from a fasta file.
+
+
+    @type  fasta: string
+    @param fasta: path to fasta file.
+
+    @rtype:   string
+    @return:  sequence
+    """
+    fastafile = HTSeq.FastaReader(fasta)
+    for sequence in fastafile:
+        return(sequence.seq)
+    
+    
+   
+def CreateCompareList(Reference, ARG):
+    """
+    Creates a list which is used for comparisons between aligned reads (exact number of mismatches) 
+
+
+
+    @type  Reference: string
+    @param Reference: reference genome
+    @type  ARG: string
+    @param ARG: artificial reference genome.
+    @rtype:   list
+    @return:  list containt 1s, where there is a difference in the genomes and 0s where the nucleotides are equal.
+    """
+    
+    reference = returnSequence(Reference)
+    artificialreference = returnSequence(ARG)
+    complist = []
+    
+    
+    if (len(reference) != len(artificialreference)):
+        print "first 10 letter:\t\t" + reference[0:10] + "..." + reference[-10:]
+        print "last 10 letter:\t\t" + artificialreference[0:10] + "..." + artificialreference[-10:]
+        print ("Error! Two Sequences have different length! Try to add a line break after the last nucleotide.")
+        sys.exit(1)
+    else:
+        return([ 0 if x == artificialreference[i] else 1 for i, x in enumerate(reference)])
+    
+
+
+def readSAMline(alignment, identifier, compareList, readdic):
+    """
+    Function for reading SAM alignment text file (one line)
+
+
+
+    @type  alignment: string
+    @param alignment: SAM alignment
+    @type  identifier: string
+    @param identifier: read id
+    @type  compareList: list
+    @param compareList: list containt 1s, where there is a difference in the genomes and 0s where the nucleotides are equal.
+    @type  readdic: dictionary
+    @param readdic: dictionary containing read ids and read qualities.
+    @rtype:   read obj.
+    @return:  returns a customRead object
+    """
+    k = 0
+
+    # ignore header
+    columns = alignment.split("\t")
+    flag = int(columns[1].strip())
+    
+    # flag 4 = not mapped to any genome
+    if flag == 4:
+        return(0, "")
+        
+    else:
+       
+        
+        readname = columns[0].strip()
+        reference = columns[2].strip()
+        start = int(columns[3].strip())-1
+        mappingquality = columns[4].strip()
+        cigar = columns[5].strip()
+        qualstr = columns[10].strip()
+        tags = " ".join(columns[11:])
+        
+        mdtag = re.search("MD:Z:([^\s]+)", tags).group(1)
+        try:
+            mdtag = re.search("MD:Z:([^\s]+)", tags).group(1)
+            gaps, mism = getMisGap(mdtag, cigar)
+        except:
+            gaps = 0
+            mism = 0
+            print "Error Reading MDtag of %s.Setting gaps = 0,mism = 0" % readname
+        try:
+            nm = int(getNumberOf(tags, "NM"))
+        except:
+            nm = 0
+        
+        leng = getAlignmentLength(cigar)
+        
+        if len(qualstr) == 1 or (len(qualstr.strip()) == 0):
+            score = readdic[readname].quality
+        else:
+            score = ComputeRQScore(qualstr)
+        
+        if identifier == "art":
+            #tempobj = CustomRead(0,nm, getHammingdistance(compareList, start, start+leng), score, mappingquality,start,start+leng)
+            tempobj = CustomRead(readname, 0, nm, getHammingdistance(compareList, start, start + leng), score, mappingquality, start, start + leng, gaps, mism)
+        elif identifier == "noMem":
+            tempobj = CustomRead(readname, 1, nm, getHammingdistance(compareList, start, start + leng), score, mappingquality, start, start + leng, gaps, mism)
+            
+        else:
+            ##########TPRead(nm, score, mq, start, end, gaps, mism)
+            tempobj = TPRead(nm, score, mappingquality, start, start + leng, gaps, mism)
+
+
+
+    return(tempobj, readname)
+
+
+
+
+
+def returnIndex(readdic, readname):
+    """
+    Returns the index of a read. The index is prescribed by the ordering in the sam file.
+    @type  readname: string
+    @param readname: read id
+    @type  readdic: dictionary
+    @param readdic: dictionary containing read ids and read qualities.ArtRead
+    @rtype: int
+    @return:  index
+    """
+    return(readdic[readname].internalID)
+
+
+def ReadArtificialSAMfileHTSeq(art, compareList, RefArray, readdic):
+    """
+    Function for reading the artificial reference genome using HTSeq.This function is mainly used. Only if no quality string is in the SAM line. The custom
+    SAM reading function is used.
+    
+    @type  art: string
+    @param art: artificial file.
+    @type  RefArray: array
+    @param RefArray: Results from reading the reference SAM file.
+    @type  compareList: list
+    @param compareList: list containt 1s, where there is a difference in the genomes and 0s where the nucleotides are equal.
+    @type  readdic: dictionary
+    @param readdic: dictionary containing read ids and read qualities.
+    @rtype:   array
+    @return:  aligned read objects in an array.
+    """
+    start = time.time()
+    #print ("\tARTIFICIAL:")
+    fobj = open(art, "r")
+    artdic = {}
+    k = 0
+    
+    read = SkipHeader(fobj,compareList,readdic)
+    
+    
+    for alignment in fobj:
+        k += 1
+        if k % 1000000 == 0:
+            print ("%d.." %(k/1000000)),
+        read, readname = isSaneAlignment(alignment, "art", compareList, readdic)
+        if read == 0:
+            pass
+        else:
+            # Check by internal naming if spot in array is taken (!= 0) by a read
+            index = returnIndex(readdic, readname)
+            if RefArray[index] != 0:
+                # read already in dic? Check if the alignments are the same
+                if (RefArray[index].isContained(read) == 0):
+                    if readname in artdic:
+                        artdic[readname].toObjself(read)
+                    
+                    else:
+                        artdic[readname] = read
+                else:
+                    pass
+                
+            else:
+                # new read? Just add it to the dictionary
+                artdic[readname] = read
+           
+ 
+    fobj.close()
+    end = time.time()
+    #print("\r\n")
+    print ("\t %f " % (end - start)),
+    #print ("\tdone in %d seconds" % (end-start))
+    return(artdic)
+
+
+
+def writeToTabArt(ReadDic, outfile):
+    """
+    Write function for hits ont he reference genome. Only the best alignment (least mismatches)
+    Header :
+    ReadID    MatchedReference     Substitutions     NumberOfMismatches     ReadQuality     MappingQuality
+    
+
+    @type  outfile: string
+    @param outfile: Path to outfile.
+    @type  ReadDic: dictionary
+    @param ReadDic: dictionary containing read ids and read qualities.
+    """
+
+    fobj = open(outfile, "a")
+    for read in ReadDic.keys():
+       BestReadIndex = np.array(ReadDic[read].nm).argmin()
+       fobj.write("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n" % (read, ReadDic[read].mr[BestReadIndex], ReadDic[read].subs[BestReadIndex], ReadDic[read].nm[BestReadIndex], ReadDic[read].rq, ReadDic[read].mq[BestReadIndex], ReadDic[read].start[BestReadIndex], ReadDic[read].end[BestReadIndex], ReadDic[read].gaps[BestReadIndex], ReadDic[read].mism[BestReadIndex]))
+    fobj.close()
+
+
+
+
+def writeToTabRef(RefArray, outfile, reverseReadArray, ReadDic):
+    """ 
+    Write function for hits ont he reference genome. Only the best alignment (least mismatches)
+    
+    Header :
+    ReadID    MatchedReference     Substitutions     NumberOfMismatches     ReadQuality     MappingQuality
+    rows in the infile
+    @type  RefArray: string
+    @param RefArray: path to inputfile.
+    @type  outfile: int
+    @param outfile: rows in the infile
+    @type  reverseReadArray: dictionary
+    @param reverseReadArray: Contains reads = values and ranks = keys
+    @type  ReadDic: dictionary
+    @param ReadDic: dictionary containing read ids and read qualities.
+    """
+
+    fobj = open(outfile, "a")
+    for i in xrange(0, len(RefArray)):
+        read = RefArray[i]
+        # check if entry == 0
+        if read == 0:
+            continue
+        else:
+            readname = reverseReadArray[i]
+            index = returnIndex(ReadDic, readname)
+            BestReadIndex = np.array(RefArray[index].nm,dtype="int").argmin()
+            fobj.write("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n" % (readname, 1, 0, RefArray[index].nm[BestReadIndex], RefArray[index].rq, RefArray[index].mq[BestReadIndex], RefArray[index].start[BestReadIndex], RefArray[index].end[BestReadIndex], RefArray[index].gaps[BestReadIndex], RefArray[index].mism[BestReadIndex]))
+    fobj.close()
+
+
+
+def ReadFromTab(infile, arraysize):
+    """
+    Reads the results from writeToTab in for plotting and analysis
+    
+    Header :
+    ReadID    MatchedReference     Substitutions     NumberOfMismatches     ReadQuality     MappingQuality
+    
+    @type  infile: string
+    @param infile: path to inputfile.
+    @type  arraysize: int
+    @param arraysize: rows in the infile
+
+    @rtype:   np.array(obj)
+    @return:  array for unique classified reads.
+    """
+
+    
+    fobj = open(infile, "r")
+    dataArray = np.arange(arraysize, dtype=object)
+    for i, line in enumerate(fobj):     
+            if line.startswith("#"):
+                continue
+            else:
+                zeile = line.split("\t") 
+                id = zeile[0]
+                mr = int(zeile[1])
+                subs = int(zeile[2])
+                nm = int(zeile[3])
+                rq = float(zeile[4])
+                mq = int(zeile[5])
+                gaps = int(zeile[8])
+                mism = int(zeile[9])
+                #n = int(zeile[10].strip())
+                # id is not needed for the analysis 
+                dataArray[i - 1] = CustomRead(id, mr, nm, subs, rq, mq, 0, 0, gaps, mism)
+                
+    return (dataArray)
+
+
+
+def readInput(file):
+    """
+    Function for reading in the controldictionary from the inputfile.
+
+    @type  file: string 
+    @param file: Path to the input file.
+    
+    @rtype:   files
+    @return:  Controldictionary which is used to regulate the programs workflow.
+    
+    """
+    fobj = open(file, "r")
+    files = {}
+    files["mapper"] = {}
+    files["fasta"] = {}
+    tempref = []
+    temparg = []
+    reffasta = ""
+    artfasta = []
+    
+    for line in fobj:
+        # reference
+        if line.startswith("$"):
+            files["fasta"]["reffasta"] = GetCompletePath(line.split(":")[1].strip())
+        # artificial
+        if line.startswith("#"):
+            artfasta.append(GetCompletePath(line.split(":")[1].strip()))
+        # fastq file
+        if line.startswith("&"):
+            files["fastqfile"] = GetCompletePath(line.split(":")[1].strip())
+        # start sequence for mapper section
+        if line.startswith("@"):
+            zeile = line.split("\t")
+            mapper = zeile[0][1:].strip()
+            files["fasta"]["artfasta"] = artfasta
+        if line.startswith("ref"):
+            tempref.append(GetCompletePath(line.split(":")[1].strip()))
+        if line.startswith("art"):
+            temparg.append(GetCompletePath(line.split(":")[1].strip()))
+        # end of mapper section
+        if line.startswith("+"):
+            files["mapper"][mapper] = [tempref, temparg]
+            tempref = []
+            temparg = []
+            
+            
+    fobj.close()
+    return(files)
+
+def GetCompletePath(path):
+    return(path.replace("~",os.path.expanduser("~")))
+    
+def initOutFiles(controlDic, mapper, outpath):
+    """
+    Since we append in the program, we need to make sure no old files remain... 
+
+    @type  controlDic: dictionary 
+    @param controlDic: dictionary containing future filenames.
+    @type  mapper: string 
+    @param mapper: current identifier mapper for which the results are written
+    @type  outpath: string
+    @param outpath: existing path, where the outfiles will be written.
+    """
+    for artificial in controlDic["mapper"][mapper][1]:
+             filename = artificial.split("/")[-1]
+             outfile = mapper + "_" + artificial.split("/")[-1][:-4] + ".esam"
+             #easy Sam output 
+             fobj = open(outpath + outfile, "w")
+             fobj.write("#ReadID\tMatchedReference\tSubstitutions\tNumberOfMismatches\tReadQuality\tMappingQuality\tStart\tEnd\tGaps\tMisM\r\n")
+             fobj.close()
+     
diff --git a/core/FindOrfs.py b/core/FindOrfs.py
new file mode 100644
index 0000000..0aa747f
--- /dev/null
+++ b/core/FindOrfs.py
@@ -0,0 +1,283 @@
+#!/usr/bin/env python
+
+
+"""
+FindOrfs, Created 2012
+
+Script to detect start and stop codon of open reading frames in a dna sequence. Note that the algorithm is only rudimentary and does not respect intron-exon structures.
+
+"""
+
+
+def build_ORF(sequence,file_ORF,pdic):
+    """
+    Get orf positions (forward/backward) and return them in a dictionary
+
+    @type  sequence: string
+    @param sequence: nucleotide sequence
+    @type  file_ORF: string
+    @param file_ORF: outputfile
+    @type  pdic: dictionary
+    @param pdic: Used to start start / end positions of ORFs.
+    @rtype:   dictionary
+    @return:  Stored start start / end positions of ORFs
+    """
+
+    
+    START,STOP,STARTrev,STOPrev = find_orfs(sequence,pdic)
+    t=open(file_ORF,'a')
+    print "\t search forward orfs..."
+    orf_counter = 0
+    orf_name = "forw"
+    for i in START:
+        for j in STOP:
+            #3 conditions
+            #first condition: start position needs to be BEFORE the stop position
+            #second condition: our proteins need to be longer than 150 aa AND need to be smaller than the biggest protein we know
+            #third condition: each ORF needs to give a real aa sequence
+            if i<j and (j+3-i)>149 and (j+3-i)<103050 and (j+3-i)%3==0:
+                orf_counter+=1
+                #if all 3 conditions: write the ORF in a file
+                t.write(">"+orf_name+" " + str(orf_counter))
+                t.write('\n')
+                t.write(sequence[i:j+3])
+                t.write('\n')
+                pdic[i]="S" # S  = START
+                pdic[j]="E" # E  = END
+                
+    temp = orf_counter
+    
+    orf_counter = 0
+    orf_name = "rev"
+    print "\t search backward orfs..."
+    for i in STARTrev:
+        for j in STOPrev:
+            #3 conditions
+            #if j<i and (j+2-i+1)>150 and (j+2-i+1)<103050 and (j+2-i+1)%3==0: <--alt
+            #first condition: start position needs to be BEFORE the stop position
+            #second condition: our proteins need to be longer than 150 aa AND need to be smaller than the biggest protein we know
+            #third condition: each ORF needs to give a real aa sequence
+            if j<i and (i+3-j)>150 and (j+3-i)<103050 and (j+3-i)%3==0:
+                #if all 3 conditions: write the ORF in a file
+                orf_counter+=1
+                t.write(">"+orf_name+" " + str(orf_counter))
+                t.write('\n')
+                t.write(sequence[j:i+3][::-1])
+                t.write('\n')
+                pdic[i]="E"
+                pdic[j]="S"
+    print(str(temp+orf_counter))
+    t.close()
+    
+    return (pdic)
+
+
+def findstop_help(posLastStop,sequence,codon):
+    """
+    return the index of the first position of codon in the dna sequence  
+
+    @type  posLastStop: int
+    @param posLastStop: Position of the last found stop codon.
+    @type  sequence: string
+    @param sequence: Nucleotide sequence.
+    @type  codon: string
+    @param codon: 3-letter DNA code.
+    @rtype:   int
+    @return:  The position of the stop codon in the nucleotide sequence.
+    """
+    try:
+        return(sequence.index(codon,posLastStop))
+            
+    except:
+        return(-1)
+    
+def find_orfs(genomeSequence,pdic):
+    """
+    function to identify open reading frames in a dna sequence, careful: intron exon structures are not respected!  
+
+    @type  genomeSequence: string
+    @param genomeSequence: Nucleotide sequence.
+    @type  pdic: dictionary
+    @param pdic: Used to store start / end positions of ORFs.
+    @rtype:   dictionary
+    @return:  Found  start / end positions in the sequence consindering only the ORFs.
+    """
+    # got a dictionary and a sequence! lets start!
+    # Startcodon = ATG
+    # Stopcodon = ["TAA","TGA","TAG"]
+    
+ 
+    start =[]
+    stop =[]
+    
+    posLastATG = 0
+    posLastStop = 3
+    orfList = []
+    
+    # forward
+    print("\t..find forward orfs")
+    while True:
+        foundNew = False
+        # catch error if "ATG" not found!
+        try:
+            
+                start.append(genomeSequence.index("ATG",posLastATG))
+                # retrieve last element
+                posLastATG = start[-1]+1
+                foundNew = True
+        except:
+            pass
+        
+        stopSub =[]
+        stopcodons =["TAA","TGA","TAG"]
+        for item in stopcodons:
+            stopSub.append(findstop_help(posLastStop, genomeSequence, item))
+
+        stopSub.sort()
+        
+        if(stopSub[0] > -1):
+            stop.append(stopSub[0])
+            posLastStop = stop[-1]+1
+            foundNew = True
+            
+        elif(stopSub[1] > -1):
+            stop.append(stopSub[1])
+            posLastStop = stop[-1]+1 
+            foundNew = True;
+            
+        elif(stopSub[2] > -1):
+            stop.append(stopSub[2]); 
+            posLastStop = stop[-1]+1 
+            foundNew = True;
+        
+        if(foundNew):
+            pass
+        else:
+            break
+        
+    # reverse now:
+    # start codon: CAT
+    # stop codons: TTA;TCA;CTA 
+        
+    startRev = []
+    stopRev = []
+
+    posLastCAT = 3
+    posLastStop_rev = 0
+       
+    print("\t..find reverse orfs")
+    while True:
+            foundNew_rev  = False
+            # catch error if "CAT" not found!
+            try:
+                
+                    startRev.append(genomeSequence.index("CAT",posLastCAT))
+                    # retrieve last element
+                    posLastCAT = startRev[-1]+1
+                    foundNew_rev = True
+            except:
+                pass
+            
+            stopSub =[]
+            stopcodons =["TTA","TCA","CTA"]
+            for item in stopcodons:
+                stopSub.append(findstop_help(posLastStop_rev, genomeSequence, item))
+    
+            stopSub.sort()
+            
+            if(stopSub[0] > -1):
+                stopRev.append(stopSub[0])
+                posLastStop_rev = stopRev[-1]+1
+                foundNew_rev = True
+                
+            elif(stopSub[1] > -1):
+                stopRev.append(stopSub[1])
+                posLastStop_rev = stopRev[-1]+1
+                foundNew_rev = True
+                
+                
+            elif(stopSub[2] > -1):
+                stopRev.append(stopSub[2])
+                posLastStop_rev = stopRev[-1]+1
+                foundNew_rev = True
+                
+            
+            if(foundNew_rev):
+                pass
+            else:
+                break
+    ###test##################
+    print("START codons : "  + str(len(start)))
+    print("STOP codons : "  +str(len(stop)))
+    print("revSTART codons : "  +str(len(startRev)))
+    print("revSTOP codons : "  +str(len(stopRev)))
+    
+    
+    # FORWARD
+    #vectors are filled, now test if in the same frame
+    # stores start positions without a suitable Stop in frame
+    removeList=[]
+    print("\t..creating forward orfs")
+    for stopPos in stop:
+        foundPartner=False
+        startPos = 0
+        i = 0
+        startPos = start[0]
+        #= start[i]
+        while ((i<len(start)-1) and (start[i] <stopPos)):
+                startPos = start[i]
+                i+=1
+                if((stopPos+3-startPos)% 3 == 0):
+                    #Orf found in frame
+                    if((foundPartner == False) and (stopPos+3)-startPos >149):
+                        #found first matching AT (first ORF+ORF is at least 150bp long
+                        foundPartner = True
+                        pdic[stopPos+3]="E"
+                        pdic[startPos]="S"
+                        orfList.append(startPos)
+                        orfList.append(stopPos+3)
+                        removeList.append(startPos)
+                    else:
+                        removeList.append(startPos)
+        for item in removeList:
+            # remove all positions of ATGS leading to "sub-ORFs"
+            start.remove(item)
+        removeList =[]
+        
+     
+    # BACKWARD
+    print("\t..creating reverse orfs")
+    removeList_rev=[]
+    l = len(stopRev)-1
+    
+    for r in range(l,-1,-1):#
+        stopPos = stopRev[r]
+        foundPartner=False
+        
+        
+        
+        i = len(startRev)-1
+       
+        
+        while((i >=0) and (startRev[i]>stopPos)):
+            startPos=startRev[i]
+            i -=1
+            if((startPos+3-stopPos)%3 == 0):
+                # found ORF in frame
+                if((foundPartner != True) and (startPos+3-stopPos > 149)):
+                    #found first matching ATG + ORF is at least 150bp long
+                    pdic[stopPos]="S"
+                    pdic[startPos+3]="E"
+                    foundPartner = True
+                    orfList.append(startPos)
+                    orfList.append(stopPos+3)
+                    removeList_rev.append(startPos)
+                else:
+                    removeList_rev.append(startPos)
+                    
+        for item in removeList_rev:
+        # remove all positions of ATGS leading to "sub-ORFs"
+            startRev.remove(item)
+        removeList_rev =[]
+        
+    return(pdic)
\ No newline at end of file
diff --git a/core/InsertMutations.py b/core/InsertMutations.py
new file mode 100644
index 0000000..585e4a6
--- /dev/null
+++ b/core/InsertMutations.py
@@ -0,0 +1,288 @@
+#!/usr/bin/env python
+"""
+Created 2012
+core Script for the generation of the artificial reference genome
+
+The functions purpose is to to go through a list of positions and find balanced mutations
+which fulfill the demands on the artificial reference genome. Once a initial start positions is
+randomly selected all possible triplets with hamming distance 1 are generated and looked up 
+in a dictionary which contains all triplet positions in the input genome. If a suitable partner
+is found for the initial mutation the next start positions is chosen randomly. Else: try all other
+triplets with hamming distance 1 until no one is left. This process can be accelerated by allowing
+unbalanced mutations, but this will cause differences in the NUC/AA distribution and the AA neighborhood.
+
+
+ at author: Sven Giese
+"""
+
+import random as r
+import Prep as INI
+
+
+
+def getMutation(AA,Codon):
+    """
+    Returns a random mutation for a given AA and its Codon(DNA). The mutation is done in a way which supports the equilibrium 
+    of the nucleotide distribution by only regarding hamming distance=1 Codons as possible mutations 
+
+    @type  AA: string
+    @param AA: Single AA.
+    @type  Codon: string
+    @param Codon: 3-letter dna code.
+    @rtype:   list,list
+    @return:  A list of all valid mutations (triplet) and the coresponding AA.
+    """
+    temp_mutationlist = []
+    '''create a list of possible triplets within hamming distance 1 '''
+    for item in INI.genetic_code.keys():
+        isvalid = INI.isvalidtriplet(item,Codon)
+        ''' Hamming distance 1, AA is not equal to the given AA,forbid mutation to stopcodon '''
+        if (isvalid == True and AA !=INI.genetic_code[item] and INI.genetic_code[item]!="*"):
+            temp_mutationlist.append(item)
+    
+    
+    aalist = []
+    # generate a list of all possible amino acids resulting from the temp_mutationlist 
+    for item in temp_mutationlist:
+        if (item in INI.genetic_code):
+            aalist.append(INI.genetic_code[item])
+        else:
+            aalist.append("n")
+            
+    return(temp_mutationlist,aalist)
+
+
+def getdifference(triplet_old,triplet_new):
+    """
+    Given two triplets, returns the differences between them plus the position 
+
+    @type  triplet_old: string
+    @param triplet_old: AA triplet.
+    @type  triplet_new: string
+    @param triplet_new: AA triplet.
+    @rtype:   Char,Char,int
+    @return:  The new aminoacid, the old aminoacid and the position. 
+    """
+    for i in range(0,3):
+        if (triplet_new[i]!=triplet_old[i]):
+            
+            return (triplet_new[i],triplet_old[i],i)
+        
+      
+def isvalidposition(pdic,iprime,distance):
+    """
+    Checks if a position is valid for mutation. It queries all neighboring positions (iprime +-distance) to check whether there already was a mutation in pdic
+
+    @type  pdic: dictionary
+    @param pdic: Diciontary containing mutations and start/ stop codons..
+    @type  iprime: int
+    @param iprime: Position of the prospective mutation (DNA level)
+    @type  distance: int
+    @param distance: User defined parameter which limits the distance between two mutations.
+    @rtype:   Bool
+    @return: Boolean which decides if the position is valid (1= yes,0 = no) 
+    """
+    
+    # deal with base shifts 
+    distance = distance-2
+    
+    istforbidden = 0
+    for o in range(-distance,distance+2,1):
+        if (iprime+o in pdic):
+            # E = end of orf
+            # S = start of orf
+            if((pdic[iprime+o]=="E") or (pdic[iprime+o]=="S")):
+                if((o >3) or (o <-3)):
+                    pass
+                else:
+                    istforbidden = 1
+                    break
+            else:
+                istforbidden = 1
+                break
+    else:
+            pass
+                
+    return(istforbidden)
+
+
+
+
+def mutate_random(DNA,AminoAcid,distance,pdic,rev,header,Random,outputpath):
+        """
+        Mutates a given DNA(AminoAcid) Genomesequence on several positions (distance based on DISTANCE var. If one mutation is done
+        a compareable Triplet is searched to "reverse" the  changes made in AA distribution, N distribution, AA neighborhood
+    
+        @type  DNA: list
+        @param DNA: DNA sequence of the reference genome.
+        @type  AminoAcid: list
+        @param AminoAcid: AA sequence of the reference genome.
+        @type  rev: Bool
+        @param rev: Boolean which decides if unbalanced mutations are allowed (only initial mutation is performed)
+        @type  pdic: dictionary
+        @param pdic: Diciontary containing mutations and start/ stop codons..
+        @type  header: string
+        @param header: Header for the resulting artificial reference file (fasta format).
+        @type  Random: Bool
+        @param Random: Boolean for choosing on of the mutation modes (linear = 0,random = 1)
+        @type  distance: int
+        @param distance: User defined parameter which limits the distance between two mutations.
+        @rtype:   list
+        @return: Artificial reference genome sequence.
+        """
+        ##debug vals 
+        start = [] # list of start positions of mutations ( start means first mutation in balanced case)
+        both = []  # start and end position
+        fobj2= open(outputpath+header+"_CompleteLog.txt","a")
+        fobj2.write("BalancedMutation"+"\t"+"NewAA" + "\t" + "OldAA"+"\t"+"NewAAPos"+"\t"+"OldAAPos" +"\t"+ "NewDNA"+"\t"+ "OldDNA"+ "\t"+"NewDNAPos"+"\t"+"OldDNAPos"+"\n")
+        fobj2.close()
+        
+        
+        # generate start positions for mutation (the samplespace)
+        samplespace = []
+        for i in range (2,len(AminoAcid),distance/3):
+            samplespace.append(i)
+        
+        
+        ##random_modification
+        if (Random ==1):
+            r.shuffle(samplespace)
+        else:
+            pass
+      
+        dna_list = list(DNA)
+        AminoAcid_list = list(AminoAcid)
+       
+        '''the lookup dictionary for the aa triplets '''
+        lookup_dic = INI.createdic(AminoAcid)
+
+        #gotit indicator if a possibility was found to revert the initial changes (start of mutation)
+        gotit=False
+        # stat variables
+        succ_counter = 0
+        fail_counter = 0 
+        skip = 0
+       
+        ''' Main loop over the AminoAcid'''
+        for i in samplespace:
+            ''' no triplet left --> break '''
+            if(i+2 >len(AminoAcid)):
+                print("\t(finished...exceeded length of AA)")
+                continue
+            
+            ''' AA which is going to be mutated'''
+            AA = AminoAcid_list[i]
+        
+            '''index for dna : i*3 --> AminoAcid --> DNA
+            #not i*3+3 because i starts at AA 2 since we need a right and left neighbor'''
+            iprime = i*3
+            
+            '''AA and corresponding DNA triplet for the middle AA '''
+            AA_triplet= AminoAcid_list[i-1]+AminoAcid_list[i]+AminoAcid_list[i+1]
+            DNA_triplet = DNA[iprime:iprime+3]
+
+            # get temporary list of all mutations. Iterate over it to find best possible substitution
+            mutationsliste,aaliste = getMutation(AA,DNA_triplet)
+            
+            
+            # isvalidposition returns 1 if the position isforbidden, else 0
+            val = isvalidposition(pdic, iprime, distance)
+            if (val ==1):
+                skip+=1
+                fobj2= open(outputpath+header+"_CompleteLog.txt","a")
+                fobj2.write(str(0)+"\t"+new_AA_triplet + "\t" + "' '"+"\t"+str(i)+"\t"+"' '" +"\t"+ new_triplet+"\t"+ "' '"+ "\t"+str(iprime+position)+"\t"+"'(skipped)'"+"\n")
+                fobj2.close()
+                continue
+                    
+            else:
+                pass
+            
+
+            for q,item in enumerate(mutationsliste):
+                
+                if gotit==True:
+                    break
+                else:
+                    pass
+                
+                ''' old and new variables for before/after the mutation '''
+                new_triplet                 = mutationsliste[q]
+                new_AA                      = aaliste[q]
+                new_N,old_N,position        = getdifference(DNA_triplet,new_triplet)
+                new_AA_triplet              = AA_triplet[0]+new_AA+AA_triplet[2]
+                tempdic = pdic
+                tempdic[iprime+position]="M"
+                
+                if (new_AA_triplet in lookup_dic):
+                    '''templist--> contains all starting positions of the "new_AA_triplet" which we want to substitute back '''
+                    templist = lookup_dic[new_AA_triplet]
+                    
+                    
+                    # add potential mutation to dictionary
+                    tempposition = [iprime+position,"M"]
+                    for l in range(0,len(templist)):
+                        posi = templist[l]
+                        # i*3 --> protein nach DNA, +3 betrachten IMMER mittlere AA
+                        ''' suitable dna position found? '''
+                        if (new_triplet == dna_list[posi*3+3]+dna_list[posi*3+3+1]+dna_list[posi*3+3+2]):
+                            val = isvalidposition(tempdic, posi*3+3+position, distance)
+                            
+                            if (val ==1):
+                                skip+=1
+                                continue
+                            else:
+                                pass
+                            
+                            '''back substitution & do subs on 1st position'''
+                            pdic[posi*3+3+position]="R"
+                            dna_list[posi*3+3+position]= old_N
+                            
+                            pdic[iprime+position]="M"
+                            dna_list[iprime+position]= new_N
+                            
+                            AminoAcid_list[i]= new_AA
+                            AminoAcid_list[posi+1]= AA
+                            
+                            gotit = True
+                            succ_counter+=1
+                            #lookup_dic[new_AA_triplet]  = [i for i in lookup_dic[new_AA_triplet] if i!=posi]
+                            lookup_dic[new_AA_triplet].remove(posi)
+                            
+                            '''writing the log file '''
+                            fobj= open(outputpath+header+"_CompleteLog.txt","a")
+                            fobj.write(str(1)+"\t"+AA_triplet + "\t" + new_AA_triplet+"\t"+str(i)+"\t"+str(posi) +"\t"+ DNA_triplet+"\t"+ str(new_triplet)+ "\t"+str(iprime+position)+"\t"+str(posi*3+3+position)+"\n")
+                            fobj.close()
+                            
+                            ## statistics
+                            start.append(iprime+position)
+                            both.extend([iprime+position,posi*3+3+position])
+                            break
+                
+                # no possible triplet positions for back substitution in lookup_dic    
+                else:
+                    continue
+                 
+            # after loop 
+            if (gotit==False):
+                fobj2= open(outputpath+header+"_CompleteLog.txt","a")
+                fobj2.write(str(0)+"\t"+new_AA_triplet + "\t" + "' '"+"\t"+str(i)+"\t"+"' '" +"\t"+ new_triplet+"\t"+ "' '"+ "\t"+str(iprime+position)+"\t"+"'(tried)'"+"\n")
+                fobj2.close()
+                fail_counter+=1
+                # reverse substitutions on? (=1) off (=0). If one dont change first mutation in the first place. Else: just change it.. 
+                if (rev==0):
+                    pdic[iprime+position]="M"
+                    dna_list[iprime+position]= new_N
+                    AminoAcid_list[i]= new_AA
+                    start.append(iprime+position)
+                    both.extend([iprime+position])        
+            elif (gotit==True):
+                    gotit = False
+            
+        # stats (INI.savepickle(pdic,header+"_pdic_e"))
+        print("\r\n########Some stats:########")
+        print("DNA length:\t" + str(len(DNA)))
+        print("max substitutions:\t" + str(len(DNA)/distance))
+        print("#Balanced Mutations:\t" + str(succ_counter))
+        
+        
+        return ("".join(dna_list))
\ No newline at end of file
diff --git a/core/PlotData.py b/core/PlotData.py
new file mode 100644
index 0000000..bdf3751
--- /dev/null
+++ b/core/PlotData.py
@@ -0,0 +1,295 @@
+'''
+Created  2012
+ at author: GieseS
+
+
+Little plotting script which is called in the analysis of different mappings to an artificial reference genome.
+It produces the following plots:
+
+
+
+
+1) ROC Curve
+2) Overview histograms for FP / TP.
+
+
+'''
+
+import matplotlib
+matplotlib.use('Agg')
+
+import numpy as np
+import matplotlib.pyplot as plt
+from mpl_toolkits.mplot3d import Axes3D
+import random
+import time
+import pylab as p
+
+##### HELP FUNCTIONS ####
+
+def trapezoidal_rule(x, y):
+    """Approximates the integral through the points a,b"""
+    index =  [i+1 for i in xrange(len(x)-1)]
+    xdiff = np.array([x[i]-x[i-1] for i in index])
+    ysum = np.array([y[i]+y[i-1] for i in index])
+    return(np.dot(xdiff,ysum)/2)
+
+
+#### HELP FUNCTIONS END ############
+
+
+""" 
+abbreviations:
+tp = True positives
+fp = false positives
+NM = number of mismtaches
+mq = mapping quality
+rq = readquality
+subs = substitutions in artifical reference genome (ARG)
+"""
+
+
+            
+###############################################################################            
+
+def CalculateRoc2(dataArray,prefix,readsize,uniquehits,mappedreads,filename):
+    """
+    Calculates the adjusted ROC curve as well as the AUC value derived from the adjusted points
+    and writes the ROC tables to .txt files. 
+    """
+    starttime= time.time()
+    uniquehits = float(uniquehits)
+    readsize = float(readsize)
+    
+    
+    entries = len(dataArray)
+        
+
+    resultmatrix = np.arange(entries*2)
+    resultmatrix = resultmatrix.reshape(2,entries)
+        
+    maxrq =  max(x.rq for x in dataArray)
+    maxnm =  max(x.nm[0] for x in dataArray)
+    maxGaps=  max(x.gaps[0] for x in dataArray)
+    maxMism=  max(x.mism[0] for x in dataArray)
+    
+        
+    minrq =  min(x.rq for x in dataArray)
+    minnm =  min(x.nm[0] for x in dataArray)
+    minmq=  min(x.mq[0] for x in dataArray)
+    minGaps=  min(x.gaps[0] for x in dataArray)  
+    minMism=  min(x.mism[0] for x in dataArray)      
+    
+    
+    # adjust stepsize for rq since the score behaves the other way
+    quants = [1,2,3,4,5]
+    tempa = maxrq-minrq
+    stepsize = tempa/5
+        
+    rqQuants = [round(minrq+(i-1)*stepsize,3) for i in quants]
+    rqQuants.reverse()
+    rqQuants[-1] =0 # last entry is rounded bigger than the smallest in the dataset
+        
+    nmQuants = [i*maxnm/5 for i in quants]
+    GapsQuants = [i*maxGaps/5 for i in quants]
+    MismQuants = [i*maxMism/5 for i in quants]
+
+    rocvector = []
+        
+    # i = NM,l = RQ, k = MQ
+    for l in quants: # RQ
+                for k in quants: # GAPS
+                    for j in quants: # MISMATCH
+                            temparray = [m for m in dataArray if m.gaps[0] <= GapsQuants[k-1] and m.mism[0] <= MismQuants[j-1]  and m.rq >=rqQuants[l-1]]
+                            
+
+                            tempids = [m.id for m in temparray]
+                            uniquereads = {}
+                            for i in xrange(0,len(tempids)):
+                                uniquereads[tempids[i]] = ""
+
+                            mappedreads = len(uniquereads)
+                            
+ 
+                            
+                            templength = len(temparray)
+                            
+                            if templength == 0:
+                                continue
+                            else:
+                                tempTP = sum(x.mr[0] for x in temparray)
+                                tempFP =templength-tempTP
+                                F = round((float(mappedreads)/ readsize) ,3)
+                                sens = round((tempTP/ uniquehits) * F,3)
+                                if tempFP == 0:
+                                    spec = 0
+                                else:
+                                    spec = round((tempFP / uniquehits) * F,3)                    
+                                
+                                rocvector.append([rqQuants[l-1],GapsQuants[k-1],MismQuants[j-1],tempTP,tempFP,templength,sens,spec,F])
+                        
+                    #print ("%d\t%d\t%d\t" % (templength,tempTP,tempFP))
+
+    #0 = NM        4 = TP        7 = sens
+    #1 = RQ        5 = FP        8 = 1-spec
+    #2 = GAPS        6 = P        9 = F
+    #append needed for last entry in AUC calculation
+    rocvector.append([0,0,0,0,0,0,0,0,0])                
+    nproc = np.array(rocvector)
+    
+    #write the sens and specificity values from nproc according to the enumeration in line 149. 
+    #specificity is in cell -2
+    # sensitivity is in cell -3
+    sens =  [i[-3] for i in nproc]
+    spez =  [i[-2] for i in nproc]
+    
+    # adjust ROC curve. It is necessary that it the 1-specificity ends in 1.
+    # for the last record copy the  predecessor in sens to it
+    # and write 1 to specificity    
+    spez[-1] = 1
+    sens[-1] = sens[-2]
+    
+
+    rocarray1 = np.array([sens,spez])
+    rocarray1 = rocarray1.flatten('F')
+    rocarray1= rocarray1.reshape((len(spez),2))
+    
+    rocarray = np.array([sens,spez])
+    rocarray = rocarray.flatten('F')
+    rocarray = rocarray.reshape((len(spez),2))
+    rocarray = np.sort(rocarray.view('float,float'), order=['f0','f1'], axis=0).view(np.float)
+    
+    rocarrayCorrected = rocarray
+    
+    #print rocarrayCorrected
+    # project points where...
+    for m in range(len(rocarrayCorrected)-2,-1,-1):
+        if (rocarrayCorrected[m,1] >= rocarrayCorrected[m+1,1]):
+            rocarrayCorrected[m,1] = rocarrayCorrected[m+1,1]
+
+            
+    #print rocarrayCorrected            
+    plt.hold(True)
+    plt.figure()
+    plt.subplot(111)
+    #plt.scatter(spez, sens, c='b', marker='o', facecolor='red')
+    #plt.plot(rocarray[:,1], rocarray[:,0]
+    plt.plot(rocarrayCorrected[:,1],rocarrayCorrected[:,0], marker='o', markersize=7,linestyle='--', color='r', label='projected')
+    plt.plot(rocarray1[:,1], rocarray1[:,0], linestyle="None",label='real',marker='.',color='g')
+    plt.xlabel('1-specificity')
+    plt.ylabel('sensitivity')
+    plt.title(r'ROC:'+filename)
+    plt.axis([-0.1,1.1,-0.1,1.1])
+    plt.grid(True)
+    plt.legend(loc='lower right')
+    plt.tight_layout()
+    plt.savefig(prefix + "_ROC.pdf",format='pdf')
+    plt.clf  
+    
+    
+    AUC = trapezoidal_rule(rocarrayCorrected[:,1], rocarrayCorrected[:,0])
+    
+    fobj =  open(prefix+"_roctable.txt","w")
+    fobj.write("RQ\tGAPS\tMM\tPTP\tFP\tP\tSn\t1-Sp\tF\r\n")
+    for i in xrange(0,len(rocvector),1):
+        temp = [str(k) for k in rocvector[i]]
+        tempstr = "\t".join(temp)
+        fobj.write(tempstr+"\r\n")
+
+    endtime= time.time()
+    return(round(AUC,3))
+
+def plotOverviewHist(fp,tp,label,prefix,mappernames):
+    """Plots true positives and false positives into 2 different histogram subplots. """
+    prefix2 = "/".join(prefix.split("/")[0:-1])+"/"
+    fobj = open(prefix2+"indexMappingTools.txt","w")
+    for i in range(0,len(label)):
+        fobj.write("%s - %s\r\n" %(i+1,mappernames[i]))
+    fobj.close()
+    
+    x = [i for i in range(1,len(fp)*3,3)]
+    xmax = max(x)+1
+    ymaxTP = max(tp)+0.1
+    ymaxFP = max(fp)+0.1
+
+    ##### SUBPLOT NUMBER OF MISMATCHES ####
+    y = tp
+    x =x
+    z = fp
+
+ 
+    fig = p.figure()
+    # only plot every 2nd label
+    if len(label) <= 7:
+        widthp = 0.7
+        ticks = label
+    else:
+        widthp = 0.3
+        ticks = [i if i%2 == 0 else "" for i in label]
+    # Here we're adding 2 subplots.  The grid is set
+    # up as one row, two columns.
+    ax1 = fig.add_subplot(1,2,1)
+    ax1.bar(x,y,width=widthp, facecolor='darkgreen')
+    ax1.set_ylabel('#TP hits')
+    ax1.set_xlabel('index mapping tool')
+    ax1.set_title("Global comparison #TP hits")
+    p.xticks(x,ticks)
+    p.grid(True)
+    p.axis([0,xmax,0,ymaxTP+ymaxTP*10/100])
+    
+    # on the second axis, make the width smaller (default is 0.8)
+    ax2 = fig.add_subplot(1,2,2)
+    ax2.bar(x,z,width=widthp, facecolor='darkred')
+    ax2.set_ylabel('#FP hits')
+    ax2.set_xlabel('index mapping tool')
+    ax2.set_title("Global comparison #FP hits")
+    p.axis([0,xmax,0,ymaxFP+ymaxFP*10/100])
+    p.xticks(x,ticks)
+    p.grid(True)
+    plt.tight_layout()
+    p.savefig(prefix2 + "Overall_histabs.pdf",format='pdf')
+    p.clf()
+    
+    
+    tpsum =sum(tp)
+    fpsum =sum(fp)
+    y = [i/float(tpsum) for i in tp]
+    x =x
+    z = [i/float(fpsum) for i in fp]
+    ymax = max(max(z),max(y))+0.2
+    
+    fig = p.figure()
+    # only plot every 2nd labelare provided
+    if len(label) <= 7:
+        ticks = label
+    else:
+        ticks = [i if i%2 == 0 else "" for i in label]
+    # Here we're adding 2 subplots.  The grid is set
+    # up as one row, two columns.
+    ax1 = fig.add_subplot(1,2,1)
+
+   
+    ax1.bar(x,y,width=widthp, facecolor='darkgreen')
+    ax1.set_ylabel('%TP hits')
+    ax1.set_xlabel('index mapping tool')
+    ax1.set_title("Global comparison %TP hits")
+    p.xticks(x,ticks)
+    p.grid(True)
+    p.axis([0,xmax,0,1.1])
+    
+    # on the second axis, make the width smaller (default is 0.8)
+    ax2 = fig.add_subplot(1,2,2)
+    ax2.bar(x,z,width=widthp, facecolor='darkred')
+    ax2.set_ylabel('%FP hits')
+    ax2.set_xlabel('index mapping tool')
+    ax2.set_title("Global comparison %FP hits")
+    p.axis([0,xmax,0,1.1])
+    p.xticks(x,ticks)
+    p.grid(True)
+    plt.tight_layout()
+    p.savefig(prefix2 + "Overall_histper.pdf",format='pdf')
+    p.clf()
+    
+
+ 
+
diff --git a/core/Prep.py b/core/Prep.py
new file mode 100644
index 0000000..af72902
--- /dev/null
+++ b/core/Prep.py
@@ -0,0 +1,162 @@
+# -*- coding: cp1252 -*-
+'''
+Created 2012
+
+Contains various help functions which initialize / translate /preprocess the data
+
+
+ at author: Sven Giese'''
+
+import cPickle as pickle
+import random
+
+''' INIT DICTIONARIES '''
+genetic_code={'GCT':'A', 'GCC':'A', 'GCA':'A', 'GCG':'A',
+              'CGT':'R', 'CGC':'R', 'CGA':'R', 'CGG':'R', 'AGA':'R', 'AGG':'R',
+              'AAT':'N', 'AAC':'N',
+              'GAT':'D', 'GAC':'D',
+              'TGT':'C', 'TGC':'C',
+              'CAA':'Q', 'CAG':'Q',
+              'GAA':'E', 'GAG':'E',
+              'GGT':'G', 'GGC':'G','GGA':'G', 'GGG':'G',
+              'CAT':'H', 'CAC':'H',
+              'ATT':'I', 'ATC':'I','ATA':'I',
+              'ATG':'M',
+              'TTA':'L', 'TTG':'L', 'CTT':'L', 'CTC':'L', 'CTA':'L', 'CTG':'L',
+              'AAA':'K', 'AAG':'K',
+              'TTT':'F', 'TTC':'F',
+              'CCT':'P', 'CCC':'P','CCA':'P', 'CCG':'P',
+              'TCT':'S', 'TCC':'S', 'TCA':'S', 'TCG':'S', 'AGT':'S', 'AGC':'S',
+              'ACT':'T', 'ACC':'T','ACA':'T', 'ACG':'T',
+              'TGG':'W',
+              'TAT':'Y', 'TAC':'Y',
+              'GTT':'V', 'GTC':'V','GTA':'V', 'GTG':'V',
+              'TAA':'*', 'TGA':'*','TAG':'*','NNN':'n'}
+
+
+
+def createdic(AAsequence):
+    """
+    Creates the dictionary for the AA triplets and searches the starting indices 
+    of the triplets in the given aminoacid sequence.
+
+    @type  AAsequence: string
+    @param AAsequence: aminoacid sequence
+    @rtype:   dictionary
+    @return:  A dictionary with starting positions of each triplet in the given AA sequence
+    
+    """
+    
+    liste = ["A","R","N","D","C","E","Q","G","H","I","L","K","M","F","P","S","T","W","Y","V","*"]
+    aa_triplets = {}
+    
+    # create all possibilities  (triplets)
+    for i in range(0,len(liste)):
+        for k in range(0,len(liste)):
+            for l in range(0,len(liste)):
+                aa_triplets[liste[i]+liste[k]+liste[l]]= []
+                
+    # create lookup dic
+    # key = triplet
+    # value = list of positions                
+    for i in range(1,len(AAsequence),3):
+        if i+3 > len(AAsequence):
+            break
+        if AAsequence[i:i+3] in aa_triplets:
+            aa_triplets[AAsequence[i:i+3]].append(i)
+    return(aa_triplets)
+
+
+
+
+def isvalidtriplet(codon,dictentry):
+    """
+    Function which checks if a given triplet has max hamming distance of 1 
+    to a other triplet. Used for generation of possible substitutions triplets
+
+    @type  codon: string
+    @param codon: nucleotide triplet
+    @type  dictentry: string
+    @param dictentry: nucleotide triplet
+    @rtype:   bool
+    @return:  Boolean value. True if max hamming distance 1,else False .
+    
+    """
+    counter = 0
+    
+    for i in range (0,3):
+       
+        if codon[i]== dictentry[i]:
+            counter+=1
+        else:
+            continue
+        
+    if counter == 2:
+        return (True)
+    else:
+        return (False)
+
+def trans_seq(DNA):
+    """
+    Funtion which translates DNA to AA
+
+    @type  DNA: list
+    @param DNA: nucleotide sequence
+    @rtype:   prot,rest
+    @return:  Translated aminoacid sequence,untranslated nucleotide sequence
+    """
+    protein=[]
+    prot = ""
+    rest=""
+    
+    DNA = "".join(DNA)
+    for i in range(0,len(DNA),3):
+        # Codon exceeds length 
+        if(i+3 > len(DNA)):
+            rest +=DNA[i:i+3]
+        
+            break
+        #' found Ns in nucleotid string
+        if("N" in DNA[i:i+3]):
+            a_a = "n"
+            protein.append(a_a)
+        else:
+            #standard triplet translation
+            codon=DNA[i:i+3]
+            # look codon up in translation dic
+            a_a=genetic_code[codon]
+            protein.append(a_a)
+            
+    # transform to string
+    prot = "".join(protein)
+    return (prot,rest)
+
+''' DEBUG HELP FUNCTIONS '''
+
+
+def savepickle(dictionary,outputname):
+    """
+    basic pickle functions. actually for debugging and to speed up multiple simulations ( possible to load orf lists) 
+
+    @type  dictionary: dictionary
+    @param dictionary: Dictionary containg start and end positions of ORFs.
+    @type  outputname: string
+    @param outputname: Filename for saving.
+    
+    """
+    pickle.dump( dictionary, open(outputname +".p", "wb" ) )
+    print("Saved .pickle to: " + outputname +".p")
+
+def loadpickle(inputname):
+    """
+    basic pickle functions. actually for debugging and to speed up multiple simulations ( possible to load orf lists) 
+
+
+    @type  inputname: string
+    @param inputname: Filename for loading.
+    @rtype:   dictionary
+    @return:  Dictionary containing start and end positions of ORFs.
+    """
+    dictionary= pickle.load( open(inputname ))#+".p" ) )
+    print("Loaded "+inputname+" pickle!")
+    return (dictionary)
diff --git a/core/ReadAndWrite.py b/core/ReadAndWrite.py
new file mode 100644
index 0000000..7b52109
--- /dev/null
+++ b/core/ReadAndWrite.py
@@ -0,0 +1,188 @@
+#!/usr/bin/env python
+'''
+Created 2012
+
+Contains various help functions which read or produce an input/ output
+
+
+ at author: Sven Giese
+'''
+import os
+import random
+import HTSeq
+
+
+def readdna(filename):
+    """
+    Reads in the dna sequence of the given fasta
+
+    @type  filename: string
+    @param filename: Fasta-file used as input.
+    @rtype:   HTSeq Sequence object
+    @return:  Reference Fasta.
+    """
+    chr = HTSeq.FastaReader(filename)
+    for fasta in chr:
+        referenz = HTSeq.Sequence(fasta.seq,fasta.name)
+    return(referenz)
+
+
+def writefile(sequenceObject,filename):
+    """
+    Writes a given sequence object to a fasta file.
+
+    @type  sequenceObject: HTSeq Sequence object
+    @param sequenceObject: Reference sequence as fasta.
+    """
+    
+    outfasta = open(filename,"w")
+    sequenceObject.write_to_fasta_file(outfasta)
+    outfasta.close()
+
+
+def writeoverview(Ndic_G,aadic_G,Ndic_AR,aadic_AR,filename):
+    """
+    Creates the "delta" file for the comparison of the two chromosoms. This file contains the differences in nucleotide distribution between reference and artificial.
+    input: nucleotid dictionary genom, aa dictionary genome, nucleotid dictionary artificial chromosom, aa dictionary, filename 
+
+    @type  Ndic_G: dictionary
+    @param Ndic_G: Nucleotid dictionary genom.
+    @type  aadic_G: dictionary
+    @param aadic_G: AA dictionary genome.
+    @type  Ndic_AR: dictionary
+    @param Ndic_AR: Nucleotid dictionary artificial.
+    @type  aadic_AR: dictionary
+    @param aadic_AR: AA dictionary artificial
+    @type  filename: string
+    @param filename: Output filename.
+    """
+    fobj = open(filename,"w")
+    fobj.write("NUC /AA \t Genom \t Artificial Reference \t Delta \n")
+   
+    sum1 =0
+    sum2= 0
+    for item in Ndic_G.keys():
+        fobj.write(item +"\t"+str(Ndic_G[item])+"\t"+str(Ndic_AR[item])+"\t"+str(Ndic_G[item]-Ndic_AR[item])+"\n")
+        sum1 +=abs(Ndic_G[item]-Ndic_AR[item])
+    fobj.write(str(sum1)+"\n")
+    
+    for item in aadic_G.keys():
+        fobj.write(item +"\t"+str(aadic_G[item])+"\t"+str(aadic_AR[item])+"\t"+str(aadic_G[item]-aadic_AR[item])+"\n")
+        sum2 +=abs(aadic_G[item]-aadic_AR[item])
+    fobj.write(str(sum2)+"\n")
+    
+    
+    
+
+def nucleotide_dist_seq(seq,txt_file,shallwrite):
+    """
+    Writes the nucleotide distribution in a file and returns the dictionary. adjust s for % results.
+    @type  seq: string
+    @param seq: Nucleotide sequence.
+    @type  txt_file: string
+    @param txt_file: Output compare file.
+    @type  shallwrite: Bool
+    @param shallwrite: Decides if percentages values are written to the output.
+    """
+    Nndic={"A":0,"C":0,"G":0,"T":0,"N":0}
+    
+    for i in range(0,len(seq)):
+          Nndic[seq[i]]+=1
+    s=len(seq)
+    s=1
+   
+    if (shallwrite==1):
+        output_file=open(txt_file,'w')
+        for item in Nndic.keys():
+            Nndic[item]=Nndic[item]/float(s)
+            output_file.write(item + "\t" + str(Nndic[item])+"\n")
+            
+        output_file.close()
+    else:
+         for item in Nndic.keys():
+            Nndic[item]=Nndic[item]/float(s)
+    return (Nndic)    #N can be used for checking: should be the same number in real
+                                                                                    # and artificial chromosome
+
+
+def aa_dist_seq(seq,txt_file,shallwrite):
+    """
+    Writes the AA distribution in a file and returns the dictionary. adjust s for % results.
+    @type  seq: string
+    @param seq: Nucleotide sequence.
+    @type  txt_file: string
+    @param txt_file: Output compare file.
+    @type  shallwrite: Bool
+    @param shallwrite: Write output in percentages..
+    """
+    aadic = {"A":0,"R":0,"N":0,"D":0,"C":0,"E":0,"Q":0,"G":0,"H":0,"I":0,"L":0,"K":0,"M":0,"F":0,"P":0,"S":0,"T":0,"W":0,"Y":0,"V":0,"*":0}
+    for i in range(0,len(seq)):
+        
+        '''escape 'n' Sequences '''
+        if (seq[i] in aadic):
+              aadic[seq[i]]+=1
+        else:
+            continue
+            
+    
+    n = len(seq)
+    n=1
+    if (shallwrite==1):
+        output_file=open(txt_file,'w')
+        for item in aadic.keys():
+            aadic[item]=aadic[item]/float(n)
+            output_file.write(item + "\t" + str(aadic[item])+"\n")
+            
+        output_file.close()
+    else:
+        for item in aadic.keys():
+            aadic[item]=aadic[item]/float(n)
+            
+    return (aadic) 
+
+'''
+input: DNA Sequence, outputfilename and 1/0 for writing/not writing outputfile '''
+
+def nucleotide_dist_file(file_fasta,txt_file):
+    """
+    Writes the DNA distribution in a file and returns the dictionary. adjust n for % results
+
+    @type  file_fasta: string
+    @param file_fasta: DNA Sequence
+    @type  txt_file: string
+    @param txt_file: Filename for output.
+    """
+    input_file=open(file_fasta,'r')
+    output_file=open(txt_file,'a')
+    seq=''
+    for line in input_file:
+        if line[0]!='>':
+            line=line.rstrip()
+            seq+=line
+    output_file.write(str(nucleotide_dist_seq(seq)))
+    output_file.write('\n')
+    output_file.close()
+    input_file.close()
+
+
+'''gets the number of missmatches between 2 sequences
+input: orig sequence, decoy sequence '''
+def gethammingdistance(original,artificial):
+    """
+    Calculates the hamming distances between two sequences.
+    @type  original: list
+    @param original: Nucleotide sequence from the reference.
+    @type  artificial: list
+    @param artificial: Nucleotide sequence from the artificial reference.
+    """
+    hamming = 0
+    not_hamming=0
+    for i in range(0,len(original)):
+        if (original[i]!=artificial[i]):
+            hamming +=1
+            
+        else:
+            not_hamming+=1
+    print ("#hamming distance REF-ART\t"+ str(hamming))
+    print ("avg. distance:\t" + str(len(original)/float(hamming)))
+    print("###########################\r\n")
\ No newline at end of file
diff --git a/doc/api-objects.txt b/doc/api-objects.txt
new file mode 100644
index 0000000..56a9f45
--- /dev/null
+++ b/doc/api-objects.txt
@@ -0,0 +1,105 @@
+core	core-module.html
+core.__package__	core-module.html#__package__
+core.AnalyseMapping	core.AnalyseMapping-module.html
+core.AnalyseMapping.readInput	core.AnalyseMapping-module.html#readInput
+core.AnalyseMapping.readSAMline	core.AnalyseMapping-module.html#readSAMline
+core.AnalyseMapping.getHammingdistance	core.AnalyseMapping-module.html#getHammingdistance
+core.AnalyseMapping.ReadSAMnoMem	core.AnalyseMapping-module.html#ReadSAMnoMem
+core.AnalyseMapping.ComputeRQScore	core.AnalyseMapping-module.html#ComputeRQScore
+core.AnalyseMapping.returnSequence	core.AnalyseMapping-module.html#returnSequence
+core.AnalyseMapping.extendReadDic	core.AnalyseMapping-module.html#extendReadDic
+core.AnalyseMapping.writeToTabArt	core.AnalyseMapping-module.html#writeToTabArt
+core.AnalyseMapping.CreateCompareList	core.AnalyseMapping-module.html#CreateCompareList
+core.AnalyseMapping.getRanks	core.AnalyseMapping-module.html#getRanks
+core.AnalyseMapping.GetOrderDictionary	core.AnalyseMapping-module.html#GetOrderDictionary
+core.AnalyseMapping.CheckForSameAlignments	core.AnalyseMapping-module.html#CheckForSameAlignments
+core.AnalyseMapping.savepickle	core.AnalyseMapping-module.html#savepickle
+core.AnalyseMapping.returnIndex	core.AnalyseMapping-module.html#returnIndex
+core.AnalyseMapping.algnedToArt	core.AnalyseMapping-module.html#algnedToArt
+core.AnalyseMapping.__package__	core.AnalyseMapping-module.html#__package__
+core.AnalyseMapping.getmean	core.AnalyseMapping-module.html#getmean
+core.AnalyseMapping.ReadArtificialSAMfileHTSeq	core.AnalyseMapping-module.html#ReadArtificialSAMfileHTSeq
+core.AnalyseMapping.getNextLine	core.AnalyseMapping-module.html#getNextLine
+core.AnalyseMapping.loadpickle	core.AnalyseMapping-module.html#loadpickle
+core.AnalyseMapping.getMisGap	core.AnalyseMapping-module.html#getMisGap
+core.AnalyseMapping.writeToTabRef	core.AnalyseMapping-module.html#writeToTabRef
+core.AnalyseMapping.ReadFromTab	core.AnalyseMapping-module.html#ReadFromTab
+core.AnalyseMapping.GetCompletePath	core.AnalyseMapping-module.html#GetCompletePath
+core.AnalyseMapping.getCustomRead	core.AnalyseMapping-module.html#getCustomRead
+core.AnalyseMapping.getAllID	core.AnalyseMapping-module.html#getAllID
+core.AnalyseMapping.isSaneAlignment	core.AnalyseMapping-module.html#isSaneAlignment
+core.AnalyseMapping.getTPRead	core.AnalyseMapping-module.html#getTPRead
+core.AnalyseMapping.algnedToRef	core.AnalyseMapping-module.html#algnedToRef
+core.AnalyseMapping.alngts	core.AnalyseMapping-module.html#alngts
+core.AnalyseMapping.SkipHeader	core.AnalyseMapping-module.html#SkipHeader
+core.AnalyseMapping.readReadQualities	core.AnalyseMapping-module.html#readReadQualities
+core.AnalyseMapping.getNumberOf	core.AnalyseMapping-module.html#getNumberOf
+core.AnalyseMapping.getAlignmentLength	core.AnalyseMapping-module.html#getAlignmentLength
+core.AnalyseMapping.getsum	core.AnalyseMapping-module.html#getsum
+core.AnalyseMapping.CompareAlignments	core.AnalyseMapping-module.html#CompareAlignments
+core.AnalyseMapping.AlignedReadsdic	core.AnalyseMapping-module.html#AlignedReadsdic
+core.AnalyseMapping.initOutFiles	core.AnalyseMapping-module.html#initOutFiles
+core.FindOrfs	core.FindOrfs-module.html
+core.FindOrfs.findstop_help	core.FindOrfs-module.html#findstop_help
+core.FindOrfs.build_ORF	core.FindOrfs-module.html#build_ORF
+core.FindOrfs.find_orfs	core.FindOrfs-module.html#find_orfs
+core.FindOrfs.__package__	core.FindOrfs-module.html#__package__
+core.InsertMutations	core.InsertMutations-module.html
+core.InsertMutations.getdifference	core.InsertMutations-module.html#getdifference
+core.InsertMutations.__package__	core.InsertMutations-module.html#__package__
+core.InsertMutations.isvalidposition	core.InsertMutations-module.html#isvalidposition
+core.InsertMutations.getMutation	core.InsertMutations-module.html#getMutation
+core.InsertMutations.mutate_random	core.InsertMutations-module.html#mutate_random
+core.PlotData	core.PlotData-module.html
+core.PlotData.__package__	core.PlotData-module.html#__package__
+core.PlotData.trapezoidal_rule	core.PlotData-module.html#trapezoidal_rule
+core.PlotData.CalculateRoc2	core.PlotData-module.html#CalculateRoc2
+core.PlotData.plotOverviewHist	core.PlotData-module.html#plotOverviewHist
+core.Prep	core.Prep-module.html
+core.Prep.isvalidtriplet	core.Prep-module.html#isvalidtriplet
+core.Prep.genetic_code	core.Prep-module.html#genetic_code
+core.Prep.__package__	core.Prep-module.html#__package__
+core.Prep.createdic	core.Prep-module.html#createdic
+core.Prep.loadpickle	core.Prep-module.html#loadpickle
+core.Prep.savepickle	core.Prep-module.html#savepickle
+core.Prep.trans_seq	core.Prep-module.html#trans_seq
+core.ReadAndWrite	core.ReadAndWrite-module.html
+core.ReadAndWrite.gethammingdistance	core.ReadAndWrite-module.html#gethammingdistance
+core.ReadAndWrite.writeoverview	core.ReadAndWrite-module.html#writeoverview
+core.ReadAndWrite.readdna	core.ReadAndWrite-module.html#readdna
+core.ReadAndWrite.writefile	core.ReadAndWrite-module.html#writefile
+core.ReadAndWrite.nucleotide_dist_seq	core.ReadAndWrite-module.html#nucleotide_dist_seq
+core.ReadAndWrite.__package__	core.ReadAndWrite-module.html#__package__
+core.ReadAndWrite.aa_dist_seq	core.ReadAndWrite-module.html#aa_dist_seq
+core.ReadAndWrite.nucleotide_dist_file	core.ReadAndWrite-module.html#nucleotide_dist_file
+script-arden_analyze	script-arden_analyze-module.html
+script-arden_analyze.__package__	script-arden_analyze-module.html#__package__
+script-arden_analyze.TestFiles	script-arden_analyze-module.html#TestFiles
+script-arden_analyze.main	script-arden_analyze-module.html#main
+script-arden_create	script-arden_create-module.html
+script-arden_create.a	script-arden_create-module.html#a
+script-arden_create.printExample	script-arden_create-module.html#printExample
+script-arden_create.Create	script-arden_create-module.html#Create
+script-arden_create.bases	script-arden_create-module.html#bases
+script-arden_create.b	script-arden_create-module.html#b
+script-arden_filter	script-arden_filter-module.html
+script-arden_filter.writeFilteredReads	script-arden_filter-module.html#writeFilteredReads
+script-arden_filter.readHeader	script-arden_filter-module.html#readHeader
+script-arden_filter.__package__	script-arden_filter-module.html#__package__
+script-arden_filter.filter	script-arden_filter-module.html#filter
+script-arden_filter.FilterSAM	script-arden_filter-module.html#FilterSAM
+script-arden_filter.counter2	script-arden_filter-module.html#counter2
+script-arden_filter.getMisGapRQ	script-arden_filter-module.html#getMisGapRQ
+script-arden_filter.counter1	script-arden_filter-module.html#counter1
+core.AnalyseMapping.CustomRead	core.AnalyseMapping.CustomRead-class.html
+core.AnalyseMapping.CustomRead.toStr	core.AnalyseMapping.CustomRead-class.html#toStr
+core.AnalyseMapping.CustomRead.toStrNoMem	core.AnalyseMapping.CustomRead-class.html#toStrNoMem
+core.AnalyseMapping.CustomRead.__init__	core.AnalyseMapping.CustomRead-class.html#__init__
+core.AnalyseMapping.CustomRead.toObjself	core.AnalyseMapping.CustomRead-class.html#toObjself
+core.AnalyseMapping.ReadID	core.AnalyseMapping.ReadID-class.html
+core.AnalyseMapping.ReadID.__init__	core.AnalyseMapping.ReadID-class.html#__init__
+core.AnalyseMapping.TPRead	core.AnalyseMapping.TPRead-class.html
+core.AnalyseMapping.TPRead.isContained	core.AnalyseMapping.TPRead-class.html#isContained
+core.AnalyseMapping.TPRead.toStr	core.AnalyseMapping.TPRead-class.html#toStr
+core.AnalyseMapping.TPRead.__init__	core.AnalyseMapping.TPRead-class.html#__init__
+core.AnalyseMapping.TPRead.toObjself	core.AnalyseMapping.TPRead-class.html#toObjself
diff --git a/doc/class-tree.html b/doc/class-tree.html
new file mode 100644
index 0000000..08168f9
--- /dev/null
+++ b/doc/class-tree.html
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Class Hierarchy</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Trees   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%"> </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="class-tree.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<center><b>
+ [ <a href="module-tree.html">Module Hierarchy</a>
+ | <a href="class-tree.html">Class Hierarchy</a> ]
+</b></center><br />
+<h1 class="epydoc">Class Hierarchy</h1>
+<ul class="nomargin-top">
+    <li> <strong class="uidlink"><a href="core.AnalyseMapping.CustomRead-class.html">core.AnalyseMapping.CustomRead</a></strong>:
+      <em class="summary">Class for exhaustive reading of the sam alignments.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="core.AnalyseMapping.ReadID-class.html">core.AnalyseMapping.ReadID</a></strong>:
+      <em class="summary">Class for efficient addressing for np.</em>
+    </li>
+    <li> <strong class="uidlink"><a href="core.AnalyseMapping.TPRead-class.html">core.AnalyseMapping.TPRead</a></strong>:
+      <em class="summary">Class for exhaustive reading of the sam alignments.</em>
+    </li>
+</ul>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Trees   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:17 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core-module.html b/doc/core-module.html
new file mode 100644
index 0000000..e1c7466
--- /dev/null
+++ b/doc/core-module.html
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Package core
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== PACKAGE DESCRIPTION ==================== -->
+<h1 class="epydoc">Package core</h1><p class="nomargin-top"><span class="codelink"><a href="core-pysrc.html">source code</a></span></p>
+<!-- ==================== SUBMODULES ==================== -->
+<a name="section-Submodules"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Submodules</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Submodules"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+  <tr><td class="summary">
+  <ul class="nomargin">
+    <li> <strong class="uidlink"><a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a></strong>: <em class="summary">This script is used to evalulate the mapping results</em>    </li>
+    <li> <strong class="uidlink"><a href="core.FindOrfs-module.html">core.FindOrfs</a></strong>: <em class="summary">FindOrfs, Created 2012</em>    </li>
+    <li> <strong class="uidlink"><a href="core.InsertMutations-module.html">core.InsertMutations</a></strong>: <em class="summary">Created 2012 core Script for the generation of the artificial 
+        reference genome</em>    </li>
+    <li> <strong class="uidlink"><a href="core.PlotData-module.html">core.PlotData</a></strong>: <em class="summary">Created  2012</em>    </li>
+    <li> <strong class="uidlink"><a href="core.Prep-module.html">core.Prep</a></strong>: <em class="summary">Created 2012</em>    </li>
+    <li> <strong class="uidlink"><a href="core.ReadAndWrite-module.html">core.ReadAndWrite</a></strong>: <em class="summary">Created 2012</em>    </li>
+  </ul></td></tr>
+</table>
+
+<br />
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core-pysrc.html b/doc/core-pysrc.html
new file mode 100644
index 0000000..fd0b7a6
--- /dev/null
+++ b/doc/core-pysrc.html
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Package core
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="core-module.html">Package core</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">1</tt>  <tt class="py-line"> </tt>
+<a name="L2"></a><tt class="py-lineno">2</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.AnalyseMapping-module.html b/doc/core.AnalyseMapping-module.html
new file mode 100644
index 0000000..0b4705c
--- /dev/null
+++ b/doc/core.AnalyseMapping-module.html
@@ -0,0 +1,1729 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.AnalyseMapping</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module AnalyseMapping
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.AnalyseMapping-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module AnalyseMapping</h1><p class="nomargin-top"><span class="codelink"><a href="core.AnalyseMapping-pysrc.html">source code</a></span></p>
+<p>This script is used to evalulate the mapping results</p>
+
+<!-- ==================== CLASSES ==================== -->
+<a name="section-Classes"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Classes</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Classes"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="core.AnalyseMapping.CustomRead-class.html" class="summary-name">CustomRead</a><br />
+      Class for exhaustive reading of the sam alignments.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="core.AnalyseMapping.TPRead-class.html" class="summary-name">TPRead</a><br />
+      Class for exhaustive reading of the sam alignments.
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="core.AnalyseMapping.ReadID-class.html" class="summary-name">ReadID</a><br />
+      Class for efficient addressing for np.
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="savepickle"></a><span class="summary-sig-name">savepickle</span>(<span class="summary-sig-arg">dictionaary</span>,
+        <span class="summary-sig-arg">outputname</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#savepickle">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="loadpickle"></a><span class="summary-sig-name">loadpickle</span>(<span class="summary-sig-arg">inputname</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#loadpickle">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">TPRead</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#getTPRead" class="summary-sig-name">getTPRead</a>(<span class="summary-sig-arg">alngt</span>,
+        <span class="summary-sig-arg">compareList</span>,
+        <span class="summary-sig-arg">readdic</span>)</span><br />
+      Funtion which transforms an HTSeq alignment to a TPRead class.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getTPRead">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">CustomRead</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#getCustomRead" class="summary-sig-name">getCustomRead</a>(<span class="summary-sig-arg">alngt</span>,
+        <span class="summary-sig-arg">compareList</span>,
+        <span class="summary-sig-arg">readdic</span>)</span><br />
+      Funtion which transforms an HTSeq alignment to a CustomRead class.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getCustomRead">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">dictionary</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#GetOrderDictionary" class="summary-sig-name">GetOrderDictionary</a>(<span class="summary-sig-arg">referenceSAM</span>)</span><br />
+      Function to get a dictionary containing the rank of a read (given a 
+      sorted samfile by readname, samtools).</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#GetOrderDictionary">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">Readobj</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#getNextLine" class="summary-sig-name">getNextLine</a>(<span class="summary-sig-arg">textfile</span>,
+        <span class="summary-sig-arg">compareList</span>,
+        <span class="summary-sig-arg">readdic</span>)</span><br />
+      Function which returns the next line from a SAMFile.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getNextLine">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">gaps,mismatches</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#getMisGap" class="summary-sig-name">getMisGap</a>(<span class="summary-sig-arg">mdtag</span>,
+        <span class="summary-sig-arg">cigar</span>)</span><br />
+      Reads the alignment tag given, the text and a tag to search for</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getMisGap">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">(bool,list,bool)</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#getAllID" class="summary-sig-name">getAllID</a>(<span class="summary-sig-arg">textfile</span>,
+        <span class="summary-sig-arg">read</span>,
+        <span class="summary-sig-arg">compareList</span>,
+        <span class="summary-sig-arg">readdic</span>)</span><br />
+      Reads all alignments for the current read which are in the SAM file 
+      (sorted).</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getAllID">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">np.array</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#CompareAlignments" class="summary-sig-name">CompareAlignments</a>(<span class="summary-sig-arg">reflist</span>,
+        <span class="summary-sig-arg">artlist</span>,
+        <span class="summary-sig-arg">file</span>)</span><br />
+      Compares alignments for the reference and artificial reference for a 
+      specific read id.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#CompareAlignments">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">read obj.</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#SkipHeader" class="summary-sig-name">SkipHeader</a>(<span class="summary-sig-arg">file</span>,
+        <span class="summary-sig-arg">compareList</span>,
+        <span class="summary-sig-arg">readdic</span>)</span><br />
+      Skips the header from a SAM file, but reads the first line of the 
+      alignment section.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#SkipHeader">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">int,int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#getRanks" class="summary-sig-name">getRanks</a>(<span class="summary-sig-arg">RefRead</span>,
+        <span class="summary-sig-arg">ArtRead</span>,
+        <span class="summary-sig-arg">rankdic</span>)</span><br />
+      Function which returns the ranks of 2 given readIDs (read from 
+      reference,read from artificial).</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getRanks">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">ranks</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#ReadSAMnoMem" class="summary-sig-name">ReadSAMnoMem</a>(<span class="summary-sig-arg">ref</span>,
+        <span class="summary-sig-arg">art</span>,
+        <span class="summary-sig-arg">output</span>,
+        <span class="summary-sig-arg">compareList</span>,
+        <span class="summary-sig-arg">readdic</span>,
+        <span class="summary-sig-arg">rankdic</span>)</span><br />
+      Main function for comparing to mappings.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#ReadSAMnoMem">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#getNumberOf" class="summary-sig-name">getNumberOf</a>(<span class="summary-sig-arg">line</span>,
+        <span class="summary-sig-arg">tag</span>)</span><br />
+      Reads the alignment tag, given the text and a tag to search for.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getNumberOf">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#getsum" class="summary-sig-name">getsum</a>(<span class="summary-sig-arg">strlist</span>)</span><br />
+      Sum of strings (as ints)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getsum">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">float</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#getmean" class="summary-sig-name">getmean</a>(<span class="summary-sig-arg">strlist</span>)</span><br />
+      Mean of strings.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getmean">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">float</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#ComputeRQScore" class="summary-sig-name">ComputeRQScore</a>(<span class="summary-sig-arg">quality</span>)</span><br />
+      Computes the ReadQualityScore given a quality string</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#ComputeRQScore">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#getAlignmentLength" class="summary-sig-name">getAlignmentLength</a>(<span class="summary-sig-arg">cigar</span>)</span><br />
+      Computes the alignment length given a cigar string.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getAlignmentLength">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">readobj, readname</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#isSaneAlignment" class="summary-sig-name">isSaneAlignment</a>(<span class="summary-sig-arg">alignment</span>,
+        <span class="summary-sig-arg">identifier</span>,
+        <span class="summary-sig-arg">compareList</span>,
+        <span class="summary-sig-arg">readdic</span>)</span><br />
+      Checks alignment line for unnecessary informations to skip</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#isSaneAlignment">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">bool</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#CheckForSameAlignments" class="summary-sig-name">CheckForSameAlignments</a>(<span class="summary-sig-arg">readref</span>,
+        <span class="summary-sig-arg">readart</span>)</span><br />
+      Function for comparison of artificial alignments and reference 
+      alignments.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#CheckForSameAlignments">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#getHammingdistance" class="summary-sig-name">getHammingdistance</a>(<span class="summary-sig-arg">CompareString</span>,
+        <span class="summary-sig-arg">start</span>,
+        <span class="summary-sig-arg">end</span>)</span><br />
+      Computes the number of subsitutions in the artificial reference using
+      the CompareString.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getHammingdistance">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">dictionary</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#readReadQualities" class="summary-sig-name">readReadQualities</a>(<span class="summary-sig-arg">fastqfile</span>)</span><br />
+      Reads a .fastqfile and calculates a defined readscore input: fastq 
+      file output: fastq dictionary key = readid; value = qualstr</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#readReadQualities">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">dictionary</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#extendReadDic" class="summary-sig-name">extendReadDic</a>(<span class="summary-sig-arg">readdic</span>)</span><br />
+      Extends a given dictionary with KEY = readid and VALUE = qualstr such
+      that an internal naming is generated which can be used to efficiently
+      create an numpy array</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#extendReadDic">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">string</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#returnSequence" class="summary-sig-name">returnSequence</a>(<span class="summary-sig-arg">fasta</span>)</span><br />
+      Returns a sequence string from a fasta file.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#returnSequence">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">list</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#CreateCompareList" class="summary-sig-name">CreateCompareList</a>(<span class="summary-sig-arg">Reference</span>,
+        <span class="summary-sig-arg">ARG</span>)</span><br />
+      Creates a list which is used for comparisons between aligned reads 
+      (exact number of mismatches)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#CreateCompareList">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">read obj.</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#readSAMline" class="summary-sig-name">readSAMline</a>(<span class="summary-sig-arg">alignment</span>,
+        <span class="summary-sig-arg">identifier</span>,
+        <span class="summary-sig-arg">compareList</span>,
+        <span class="summary-sig-arg">readdic</span>)</span><br />
+      Function for reading SAM alignment text file (one line)</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#readSAMline">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#returnIndex" class="summary-sig-name">returnIndex</a>(<span class="summary-sig-arg">readdic</span>,
+        <span class="summary-sig-arg">readname</span>)</span><br />
+      Returns the index of a read.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#returnIndex">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">array</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#ReadArtificialSAMfileHTSeq" class="summary-sig-name">ReadArtificialSAMfileHTSeq</a>(<span class="summary-sig-arg">art</span>,
+        <span class="summary-sig-arg">compareList</span>,
+        <span class="summary-sig-arg">RefArray</span>,
+        <span class="summary-sig-arg">readdic</span>)</span><br />
+      Function for reading the artificial reference genome using HTSeq.This
+      function is mainly used.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#ReadArtificialSAMfileHTSeq">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#writeToTabArt" class="summary-sig-name">writeToTabArt</a>(<span class="summary-sig-arg">ReadDic</span>,
+        <span class="summary-sig-arg">outfile</span>)</span><br />
+      Write function for hits ont he reference genome.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#writeToTabArt">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#writeToTabRef" class="summary-sig-name">writeToTabRef</a>(<span class="summary-sig-arg">RefArray</span>,
+        <span class="summary-sig-arg">outfile</span>,
+        <span class="summary-sig-arg">reverseReadArray</span>,
+        <span class="summary-sig-arg">ReadDic</span>)</span><br />
+      Write function for hits ont he reference genome.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#writeToTabRef">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">np.array(obj)</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#ReadFromTab" class="summary-sig-name">ReadFromTab</a>(<span class="summary-sig-arg">infile</span>,
+        <span class="summary-sig-arg">arraysize</span>)</span><br />
+      Reads the results from writeToTab in for plotting and analysis</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#ReadFromTab">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">files</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#readInput" class="summary-sig-name">readInput</a>(<span class="summary-sig-arg">file</span>)</span><br />
+      Function for reading in the controldictionary from the inputfile.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#readInput">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="GetCompletePath"></a><span class="summary-sig-name">GetCompletePath</span>(<span class="summary-sig-arg">path</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#GetCompletePath">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.AnalyseMapping-module.html#initOutFiles" class="summary-sig-name">initOutFiles</a>(<span class="summary-sig-arg">controlDic</span>,
+        <span class="summary-sig-arg">mapper</span>,
+        <span class="summary-sig-arg">outpath</span>)</span><br />
+      Since we append in the program, we need to make sure no old files 
+      remain...</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#initOutFiles">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="alngts"></a><span class="summary-name">alngts</span> = <code title="0">0</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="AlignedReadsdic"></a><span class="summary-name">AlignedReadsdic</span> = <code title="{}"><code class="variable-group">{</code><code class="variable-group">}</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="algnedToRef"></a><span class="summary-name">algnedToRef</span> = <code title="0">0</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="algnedToArt"></a><span class="summary-name">algnedToArt</span> = <code title="0">0</code><br />
+      Helper debug functions....
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'core'"><code class="variable-quote">'</code><code class="variable-string">core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="getTPRead"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getTPRead</span>(<span class="sig-arg">alngt</span>,
+        <span class="sig-arg">compareList</span>,
+        <span class="sig-arg">readdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getTPRead">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Funtion which transforms an HTSeq alignment to a TPRead class.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>alngt</code></strong> (alignment) - alignment from the sam file.</li>
+        <li><strong class="pname"><code>compareList</code></strong> (list) - list which indicates differences between reference / artificial</li>
+        <li><strong class="pname"><code>readdic</code></strong> (dictionary) - Contains ranks and qualities for every entry in the fastq file</li>
+    </ul></dd>
+    <dt>Returns: TPRead</dt>
+        <dd>Transformed ReadObject.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getCustomRead"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getCustomRead</span>(<span class="sig-arg">alngt</span>,
+        <span class="sig-arg">compareList</span>,
+        <span class="sig-arg">readdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getCustomRead">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Funtion which transforms an HTSeq alignment to a CustomRead class.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>alngt</code></strong> (alignment) - alignment from the sam file.</li>
+        <li><strong class="pname"><code>compareList</code></strong> (list) - list which indicates differences between reference / artificial</li>
+        <li><strong class="pname"><code>readdic</code></strong> (dictionary) - Contains ranks and qualities for every entry in the fastq file</li>
+    </ul></dd>
+    <dt>Returns: CustomRead</dt>
+        <dd>Transformed ReadObject.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="GetOrderDictionary"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">GetOrderDictionary</span>(<span class="sig-arg">referenceSAM</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#GetOrderDictionary">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Function to get a dictionary containing the rank of a read (given a 
+  sorted samfile by readname, samtools).</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>referenceSAM</code></strong> (string) - Inputfile name for reference SAM file.</li>
+    </ul></dd>
+    <dt>Returns: dictionary</dt>
+        <dd>Internalnaming according to the sorting of samtools. Key = 
+          ReadID, Value = rank</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getNextLine"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getNextLine</span>(<span class="sig-arg">textfile</span>,
+        <span class="sig-arg">compareList</span>,
+        <span class="sig-arg">readdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getNextLine">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Function which returns the next line from a SAMFile.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>textfile</code></strong> (fileobject stream) - SAMfile</li>
+        <li><strong class="pname"><code>compareList</code></strong> (list) - AA sequence of the reference genome.</li>
+        <li><strong class="pname"><code>readdic</code></strong> (Dictionary) - Boolean which decides if unbalanced mutations are allowed (only 
+          initial mutation is performed)</li>
+    </ul></dd>
+    <dt>Returns: Readobj</dt>
+        <dd>Parsed read from text line.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getMisGap"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getMisGap</span>(<span class="sig-arg">mdtag</span>,
+        <span class="sig-arg">cigar</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getMisGap">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Reads the alignment tag given, the text and a tag to search for</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>mdtag</code></strong> (string) - MDTag from alignment</li>
+        <li><strong class="pname"><code>cigar</code></strong> (string) - Cigar from alignment</li>
+    </ul></dd>
+    <dt>Returns: gaps,mismatches</dt>
+        <dd>Parsed gaps and mismatches</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getAllID"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getAllID</span>(<span class="sig-arg">textfile</span>,
+        <span class="sig-arg">read</span>,
+        <span class="sig-arg">compareList</span>,
+        <span class="sig-arg">readdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getAllID">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Reads all alignments for the current read which are in the SAM file 
+  (sorted). If a new read ID is scanned the results are returned.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>textfile</code></strong> (fileobject stream) - SAM file for reading.</li>
+        <li><strong class="pname"><code>read</code></strong> (read obj) - the last read obj which defines the current read id</li>
+        <li><strong class="pname"><code>readdic</code></strong> (dictionary) - Look up for quality values.</li>
+    </ul></dd>
+    <dt>Returns: (bool,list,bool)</dt>
+        <dd>a "triple", where 2 bools are defined as indicator 
+          variables and a list with all alignments for one read.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="CompareAlignments"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CompareAlignments</span>(<span class="sig-arg">reflist</span>,
+        <span class="sig-arg">artlist</span>,
+        <span class="sig-arg">file</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#CompareAlignments">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Compares alignments for the reference and artificial reference for a 
+  specific read id. The goal is to identify false positives.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>reflist</code></strong> (read obj list) - list containing alignments witht the same ID (reference)</li>
+        <li><strong class="pname"><code>artlist</code></strong> (read obj list) - list containing alignments witht the same ID (artificial)</li>
+    </ul></dd>
+    <dt>Returns: np.array</dt>
+        <dd>indices of unique alignments</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="SkipHeader"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">SkipHeader</span>(<span class="sig-arg">file</span>,
+        <span class="sig-arg">compareList</span>,
+        <span class="sig-arg">readdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#SkipHeader">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Skips the header from a SAM file, but reads the first line of the 
+  alignment section.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>file</code></strong> (read obj list) - list containing alignments witht the same ID (reference)</li>
+        <li><strong class="pname"><code>compareList</code></strong> (list) - list for accumulation of the same read id</li>
+        <li><strong class="pname"><code>readdic</code></strong> (dictionary) - dictionary containing read ID - read quality mappings.</li>
+    </ul></dd>
+    <dt>Returns: read obj.</dt>
+        <dd>Returns a read obj. from the SAM file.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getRanks"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getRanks</span>(<span class="sig-arg">RefRead</span>,
+        <span class="sig-arg">ArtRead</span>,
+        <span class="sig-arg">rankdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getRanks">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Function which returns the ranks of 2 given readIDs (read from 
+  reference,read from artificial).</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>RefRead</code></strong> (read obj) - read obj  (reference)</li>
+        <li><strong class="pname"><code>ArtRead</code></strong> (read obj) - read obj  (artificial)</li>
+        <li><strong class="pname"><code>rankdic</code></strong> (dictionary) - dictionary containing ranks of the read IDs (according to the 
+          sorted SAM files).</li>
+    </ul></dd>
+    <dt>Returns: int,int</dt>
+        <dd>returns the false positives and true positives for a SAM file 
+          pair (reference, artificial)</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="ReadSAMnoMem"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">ReadSAMnoMem</span>(<span class="sig-arg">ref</span>,
+        <span class="sig-arg">art</span>,
+        <span class="sig-arg">output</span>,
+        <span class="sig-arg">compareList</span>,
+        <span class="sig-arg">readdic</span>,
+        <span class="sig-arg">rankdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#ReadSAMnoMem">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Main function for comparing to mappings. This functions takes the 
+  complete alignments for artificial and reference genome and goes through 
+  them in parallel. Since the mappings are sorted the function alternates 
+  the parsing of the samfiles in such a way that no memory is used for 
+  comparing these functions.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>ref</code></strong> (string) - path to reference alignments (SAM file)</li>
+        <li><strong class="pname"><code>art</code></strong> (string) - path to artificial alignments (SAM file)</li>
+        <li><strong class="pname"><code>output</code></strong> (read obj) - read obj  (artificial)</li>
+        <li><strong class="pname"><code>compareList</code></strong> (read obj) - read obj  (artificial)</li>
+        <li><strong class="pname"><code>readdic</code></strong> (dictionary) - dictionary containing read ID - read quality mappings.</li>
+        <li><strong class="pname"><code>rankdic</code></strong> (dictionary) - dictionary containing ranks of the read IDs (according to the 
+          sorted SAM files).</li>
+    </ul></dd>
+    <dt>Returns: ranks</dt>
+        <dd>Returns the ranks for the 2 read ids.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getNumberOf"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getNumberOf</span>(<span class="sig-arg">line</span>,
+        <span class="sig-arg">tag</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getNumberOf">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Reads the alignment tag, given the text and a tag to search for.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>line</code></strong> (string) - SAM line</li>
+        <li><strong class="pname"><code>tag</code></strong> (string) - SAM tag. i.e: NM,MD</li>
+    </ul></dd>
+    <dt>Returns: int</dt>
+        <dd>number x behind desired tag tag:i:x</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getsum"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getsum</span>(<span class="sig-arg">strlist</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getsum">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Sum of strings (as ints)</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>strlist</code></strong> (list(str)) - SAM line</li>
+    </ul></dd>
+    <dt>Returns: int</dt>
+        <dd>MD tag calculation.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getmean"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getmean</span>(<span class="sig-arg">strlist</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getmean">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Mean of strings.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>strlist</code></strong> (list(str)) - SAM line</li>
+    </ul></dd>
+    <dt>Returns: float</dt>
+        <dd>mean</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="ComputeRQScore"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">ComputeRQScore</span>(<span class="sig-arg">quality</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#ComputeRQScore">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Computes the ReadQualityScore given a quality string</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>quality</code></strong> (string) - quality string of a read.</li>
+    </ul></dd>
+    <dt>Returns: float</dt>
+        <dd>ReadQualityScore (RQS)</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getAlignmentLength"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getAlignmentLength</span>(<span class="sig-arg">cigar</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getAlignmentLength">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Computes the alignment length given a cigar string. Needed for Start +
+  End calculation.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>cigar</code></strong> (string) - Cigar string (SAM)</li>
+    </ul></dd>
+    <dt>Returns: int</dt>
+        <dd>alignmentlength</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="isSaneAlignment"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">isSaneAlignment</span>(<span class="sig-arg">alignment</span>,
+        <span class="sig-arg">identifier</span>,
+        <span class="sig-arg">compareList</span>,
+        <span class="sig-arg">readdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#isSaneAlignment">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Checks alignment line for unnecessary informations to skip</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>alignment</code></strong> (string) - Line from SAM</li>
+        <li><strong class="pname"><code>identifier</code></strong> (string) - read id</li>
+        <li><strong class="pname"><code>compareList</code></strong> (list) - list of alignments with same read id.</li>
+        <li><strong class="pname"><code>readdic</code></strong> (dictionary) - Dictionary containg a read id; read quality mapping</li>
+    </ul></dd>
+    <dt>Returns: readobj, readname</dt>
+        <dd>Returns the read and it's identifier.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="CheckForSameAlignments"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CheckForSameAlignments</span>(<span class="sig-arg">readref</span>,
+        <span class="sig-arg">readart</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#CheckForSameAlignments">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Function for comparison of artificial alignments and reference 
+  alignments. FP are defined such that start and end position must be 
+  unique to the artificial reference returns 0 if no same read is found (FP
+  found) returns 1 if an equal alignment is found</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>readref</code></strong> (read obj.) - reference</li>
+        <li><strong class="pname"><code>readart</code></strong> (read obj.) - artificial</li>
+    </ul></dd>
+    <dt>Returns: bool</dt>
+        <dd>Indicator if alignment is the same (start & end equal)</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getHammingdistance"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getHammingdistance</span>(<span class="sig-arg">CompareString</span>,
+        <span class="sig-arg">start</span>,
+        <span class="sig-arg">end</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#getHammingdistance">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Computes the number of subsitutions in the artificial reference using 
+  the CompareString.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>CompareString</code></strong> (string) - string of 0 and 1s. 1 = hamming 1 between reference and 
+          artificial.</li>
+        <li><strong class="pname"><code>start</code></strong> (int) - start of alignment</li>
+        <li><strong class="pname"><code>end</code></strong> (int) - end ofalignment</li>
+    </ul></dd>
+    <dt>Returns: int</dt>
+        <dd>hamming distance</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="readReadQualities"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">readReadQualities</span>(<span class="sig-arg">fastqfile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#readReadQualities">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Reads a .fastqfile and calculates a defined readscore input: fastq 
+  file output: fastq dictionary key = readid; value = qualstr</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>fastqfile</code></strong> (string) - path to fastq file</li>
+    </ul></dd>
+    <dt>Returns: dictionary</dt>
+        <dd>dictionary containing read ids and read qualities.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="extendReadDic"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">extendReadDic</span>(<span class="sig-arg">readdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#extendReadDic">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Extends a given dictionary with KEY = readid and VALUE = qualstr such 
+  that an internal naming is generated which can be used to efficiently 
+  create an numpy array</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>readdic</code></strong> (dictionary) - dictionary containing read ids and read qualities.</li>
+    </ul></dd>
+    <dt>Returns: dictionary</dt>
+        <dd>extended readdic with KEY = ID, VALUE = READID object with 
+          READID.internalid and READID.qulstr = qualstr</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="returnSequence"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">returnSequence</span>(<span class="sig-arg">fasta</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#returnSequence">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Returns a sequence string from a fasta file.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>fasta</code></strong> (string) - path to fasta file.</li>
+    </ul></dd>
+    <dt>Returns: string</dt>
+        <dd>sequence</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="CreateCompareList"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">CreateCompareList</span>(<span class="sig-arg">Reference</span>,
+        <span class="sig-arg">ARG</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#CreateCompareList">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Creates a list which is used for comparisons between aligned reads 
+  (exact number of mismatches)</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>Reference</code></strong> (string) - reference genome</li>
+        <li><strong class="pname"><code>ARG</code></strong> (string) - artificial reference genome.</li>
+    </ul></dd>
+    <dt>Returns: list</dt>
+        <dd>list containt 1s, where there is a difference in the genomes and 
+          0s where the nucleotides are equal.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="readSAMline"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">readSAMline</span>(<span class="sig-arg">alignment</span>,
+        <span class="sig-arg">identifier</span>,
+        <span class="sig-arg">compareList</span>,
+        <span class="sig-arg">readdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#readSAMline">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Function for reading SAM alignment text file (one line)</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>alignment</code></strong> (string) - SAM alignment</li>
+        <li><strong class="pname"><code>identifier</code></strong> (string) - read id</li>
+        <li><strong class="pname"><code>compareList</code></strong> (list) - list containt 1s, where there is a difference in the genomes and 
+          0s where the nucleotides are equal.</li>
+        <li><strong class="pname"><code>readdic</code></strong> (dictionary) - dictionary containing read ids and read qualities.</li>
+    </ul></dd>
+    <dt>Returns: read obj.</dt>
+        <dd>returns a customRead object</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="returnIndex"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">returnIndex</span>(<span class="sig-arg">readdic</span>,
+        <span class="sig-arg">readname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#returnIndex">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Returns the index of a read. The index is prescribed by the ordering 
+  in the sam file.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>readname</code></strong> (string) - read id</li>
+        <li><strong class="pname"><code>readdic</code></strong> (dictionary) - dictionary containing read ids and read qualities.ArtRead</li>
+    </ul></dd>
+    <dt>Returns: int</dt>
+        <dd>index</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="ReadArtificialSAMfileHTSeq"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">ReadArtificialSAMfileHTSeq</span>(<span class="sig-arg">art</span>,
+        <span class="sig-arg">compareList</span>,
+        <span class="sig-arg">RefArray</span>,
+        <span class="sig-arg">readdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#ReadArtificialSAMfileHTSeq">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Function for reading the artificial reference genome using HTSeq.This 
+  function is mainly used. Only if no quality string is in the SAM line. 
+  The custom SAM reading function is used.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>art</code></strong> (string) - artificial file.</li>
+        <li><strong class="pname"><code>RefArray</code></strong> (array) - Results from reading the reference SAM file.</li>
+        <li><strong class="pname"><code>compareList</code></strong> (list) - list containt 1s, where there is a difference in the genomes and 
+          0s where the nucleotides are equal.</li>
+        <li><strong class="pname"><code>readdic</code></strong> (dictionary) - dictionary containing read ids and read qualities.</li>
+    </ul></dd>
+    <dt>Returns: array</dt>
+        <dd>aligned read objects in an array.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="writeToTabArt"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">writeToTabArt</span>(<span class="sig-arg">ReadDic</span>,
+        <span class="sig-arg">outfile</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#writeToTabArt">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Write function for hits ont he reference genome. Only the best 
+  alignment (least mismatches) Header : ReadID    MatchedReference     
+  Substitutions     NumberOfMismatches     ReadQuality     
+  MappingQuality</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>outfile</code></strong> (string) - Path to outfile.</li>
+        <li><strong class="pname"><code>ReadDic</code></strong> (dictionary) - dictionary containing read ids and read qualities.</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="writeToTabRef"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">writeToTabRef</span>(<span class="sig-arg">RefArray</span>,
+        <span class="sig-arg">outfile</span>,
+        <span class="sig-arg">reverseReadArray</span>,
+        <span class="sig-arg">ReadDic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#writeToTabRef">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Write function for hits ont he reference genome. Only the best 
+  alignment (least mismatches)</p>
+  <p>Header : ReadID    MatchedReference     Substitutions     
+  NumberOfMismatches     ReadQuality     MappingQuality rows in the 
+  infile</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>RefArray</code></strong> (string) - path to inputfile.</li>
+        <li><strong class="pname"><code>outfile</code></strong> (int) - rows in the infile</li>
+        <li><strong class="pname"><code>reverseReadArray</code></strong> (dictionary) - Contains reads = values and ranks = keys</li>
+        <li><strong class="pname"><code>ReadDic</code></strong> (dictionary) - dictionary containing read ids and read qualities.</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="ReadFromTab"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">ReadFromTab</span>(<span class="sig-arg">infile</span>,
+        <span class="sig-arg">arraysize</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#ReadFromTab">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Reads the results from writeToTab in for plotting and analysis</p>
+  <p>Header : ReadID    MatchedReference     Substitutions     
+  NumberOfMismatches     ReadQuality     MappingQuality</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>infile</code></strong> (string) - path to inputfile.</li>
+        <li><strong class="pname"><code>arraysize</code></strong> (int) - rows in the infile</li>
+    </ul></dd>
+    <dt>Returns: np.array(obj)</dt>
+        <dd>array for unique classified reads.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="readInput"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">readInput</span>(<span class="sig-arg">file</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#readInput">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Function for reading in the controldictionary from the inputfile.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>file</code></strong> (string) - Path to the input file.</li>
+    </ul></dd>
+    <dt>Returns: files</dt>
+        <dd>Controldictionary which is used to regulate the programs 
+          workflow.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="initOutFiles"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">initOutFiles</span>(<span class="sig-arg">controlDic</span>,
+        <span class="sig-arg">mapper</span>,
+        <span class="sig-arg">outpath</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#initOutFiles">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Since we append in the program, we need to make sure no old files 
+  remain...</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>controlDic</code></strong> (dictionary) - dictionary containing future filenames.</li>
+        <li><strong class="pname"><code>mapper</code></strong> (string) - current identifier mapper for which the results are written</li>
+        <li><strong class="pname"><code>outpath</code></strong> (string) - existing path, where the outfiles will be written.</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.AnalyseMapping-pysrc.html b/doc/core.AnalyseMapping-pysrc.html
new file mode 100644
index 0000000..6c0badf
--- /dev/null
+++ b/doc/core.AnalyseMapping-pysrc.html
@@ -0,0 +1,1302 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.AnalyseMapping</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module AnalyseMapping
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.AnalyseMapping-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="core.AnalyseMapping-module.html">Module core.AnalyseMapping</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">   1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">   2</tt>  <tt class="py-line"><tt class="py-docstring">""" This script is used to evalulate the mapping results """</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">   3</tt>  <tt class="py-line"> </tt>
+<a name="L4"></a><tt class="py-lineno">   4</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">HTSeq</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">   5</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">cPickle</tt> <tt class="py-keyword">as</tt> <tt class="py-name">pickle</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">   6</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> <tt class="py-keyword">as</tt> <tt class="py-name">np</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">   7</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">   8</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">sys</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">   9</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">re</tt> </tt>
+<a name="L10"></a><tt class="py-lineno">  10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">subprocess</tt> </tt>
+<a name="L11"></a><tt class="py-lineno">  11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">random</tt>  </tt>
+<a name="L12"></a><tt class="py-lineno">  12</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L13"></a><tt class="py-lineno">  13</tt>  <tt class="py-line"> </tt>
+<a name="L14"></a><tt class="py-lineno">  14</tt>  <tt class="py-line"> </tt>
+<a name="L15"></a><tt class="py-lineno">  15</tt>  <tt class="py-line"> </tt>
+<a name="L16"></a><tt class="py-lineno">  16</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable core.AnalyseMapping.alngts=core.AnalyseMapping-module.html#alngts"><a title="core.AnalyseMapping.alngts" class="py-name" href="#" onclick="return doclink('link-0', 'alngts', 'link-0');">alngts</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L17"></a><tt class="py-lineno">  17</tt>  <tt class="py-line"><tt id="link-1" class="py-name" targets="Variable core.AnalyseMapping.AlignedReadsdic=core.AnalyseMapping-module.html#AlignedReadsdic"><a title="core.AnalyseMapping.AlignedReadsdic" class="py-name" href="#" onclick="return doclink('link-1', 'AlignedReadsdic', 'link-1');">AlignedReadsdic</a></tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L18"></a><tt class="py-lineno">  18</tt>  <tt class="py-line"><tt id="link-2" class="py-name" targets="Variable core.AnalyseMapping.algnedToRef=core.AnalyseMapping-module.html#algnedToRef"><a title="core.AnalyseMapping.algnedToRef" class="py-name" href="#" onclick="return doclink('link-2', 'algnedToRef', 'link-2');">algnedToRef</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L19"></a><tt class="py-lineno">  19</tt>  <tt class="py-line"><tt id="link-3" class="py-name" targets="Variable core.AnalyseMapping.algnedToArt=core.AnalyseMapping-module.html#algnedToArt"><a title="core.AnalyseMapping.algnedToArt" class="py-name" href="#" onclick="return doclink('link-3', 'algnedToArt', 'link-3');">algnedToArt</a></tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L20"></a><tt class="py-lineno">  20</tt>  <tt class="py-line"> </tt>
+<a name="L21"></a><tt class="py-lineno">  21</tt>  <tt class="py-line"><tt class="py-string">""" Helper debug functions.... """</tt> </tt>
+<a name="savepickle"></a><div id="savepickle-def"><a name="L22"></a><tt class="py-lineno">  22</tt> <a class="py-toggle" href="#" id="savepickle-toggle" onclick="return toggle('savepickle');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#savepickle">savepickle</a><tt class="py-op">(</tt><tt class="py-param">dictionaary</tt><tt class="py-op">,</tt> <tt class="py-param">outputname</tt><tt class="py-op">)</tt><tt class= [...]
+</div><div id="savepickle-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="savepickle-expanded"><a name="L23"></a><tt class="py-lineno">  23</tt>  <tt class="py-line">    <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt class="py-name">dump</tt><tt class="py-op">(</tt><tt class="py-name">dictionaary</tt><tt class="py-op">,</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">outputname</tt> <tt class="py-op">+</tt> <tt class="py- [...]
+<a name="L24"></a><tt class="py-lineno">  24</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Saved .pickle!"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L25"></a><tt class="py-lineno">  25</tt>  <tt class="py-line"> </tt>
+<a name="loadpickle"></a><div id="loadpickle-def"><a name="L26"></a><tt class="py-lineno">  26</tt> <a class="py-toggle" href="#" id="loadpickle-toggle" onclick="return toggle('loadpickle');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#loadpickle">loadpickle</a><tt class="py-op">(</tt><tt class="py-param">inputname</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="loadpickle-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="loadpickle-expanded"><a name="L27"></a><tt class="py-lineno">  27</tt>  <tt class="py-line">    <tt class="py-name">dictionary</tt> <tt class="py-op">=</tt> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt class="py-name">load</tt><tt class="py-op">(</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">inputname</tt> <tt class="py-op">+</tt> <tt class="py-s [...]
+<a name="L28"></a><tt class="py-lineno">  28</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Loaded "</tt> <tt class="py-op">+</tt> <tt class="py-name">inputname</tt> <tt class="py-op">+</tt> <tt class="py-string">".pickle!"</tt><tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno">  29</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">dictionary</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L30"></a><tt class="py-lineno">  30</tt>  <tt class="py-line">     </tt>
+<a name="L31"></a><tt class="py-lineno">  31</tt>  <tt class="py-line"> </tt>
+<a name="CustomRead"></a><div id="CustomRead-def"><a name="L32"></a><tt class="py-lineno">  32</tt> <a class="py-toggle" href="#" id="CustomRead-toggle" onclick="return toggle('CustomRead');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="core.AnalyseMapping.CustomRead-class.html">CustomRead</a><tt class="py-op">:</tt> </tt>
+</div><div id="CustomRead-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="CustomRead-expanded"><a name="L33"></a><tt class="py-lineno">  33</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L34"></a><tt class="py-lineno">  34</tt>  <tt class="py-line"><tt class="py-docstring">    Class for exhaustive reading of the sam alignments.</tt> </tt>
+<a name="L35"></a><tt class="py-lineno">  35</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L36"></a><tt class="py-lineno">  36</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L37"></a><tt class="py-lineno">  37</tt>  <tt class="py-line">     </tt>
+<a name="CustomRead.__init__"></a><div id="CustomRead.__init__-def"><a name="L38"></a><tt class="py-lineno">  38</tt> <a class="py-toggle" href="#" id="CustomRead.__init__-toggle" onclick="return toggle('CustomRead.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping.CustomRead-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">readname</ [...]
+</div><div id="CustomRead.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="CustomRead.__init__-expanded"><a name="L39"></a><tt class="py-lineno">  39</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-op">=</tt> <tt class="py-name">readname</tt>      <tt class="py-comment"># read identifier </tt> </tt>
+<a name="L40"></a><tt class="py-lineno">  40</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mr</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">mr</tt><tt class="py-op">]</tt>          <tt class="py-comment"># matched reference</tt> </tt>
+<a name="L41"></a><tt class="py-lineno">  41</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-name">subs</tt><tt class="py-op">]</tt>       <tt class="py-comment"># substitutions in artificial reference genome</tt> </tt>
+<a name="L42"></a><tt class="py-lineno">  42</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">nm</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">nm</tt><tt class="py-op">]</tt>          <tt class="py-comment"># number of mismatches (according to SAM)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno">  43</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rq</tt> <tt class="py-op">=</tt> <tt class="py-name">score</tt>         <tt class="py-comment"># read quality score</tt> </tt>
+<a name="L44"></a><tt class="py-lineno">  44</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mq</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">mq</tt><tt class="py-op">]</tt>          <tt class="py-comment"># mapping quality</tt> </tt>
+<a name="L45"></a><tt class="py-lineno">  45</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">start</tt><tt class="py-op">]</tt>    <tt class="py-comment"># alignment start</tt> </tt>
+<a name="L46"></a><tt class="py-lineno">  46</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">end</tt><tt class="py-op">]</tt>        <tt class="py-comment"># alignment end</tt> </tt>
+<a name="L47"></a><tt class="py-lineno">  47</tt>  <tt class="py-line">                                    <tt class="py-comment">#mr,nm,subs,score,mq,start,end</tt> </tt>
+<a name="L48"></a><tt class="py-lineno">  48</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">gaps</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">gaps</tt><tt class="py-op">]</tt> </tt>
+<a name="L49"></a><tt class="py-lineno">  49</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mism</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">mism</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L50"></a><tt class="py-lineno">  50</tt>  <tt class="py-line">         </tt>
+<a name="CustomRead.toObjself"></a><div id="CustomRead.toObjself-def"><a name="L51"></a><tt class="py-lineno">  51</tt> <a class="py-toggle" href="#" id="CustomRead.toObjself-toggle" onclick="return toggle('CustomRead.toObjself');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping.CustomRead-class.html#toObjself">toObjself</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">read [...]
+</div><a name="L52"></a><tt class="py-lineno">  52</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mr</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">mr</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>           </tt>
+<a name="L53"></a><tt class="py-lineno">  53</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">subs</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>      </tt>
+<a name="L54"></a><tt class="py-lineno">  54</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">nm</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">nm</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>          </tt>
+<a name="L55"></a><tt class="py-lineno">  55</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mq</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">mq</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>           </tt>
+<a name="L56"></a><tt class="py-lineno">  56</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>      </tt>
+<a name="L57"></a><tt class="py-lineno">  57</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">end</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>        </tt>
+<a name="L58"></a><tt class="py-lineno">  58</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">gaps</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">gaps</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno">  59</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mism</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">mism</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L60"></a><tt class="py-lineno">  60</tt>  <tt class="py-line">         </tt>
+<a name="CustomRead.toStr"></a><div id="CustomRead.toStr-def"><a name="L61"></a><tt class="py-lineno">  61</tt> <a class="py-toggle" href="#" id="CustomRead.toStr-toggle" onclick="return toggle('CustomRead.toStr');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping.CustomRead-class.html#toStr">toStr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">readname</tt><tt class="py-o [...]
+</div><a name="L62"></a><tt class="py-lineno">  62</tt>  <tt class="py-line">        <tt class="py-docstring">"""Converts the object to a string """</tt> </tt>
+<a name="L63"></a><tt class="py-lineno">  63</tt>  <tt class="py-line">        <tt class="py-name">str</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L64"></a><tt class="py-lineno">  64</tt>  <tt class="py-line"> </tt>
+<a name="L65"></a><tt class="py-lineno">  65</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">read</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mr</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L66"></a><tt class="py-lineno">  66</tt>  <tt class="py-line">            <tt class="py-comment">#print read</tt> </tt>
+<a name="L67"></a><tt class="py-lineno">  67</tt>  <tt class="py-line">            <tt class="py-name">str</tt> <tt class="py-op">+=</tt> <tt class="py-string">"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">readname</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mr</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">,</ [...]
+<a name="L68"></a><tt class="py-lineno">  68</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L69"></a><tt class="py-lineno">  69</tt>  <tt class="py-line">     </tt>
+<a name="CustomRead.toStrNoMem"></a><div id="CustomRead.toStrNoMem-def"><a name="L70"></a><tt class="py-lineno">  70</tt> <a class="py-toggle" href="#" id="CustomRead.toStrNoMem-toggle" onclick="return toggle('CustomRead.toStrNoMem');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping.CustomRead-class.html#toStrNoMem">toStrNoMem</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param [...]
+</div><a name="L71"></a><tt class="py-lineno">  71</tt>  <tt class="py-line">        <tt class="py-docstring">"""Converts the object to a string """</tt> </tt>
+<a name="L72"></a><tt class="py-lineno">  72</tt>  <tt class="py-line"> </tt>
+<a name="L73"></a><tt class="py-lineno">  73</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">identifier</tt> <tt class="py-op">==</tt> <tt class="py-string">"art"</tt><tt class="py-op">:</tt> </tt>
+<a name="L74"></a><tt class="py-lineno">  74</tt>  <tt class="py-line">            <tt class="py-name">str</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">sub [...]
+<a name="L75"></a><tt class="py-lineno">  75</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L76"></a><tt class="py-lineno">  76</tt>  <tt class="py-line">            <tt class="py-name">str</tt> <tt class="py-op">=</tt> <tt class="py-string">"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">sel [...]
+<a name="L77"></a><tt class="py-lineno">  77</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L78"></a><tt class="py-lineno">  78</tt>  <tt class="py-line">         </tt>
+<a name="L79"></a><tt class="py-lineno">  79</tt>  <tt class="py-line">         </tt>
+<a name="L80"></a><tt class="py-lineno">  80</tt>  <tt class="py-line"> </tt>
+<a name="TPRead"></a><div id="TPRead-def"><a name="L81"></a><tt class="py-lineno">  81</tt> <a class="py-toggle" href="#" id="TPRead-toggle" onclick="return toggle('TPRead');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="core.AnalyseMapping.TPRead-class.html">TPRead</a><tt class="py-op">:</tt> </tt>
+</div><div id="TPRead-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="TPRead-expanded"><a name="L82"></a><tt class="py-lineno">  82</tt>  <tt class="py-line">    <tt class="py-docstring">""" Class for exhaustive reading of the sam alignments. Only for TP """</tt> </tt>
+<a name="TPRead.__init__"></a><div id="TPRead.__init__-def"><a name="L83"></a><tt class="py-lineno">  83</tt> <a class="py-toggle" href="#" id="TPRead.__init__-toggle" onclick="return toggle('TPRead.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping.TPRead-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">nm</tt><tt class="py-op">,</tt [...]
+</div><div id="TPRead.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TPRead.__init__-expanded"><a name="L84"></a><tt class="py-lineno">  84</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">nm</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">nm</tt><tt class="py-op">]</tt>       <tt class="py-comment"># number of mismatches (according to SAM)</tt> </tt>
+<a name="L85"></a><tt class="py-lineno">  85</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">rq</tt> <tt class="py-op">=</tt> <tt class="py-name">score</tt>                  <tt class="py-comment"># read quality score</tt> </tt>
+<a name="L86"></a><tt class="py-lineno">  86</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mq</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">mq</tt><tt class="py-op">]</tt>      <tt class="py-comment"># mapping quality</tt> </tt>
+<a name="L87"></a><tt class="py-lineno">  87</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">start</tt><tt class="py-op">]</tt> <tt class="py-comment"># alignment start</tt> </tt>
+<a name="L88"></a><tt class="py-lineno">  88</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">end</tt><tt class="py-op">]</tt>    <tt class="py-comment"># alignment end</tt> </tt>
+<a name="L89"></a><tt class="py-lineno">  89</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">gaps</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">gaps</tt><tt class="py-op">]</tt> </tt>
+<a name="L90"></a><tt class="py-lineno">  90</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mism</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">mism</tt><tt class="py-op">]</tt> </tt>
+</div><a name="L91"></a><tt class="py-lineno">  91</tt>  <tt class="py-line">         </tt>
+<a name="TPRead.toObjself"></a><div id="TPRead.toObjself-def"><a name="L92"></a><tt class="py-lineno">  92</tt> <a class="py-toggle" href="#" id="TPRead.toObjself-toggle" onclick="return toggle('TPRead.toObjself');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping.TPRead-class.html#toObjself">toObjself</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">read</tt><tt class="py-o [...]
+</div><a name="L93"></a><tt class="py-lineno">  93</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">nm</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">nm</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>          </tt>
+<a name="L94"></a><tt class="py-lineno">  94</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mq</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">mq</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>           </tt>
+<a name="L95"></a><tt class="py-lineno">  95</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>      </tt>
+<a name="L96"></a><tt class="py-lineno">  96</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">end</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>    </tt>
+<a name="L97"></a><tt class="py-lineno">  97</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">gaps</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt> <tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">gaps</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno">  98</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mism</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">mism</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>    </tt>
+</div><a name="L99"></a><tt class="py-lineno">  99</tt>  <tt class="py-line"> </tt>
+<a name="TPRead.toStr"></a><div id="TPRead.toStr-def"><a name="L100"></a><tt class="py-lineno"> 100</tt> <a class="py-toggle" href="#" id="TPRead.toStr-toggle" onclick="return toggle('TPRead.toStr');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping.TPRead-class.html#toStr">toStr</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">readname</tt><tt class="py-op">)</tt><tt class= [...]
+</div><a name="L101"></a><tt class="py-lineno"> 101</tt>  <tt class="py-line">        <tt class="py-name">str</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L102"></a><tt class="py-lineno"> 102</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">read</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">mr</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno"> 103</tt>  <tt class="py-line">            <tt class="py-name">str</tt> <tt class="py-op">+=</tt> <tt class="py-string">"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">readname</tt><tt class="py-op">,</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">nm</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt [...]
+<a name="L104"></a><tt class="py-lineno"> 104</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L105"></a><tt class="py-lineno"> 105</tt>  <tt class="py-line">         </tt>
+<a name="L106"></a><tt class="py-lineno"> 106</tt>  <tt class="py-line">    <tt class="py-string">""" returns 1 if an equal alignment is contained in the array """</tt> </tt>
+<a name="TPRead.isContained"></a><div id="TPRead.isContained-def"><a name="L107"></a><tt class="py-lineno"> 107</tt> <a class="py-toggle" href="#" id="TPRead.isContained-toggle" onclick="return toggle('TPRead.isContained');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping.TPRead-class.html#isContained">isContained</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">read</tt><t [...]
+</div><div id="TPRead.isContained-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="TPRead.isContained-expanded"><a name="L108"></a><tt class="py-lineno"> 108</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">position</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py [...]
+<a name="L109"></a><tt class="py-lineno"> 109</tt>  <tt class="py-line">            <tt class="py-comment"># Checks if a given Read (more accurate the alignment) is already in the object. this is used to check against FP</tt> </tt>
+<a name="L110"></a><tt class="py-lineno"> 110</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">position</tt> <tt class="py-op">==</tt> <tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">start</tt> <tt class="py-keyword">and</tt> <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">end</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name" [...]
+<a name="L111"></a><tt class="py-lineno"> 111</tt>  <tt class="py-line">                <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L112"></a><tt class="py-lineno"> 112</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+</div></div><a name="L113"></a><tt class="py-lineno"> 113</tt>  <tt class="py-line">     </tt>
+<a name="L114"></a><tt class="py-lineno"> 114</tt>  <tt class="py-line"> </tt>
+<a name="ReadID"></a><div id="ReadID-def"><a name="L115"></a><tt class="py-lineno"> 115</tt> <a class="py-toggle" href="#" id="ReadID-toggle" onclick="return toggle('ReadID');">-</a><tt class="py-line"><tt class="py-keyword">class</tt> <a class="py-def-name" href="core.AnalyseMapping.ReadID-class.html">ReadID</a><tt class="py-op">:</tt> </tt>
+</div><div id="ReadID-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ReadID-expanded"><a name="L116"></a><tt class="py-lineno"> 116</tt>  <tt class="py-line">    <tt class="py-docstring">""" Class for efficient addressing for np. arrays! """</tt> </tt>
+<a name="ReadID.__init__"></a><div id="ReadID.__init__-def"><a name="L117"></a><tt class="py-lineno"> 117</tt> <a class="py-toggle" href="#" id="ReadID.__init__-toggle" onclick="return toggle('ReadID.__init__');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping.ReadID-class.html#__init__">__init__</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">internalID</tt><tt class="py- [...]
+</div><div id="ReadID.__init__-collapsed" style="display:none;" pad="++++" indent="++++++++"></div><div id="ReadID.__init__-expanded"><a name="L118"></a><tt class="py-lineno"> 118</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">internalID</tt> <tt class="py-op">=</tt> <tt class="py-name">internalID</tt> </tt>
+<a name="L119"></a><tt class="py-lineno"> 119</tt>  <tt class="py-line">        <tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">quality</tt> <tt class="py-op">=</tt> <tt class="py-name">quality</tt> </tt>
+</div></div><a name="L120"></a><tt class="py-lineno"> 120</tt>  <tt class="py-line"> </tt>
+<a name="L121"></a><tt class="py-lineno"> 121</tt>  <tt class="py-line"> </tt>
+<a name="L122"></a><tt class="py-lineno"> 122</tt>  <tt class="py-line"><tt class="py-comment">############################################# CLASSES END###########################################</tt> </tt>
+<a name="L123"></a><tt class="py-lineno"> 123</tt>  <tt class="py-line"> </tt>
+<a name="L124"></a><tt class="py-lineno"> 124</tt>  <tt class="py-line"> </tt>
+<a name="getTPRead"></a><div id="getTPRead-def"><a name="L125"></a><tt class="py-lineno"> 125</tt> <a class="py-toggle" href="#" id="getTPRead-toggle" onclick="return toggle('getTPRead');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#getTPRead">getTPRead</a><tt class="py-op">(</tt><tt class="py-param">alngt</tt><tt class="py-op">,</tt> <tt class="py-param">compareList</tt><tt class="py-op">,</tt> <tt class="py-param [...]
+</div><div id="getTPRead-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="getTPRead-expanded"><a name="L126"></a><tt class="py-lineno"> 126</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L127"></a><tt class="py-lineno"> 127</tt>  <tt class="py-line"><tt class="py-docstring">    Funtion which transforms an HTSeq alignment to a TPRead class.</tt> </tt>
+<a name="L128"></a><tt class="py-lineno"> 128</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L129"></a><tt class="py-lineno"> 129</tt>  <tt class="py-line"><tt class="py-docstring">    @type  alngt: alignment</tt> </tt>
+<a name="L130"></a><tt class="py-lineno"> 130</tt>  <tt class="py-line"><tt class="py-docstring">    @param alngt: alignment from the sam file.</tt> </tt>
+<a name="L131"></a><tt class="py-lineno"> 131</tt>  <tt class="py-line"><tt class="py-docstring">    @type  compareList: list</tt> </tt>
+<a name="L132"></a><tt class="py-lineno"> 132</tt>  <tt class="py-line"><tt class="py-docstring">    @param compareList: list which indicates differences between reference / artificial</tt> </tt>
+<a name="L133"></a><tt class="py-lineno"> 133</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readdic: dictionary</tt> </tt>
+<a name="L134"></a><tt class="py-lineno"> 134</tt>  <tt class="py-line"><tt class="py-docstring">    @param readdic: Contains ranks and qualities for every entry in the fastq file</tt> </tt>
+<a name="L135"></a><tt class="py-lineno"> 135</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L136"></a><tt class="py-lineno"> 136</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   TPRead</tt> </tt>
+<a name="L137"></a><tt class="py-lineno"> 137</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Transformed ReadObject.</tt> </tt>
+<a name="L138"></a><tt class="py-lineno"> 138</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L139"></a><tt class="py-lineno"> 139</tt>  <tt class="py-line">    <tt class="py-name">cigar</tt> <tt class="py-op">=</tt> <tt class="py-name">alngt</tt><tt class="py-op">.</tt><tt class="py-name">cigar</tt> </tt>
+<a name="L140"></a><tt class="py-lineno"> 140</tt>  <tt class="py-line">    <tt class="py-name">gaps</tt>  <tt class="py-op">=</tt> <tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">cigar</tt> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><t [...]
+<a name="L141"></a><tt class="py-lineno"> 141</tt>  <tt class="py-line">    <tt class="py-name">mism</tt> <tt class="py-op">=</tt> <tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">cigar</tt> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt [...]
+<a name="L142"></a><tt class="py-lineno"> 142</tt>  <tt class="py-line">    <tt class="py-name">nm</tt> <tt class="py-op">=</tt> <tt class="py-name">alngt</tt><tt class="py-op">.</tt><tt class="py-name">optional_field</tt><tt class="py-op">(</tt><tt class="py-string">"NM"</tt><tt class="py-op">)</tt> </tt>
+<a name="L143"></a><tt class="py-lineno"> 143</tt>  <tt class="py-line">     </tt>
+<a name="L144"></a><tt class="py-lineno"> 144</tt>  <tt class="py-line">    <tt class="py-comment">#####->TPRead(nm, score, mq, start, end, gaps, mism, n)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno"> 145</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt id="link-4" class="py-name" targets="Class core.AnalyseMapping.TPRead=core.AnalyseMapping.TPRead-class.html"><a title="core.AnalyseMapping.TPRead" class="py-name" href="#" onclick="return doclink('link-4', 'TPRead', 'link-4');">TPRead</a></tt><tt class="py-op">(</tt><tt class="py-name">nm</tt><tt class="py-op">,</tt> <tt class="py-name">readdic</tt><t [...]
+</div><a name="L146"></a><tt class="py-lineno"> 146</tt>  <tt class="py-line">     </tt>
+<a name="getCustomRead"></a><div id="getCustomRead-def"><a name="L147"></a><tt class="py-lineno"> 147</tt> <a class="py-toggle" href="#" id="getCustomRead-toggle" onclick="return toggle('getCustomRead');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#getCustomRead">getCustomRead</a><tt class="py-op">(</tt><tt class="py-param">alngt</tt><tt class="py-op">,</tt> <tt class="py-param">compareList</tt><tt class="py-op">,< [...]
+</div><div id="getCustomRead-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="getCustomRead-expanded"><a name="L148"></a><tt class="py-lineno"> 148</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L149"></a><tt class="py-lineno"> 149</tt>  <tt class="py-line"><tt class="py-docstring">    Funtion which transforms an HTSeq alignment to a CustomRead class.</tt> </tt>
+<a name="L150"></a><tt class="py-lineno"> 150</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L151"></a><tt class="py-lineno"> 151</tt>  <tt class="py-line"><tt class="py-docstring">    @type  alngt: alignment</tt> </tt>
+<a name="L152"></a><tt class="py-lineno"> 152</tt>  <tt class="py-line"><tt class="py-docstring">    @param alngt: alignment from the sam file.</tt> </tt>
+<a name="L153"></a><tt class="py-lineno"> 153</tt>  <tt class="py-line"><tt class="py-docstring">    @type  compareList: list</tt> </tt>
+<a name="L154"></a><tt class="py-lineno"> 154</tt>  <tt class="py-line"><tt class="py-docstring">    @param compareList: list which indicates differences between reference / artificial</tt> </tt>
+<a name="L155"></a><tt class="py-lineno"> 155</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readdic: dictionary</tt> </tt>
+<a name="L156"></a><tt class="py-lineno"> 156</tt>  <tt class="py-line"><tt class="py-docstring">    @param readdic: Contains ranks and qualities for every entry in the fastq file</tt> </tt>
+<a name="L157"></a><tt class="py-lineno"> 157</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L158"></a><tt class="py-lineno"> 158</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   CustomRead</tt> </tt>
+<a name="L159"></a><tt class="py-lineno"> 159</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Transformed ReadObject.</tt> </tt>
+<a name="L160"></a><tt class="py-lineno"> 160</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L161"></a><tt class="py-lineno"> 161</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L162"></a><tt class="py-lineno"> 162</tt>  <tt class="py-line">    <tt class="py-name">cigar</tt> <tt class="py-op">=</tt> <tt class="py-name">alngt</tt><tt class="py-op">.</tt><tt class="py-name">cigar</tt> </tt>
+<a name="L163"></a><tt class="py-lineno"> 163</tt>  <tt class="py-line">    <tt class="py-comment"># number of gaps is the sum of "I" (insertions) and "D" deletions.</tt> </tt>
+<a name="L164"></a><tt class="py-lineno"> 164</tt>  <tt class="py-line">    <tt class="py-name">gaps</tt>  <tt class="py-op">=</tt> <tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">cigar</tt> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><t [...]
+<a name="L165"></a><tt class="py-lineno"> 165</tt>  <tt class="py-line">     </tt>
+<a name="L166"></a><tt class="py-lineno"> 166</tt>  <tt class="py-line">    <tt class="py-comment"># mismatches are calculated as cigar XM - MDtag occurrences of numbers</tt> </tt>
+<a name="L167"></a><tt class="py-lineno"> 167</tt>  <tt class="py-line">    <tt class="py-comment"># which indicate mismatches</tt> </tt>
+<a name="L168"></a><tt class="py-lineno"> 168</tt>  <tt class="py-line">    <tt class="py-name">mism</tt> <tt class="py-op">=</tt> <tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">.</tt><tt class="py-name">size</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">cigar</tt> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">.</tt><tt [...]
+<a name="L169"></a><tt class="py-lineno"> 169</tt>  <tt class="py-line">     </tt>
+<a name="L170"></a><tt class="py-lineno"> 170</tt>  <tt class="py-line">     </tt>
+<a name="L171"></a><tt class="py-lineno"> 171</tt>  <tt class="py-line">    <tt class="py-name">nm</tt> <tt class="py-op">=</tt> <tt class="py-name">alngt</tt><tt class="py-op">.</tt><tt class="py-name">optional_field</tt><tt class="py-op">(</tt><tt class="py-string">"NM"</tt><tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno"> 172</tt>  <tt class="py-line"> </tt>
+<a name="L173"></a><tt class="py-lineno"> 173</tt>  <tt class="py-line">    <tt class="py-comment">########</tt> </tt>
+<a name="L174"></a><tt class="py-lineno"> 174</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">alngt</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">qualstr</tt><tt class="py-op">)</tt> <tt class="py-op"><=</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L175"></a><tt class="py-lineno"> 175</tt>  <tt class="py-line">        </tt>
+<a name="L176"></a><tt class="py-lineno"> 176</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt id="link-6" class="py-name" targets="Class core.AnalyseMapping.CustomRead=core.AnalyseMapping.CustomRead-class.html"><a title="core.AnalyseMapping.CustomRead" class="py-name" href="#" onclick="return doclink('link-6', 'CustomRead', 'link-6');">CustomRead</a></tt><tt class="py-op">(</tt><tt class="py-name">alngt</tt><tt class="py-op">.</tt><tt clas [...]
+<a name="L177"></a><tt class="py-lineno"> 177</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L178"></a><tt class="py-lineno"> 178</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt id="link-8" class="py-name"><a title="core.AnalyseMapping.CustomRead" class="py-name" href="#" onclick="return doclink('link-8', 'CustomRead', 'link-6');">CustomRead</a></tt><tt class="py-op">(</tt><tt class="py-name">alngt</tt><tt class="py-op">.</tt><tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-o [...]
+</div><a name="L179"></a><tt class="py-lineno"> 179</tt>  <tt class="py-line"> </tt>
+<a name="GetOrderDictionary"></a><div id="GetOrderDictionary-def"><a name="L180"></a><tt class="py-lineno"> 180</tt> <a class="py-toggle" href="#" id="GetOrderDictionary-toggle" onclick="return toggle('GetOrderDictionary');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#GetOrderDictionary">GetOrderDictionary</a><tt class="py-op">(</tt><tt class="py-param">referenceSAM</tt><tt class="py-op">)</tt><tt class="py-op">:</ [...]
+</div><div id="GetOrderDictionary-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="GetOrderDictionary-expanded"><a name="L181"></a><tt class="py-lineno"> 181</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L182"></a><tt class="py-lineno"> 182</tt>  <tt class="py-line"><tt class="py-docstring">    Function to get a dictionary containing the rank of a read (given a sorted samfile by readname, samtools).</tt> </tt>
+<a name="L183"></a><tt class="py-lineno"> 183</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L184"></a><tt class="py-lineno"> 184</tt>  <tt class="py-line"><tt class="py-docstring">    @type  referenceSAM: string</tt> </tt>
+<a name="L185"></a><tt class="py-lineno"> 185</tt>  <tt class="py-line"><tt class="py-docstring">    @param referenceSAM: Inputfile name for reference SAM file.</tt> </tt>
+<a name="L186"></a><tt class="py-lineno"> 186</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   dictionary</tt> </tt>
+<a name="L187"></a><tt class="py-lineno"> 187</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Internalnaming according to the sorting of samtools. Key = ReadID, Value = rank</tt> </tt>
+<a name="L188"></a><tt class="py-lineno"> 188</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L189"></a><tt class="py-lineno"> 189</tt>  <tt class="py-line">    <tt class="py-name">internalDic</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L190"></a><tt class="py-lineno"> 190</tt>  <tt class="py-line"> </tt>
+<a name="L191"></a><tt class="py-lineno"> 191</tt>  <tt class="py-line">    <tt class="py-comment"># use ultrafast awk for getting only readnames from aligned fasta file</tt> </tt>
+<a name="L192"></a><tt class="py-lineno"> 192</tt>  <tt class="py-line">    <tt class="py-name">readnames</tt> <tt class="py-op">=</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">subprocess</tt><tt class="py-op">.</tt><tt class="py-name">check_output</tt><tt class="py-op">(</tt><tt class="py-string">"""awk < %s -F "\t" '{print  $1 }'"""</tt> <tt class="py-op">%</tt> <tt class="py-name">referenceSAM</tt><tt class="py-op">,</tt> <tt class="py-name">shell</tt [...]
+<a name="L193"></a><tt class="py-lineno"> 193</tt>  <tt class="py-line"> </tt>
+<a name="L194"></a><tt class="py-lineno"> 194</tt>  <tt class="py-line">    <tt class="py-comment"># make to list</tt> </tt>
+<a name="L195"></a><tt class="py-lineno"> 195</tt>  <tt class="py-line">    <tt class="py-name">readnames</tt> <tt class="py-op">=</tt> <tt class="py-name">readnames</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L196"></a><tt class="py-lineno"> 196</tt>  <tt class="py-line"> </tt>
+<a name="L197"></a><tt class="py-lineno"> 197</tt>  <tt class="py-line">    <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L198"></a><tt class="py-lineno"> 198</tt>  <tt class="py-line">    <tt class="py-comment"># skip header files</tt> </tt>
+<a name="L199"></a><tt class="py-lineno"> 199</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">readnames</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-op">(</tt><tt class="py-string">"@"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L200"></a><tt class="py-lineno"> 200</tt>  <tt class="py-line">        <tt class="py-name">i</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L201"></a><tt class="py-lineno"> 201</tt>  <tt class="py-line">     </tt>
+<a name="L202"></a><tt class="py-lineno"> 202</tt>  <tt class="py-line">    <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L203"></a><tt class="py-lineno"> 203</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">readnames</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L204"></a><tt class="py-lineno"> 204</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">readnames</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-name">internalDic</tt><tt class="py-op">:</tt> </tt>
+<a name="L205"></a><tt class="py-lineno"> 205</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L206"></a><tt class="py-lineno"> 206</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L207"></a><tt class="py-lineno"> 207</tt>  <tt class="py-line">            <tt class="py-name">internalDic</tt><tt class="py-op">[</tt><tt class="py-name">readnames</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">index</tt> </tt>
+<a name="L208"></a><tt class="py-lineno"> 208</tt>  <tt class="py-line">            <tt class="py-comment">#enumeration of the index</tt> </tt>
+<a name="L209"></a><tt class="py-lineno"> 209</tt>  <tt class="py-line">            <tt class="py-name">index</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L210"></a><tt class="py-lineno"> 210</tt>  <tt class="py-line">             </tt>
+<a name="L211"></a><tt class="py-lineno"> 211</tt>  <tt class="py-line">             </tt>
+<a name="L212"></a><tt class="py-lineno"> 212</tt>  <tt class="py-line">             </tt>
+<a name="L213"></a><tt class="py-lineno"> 213</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">internalDic</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L214"></a><tt class="py-lineno"> 214</tt>  <tt class="py-line"> </tt>
+<a name="L215"></a><tt class="py-lineno"> 215</tt>  <tt class="py-line"> </tt>
+<a name="getNextLine"></a><div id="getNextLine-def"><a name="L216"></a><tt class="py-lineno"> 216</tt> <a class="py-toggle" href="#" id="getNextLine-toggle" onclick="return toggle('getNextLine');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#getNextLine">getNextLine</a><tt class="py-op">(</tt><tt class="py-param">textfile</tt><tt class="py-op">,</tt> <tt class="py-param">compareList</tt><tt class="py-op">,</tt> <tt  [...]
+</div><div id="getNextLine-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="getNextLine-expanded"><a name="L217"></a><tt class="py-lineno"> 217</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L218"></a><tt class="py-lineno"> 218</tt>  <tt class="py-line"><tt class="py-docstring">    Function which returns the next line from a SAMFile.</tt> </tt>
+<a name="L219"></a><tt class="py-lineno"> 219</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L220"></a><tt class="py-lineno"> 220</tt>  <tt class="py-line"><tt class="py-docstring">    @type  textfile: fileobject stream</tt> </tt>
+<a name="L221"></a><tt class="py-lineno"> 221</tt>  <tt class="py-line"><tt class="py-docstring">    @param textfile: SAMfile</tt> </tt>
+<a name="L222"></a><tt class="py-lineno"> 222</tt>  <tt class="py-line"><tt class="py-docstring">    @type  compareList: list</tt> </tt>
+<a name="L223"></a><tt class="py-lineno"> 223</tt>  <tt class="py-line"><tt class="py-docstring">    @param compareList: AA sequence of the reference genome.</tt> </tt>
+<a name="L224"></a><tt class="py-lineno"> 224</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readdic: Dictionary</tt> </tt>
+<a name="L225"></a><tt class="py-lineno"> 225</tt>  <tt class="py-line"><tt class="py-docstring">    @param readdic: Boolean which decides if unbalanced mutations are allowed (only initial mutation is performed)</tt> </tt>
+<a name="L226"></a><tt class="py-lineno"> 226</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   Readobj</tt> </tt>
+<a name="L227"></a><tt class="py-lineno"> 227</tt>  <tt class="py-line"><tt class="py-docstring">    @return: Parsed read from text line.</tt> </tt>
+<a name="L228"></a><tt class="py-lineno"> 228</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L229"></a><tt class="py-lineno"> 229</tt>  <tt class="py-line">         </tt>
+<a name="L230"></a><tt class="py-lineno"> 230</tt>  <tt class="py-line">    <tt class="py-comment"># dummy is needed because nomem and standart reading return "different" values.</tt> </tt>
+<a name="L231"></a><tt class="py-lineno"> 231</tt>  <tt class="py-line">    <tt class="py-comment"># dummy, equals readname</tt> </tt>
+<a name="L232"></a><tt class="py-lineno"> 232</tt>  <tt class="py-line">    <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">textfile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno"> 233</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L234"></a><tt class="py-lineno"> 234</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L235"></a><tt class="py-lineno"> 235</tt>  <tt class="py-line">    <tt class="py-name">CRead</tt><tt class="py-op">,</tt> <tt class="py-name">dummy</tt> <tt class="py-op">=</tt> <tt id="link-10" class="py-name" targets="Function core.AnalyseMapping.readSAMline()=core.AnalyseMapping-module.html#readSAMline"><a title="core.AnalyseMapping.readSAMline" class="py-name" href="#" onclick="return doclink('link-10', 'readSAMline', 'link-10');">readSAMline</a></tt><tt class="py-op">(</tt> [...]
+<a name="L236"></a><tt class="py-lineno"> 236</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">CRead</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L237"></a><tt class="py-lineno"> 237</tt>  <tt class="py-line"> </tt>
+<a name="L238"></a><tt class="py-lineno"> 238</tt>  <tt class="py-line"> </tt>
+<a name="L239"></a><tt class="py-lineno"> 239</tt>  <tt class="py-line"> </tt>
+<a name="getMisGap"></a><div id="getMisGap-def"><a name="L240"></a><tt class="py-lineno"> 240</tt> <a class="py-toggle" href="#" id="getMisGap-toggle" onclick="return toggle('getMisGap');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#getMisGap">getMisGap</a><tt class="py-op">(</tt><tt class="py-param">mdtag</tt><tt class="py-op">,</tt> <tt class="py-param">cigar</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="getMisGap-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="getMisGap-expanded"><a name="L241"></a><tt class="py-lineno"> 241</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L242"></a><tt class="py-lineno"> 242</tt>  <tt class="py-line"><tt class="py-docstring">    Reads the alignment tag given, the text and a tag to search for</tt> </tt>
+<a name="L243"></a><tt class="py-lineno"> 243</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L244"></a><tt class="py-lineno"> 244</tt>  <tt class="py-line"><tt class="py-docstring">    @type  mdtag: string</tt> </tt>
+<a name="L245"></a><tt class="py-lineno"> 245</tt>  <tt class="py-line"><tt class="py-docstring">    @param mdtag: MDTag from alignment</tt> </tt>
+<a name="L246"></a><tt class="py-lineno"> 246</tt>  <tt class="py-line"><tt class="py-docstring">    @type  cigar: string</tt> </tt>
+<a name="L247"></a><tt class="py-lineno"> 247</tt>  <tt class="py-line"><tt class="py-docstring">    @param cigar: Cigar from alignment</tt> </tt>
+<a name="L248"></a><tt class="py-lineno"> 248</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   gaps,mismatches</tt> </tt>
+<a name="L249"></a><tt class="py-lineno"> 249</tt>  <tt class="py-line"><tt class="py-docstring">    @return: Parsed gaps and mismatches</tt> </tt>
+<a name="L250"></a><tt class="py-lineno"> 250</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L251"></a><tt class="py-lineno"> 251</tt>  <tt class="py-line">    <tt class="py-name">deletions</tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="core.AnalyseMapping.getsum" class="py-name" href="#" onclick="return doclink('link-11', 'getsum', 'link-5');">getsum</a></tt><tt class="py-op">(</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">findall</tt><tt class="py-op">(</tt><tt class="py-string">"(\d+)D"</tt><tt class="py-op">,</t [...]
+<a name="L252"></a><tt class="py-lineno"> 252</tt>  <tt class="py-line">    <tt class="py-name">insertions</tt> <tt class="py-op">=</tt> <tt id="link-12" class="py-name"><a title="core.AnalyseMapping.getsum" class="py-name" href="#" onclick="return doclink('link-12', 'getsum', 'link-5');">getsum</a></tt><tt class="py-op">(</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">findall</tt><tt class="py-op">(</tt><tt class="py-string">"(\d+)I"</tt><tt class="py-op">,</ [...]
+<a name="L253"></a><tt class="py-lineno"> 253</tt>  <tt class="py-line">    <tt class="py-name">gaps</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">insertions</tt> <tt class="py-op">+</tt> <tt class="py-name">deletions</tt><tt class="py-op">)</tt> </tt>
+<a name="L254"></a><tt class="py-lineno"> 254</tt>  <tt class="py-line"> </tt>
+<a name="L255"></a><tt class="py-lineno"> 255</tt>  <tt class="py-line">    <tt class="py-comment"># mismatches are:</tt> </tt>
+<a name="L256"></a><tt class="py-lineno"> 256</tt>  <tt class="py-line">    <tt class="py-comment"># ALL Matches from CIGAR - RealMatches from MDTag</tt> </tt>
+<a name="L257"></a><tt class="py-lineno"> 257</tt>  <tt class="py-line">    <tt class="py-comment">#</tt> </tt>
+<a name="L258"></a><tt class="py-lineno"> 258</tt>  <tt class="py-line"> </tt>
+<a name="L259"></a><tt class="py-lineno"> 259</tt>  <tt class="py-line">    <tt class="py-name">mismatch</tt> <tt class="py-op">=</tt> <tt id="link-13" class="py-name"><a title="core.AnalyseMapping.getsum" class="py-name" href="#" onclick="return doclink('link-13', 'getsum', 'link-5');">getsum</a></tt><tt class="py-op">(</tt><tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">findall</tt><tt class="py-op">(</tt><tt class="py-string">"(\d+)M"</tt><tt class="py-op">,</tt [...]
+<a name="L260"></a><tt class="py-lineno"> 260</tt>  <tt class="py-line"> </tt>
+<a name="L261"></a><tt class="py-lineno"> 261</tt>  <tt class="py-line">  </tt>
+<a name="L262"></a><tt class="py-lineno"> 262</tt>  <tt class="py-line">    <tt class="py-comment">#print ("%s\t%s\t%s\t%s\t%s\t%s" %(mdtag,cigar,deletions,insertions,mismatch,gaps))</tt> </tt>
+<a name="L263"></a><tt class="py-lineno"> 263</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">gaps</tt><tt class="py-op">,</tt> <tt class="py-name">mismatch</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L264"></a><tt class="py-lineno"> 264</tt>  <tt class="py-line"> </tt>
+<a name="getAllID"></a><div id="getAllID-def"><a name="L265"></a><tt class="py-lineno"> 265</tt> <a class="py-toggle" href="#" id="getAllID-toggle" onclick="return toggle('getAllID');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#getAllID">getAllID</a><tt class="py-op">(</tt><tt class="py-param">textfile</tt><tt class="py-op">,</tt> <tt class="py-param">read</tt><tt class="py-op">,</tt> <tt class="py-param">compareL [...]
+</div><div id="getAllID-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="getAllID-expanded"><a name="L266"></a><tt class="py-lineno"> 266</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L267"></a><tt class="py-lineno"> 267</tt>  <tt class="py-line"><tt class="py-docstring">    Reads all alignments for the current read which are in the SAM file (sorted). If a new read ID is scanned the results are returned.</tt> </tt>
+<a name="L268"></a><tt class="py-lineno"> 268</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L269"></a><tt class="py-lineno"> 269</tt>  <tt class="py-line"><tt class="py-docstring">    @type  textfile:  fileobject stream</tt> </tt>
+<a name="L270"></a><tt class="py-lineno"> 270</tt>  <tt class="py-line"><tt class="py-docstring">    @param textfile: SAM file for reading.</tt> </tt>
+<a name="L271"></a><tt class="py-lineno"> 271</tt>  <tt class="py-line"><tt class="py-docstring">    @type  read: read obj</tt> </tt>
+<a name="L272"></a><tt class="py-lineno"> 272</tt>  <tt class="py-line"><tt class="py-docstring">    @param read: the last read obj which defines the current read id</tt> </tt>
+<a name="L273"></a><tt class="py-lineno"> 273</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readdic: dictionary</tt> </tt>
+<a name="L274"></a><tt class="py-lineno"> 274</tt>  <tt class="py-line"><tt class="py-docstring">    @param readdic: Look up for quality values.</tt> </tt>
+<a name="L275"></a><tt class="py-lineno"> 275</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   (bool,list,bool)</tt> </tt>
+<a name="L276"></a><tt class="py-lineno"> 276</tt>  <tt class="py-line"><tt class="py-docstring">    @return: a "triple", where 2 bools are defined as indicator variables and a list with all alignments for one read.</tt> </tt>
+<a name="L277"></a><tt class="py-lineno"> 277</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L278"></a><tt class="py-lineno"> 278</tt>  <tt class="py-line">    <tt class="py-comment"># end of file?</tt> </tt>
+<a name="L279"></a><tt class="py-lineno"> 279</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">read</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L280"></a><tt class="py-lineno"> 280</tt>  <tt class="py-line">        <tt class="py-comment">#parse last read and return</tt> </tt>
+<a name="L281"></a><tt class="py-lineno"> 281</tt>  <tt class="py-line">        <tt class="py-name">CRead</tt> <tt class="py-op">=</tt> <tt id="link-15" class="py-name" targets="Function core.AnalyseMapping.getNextLine()=core.AnalyseMapping-module.html#getNextLine"><a title="core.AnalyseMapping.getNextLine" class="py-name" href="#" onclick="return doclink('link-15', 'getNextLine', 'link-15');">getNextLine</a></tt><tt class="py-op">(</tt><tt class="py-name">textfile</tt><tt class="py-op"> [...]
+<a name="L282"></a><tt class="py-lineno"> 282</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt id="link-16" class="py-name" targets="Function core.AnalyseMapping.getAllID()=core.AnalyseMapping-module.html#getAllID"><a title="core.AnalyseMapping.getAllID" class="py-name" href="#" onclick="return doclink('link-16', 'getAllID', 'link-16');">getAllID</a></tt><tt class="py-op">(</tt><tt class="py-name">textfile</tt><tt class="py-op">,</tt> <tt cl [...]
+<a name="L283"></a><tt class="py-lineno"> 283</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L284"></a><tt class="py-lineno"> 284</tt>  <tt class="py-line">        <tt class="py-comment"># start ne list and append read which was read with the last run of getALLID</tt> </tt>
+<a name="L285"></a><tt class="py-lineno"> 285</tt>  <tt class="py-line">        <tt class="py-name">templist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L286"></a><tt class="py-lineno"> 286</tt>  <tt class="py-line">        <tt class="py-name">templist</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno"> 287</tt>  <tt class="py-line">    <tt class="py-comment"># get all reads with same id as "read" </tt> </tt>
+<a name="L288"></a><tt class="py-lineno"> 288</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L289"></a><tt class="py-lineno"> 289</tt>  <tt class="py-line">        <tt class="py-name">line</tt> <tt class="py-op">=</tt> <tt class="py-name">textfile</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L290"></a><tt class="py-lineno"> 290</tt>  <tt class="py-line">        <tt class="py-comment"># no text left infile</tt> </tt>
+<a name="L291"></a><tt class="py-lineno"> 291</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-keyword">not</tt> <tt class="py-name">line</tt><tt class="py-op">:</tt> </tt>
+<a name="L292"></a><tt class="py-lineno"> 292</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">templist</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+<a name="L293"></a><tt class="py-lineno"> 293</tt>  <tt class="py-line">         </tt>
+<a name="L294"></a><tt class="py-lineno"> 294</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L295"></a><tt class="py-lineno"> 295</tt>  <tt class="py-line">           <tt class="py-name">CRead</tt> <tt class="py-op">=</tt> <tt id="link-17" class="py-name" targets="Function core.AnalyseMapping.getCustomRead()=core.AnalyseMapping-module.html#getCustomRead"><a title="core.AnalyseMapping.getCustomRead" class="py-name" href="#" onclick="return doclink('link-17', 'getCustomRead', 'link-17');">getCustomRead</a></tt><tt class="py-op">(</tt><tt class="py-name">HTSeq</tt><tt clas [...]
+<a name="L296"></a><tt class="py-lineno"> 296</tt>  <tt class="py-line">           <tt class="py-comment">#CRead, dummy = readSAMline(line, "noMem", compareList, readdic)</tt> </tt>
+<a name="L297"></a><tt class="py-lineno"> 297</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L298"></a><tt class="py-lineno"> 298</tt>  <tt class="py-line">            <tt class="py-name">CRead</tt><tt class="py-op">,</tt> <tt class="py-name">dummy</tt> <tt class="py-op">=</tt> <tt id="link-18" class="py-name"><a title="core.AnalyseMapping.readSAMline" class="py-name" href="#" onclick="return doclink('link-18', 'readSAMline', 'link-10');">readSAMline</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">,</tt> <tt class="py-string">"noMem"</tt>< [...]
+<a name="L299"></a><tt class="py-lineno"> 299</tt>  <tt class="py-line">         </tt>
+<a name="L300"></a><tt class="py-lineno"> 300</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">CRead</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L301"></a><tt class="py-lineno"> 301</tt>  <tt class="py-line">            <tt class="py-comment">#</tt> </tt>
+<a name="L302"></a><tt class="py-lineno"> 302</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">templist</tt><tt class="py-op">,</tt> <tt class="py-name">CRead</tt><tt class="py-op">)</tt> </tt>
+<a name="L303"></a><tt class="py-lineno"> 303</tt>  <tt class="py-line">        <tt class="py-comment"># same read in current line as was in the last line --> continue reading</tt> </tt>
+<a name="L304"></a><tt class="py-lineno"> 304</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">CRead</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-op">==</tt> <tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">:</tt> </tt>
+<a name="L305"></a><tt class="py-lineno"> 305</tt>  <tt class="py-line">            <tt class="py-name">templist</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">CRead</tt><tt class="py-op">)</tt> </tt>
+<a name="L306"></a><tt class="py-lineno"> 306</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L307"></a><tt class="py-lineno"> 307</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">templist</tt><tt class="py-op">,</tt> <tt class="py-name">CRead</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L308"></a><tt class="py-lineno"> 308</tt>  <tt class="py-line">         </tt>
+<a name="L309"></a><tt class="py-lineno"> 309</tt>  <tt class="py-line">     </tt>
+<a name="CompareAlignments"></a><div id="CompareAlignments-def"><a name="L310"></a><tt class="py-lineno"> 310</tt> <a class="py-toggle" href="#" id="CompareAlignments-toggle" onclick="return toggle('CompareAlignments');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#CompareAlignments">CompareAlignments</a><tt class="py-op">(</tt><tt class="py-param">reflist</tt><tt class="py-op">,</tt> <tt class="py-param">artlist</t [...]
+</div><div id="CompareAlignments-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="CompareAlignments-expanded"><a name="L311"></a><tt class="py-lineno"> 311</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L312"></a><tt class="py-lineno"> 312</tt>  <tt class="py-line"><tt class="py-docstring">    Compares alignments for the reference and artificial reference for a specific read id.</tt> </tt>
+<a name="L313"></a><tt class="py-lineno"> 313</tt>  <tt class="py-line"><tt class="py-docstring">    The goal is to identify false positives.</tt> </tt>
+<a name="L314"></a><tt class="py-lineno"> 314</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L315"></a><tt class="py-lineno"> 315</tt>  <tt class="py-line"><tt class="py-docstring">    @type  reflist: read obj list</tt> </tt>
+<a name="L316"></a><tt class="py-lineno"> 316</tt>  <tt class="py-line"><tt class="py-docstring">    @param reflist: list containing alignments witht the same ID (reference)</tt> </tt>
+<a name="L317"></a><tt class="py-lineno"> 317</tt>  <tt class="py-line"><tt class="py-docstring">    @type  artlist: read obj list</tt> </tt>
+<a name="L318"></a><tt class="py-lineno"> 318</tt>  <tt class="py-line"><tt class="py-docstring">    @param artlist: list containing alignments witht the same ID (artificial)</tt> </tt>
+<a name="L319"></a><tt class="py-lineno"> 319</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   np.array</tt> </tt>
+<a name="L320"></a><tt class="py-lineno"> 320</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  indices of unique alignments</tt> </tt>
+<a name="L321"></a><tt class="py-lineno"> 321</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L322"></a><tt class="py-lineno"> 322</tt>  <tt class="py-line">    </tt>
+<a name="L323"></a><tt class="py-lineno"> 323</tt>  <tt class="py-line">     </tt>
+<a name="L324"></a><tt class="py-lineno"> 324</tt>  <tt class="py-line">    <tt class="py-name">artlen</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">artlist</tt><tt class="py-op">)</tt> </tt>
+<a name="L325"></a><tt class="py-lineno"> 325</tt>  <tt class="py-line">    <tt class="py-name">reflen</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">reflist</tt><tt class="py-op">)</tt> </tt>
+<a name="L326"></a><tt class="py-lineno"> 326</tt>  <tt class="py-line"> </tt>
+<a name="L327"></a><tt class="py-lineno"> 327</tt>  <tt class="py-line">    <tt class="py-name">TPcount</tt> <tt class="py-op">=</tt> <tt class="py-name">reflen</tt> </tt>
+<a name="L328"></a><tt class="py-lineno"> 328</tt>  <tt class="py-line">    <tt class="py-name">FPcount</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L329"></a><tt class="py-lineno"> 329</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">RefRead</tt> <tt class="py-keyword">in</tt> <tt class="py-name">reflist</tt><tt class="py-op">:</tt> </tt>
+<a name="L330"></a><tt class="py-lineno"> 330</tt>  <tt class="py-line">         <tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">RefRead</tt><tt class="py-op">.</tt><tt id="link-19" class="py-name" targets="Method core.AnalyseMapping.CustomRead.toStrNoMem()=core.AnalyseMapping.CustomRead-class.html#toStrNoMem"><a title="core.AnalyseMapping.CustomRead.toStrNoMem" class="py-name" href="#" onclick="return doclink [...]
+<a name="L331"></a><tt class="py-lineno"> 331</tt>  <tt class="py-line">     </tt>
+<a name="L332"></a><tt class="py-lineno"> 332</tt>  <tt class="py-line">    <tt class="py-comment"># add 1 for every alignment from the artificial that is found on the reference</tt> </tt>
+<a name="L333"></a><tt class="py-lineno"> 333</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">artlen</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L334"></a><tt class="py-lineno"> 334</tt>  <tt class="py-line">        <tt class="py-comment"># bool which decides if artificial in reference hit</tt> </tt>
+<a name="L335"></a><tt class="py-lineno"> 335</tt>  <tt class="py-line">        <tt class="py-name">ArtInRef</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L336"></a><tt class="py-lineno"> 336</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">reflen</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L337"></a><tt class="py-lineno"> 337</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">artlist</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">start</tt> <tt class="py-op">==</tt> <tt class="py-name">reflist</tt><tt class="py-op">[</tt><tt class="py-name">j</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">start</tt> <tt class="py-keyword">and</t [...]
+<a name="L338"></a><tt class="py-lineno"> 338</tt>  <tt class="py-line">                <tt class="py-name">ArtInRef</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L339"></a><tt class="py-lineno"> 339</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L340"></a><tt class="py-lineno"> 340</tt>  <tt class="py-line">        <tt class="py-comment"># hit on artificial not confirmed on reference --> FP</tt> </tt>
+<a name="L341"></a><tt class="py-lineno"> 341</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">ArtInRef</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L342"></a><tt class="py-lineno"> 342</tt>  <tt class="py-line">            <tt class="py-name">FPcount</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L343"></a><tt class="py-lineno"> 343</tt>  <tt class="py-line">            <tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">artlist</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-20" class="py-name"><a title="core.AnalyseMapping.CustomRead.toStrNoMem" class="py-name" href="#" onclick="return doclink('link-20', 'toStrNoMem', 'link-19'); [...]
+<a name="L344"></a><tt class="py-lineno"> 344</tt>  <tt class="py-line">     </tt>
+<a name="L345"></a><tt class="py-lineno"> 345</tt>  <tt class="py-line">     </tt>
+<a name="L346"></a><tt class="py-lineno"> 346</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">TPcount</tt><tt class="py-op">,</tt><tt class="py-name">FPcount</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L347"></a><tt class="py-lineno"> 347</tt>  <tt class="py-line">     </tt>
+<a name="L348"></a><tt class="py-lineno"> 348</tt>  <tt class="py-line"><tt class="py-string">"""def WriteToFile(file, list, identifier):</tt> </tt>
+<a name="L349"></a><tt class="py-lineno"> 349</tt>  <tt class="py-line"><tt class="py-string">    </tt> </tt>
+<a name="L350"></a><tt class="py-lineno"> 350</tt>  <tt class="py-line"><tt class="py-string">    Writes read obj. to a file.</tt> </tt>
+<a name="L351"></a><tt class="py-lineno"> 351</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L352"></a><tt class="py-lineno"> 352</tt>  <tt class="py-line"><tt class="py-string"></tt> </tt>
+<a name="L353"></a><tt class="py-lineno"> 353</tt>  <tt class="py-line"><tt class="py-string">    @type  file: read obj list</tt> </tt>
+<a name="L354"></a><tt class="py-lineno"> 354</tt>  <tt class="py-line"><tt class="py-string">    @param file: list containing alignments witht the same ID (reference)</tt> </tt>
+<a name="L355"></a><tt class="py-lineno"> 355</tt>  <tt class="py-line"><tt class="py-string">    @type  list: read obj. list</tt> </tt>
+<a name="L356"></a><tt class="py-lineno"> 356</tt>  <tt class="py-line"><tt class="py-string">    @param list: list containing alignments witht the same ID (artificial)</tt> </tt>
+<a name="L357"></a><tt class="py-lineno"> 357</tt>  <tt class="py-line"><tt class="py-string">    @type  identifier: string</tt> </tt>
+<a name="L358"></a><tt class="py-lineno"> 358</tt>  <tt class="py-line"><tt class="py-string">    @param identifier: indicator if the results are from the reference or artificial</tt> </tt>
+<a name="L359"></a><tt class="py-lineno"> 359</tt>  <tt class="py-line"><tt class="py-string">    </tt> </tt>
+<a name="L360"></a><tt class="py-lineno"> 360</tt>  <tt class="py-line"><tt class="py-string">    file.write(getBestAlignment(list).toStrNoMem(identifier))"""</tt> </tt>
+<a name="L361"></a><tt class="py-lineno"> 361</tt>  <tt class="py-line"> </tt>
+<a name="SkipHeader"></a><div id="SkipHeader-def"><a name="L362"></a><tt class="py-lineno"> 362</tt> <a class="py-toggle" href="#" id="SkipHeader-toggle" onclick="return toggle('SkipHeader');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#SkipHeader">SkipHeader</a><tt class="py-op">(</tt><tt class="py-param">file</tt><tt class="py-op">,</tt> <tt class="py-param">compareList</tt><tt class="py-op">,</tt> <tt class="py- [...]
+</div><div id="SkipHeader-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="SkipHeader-expanded"><a name="L363"></a><tt class="py-lineno"> 363</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L364"></a><tt class="py-lineno"> 364</tt>  <tt class="py-line"><tt class="py-docstring">    Skips the header from a SAM file, but reads the first line of the alignment section.</tt> </tt>
+<a name="L365"></a><tt class="py-lineno"> 365</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L366"></a><tt class="py-lineno"> 366</tt>  <tt class="py-line"><tt class="py-docstring">    @type  file: read obj list</tt> </tt>
+<a name="L367"></a><tt class="py-lineno"> 367</tt>  <tt class="py-line"><tt class="py-docstring">    @param file: list containing alignments witht the same ID (reference)</tt> </tt>
+<a name="L368"></a><tt class="py-lineno"> 368</tt>  <tt class="py-line"><tt class="py-docstring">    @type  compareList: list</tt> </tt>
+<a name="L369"></a><tt class="py-lineno"> 369</tt>  <tt class="py-line"><tt class="py-docstring">    @param compareList: list for accumulation of the same read id</tt> </tt>
+<a name="L370"></a><tt class="py-lineno"> 370</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readdic: dictionary</tt> </tt>
+<a name="L371"></a><tt class="py-lineno"> 371</tt>  <tt class="py-line"><tt class="py-docstring">    @param readdic: dictionary containing read ID - read quality mappings.</tt> </tt>
+<a name="L372"></a><tt class="py-lineno"> 372</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   read obj.</tt> </tt>
+<a name="L373"></a><tt class="py-lineno"> 373</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Returns a read obj. from the SAM file.</tt> </tt>
+<a name="L374"></a><tt class="py-lineno"> 374</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L375"></a><tt class="py-lineno"> 375</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L376"></a><tt class="py-lineno"> 376</tt>  <tt class="py-line">        <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">file</tt><tt class="py-op">.</tt><tt class="py-name">readline</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L377"></a><tt class="py-lineno"> 377</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">temp</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"@"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L378"></a><tt class="py-lineno"> 378</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L379"></a><tt class="py-lineno"> 379</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L380"></a><tt class="py-lineno"> 380</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt id="link-21" class="py-name"><a title="core.AnalyseMapping.readSAMline" class="py-name" href="#" onclick="return doclink('link-21', 'readSAMline', 'link-10');">readSAMline</a></tt><tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">,</tt> <tt class="py-string">"noMem"</tt><tt class="py-op">,</tt> <tt class="py-name">compareLi [...]
+<a name="L381"></a><tt class="py-lineno"> 381</tt>  <tt class="py-line">            <tt class="py-keyword">break</tt> </tt>
+</div><a name="L382"></a><tt class="py-lineno"> 382</tt>  <tt class="py-line"> </tt>
+<a name="L383"></a><tt class="py-lineno"> 383</tt>  <tt class="py-line"> </tt>
+<a name="getRanks"></a><div id="getRanks-def"><a name="L384"></a><tt class="py-lineno"> 384</tt> <a class="py-toggle" href="#" id="getRanks-toggle" onclick="return toggle('getRanks');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#getRanks">getRanks</a><tt class="py-op">(</tt><tt class="py-param">RefRead</tt><tt class="py-op">,</tt><tt class="py-param">ArtRead</tt><tt class="py-op">,</tt><tt class="py-param">rankdic< [...]
+</div><div id="getRanks-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="getRanks-expanded"><a name="L385"></a><tt class="py-lineno"> 385</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L386"></a><tt class="py-lineno"> 386</tt>  <tt class="py-line"><tt class="py-docstring">    Function which returns the ranks of 2 given readIDs (read from reference,read from artificial).</tt> </tt>
+<a name="L387"></a><tt class="py-lineno"> 387</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L388"></a><tt class="py-lineno"> 388</tt>  <tt class="py-line"><tt class="py-docstring">    @type  RefRead: read obj </tt> </tt>
+<a name="L389"></a><tt class="py-lineno"> 389</tt>  <tt class="py-line"><tt class="py-docstring">    @param RefRead: read obj  (reference)</tt> </tt>
+<a name="L390"></a><tt class="py-lineno"> 390</tt>  <tt class="py-line"><tt class="py-docstring">    @type  ArtRead: read obj </tt> </tt>
+<a name="L391"></a><tt class="py-lineno"> 391</tt>  <tt class="py-line"><tt class="py-docstring">    @param ArtRead: read obj  (artificial)</tt> </tt>
+<a name="L392"></a><tt class="py-lineno"> 392</tt>  <tt class="py-line"><tt class="py-docstring">    @type  rankdic: dictionary</tt> </tt>
+<a name="L393"></a><tt class="py-lineno"> 393</tt>  <tt class="py-line"><tt class="py-docstring">    @param rankdic: dictionary containing ranks of the read IDs (according to the sorted SAM files).</tt> </tt>
+<a name="L394"></a><tt class="py-lineno"> 394</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   int,int</tt> </tt>
+<a name="L395"></a><tt class="py-lineno"> 395</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  returns the false positives and true positives for a SAM file pair (reference, artificial)</tt> </tt>
+<a name="L396"></a><tt class="py-lineno"> 396</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L397"></a><tt class="py-lineno"> 397</tt>  <tt class="py-line">    <tt class="py-comment"># get the ranks resulting from the sorted samfile.</tt> </tt>
+<a name="L398"></a><tt class="py-lineno"> 398</tt>  <tt class="py-line">    <tt class="py-name">RefReadRank</tt> <tt class="py-op">=</tt> <tt class="py-name">rankdic</tt><tt class="py-op">[</tt><tt class="py-name">RefRead</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">]</tt> </tt>
+<a name="L399"></a><tt class="py-lineno"> 399</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">rankdic</tt><tt class="py-op">:</tt> </tt>
+<a name="L400"></a><tt class="py-lineno"> 400</tt>  <tt class="py-line">        <tt class="py-name">ArtReadRank</tt> <tt class="py-op">=</tt> <tt class="py-name">rankdic</tt><tt class="py-op">[</tt><tt class="py-name">ArtRead</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">]</tt> </tt>
+<a name="L401"></a><tt class="py-lineno"> 401</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L402"></a><tt class="py-lineno"> 402</tt>  <tt class="py-line">        <tt class="py-comment"># if this ReadID is not in the dictionary then it MUST be a FP!</tt> </tt>
+<a name="L403"></a><tt class="py-lineno"> 403</tt>  <tt class="py-line">        <tt class="py-name">ArtReadRank</tt> <tt class="py-op">=</tt> <tt class="py-name">RefReadRank</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt> </tt>
+<a name="L404"></a><tt class="py-lineno"> 404</tt>  <tt class="py-line">         </tt>
+<a name="L405"></a><tt class="py-lineno"> 405</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">RefReadRank</tt><tt class="py-op">,</tt><tt class="py-name">ArtReadRank</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L406"></a><tt class="py-lineno"> 406</tt>  <tt class="py-line"> </tt>
+<a name="L407"></a><tt class="py-lineno"> 407</tt>  <tt class="py-line"> </tt>
+<a name="ReadSAMnoMem"></a><div id="ReadSAMnoMem-def"><a name="L408"></a><tt class="py-lineno"> 408</tt> <a class="py-toggle" href="#" id="ReadSAMnoMem-toggle" onclick="return toggle('ReadSAMnoMem');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#ReadSAMnoMem">ReadSAMnoMem</a><tt class="py-op">(</tt><tt class="py-param">ref</tt><tt class="py-op">,</tt> <tt class="py-param">art</tt><tt class="py-op">,</tt> <tt class=" [...]
+</div><div id="ReadSAMnoMem-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ReadSAMnoMem-expanded"><a name="L409"></a><tt class="py-lineno"> 409</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L410"></a><tt class="py-lineno"> 410</tt>  <tt class="py-line"><tt class="py-docstring">    Main function for comparing to mappings. This functions takes the complete alignments for artificial and reference genome and goes through them in parallel.</tt> </tt>
+<a name="L411"></a><tt class="py-lineno"> 411</tt>  <tt class="py-line"><tt class="py-docstring">    Since the mappings are sorted the function alternates the parsing of the samfiles in such a way that no memory is used for comparing these functions.</tt> </tt>
+<a name="L412"></a><tt class="py-lineno"> 412</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L413"></a><tt class="py-lineno"> 413</tt>  <tt class="py-line"><tt class="py-docstring">    @type  ref: string</tt> </tt>
+<a name="L414"></a><tt class="py-lineno"> 414</tt>  <tt class="py-line"><tt class="py-docstring">    @param ref: path to reference alignments (SAM file)</tt> </tt>
+<a name="L415"></a><tt class="py-lineno"> 415</tt>  <tt class="py-line"><tt class="py-docstring">    @type  art: string</tt> </tt>
+<a name="L416"></a><tt class="py-lineno"> 416</tt>  <tt class="py-line"><tt class="py-docstring">    @param art: path to artificial alignments (SAM file)</tt> </tt>
+<a name="L417"></a><tt class="py-lineno"> 417</tt>  <tt class="py-line"><tt class="py-docstring">    @type  output: read obj </tt> </tt>
+<a name="L418"></a><tt class="py-lineno"> 418</tt>  <tt class="py-line"><tt class="py-docstring">    @param output: read obj  (artificial)</tt> </tt>
+<a name="L419"></a><tt class="py-lineno"> 419</tt>  <tt class="py-line"><tt class="py-docstring">    @type  compareList: read obj </tt> </tt>
+<a name="L420"></a><tt class="py-lineno"> 420</tt>  <tt class="py-line"><tt class="py-docstring">    @param compareList: read obj  (artificial)</tt> </tt>
+<a name="L421"></a><tt class="py-lineno"> 421</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readdic: dictionary</tt> </tt>
+<a name="L422"></a><tt class="py-lineno"> 422</tt>  <tt class="py-line"><tt class="py-docstring">    @param readdic: dictionary containing read ID - read quality mappings.</tt> </tt>
+<a name="L423"></a><tt class="py-lineno"> 423</tt>  <tt class="py-line"><tt class="py-docstring">    @type  rankdic: dictionary</tt> </tt>
+<a name="L424"></a><tt class="py-lineno"> 424</tt>  <tt class="py-line"><tt class="py-docstring">    @param rankdic: dictionary containing ranks of the read IDs (according to the sorted SAM files).</tt> </tt>
+<a name="L425"></a><tt class="py-lineno"> 425</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   ranks</tt> </tt>
+<a name="L426"></a><tt class="py-lineno"> 426</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Returns the ranks for the 2 read ids.</tt> </tt>
+<a name="L427"></a><tt class="py-lineno"> 427</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L428"></a><tt class="py-lineno"> 428</tt>  <tt class="py-line">     </tt>
+<a name="L429"></a><tt class="py-lineno"> 429</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">output</tt><tt class="py-op">,</tt> <tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
+<a name="L430"></a><tt class="py-lineno"> 430</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"#ReadID\tMatchedReference\tSubstitutions\tNMtag\tReadQuality\tMappingQuality\tStart\tEnd\tGaps\tMisM\r\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L431"></a><tt class="py-lineno"> 431</tt>  <tt class="py-line">    <tt class="py-name">fileref</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">ref</tt><tt class="py-op">,</tt> <tt class="py-string">"r"</tt><tt class="py-op">)</tt> </tt>
+<a name="L432"></a><tt class="py-lineno"> 432</tt>  <tt class="py-line">    <tt class="py-name">fileart</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">art</tt><tt class="py-op">,</tt> <tt class="py-string">"r"</tt><tt class="py-op">)</tt> </tt>
+<a name="L433"></a><tt class="py-lineno"> 433</tt>  <tt class="py-line">     </tt>
+<a name="L434"></a><tt class="py-lineno"> 434</tt>  <tt class="py-line">    <tt class="py-comment"># SKip Header section of SAM file</tt> </tt>
+<a name="L435"></a><tt class="py-lineno"> 435</tt>  <tt class="py-line">    <tt class="py-name">CurrentReadRef</tt><tt class="py-op">,</tt> <tt class="py-name">dummy</tt> <tt class="py-op">=</tt> <tt id="link-22" class="py-name" targets="Function core.AnalyseMapping.SkipHeader()=core.AnalyseMapping-module.html#SkipHeader"><a title="core.AnalyseMapping.SkipHeader" class="py-name" href="#" onclick="return doclink('link-22', 'SkipHeader', 'link-22');">SkipHeader</a></tt><tt class="py-op">(< [...]
+<a name="L436"></a><tt class="py-lineno"> 436</tt>  <tt class="py-line">    <tt class="py-name">CurrentReadArt</tt><tt class="py-op">,</tt> <tt class="py-name">dummy</tt> <tt class="py-op">=</tt> <tt id="link-23" class="py-name"><a title="core.AnalyseMapping.SkipHeader" class="py-name" href="#" onclick="return doclink('link-23', 'SkipHeader', 'link-22');">SkipHeader</a></tt><tt class="py-op">(</tt><tt class="py-name">fileart</tt><tt class="py-op">,</tt> <tt class="py-name">compareList</t [...]
+<a name="L437"></a><tt class="py-lineno"> 437</tt>  <tt class="py-line">     </tt>
+<a name="L438"></a><tt class="py-lineno"> 438</tt>  <tt class="py-line">    <tt class="py-comment"># get first readIDs for looping    </tt> </tt>
+<a name="L439"></a><tt class="py-lineno"> 439</tt>  <tt class="py-line">    <tt class="py-name">hasNextLine</tt><tt class="py-op">,</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">,</tt> <tt class="py-name">NextReadArt</tt> <tt class="py-op">=</tt> <tt id="link-24" class="py-name"><a title="core.AnalyseMapping.getAllID" class="py-name" href="#" onclick="return doclink('link-24', 'getAllID', 'link-16');">getAllID</a></tt><tt class="py-op">(</tt><tt class="py-name">fileart</tt><tt c [...]
+<a name="L440"></a><tt class="py-lineno"> 440</tt>  <tt class="py-line">    <tt class="py-name">hasNextLine</tt><tt class="py-op">,</tt> <tt class="py-name">RefRead</tt><tt class="py-op">,</tt> <tt class="py-name">NextReadRef</tt> <tt class="py-op">=</tt> <tt id="link-25" class="py-name"><a title="core.AnalyseMapping.getAllID" class="py-name" href="#" onclick="return doclink('link-25', 'getAllID', 'link-16');">getAllID</a></tt><tt class="py-op">(</tt><tt class="py-name">fileref</tt><tt c [...]
+<a name="L441"></a><tt class="py-lineno"> 441</tt>  <tt class="py-line">    <tt class="py-comment"># variables for counting</tt> </tt>
+<a name="L442"></a><tt class="py-lineno"> 442</tt>  <tt class="py-line"> </tt>
+<a name="L443"></a><tt class="py-lineno"> 443</tt>  <tt class="py-line">    <tt class="py-name">tp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L444"></a><tt class="py-lineno"> 444</tt>  <tt class="py-line">    <tt class="py-name">fp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L445"></a><tt class="py-lineno"> 445</tt>  <tt class="py-line">    <tt class="py-name">MappedReads</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L446"></a><tt class="py-lineno"> 446</tt>  <tt class="py-line">    <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L447"></a><tt class="py-lineno"> 447</tt>  <tt class="py-line">    <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt>            </tt>
+<a name="L448"></a><tt class="py-lineno"> 448</tt>  <tt class="py-line">    <tt class="py-comment">#Indicator variables which file is end first</tt> </tt>
+<a name="L449"></a><tt class="py-lineno"> 449</tt>  <tt class="py-line">    <tt class="py-name">ArtBool</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L450"></a><tt class="py-lineno"> 450</tt>  <tt class="py-line">    <tt class="py-name">RefBool</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L451"></a><tt class="py-lineno"> 451</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L452"></a><tt class="py-lineno"> 452</tt>  <tt class="py-line">        <tt class="py-name">i</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L453"></a><tt class="py-lineno"> 453</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt> <tt class="py-op">==</tt> <tt class="py-number">100000</tt><tt class="py-op">:</tt> </tt>
+<a name="L454"></a><tt class="py-lineno"> 454</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"\t\t%f"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L455"></a><tt class="py-lineno"> 455</tt>  <tt class="py-line">         </tt>
+<a name="L456"></a><tt class="py-lineno"> 456</tt>  <tt class="py-line">        <tt class="py-name">RefReadRank</tt><tt class="py-op">,</tt><tt class="py-name">ArtReadRank</tt> <tt class="py-op">=</tt> <tt id="link-26" class="py-name" targets="Function core.AnalyseMapping.getRanks()=core.AnalyseMapping-module.html#getRanks"><a title="core.AnalyseMapping.getRanks" class="py-name" href="#" onclick="return doclink('link-26', 'getRanks', 'link-26');">getRanks</a></tt><tt class="py-op">(</tt> [...]
+<a name="L457"></a><tt class="py-lineno"> 457</tt>  <tt class="py-line">         </tt>
+<a name="L458"></a><tt class="py-lineno"> 458</tt>  <tt class="py-line">        <tt class="py-comment">#case 1)</tt> </tt>
+<a name="L459"></a><tt class="py-lineno"> 459</tt>  <tt class="py-line">        <tt class="py-comment"># Keep reading lines from artificial if the id is < than the one from the reference</tt> </tt>
+<a name="L460"></a><tt class="py-lineno"> 460</tt>  <tt class="py-line">        <tt class="py-comment"># this means unique hits to the artificial!</tt> </tt>
+<a name="L461"></a><tt class="py-lineno"> 461</tt>  <tt class="py-line">        <tt class="py-comment">#while (RefRead[0].id > ArtRead[0].id and hasNextLine != 0):</tt> </tt>
+<a name="L462"></a><tt class="py-lineno"> 462</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-name">RefReadRank</tt> <tt class="py-op">></tt> <tt class="py-name">ArtReadRank</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasNextLine</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L463"></a><tt class="py-lineno"> 463</tt>  <tt class="py-line">            <tt class="py-comment"># in case of multiple hits, set all mr variables to  0 and get the best alignment</tt> </tt>
+<a name="L464"></a><tt class="py-lineno"> 464</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">ArtRead</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L465"></a><tt class="py-lineno"> 465</tt>  <tt class="py-line">                <tt class="py-name">ArtRead</tt><tt class="py-op">[</tt><tt class="py-name">l</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">mr</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L466"></a><tt class="py-lineno"> 466</tt>  <tt class="py-line">             </tt>
+<a name="L467"></a><tt class="py-lineno"> 467</tt>  <tt class="py-line">            <tt class="py-comment"># write FP to file</tt> </tt>
+<a name="L468"></a><tt class="py-lineno"> 468</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">hits</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">:</tt> </tt>
+<a name="L469"></a><tt class="py-lineno"> 469</tt>  <tt class="py-line">                <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">hits</tt><tt class="py-op">.</tt><tt id="link-27" class="py-name"><a title="core.AnalyseMapping.CustomRead.toStrNoMem" class="py-name" href="#" onclick="return doclink('link-27', 'toStrNoMem', 'link-19');">toStrNoMem</a></tt><tt class="py-op">(</tt><tt class="py-string">"art"< [...]
+<a name="L470"></a><tt class="py-lineno"> 470</tt>  <tt class="py-line">                <tt class="py-name">fp</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L471"></a><tt class="py-lineno"> 471</tt>  <tt class="py-line"> </tt>
+<a name="L472"></a><tt class="py-lineno"> 472</tt>  <tt class="py-line">             </tt>
+<a name="L473"></a><tt class="py-lineno"> 473</tt>  <tt class="py-line">            <tt class="py-comment"># use akku for read lines</tt> </tt>
+<a name="L474"></a><tt class="py-lineno"> 474</tt>  <tt class="py-line">            <tt class="py-name">CurrentReadArt</tt> <tt class="py-op">=</tt> <tt class="py-name">NextReadArt</tt> </tt>
+<a name="L475"></a><tt class="py-lineno"> 475</tt>  <tt class="py-line">            <tt class="py-comment">#get all the reads with the same ID into ArtRead</tt> </tt>
+<a name="L476"></a><tt class="py-lineno"> 476</tt>  <tt class="py-line">            <tt class="py-name">hasNextLine</tt><tt class="py-op">,</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">,</tt> <tt class="py-name">NextReadArt</tt> <tt class="py-op">=</tt> <tt id="link-28" class="py-name"><a title="core.AnalyseMapping.getAllID" class="py-name" href="#" onclick="return doclink('link-28', 'getAllID', 'link-16');">getAllID</a></tt><tt class="py-op">(</tt><tt class="py-name">fileart</ [...]
+<a name="L477"></a><tt class="py-lineno"> 477</tt>  <tt class="py-line">             </tt>
+<a name="L478"></a><tt class="py-lineno"> 478</tt>  <tt class="py-line">            <tt class="py-comment">#update rank</tt> </tt>
+<a name="L479"></a><tt class="py-lineno"> 479</tt>  <tt class="py-line">            <tt class="py-name">ArtReadRank</tt>  <tt class="py-op">=</tt> <tt class="py-name">RefReadRank</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-keyword">if</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <t [...]
+<a name="L480"></a><tt class="py-lineno"> 480</tt>  <tt class="py-line">            <tt class="py-name">MappedReads</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L481"></a><tt class="py-lineno"> 481</tt>  <tt class="py-line">             </tt>
+<a name="L482"></a><tt class="py-lineno"> 482</tt>  <tt class="py-line">        <tt class="py-comment">#case 2)</tt> </tt>
+<a name="L483"></a><tt class="py-lineno"> 483</tt>  <tt class="py-line">        <tt class="py-comment"># keep reading lines from reference if id is < art.id</tt> </tt>
+<a name="L484"></a><tt class="py-lineno"> 484</tt>  <tt class="py-line">        <tt class="py-comment"># all these hits are purely TP</tt> </tt>
+<a name="L485"></a><tt class="py-lineno"> 485</tt>  <tt class="py-line">        <tt class="py-comment">#while (RefRead[0].id < ArtRead[0].id and hasNextLine != 0):</tt> </tt>
+<a name="L486"></a><tt class="py-lineno"> 486</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-name">RefReadRank</tt> <tt class="py-op"><</tt> <tt class="py-name">ArtReadRank</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasNextLine</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L487"></a><tt class="py-lineno"> 487</tt>  <tt class="py-line">             </tt>
+<a name="L488"></a><tt class="py-lineno"> 488</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">hits</tt> <tt class="py-keyword">in</tt> <tt class="py-name">RefRead</tt><tt class="py-op">:</tt> </tt>
+<a name="L489"></a><tt class="py-lineno"> 489</tt>  <tt class="py-line">                <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">hits</tt><tt class="py-op">.</tt><tt id="link-29" class="py-name"><a title="core.AnalyseMapping.CustomRead.toStrNoMem" class="py-name" href="#" onclick="return doclink('link-29', 'toStrNoMem', 'link-19');">toStrNoMem</a></tt><tt class="py-op">(</tt><tt class="py-string">"ref"< [...]
+<a name="L490"></a><tt class="py-lineno"> 490</tt>  <tt class="py-line">                <tt class="py-name">tp</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L491"></a><tt class="py-lineno"> 491</tt>  <tt class="py-line"> </tt>
+<a name="L492"></a><tt class="py-lineno"> 492</tt>  <tt class="py-line">            <tt class="py-name">CurrentReadRef</tt> <tt class="py-op">=</tt> <tt class="py-name">NextReadRef</tt> </tt>
+<a name="L493"></a><tt class="py-lineno"> 493</tt>  <tt class="py-line">            <tt class="py-name">hasNextLine</tt><tt class="py-op">,</tt> <tt class="py-name">RefRead</tt><tt class="py-op">,</tt> <tt class="py-name">NextReadRef</tt> <tt class="py-op">=</tt> <tt id="link-30" class="py-name"><a title="core.AnalyseMapping.getAllID" class="py-name" href="#" onclick="return doclink('link-30', 'getAllID', 'link-16');">getAllID</a></tt><tt class="py-op">(</tt><tt class="py-name">fileref</ [...]
+<a name="L494"></a><tt class="py-lineno"> 494</tt>  <tt class="py-line">            <tt class="py-name">RefReadRank</tt> <tt class="py-op">=</tt> <tt class="py-name">rankdic</tt><tt class="py-op">[</tt><tt class="py-name">RefRead</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">]</tt> </tt>
+<a name="L495"></a><tt class="py-lineno"> 495</tt>  <tt class="py-line">            <tt class="py-name">MappedReads</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L496"></a><tt class="py-lineno"> 496</tt>  <tt class="py-line">             </tt>
+<a name="L497"></a><tt class="py-lineno"> 497</tt>  <tt class="py-line">             </tt>
+<a name="L498"></a><tt class="py-lineno"> 498</tt>  <tt class="py-line">        <tt class="py-comment"># case 3)</tt> </tt>
+<a name="L499"></a><tt class="py-lineno"> 499</tt>  <tt class="py-line">        <tt class="py-comment">#if (RefRead[0].id == ArtRead[0].id):</tt> </tt>
+<a name="L500"></a><tt class="py-lineno"> 500</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">RefReadRank</tt> <tt class="py-op">==</tt> <tt class="py-name">ArtReadRank</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L501"></a><tt class="py-lineno"> 501</tt>  <tt class="py-line">            <tt class="py-name">MappedReads</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L502"></a><tt class="py-lineno"> 502</tt>  <tt class="py-line">             </tt>
+<a name="L503"></a><tt class="py-lineno"> 503</tt>  <tt class="py-line">            <tt class="py-comment">#same read.id --> compare all Alignments for one read id (can be multiple alignments)</tt> </tt>
+<a name="L504"></a><tt class="py-lineno"> 504</tt>  <tt class="py-line">            <tt class="py-comment"># return unique hits to artificial genome</tt> </tt>
+<a name="L505"></a><tt class="py-lineno"> 505</tt>  <tt class="py-line">            <tt class="py-name">tempTP</tt><tt class="py-op">,</tt><tt class="py-name">tempFP</tt> <tt class="py-op">=</tt> <tt id="link-31" class="py-name" targets="Function core.AnalyseMapping.CompareAlignments()=core.AnalyseMapping-module.html#CompareAlignments"><a title="core.AnalyseMapping.CompareAlignments" class="py-name" href="#" onclick="return doclink('link-31', 'CompareAlignments', 'link-31');">CompareAlig [...]
+<a name="L506"></a><tt class="py-lineno"> 506</tt>  <tt class="py-line">            <tt class="py-name">tp</tt> <tt class="py-op">+=</tt><tt class="py-name">tempTP</tt> </tt>
+<a name="L507"></a><tt class="py-lineno"> 507</tt>  <tt class="py-line">            <tt class="py-name">fp</tt> <tt class="py-op">+=</tt><tt class="py-name">tempFP</tt> </tt>
+<a name="L508"></a><tt class="py-lineno"> 508</tt>  <tt class="py-line">            <tt class="py-comment"># overwrite akku</tt> </tt>
+<a name="L509"></a><tt class="py-lineno"> 509</tt>  <tt class="py-line">            <tt class="py-name">CurrentReadRef</tt> <tt class="py-op">=</tt> <tt class="py-name">NextReadRef</tt> </tt>
+<a name="L510"></a><tt class="py-lineno"> 510</tt>  <tt class="py-line">            <tt class="py-name">CurrentReadArt</tt> <tt class="py-op">=</tt> <tt class="py-name">NextReadArt</tt> </tt>
+<a name="L511"></a><tt class="py-lineno"> 511</tt>  <tt class="py-line">             </tt>
+<a name="L512"></a><tt class="py-lineno"> 512</tt>  <tt class="py-line">             </tt>
+<a name="L513"></a><tt class="py-lineno"> 513</tt>  <tt class="py-line">            <tt class="py-comment"># get next Read for next ID and check if file has a next line</tt> </tt>
+<a name="L514"></a><tt class="py-lineno"> 514</tt>  <tt class="py-line">            <tt class="py-name">hasNextLine</tt><tt class="py-op">,</tt> <tt class="py-name">RefRead</tt><tt class="py-op">,</tt> <tt class="py-name">NextReadRef</tt> <tt class="py-op">=</tt> <tt id="link-32" class="py-name"><a title="core.AnalyseMapping.getAllID" class="py-name" href="#" onclick="return doclink('link-32', 'getAllID', 'link-16');">getAllID</a></tt><tt class="py-op">(</tt><tt class="py-name">fileref</ [...]
+<a name="L515"></a><tt class="py-lineno"> 515</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">hasNextLine</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L516"></a><tt class="py-lineno"> 516</tt>  <tt class="py-line">                <tt class="py-comment">#print "REFBREAK"</tt> </tt>
+<a name="L517"></a><tt class="py-lineno"> 517</tt>  <tt class="py-line">                <tt class="py-name">RefReadRank</tt> <tt class="py-op">=</tt> <tt class="py-name">rankdic</tt><tt class="py-op">[</tt><tt class="py-name">RefRead</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">]</tt> </tt>
+<a name="L518"></a><tt class="py-lineno"> 518</tt>  <tt class="py-line">                <tt class="py-name">RefBool</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L519"></a><tt class="py-lineno"> 519</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L520"></a><tt class="py-lineno"> 520</tt>  <tt class="py-line">             </tt>
+<a name="L521"></a><tt class="py-lineno"> 521</tt>  <tt class="py-line">            <tt class="py-name">hasNextLine</tt><tt class="py-op">,</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">,</tt> <tt class="py-name">NextReadArt</tt> <tt class="py-op">=</tt> <tt id="link-33" class="py-name"><a title="core.AnalyseMapping.getAllID" class="py-name" href="#" onclick="return doclink('link-33', 'getAllID', 'link-16');">getAllID</a></tt><tt class="py-op">(</tt><tt class="py-name">fileart</ [...]
+<a name="L522"></a><tt class="py-lineno"> 522</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">hasNextLine</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L523"></a><tt class="py-lineno"> 523</tt>  <tt class="py-line">                <tt class="py-comment">#print "ARTBREAK"</tt> </tt>
+<a name="L524"></a><tt class="py-lineno"> 524</tt>  <tt class="py-line">                <tt class="py-name">ArtReadRank</tt>  <tt class="py-op">=</tt> <tt class="py-name">RefReadRank</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-keyword">if</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt [...]
+<a name="L525"></a><tt class="py-lineno"> 525</tt>  <tt class="py-line">                <tt class="py-name">ArtBool</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L526"></a><tt class="py-lineno"> 526</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L527"></a><tt class="py-lineno"> 527</tt>  <tt class="py-line"> </tt>
+<a name="L528"></a><tt class="py-lineno"> 528</tt>  <tt class="py-line">    <tt class="py-comment"># if the while loop was broken one read has to be read in the not closed file</tt> </tt>
+<a name="L529"></a><tt class="py-lineno"> 529</tt>  <tt class="py-line">    <tt class="py-name">hasNextLine</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L530"></a><tt class="py-lineno"> 530</tt>  <tt class="py-line">    <tt class="py-comment"># the file which has still some lines is now processed linearly...</tt> </tt>
+<a name="L531"></a><tt class="py-lineno"> 531</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">RefBool</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L532"></a><tt class="py-lineno"> 532</tt>  <tt class="py-line">        <tt class="py-comment">#print ("REF FILE FINISHED!!!")</tt> </tt>
+<a name="L533"></a><tt class="py-lineno"> 533</tt>  <tt class="py-line">        <tt class="py-comment"># reference no lines --> read artificial</tt> </tt>
+<a name="L534"></a><tt class="py-lineno"> 534</tt>  <tt class="py-line">        <tt class="py-name">hasNextLine</tt><tt class="py-op">,</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">,</tt> <tt class="py-name">NextReadArt</tt> <tt class="py-op">=</tt> <tt id="link-34" class="py-name"><a title="core.AnalyseMapping.getAllID" class="py-name" href="#" onclick="return doclink('link-34', 'getAllID', 'link-16');">getAllID</a></tt><tt class="py-op">(</tt><tt class="py-name">fileart</tt>< [...]
+<a name="L535"></a><tt class="py-lineno"> 535</tt>  <tt class="py-line">        <tt class="py-name">ArtReadRank</tt>  <tt class="py-op">=</tt> <tt class="py-name">RefReadRank</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-keyword">if</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <tt cl [...]
+<a name="L536"></a><tt class="py-lineno"> 536</tt>  <tt class="py-line">         </tt>
+<a name="L537"></a><tt class="py-lineno"> 537</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-name">RefReadRank</tt> <tt class="py-op">></tt> <tt class="py-name">ArtReadRank</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasNextLine</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L538"></a><tt class="py-lineno"> 538</tt>  <tt class="py-line">            <tt class="py-name">MappedReads</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L539"></a><tt class="py-lineno"> 539</tt>  <tt class="py-line">            <tt class="py-comment"># in case of multiple hits, set all mr variables to  0 and get the best alignment</tt> </tt>
+<a name="L540"></a><tt class="py-lineno"> 540</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">ArtRead</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L541"></a><tt class="py-lineno"> 541</tt>  <tt class="py-line">                <tt class="py-name">ArtRead</tt><tt class="py-op">[</tt><tt class="py-name">l</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">mr</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L542"></a><tt class="py-lineno"> 542</tt>  <tt class="py-line">     </tt>
+<a name="L543"></a><tt class="py-lineno"> 543</tt>  <tt class="py-line">             <tt class="py-comment"># write current FP to file</tt> </tt>
+<a name="L544"></a><tt class="py-lineno"> 544</tt>  <tt class="py-line">             <tt class="py-comment"># write FP to file</tt> </tt>
+<a name="L545"></a><tt class="py-lineno"> 545</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">hits</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">:</tt> </tt>
+<a name="L546"></a><tt class="py-lineno"> 546</tt>  <tt class="py-line">                <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">hits</tt><tt class="py-op">.</tt><tt id="link-35" class="py-name"><a title="core.AnalyseMapping.CustomRead.toStrNoMem" class="py-name" href="#" onclick="return doclink('link-35', 'toStrNoMem', 'link-19');">toStrNoMem</a></tt><tt class="py-op">(</tt><tt class="py-string">"art"< [...]
+<a name="L547"></a><tt class="py-lineno"> 547</tt>  <tt class="py-line">                <tt class="py-name">fp</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L548"></a><tt class="py-lineno"> 548</tt>  <tt class="py-line">            <tt class="py-comment"># use akku for read lines</tt> </tt>
+<a name="L549"></a><tt class="py-lineno"> 549</tt>  <tt class="py-line">            <tt class="py-name">CurrentReadArt</tt> <tt class="py-op">=</tt> <tt class="py-name">NextReadArt</tt> </tt>
+<a name="L550"></a><tt class="py-lineno"> 550</tt>  <tt class="py-line">            <tt class="py-comment">#get all the reads with the same ID into ArtRead</tt> </tt>
+<a name="L551"></a><tt class="py-lineno"> 551</tt>  <tt class="py-line">            <tt class="py-name">hasNextLine</tt><tt class="py-op">,</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">,</tt> <tt class="py-name">NextReadArt</tt> <tt class="py-op">=</tt> <tt id="link-36" class="py-name"><a title="core.AnalyseMapping.getAllID" class="py-name" href="#" onclick="return doclink('link-36', 'getAllID', 'link-16');">getAllID</a></tt><tt class="py-op">(</tt><tt class="py-name">fileart</ [...]
+<a name="L552"></a><tt class="py-lineno"> 552</tt>  <tt class="py-line">     </tt>
+<a name="L553"></a><tt class="py-lineno"> 553</tt>  <tt class="py-line">            <tt class="py-comment">#update rank</tt> </tt>
+<a name="L554"></a><tt class="py-lineno"> 554</tt>  <tt class="py-line">            <tt class="py-name">ArtReadRank</tt>  <tt class="py-op">=</tt> <tt class="py-name">RefReadRank</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> <tt class="py-keyword">if</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-keyword">not</tt> <tt class="py-keyword">in</tt> <t [...]
+<a name="L555"></a><tt class="py-lineno"> 555</tt>  <tt class="py-line">             </tt>
+<a name="L556"></a><tt class="py-lineno"> 556</tt>  <tt class="py-line">         </tt>
+<a name="L557"></a><tt class="py-lineno"> 557</tt>  <tt class="py-line">         </tt>
+<a name="L558"></a><tt class="py-lineno"> 558</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">RefReadRank</tt> <tt class="py-op">==</tt> <tt class="py-name">ArtReadRank</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L559"></a><tt class="py-lineno"> 559</tt>  <tt class="py-line">            <tt class="py-name">MappedReads</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L560"></a><tt class="py-lineno"> 560</tt>  <tt class="py-line">            <tt class="py-comment">#same read.id --> compare all Alignments for one read id (can be multiple alignments)</tt> </tt>
+<a name="L561"></a><tt class="py-lineno"> 561</tt>  <tt class="py-line">            <tt class="py-comment"># return unique hits to artificial genome</tt> </tt>
+<a name="L562"></a><tt class="py-lineno"> 562</tt>  <tt class="py-line">            <tt class="py-name">tempTP</tt><tt class="py-op">,</tt><tt class="py-name">tempFP</tt> <tt class="py-op">=</tt> <tt id="link-37" class="py-name"><a title="core.AnalyseMapping.CompareAlignments" class="py-name" href="#" onclick="return doclink('link-37', 'CompareAlignments', 'link-31');">CompareAlignments</a></tt><tt class="py-op">(</tt><tt class="py-name">RefRead</tt><tt class="py-op">,</tt> <tt class="py [...]
+<a name="L563"></a><tt class="py-lineno"> 563</tt>  <tt class="py-line">            <tt class="py-name">tp</tt> <tt class="py-op">+=</tt><tt class="py-name">tempTP</tt> </tt>
+<a name="L564"></a><tt class="py-lineno"> 564</tt>  <tt class="py-line">            <tt class="py-name">fp</tt> <tt class="py-op">+=</tt><tt class="py-name">tempFP</tt> </tt>
+<a name="L565"></a><tt class="py-lineno"> 565</tt>  <tt class="py-line">             </tt>
+<a name="L566"></a><tt class="py-lineno"> 566</tt>  <tt class="py-line">             </tt>
+<a name="L567"></a><tt class="py-lineno"> 567</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L568"></a><tt class="py-lineno"> 568</tt>  <tt class="py-line">             </tt>
+<a name="L569"></a><tt class="py-lineno"> 569</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">hasNextLine</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L570"></a><tt class="py-lineno"> 570</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L571"></a><tt class="py-lineno"> 571</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L572"></a><tt class="py-lineno"> 572</tt>  <tt class="py-line">                </tt>
+<a name="L573"></a><tt class="py-lineno"> 573</tt>  <tt class="py-line">                <tt class="py-name">CurrentReadArt</tt> <tt class="py-op">=</tt> <tt class="py-name">NextReadArt</tt> </tt>
+<a name="L574"></a><tt class="py-lineno"> 574</tt>  <tt class="py-line">                <tt class="py-comment"># read next artificial read!</tt> </tt>
+<a name="L575"></a><tt class="py-lineno"> 575</tt>  <tt class="py-line">                <tt class="py-name">hasNextLine</tt><tt class="py-op">,</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">,</tt> <tt class="py-name">NextReadArt</tt> <tt class="py-op">=</tt> <tt id="link-38" class="py-name"><a title="core.AnalyseMapping.getAllID" class="py-name" href="#" onclick="return doclink('link-38', 'getAllID', 'link-16');">getAllID</a></tt><tt class="py-op">(</tt><tt class="py-name">filea [...]
+<a name="L576"></a><tt class="py-lineno"> 576</tt>  <tt class="py-line">                 </tt>
+<a name="L577"></a><tt class="py-lineno"> 577</tt>  <tt class="py-line">             </tt>
+<a name="L578"></a><tt class="py-lineno"> 578</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">hits</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">:</tt> </tt>
+<a name="L579"></a><tt class="py-lineno"> 579</tt>  <tt class="py-line">                <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">hits</tt><tt class="py-op">.</tt><tt id="link-39" class="py-name"><a title="core.AnalyseMapping.CustomRead.toStrNoMem" class="py-name" href="#" onclick="return doclink('link-39', 'toStrNoMem', 'link-19');">toStrNoMem</a></tt><tt class="py-op">(</tt><tt class="py-string">"art"< [...]
+<a name="L580"></a><tt class="py-lineno"> 580</tt>  <tt class="py-line">                <tt class="py-name">fp</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L581"></a><tt class="py-lineno"> 581</tt>  <tt class="py-line">            <tt class="py-name">MappedReads</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L582"></a><tt class="py-lineno"> 582</tt>  <tt class="py-line">             </tt>
+<a name="L583"></a><tt class="py-lineno"> 583</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L584"></a><tt class="py-lineno"> 584</tt>  <tt class="py-line">        <tt class="py-comment"># read again reference file as long as the final read from he artificial file is reached</tt> </tt>
+<a name="L585"></a><tt class="py-lineno"> 585</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-name">RefReadRank</tt> <tt class="py-op"><</tt> <tt class="py-name">ArtReadRank</tt> <tt class="py-keyword">and</tt> <tt class="py-name">hasNextLine</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L586"></a><tt class="py-lineno"> 586</tt>  <tt class="py-line">            <tt class="py-name">MappedReads</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L587"></a><tt class="py-lineno"> 587</tt>  <tt class="py-line">         </tt>
+<a name="L588"></a><tt class="py-lineno"> 588</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">hits</tt> <tt class="py-keyword">in</tt> <tt class="py-name">RefRead</tt><tt class="py-op">:</tt> </tt>
+<a name="L589"></a><tt class="py-lineno"> 589</tt>  <tt class="py-line">                <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">hits</tt><tt class="py-op">.</tt><tt id="link-40" class="py-name"><a title="core.AnalyseMapping.CustomRead.toStrNoMem" class="py-name" href="#" onclick="return doclink('link-40', 'toStrNoMem', 'link-19');">toStrNoMem</a></tt><tt class="py-op">(</tt><tt class="py-string">"ref"< [...]
+<a name="L590"></a><tt class="py-lineno"> 590</tt>  <tt class="py-line">                <tt class="py-name">tp</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L591"></a><tt class="py-lineno"> 591</tt>  <tt class="py-line">            <tt class="py-name">CurrentReadRef</tt> <tt class="py-op">=</tt> <tt class="py-name">NextReadRef</tt> </tt>
+<a name="L592"></a><tt class="py-lineno"> 592</tt>  <tt class="py-line">            <tt class="py-name">hasNextLine</tt><tt class="py-op">,</tt> <tt class="py-name">RefRead</tt><tt class="py-op">,</tt> <tt class="py-name">NextReadRef</tt> <tt class="py-op">=</tt> <tt id="link-41" class="py-name"><a title="core.AnalyseMapping.getAllID" class="py-name" href="#" onclick="return doclink('link-41', 'getAllID', 'link-16');">getAllID</a></tt><tt class="py-op">(</tt><tt class="py-name">fileref</ [...]
+<a name="L593"></a><tt class="py-lineno"> 593</tt>  <tt class="py-line">            <tt class="py-name">RefReadRank</tt> <tt class="py-op">=</tt> <tt class="py-name">rankdic</tt><tt class="py-op">[</tt><tt class="py-name">RefRead</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">id</tt><tt class="py-op">]</tt> </tt>
+<a name="L594"></a><tt class="py-lineno"> 594</tt>  <tt class="py-line">         </tt>
+<a name="L595"></a><tt class="py-lineno"> 595</tt>  <tt class="py-line">         </tt>
+<a name="L596"></a><tt class="py-lineno"> 596</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">RefReadRank</tt> <tt class="py-op">==</tt> <tt class="py-name">ArtReadRank</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L597"></a><tt class="py-lineno"> 597</tt>  <tt class="py-line">            <tt class="py-name">MappedReads</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L598"></a><tt class="py-lineno"> 598</tt>  <tt class="py-line">            <tt class="py-comment">#same read.id --> compare all Alignments for one read id (can be multiple alignments)</tt> </tt>
+<a name="L599"></a><tt class="py-lineno"> 599</tt>  <tt class="py-line">            <tt class="py-comment"># return unique hits to artificial genome</tt> </tt>
+<a name="L600"></a><tt class="py-lineno"> 600</tt>  <tt class="py-line">            <tt class="py-name">tempTP</tt><tt class="py-op">,</tt><tt class="py-name">tempFP</tt> <tt class="py-op">=</tt> <tt id="link-42" class="py-name"><a title="core.AnalyseMapping.CompareAlignments" class="py-name" href="#" onclick="return doclink('link-42', 'CompareAlignments', 'link-31');">CompareAlignments</a></tt><tt class="py-op">(</tt><tt class="py-name">RefRead</tt><tt class="py-op">,</tt> <tt class="py [...]
+<a name="L601"></a><tt class="py-lineno"> 601</tt>  <tt class="py-line">            <tt class="py-name">tp</tt> <tt class="py-op">+=</tt><tt class="py-name">tempTP</tt> </tt>
+<a name="L602"></a><tt class="py-lineno"> 602</tt>  <tt class="py-line">            <tt class="py-name">fp</tt> <tt class="py-op">+=</tt><tt class="py-name">tempFP</tt> </tt>
+<a name="L603"></a><tt class="py-lineno"> 603</tt>  <tt class="py-line"> </tt>
+<a name="L604"></a><tt class="py-lineno"> 604</tt>  <tt class="py-line">         </tt>
+<a name="L605"></a><tt class="py-lineno"> 605</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L606"></a><tt class="py-lineno"> 606</tt>  <tt class="py-line">            <tt class="py-name">MappedReads</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L607"></a><tt class="py-lineno"> 607</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">hits</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ArtRead</tt><tt class="py-op">:</tt> </tt>
+<a name="L608"></a><tt class="py-lineno"> 608</tt>  <tt class="py-line">                <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">hits</tt><tt class="py-op">.</tt><tt id="link-43" class="py-name"><a title="core.AnalyseMapping.CustomRead.toStrNoMem" class="py-name" href="#" onclick="return doclink('link-43', 'toStrNoMem', 'link-19');">toStrNoMem</a></tt><tt class="py-op">(</tt><tt class="py-string">"art"< [...]
+<a name="L609"></a><tt class="py-lineno"> 609</tt>  <tt class="py-line">                <tt class="py-name">fp</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L610"></a><tt class="py-lineno"> 610</tt>  <tt class="py-line">         </tt>
+<a name="L611"></a><tt class="py-lineno"> 611</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-number">1</tt><tt class="py-op">:</tt> </tt>
+<a name="L612"></a><tt class="py-lineno"> 612</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">hasNextLine</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L613"></a><tt class="py-lineno"> 613</tt>  <tt class="py-line">                    <tt class="py-name">MappedReads</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L614"></a><tt class="py-lineno"> 614</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">hits</tt> <tt class="py-keyword">in</tt> <tt class="py-name">RefRead</tt><tt class="py-op">:</tt> </tt>
+<a name="L615"></a><tt class="py-lineno"> 615</tt>  <tt class="py-line">                        <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">hits</tt><tt class="py-op">.</tt><tt id="link-44" class="py-name"><a title="core.AnalyseMapping.CustomRead.toStrNoMem" class="py-name" href="#" onclick="return doclink('link-44', 'toStrNoMem', 'link-19');">toStrNoMem</a></tt><tt class="py-op">(</tt><tt class="py-string [...]
+<a name="L616"></a><tt class="py-lineno"> 616</tt>  <tt class="py-line">                        <tt class="py-name">tp</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L617"></a><tt class="py-lineno"> 617</tt>  <tt class="py-line">                     </tt>
+<a name="L618"></a><tt class="py-lineno"> 618</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L619"></a><tt class="py-lineno"> 619</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L620"></a><tt class="py-lineno"> 620</tt>  <tt class="py-line">                    <tt class="py-name">CurrentReadRef</tt> <tt class="py-op">=</tt> <tt class="py-name">NextReadRef</tt> </tt>
+<a name="L621"></a><tt class="py-lineno"> 621</tt>  <tt class="py-line">                    <tt class="py-name">MappedReads</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L622"></a><tt class="py-lineno"> 622</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">hits</tt> <tt class="py-keyword">in</tt> <tt class="py-name">RefRead</tt><tt class="py-op">:</tt> </tt>
+<a name="L623"></a><tt class="py-lineno"> 623</tt>  <tt class="py-line">                        <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">hits</tt><tt class="py-op">.</tt><tt id="link-45" class="py-name"><a title="core.AnalyseMapping.CustomRead.toStrNoMem" class="py-name" href="#" onclick="return doclink('link-45', 'toStrNoMem', 'link-19');">toStrNoMem</a></tt><tt class="py-op">(</tt><tt class="py-string [...]
+<a name="L624"></a><tt class="py-lineno"> 624</tt>  <tt class="py-line">                        <tt class="py-name">tp</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L625"></a><tt class="py-lineno"> 625</tt>  <tt class="py-line">                <tt class="py-name">hasNextLine</tt><tt class="py-op">,</tt> <tt class="py-name">RefRead</tt><tt class="py-op">,</tt> <tt class="py-name">NextReadRef</tt> <tt class="py-op">=</tt> <tt id="link-46" class="py-name"><a title="core.AnalyseMapping.getAllID" class="py-name" href="#" onclick="return doclink('link-46', 'getAllID', 'link-16');">getAllID</a></tt><tt class="py-op">(</tt><tt class="py-name">filer [...]
+<a name="L626"></a><tt class="py-lineno"> 626</tt>  <tt class="py-line"> </tt>
+<a name="L627"></a><tt class="py-lineno"> 627</tt>  <tt class="py-line">    <tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L628"></a><tt class="py-lineno"> 628</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-string">"\t\t%f\t\t"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">end</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L629"></a><tt class="py-lineno"> 629</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L630"></a><tt class="py-lineno"> 630</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">tp</tt><tt class="py-op">,</tt> <tt class="py-name">fp</tt><tt class="py-op">,</tt><tt class="py-name">tp</tt><tt class="py-op">+</tt><tt class="py-name">fp</tt><tt class="py-op">,</tt><tt class="py-name">MappedReads</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L631"></a><tt class="py-lineno"> 631</tt>  <tt class="py-line"><tt class="py-comment">##################END: FUNCTIONS FOR NO-MEMORY ANALYSIS ####################</tt> </tt>
+<a name="L632"></a><tt class="py-lineno"> 632</tt>  <tt class="py-line"> </tt>
+<a name="L633"></a><tt class="py-lineno"> 633</tt>  <tt class="py-line"> </tt>
+<a name="getNumberOf"></a><div id="getNumberOf-def"><a name="L634"></a><tt class="py-lineno"> 634</tt> <a class="py-toggle" href="#" id="getNumberOf-toggle" onclick="return toggle('getNumberOf');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#getNumberOf">getNumberOf</a><tt class="py-op">(</tt><tt class="py-param">line</tt><tt class="py-op">,</tt> <tt class="py-param">tag</tt><tt class="py-op">)</tt><tt class="py-op" [...]
+</div><div id="getNumberOf-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="getNumberOf-expanded"><a name="L635"></a><tt class="py-lineno"> 635</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L636"></a><tt class="py-lineno"> 636</tt>  <tt class="py-line"><tt class="py-docstring">    Reads the alignment tag, given the text and a tag to search for.</tt> </tt>
+<a name="L637"></a><tt class="py-lineno"> 637</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L638"></a><tt class="py-lineno"> 638</tt>  <tt class="py-line"><tt class="py-docstring">    @type  line: string</tt> </tt>
+<a name="L639"></a><tt class="py-lineno"> 639</tt>  <tt class="py-line"><tt class="py-docstring">    @param line: SAM line</tt> </tt>
+<a name="L640"></a><tt class="py-lineno"> 640</tt>  <tt class="py-line"><tt class="py-docstring">    @type  tag: string</tt> </tt>
+<a name="L641"></a><tt class="py-lineno"> 641</tt>  <tt class="py-line"><tt class="py-docstring">    @param tag: SAM tag. i.e: NM,MD</tt> </tt>
+<a name="L642"></a><tt class="py-lineno"> 642</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   int</tt> </tt>
+<a name="L643"></a><tt class="py-lineno"> 643</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  number x behind desired tag tag:i:x</tt> </tt>
+<a name="L644"></a><tt class="py-lineno"> 644</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L645"></a><tt class="py-lineno"> 645</tt>  <tt class="py-line"> </tt>
+<a name="L646"></a><tt class="py-lineno"> 646</tt>  <tt class="py-line">    <tt class="py-comment"># gives the number of XX back</tt> </tt>
+<a name="L647"></a><tt class="py-lineno"> 647</tt>  <tt class="py-line">    <tt class="py-comment"># valid tags: X0,XM (number of missmatches</tt> </tt>
+<a name="L648"></a><tt class="py-lineno"> 648</tt>  <tt class="py-line">    <tt class="py-name">m</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-name">tag</tt> <tt class="py-op">+</tt> <tt class="py-string">":i:(\d+)"</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt><tt class="py-op">)</tt> </tt>
+<a name="L649"></a><tt class="py-lineno"> 649</tt>  <tt class="py-line">    <tt class="py-name">besthits</tt> <tt class="py-op">=</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L650"></a><tt class="py-lineno"> 650</tt>  <tt class="py-line">       </tt>
+<a name="L651"></a><tt class="py-lineno"> 651</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">besthits</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L652"></a><tt class="py-lineno"> 652</tt>  <tt class="py-line"> </tt>
+<a name="getsum"></a><div id="getsum-def"><a name="L653"></a><tt class="py-lineno"> 653</tt> <a class="py-toggle" href="#" id="getsum-toggle" onclick="return toggle('getsum');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#getsum">getsum</a><tt class="py-op">(</tt><tt class="py-param">strlist</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="getsum-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="getsum-expanded"><a name="L654"></a><tt class="py-lineno"> 654</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L655"></a><tt class="py-lineno"> 655</tt>  <tt class="py-line"><tt class="py-docstring">    Sum of strings (as ints)</tt> </tt>
+<a name="L656"></a><tt class="py-lineno"> 656</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L657"></a><tt class="py-lineno"> 657</tt>  <tt class="py-line"><tt class="py-docstring">    @type  strlist: list(str)</tt> </tt>
+<a name="L658"></a><tt class="py-lineno"> 658</tt>  <tt class="py-line"><tt class="py-docstring">    @param strlist: SAM line</tt> </tt>
+<a name="L659"></a><tt class="py-lineno"> 659</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L660"></a><tt class="py-lineno"> 660</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   int</tt> </tt>
+<a name="L661"></a><tt class="py-lineno"> 661</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  MD tag calculation.</tt> </tt>
+<a name="L662"></a><tt class="py-lineno"> 662</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L663"></a><tt class="py-lineno"> 663</tt>  <tt class="py-line"> </tt>
+<a name="L664"></a><tt class="py-lineno"> 664</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">strlist</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class [...]
+</div><a name="L665"></a><tt class="py-lineno"> 665</tt>  <tt class="py-line"> </tt>
+<a name="getmean"></a><div id="getmean-def"><a name="L666"></a><tt class="py-lineno"> 666</tt> <a class="py-toggle" href="#" id="getmean-toggle" onclick="return toggle('getmean');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#getmean">getmean</a><tt class="py-op">(</tt><tt class="py-param">strlist</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="getmean-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="getmean-expanded"><a name="L667"></a><tt class="py-lineno"> 667</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L668"></a><tt class="py-lineno"> 668</tt>  <tt class="py-line"><tt class="py-docstring">    Mean of strings.</tt> </tt>
+<a name="L669"></a><tt class="py-lineno"> 669</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L670"></a><tt class="py-lineno"> 670</tt>  <tt class="py-line"><tt class="py-docstring">    @type  strlist: list(str)</tt> </tt>
+<a name="L671"></a><tt class="py-lineno"> 671</tt>  <tt class="py-line"><tt class="py-docstring">    @param strlist: SAM line</tt> </tt>
+<a name="L672"></a><tt class="py-lineno"> 672</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L673"></a><tt class="py-lineno"> 673</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   float</tt> </tt>
+<a name="L674"></a><tt class="py-lineno"> 674</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  mean</tt> </tt>
+<a name="L675"></a><tt class="py-lineno"> 675</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L676"></a><tt class="py-lineno"> 676</tt>  <tt class="py-line">    <tt class="py-name">sum</tt> <tt class="py-op">=</tt> <tt id="link-47" class="py-name"><a title="core.AnalyseMapping.getsum" class="py-name" href="#" onclick="return doclink('link-47', 'getsum', 'link-5');">getsum</a></tt><tt class="py-op">(</tt><tt class="py-name">strlist</tt><tt class="py-op">)</tt> </tt>
+<a name="L677"></a><tt class="py-lineno"> 677</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">sum</tt><tt class="py-op">/</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">strlist</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L678"></a><tt class="py-lineno"> 678</tt>  <tt class="py-line"> </tt>
+<a name="L679"></a><tt class="py-lineno"> 679</tt>  <tt class="py-line"> </tt>
+<a name="ComputeRQScore"></a><div id="ComputeRQScore-def"><a name="L680"></a><tt class="py-lineno"> 680</tt> <a class="py-toggle" href="#" id="ComputeRQScore-toggle" onclick="return toggle('ComputeRQScore');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#ComputeRQScore">ComputeRQScore</a><tt class="py-op">(</tt><tt class="py-param">quality</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="ComputeRQScore-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ComputeRQScore-expanded"><a name="L681"></a><tt class="py-lineno"> 681</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L682"></a><tt class="py-lineno"> 682</tt>  <tt class="py-line"><tt class="py-docstring">    Computes the ReadQualityScore given a quality string</tt> </tt>
+<a name="L683"></a><tt class="py-lineno"> 683</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L684"></a><tt class="py-lineno"> 684</tt>  <tt class="py-line"><tt class="py-docstring">    @type  quality: string</tt> </tt>
+<a name="L685"></a><tt class="py-lineno"> 685</tt>  <tt class="py-line"><tt class="py-docstring">    @param quality: quality string of a read.</tt> </tt>
+<a name="L686"></a><tt class="py-lineno"> 686</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L687"></a><tt class="py-lineno"> 687</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   float</tt> </tt>
+<a name="L688"></a><tt class="py-lineno"> 688</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  ReadQualityScore (RQS)</tt> </tt>
+<a name="L689"></a><tt class="py-lineno"> 689</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L690"></a><tt class="py-lineno"> 690</tt>  <tt class="py-line">    <tt class="py-comment"># phred --> -33</tt> </tt>
+<a name="L691"></a><tt class="py-lineno"> 691</tt>  <tt class="py-line">    <tt class="py-name">qualarray</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">ord</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">33</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">quality</tt><tt class="py-op">]</tt> </tt>
+<a name="L692"></a><tt class="py-lineno"> 692</tt>  <tt class="py-line">    <tt class="py-comment"># solexa --> -64</tt> </tt>
+<a name="L693"></a><tt class="py-lineno"> 693</tt>  <tt class="py-line">    <tt class="py-name">score</tt> <tt class="py-op">=</tt><tt class="py-op">(</tt> <tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-name">qualarray</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">qualarray</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py- [...]
+<a name="L694"></a><tt class="py-lineno"> 694</tt>  <tt class="py-line"> </tt>
+<a name="L695"></a><tt class="py-lineno"> 695</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">score</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L696"></a><tt class="py-lineno"> 696</tt>  <tt class="py-line"> </tt>
+<a name="L697"></a><tt class="py-lineno"> 697</tt>  <tt class="py-line"> </tt>
+<a name="getAlignmentLength"></a><div id="getAlignmentLength-def"><a name="L698"></a><tt class="py-lineno"> 698</tt> <a class="py-toggle" href="#" id="getAlignmentLength-toggle" onclick="return toggle('getAlignmentLength');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#getAlignmentLength">getAlignmentLength</a><tt class="py-op">(</tt><tt class="py-param">cigar</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="getAlignmentLength-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="getAlignmentLength-expanded"><a name="L699"></a><tt class="py-lineno"> 699</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L700"></a><tt class="py-lineno"> 700</tt>  <tt class="py-line"><tt class="py-docstring">    Computes the alignment length given a cigar string. Needed for Start + End calculation.</tt> </tt>
+<a name="L701"></a><tt class="py-lineno"> 701</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L702"></a><tt class="py-lineno"> 702</tt>  <tt class="py-line"><tt class="py-docstring">    @type  cigar: string</tt> </tt>
+<a name="L703"></a><tt class="py-lineno"> 703</tt>  <tt class="py-line"><tt class="py-docstring">    @param cigar: Cigar string (SAM)</tt> </tt>
+<a name="L704"></a><tt class="py-lineno"> 704</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L705"></a><tt class="py-lineno"> 705</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   int</tt> </tt>
+<a name="L706"></a><tt class="py-lineno"> 706</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  alignmentlength</tt> </tt>
+<a name="L707"></a><tt class="py-lineno"> 707</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L708"></a><tt class="py-lineno"> 708</tt>  <tt class="py-line">    <tt class="py-comment"># I - insertions do not extend the alignment</tt> </tt>
+<a name="L709"></a><tt class="py-lineno"> 709</tt>  <tt class="py-line">    <tt class="py-comment"># S - does not extend...</tt> </tt>
+<a name="L710"></a><tt class="py-lineno"> 710</tt>  <tt class="py-line">    <tt class="py-comment"># P - does not extend...</tt> </tt>
+<a name="L711"></a><tt class="py-lineno"> 711</tt>  <tt class="py-line">    <tt class="py-comment"># H - does not extend...</tt> </tt>
+<a name="L712"></a><tt class="py-lineno"> 712</tt>  <tt class="py-line">    <tt class="py-name">match</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">findall</tt><tt class="py-op">(</tt><tt class="py-string">"(\d+)[MDN]"</tt><tt class="py-op">,</tt> <tt class="py-name">cigar</tt><tt class="py-op">)</tt> </tt>
+<a name="L713"></a><tt class="py-lineno"> 713</tt>  <tt class="py-line">    <tt class="py-name">sumOfMatches</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L714"></a><tt class="py-lineno"> 714</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">match</tt><tt class="py-op">:</tt> </tt>
+<a name="L715"></a><tt class="py-lineno"> 715</tt>  <tt class="py-line">        <tt class="py-name">sumOfMatches</tt> <tt class="py-op">+=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L716"></a><tt class="py-lineno"> 716</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">sumOfMatches</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L717"></a><tt class="py-lineno"> 717</tt>  <tt class="py-line"> </tt>
+<a name="L718"></a><tt class="py-lineno"> 718</tt>  <tt class="py-line"> </tt>
+<a name="isSaneAlignment"></a><div id="isSaneAlignment-def"><a name="L719"></a><tt class="py-lineno"> 719</tt> <a class="py-toggle" href="#" id="isSaneAlignment-toggle" onclick="return toggle('isSaneAlignment');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#isSaneAlignment">isSaneAlignment</a><tt class="py-op">(</tt><tt class="py-param">alignment</tt><tt class="py-op">,</tt> <tt class="py-param">identifier</tt><tt c [...]
+</div><div id="isSaneAlignment-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="isSaneAlignment-expanded"><a name="L720"></a><tt class="py-lineno"> 720</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L721"></a><tt class="py-lineno"> 721</tt>  <tt class="py-line"><tt class="py-docstring">    Checks alignment line for unnecessary informations to skip </tt> </tt>
+<a name="L722"></a><tt class="py-lineno"> 722</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L723"></a><tt class="py-lineno"> 723</tt>  <tt class="py-line"><tt class="py-docstring">    @type  alignment: string</tt> </tt>
+<a name="L724"></a><tt class="py-lineno"> 724</tt>  <tt class="py-line"><tt class="py-docstring">    @param alignment: Line from SAM</tt> </tt>
+<a name="L725"></a><tt class="py-lineno"> 725</tt>  <tt class="py-line"><tt class="py-docstring">    @type  identifier: string</tt> </tt>
+<a name="L726"></a><tt class="py-lineno"> 726</tt>  <tt class="py-line"><tt class="py-docstring">    @param identifier: read id</tt> </tt>
+<a name="L727"></a><tt class="py-lineno"> 727</tt>  <tt class="py-line"><tt class="py-docstring">    @type  compareList: list</tt> </tt>
+<a name="L728"></a><tt class="py-lineno"> 728</tt>  <tt class="py-line"><tt class="py-docstring">    @param compareList: list of alignments with same read id.</tt> </tt>
+<a name="L729"></a><tt class="py-lineno"> 729</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readdic: dictionary</tt> </tt>
+<a name="L730"></a><tt class="py-lineno"> 730</tt>  <tt class="py-line"><tt class="py-docstring">    @param readdic: Dictionary containg a read id; read quality mapping</tt> </tt>
+<a name="L731"></a><tt class="py-lineno"> 731</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   readobj, readname</tt> </tt>
+<a name="L732"></a><tt class="py-lineno"> 732</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Returns the read and it's identifier.</tt> </tt>
+<a name="L733"></a><tt class="py-lineno"> 733</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L734"></a><tt class="py-lineno"> 734</tt>  <tt class="py-line">     </tt>
+<a name="L735"></a><tt class="py-lineno"> 735</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">alignment</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"@"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L736"></a><tt class="py-lineno"> 736</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L737"></a><tt class="py-lineno"> 737</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L738"></a><tt class="py-lineno"> 738</tt>  <tt class="py-line">        <tt class="py-name">read</tt><tt class="py-op">,</tt> <tt class="py-name">readname</tt> <tt class="py-op">=</tt> <tt id="link-48" class="py-name"><a title="core.AnalyseMapping.readSAMline" class="py-name" href="#" onclick="return doclink('link-48', 'readSAMline', 'link-10');">readSAMline</a></tt><tt class="py-op">(</tt><tt class="py-name">alignment</tt><tt class="py-op">,</tt> <tt class="py-name">identifier</ [...]
+<a name="L739"></a><tt class="py-lineno"> 739</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">read</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L740"></a><tt class="py-lineno"> 740</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L741"></a><tt class="py-lineno"> 741</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L742"></a><tt class="py-lineno"> 742</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">,</tt> <tt class="py-name">readname</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L743"></a><tt class="py-lineno"> 743</tt>  <tt class="py-line"> </tt>
+<a name="L744"></a><tt class="py-lineno"> 744</tt>  <tt class="py-line"> </tt>
+<a name="CheckForSameAlignments"></a><div id="CheckForSameAlignments-def"><a name="L745"></a><tt class="py-lineno"> 745</tt> <a class="py-toggle" href="#" id="CheckForSameAlignments-toggle" onclick="return toggle('CheckForSameAlignments');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#CheckForSameAlignments">CheckForSameAlignments</a><tt class="py-op">(</tt><tt class="py-param">readref</tt><tt class="py-op">,</tt> < [...]
+</div><div id="CheckForSameAlignments-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="CheckForSameAlignments-expanded"><a name="L746"></a><tt class="py-lineno"> 746</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L747"></a><tt class="py-lineno"> 747</tt>  <tt class="py-line"><tt class="py-docstring">    Function for comparison of artificial alignments and reference alignments. FP are defined such that start and end position must be unique to the artificial reference</tt> </tt>
+<a name="L748"></a><tt class="py-lineno"> 748</tt>  <tt class="py-line"><tt class="py-docstring">    returns 0 if no same read is found (FP found)</tt> </tt>
+<a name="L749"></a><tt class="py-lineno"> 749</tt>  <tt class="py-line"><tt class="py-docstring">    returns 1 if an equal alignment is found</tt> </tt>
+<a name="L750"></a><tt class="py-lineno"> 750</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L751"></a><tt class="py-lineno"> 751</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readref: read obj.</tt> </tt>
+<a name="L752"></a><tt class="py-lineno"> 752</tt>  <tt class="py-line"><tt class="py-docstring">    @param readref: reference</tt> </tt>
+<a name="L753"></a><tt class="py-lineno"> 753</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readart: read obj.</tt> </tt>
+<a name="L754"></a><tt class="py-lineno"> 754</tt>  <tt class="py-line"><tt class="py-docstring">    @param readart: artificial</tt> </tt>
+<a name="L755"></a><tt class="py-lineno"> 755</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   bool</tt> </tt>
+<a name="L756"></a><tt class="py-lineno"> 756</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Indicator if alignment is the same (start & end equal)</tt> </tt>
+<a name="L757"></a><tt class="py-lineno"> 757</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L758"></a><tt class="py-lineno"> 758</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">readref</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L759"></a><tt class="py-lineno"> 759</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">readref</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-op">==</tt> <tt class="py-name">readart</tt><tt class="py-op">.</tt><tt class="py-name">start</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt cla [...]
+<a name="L760"></a><tt class="py-lineno"> 760</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L761"></a><tt class="py-lineno"> 761</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L762"></a><tt class="py-lineno"> 762</tt>  <tt class="py-line"> </tt>
+<a name="L763"></a><tt class="py-lineno"> 763</tt>  <tt class="py-line"> </tt>
+<a name="L764"></a><tt class="py-lineno"> 764</tt>  <tt class="py-line"> </tt>
+<a name="getHammingdistance"></a><div id="getHammingdistance-def"><a name="L765"></a><tt class="py-lineno"> 765</tt> <a class="py-toggle" href="#" id="getHammingdistance-toggle" onclick="return toggle('getHammingdistance');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#getHammingdistance">getHammingdistance</a><tt class="py-op">(</tt><tt class="py-param">CompareString</tt><tt class="py-op">,</tt> <tt class="py-param [...]
+</div><div id="getHammingdistance-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="getHammingdistance-expanded"><a name="L766"></a><tt class="py-lineno"> 766</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L767"></a><tt class="py-lineno"> 767</tt>  <tt class="py-line"><tt class="py-docstring">    Computes the number of subsitutions in the artificial reference using the CompareString.</tt> </tt>
+<a name="L768"></a><tt class="py-lineno"> 768</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L769"></a><tt class="py-lineno"> 769</tt>  <tt class="py-line"><tt class="py-docstring">    @type  CompareString: string</tt> </tt>
+<a name="L770"></a><tt class="py-lineno"> 770</tt>  <tt class="py-line"><tt class="py-docstring">    @param CompareString: string of 0 and 1s. 1 = hamming 1 between reference and artificial.</tt> </tt>
+<a name="L771"></a><tt class="py-lineno"> 771</tt>  <tt class="py-line"><tt class="py-docstring">    @type  start: int</tt> </tt>
+<a name="L772"></a><tt class="py-lineno"> 772</tt>  <tt class="py-line"><tt class="py-docstring">    @param start: start of alignment</tt> </tt>
+<a name="L773"></a><tt class="py-lineno"> 773</tt>  <tt class="py-line"><tt class="py-docstring">    @type  end: int</tt> </tt>
+<a name="L774"></a><tt class="py-lineno"> 774</tt>  <tt class="py-line"><tt class="py-docstring">    @param end: end ofalignment</tt> </tt>
+<a name="L775"></a><tt class="py-lineno"> 775</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   int</tt> </tt>
+<a name="L776"></a><tt class="py-lineno"> 776</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  hamming distance</tt> </tt>
+<a name="L777"></a><tt class="py-lineno"> 777</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L778"></a><tt class="py-lineno"> 778</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-name">CompareString</tt><tt class="py-op">[</tt><tt class="py-name">start</tt><tt class="py-op">:</tt><tt class="py-name">end</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L779"></a><tt class="py-lineno"> 779</tt>  <tt class="py-line">     </tt>
+<a name="L780"></a><tt class="py-lineno"> 780</tt>  <tt class="py-line"> </tt>
+<a name="readReadQualities"></a><div id="readReadQualities-def"><a name="L781"></a><tt class="py-lineno"> 781</tt> <a class="py-toggle" href="#" id="readReadQualities-toggle" onclick="return toggle('readReadQualities');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#readReadQualities">readReadQualities</a><tt class="py-op">(</tt><tt class="py-param">fastqfile</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="readReadQualities-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="readReadQualities-expanded"><a name="L782"></a><tt class="py-lineno"> 782</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L783"></a><tt class="py-lineno"> 783</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L784"></a><tt class="py-lineno"> 784</tt>  <tt class="py-line"><tt class="py-docstring">    Reads a .fastqfile and calculates a defined readscore </tt> </tt>
+<a name="L785"></a><tt class="py-lineno"> 785</tt>  <tt class="py-line"><tt class="py-docstring">    input: fastq file</tt> </tt>
+<a name="L786"></a><tt class="py-lineno"> 786</tt>  <tt class="py-line"><tt class="py-docstring">    output: fastq dictionary key = readid; value = qualstr </tt> </tt>
+<a name="L787"></a><tt class="py-lineno"> 787</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L788"></a><tt class="py-lineno"> 788</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L789"></a><tt class="py-lineno"> 789</tt>  <tt class="py-line"><tt class="py-docstring">    @type  fastqfile: string</tt> </tt>
+<a name="L790"></a><tt class="py-lineno"> 790</tt>  <tt class="py-line"><tt class="py-docstring">    @param fastqfile: path to fastq file</tt> </tt>
+<a name="L791"></a><tt class="py-lineno"> 791</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L792"></a><tt class="py-lineno"> 792</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   dictionary</tt> </tt>
+<a name="L793"></a><tt class="py-lineno"> 793</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  dictionary containing read ids and read qualities.</tt> </tt>
+<a name="L794"></a><tt class="py-lineno"> 794</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L795"></a><tt class="py-lineno"> 795</tt>  <tt class="py-line">    <tt class="py-name">fastq_file</tt> <tt class="py-op">=</tt> <tt class="py-name">HTSeq</tt><tt class="py-op">.</tt><tt class="py-name">FastqReader</tt><tt class="py-op">(</tt><tt class="py-name">fastqfile</tt> <tt class="py-op">,</tt> <tt class="py-string">"phred"</tt><tt class="py-op">)</tt> </tt>
+<a name="L796"></a><tt class="py-lineno"> 796</tt>  <tt class="py-line">    <tt class="py-name">readdictionary</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L797"></a><tt class="py-lineno"> 797</tt>  <tt class="py-line">     </tt>
+<a name="L798"></a><tt class="py-lineno"> 798</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">read</tt> <tt class="py-keyword">in</tt> <tt class="py-name">fastq_file</tt><tt class="py-op">:</tt> </tt>
+<a name="L799"></a><tt class="py-lineno"> 799</tt>  <tt class="py-line">        <tt class="py-name">readdictionary</tt><tt class="py-op">[</tt><tt class="py-name">read</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-49" class="py-name" targets="Function core.AnalyseMapping.ComputeRQScore()=core.AnalyseMapping-module.html#ComputeRQScore"><a title="core.AnalyseMapping.ComputeRQScore" class="py-name" href="#" onclick="r [...]
+<a name="L800"></a><tt class="py-lineno"> 800</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"\tReading Fastq file done!"</tt><tt class="py-op">)</tt> </tt>
+<a name="L801"></a><tt class="py-lineno"> 801</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-name">readdictionary</tt> </tt>
+</div><a name="L802"></a><tt class="py-lineno"> 802</tt>  <tt class="py-line"> </tt>
+<a name="L803"></a><tt class="py-lineno"> 803</tt>  <tt class="py-line"> </tt>
+<a name="L804"></a><tt class="py-lineno"> 804</tt>  <tt class="py-line"> </tt>
+<a name="L805"></a><tt class="py-lineno"> 805</tt>  <tt class="py-line"> </tt>
+<a name="extendReadDic"></a><div id="extendReadDic-def"><a name="L806"></a><tt class="py-lineno"> 806</tt> <a class="py-toggle" href="#" id="extendReadDic-toggle" onclick="return toggle('extendReadDic');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#extendReadDic">extendReadDic</a><tt class="py-op">(</tt><tt class="py-param">readdic</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="extendReadDic-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="extendReadDic-expanded"><a name="L807"></a><tt class="py-lineno"> 807</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L808"></a><tt class="py-lineno"> 808</tt>  <tt class="py-line"><tt class="py-docstring">    Extends a given dictionary with KEY = readid and VALUE = qualstr such that an internal naming is generated which can be used to efficiently create an numpy array</tt> </tt>
+<a name="L809"></a><tt class="py-lineno"> 809</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L810"></a><tt class="py-lineno"> 810</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L811"></a><tt class="py-lineno"> 811</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readdic: dictionary</tt> </tt>
+<a name="L812"></a><tt class="py-lineno"> 812</tt>  <tt class="py-line"><tt class="py-docstring">    @param readdic: dictionary containing read ids and read qualities.</tt> </tt>
+<a name="L813"></a><tt class="py-lineno"> 813</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L814"></a><tt class="py-lineno"> 814</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   dictionary</tt> </tt>
+<a name="L815"></a><tt class="py-lineno"> 815</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  extended readdic with KEY = ID, VALUE = READID object with READID.internalid and READID.qulstr = qualstr</tt> </tt>
+<a name="L816"></a><tt class="py-lineno"> 816</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L817"></a><tt class="py-lineno"> 817</tt>  <tt class="py-line">    <tt class="py-name">internalnaming</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L818"></a><tt class="py-lineno"> 818</tt>  <tt class="py-line">    <tt class="py-name">reverseReadDic</tt> <tt class="py-op">=</tt> <tt class="py-name">np</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">readdic</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-string">'S50'</tt><tt class="py-op">)</tt> </tt>
+<a name="L819"></a><tt class="py-lineno"> 819</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">id</tt> <tt class="py-keyword">in</tt> <tt class="py-name">readdic</tt><tt class="py-op">.</tt><tt class="py-name">iterkeys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L820"></a><tt class="py-lineno"> 820</tt>  <tt class="py-line">        <tt class="py-comment"># i</tt> </tt>
+<a name="L821"></a><tt class="py-lineno"> 821</tt>  <tt class="py-line">        <tt class="py-name">readdic</tt><tt class="py-op">[</tt><tt class="py-name">id</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-50" class="py-name" targets="Class core.AnalyseMapping.ReadID=core.AnalyseMapping.ReadID-class.html"><a title="core.AnalyseMapping.ReadID" class="py-name" href="#" onclick="return doclink('link-50', 'ReadID', 'link-50');">ReadID</a></tt><tt class="py-op">(</tt><tt c [...]
+<a name="L822"></a><tt class="py-lineno"> 822</tt>  <tt class="py-line">        <tt class="py-name">reverseReadDic</tt><tt class="py-op">[</tt><tt class="py-name">internalnaming</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">id</tt> </tt>
+<a name="L823"></a><tt class="py-lineno"> 823</tt>  <tt class="py-line">        <tt class="py-name">internalnaming</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L824"></a><tt class="py-lineno"> 824</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">readdic</tt><tt class="py-op">,</tt> <tt class="py-name">reverseReadDic</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L825"></a><tt class="py-lineno"> 825</tt>  <tt class="py-line"> </tt>
+<a name="L826"></a><tt class="py-lineno"> 826</tt>  <tt class="py-line">          </tt>
+<a name="L827"></a><tt class="py-lineno"> 827</tt>  <tt class="py-line"> </tt>
+<a name="returnSequence"></a><div id="returnSequence-def"><a name="L828"></a><tt class="py-lineno"> 828</tt> <a class="py-toggle" href="#" id="returnSequence-toggle" onclick="return toggle('returnSequence');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#returnSequence">returnSequence</a><tt class="py-op">(</tt><tt class="py-param">fasta</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="returnSequence-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="returnSequence-expanded"><a name="L829"></a><tt class="py-lineno"> 829</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L830"></a><tt class="py-lineno"> 830</tt>  <tt class="py-line"><tt class="py-docstring">    Returns a sequence string from a fasta file.</tt> </tt>
+<a name="L831"></a><tt class="py-lineno"> 831</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L832"></a><tt class="py-lineno"> 832</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L833"></a><tt class="py-lineno"> 833</tt>  <tt class="py-line"><tt class="py-docstring">    @type  fasta: string</tt> </tt>
+<a name="L834"></a><tt class="py-lineno"> 834</tt>  <tt class="py-line"><tt class="py-docstring">    @param fasta: path to fasta file.</tt> </tt>
+<a name="L835"></a><tt class="py-lineno"> 835</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L836"></a><tt class="py-lineno"> 836</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   string</tt> </tt>
+<a name="L837"></a><tt class="py-lineno"> 837</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  sequence</tt> </tt>
+<a name="L838"></a><tt class="py-lineno"> 838</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L839"></a><tt class="py-lineno"> 839</tt>  <tt class="py-line">    <tt class="py-name">fastafile</tt> <tt class="py-op">=</tt> <tt class="py-name">HTSeq</tt><tt class="py-op">.</tt><tt class="py-name">FastaReader</tt><tt class="py-op">(</tt><tt class="py-name">fasta</tt><tt class="py-op">)</tt> </tt>
+<a name="L840"></a><tt class="py-lineno"> 840</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">sequence</tt> <tt class="py-keyword">in</tt> <tt class="py-name">fastafile</tt><tt class="py-op">:</tt> </tt>
+<a name="L841"></a><tt class="py-lineno"> 841</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">sequence</tt><tt class="py-op">.</tt><tt class="py-name">seq</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L842"></a><tt class="py-lineno"> 842</tt>  <tt class="py-line">     </tt>
+<a name="L843"></a><tt class="py-lineno"> 843</tt>  <tt class="py-line">     </tt>
+<a name="L844"></a><tt class="py-lineno"> 844</tt>  <tt class="py-line">    </tt>
+<a name="CreateCompareList"></a><div id="CreateCompareList-def"><a name="L845"></a><tt class="py-lineno"> 845</tt> <a class="py-toggle" href="#" id="CreateCompareList-toggle" onclick="return toggle('CreateCompareList');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#CreateCompareList">CreateCompareList</a><tt class="py-op">(</tt><tt class="py-param">Reference</tt><tt class="py-op">,</tt> <tt class="py-param">ARG</tt> [...]
+</div><div id="CreateCompareList-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="CreateCompareList-expanded"><a name="L846"></a><tt class="py-lineno"> 846</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L847"></a><tt class="py-lineno"> 847</tt>  <tt class="py-line"><tt class="py-docstring">    Creates a list which is used for comparisons between aligned reads (exact number of mismatches) </tt> </tt>
+<a name="L848"></a><tt class="py-lineno"> 848</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L849"></a><tt class="py-lineno"> 849</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L850"></a><tt class="py-lineno"> 850</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L851"></a><tt class="py-lineno"> 851</tt>  <tt class="py-line"><tt class="py-docstring">    @type  Reference: string</tt> </tt>
+<a name="L852"></a><tt class="py-lineno"> 852</tt>  <tt class="py-line"><tt class="py-docstring">    @param Reference: reference genome</tt> </tt>
+<a name="L853"></a><tt class="py-lineno"> 853</tt>  <tt class="py-line"><tt class="py-docstring">    @type  ARG: string</tt> </tt>
+<a name="L854"></a><tt class="py-lineno"> 854</tt>  <tt class="py-line"><tt class="py-docstring">    @param ARG: artificial reference genome.</tt> </tt>
+<a name="L855"></a><tt class="py-lineno"> 855</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   list</tt> </tt>
+<a name="L856"></a><tt class="py-lineno"> 856</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  list containt 1s, where there is a difference in the genomes and 0s where the nucleotides are equal.</tt> </tt>
+<a name="L857"></a><tt class="py-lineno"> 857</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L858"></a><tt class="py-lineno"> 858</tt>  <tt class="py-line">     </tt>
+<a name="L859"></a><tt class="py-lineno"> 859</tt>  <tt class="py-line">    <tt class="py-name">reference</tt> <tt class="py-op">=</tt> <tt id="link-51" class="py-name" targets="Function core.AnalyseMapping.returnSequence()=core.AnalyseMapping-module.html#returnSequence"><a title="core.AnalyseMapping.returnSequence" class="py-name" href="#" onclick="return doclink('link-51', 'returnSequence', 'link-51');">returnSequence</a></tt><tt class="py-op">(</tt><tt class="py-name">Reference</tt><t [...]
+<a name="L860"></a><tt class="py-lineno"> 860</tt>  <tt class="py-line">    <tt class="py-name">artificialreference</tt> <tt class="py-op">=</tt> <tt id="link-52" class="py-name"><a title="core.AnalyseMapping.returnSequence" class="py-name" href="#" onclick="return doclink('link-52', 'returnSequence', 'link-51');">returnSequence</a></tt><tt class="py-op">(</tt><tt class="py-name">ARG</tt><tt class="py-op">)</tt> </tt>
+<a name="L861"></a><tt class="py-lineno"> 861</tt>  <tt class="py-line">    <tt class="py-name">complist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L862"></a><tt class="py-lineno"> 862</tt>  <tt class="py-line">     </tt>
+<a name="L863"></a><tt class="py-lineno"> 863</tt>  <tt class="py-line">     </tt>
+<a name="L864"></a><tt class="py-lineno"> 864</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">reference</tt><tt class="py-op">)</tt> <tt class="py-op">!=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">artificialreference</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L865"></a><tt class="py-lineno"> 865</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"first 10 letter:\t\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">reference</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">10</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"..."</tt> <tt class="py-op">+</tt> <tt class="py-name">reference</tt><tt class="py-op">[</t [...]
+<a name="L866"></a><tt class="py-lineno"> 866</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-string">"last 10 letter:\t\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">artificialreference</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py-number">10</tt><tt class="py-op">]</tt> <tt class="py-op">+</tt> <tt class="py-string">"..."</tt> <tt class="py-op">+</tt> <tt class="py-name">artificialreference</tt><tt [...]
+<a name="L867"></a><tt class="py-lineno"> 867</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-string">"Error! Two Sequences have different length! Try to add a line break after the last nucleotide."</tt><tt class="py-op">)</tt> </tt>
+<a name="L868"></a><tt class="py-lineno"> 868</tt>  <tt class="py-line">        <tt class="py-name">sys</tt><tt class="py-op">.</tt><tt class="py-name">exit</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L869"></a><tt class="py-lineno"> 869</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L870"></a><tt class="py-lineno"> 870</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-op">[</tt> <tt class="py-number">0</tt> <tt class="py-keyword">if</tt> <tt class="py-name">x</tt> <tt class="py-op">==</tt> <tt class="py-name">artificialreference</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-keyword">else</tt> <tt class="py-number">1</tt> <tt class="py-keyword">for</tt> <tt [...]
+</div><a name="L871"></a><tt class="py-lineno"> 871</tt>  <tt class="py-line">     </tt>
+<a name="L872"></a><tt class="py-lineno"> 872</tt>  <tt class="py-line"> </tt>
+<a name="L873"></a><tt class="py-lineno"> 873</tt>  <tt class="py-line"> </tt>
+<a name="readSAMline"></a><div id="readSAMline-def"><a name="L874"></a><tt class="py-lineno"> 874</tt> <a class="py-toggle" href="#" id="readSAMline-toggle" onclick="return toggle('readSAMline');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#readSAMline">readSAMline</a><tt class="py-op">(</tt><tt class="py-param">alignment</tt><tt class="py-op">,</tt> <tt class="py-param">identifier</tt><tt class="py-op">,</tt> <tt  [...]
+</div><div id="readSAMline-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="readSAMline-expanded"><a name="L875"></a><tt class="py-lineno"> 875</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L876"></a><tt class="py-lineno"> 876</tt>  <tt class="py-line"><tt class="py-docstring">    Function for reading SAM alignment text file (one line)</tt> </tt>
+<a name="L877"></a><tt class="py-lineno"> 877</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L878"></a><tt class="py-lineno"> 878</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L879"></a><tt class="py-lineno"> 879</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L880"></a><tt class="py-lineno"> 880</tt>  <tt class="py-line"><tt class="py-docstring">    @type  alignment: string</tt> </tt>
+<a name="L881"></a><tt class="py-lineno"> 881</tt>  <tt class="py-line"><tt class="py-docstring">    @param alignment: SAM alignment</tt> </tt>
+<a name="L882"></a><tt class="py-lineno"> 882</tt>  <tt class="py-line"><tt class="py-docstring">    @type  identifier: string</tt> </tt>
+<a name="L883"></a><tt class="py-lineno"> 883</tt>  <tt class="py-line"><tt class="py-docstring">    @param identifier: read id</tt> </tt>
+<a name="L884"></a><tt class="py-lineno"> 884</tt>  <tt class="py-line"><tt class="py-docstring">    @type  compareList: list</tt> </tt>
+<a name="L885"></a><tt class="py-lineno"> 885</tt>  <tt class="py-line"><tt class="py-docstring">    @param compareList: list containt 1s, where there is a difference in the genomes and 0s where the nucleotides are equal.</tt> </tt>
+<a name="L886"></a><tt class="py-lineno"> 886</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readdic: dictionary</tt> </tt>
+<a name="L887"></a><tt class="py-lineno"> 887</tt>  <tt class="py-line"><tt class="py-docstring">    @param readdic: dictionary containing read ids and read qualities.</tt> </tt>
+<a name="L888"></a><tt class="py-lineno"> 888</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   read obj.</tt> </tt>
+<a name="L889"></a><tt class="py-lineno"> 889</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  returns a customRead object</tt> </tt>
+<a name="L890"></a><tt class="py-lineno"> 890</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L891"></a><tt class="py-lineno"> 891</tt>  <tt class="py-line">    <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L892"></a><tt class="py-lineno"> 892</tt>  <tt class="py-line"> </tt>
+<a name="L893"></a><tt class="py-lineno"> 893</tt>  <tt class="py-line">    <tt class="py-comment"># ignore header</tt> </tt>
+<a name="L894"></a><tt class="py-lineno"> 894</tt>  <tt class="py-line">    <tt class="py-name">columns</tt> <tt class="py-op">=</tt> <tt class="py-name">alignment</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\t"</tt><tt class="py-op">)</tt> </tt>
+<a name="L895"></a><tt class="py-lineno"> 895</tt>  <tt class="py-line">    <tt class="py-name">flag</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">columns</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L896"></a><tt class="py-lineno"> 896</tt>  <tt class="py-line">     </tt>
+<a name="L897"></a><tt class="py-lineno"> 897</tt>  <tt class="py-line">    <tt class="py-comment"># flag 4 = not mapped to any genome</tt> </tt>
+<a name="L898"></a><tt class="py-lineno"> 898</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">flag</tt> <tt class="py-op">==</tt> <tt class="py-number">4</tt><tt class="py-op">:</tt> </tt>
+<a name="L899"></a><tt class="py-lineno"> 899</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-string">""</tt><tt class="py-op">)</tt> </tt>
+<a name="L900"></a><tt class="py-lineno"> 900</tt>  <tt class="py-line">         </tt>
+<a name="L901"></a><tt class="py-lineno"> 901</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L902"></a><tt class="py-lineno"> 902</tt>  <tt class="py-line">        </tt>
+<a name="L903"></a><tt class="py-lineno"> 903</tt>  <tt class="py-line">         </tt>
+<a name="L904"></a><tt class="py-lineno"> 904</tt>  <tt class="py-line">        <tt class="py-name">readname</tt> <tt class="py-op">=</tt> <tt class="py-name">columns</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L905"></a><tt class="py-lineno"> 905</tt>  <tt class="py-line">        <tt class="py-name">reference</tt> <tt class="py-op">=</tt> <tt class="py-name">columns</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L906"></a><tt class="py-lineno"> 906</tt>  <tt class="py-line">        <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">columns</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L907"></a><tt class="py-lineno"> 907</tt>  <tt class="py-line">        <tt class="py-name">mappingquality</tt> <tt class="py-op">=</tt> <tt class="py-name">columns</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L908"></a><tt class="py-lineno"> 908</tt>  <tt class="py-line">        <tt class="py-name">cigar</tt> <tt class="py-op">=</tt> <tt class="py-name">columns</tt><tt class="py-op">[</tt><tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L909"></a><tt class="py-lineno"> 909</tt>  <tt class="py-line">        <tt class="py-name">qualstr</tt> <tt class="py-op">=</tt> <tt class="py-name">columns</tt><tt class="py-op">[</tt><tt class="py-number">10</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L910"></a><tt class="py-lineno"> 910</tt>  <tt class="py-line">        <tt class="py-name">tags</tt> <tt class="py-op">=</tt> <tt class="py-string">" "</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">columns</tt><tt class="py-op">[</tt><tt class="py-number">11</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L911"></a><tt class="py-lineno"> 911</tt>  <tt class="py-line">         </tt>
+<a name="L912"></a><tt class="py-lineno"> 912</tt>  <tt class="py-line">        <tt class="py-name">mdtag</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"MD:Z:([^\s]+)"</tt><tt class="py-op">,</tt> <tt class="py-name">tags</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L913"></a><tt class="py-lineno"> 913</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L914"></a><tt class="py-lineno"> 914</tt>  <tt class="py-line">            <tt class="py-name">mdtag</tt> <tt class="py-op">=</tt> <tt class="py-name">re</tt><tt class="py-op">.</tt><tt class="py-name">search</tt><tt class="py-op">(</tt><tt class="py-string">"MD:Z:([^\s]+)"</tt><tt class="py-op">,</tt> <tt class="py-name">tags</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">group</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)< [...]
+<a name="L915"></a><tt class="py-lineno"> 915</tt>  <tt class="py-line">            <tt class="py-name">gaps</tt><tt class="py-op">,</tt> <tt class="py-name">mism</tt> <tt class="py-op">=</tt> <tt id="link-53" class="py-name" targets="Function core.AnalyseMapping.getMisGap()=core.AnalyseMapping-module.html#getMisGap"><a title="core.AnalyseMapping.getMisGap" class="py-name" href="#" onclick="return doclink('link-53', 'getMisGap', 'link-53');">getMisGap</a></tt><tt class="py-op">(</tt><tt  [...]
+<a name="L916"></a><tt class="py-lineno"> 916</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L917"></a><tt class="py-lineno"> 917</tt>  <tt class="py-line">            <tt class="py-name">gaps</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L918"></a><tt class="py-lineno"> 918</tt>  <tt class="py-line">            <tt class="py-name">mism</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L919"></a><tt class="py-lineno"> 919</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-string">"Error Reading MDtag of %s.Setting gaps = 0,mism = 0"</tt> <tt class="py-op">%</tt> <tt class="py-name">readname</tt> </tt>
+<a name="L920"></a><tt class="py-lineno"> 920</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L921"></a><tt class="py-lineno"> 921</tt>  <tt class="py-line">            <tt class="py-name">nm</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt id="link-54" class="py-name" targets="Function core.AnalyseMapping.getNumberOf()=core.AnalyseMapping-module.html#getNumberOf"><a title="core.AnalyseMapping.getNumberOf" class="py-name" href="#" onclick="return doclink('link-54', 'getNumberOf', 'link-54');">getNumberOf</a></tt><tt class="py-op">(</t [...]
+<a name="L922"></a><tt class="py-lineno"> 922</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L923"></a><tt class="py-lineno"> 923</tt>  <tt class="py-line">            <tt class="py-name">nm</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L924"></a><tt class="py-lineno"> 924</tt>  <tt class="py-line">         </tt>
+<a name="L925"></a><tt class="py-lineno"> 925</tt>  <tt class="py-line">        <tt class="py-name">leng</tt> <tt class="py-op">=</tt> <tt id="link-55" class="py-name" targets="Function core.AnalyseMapping.getAlignmentLength()=core.AnalyseMapping-module.html#getAlignmentLength"><a title="core.AnalyseMapping.getAlignmentLength" class="py-name" href="#" onclick="return doclink('link-55', 'getAlignmentLength', 'link-55');">getAlignmentLength</a></tt><tt class="py-op">(</tt><tt class="py-nam [...]
+<a name="L926"></a><tt class="py-lineno"> 926</tt>  <tt class="py-line">         </tt>
+<a name="L927"></a><tt class="py-lineno"> 927</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">qualstr</tt><tt class="py-op">)</tt> <tt class="py-op">==</tt> <tt class="py-number">1</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">qualstr</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt> [...]
+<a name="L928"></a><tt class="py-lineno"> 928</tt>  <tt class="py-line">            <tt class="py-name">score</tt> <tt class="py-op">=</tt> <tt class="py-name">readdic</tt><tt class="py-op">[</tt><tt class="py-name">readname</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">quality</tt> </tt>
+<a name="L929"></a><tt class="py-lineno"> 929</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L930"></a><tt class="py-lineno"> 930</tt>  <tt class="py-line">            <tt class="py-name">score</tt> <tt class="py-op">=</tt> <tt id="link-56" class="py-name"><a title="core.AnalyseMapping.ComputeRQScore" class="py-name" href="#" onclick="return doclink('link-56', 'ComputeRQScore', 'link-49');">ComputeRQScore</a></tt><tt class="py-op">(</tt><tt class="py-name">qualstr</tt><tt class="py-op">)</tt> </tt>
+<a name="L931"></a><tt class="py-lineno"> 931</tt>  <tt class="py-line">         </tt>
+<a name="L932"></a><tt class="py-lineno"> 932</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">identifier</tt> <tt class="py-op">==</tt> <tt class="py-string">"art"</tt><tt class="py-op">:</tt> </tt>
+<a name="L933"></a><tt class="py-lineno"> 933</tt>  <tt class="py-line">            <tt class="py-comment">#tempobj = CustomRead(0,nm, getHammingdistance(compareList, start, start+leng), score, mappingquality,start,start+leng)</tt> </tt>
+<a name="L934"></a><tt class="py-lineno"> 934</tt>  <tt class="py-line">            <tt class="py-name">tempobj</tt> <tt class="py-op">=</tt> <tt id="link-57" class="py-name"><a title="core.AnalyseMapping.CustomRead" class="py-name" href="#" onclick="return doclink('link-57', 'CustomRead', 'link-6');">CustomRead</a></tt><tt class="py-op">(</tt><tt class="py-name">readname</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">nm</tt><tt clas [...]
+<a name="L935"></a><tt class="py-lineno"> 935</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt> <tt class="py-name">identifier</tt> <tt class="py-op">==</tt> <tt class="py-string">"noMem"</tt><tt class="py-op">:</tt> </tt>
+<a name="L936"></a><tt class="py-lineno"> 936</tt>  <tt class="py-line">            <tt class="py-name">tempobj</tt> <tt class="py-op">=</tt> <tt id="link-59" class="py-name"><a title="core.AnalyseMapping.CustomRead" class="py-name" href="#" onclick="return doclink('link-59', 'CustomRead', 'link-6');">CustomRead</a></tt><tt class="py-op">(</tt><tt class="py-name">readname</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-name">nm</tt><tt clas [...]
+<a name="L937"></a><tt class="py-lineno"> 937</tt>  <tt class="py-line">             </tt>
+<a name="L938"></a><tt class="py-lineno"> 938</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L939"></a><tt class="py-lineno"> 939</tt>  <tt class="py-line">            <tt class="py-comment">##########TPRead(nm, score, mq, start, end, gaps, mism)</tt> </tt>
+<a name="L940"></a><tt class="py-lineno"> 940</tt>  <tt class="py-line">            <tt class="py-name">tempobj</tt> <tt class="py-op">=</tt> <tt id="link-61" class="py-name"><a title="core.AnalyseMapping.TPRead" class="py-name" href="#" onclick="return doclink('link-61', 'TPRead', 'link-4');">TPRead</a></tt><tt class="py-op">(</tt><tt class="py-name">nm</tt><tt class="py-op">,</tt> <tt class="py-name">score</tt><tt class="py-op">,</tt> <tt class="py-name">mappingquality</tt><tt class="p [...]
+<a name="L941"></a><tt class="py-lineno"> 941</tt>  <tt class="py-line"> </tt>
+<a name="L942"></a><tt class="py-lineno"> 942</tt>  <tt class="py-line"> </tt>
+<a name="L943"></a><tt class="py-lineno"> 943</tt>  <tt class="py-line"> </tt>
+<a name="L944"></a><tt class="py-lineno"> 944</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">tempobj</tt><tt class="py-op">,</tt> <tt class="py-name">readname</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L945"></a><tt class="py-lineno"> 945</tt>  <tt class="py-line"> </tt>
+<a name="L946"></a><tt class="py-lineno"> 946</tt>  <tt class="py-line"> </tt>
+<a name="L947"></a><tt class="py-lineno"> 947</tt>  <tt class="py-line"> </tt>
+<a name="L948"></a><tt class="py-lineno"> 948</tt>  <tt class="py-line"> </tt>
+<a name="L949"></a><tt class="py-lineno"> 949</tt>  <tt class="py-line"> </tt>
+<a name="returnIndex"></a><div id="returnIndex-def"><a name="L950"></a><tt class="py-lineno"> 950</tt> <a class="py-toggle" href="#" id="returnIndex-toggle" onclick="return toggle('returnIndex');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#returnIndex">returnIndex</a><tt class="py-op">(</tt><tt class="py-param">readdic</tt><tt class="py-op">,</tt> <tt class="py-param">readname</tt><tt class="py-op">)</tt><tt class [...]
+</div><div id="returnIndex-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="returnIndex-expanded"><a name="L951"></a><tt class="py-lineno"> 951</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L952"></a><tt class="py-lineno"> 952</tt>  <tt class="py-line"><tt class="py-docstring">    Returns the index of a read. The index is prescribed by the ordering in the sam file.</tt> </tt>
+<a name="L953"></a><tt class="py-lineno"> 953</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readname: string</tt> </tt>
+<a name="L954"></a><tt class="py-lineno"> 954</tt>  <tt class="py-line"><tt class="py-docstring">    @param readname: read id</tt> </tt>
+<a name="L955"></a><tt class="py-lineno"> 955</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readdic: dictionary</tt> </tt>
+<a name="L956"></a><tt class="py-lineno"> 956</tt>  <tt class="py-line"><tt class="py-docstring">    @param readdic: dictionary containing read ids and read qualities.ArtRead</tt> </tt>
+<a name="L957"></a><tt class="py-lineno"> 957</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype: int</tt> </tt>
+<a name="L958"></a><tt class="py-lineno"> 958</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  index</tt> </tt>
+<a name="L959"></a><tt class="py-lineno"> 959</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L960"></a><tt class="py-lineno"> 960</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">readdic</tt><tt class="py-op">[</tt><tt class="py-name">readname</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">internalID</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L961"></a><tt class="py-lineno"> 961</tt>  <tt class="py-line"> </tt>
+<a name="L962"></a><tt class="py-lineno"> 962</tt>  <tt class="py-line"> </tt>
+<a name="ReadArtificialSAMfileHTSeq"></a><div id="ReadArtificialSAMfileHTSeq-def"><a name="L963"></a><tt class="py-lineno"> 963</tt> <a class="py-toggle" href="#" id="ReadArtificialSAMfileHTSeq-toggle" onclick="return toggle('ReadArtificialSAMfileHTSeq');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#ReadArtificialSAMfileHTSeq">ReadArtificialSAMfileHTSeq</a><tt class="py-op">(</tt><tt class="py-param">art</tt><tt cl [...]
+</div><div id="ReadArtificialSAMfileHTSeq-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ReadArtificialSAMfileHTSeq-expanded"><a name="L964"></a><tt class="py-lineno"> 964</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L965"></a><tt class="py-lineno"> 965</tt>  <tt class="py-line"><tt class="py-docstring">    Function for reading the artificial reference genome using HTSeq.This function is mainly used. Only if no quality string is in the SAM line. The custom</tt> </tt>
+<a name="L966"></a><tt class="py-lineno"> 966</tt>  <tt class="py-line"><tt class="py-docstring">    SAM reading function is used.</tt> </tt>
+<a name="L967"></a><tt class="py-lineno"> 967</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L968"></a><tt class="py-lineno"> 968</tt>  <tt class="py-line"><tt class="py-docstring">    @type  art: string</tt> </tt>
+<a name="L969"></a><tt class="py-lineno"> 969</tt>  <tt class="py-line"><tt class="py-docstring">    @param art: artificial file.</tt> </tt>
+<a name="L970"></a><tt class="py-lineno"> 970</tt>  <tt class="py-line"><tt class="py-docstring">    @type  RefArray: array</tt> </tt>
+<a name="L971"></a><tt class="py-lineno"> 971</tt>  <tt class="py-line"><tt class="py-docstring">    @param RefArray: Results from reading the reference SAM file.</tt> </tt>
+<a name="L972"></a><tt class="py-lineno"> 972</tt>  <tt class="py-line"><tt class="py-docstring">    @type  compareList: list</tt> </tt>
+<a name="L973"></a><tt class="py-lineno"> 973</tt>  <tt class="py-line"><tt class="py-docstring">    @param compareList: list containt 1s, where there is a difference in the genomes and 0s where the nucleotides are equal.</tt> </tt>
+<a name="L974"></a><tt class="py-lineno"> 974</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readdic: dictionary</tt> </tt>
+<a name="L975"></a><tt class="py-lineno"> 975</tt>  <tt class="py-line"><tt class="py-docstring">    @param readdic: dictionary containing read ids and read qualities.</tt> </tt>
+<a name="L976"></a><tt class="py-lineno"> 976</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   array</tt> </tt>
+<a name="L977"></a><tt class="py-lineno"> 977</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  aligned read objects in an array.</tt> </tt>
+<a name="L978"></a><tt class="py-lineno"> 978</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L979"></a><tt class="py-lineno"> 979</tt>  <tt class="py-line">    <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L980"></a><tt class="py-lineno"> 980</tt>  <tt class="py-line">    <tt class="py-comment">#print ("\tARTIFICIAL:")</tt> </tt>
+<a name="L981"></a><tt class="py-lineno"> 981</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">art</tt><tt class="py-op">,</tt> <tt class="py-string">"r"</tt><tt class="py-op">)</tt> </tt>
+<a name="L982"></a><tt class="py-lineno"> 982</tt>  <tt class="py-line">    <tt class="py-name">artdic</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L983"></a><tt class="py-lineno"> 983</tt>  <tt class="py-line">    <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L984"></a><tt class="py-lineno"> 984</tt>  <tt class="py-line">     </tt>
+<a name="L985"></a><tt class="py-lineno"> 985</tt>  <tt class="py-line">    <tt class="py-name">read</tt> <tt class="py-op">=</tt> <tt id="link-62" class="py-name"><a title="core.AnalyseMapping.SkipHeader" class="py-name" href="#" onclick="return doclink('link-62', 'SkipHeader', 'link-22');">SkipHeader</a></tt><tt class="py-op">(</tt><tt class="py-name">fobj</tt><tt class="py-op">,</tt><tt class="py-name">compareList</tt><tt class="py-op">,</tt><tt class="py-name">readdic</tt><tt class=" [...]
+<a name="L986"></a><tt class="py-lineno"> 986</tt>  <tt class="py-line">     </tt>
+<a name="L987"></a><tt class="py-lineno"> 987</tt>  <tt class="py-line">     </tt>
+<a name="L988"></a><tt class="py-lineno"> 988</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">alignment</tt> <tt class="py-keyword">in</tt> <tt class="py-name">fobj</tt><tt class="py-op">:</tt> </tt>
+<a name="L989"></a><tt class="py-lineno"> 989</tt>  <tt class="py-line">        <tt class="py-name">k</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L990"></a><tt class="py-lineno"> 990</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">k</tt> <tt class="py-op">%</tt> <tt class="py-number">1000000</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L991"></a><tt class="py-lineno"> 991</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-string">"%d.."</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">/</tt><tt class="py-number">1000000</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L992"></a><tt class="py-lineno"> 992</tt>  <tt class="py-line">        <tt class="py-name">read</tt><tt class="py-op">,</tt> <tt class="py-name">readname</tt> <tt class="py-op">=</tt> <tt id="link-63" class="py-name" targets="Function core.AnalyseMapping.isSaneAlignment()=core.AnalyseMapping-module.html#isSaneAlignment"><a title="core.AnalyseMapping.isSaneAlignment" class="py-name" href="#" onclick="return doclink('link-63', 'isSaneAlignment', 'link-63');">isSaneAlignment</a></t [...]
+<a name="L993"></a><tt class="py-lineno"> 993</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">read</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L994"></a><tt class="py-lineno"> 994</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L995"></a><tt class="py-lineno"> 995</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L996"></a><tt class="py-lineno"> 996</tt>  <tt class="py-line">            <tt class="py-comment"># Check by internal naming if spot in array is taken (!= 0) by a read</tt> </tt>
+<a name="L997"></a><tt class="py-lineno"> 997</tt>  <tt class="py-line">            <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt id="link-64" class="py-name" targets="Function core.AnalyseMapping.returnIndex()=core.AnalyseMapping-module.html#returnIndex"><a title="core.AnalyseMapping.returnIndex" class="py-name" href="#" onclick="return doclink('link-64', 'returnIndex', 'link-64');">returnIndex</a></tt><tt class="py-op">(</tt><tt class="py-name">readdic</tt><tt class="py-o [...]
+<a name="L998"></a><tt class="py-lineno"> 998</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">RefArray</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L999"></a><tt class="py-lineno"> 999</tt>  <tt class="py-line">                <tt class="py-comment"># read already in dic? Check if the alignments are the same</tt> </tt>
+<a name="L1000"></a><tt class="py-lineno">1000</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">RefArray</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-65" class="py-name" targets="Method core.AnalyseMapping.TPRead.isContained()=core.AnalyseMapping.TPRead-class.html#isContained"><a title="core.AnalyseMapping.TPRead.isContained" class="py-name" href=" [...]
+<a name="L1001"></a><tt class="py-lineno">1001</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">readname</tt> <tt class="py-keyword">in</tt> <tt class="py-name">artdic</tt><tt class="py-op">:</tt> </tt>
+<a name="L1002"></a><tt class="py-lineno">1002</tt>  <tt class="py-line">                        <tt class="py-name">artdic</tt><tt class="py-op">[</tt><tt class="py-name">readname</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-66" class="py-name" targets="Method core.AnalyseMapping.CustomRead.toObjself()=core.AnalyseMapping.CustomRead-class.html#toObjself,Method core.AnalyseMapping.TPRead.toObjself()=core.AnalyseMapping.TPRead-class.html#toObjself"><a title="core.Analy [...]
+core.AnalyseMapping.TPRead.toObjself" class="py-name" href="#" onclick="return doclink('link-66', 'toObjself', 'link-66');">toObjself</a></tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">)</tt> </tt>
+<a name="L1003"></a><tt class="py-lineno">1003</tt>  <tt class="py-line">                     </tt>
+<a name="L1004"></a><tt class="py-lineno">1004</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1005"></a><tt class="py-lineno">1005</tt>  <tt class="py-line">                        <tt class="py-name">artdic</tt><tt class="py-op">[</tt><tt class="py-name">readname</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">read</tt> </tt>
+<a name="L1006"></a><tt class="py-lineno">1006</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1007"></a><tt class="py-lineno">1007</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
+<a name="L1008"></a><tt class="py-lineno">1008</tt>  <tt class="py-line">                 </tt>
+<a name="L1009"></a><tt class="py-lineno">1009</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1010"></a><tt class="py-lineno">1010</tt>  <tt class="py-line">                <tt class="py-comment"># new read? Just add it to the dictionary</tt> </tt>
+<a name="L1011"></a><tt class="py-lineno">1011</tt>  <tt class="py-line">                <tt class="py-name">artdic</tt><tt class="py-op">[</tt><tt class="py-name">readname</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">read</tt> </tt>
+<a name="L1012"></a><tt class="py-lineno">1012</tt>  <tt class="py-line">            </tt>
+<a name="L1013"></a><tt class="py-lineno">1013</tt>  <tt class="py-line">  </tt>
+<a name="L1014"></a><tt class="py-lineno">1014</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1015"></a><tt class="py-lineno">1015</tt>  <tt class="py-line">    <tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1016"></a><tt class="py-lineno">1016</tt>  <tt class="py-line">    <tt class="py-comment">#print("\r\n")</tt> </tt>
+<a name="L1017"></a><tt class="py-lineno">1017</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-string">"\t %f "</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">end</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L1018"></a><tt class="py-lineno">1018</tt>  <tt class="py-line">    <tt class="py-comment">#print ("\tdone in %d seconds" % (end-start))</tt> </tt>
+<a name="L1019"></a><tt class="py-lineno">1019</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">artdic</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1020"></a><tt class="py-lineno">1020</tt>  <tt class="py-line"> </tt>
+<a name="L1021"></a><tt class="py-lineno">1021</tt>  <tt class="py-line"> </tt>
+<a name="L1022"></a><tt class="py-lineno">1022</tt>  <tt class="py-line"> </tt>
+<a name="writeToTabArt"></a><div id="writeToTabArt-def"><a name="L1023"></a><tt class="py-lineno">1023</tt> <a class="py-toggle" href="#" id="writeToTabArt-toggle" onclick="return toggle('writeToTabArt');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#writeToTabArt">writeToTabArt</a><tt class="py-op">(</tt><tt class="py-param">ReadDic</tt><tt class="py-op">,</tt> <tt class="py-param">outfile</tt><tt class="py-op">)</ [...]
+</div><div id="writeToTabArt-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="writeToTabArt-expanded"><a name="L1024"></a><tt class="py-lineno">1024</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L1025"></a><tt class="py-lineno">1025</tt>  <tt class="py-line"><tt class="py-docstring">    Write function for hits ont he reference genome. Only the best alignment (least mismatches)</tt> </tt>
+<a name="L1026"></a><tt class="py-lineno">1026</tt>  <tt class="py-line"><tt class="py-docstring">    Header :</tt> </tt>
+<a name="L1027"></a><tt class="py-lineno">1027</tt>  <tt class="py-line"><tt class="py-docstring">    ReadID    MatchedReference     Substitutions     NumberOfMismatches     ReadQuality     MappingQuality</tt> </tt>
+<a name="L1028"></a><tt class="py-lineno">1028</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L1029"></a><tt class="py-lineno">1029</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1030"></a><tt class="py-lineno">1030</tt>  <tt class="py-line"><tt class="py-docstring">    @type  outfile: string</tt> </tt>
+<a name="L1031"></a><tt class="py-lineno">1031</tt>  <tt class="py-line"><tt class="py-docstring">    @param outfile: Path to outfile.</tt> </tt>
+<a name="L1032"></a><tt class="py-lineno">1032</tt>  <tt class="py-line"><tt class="py-docstring">    @type  ReadDic: dictionary</tt> </tt>
+<a name="L1033"></a><tt class="py-lineno">1033</tt>  <tt class="py-line"><tt class="py-docstring">    @param ReadDic: dictionary containing read ids and read qualities.</tt> </tt>
+<a name="L1034"></a><tt class="py-lineno">1034</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1035"></a><tt class="py-lineno">1035</tt>  <tt class="py-line"> </tt>
+<a name="L1036"></a><tt class="py-lineno">1036</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">outfile</tt><tt class="py-op">,</tt> <tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1037"></a><tt class="py-lineno">1037</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">read</tt> <tt class="py-keyword">in</tt> <tt class="py-name">ReadDic</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1038"></a><tt class="py-lineno">1038</tt>  <tt class="py-line">       <tt class="py-name">BestReadIndex</tt> <tt class="py-op">=</tt> <tt class="py-name">np</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-name">ReadDic</tt><tt class="py-op">[</tt><tt class="py-name">read</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">nm</tt><tt class="py-op">)</tt><tt class="py-op">.</tt><tt class="py-name">argmin</tt><tt  [...]
+<a name="L1039"></a><tt class="py-lineno">1039</tt>  <tt class="py-line">       <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">,</tt> <tt class="py-name">ReadDic</tt><tt class="py-op">[</tt><tt class="py-name">read</tt><tt class="py-op">]</tt><tt class="py-op">.</ [...]
+<a name="L1040"></a><tt class="py-lineno">1040</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1041"></a><tt class="py-lineno">1041</tt>  <tt class="py-line"> </tt>
+<a name="L1042"></a><tt class="py-lineno">1042</tt>  <tt class="py-line"> </tt>
+<a name="L1043"></a><tt class="py-lineno">1043</tt>  <tt class="py-line"> </tt>
+<a name="L1044"></a><tt class="py-lineno">1044</tt>  <tt class="py-line"> </tt>
+<a name="writeToTabRef"></a><div id="writeToTabRef-def"><a name="L1045"></a><tt class="py-lineno">1045</tt> <a class="py-toggle" href="#" id="writeToTabRef-toggle" onclick="return toggle('writeToTabRef');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#writeToTabRef">writeToTabRef</a><tt class="py-op">(</tt><tt class="py-param">RefArray</tt><tt class="py-op">,</tt> <tt class="py-param">outfile</tt><tt class="py-op">,< [...]
+</div><div id="writeToTabRef-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="writeToTabRef-expanded"><a name="L1046"></a><tt class="py-lineno">1046</tt>  <tt class="py-line">    <tt class="py-docstring">""" </tt> </tt>
+<a name="L1047"></a><tt class="py-lineno">1047</tt>  <tt class="py-line"><tt class="py-docstring">    Write function for hits ont he reference genome. Only the best alignment (least mismatches)</tt> </tt>
+<a name="L1048"></a><tt class="py-lineno">1048</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L1049"></a><tt class="py-lineno">1049</tt>  <tt class="py-line"><tt class="py-docstring">    Header :</tt> </tt>
+<a name="L1050"></a><tt class="py-lineno">1050</tt>  <tt class="py-line"><tt class="py-docstring">    ReadID    MatchedReference     Substitutions     NumberOfMismatches     ReadQuality     MappingQuality</tt> </tt>
+<a name="L1051"></a><tt class="py-lineno">1051</tt>  <tt class="py-line"><tt class="py-docstring">    rows in the infile</tt> </tt>
+<a name="L1052"></a><tt class="py-lineno">1052</tt>  <tt class="py-line"><tt class="py-docstring">    @type  RefArray: string</tt> </tt>
+<a name="L1053"></a><tt class="py-lineno">1053</tt>  <tt class="py-line"><tt class="py-docstring">    @param RefArray: path to inputfile.</tt> </tt>
+<a name="L1054"></a><tt class="py-lineno">1054</tt>  <tt class="py-line"><tt class="py-docstring">    @type  outfile: int</tt> </tt>
+<a name="L1055"></a><tt class="py-lineno">1055</tt>  <tt class="py-line"><tt class="py-docstring">    @param outfile: rows in the infile</tt> </tt>
+<a name="L1056"></a><tt class="py-lineno">1056</tt>  <tt class="py-line"><tt class="py-docstring">    @type  reverseReadArray: dictionary</tt> </tt>
+<a name="L1057"></a><tt class="py-lineno">1057</tt>  <tt class="py-line"><tt class="py-docstring">    @param reverseReadArray: Contains reads = values and ranks = keys</tt> </tt>
+<a name="L1058"></a><tt class="py-lineno">1058</tt>  <tt class="py-line"><tt class="py-docstring">    @type  ReadDic: dictionary</tt> </tt>
+<a name="L1059"></a><tt class="py-lineno">1059</tt>  <tt class="py-line"><tt class="py-docstring">    @param ReadDic: dictionary containing read ids and read qualities.</tt> </tt>
+<a name="L1060"></a><tt class="py-lineno">1060</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1061"></a><tt class="py-lineno">1061</tt>  <tt class="py-line"> </tt>
+<a name="L1062"></a><tt class="py-lineno">1062</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">outfile</tt><tt class="py-op">,</tt> <tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1063"></a><tt class="py-lineno">1063</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">RefArray</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1064"></a><tt class="py-lineno">1064</tt>  <tt class="py-line">        <tt class="py-name">read</tt> <tt class="py-op">=</tt> <tt class="py-name">RefArray</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L1065"></a><tt class="py-lineno">1065</tt>  <tt class="py-line">        <tt class="py-comment"># check if entry == 0</tt> </tt>
+<a name="L1066"></a><tt class="py-lineno">1066</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">read</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L1067"></a><tt class="py-lineno">1067</tt>  <tt class="py-line">            <tt class="py-keyword">continue</tt> </tt>
+<a name="L1068"></a><tt class="py-lineno">1068</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1069"></a><tt class="py-lineno">1069</tt>  <tt class="py-line">            <tt class="py-name">readname</tt> <tt class="py-op">=</tt> <tt class="py-name">reverseReadArray</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L1070"></a><tt class="py-lineno">1070</tt>  <tt class="py-line">            <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt id="link-67" class="py-name"><a title="core.AnalyseMapping.returnIndex" class="py-name" href="#" onclick="return doclink('link-67', 'returnIndex', 'link-64');">returnIndex</a></tt><tt class="py-op">(</tt><tt class="py-name">ReadDic</tt><tt class="py-op">,</tt> <tt class="py-name">readname</tt><tt class="py-op">)</tt> </tt>
+<a name="L1071"></a><tt class="py-lineno">1071</tt>  <tt class="py-line">            <tt class="py-name">BestReadIndex</tt> <tt class="py-op">=</tt> <tt class="py-name">np</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-name">RefArray</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">nm</tt><tt class="py-op">,</tt><tt class="py-name">dtype</tt><tt class="py-op">=</t [...]
+<a name="L1072"></a><tt class="py-lineno">1072</tt>  <tt class="py-line">            <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\r\n"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">readname</tt><tt class="py-op">,</tt> <tt class="py-number">1</tt><tt class="py-op">,</tt> <tt class="py-number">0</tt><tt class="py-op">,</tt> <tt class="py-n [...]
+<a name="L1073"></a><tt class="py-lineno">1073</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1074"></a><tt class="py-lineno">1074</tt>  <tt class="py-line"> </tt>
+<a name="L1075"></a><tt class="py-lineno">1075</tt>  <tt class="py-line"> </tt>
+<a name="L1076"></a><tt class="py-lineno">1076</tt>  <tt class="py-line"> </tt>
+<a name="ReadFromTab"></a><div id="ReadFromTab-def"><a name="L1077"></a><tt class="py-lineno">1077</tt> <a class="py-toggle" href="#" id="ReadFromTab-toggle" onclick="return toggle('ReadFromTab');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#ReadFromTab">ReadFromTab</a><tt class="py-op">(</tt><tt class="py-param">infile</tt><tt class="py-op">,</tt> <tt class="py-param">arraysize</tt><tt class="py-op">)</tt><tt clas [...]
+</div><div id="ReadFromTab-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="ReadFromTab-expanded"><a name="L1078"></a><tt class="py-lineno">1078</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L1079"></a><tt class="py-lineno">1079</tt>  <tt class="py-line"><tt class="py-docstring">    Reads the results from writeToTab in for plotting and analysis</tt> </tt>
+<a name="L1080"></a><tt class="py-lineno">1080</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L1081"></a><tt class="py-lineno">1081</tt>  <tt class="py-line"><tt class="py-docstring">    Header :</tt> </tt>
+<a name="L1082"></a><tt class="py-lineno">1082</tt>  <tt class="py-line"><tt class="py-docstring">    ReadID    MatchedReference     Substitutions     NumberOfMismatches     ReadQuality     MappingQuality</tt> </tt>
+<a name="L1083"></a><tt class="py-lineno">1083</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L1084"></a><tt class="py-lineno">1084</tt>  <tt class="py-line"><tt class="py-docstring">    @type  infile: string</tt> </tt>
+<a name="L1085"></a><tt class="py-lineno">1085</tt>  <tt class="py-line"><tt class="py-docstring">    @param infile: path to inputfile.</tt> </tt>
+<a name="L1086"></a><tt class="py-lineno">1086</tt>  <tt class="py-line"><tt class="py-docstring">    @type  arraysize: int</tt> </tt>
+<a name="L1087"></a><tt class="py-lineno">1087</tt>  <tt class="py-line"><tt class="py-docstring">    @param arraysize: rows in the infile</tt> </tt>
+<a name="L1088"></a><tt class="py-lineno">1088</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1089"></a><tt class="py-lineno">1089</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   np.array(obj)</tt> </tt>
+<a name="L1090"></a><tt class="py-lineno">1090</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  array for unique classified reads.</tt> </tt>
+<a name="L1091"></a><tt class="py-lineno">1091</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1092"></a><tt class="py-lineno">1092</tt>  <tt class="py-line"> </tt>
+<a name="L1093"></a><tt class="py-lineno">1093</tt>  <tt class="py-line">     </tt>
+<a name="L1094"></a><tt class="py-lineno">1094</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">infile</tt><tt class="py-op">,</tt> <tt class="py-string">"r"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1095"></a><tt class="py-lineno">1095</tt>  <tt class="py-line">    <tt class="py-name">dataArray</tt> <tt class="py-op">=</tt> <tt class="py-name">np</tt><tt class="py-op">.</tt><tt class="py-name">arange</tt><tt class="py-op">(</tt><tt class="py-name">arraysize</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">object</tt><tt class="py-op">)</tt> </tt>
+<a name="L1096"></a><tt class="py-lineno">1096</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt><tt class="py-op">,</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">fobj</tt><tt class="py-op">)</tt><tt class="py-op">:</tt>      </tt>
+<a name="L1097"></a><tt class="py-lineno">1097</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"#"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1098"></a><tt class="py-lineno">1098</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L1099"></a><tt class="py-lineno">1099</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L1100"></a><tt class="py-lineno">1100</tt>  <tt class="py-line">                <tt class="py-name">zeile</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\t"</tt><tt class="py-op">)</tt>  </tt>
+<a name="L1101"></a><tt class="py-lineno">1101</tt>  <tt class="py-line">                <tt class="py-name">id</tt> <tt class="py-op">=</tt> <tt class="py-name">zeile</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L1102"></a><tt class="py-lineno">1102</tt>  <tt class="py-line">                <tt class="py-name">mr</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">zeile</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1103"></a><tt class="py-lineno">1103</tt>  <tt class="py-line">                <tt class="py-name">subs</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">zeile</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1104"></a><tt class="py-lineno">1104</tt>  <tt class="py-line">                <tt class="py-name">nm</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">zeile</tt><tt class="py-op">[</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1105"></a><tt class="py-lineno">1105</tt>  <tt class="py-line">                <tt class="py-name">rq</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">zeile</tt><tt class="py-op">[</tt><tt class="py-number">4</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1106"></a><tt class="py-lineno">1106</tt>  <tt class="py-line">                <tt class="py-name">mq</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">zeile</tt><tt class="py-op">[</tt><tt class="py-number">5</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1107"></a><tt class="py-lineno">1107</tt>  <tt class="py-line">                <tt class="py-name">gaps</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">zeile</tt><tt class="py-op">[</tt><tt class="py-number">8</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1108"></a><tt class="py-lineno">1108</tt>  <tt class="py-line">                <tt class="py-name">mism</tt> <tt class="py-op">=</tt> <tt class="py-name">int</tt><tt class="py-op">(</tt><tt class="py-name">zeile</tt><tt class="py-op">[</tt><tt class="py-number">9</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L1109"></a><tt class="py-lineno">1109</tt>  <tt class="py-line">                <tt class="py-comment">#n = int(zeile[10].strip())</tt> </tt>
+<a name="L1110"></a><tt class="py-lineno">1110</tt>  <tt class="py-line">                <tt class="py-comment"># id is not needed for the analysis </tt> </tt>
+<a name="L1111"></a><tt class="py-lineno">1111</tt>  <tt class="py-line">                <tt class="py-name">dataArray</tt><tt class="py-op">[</tt><tt class="py-name">i</tt> <tt class="py-op">-</tt> <tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-68" class="py-name"><a title="core.AnalyseMapping.CustomRead" class="py-name" href="#" onclick="return doclink('link-68', 'CustomRead', 'link-6');">CustomRead</a></tt><tt class="py-op">(</tt><tt class=" [...]
+<a name="L1112"></a><tt class="py-lineno">1112</tt>  <tt class="py-line">                 </tt>
+<a name="L1113"></a><tt class="py-lineno">1113</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">dataArray</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1114"></a><tt class="py-lineno">1114</tt>  <tt class="py-line"> </tt>
+<a name="L1115"></a><tt class="py-lineno">1115</tt>  <tt class="py-line"> </tt>
+<a name="L1116"></a><tt class="py-lineno">1116</tt>  <tt class="py-line"> </tt>
+<a name="readInput"></a><div id="readInput-def"><a name="L1117"></a><tt class="py-lineno">1117</tt> <a class="py-toggle" href="#" id="readInput-toggle" onclick="return toggle('readInput');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#readInput">readInput</a><tt class="py-op">(</tt><tt class="py-param">file</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="readInput-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="readInput-expanded"><a name="L1118"></a><tt class="py-lineno">1118</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L1119"></a><tt class="py-lineno">1119</tt>  <tt class="py-line"><tt class="py-docstring">    Function for reading in the controldictionary from the inputfile.</tt> </tt>
+<a name="L1120"></a><tt class="py-lineno">1120</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1121"></a><tt class="py-lineno">1121</tt>  <tt class="py-line"><tt class="py-docstring">    @type  file: string </tt> </tt>
+<a name="L1122"></a><tt class="py-lineno">1122</tt>  <tt class="py-line"><tt class="py-docstring">    @param file: Path to the input file.</tt> </tt>
+<a name="L1123"></a><tt class="py-lineno">1123</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L1124"></a><tt class="py-lineno">1124</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   files</tt> </tt>
+<a name="L1125"></a><tt class="py-lineno">1125</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Controldictionary which is used to regulate the programs workflow.</tt> </tt>
+<a name="L1126"></a><tt class="py-lineno">1126</tt>  <tt class="py-line"><tt class="py-docstring">    </tt> </tt>
+<a name="L1127"></a><tt class="py-lineno">1127</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1128"></a><tt class="py-lineno">1128</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">file</tt><tt class="py-op">,</tt> <tt class="py-string">"r"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1129"></a><tt class="py-lineno">1129</tt>  <tt class="py-line">    <tt class="py-name">files</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1130"></a><tt class="py-lineno">1130</tt>  <tt class="py-line">    <tt class="py-name">files</tt><tt class="py-op">[</tt><tt class="py-string">"mapper"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1131"></a><tt class="py-lineno">1131</tt>  <tt class="py-line">    <tt class="py-name">files</tt><tt class="py-op">[</tt><tt class="py-string">"fasta"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L1132"></a><tt class="py-lineno">1132</tt>  <tt class="py-line">    <tt class="py-name">tempref</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1133"></a><tt class="py-lineno">1133</tt>  <tt class="py-line">    <tt class="py-name">temparg</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1134"></a><tt class="py-lineno">1134</tt>  <tt class="py-line">    <tt class="py-name">reffasta</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L1135"></a><tt class="py-lineno">1135</tt>  <tt class="py-line">    <tt class="py-name">artfasta</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1136"></a><tt class="py-lineno">1136</tt>  <tt class="py-line">     </tt>
+<a name="L1137"></a><tt class="py-lineno">1137</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">fobj</tt><tt class="py-op">:</tt> </tt>
+<a name="L1138"></a><tt class="py-lineno">1138</tt>  <tt class="py-line">        <tt class="py-comment"># reference</tt> </tt>
+<a name="L1139"></a><tt class="py-lineno">1139</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"$"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1140"></a><tt class="py-lineno">1140</tt>  <tt class="py-line">            <tt class="py-name">files</tt><tt class="py-op">[</tt><tt class="py-string">"fasta"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">"reffasta"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-69" class="py-name" targets="Function core.AnalyseMapping.GetCompletePath()=core.AnalyseMapping-module.html#GetCompletePath"><a title="core.AnalyseMapping.GetCompletePath" [...]
+<a name="L1141"></a><tt class="py-lineno">1141</tt>  <tt class="py-line">        <tt class="py-comment"># artificial</tt> </tt>
+<a name="L1142"></a><tt class="py-lineno">1142</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"#"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1143"></a><tt class="py-lineno">1143</tt>  <tt class="py-line">            <tt class="py-name">artfasta</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-70" class="py-name"><a title="core.AnalyseMapping.GetCompletePath" class="py-name" href="#" onclick="return doclink('link-70', 'GetCompletePath', 'link-69');">GetCompletePath</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">sp [...]
+<a name="L1144"></a><tt class="py-lineno">1144</tt>  <tt class="py-line">        <tt class="py-comment"># fastq file</tt> </tt>
+<a name="L1145"></a><tt class="py-lineno">1145</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"&"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1146"></a><tt class="py-lineno">1146</tt>  <tt class="py-line">            <tt class="py-name">files</tt><tt class="py-op">[</tt><tt class="py-string">"fastqfile"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt id="link-71" class="py-name"><a title="core.AnalyseMapping.GetCompletePath" class="py-name" href="#" onclick="return doclink('link-71', 'GetCompletePath', 'link-69');">GetCompletePath</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op [...]
+<a name="L1147"></a><tt class="py-lineno">1147</tt>  <tt class="py-line">        <tt class="py-comment"># start sequence for mapper section</tt> </tt>
+<a name="L1148"></a><tt class="py-lineno">1148</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"@"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1149"></a><tt class="py-lineno">1149</tt>  <tt class="py-line">            <tt class="py-name">zeile</tt> <tt class="py-op">=</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"\t"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1150"></a><tt class="py-lineno">1150</tt>  <tt class="py-line">            <tt class="py-name">mapper</tt> <tt class="py-op">=</tt> <tt class="py-name">zeile</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">:</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">strip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1151"></a><tt class="py-lineno">1151</tt>  <tt class="py-line">            <tt class="py-name">files</tt><tt class="py-op">[</tt><tt class="py-string">"fasta"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-string">"artfasta"</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">artfasta</tt> </tt>
+<a name="L1152"></a><tt class="py-lineno">1152</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"ref"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1153"></a><tt class="py-lineno">1153</tt>  <tt class="py-line">            <tt class="py-name">tempref</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-72" class="py-name"><a title="core.AnalyseMapping.GetCompletePath" class="py-name" href="#" onclick="return doclink('link-72', 'GetCompletePath', 'link-69');">GetCompletePath</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">spl [...]
+<a name="L1154"></a><tt class="py-lineno">1154</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"art"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1155"></a><tt class="py-lineno">1155</tt>  <tt class="py-line">            <tt class="py-name">temparg</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-73" class="py-name"><a title="core.AnalyseMapping.GetCompletePath" class="py-name" href="#" onclick="return doclink('link-73', 'GetCompletePath', 'link-69');">GetCompletePath</a></tt><tt class="py-op">(</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">spl [...]
+<a name="L1156"></a><tt class="py-lineno">1156</tt>  <tt class="py-line">        <tt class="py-comment"># end of mapper section</tt> </tt>
+<a name="L1157"></a><tt class="py-lineno">1157</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">startswith</tt><tt class="py-op">(</tt><tt class="py-string">"+"</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L1158"></a><tt class="py-lineno">1158</tt>  <tt class="py-line">            <tt class="py-name">files</tt><tt class="py-op">[</tt><tt class="py-string">"mapper"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">mapper</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">tempref</tt><tt class="py-op">,</tt> <tt class="py-name">temparg</tt><tt class="py-op">]</tt> </tt>
+<a name="L1159"></a><tt class="py-lineno">1159</tt>  <tt class="py-line">            <tt class="py-name">tempref</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1160"></a><tt class="py-lineno">1160</tt>  <tt class="py-line">            <tt class="py-name">temparg</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L1161"></a><tt class="py-lineno">1161</tt>  <tt class="py-line">             </tt>
+<a name="L1162"></a><tt class="py-lineno">1162</tt>  <tt class="py-line">             </tt>
+<a name="L1163"></a><tt class="py-lineno">1163</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L1164"></a><tt class="py-lineno">1164</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">files</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1165"></a><tt class="py-lineno">1165</tt>  <tt class="py-line"> </tt>
+<a name="GetCompletePath"></a><div id="GetCompletePath-def"><a name="L1166"></a><tt class="py-lineno">1166</tt> <a class="py-toggle" href="#" id="GetCompletePath-toggle" onclick="return toggle('GetCompletePath');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#GetCompletePath">GetCompletePath</a><tt class="py-op">(</tt><tt class="py-param">path</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="GetCompletePath-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="GetCompletePath-expanded"><a name="L1167"></a><tt class="py-lineno">1167</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">path</tt><tt class="py-op">.</tt><tt class="py-name">replace</tt><tt class="py-op">(</tt><tt class="py-string">"~"</tt><tt class="py-op">,</tt><tt class="py-name">os</tt><tt class="py-op">.</tt><tt class="py [...]
+</div><a name="L1168"></a><tt class="py-lineno">1168</tt>  <tt class="py-line">     </tt>
+<a name="initOutFiles"></a><div id="initOutFiles-def"><a name="L1169"></a><tt class="py-lineno">1169</tt> <a class="py-toggle" href="#" id="initOutFiles-toggle" onclick="return toggle('initOutFiles');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.AnalyseMapping-module.html#initOutFiles">initOutFiles</a><tt class="py-op">(</tt><tt class="py-param">controlDic</tt><tt class="py-op">,</tt> <tt class="py-param">mapper</tt><tt class="py-op">,</tt>  [...]
+</div><div id="initOutFiles-collapsed" style="display:none;" pad="++++" indent="++++"></div><div id="initOutFiles-expanded"><a name="L1170"></a><tt class="py-lineno">1170</tt>  <tt class="py-line">    <tt class="py-docstring">"""</tt> </tt>
+<a name="L1171"></a><tt class="py-lineno">1171</tt>  <tt class="py-line"><tt class="py-docstring">    Since we append in the program, we need to make sure no old files remain... </tt> </tt>
+<a name="L1172"></a><tt class="py-lineno">1172</tt>  <tt class="py-line"><tt class="py-docstring"></tt> </tt>
+<a name="L1173"></a><tt class="py-lineno">1173</tt>  <tt class="py-line"><tt class="py-docstring">    @type  controlDic: dictionary </tt> </tt>
+<a name="L1174"></a><tt class="py-lineno">1174</tt>  <tt class="py-line"><tt class="py-docstring">    @param controlDic: dictionary containing future filenames.</tt> </tt>
+<a name="L1175"></a><tt class="py-lineno">1175</tt>  <tt class="py-line"><tt class="py-docstring">    @type  mapper: string </tt> </tt>
+<a name="L1176"></a><tt class="py-lineno">1176</tt>  <tt class="py-line"><tt class="py-docstring">    @param mapper: current identifier mapper for which the results are written</tt> </tt>
+<a name="L1177"></a><tt class="py-lineno">1177</tt>  <tt class="py-line"><tt class="py-docstring">    @type  outpath: string</tt> </tt>
+<a name="L1178"></a><tt class="py-lineno">1178</tt>  <tt class="py-line"><tt class="py-docstring">    @param outpath: existing path, where the outfiles will be written.</tt> </tt>
+<a name="L1179"></a><tt class="py-lineno">1179</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L1180"></a><tt class="py-lineno">1180</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">artificial</tt> <tt class="py-keyword">in</tt> <tt class="py-name">controlDic</tt><tt class="py-op">[</tt><tt class="py-string">"mapper"</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-name">mapper</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L1181"></a><tt class="py-lineno">1181</tt>  <tt class="py-line">             <tt class="py-name">filename</tt> <tt class="py-op">=</tt> <tt class="py-name">artificial</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> </tt>
+<a name="L1182"></a><tt class="py-lineno">1182</tt>  <tt class="py-line">             <tt class="py-name">outfile</tt> <tt class="py-op">=</tt> <tt class="py-name">mapper</tt> <tt class="py-op">+</tt> <tt class="py-string">"_"</tt> <tt class="py-op">+</tt> <tt class="py-name">artificial</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number [...]
+<a name="L1183"></a><tt class="py-lineno">1183</tt>  <tt class="py-line">             <tt class="py-comment">#easy Sam output </tt> </tt>
+<a name="L1184"></a><tt class="py-lineno">1184</tt>  <tt class="py-line">             <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">outpath</tt> <tt class="py-op">+</tt> <tt class="py-name">outfile</tt><tt class="py-op">,</tt> <tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1185"></a><tt class="py-lineno">1185</tt>  <tt class="py-line">             <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"#ReadID\tMatchedReference\tSubstitutions\tNumberOfMismatches\tReadQuality\tMappingQuality\tStart\tEnd\tGaps\tMisM\r\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L1186"></a><tt class="py-lineno">1186</tt>  <tt class="py-line">             <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L1187"></a><tt class="py-lineno">1187</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.AnalyseMapping.CustomRead-class.html b/doc/core.AnalyseMapping.CustomRead-class.html
new file mode 100644
index 0000000..263b78f
--- /dev/null
+++ b/doc/core.AnalyseMapping.CustomRead-class.html
@@ -0,0 +1,208 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.AnalyseMapping.CustomRead</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        <a href="core.AnalyseMapping-module.html">Module AnalyseMapping</a> ::
+        Class CustomRead
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.AnalyseMapping.CustomRead-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class CustomRead</h1><p class="nomargin-top"><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#CustomRead">source code</a></span></p>
+<p>Class for exhaustive reading of the sam alignments.</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">readname</span>,
+        <span class="summary-sig-arg">mr</span>,
+        <span class="summary-sig-arg">nm</span>,
+        <span class="summary-sig-arg">subs</span>,
+        <span class="summary-sig-arg">score</span>,
+        <span class="summary-sig-arg">mq</span>,
+        <span class="summary-sig-arg">start</span>,
+        <span class="summary-sig-arg">end</span>,
+        <span class="summary-sig-arg">gaps</span>,
+        <span class="summary-sig-arg">mism</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#CustomRead.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="toObjself"></a><span class="summary-sig-name">toObjself</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">read</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#CustomRead.toObjself">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="toStr"></a><span class="summary-sig-name">toStr</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">readname</span>)</span><br />
+      Converts the object to a string</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#CustomRead.toStr">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="toStrNoMem"></a><span class="summary-sig-name">toStrNoMem</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">identifier</span>)</span><br />
+      Converts the object to a string</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#CustomRead.toStrNoMem">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.AnalyseMapping.ReadID-class.html b/doc/core.AnalyseMapping.ReadID-class.html
new file mode 100644
index 0000000..38b64e8
--- /dev/null
+++ b/doc/core.AnalyseMapping.ReadID-class.html
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.AnalyseMapping.ReadID</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        <a href="core.AnalyseMapping-module.html">Module AnalyseMapping</a> ::
+        Class ReadID
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.AnalyseMapping.ReadID-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class ReadID</h1><p class="nomargin-top"><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#ReadID">source code</a></span></p>
+<p>Class for efficient addressing for np. arrays!</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">internalID</span>,
+        <span class="summary-sig-arg">quality</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#ReadID.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.AnalyseMapping.TPRead-class.html b/doc/core.AnalyseMapping.TPRead-class.html
new file mode 100644
index 0000000..a14769a
--- /dev/null
+++ b/doc/core.AnalyseMapping.TPRead-class.html
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.AnalyseMapping.TPRead</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        <a href="core.AnalyseMapping-module.html">Module AnalyseMapping</a> ::
+        Class TPRead
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.AnalyseMapping.TPRead-class.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== CLASS DESCRIPTION ==================== -->
+<h1 class="epydoc">Class TPRead</h1><p class="nomargin-top"><span class="codelink"><a href="core.AnalyseMapping-pysrc.html#TPRead">source code</a></span></p>
+<p>Class for exhaustive reading of the sam alignments. Only for TP</p>
+
+<!-- ==================== INSTANCE METHODS ==================== -->
+<a name="section-InstanceMethods"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Instance Methods</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-InstanceMethods"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="__init__"></a><span class="summary-sig-name">__init__</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">nm</span>,
+        <span class="summary-sig-arg">score</span>,
+        <span class="summary-sig-arg">mq</span>,
+        <span class="summary-sig-arg">start</span>,
+        <span class="summary-sig-arg">end</span>,
+        <span class="summary-sig-arg">gaps</span>,
+        <span class="summary-sig-arg">mism</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#TPRead.__init__">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="toObjself"></a><span class="summary-sig-name">toObjself</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">read</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#TPRead.toObjself">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="toStr"></a><span class="summary-sig-name">toStr</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">readname</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#TPRead.toStr">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="isContained"></a><span class="summary-sig-name">isContained</span>(<span class="summary-sig-arg">self</span>,
+        <span class="summary-sig-arg">read</span>)</span></td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.AnalyseMapping-pysrc.html#TPRead.isContained">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.FindOrfs-module.html b/doc/core.FindOrfs-module.html
new file mode 100644
index 0000000..069dffa
--- /dev/null
+++ b/doc/core.FindOrfs-module.html
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.FindOrfs</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module FindOrfs
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.FindOrfs-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module FindOrfs</h1><p class="nomargin-top"><span class="codelink"><a href="core.FindOrfs-pysrc.html">source code</a></span></p>
+<p>FindOrfs, Created 2012</p>
+  <p>Script to detect start and stop codon of open reading frames in a dna 
+  sequence. Note that the algorithm is only rudimentary and does not 
+  respect intron-exon structures.</p>
+
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">dictionary</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.FindOrfs-module.html#build_ORF" class="summary-sig-name">build_ORF</a>(<span class="summary-sig-arg">sequence</span>,
+        <span class="summary-sig-arg">file_ORF</span>,
+        <span class="summary-sig-arg">pdic</span>)</span><br />
+      Get orf positions (forward/backward) and return them in a dictionary</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.FindOrfs-pysrc.html#build_ORF">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.FindOrfs-module.html#findstop_help" class="summary-sig-name">findstop_help</a>(<span class="summary-sig-arg">posLastStop</span>,
+        <span class="summary-sig-arg">sequence</span>,
+        <span class="summary-sig-arg">codon</span>)</span><br />
+      return the index of the first position of codon in the dna sequence</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.FindOrfs-pysrc.html#findstop_help">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">dictionary</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.FindOrfs-module.html#find_orfs" class="summary-sig-name">find_orfs</a>(<span class="summary-sig-arg">genomeSequence</span>,
+        <span class="summary-sig-arg">pdic</span>)</span><br />
+      function to identify open reading frames in a dna sequence, careful: 
+      intron exon structures are not respected!</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.FindOrfs-pysrc.html#find_orfs">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="build_ORF"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">build_ORF</span>(<span class="sig-arg">sequence</span>,
+        <span class="sig-arg">file_ORF</span>,
+        <span class="sig-arg">pdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.FindOrfs-pysrc.html#build_ORF">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Get orf positions (forward/backward) and return them in a 
+  dictionary</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>sequence</code></strong> (string) - nucleotide sequence</li>
+        <li><strong class="pname"><code>file_ORF</code></strong> (string) - outputfile</li>
+        <li><strong class="pname"><code>pdic</code></strong> (dictionary) - Used to start start / end positions of ORFs.</li>
+    </ul></dd>
+    <dt>Returns: dictionary</dt>
+        <dd>Stored start start / end positions of ORFs</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="findstop_help"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">findstop_help</span>(<span class="sig-arg">posLastStop</span>,
+        <span class="sig-arg">sequence</span>,
+        <span class="sig-arg">codon</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.FindOrfs-pysrc.html#findstop_help">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>return the index of the first position of codon in the dna 
+  sequence</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>posLastStop</code></strong> (int) - Position of the last found stop codon.</li>
+        <li><strong class="pname"><code>sequence</code></strong> (string) - Nucleotide sequence.</li>
+        <li><strong class="pname"><code>codon</code></strong> (string) - 3-letter DNA code.</li>
+    </ul></dd>
+    <dt>Returns: int</dt>
+        <dd>The position of the stop codon in the nucleotide sequence.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="find_orfs"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">find_orfs</span>(<span class="sig-arg">genomeSequence</span>,
+        <span class="sig-arg">pdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.FindOrfs-pysrc.html#find_orfs">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>function to identify open reading frames in a dna sequence, careful: 
+  intron exon structures are not respected!</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>genomeSequence</code></strong> (string) - Nucleotide sequence.</li>
+        <li><strong class="pname"><code>pdic</code></strong> (dictionary) - Used to store start / end positions of ORFs.</li>
+    </ul></dd>
+    <dt>Returns: dictionary</dt>
+        <dd>Found  start / end positions in the sequence consindering only 
+          the ORFs.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.FindOrfs-pysrc.html b/doc/core.FindOrfs-pysrc.html
new file mode 100644
index 0000000..3c125c5
--- /dev/null
+++ b/doc/core.FindOrfs-pysrc.html
@@ -0,0 +1,398 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.FindOrfs</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module FindOrfs
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.FindOrfs-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="core.FindOrfs-module.html">Module core.FindOrfs</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt>
 </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line">
 </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line">
 </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">"""
</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">FindOrfs, Created 2012
</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">Script to detect start and stop codon of open reading frames in a dna sequence. Note that the algorithm is only rudimentary and does not respect intron-exon structures.
</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line">
 </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line">
 </tt>
+<a name="build_ORF"></a><div id="build_ORF-def"><a name="L12"></a><tt class="py-lineno"> 12</tt> <a class="py-toggle" href="#" id="build_ORF-toggle" onclick="return toggle('build_ORF');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.FindOrfs-module.html#build_ORF">build_ORF</a><tt class="py-op">(</tt><tt class="py-param">sequence</tt><tt class="py-op">,</tt><tt class="py-param">file_ORF</tt><tt class="py-op">,</tt><tt class="py-param">pdic</tt [...]
+</div><div id="build_ORF-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="build_ORF-expanded"><a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">    Get orf positions (forward/backward) and return them in a dictionary
</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">    @type  sequence: string
</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">    @param sequence: nucleotide sequence
</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">    @type  file_ORF: string
</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    @param file_ORF: outputfile
</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">    @type  pdic: dictionary
</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">    @param pdic: Used to start start / end positions of ORFs.
</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   dictionary
</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Stored start start / end positions of ORFs
</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">
 </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">    
 </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">    <tt class="py-name">START</tt><tt class="py-op">,</tt><tt class="py-name">STOP</tt><tt class="py-op">,</tt><tt class="py-name">STARTrev</tt><tt class="py-op">,</tt><tt class="py-name">STOPrev</tt> <tt class="py-op">=</tt> <tt id="link-0" class="py-name" targets="Function core.FindOrfs.find_orfs()=core.FindOrfs-module.html#find_orfs"><a title="core.FindOrfs.find_orfs" class="py-name" href="#" onclick="return doclink [...]
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">    <tt class="py-name">t</tt><tt class="py-op">=</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">file_ORF</tt><tt class="py-op">,</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"\t search forward orfs..."</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt class="py-name">orf_counter</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt class="py-name">orf_name</tt> <tt class="py-op">=</tt> <tt class="py-string">"forw"</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">START</tt><tt class="py-op">:</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">STOP</tt><tt class="py-op">:</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">            <tt class="py-comment">#3 conditions</tt>
 </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">            <tt class="py-comment">#first condition: start position needs to be BEFORE the stop position</tt>
 </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">            <tt class="py-comment">#second condition: our proteins need to be longer than 150 aa AND need to be smaller than the biggest protein we know</tt>
 </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">            <tt class="py-comment">#third condition: each ORF needs to give a real aa sequence</tt>
 </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op"><</tt><tt class="py-name">j</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">j</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">-</tt><tt class="py-name">i</tt><tt class="py-op">)</tt><tt class="py-op">></tt><tt class="py-number">149</tt> <tt class="py-keyword">and</tt> < [...]
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">                <tt class="py-name">orf_counter</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">                <tt class="py-comment">#if all 3 conditions: write the ORF in a file</tt>
 </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">">"</tt><tt class="py-op">+</tt><tt class="py-name">orf_name</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">orf_counter</tt><tt class="py-op">)</tt><tt class="py-op">)< [...]
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">sequence</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">:</tt><tt class="py-name">j</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">                <tt class="py-name">pdic</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"S"</tt> <tt class="py-comment"># S  = START</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">                <tt class="py-name">pdic</tt><tt class="py-op">[</tt><tt class="py-name">j</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"E"</tt> <tt class="py-comment"># E  = END</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">                
 </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">    <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-name">orf_counter</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    
 </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-name">orf_counter</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-name">orf_name</tt> <tt class="py-op">=</tt> <tt class="py-string">"rev"</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-string">"\t search backward orfs..."</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">STARTrev</tt><tt class="py-op">:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">STOPrev</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-comment">#3 conditions</tt>
 </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-comment">#if j<i and (j+2-i+1)>150 and (j+2-i+1)<103050 and (j+2-i+1)%3==0: <--alt</tt>
 </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">            <tt class="py-comment">#first condition: start position needs to be BEFORE the stop position</tt>
 </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">            <tt class="py-comment">#second condition: our proteins need to be longer than 150 aa AND need to be smaller than the biggest protein we know</tt>
 </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-comment">#third condition: each ORF needs to give a real aa sequence</tt>
 </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">j</tt><tt class="py-op"><</tt><tt class="py-name">i</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">-</tt><tt class="py-name">j</tt><tt class="py-op">)</tt><tt class="py-op">></tt><tt class="py-number">150</tt> <tt class="py-keyword">and</tt> < [...]
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                <tt class="py-comment">#if all 3 conditions: write the ORF in a file</tt>
 </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">                <tt class="py-name">orf_counter</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">">"</tt><tt class="py-op">+</tt><tt class="py-name">orf_name</tt><tt class="py-op">+</tt><tt class="py-string">" "</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">orf_counter</tt><tt class="py-op">)</tt><tt class="py-op">)< [...]
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">sequence</tt><tt class="py-op">[</tt><tt class="py-name">j</tt><tt class="py-op">:</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">:</tt><tt class="py-op">-</ [...]
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">                <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">                <tt class="py-name">pdic</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"E"</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">                <tt class="py-name">pdic</tt><tt class="py-op">[</tt><tt class="py-name">j</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"S"</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">+</tt><tt class="py-name">orf_counter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-name">t</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">    
 </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">pdic</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">
 </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">
 </tt>
+<a name="findstop_help"></a><div id="findstop_help-def"><a name="L75"></a><tt class="py-lineno"> 75</tt> <a class="py-toggle" href="#" id="findstop_help-toggle" onclick="return toggle('findstop_help');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.FindOrfs-module.html#findstop_help">findstop_help</a><tt class="py-op">(</tt><tt class="py-param">posLastStop</tt><tt class="py-op">,</tt><tt class="py-param">sequence</tt><tt class="py-op">,</tt><t [...]
+</div><div id="findstop_help-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="findstop_help-expanded"><a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">    return the index of the first position of codon in the dna sequence  
</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    @type  posLastStop: int
</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">    @param posLastStop: Position of the last found stop codon.
</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">    @type  sequence: string
</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">    @param sequence: Nucleotide sequence.
</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">    @type  codon: string
</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">    @param codon: 3-letter DNA code.
</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   int
</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  The position of the stop codon in the nucleotide sequence.
</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">sequence</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-name">codon</tt><tt class="py-op">,</tt><tt class="py-name">posLastStop</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            
 </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    
 </tt>
+<a name="find_orfs"></a><div id="find_orfs-def"><a name="L94"></a><tt class="py-lineno"> 94</tt> <a class="py-toggle" href="#" id="find_orfs-toggle" onclick="return toggle('find_orfs');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.FindOrfs-module.html#find_orfs">find_orfs</a><tt class="py-op">(</tt><tt class="py-param">genomeSequence</tt><tt class="py-op">,</tt><tt class="py-param">pdic</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="find_orfs-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="find_orfs-expanded"><a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line"><tt class="py-docstring">    function to identify open reading frames in a dna sequence, careful: intron exon structures are not respected!  
</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line"><tt class="py-docstring">    @type  genomeSequence: string
</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line"><tt class="py-docstring">    @param genomeSequence: Nucleotide sequence.
</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line"><tt class="py-docstring">    @type  pdic: dictionary
</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-docstring">    @param pdic: Used to store start / end positions of ORFs.
</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   dictionary
</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Found  start / end positions in the sequence consindering only the ORFs.
</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">    <tt class="py-comment"># got a dictionary and a sequence! lets start!</tt>
 </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt class="py-comment"># Startcodon = ATG</tt>
 </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">    <tt class="py-comment"># Stopcodon = ["TAA","TGA","TAG"]</tt>
 </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">    
 </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line"> 
 </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-name">start</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">    <tt class="py-name">stop</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    
 </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-name">posLastATG</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">    <tt class="py-name">posLastStop</tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">    <tt class="py-name">orfList</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">    
 </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">    <tt class="py-comment"># forward</tt>
 </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"\t..find forward orfs"</tt><tt class="py-op">)</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-name">foundNew</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-comment"># catch error if "ATG" not found!</tt>
 </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">            
 </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                <tt class="py-name">start</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">genomeSequence</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-string">"ATG"</tt><tt class="py-op">,</tt><tt class="py-name">posLastATG</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">                <tt class="py-comment"># retrieve last element</tt>
 </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">                <tt class="py-name">posLastATG</tt> <tt class="py-op">=</tt> <tt class="py-name">start</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                <tt class="py-name">foundNew</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">        <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">        
 </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">stopSub</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-name">stopcodons</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">"TAA"</tt><tt class="py-op">,</tt><tt class="py-string">"TGA"</tt><tt class="py-op">,</tt><tt class="py-string">"TAG"</tt><tt class="py-op">]</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">stopcodons</tt><tt class="py-op">:</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">stopSub</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-1" class="py-name" targets="Function core.FindOrfs.findstop_help()=core.FindOrfs-module.html#findstop_help"><a title="core.FindOrfs.findstop_help" class="py-name" href="#" onclick="return doclink('link-1', 'findstop_help', 'link-1');">findstop_help</a></tt><tt class="py-op">(</tt><tt  [...]
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">
 </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">stopSub</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        
 </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">stopSub</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-name">stop</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">stopSub</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            <tt class="py-name">posLastStop</tt> <tt class="py-op">=</tt> <tt class="py-name">stop</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">            <tt class="py-name">foundNew</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">            
 </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt><tt class="py-op">(</tt><tt class="py-name">stopSub</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-name">stop</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">stopSub</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">            <tt class="py-name">posLastStop</tt> <tt class="py-op">=</tt> <tt class="py-name">stop</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-number">1</tt>  </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">            <tt class="py-name">foundNew</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt><tt class="py-op">;</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">            
 </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-keyword">elif</tt><tt class="py-op">(</tt><tt class="py-name">stopSub</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-name">stop</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">stopSub</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">;</tt>  </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">            <tt class="py-name">posLastStop</tt> <tt class="py-op">=</tt> <tt class="py-name">stop</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-number">1</tt>  </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-name">foundNew</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt><tt class="py-op">;</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">        
 </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">foundNew</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">            <tt class="py-keyword">break</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        
 </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">    <tt class="py-comment"># reverse now:</tt>
 </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">    <tt class="py-comment"># start codon: CAT</tt>
 </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">    <tt class="py-comment"># stop codons: TTA;TCA;CTA </tt>
 </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        
 </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">    <tt class="py-name">startRev</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">    <tt class="py-name">stopRev</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">
 </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">    <tt class="py-name">posLastCAT</tt> <tt class="py-op">=</tt> <tt class="py-number">3</tt> </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">    <tt class="py-name">posLastStop_rev</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">       
 </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"\t..find reverse orfs"</tt><tt class="py-op">)</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">    <tt class="py-keyword">while</tt> <tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">            <tt class="py-name">foundNew_rev</tt>  <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">            <tt class="py-comment"># catch error if "CAT" not found!</tt>
 </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">            <tt class="py-keyword">try</tt><tt class="py-op">:</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">                
 </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">                    <tt class="py-name">startRev</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">genomeSequence</tt><tt class="py-op">.</tt><tt class="py-name">index</tt><tt class="py-op">(</tt><tt class="py-string">"CAT"</tt><tt class="py-op">,</tt><tt class="py-name">posLastCAT</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">                    <tt class="py-comment"># retrieve last element</tt>
 </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">                    <tt class="py-name">posLastCAT</tt> <tt class="py-op">=</tt> <tt class="py-name">startRev</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">                    <tt class="py-name">foundNew_rev</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-keyword">except</tt><tt class="py-op">:</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            
 </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-name">stopSub</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-name">stopcodons</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-string">"TTA"</tt><tt class="py-op">,</tt><tt class="py-string">"TCA"</tt><tt class="py-op">,</tt><tt class="py-string">"CTA"</tt><tt class="py-op">]</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">stopcodons</tt><tt class="py-op">:</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">                <tt class="py-name">stopSub</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt id="link-2" class="py-name"><a title="core.FindOrfs.findstop_help" class="py-name" href="#" onclick="return doclink('link-2', 'findstop_help', 'link-1');">findstop_help</a></tt><tt class="py-op">(</tt><tt class="py-name">posLastStop_rev</tt><tt class="py-op">,</tt> <tt class="py-name">geno [...]
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">    
 </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            <tt class="py-name">stopSub</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            
 </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">stopSub</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">                <tt class="py-name">stopRev</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">stopSub</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">                <tt class="py-name">posLastStop_rev</tt> <tt class="py-op">=</tt> <tt class="py-name">stopRev</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">                <tt class="py-name">foundNew_rev</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">                
 </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt><tt class="py-op">(</tt><tt class="py-name">stopSub</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                <tt class="py-name">stopRev</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">stopSub</tt><tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                <tt class="py-name">posLastStop_rev</tt> <tt class="py-op">=</tt> <tt class="py-name">stopRev</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                <tt class="py-name">foundNew_rev</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">                
 </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">                
 </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt><tt class="py-op">(</tt><tt class="py-name">stopSub</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-op">></tt> <tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">                <tt class="py-name">stopRev</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">stopSub</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">                <tt class="py-name">posLastStop_rev</tt> <tt class="py-op">=</tt> <tt class="py-name">stopRev</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">                <tt class="py-name">foundNew_rev</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">                
 </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">            
 </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">foundNew_rev</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">    <tt class="py-comment">###test##################</tt>
 </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"START codons : "</tt>  <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">start</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"STOP codons : "</tt>  <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">stop</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"revSTART codons : "</tt>  <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">startRev</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"revSTOP codons : "</tt>  <tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">stopRev</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">    
 </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">    
 </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">    <tt class="py-comment"># FORWARD</tt>
 </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">    <tt class="py-comment">#vectors are filled, now test if in the same frame</tt>
 </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">    <tt class="py-comment"># stores start positions without a suitable Stop in frame</tt>
 </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">    <tt class="py-name">removeList</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"\t..creating forward orfs"</tt><tt class="py-op">)</tt> </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">stopPos</tt> <tt class="py-keyword">in</tt> <tt class="py-name">stop</tt><tt class="py-op">:</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-name">foundPartner</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-name">startPos</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">        <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">startPos</tt> <tt class="py-op">=</tt> <tt class="py-name">start</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-comment">#= start[i]</tt>
 </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt> <tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op"><</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">start</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">start</tt><tt class [...]
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">                <tt class="py-name">startPos</tt> <tt class="py-op">=</tt> <tt class="py-name">start</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">                <tt class="py-name">i</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">stopPos</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">-</tt><tt class="py-name">startPos</tt><tt class="py-op">)</tt><tt class="py-op">%</tt> <tt class="py-number">3</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                    <tt class="py-comment">#Orf found in frame</tt>
 </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">foundPartner</tt> <tt class="py-op">==</tt> <tt class="py-name">False</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">stopPos</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-na [...]
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                        <tt class="py-comment">#found first matching AT (first ORF+ORF is at least 150bp long</tt>
 </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">                        <tt class="py-name">foundPartner</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">                        <tt class="py-name">pdic</tt><tt class="py-op">[</tt><tt class="py-name">stopPos</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"E"</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">                        <tt class="py-name">pdic</tt><tt class="py-op">[</tt><tt class="py-name">startPos</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"S"</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">                        <tt class="py-name">orfList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">startPos</tt><tt class="py-op">)</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">                        <tt class="py-name">orfList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">stopPos</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">                        <tt class="py-name">removeList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">startPos</tt><tt class="py-op">)</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                        <tt class="py-name">removeList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">startPos</tt><tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">removeList</tt><tt class="py-op">:</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">            <tt class="py-comment"># remove all positions of ATGS leading to "sub-ORFs"</tt>
 </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">            <tt class="py-name">start</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">        <tt class="py-name">removeList</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">        
 </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">     
 </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt class="py-comment"># BACKWARD</tt>
 </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"\t..creating reverse orfs"</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">    <tt class="py-name">removeList_rev</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">    <tt class="py-name">l</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">stopRev</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">    
 </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">r</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">l</tt><tt class="py-op">,</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt><tt class="py-comment">#</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">        <tt class="py-name">stopPos</tt> <tt class="py-op">=</tt> <tt class="py-name">stopRev</tt><tt class="py-op">[</tt><tt class="py-name">r</tt><tt class="py-op">]</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">        <tt class="py-name">foundPartner</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">        
 </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">        
 </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">        
 </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">        <tt class="py-name">i</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">startRev</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">1</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">       
 </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">        
 </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-keyword">while</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">i</tt> <tt class="py-op">>=</tt><tt class="py-number">0</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">startRev</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">></tt><tt class="py-name">stopPos</tt><t [...]
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">            <tt class="py-name">startPos</tt><tt class="py-op">=</tt><tt class="py-name">startRev</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">            <tt class="py-name">i</tt> <tt class="py-op">-=</tt><tt class="py-number">1</tt> </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">startPos</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">-</tt><tt class="py-name">stopPos</tt><tt class="py-op">)</tt><tt class="py-op">%</tt><tt class="py-number">3</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">                <tt class="py-comment"># found ORF in frame</tt>
 </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">foundPartner</tt> <tt class="py-op">!=</tt> <tt class="py-name">True</tt><tt class="py-op">)</tt> <tt class="py-keyword">and</tt> <tt class="py-op">(</tt><tt class="py-name">startPos</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">-</tt><tt class="py-name">stopPos</tt> <tt class=" [...]
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">                    <tt class="py-comment">#found first matching ATG + ORF is at least 150bp long</tt>
 </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">                    <tt class="py-name">pdic</tt><tt class="py-op">[</tt><tt class="py-name">stopPos</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"S"</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">                    <tt class="py-name">pdic</tt><tt class="py-op">[</tt><tt class="py-name">startPos</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"E"</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">                    <tt class="py-name">foundPartner</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">                    <tt class="py-name">orfList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">startPos</tt><tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">                    <tt class="py-name">orfList</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">stopPos</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">                    <tt class="py-name">removeList_rev</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">startPos</tt><tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                    <tt class="py-name">removeList_rev</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">startPos</tt><tt class="py-op">)</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                    
 </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">removeList_rev</tt><tt class="py-op">:</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">        <tt class="py-comment"># remove all positions of ATGS leading to "sub-ORFs"</tt>
 </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">            <tt class="py-name">startRev</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-name">removeList_rev</tt> <tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        
 </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">pdic</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.InsertMutations-module.html b/doc/core.InsertMutations-module.html
new file mode 100644
index 0000000..02190b7
--- /dev/null
+++ b/doc/core.InsertMutations-module.html
@@ -0,0 +1,403 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.InsertMutations</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module InsertMutations
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.InsertMutations-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module InsertMutations</h1><p class="nomargin-top"><span class="codelink"><a href="core.InsertMutations-pysrc.html">source code</a></span></p>
+<p>Created 2012 core Script for the generation of the artificial 
+  reference genome</p>
+  <p>The functions purpose is to to go through a list of positions and find
+  balanced mutations which fulfill the demands on the artificial reference 
+  genome. Once a initial start positions is randomly selected all possible 
+  triplets with hamming distance 1 are generated and looked up in a 
+  dictionary which contains all triplet positions in the input genome. If a
+  suitable partner is found for the initial mutation the next start 
+  positions is chosen randomly. Else: try all other triplets with hamming 
+  distance 1 until no one is left. This process can be accelerated by 
+  allowing unbalanced mutations, but this will cause differences in the 
+  NUC/AA distribution and the AA neighborhood.</p>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        Sven Giese
+      </p>
+</div><!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">list,list</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.InsertMutations-module.html#getMutation" class="summary-sig-name">getMutation</a>(<span class="summary-sig-arg">AA</span>,
+        <span class="summary-sig-arg">Codon</span>)</span><br />
+      Returns a random mutation for a given AA and its Codon(DNA).</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.InsertMutations-pysrc.html#getMutation">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">Char,Char,int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.InsertMutations-module.html#getdifference" class="summary-sig-name">getdifference</a>(<span class="summary-sig-arg">triplet_old</span>,
+        <span class="summary-sig-arg">triplet_new</span>)</span><br />
+      Given two triplets, returns the differences between them plus the 
+      position</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.InsertMutations-pysrc.html#getdifference">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">Bool</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.InsertMutations-module.html#isvalidposition" class="summary-sig-name">isvalidposition</a>(<span class="summary-sig-arg">pdic</span>,
+        <span class="summary-sig-arg">iprime</span>,
+        <span class="summary-sig-arg">distance</span>)</span><br />
+      Checks if a position is valid for mutation.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.InsertMutations-pysrc.html#isvalidposition">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">list</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.InsertMutations-module.html#mutate_random" class="summary-sig-name">mutate_random</a>(<span class="summary-sig-arg">DNA</span>,
+        <span class="summary-sig-arg">AminoAcid</span>,
+        <span class="summary-sig-arg">distance</span>,
+        <span class="summary-sig-arg">pdic</span>,
+        <span class="summary-sig-arg">rev</span>,
+        <span class="summary-sig-arg">header</span>,
+        <span class="summary-sig-arg">Random</span>,
+        <span class="summary-sig-arg">outputpath</span>)</span><br />
+      Mutates a given DNA(AminoAcid) Genomesequence on several positions 
+      (distance based on DISTANCE var.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.InsertMutations-pysrc.html#mutate_random">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'core'"><code class="variable-quote">'</code><code class="variable-string">core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="getMutation"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getMutation</span>(<span class="sig-arg">AA</span>,
+        <span class="sig-arg">Codon</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.InsertMutations-pysrc.html#getMutation">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Returns a random mutation for a given AA and its Codon(DNA). The 
+  mutation is done in a way which supports the equilibrium of the 
+  nucleotide distribution by only regarding hamming distance=1 Codons as 
+  possible mutations</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>AA</code></strong> (string) - Single AA.</li>
+        <li><strong class="pname"><code>Codon</code></strong> (string) - 3-letter dna code.</li>
+    </ul></dd>
+    <dt>Returns: list,list</dt>
+        <dd>A list of all valid mutations (triplet) and the coresponding AA.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getdifference"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getdifference</span>(<span class="sig-arg">triplet_old</span>,
+        <span class="sig-arg">triplet_new</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.InsertMutations-pysrc.html#getdifference">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Given two triplets, returns the differences between them plus the 
+  position</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>triplet_old</code></strong> (string) - AA triplet.</li>
+        <li><strong class="pname"><code>triplet_new</code></strong> (string) - AA triplet.</li>
+    </ul></dd>
+    <dt>Returns: Char,Char,int</dt>
+        <dd>The new aminoacid, the old aminoacid and the position.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="isvalidposition"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">isvalidposition</span>(<span class="sig-arg">pdic</span>,
+        <span class="sig-arg">iprime</span>,
+        <span class="sig-arg">distance</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.InsertMutations-pysrc.html#isvalidposition">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Checks if a position is valid for mutation. It queries all neighboring
+  positions (iprime +-distance) to check whether there already was a 
+  mutation in pdic</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>pdic</code></strong> (dictionary) - Diciontary containing mutations and start/ stop codons..</li>
+        <li><strong class="pname"><code>iprime</code></strong> (int) - Position of the prospective mutation (DNA level)</li>
+        <li><strong class="pname"><code>distance</code></strong> (int) - User defined parameter which limits the distance between two 
+          mutations.</li>
+    </ul></dd>
+    <dt>Returns: Bool</dt>
+        <dd>Boolean which decides if the position is valid (1= yes,0 = no)</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="mutate_random"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">mutate_random</span>(<span class="sig-arg">DNA</span>,
+        <span class="sig-arg">AminoAcid</span>,
+        <span class="sig-arg">distance</span>,
+        <span class="sig-arg">pdic</span>,
+        <span class="sig-arg">rev</span>,
+        <span class="sig-arg">header</span>,
+        <span class="sig-arg">Random</span>,
+        <span class="sig-arg">outputpath</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.InsertMutations-pysrc.html#mutate_random">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Mutates a given DNA(AminoAcid) Genomesequence on several positions 
+  (distance based on DISTANCE var. If one mutation is done a compareable 
+  Triplet is searched to "reverse" the  changes made in AA 
+  distribution, N distribution, AA neighborhood</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>DNA</code></strong> (list) - DNA sequence of the reference genome.</li>
+        <li><strong class="pname"><code>AminoAcid</code></strong> (list) - AA sequence of the reference genome.</li>
+        <li><strong class="pname"><code>rev</code></strong> (Bool) - Boolean which decides if unbalanced mutations are allowed (only 
+          initial mutation is performed)</li>
+        <li><strong class="pname"><code>pdic</code></strong> (dictionary) - Diciontary containing mutations and start/ stop codons..</li>
+        <li><strong class="pname"><code>header</code></strong> (string) - Header for the resulting artificial reference file (fasta 
+          format).</li>
+        <li><strong class="pname"><code>Random</code></strong> (Bool) - Boolean for choosing on of the mutation modes (linear = 0,random 
+          = 1)</li>
+        <li><strong class="pname"><code>distance</code></strong> (int) - User defined parameter which limits the distance between two 
+          mutations.</li>
+    </ul></dd>
+    <dt>Returns: list</dt>
+        <dd>Artificial reference genome sequence.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.InsertMutations-pysrc.html b/doc/core.InsertMutations-pysrc.html
new file mode 100644
index 0000000..b331b2c
--- /dev/null
+++ b/doc/core.InsertMutations-pysrc.html
@@ -0,0 +1,403 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.InsertMutations</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module InsertMutations
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.InsertMutations-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="core.InsertMutations-module.html">Module core.InsertMutations</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt>
 </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">"""
</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created 2012
</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">core Script for the generation of the artificial reference genome
</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">The functions purpose is to to go through a list of positions and find balanced mutations
</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">which fulfill the demands on the artificial reference genome. Once a initial start positions is
</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">randomly selected all possible triplets with hamming distance 1 are generated and looked up 
</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">in a dictionary which contains all triplet positions in the input genome. If a suitable partner
</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">is found for the initial mutation the next start positions is chosen randomly. Else: try all other
</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">triplets with hamming distance 1 until no one is left. This process can be accelerated by allowing
</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">unbalanced mutations, but this will cause differences in the NUC/AA distribution and the AA neighborhood.
</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">@author: Sven Giese
</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">
 </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">random</tt> <tt class="py-keyword">as</tt> <tt class="py-name">r</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt id="link-0" class="py-name" targets="Module core.Prep=core.Prep-module.html"><a title="core.Prep" class="py-name" href="#" onclick="return doclink('link-0', 'Prep', 'link-0');">Prep</a></tt> <tt class="py-keyword">as</tt> <tt class="py-name">INI</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">
 </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">
 </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">
 </tt>
+<a name="getMutation"></a><div id="getMutation-def"><a name="L23"></a><tt class="py-lineno"> 23</tt> <a class="py-toggle" href="#" id="getMutation-toggle" onclick="return toggle('getMutation');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.InsertMutations-module.html#getMutation">getMutation</a><tt class="py-op">(</tt><tt class="py-param">AA</tt><tt class="py-op">,</tt><tt class="py-param">Codon</tt><tt class="py-op">)</tt><tt class="py-op">: [...]
+</div><div id="getMutation-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="getMutation-expanded"><a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">    Returns a random mutation for a given AA and its Codon(DNA). The mutation is done in a way which supports the equilibrium 
</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">    of the nucleotide distribution by only regarding hamming distance=1 Codons as possible mutations 
</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">    @type  AA: string
</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">    @param AA: Single AA.
</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">    @type  Codon: string
</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">    @param Codon: 3-letter dna code.
</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   list,list
</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  A list of all valid mutations (triplet) and the coresponding AA.
</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">    <tt class="py-name">temp_mutationlist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">    <tt class="py-string">'''create a list of possible triplets within hamming distance 1 '''</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">INI</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Variable core.Prep.genetic_code=core.Prep-module.html#genetic_code"><a title="core.Prep.genetic_code" class="py-name" href="#" onclick="return doclink('link-1', 'genetic_code', 'link-1');">genetic_code</a></tt><tt class="py-op">.</t [...]
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">        <tt class="py-name">isvalid</tt> <tt class="py-op">=</tt> <tt class="py-name">INI</tt><tt class="py-op">.</tt><tt id="link-2" class="py-name" targets="Function core.Prep.isvalidtriplet()=core.Prep-module.html#isvalidtriplet"><a title="core.Prep.isvalidtriplet" class="py-name" href="#" onclick="return doclink('link-2', 'isvalidtriplet', 'link-2');">isvalidtriplet</a></tt><tt class="py-op">(</tt><tt class="py-nam [...]
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">        <tt class="py-string">''' Hamming distance 1, AA is not equal to the given AA,forbid mutation to stopcodon '''</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">isvalid</tt> <tt class="py-op">==</tt> <tt class="py-name">True</tt> <tt class="py-keyword">and</tt> <tt class="py-name">AA</tt> <tt class="py-op">!=</tt><tt class="py-name">INI</tt><tt class="py-op">.</tt><tt id="link-3" class="py-name"><a title="core.Prep.genetic_code" class="py-name" href="#" onclick="return doclink('link-3', 'genetic [...]
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">            <tt class="py-name">temp_mutationlist</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">item</tt><tt class="py-op">)</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    
 </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    
 </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-name">aalist</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">    <tt class="py-comment"># generate a list of all possible amino acids resulting from the temp_mutationlist </tt>
 </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">temp_mutationlist</tt><tt class="py-op">:</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">INI</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name"><a title="core.Prep.genetic_code" class="py-name" href="#" onclick="return doclink('link-5', 'genetic_code', 'link-1');">genetic_code</a></tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">            <tt class="py-name">aalist</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">INI</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="core.Prep.genetic_code" class="py-name" href="#" onclick="return doclink('link-6', 'genetic_code', 'link-1');">genetic_code</a></tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</ [...]
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">            <tt class="py-name">aalist</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-string">"n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            
 </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">temp_mutationlist</tt><tt class="py-op">,</tt><tt class="py-name">aalist</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">
 </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">
 </tt>
+<a name="getdifference"></a><div id="getdifference-def"><a name="L55"></a><tt class="py-lineno"> 55</tt> <a class="py-toggle" href="#" id="getdifference-toggle" onclick="return toggle('getdifference');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.InsertMutations-module.html#getdifference">getdifference</a><tt class="py-op">(</tt><tt class="py-param">triplet_old</tt><tt class="py-op">,</tt><tt class="py-param">triplet_new</tt><tt class="py-op [...]
+</div><div id="getdifference-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="getdifference-expanded"><a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">    Given two triplets, returns the differences between them plus the position 
</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line"><tt class="py-docstring">    @type  triplet_old: string
</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line"><tt class="py-docstring">    @param triplet_old: AA triplet.
</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line"><tt class="py-docstring">    @type  triplet_new: string
</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line"><tt class="py-docstring">    @param triplet_new: AA triplet.
</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   Char,Char,int
</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  The new aminoacid, the old aminoacid and the position. 
</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">triplet_new</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">!=</tt><tt class="py-name">triplet_old</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">            
 </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">            <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">triplet_new</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">triplet_old</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        
 </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">      
 </tt>
+<a name="isvalidposition"></a><div id="isvalidposition-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="isvalidposition-toggle" onclick="return toggle('isvalidposition');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.InsertMutations-module.html#isvalidposition">isvalidposition</a><tt class="py-op">(</tt><tt class="py-param">pdic</tt><tt class="py-op">,</tt><tt class="py-param">iprime</tt><tt class="py-op [...]
+</div><div id="isvalidposition-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="isvalidposition-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">    Checks if a position is valid for mutation. It queries all neighboring positions (iprime +-distance) to check whether there already was a mutation in pdic
</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">    @type  pdic: dictionary
</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">    @param pdic: Diciontary containing mutations and start/ stop codons..
</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">    @type  iprime: int
</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    @param iprime: Position of the prospective mutation (DNA level)
</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">    @type  distance: int
</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">    @param distance: User defined parameter which limits the distance between two mutations.
</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   Bool
</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">    @return: Boolean which decides if the position is valid (1= yes,0 = no) 
</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">    
 </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">    <tt class="py-comment"># deal with base shifts </tt>
 </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-name">distance</tt> <tt class="py-op">=</tt> <tt class="py-name">distance</tt><tt class="py-op">-</tt><tt class="py-number">2</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    
 </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">    <tt class="py-name">istforbidden</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">o</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-op">-</tt><tt class="py-name">distance</tt><tt class="py-op">,</tt><tt class="py-name">distance</tt><tt class="py-op">+</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">iprime</tt><tt class="py-op">+</tt><tt class="py-name">o</tt> <tt class="py-keyword">in</tt> <tt class="py-name">pdic</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-comment"># E = end of orf</tt>
 </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">            <tt class="py-comment"># S = start of orf</tt>
 </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">pdic</tt><tt class="py-op">[</tt><tt class="py-name">iprime</tt><tt class="py-op">+</tt><tt class="py-name">o</tt><tt class="py-op">]</tt><tt class="py-op">==</tt><tt class="py-string">"E"</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">pdic</tt><tt class= [...]
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">o</tt> <tt class="py-op">></tt><tt class="py-number">3</tt><tt class="py-op">)</tt> <tt class="py-keyword">or</tt> <tt class="py-op">(</tt><tt class="py-name">o</tt> <tt class="py-op"><</tt><tt class="py-op">-</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="p [...]
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                    <tt class="py-name">istforbidden</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                <tt class="py-name">istforbidden</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">                <tt class="py-keyword">break</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                
 </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">istforbidden</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">
 </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">
 </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">
 </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">
 </tt>
+<a name="mutate_random"></a><div id="mutate_random-def"><a name="L111"></a><tt class="py-lineno">111</tt> <a class="py-toggle" href="#" id="mutate_random-toggle" onclick="return toggle('mutate_random');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.InsertMutations-module.html#mutate_random">mutate_random</a><tt class="py-op">(</tt><tt class="py-param">DNA</tt><tt class="py-op">,</tt><tt class="py-param">AminoAcid</tt><tt class="py-op">,</tt>< [...]
+</div><div id="mutate_random-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="mutate_random-expanded"><a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">        <tt class="py-docstring">"""
</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">        Mutates a given DNA(AminoAcid) Genomesequence on several positions (distance based on DISTANCE var. If one mutation is done
</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">        a compareable Triplet is searched to "reverse" the  changes made in AA distribution, N distribution, AA neighborhood
</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">    
</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">        @type  DNA: list
</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">        @param DNA: DNA sequence of the reference genome.
</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line"><tt class="py-docstring">        @type  AminoAcid: list
</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line"><tt class="py-docstring">        @param AminoAcid: AA sequence of the reference genome.
</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line"><tt class="py-docstring">        @type  rev: Bool
</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"><tt class="py-docstring">        @param rev: Boolean which decides if unbalanced mutations are allowed (only initial mutation is performed)
</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line"><tt class="py-docstring">        @type  pdic: dictionary
</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line"><tt class="py-docstring">        @param pdic: Diciontary containing mutations and start/ stop codons..
</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line"><tt class="py-docstring">        @type  header: string
</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line"><tt class="py-docstring">        @param header: Header for the resulting artificial reference file (fasta format).
</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line"><tt class="py-docstring">        @type  Random: Bool
</tt> </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line"><tt class="py-docstring">        @param Random: Boolean for choosing on of the mutation modes (linear = 0,random = 1)
</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"><tt class="py-docstring">        @type  distance: int
</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line"><tt class="py-docstring">        @param distance: User defined parameter which limits the distance between two mutations.
</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line"><tt class="py-docstring">        @rtype:   list
</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line"><tt class="py-docstring">        @return: Artificial reference genome sequence.
</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line"><tt class="py-docstring">        """</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">        <tt class="py-comment">##debug vals </tt>
 </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">        <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> <tt class="py-comment"># list of start positions of mutations ( start means first mutation in balanced case)</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">        <tt class="py-name">both</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt>  <tt class="py-comment"># start and end position</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">fobj2</tt><tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">outputpath</tt><tt class="py-op">+</tt><tt class="py-name">header</tt><tt class="py-op">+</tt><tt class="py-string">"_CompleteLog.txt"</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">        <tt class="py-name">fobj2</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"BalancedMutation"</tt><tt class="py-op">+</tt><tt class="py-string">"\t"</tt><tt class="py-op">+</tt><tt class="py-string">"NewAA"</tt> <tt class="py-op">+</tt> <tt class="py-string">"\t"</tt> <tt class="py-op">+</tt> <tt class="py-string">"OldAA"</tt><tt class="py-op">+</tt><tt cl [...]
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-name">fobj2</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">        
 </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">        
 </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">        <tt class="py-comment"># generate start positions for mutation (the samplespace)</tt>
 </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">        <tt class="py-name">samplespace</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">AminoAcid</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">distance</tt><tt class="py-op">/</tt><tt class="py-number">3</ [...]
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">            <tt class="py-name">samplespace</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">)</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">        
 </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">        
 </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">        <tt class="py-comment">##random_modification</tt>
 </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">Random</tt> <tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">            <tt class="py-name">r</tt><tt class="py-op">.</tt><tt class="py-name">shuffle</tt><tt class="py-op">(</tt><tt class="py-name">samplespace</tt><tt class="py-op">)</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">      
 </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">        <tt class="py-name">dna_list</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">DNA</tt><tt class="py-op">)</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">        <tt class="py-name">AminoAcid_list</tt> <tt class="py-op">=</tt> <tt class="py-name">list</tt><tt class="py-op">(</tt><tt class="py-name">AminoAcid</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">       
 </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">        <tt class="py-string">'''the lookup dictionary for the aa triplets '''</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">        <tt class="py-name">lookup_dic</tt> <tt class="py-op">=</tt> <tt class="py-name">INI</tt><tt class="py-op">.</tt><tt id="link-7" class="py-name" targets="Function core.Prep.createdic()=core.Prep-module.html#createdic"><a title="core.Prep.createdic" class="py-name" href="#" onclick="return doclink('link-7', 'createdic', 'link-7');">createdic</a></tt><tt class="py-op">(</tt><tt class="py-name">AminoAcid</tt><tt  [...]
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">
 </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-comment">#gotit indicator if a possibility was found to revert the initial changes (start of mutation)</tt>
 </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">        <tt class="py-name">gotit</tt><tt class="py-op">=</tt><tt class="py-name">False</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">        <tt class="py-comment"># stat variables</tt>
 </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">        <tt class="py-name">succ_counter</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">        <tt class="py-name">fail_counter</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt>  </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-name">skip</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">       
 </tt>
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">        <tt class="py-string">''' Main loop over the AminoAcid'''</tt> </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">samplespace</tt><tt class="py-op">:</tt> </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">            <tt class="py-string">''' no triplet left --> break '''</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">2</tt> <tt class="py-op">></tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">AminoAcid</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">                <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"\t(finished...exceeded length of AA)"</tt><tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">            
 </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">            <tt class="py-string">''' AA which is going to be mutated'''</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">            <tt class="py-name">AA</tt> <tt class="py-op">=</tt> <tt class="py-name">AminoAcid_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">        
 </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">            <tt class="py-string">'''index for dna : i*3 --> AminoAcid --> DNA
</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-string">            #not i*3+3 because i starts at AA 2 since we need a right and left neighbor'''</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">            <tt class="py-name">iprime</tt> <tt class="py-op">=</tt> <tt class="py-name">i</tt><tt class="py-op">*</tt><tt class="py-number">3</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">            
 </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">            <tt class="py-string">'''AA and corresponding DNA triplet for the middle AA '''</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">            <tt class="py-name">AA_triplet</tt><tt class="py-op">=</tt> <tt class="py-name">AminoAcid_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-name">AminoAcid_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-name">Ami [...]
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-name">DNA_triplet</tt> <tt class="py-op">=</tt> <tt class="py-name">DNA</tt><tt class="py-op">[</tt><tt class="py-name">iprime</tt><tt class="py-op">:</tt><tt class="py-name">iprime</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">
 </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">            <tt class="py-comment"># get temporary list of all mutations. Iterate over it to find best possible substitution</tt>
 </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">            <tt class="py-name">mutationsliste</tt><tt class="py-op">,</tt><tt class="py-name">aaliste</tt> <tt class="py-op">=</tt> <tt id="link-8" class="py-name" targets="Function core.InsertMutations.getMutation()=core.InsertMutations-module.html#getMutation"><a title="core.InsertMutations.getMutation" class="py-name" href="#" onclick="return doclink('link-8', 'getMutation', 'link-8');">getMutation</a></tt><tt cla [...]
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">            
 </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">            
 </tt>
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">            <tt class="py-comment"># isvalidposition returns 1 if the position isforbidden, else 0</tt>
 </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">            <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt id="link-9" class="py-name" targets="Function core.InsertMutations.isvalidposition()=core.InsertMutations-module.html#isvalidposition"><a title="core.InsertMutations.isvalidposition" class="py-name" href="#" onclick="return doclink('link-9', 'isvalidposition', 'link-9');">isvalidposition</a></tt><tt class="py-op">(</tt><tt class="py-name">pdic</tt>< [...]
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">val</tt> <tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">                <tt class="py-name">skip</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">                <tt class="py-name">fobj2</tt><tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">outputpath</tt><tt class="py-op">+</tt><tt class="py-name">header</tt><tt class="py-op">+</tt><tt class="py-string">"_CompleteLog.txt"</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">                <tt class="py-name">fobj2</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\t"</tt><tt class="py-op">+</tt><tt class="py-name">new_AA_triplet</tt> <tt class="py-op">+</tt> <tt class="py-string">"\t"</tt> <tt class="py-op" [...]
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">                <tt class="py-name">fobj2</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">                <tt class="py-keyword">continue</tt> </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">                    
 </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">                <tt class="py-keyword">pass</tt> </tt>
+<a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">            
 </tt>
+<a name="L200"></a><tt class="py-lineno">200</tt>  <tt class="py-line">
 </tt>
+<a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">q</tt><tt class="py-op">,</tt><tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">enumerate</tt><tt class="py-op">(</tt><tt class="py-name">mutationsliste</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">                
 </tt>
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-name">gotit</tt><tt class="py-op">==</tt><tt class="py-name">True</tt><tt class="py-op">:</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">                    <tt class="py-keyword">break</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">                
 </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">                <tt class="py-string">''' old and new variables for before/after the mutation '''</tt> </tt>
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">                <tt class="py-name">new_triplet</tt>                 <tt class="py-op">=</tt> <tt class="py-name">mutationsliste</tt><tt class="py-op">[</tt><tt class="py-name">q</tt><tt class="py-op">]</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">                <tt class="py-name">new_AA</tt>                      <tt class="py-op">=</tt> <tt class="py-name">aaliste</tt><tt class="py-op">[</tt><tt class="py-name">q</tt><tt class="py-op">]</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">                <tt class="py-name">new_N</tt><tt class="py-op">,</tt><tt class="py-name">old_N</tt><tt class="py-op">,</tt><tt class="py-name">position</tt>        <tt class="py-op">=</tt> <tt id="link-10" class="py-name" targets="Function core.InsertMutations.getdifference()=core.InsertMutations-module.html#getdifference"><a title="core.InsertMutations.getdifference" class="py-name" href="#" onclick="return doclink( [...]
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">                <tt class="py-name">new_AA_triplet</tt>              <tt class="py-op">=</tt> <tt class="py-name">AA_triplet</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-name">new_AA</tt><tt class="py-op">+</tt><tt class="py-name">AA_triplet</tt><tt class="py-op">[</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">                <tt class="py-name">tempdic</tt> <tt class="py-op">=</tt> <tt class="py-name">pdic</tt> </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">                <tt class="py-name">tempdic</tt><tt class="py-op">[</tt><tt class="py-name">iprime</tt><tt class="py-op">+</tt><tt class="py-name">position</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"M"</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">                
 </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">new_AA_triplet</tt> <tt class="py-keyword">in</tt> <tt class="py-name">lookup_dic</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">                    <tt class="py-string">'''templist--> contains all starting positions of the "new_AA_triplet" which we want to substitute back '''</tt> </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line">                    <tt class="py-name">templist</tt> <tt class="py-op">=</tt> <tt class="py-name">lookup_dic</tt><tt class="py-op">[</tt><tt class="py-name">new_AA_triplet</tt><tt class="py-op">]</tt> </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">                    
 </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">                    
 </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">                    <tt class="py-comment"># add potential mutation to dictionary</tt>
 </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">                    <tt class="py-name">tempposition</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">iprime</tt><tt class="py-op">+</tt><tt class="py-name">position</tt><tt class="py-op">,</tt><tt class="py-string">"M"</tt><tt class="py-op">]</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">templist</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">                        <tt class="py-name">posi</tt> <tt class="py-op">=</tt> <tt class="py-name">templist</tt><tt class="py-op">[</tt><tt class="py-name">l</tt><tt class="py-op">]</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">                        <tt class="py-comment"># i*3 --> protein nach DNA, +3 betrachten IMMER mittlere AA</tt>
 </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">                        <tt class="py-string">''' suitable dna position found? '''</tt> </tt>
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">                        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">new_triplet</tt> <tt class="py-op">==</tt> <tt class="py-name">dna_list</tt><tt class="py-op">[</tt><tt class="py-name">posi</tt><tt class="py-op">*</tt><tt class="py-number">3</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-name">dna_list</tt><tt clas [...]
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">                            <tt class="py-name">val</tt> <tt class="py-op">=</tt> <tt id="link-11" class="py-name"><a title="core.InsertMutations.isvalidposition" class="py-name" href="#" onclick="return doclink('link-11', 'isvalidposition', 'link-9');">isvalidposition</a></tt><tt class="py-op">(</tt><tt class="py-name">tempdic</tt><tt class="py-op">,</tt> <tt class="py-name">posi</tt><tt class="py-op">*</tt><tt class [...]
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">                            
 </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">val</tt> <tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">                                <tt class="py-name">skip</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">                                <tt class="py-keyword">continue</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">                            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">                                <tt class="py-keyword">pass</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">                            
 </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">                            <tt class="py-string">'''back substitution & do subs on 1st position'''</tt> </tt>
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">                            <tt class="py-name">pdic</tt><tt class="py-op">[</tt><tt class="py-name">posi</tt><tt class="py-op">*</tt><tt class="py-number">3</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">+</tt><tt class="py-name">position</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"R"</tt> </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">                            <tt class="py-name">dna_list</tt><tt class="py-op">[</tt><tt class="py-name">posi</tt><tt class="py-op">*</tt><tt class="py-number">3</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">+</tt><tt class="py-name">position</tt><tt class="py-op">]</tt><tt class="py-op">=</tt> <tt class="py-name">old_N</tt> </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">                            
 </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">                            <tt class="py-name">pdic</tt><tt class="py-op">[</tt><tt class="py-name">iprime</tt><tt class="py-op">+</tt><tt class="py-name">position</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"M"</tt> </tt>
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">                            <tt class="py-name">dna_list</tt><tt class="py-op">[</tt><tt class="py-name">iprime</tt><tt class="py-op">+</tt><tt class="py-name">position</tt><tt class="py-op">]</tt><tt class="py-op">=</tt> <tt class="py-name">new_N</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">                            
 </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">                            <tt class="py-name">AminoAcid_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">=</tt> <tt class="py-name">new_AA</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">                            <tt class="py-name">AminoAcid_list</tt><tt class="py-op">[</tt><tt class="py-name">posi</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">=</tt> <tt class="py-name">AA</tt> </tt>
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">                            
 </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">                            <tt class="py-name">gotit</tt> <tt class="py-op">=</tt> <tt class="py-name">True</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">                            <tt class="py-name">succ_counter</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">                            <tt class="py-comment">#lookup_dic[new_AA_triplet]  = [i for i in lookup_dic[new_AA_triplet] if i!=posi]</tt>
 </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">                            <tt class="py-name">lookup_dic</tt><tt class="py-op">[</tt><tt class="py-name">new_AA_triplet</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">remove</tt><tt class="py-op">(</tt><tt class="py-name">posi</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">                            
 </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">                            <tt class="py-string">'''writing the log file '''</tt> </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">                            <tt class="py-name">fobj</tt><tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">outputpath</tt><tt class="py-op">+</tt><tt class="py-name">header</tt><tt class="py-op">+</tt><tt class="py-string">"_CompleteLog.txt"</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">                            <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\t"</tt><tt class="py-op">+</tt><tt class="py-name">AA_triplet</tt> <tt class="py-op">+</tt> <tt class="py-string">"\t"</tt> <tt class= [...]
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">                            <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">                            
 </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">                            <tt class="py-comment">## statistics</tt>
 </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">                            <tt class="py-name">start</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">iprime</tt><tt class="py-op">+</tt><tt class="py-name">position</tt><tt class="py-op">)</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">                            <tt class="py-name">both</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">iprime</tt><tt class="py-op">+</tt><tt class="py-name">position</tt><tt class="py-op">,</tt><tt class="py-name">posi</tt><tt class="py-op">*</tt><tt class="py-number">3</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op [...]
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">                            <tt class="py-keyword">break</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">                
 </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">                <tt class="py-comment"># no possible triplet positions for back substitution in lookup_dic    </tt>
 </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">                    <tt class="py-keyword">continue</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">                 
 </tt>
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">            <tt class="py-comment"># after loop </tt>
 </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">gotit</tt><tt class="py-op">==</tt><tt class="py-name">False</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">                <tt class="py-name">fobj2</tt><tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">outputpath</tt><tt class="py-op">+</tt><tt class="py-name">header</tt><tt class="py-op">+</tt><tt class="py-string">"_CompleteLog.txt"</tt><tt class="py-op">,</tt><tt class="py-string">"a"</tt><tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">                <tt class="py-name">fobj2</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\t"</tt><tt class="py-op">+</tt><tt class="py-name">new_AA_triplet</tt> <tt class="py-op">+</tt> <tt class="py-string">"\t"</tt> <tt class="py-op" [...]
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">                <tt class="py-name">fobj2</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">                <tt class="py-name">fail_counter</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">                <tt class="py-comment"># reverse substitutions on? (=1) off (=0). If one dont change first mutation in the first place. Else: just change it.. </tt>
 </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">rev</tt><tt class="py-op">==</tt><tt class="py-number">0</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">                    <tt class="py-name">pdic</tt><tt class="py-op">[</tt><tt class="py-name">iprime</tt><tt class="py-op">+</tt><tt class="py-name">position</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-string">"M"</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">                    <tt class="py-name">dna_list</tt><tt class="py-op">[</tt><tt class="py-name">iprime</tt><tt class="py-op">+</tt><tt class="py-name">position</tt><tt class="py-op">]</tt><tt class="py-op">=</tt> <tt class="py-name">new_N</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">                    <tt class="py-name">AminoAcid_list</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">=</tt> <tt class="py-name">new_AA</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">                    <tt class="py-name">start</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">iprime</tt><tt class="py-op">+</tt><tt class="py-name">position</tt><tt class="py-op">)</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">                    <tt class="py-name">both</tt><tt class="py-op">.</tt><tt class="py-name">extend</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">iprime</tt><tt class="py-op">+</tt><tt class="py-name">position</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>         </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">            <tt class="py-keyword">elif</tt> <tt class="py-op">(</tt><tt class="py-name">gotit</tt><tt class="py-op">==</tt><tt class="py-name">True</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">                    <tt class="py-name">gotit</tt> <tt class="py-op">=</tt> <tt class="py-name">False</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">            
 </tt>
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">        <tt class="py-comment"># stats (INI.savepickle(pdic,header+"_pdic_e"))</tt>
 </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"\r\n########Some stats:########"</tt><tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"DNA length:\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">DNA</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"max substitutions:\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">DNA</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-name">distance</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">        <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"#Balanced Mutations:\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">succ_counter</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">        
 </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">        
 </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">dna_list</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.Mem-module.html b/doc/core.Mem-module.html
new file mode 100644
index 0000000..a3118b8
--- /dev/null
+++ b/doc/core.Mem-module.html
@@ -0,0 +1,285 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.Mem</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module Mem
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.Mem-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module Mem</h1><p class="nomargin-top"><span class="codelink"><a href="core.Mem-pysrc.html">source code</a></span></p>
+<p>Created  2012</p>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        GieseS
+        <p>Little plotting script which is called in the analysis of 
+        different mappings to an artificial reference genome. It produces 
+        the following plots:</p>
+        <p>1) ROC Curve 2) Overview histograms for FP / TP.</p>
+      </p>
+</div><!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">array</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.Mem-module.html#ReadReferenceSAMfile" class="summary-sig-name">ReadReferenceSAMfile</a>(<span class="summary-sig-arg">ref</span>,
+        <span class="summary-sig-arg">compareList</span>,
+        <span class="summary-sig-arg">readdic</span>,
+        <span class="summary-sig-arg">entries</span>)</span><br />
+      Function for reading a complete ReferenceFile into Memory.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.Mem-pysrc.html#ReadReferenceSAMfile">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">dictionary</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.Mem-module.html#ReadArtificialSAMfile" class="summary-sig-name">ReadArtificialSAMfile</a>(<span class="summary-sig-arg">art</span>,
+        <span class="summary-sig-arg">compareList</span>,
+        <span class="summary-sig-arg">RefArray</span>,
+        <span class="summary-sig-arg">readdic</span>)</span><br />
+      Function for reading a complete ReferenceFile into Memory.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.Mem-pysrc.html#ReadArtificialSAMfile">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="ReadReferenceSAMfile"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">ReadReferenceSAMfile</span>(<span class="sig-arg">ref</span>,
+        <span class="sig-arg">compareList</span>,
+        <span class="sig-arg">readdic</span>,
+        <span class="sig-arg">entries</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.Mem-pysrc.html#ReadReferenceSAMfile">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Function for reading a complete ReferenceFile into Memory.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>ref</code></strong> (string) - reference file.ArtRead</li>
+        <li><strong class="pname"><code>entries</code></strong> (int) - size for np.array</li>
+        <li><strong class="pname"><code>compareList</code></strong> (list) - list containt 1s, where there is a difference in the genomes and 
+          0s where the nucleotides are equal.</li>
+        <li><strong class="pname"><code>readdic</code></strong> (dictionary) - dictionary containing read ids and read qualities.</li>
+    </ul></dd>
+    <dt>Returns: array</dt>
+        <dd>aligned read objects in an array.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="ReadArtificialSAMfile"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">ReadArtificialSAMfile</span>(<span class="sig-arg">art</span>,
+        <span class="sig-arg">compareList</span>,
+        <span class="sig-arg">RefArray</span>,
+        <span class="sig-arg">readdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    ><span class="codelink"><a href="core.Mem-pysrc.html#ReadArtificialSAMfile">source code</a></span> 
+    </td>
+  </tr></table>
+  
+  <p>Function for reading a complete ReferenceFile into Memory.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>art</code></strong> (string) - artificial file.</li>
+        <li><strong class="pname"><code>RefArray</code></strong> (array) - Results from reading the reference SAM file.</li>
+        <li><strong class="pname"><code>compareList</code></strong> (list) - list containt 1s, where there is a difference in the genomes and 
+          0s where the nucleotides are equal.</li>
+        <li><strong class="pname"><code>readdic</code></strong> (dictionary) - dictionary containing read ids and read qualities.</li>
+    </ul></dd>
+    <dt>Returns: dictionary</dt>
+        <dd>aligned read objects from the artificial reference, which where 
+          uniquely aligned.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Wed Mar 13 12:39:27 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.Mem-pysrc.html b/doc/core.Mem-pysrc.html
new file mode 100644
index 0000000..bd4bdf5
--- /dev/null
+++ b/doc/core.Mem-pysrc.html
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.Mem</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module Mem
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.Mem-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="core.Mem-module.html">Module core.Mem</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">"""
</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">Created  2012
</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">@author: GieseS
</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">Little plotting script which is called in the analysis of different mappings to an artificial reference genome.
</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">It produces the following plots:
</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">1) ROC Curve
</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">2) Overview histograms for FP / TP.
</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">
 </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">
 </tt>
+<a name="ReadReferenceSAMfile"></a><div id="ReadReferenceSAMfile-def"><a name="L18"></a><tt class="py-lineno"> 18</tt> <a class="py-toggle" href="#" id="ReadReferenceSAMfile-toggle" onclick="return toggle('ReadReferenceSAMfile');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.Mem-module.html#ReadReferenceSAMfile">ReadReferenceSAMfile</a><tt class="py-op">(</tt><tt class="py-param">ref</tt><tt class="py-op">,</tt> <tt class="py-param">compareLi [...]
+</div><div id="ReadReferenceSAMfile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ReadReferenceSAMfile-expanded"><a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">    Function for reading a complete ReferenceFile into Memory.
</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">    @type  ref: string
</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">    @param ref: reference file.ArtRead
</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">    @type  entries: int
</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line"><tt class="py-docstring">    @param entries: size for np.array
</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-docstring">    @type  compareList: list
</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line"><tt class="py-docstring">    @param compareList: list containt 1s, where there is a difference in the genomes and 0s where the nucleotides are equal.
</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readdic: dictionary
</tt> </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line"><tt class="py-docstring">    @param readdic: dictionary containing read ids and read qualities.
</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   array
</tt> </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  aligned read objects in an array.
</tt> </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">    <tt class="py-comment"># create array with max size = |reads|</tt>
 </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">    <tt class="py-name">AlignedReadRefArray</tt> <tt class="py-op">=</tt> <tt class="py-name">np</tt><tt class="py-op">.</tt><tt class="py-name">zeros</tt><tt class="py-op">(</tt><tt class="py-name">entries</tt><tt class="py-op">,</tt> <tt class="py-name">dtype</tt><tt class="py-op">=</tt><tt class="py-name">object</tt><tt class="py-op">)</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">    <tt class="py-name">tp</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">    <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">    <tt class="py-name">start100k</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    <tt class="py-comment">#print ("\tREFERENCE:")</tt>
 </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">ref</tt><tt class="py-op">,</tt> <tt class="py-string">"r"</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">    <tt class="py-name">refdic</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">    <tt class="py-comment">#print ("\tprocessed alignments in Million:")</tt>
 </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">    <tt class="py-comment">#print("\t\t"),</tt>
 </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">alignment</tt> <tt class="py-keyword">in</tt> <tt class="py-name">fobj</tt><tt class="py-op">:</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">        <tt class="py-name">k</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">k</tt> <tt class="py-op">==</tt> <tt class="py-number">100000</tt><tt class="py-op">:</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line">            <tt class="py-name">end100k</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-string">"%f.."</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">end100k</tt> <tt class="py-op">-</tt> <tt class="py-name">start100k</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">
 </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">        <tt class="py-name">read</tt><tt class="py-op">,</tt> <tt class="py-name">readname</tt> <tt class="py-op">=</tt> <tt id="link-0" class="py-name" targets="Function core.AnalyseMapping.isSaneAlignment()=core.AnalyseMapping-module.html#isSaneAlignment"><a title="core.AnalyseMapping.isSaneAlignment" class="py-name" href="#" onclick="return doclink('link-0', 'isSaneAlignment', 'link-0');">isSaneAlignment</a></tt><tt [...]
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">read</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">        
 </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">            <tt class="py-comment"># Check if entry in AlignedReadRef == 0, 0 means no read with that ID</tt>
 </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">AlignedReadRefArray</tt><tt class="py-op">[</tt><tt class="py-name">readdic</tt><tt class="py-op">[</tt><tt class="py-name">readname</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">internalID</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">                <tt class="py-comment"># read already in dic? Add the non-redundant values to the object</tt>
 </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">                <tt class="py-name">AlignedReadRefArray</tt><tt class="py-op">[</tt><tt class="py-name">readdic</tt><tt class="py-op">[</tt><tt class="py-name">readname</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">internalID</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-1" class="py-name" targets="Method core.AnalyseMapping.CustomRead.toObjself()=core.AnalyseMapping.CustomR [...]
+core.AnalyseMapping.TPRead.toObjself" class="py-name" href="#" onclick="return doclink('link-1', 'toObjself', 'link-1');">toObjself</a></tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                <tt class="py-comment">#refdic[readname].toObjself(read)</tt>
 </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">                <tt class="py-comment"># new read? Just add it to the dictionary</tt>
 </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">                <tt class="py-name">AlignedReadRefArray</tt><tt class="py-op">[</tt><tt class="py-name">readdic</tt><tt class="py-op">[</tt><tt class="py-name">readname</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">internalID</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">read</tt> </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">                <tt class="py-name">tp</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">                <tt class="py-comment">#refdic[readname] = read</tt>
 </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">
 </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">    <tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt class="py-comment">#print("\r\n")</tt>
 </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-string">"\t %f "</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">end</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">AlignedReadRefArray</tt><tt class="py-op">,</tt> <tt class="py-name">tp</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">
 </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">
 </tt>
+<a name="ReadArtificialSAMfile"></a><div id="ReadArtificialSAMfile-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="ReadArtificialSAMfile-toggle" onclick="return toggle('ReadArtificialSAMfile');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.Mem-module.html#ReadArtificialSAMfile">ReadArtificialSAMfile</a><tt class="py-op">(</tt><tt class="py-param">art</tt><tt class="py-op">,</tt> <tt class="py-param">com [...]
+</div><div id="ReadArtificialSAMfile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="ReadArtificialSAMfile-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">    Function for reading a complete ReferenceFile into Memory.
</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">    @type  art: string
</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">    @param art: artificial file.
</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">    @type  RefArray: array
</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">    @param RefArray: Results from reading the reference SAM file.
</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    @type  compareList: list
</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">    @param compareList: list containt 1s, where there is a difference in the genomes and 0s where the nucleotides are equal.
</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">    @type  readdic: dictionary
</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">    @param readdic: dictionary containing read ids and read qualities.
</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   dictionary
</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  aligned read objects from the artificial reference, which where uniquely aligned.
</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">    
 </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-name">start</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-comment">#print ("\tARTIFICIAL:")</tt>
 </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">art</tt><tt class="py-op">,</tt> <tt class="py-string">"r"</tt><tt class="py-op">)</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-name">artdic</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-name">k</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    
 </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">    <tt class="py-name">read</tt> <tt class="py-op">=</tt> <tt id="link-2" class="py-name" targets="Function core.AnalyseMapping.SkipHeader()=core.AnalyseMapping-module.html#SkipHeader"><a title="core.AnalyseMapping.SkipHeader" class="py-name" href="#" onclick="return doclink('link-2', 'SkipHeader', 'link-2');">SkipHeader</a></tt><tt class="py-op">(</tt><tt class="py-name">fobj</tt><tt class="py-op">,</tt><tt class="py [...]
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">    
 </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">    
 </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">alignment</tt> <tt class="py-keyword">in</tt> <tt class="py-name">fobj</tt><tt class="py-op">:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-name">k</tt> <tt class="py-op">+=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">k</tt> <tt class="py-op">%</tt> <tt class="py-number">1000000</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-string">"%d.."</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">/</tt><tt class="py-number">1000000</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">read</tt><tt class="py-op">,</tt> <tt class="py-name">readname</tt> <tt class="py-op">=</tt> <tt id="link-3" class="py-name"><a title="core.AnalyseMapping.isSaneAlignment" class="py-name" href="#" onclick="return doclink('link-3', 'isSaneAlignment', 'link-0');">isSaneAlignment</a></tt><tt class="py-op">(</tt><tt class="py-name">alignment</tt><tt class="py-op">,</tt> <tt class="py-string">"a [...]
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">read</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">            <tt class="py-keyword">pass</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">            <tt class="py-comment"># Check by internal naming if spot in array is taken (!= 0) by a read</tt>
 </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">            <tt class="py-name">index</tt> <tt class="py-op">=</tt> <tt id="link-4" class="py-name" targets="Function core.AnalyseMapping.returnIndex()=core.AnalyseMapping-module.html#returnIndex"><a title="core.AnalyseMapping.returnIndex" class="py-name" href="#" onclick="return doclink('link-4', 'returnIndex', 'link-4');">returnIndex</a></tt><tt class="py-op">(</tt><tt class="py-name">readdic</tt><tt class="py-op">, [...]
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">            <tt class="py-keyword">if</tt> <tt class="py-name">RefArray</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt> <tt class="py-op">!=</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">                <tt class="py-comment"># read already in dic? Check if the alignments are the same</tt>
 </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">RefArray</tt><tt class="py-op">[</tt><tt class="py-name">index</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-5" class="py-name" targets="Method core.AnalyseMapping.TPRead.isContained()=core.AnalyseMapping.TPRead-class.html#isContained"><a title="core.AnalyseMapping.TPRead.isContained" class="py-name" href="#"  [...]
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                    <tt class="py-keyword">if</tt> <tt class="py-name">readname</tt> <tt class="py-keyword">in</tt> <tt class="py-name">artdic</tt><tt class="py-op">:</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">                        <tt class="py-name">artdic</tt><tt class="py-op">[</tt><tt class="py-name">readname</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt id="link-6" class="py-name"><a title="core.AnalyseMapping.CustomRead.toObjself
+core.AnalyseMapping.TPRead.toObjself" class="py-name" href="#" onclick="return doclink('link-6', 'toObjself', 'link-1');">toObjself</a></tt><tt class="py-op">(</tt><tt class="py-name">read</tt><tt class="py-op">)</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">                    
 </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">                        <tt class="py-name">artdic</tt><tt class="py-op">[</tt><tt class="py-name">readname</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">read</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">                    <tt class="py-keyword">pass</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">                
 </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">                <tt class="py-comment"># new read? Just add it to the dictionary</tt>
 </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                <tt class="py-name">artdic</tt><tt class="py-op">[</tt><tt class="py-name">readname</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">read</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">           
 </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line"> 
 </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">    <tt class="py-name">end</tt> <tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">    <tt class="py-comment">#print("\r\n")</tt>
 </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-string">"\t %f "</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">end</tt> <tt class="py-op">-</tt> <tt class="py-name">start</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">    <tt class="py-comment">#print ("\tdone in %d seconds" % (end-start))</tt>
 </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">artdic</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Wed Mar 13 12:39:27 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.PlotData-module.html b/doc/core.PlotData-module.html
new file mode 100644
index 0000000..658f766
--- /dev/null
+++ b/doc/core.PlotData-module.html
@@ -0,0 +1,224 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.PlotData</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module PlotData
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.PlotData-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module PlotData</h1><p class="nomargin-top"><span class="codelink"><a href="core.PlotData-pysrc.html">source code</a></span></p>
+<p>Created  2012</p>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        GieseS
+        <p>Little plotting script which is called in the analysis of 
+        different mappings to an artificial reference genome. It produces 
+        the following plots:</p>
+        <p>1) ROC Curve 2) Overview histograms for FP / TP.</p>
+      </p>
+</div><!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="trapezoidal_rule"></a><span class="summary-sig-name">trapezoidal_rule</span>(<span class="summary-sig-arg">x</span>,
+        <span class="summary-sig-arg">y</span>)</span><br />
+      Approximates the integral through the points a,b</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.PlotData-pysrc.html#trapezoidal_rule">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="CalculateRoc2"></a><span class="summary-sig-name">CalculateRoc2</span>(<span class="summary-sig-arg">dataArray</span>,
+        <span class="summary-sig-arg">prefix</span>,
+        <span class="summary-sig-arg">readsize</span>,
+        <span class="summary-sig-arg">uniquehits</span>,
+        <span class="summary-sig-arg">mappedreads</span>,
+        <span class="summary-sig-arg">filename</span>)</span><br />
+      Calculates the adjusted ROC curve as well as the AUC value derived 
+      from the adjusted points and writes the ROC tables to .txt files.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.PlotData-pysrc.html#CalculateRoc2">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="plotOverviewHist"></a><span class="summary-sig-name">plotOverviewHist</span>(<span class="summary-sig-arg">fp</span>,
+        <span class="summary-sig-arg">tp</span>,
+        <span class="summary-sig-arg">label</span>,
+        <span class="summary-sig-arg">prefix</span>,
+        <span class="summary-sig-arg">mappernames</span>)</span><br />
+      Plots true positives and false positives into 2 different histogram 
+      subplots.</td>
+          <td align="right" valign="top">
+            <span class="codelink"><a href="core.PlotData-pysrc.html#plotOverviewHist">source code</a></span>
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'core'"><code class="variable-quote">'</code><code class="variable-string">core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.PlotData-pysrc.html b/doc/core.PlotData-pysrc.html
new file mode 100644
index 0000000..a806f70
--- /dev/null
+++ b/doc/core.PlotData-pysrc.html
@@ -0,0 +1,406 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.PlotData</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module PlotData
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.PlotData-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="core.PlotData-module.html">Module core.PlotData</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-docstring">'''
</tt> </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">Created  2012
</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">@author: GieseS
</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">Little plotting script which is called in the analysis of different mappings to an artificial reference genome.
</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">It produces the following plots:
</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-docstring">1) ROC Curve
</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-docstring">2) Overview histograms for FP / TP.
</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">
 </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">numpy</tt> <tt class="py-keyword">as</tt> <tt class="py-name">np</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">matplotlib</tt><tt class="py-op">.</tt><tt class="py-name">pyplot</tt> <tt class="py-keyword">as</tt> <tt class="py-name">plt</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-keyword">from</tt> <tt class="py-name">mpl_toolkits</tt><tt class="py-op">.</tt><tt class="py-name">mplot3d</tt> <tt class="py-keyword">import</tt> <tt class="py-name">Axes3D</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">time</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">pylab</tt> <tt class="py-keyword">as</tt> <tt class="py-name">p</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">
 </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line"><tt class="py-comment">##### HELP FUNCTIONS ####</tt>
 </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">
 </tt>
+<a name="trapezoidal_rule"></a><div id="trapezoidal_rule-def"><a name="L27"></a><tt class="py-lineno"> 27</tt> <a class="py-toggle" href="#" id="trapezoidal_rule-toggle" onclick="return toggle('trapezoidal_rule');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.PlotData-module.html#trapezoidal_rule">trapezoidal_rule</a><tt class="py-op">(</tt><tt class="py-param">x</tt><tt class="py-op">,</tt> <tt class="py-param">y</tt><tt class="py-op">)</tt> [...]
+</div><div id="trapezoidal_rule-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="trapezoidal_rule-expanded"><a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">    <tt class="py-docstring">"""Approximates the integral through the points a,b"""</tt> </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">    <tt class="py-name">index</tt> <tt class="py-op">=</tt>  <tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class=" [...]
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">    <tt class="py-name">xdiff</tt> <tt class="py-op">=</tt> <tt class="py-name">np</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">-</tt><tt class="py-name">x</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">-</tt><tt class [...]
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt class="py-name">ysum</tt> <tt class="py-op">=</tt> <tt class="py-name">np</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">y</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-name">y</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">-</tt><tt class= [...]
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">np</tt><tt class="py-op">.</tt><tt class="py-name">dot</tt><tt class="py-op">(</tt><tt class="py-name">xdiff</tt><tt class="py-op">,</tt><tt class="py-name">ysum</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">
 </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">
 </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-comment">#### HELP FUNCTIONS END ############</tt>
 </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">
 </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">
 </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line"><tt class="py-string">""" 
</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line"><tt class="py-string">abbreviations:
</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-string">tp = True positives
</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-string">fp = false positives
</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-string">NM = number of mismtaches
</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-string">mq = mapping quality
</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-string">rq = readquality
</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-string">subs = substitutions in artifical reference genome (ARG)
</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-string">"""</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line">
 </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line">
 </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">            
 </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-comment">###############################################################################            </tt>
 </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">
 </tt>
+<a name="CalculateRoc2"></a><div id="CalculateRoc2-def"><a name="L52"></a><tt class="py-lineno"> 52</tt> <a class="py-toggle" href="#" id="CalculateRoc2-toggle" onclick="return toggle('CalculateRoc2');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.PlotData-module.html#CalculateRoc2">CalculateRoc2</a><tt class="py-op">(</tt><tt class="py-param">dataArray</tt><tt class="py-op">,</tt><tt class="py-param">prefix</tt><tt class="py-op">,</tt><tt cl [...]
+</div><div id="CalculateRoc2-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="CalculateRoc2-expanded"><a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">    Calculates the adjusted ROC curve as well as the AUC value derived from the adjusted points
</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">    and writes the ROC tables to .txt files. 
</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">    <tt class="py-name">starttime</tt><tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">    <tt class="py-name">uniquehits</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">uniquehits</tt><tt class="py-op">)</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">    <tt class="py-name">readsize</tt> <tt class="py-op">=</tt> <tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">readsize</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    
 </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">    
 </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-name">entries</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">dataArray</tt><tt class="py-op">)</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        
 </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">
 </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">    <tt class="py-name">resultmatrix</tt> <tt class="py-op">=</tt> <tt class="py-name">np</tt><tt class="py-op">.</tt><tt class="py-name">arange</tt><tt class="py-op">(</tt><tt class="py-name">entries</tt><tt class="py-op">*</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">    <tt class="py-name">resultmatrix</tt> <tt class="py-op">=</tt> <tt class="py-name">resultmatrix</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-name">entries</tt><tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">        
 </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    <tt class="py-name">maxrq</tt> <tt class="py-op">=</tt>  <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">rq</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dataArray</tt><tt class="py-op">)</tt> </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-name">maxnm</tt> <tt class="py-op">=</tt>  <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">nm</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dataArray</tt><tt class="py-op">)</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">    <tt class="py-name">maxGaps</tt><tt class="py-op">=</tt>  <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">gaps</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dataArray</tt><tt class="py-op">)</tt> </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">    <tt class="py-name">maxMism</tt><tt class="py-op">=</tt>  <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">mism</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dataArray</tt><tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    
 </tt>
+<a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">        
 </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">    <tt class="py-name">minrq</tt> <tt class="py-op">=</tt>  <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">rq</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dataArray</tt><tt class="py-op">)</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    <tt class="py-name">minnm</tt> <tt class="py-op">=</tt>  <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">nm</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dataArray</tt><tt class="py-op">)</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">    <tt class="py-name">minmq</tt><tt class="py-op">=</tt>  <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">mq</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dataArray</tt><tt class="py-op">)</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line">    <tt class="py-name">minGaps</tt><tt class="py-op">=</tt>  <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">gaps</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dataArray</tt><tt class="py-op">)</tt>   </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">    <tt class="py-name">minMism</tt><tt class="py-op">=</tt>  <tt class="py-name">min</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">mism</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dataArray</tt><tt class="py-op">)</tt>     [...]
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line">    
 </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line">    
 </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line">    <tt class="py-comment"># adjust stepsize for rq since the score behaves the other way</tt>
 </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line">    <tt class="py-name">quants</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">3</tt><tt class="py-op">,</tt><tt class="py-number">4</tt><tt class="py-op">,</tt><tt class="py-number">5</tt><tt class="py-op">]</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line">    <tt class="py-name">tempa</tt> <tt class="py-op">=</tt> <tt class="py-name">maxrq</tt><tt class="py-op">-</tt><tt class="py-name">minrq</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line">    <tt class="py-name">stepsize</tt> <tt class="py-op">=</tt> <tt class="py-name">tempa</tt><tt class="py-op">/</tt><tt class="py-number">5</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">        
 </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">    <tt class="py-name">rqQuants</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">minrq</tt><tt class="py-op">+</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">*</tt><tt class="py-name">stepsize</tt><tt class="py-op">,</tt><tt class="py-number [...]
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-name">rqQuants</tt><tt class="py-op">.</tt><tt class="py-name">reverse</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    <tt class="py-name">rqQuants</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt><tt class="py-number">0</tt> <tt class="py-comment"># last entry is rounded bigger than the smallest in the dataset</tt> </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        
 </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">    <tt class="py-name">nmQuants</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">*</tt><tt class="py-name">maxnm</tt><tt class="py-op">/</tt><tt class="py-number">5</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">quants</tt><tt class="py-op">]</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-name">GapsQuants</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">*</tt><tt class="py-name">maxGaps</tt><tt class="py-op">/</tt><tt class="py-number">5</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">quants</tt><tt class="py-op">]</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-name">MismQuants</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">*</tt><tt class="py-name">maxMism</tt><tt class="py-op">/</tt><tt class="py-number">5</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">quants</tt><tt class="py-op">]</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">
 </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">    <tt class="py-name">rocvector</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        
 </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">    <tt class="py-comment"># i = NM,l = RQ, k = MQ</tt>
 </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt class="py-name">quants</tt><tt class="py-op">:</tt> <tt class="py-comment"># RQ</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">                <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">quants</tt><tt class="py-op">:</tt> <tt class="py-comment"># GAPS</tt> </tt>
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">                    <tt class="py-keyword">for</tt> <tt class="py-name">j</tt> <tt class="py-keyword">in</tt> <tt class="py-name">quants</tt><tt class="py-op">:</tt> <tt class="py-comment"># MISMATCH</tt> </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">                            <tt class="py-name">temparray</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">m</tt> <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">dataArray</tt> <tt class="py-keyword">if</tt> <tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">gaps</tt><tt class="py-op">[</tt><tt class="py-number">0 [...]
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">                            
 </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">
 </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">                            <tt class="py-name">tempids</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">m</tt><tt class="py-op">.</tt><tt class="py-name">id</tt> <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">temparray</tt><tt class="py-op">]</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">                            <tt class="py-name">uniquereads</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                            <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">tempids</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">                                <tt class="py-name">uniquereads</tt><tt class="py-op">[</tt><tt class="py-name">tempids</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">
 </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">                            <tt class="py-name">mappedreads</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">uniquereads</tt><tt class="py-op">)</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">                            
 </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"> 
 </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">                            
 </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">                            <tt class="py-name">templength</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">temparray</tt><tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">                            
 </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">                            <tt class="py-keyword">if</tt> <tt class="py-name">templength</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">                                <tt class="py-keyword">continue</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">                            <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">                                <tt class="py-name">tempTP</tt> <tt class="py-op">=</tt> <tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">.</tt><tt class="py-name">mr</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">x</tt> <tt class="py-keyword">in</tt> <tt class="py-name">temparray</tt><t [...]
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">                                <tt class="py-name">tempFP</tt> <tt class="py-op">=</tt><tt class="py-name">templength</tt><tt class="py-op">-</tt><tt class="py-name">tempTP</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">                                <tt class="py-name">F</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">mappedreads</tt><tt class="py-op">)</tt><tt class="py-op">/</tt> <tt class="py-name">readsize</tt><tt class="py-op">)</tt> <tt class="py-op">,</tt><tt class="py-number">3</tt><tt class= [...]
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">                                <tt class="py-name">sens</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">tempTP</tt><tt class="py-op">/</tt> <tt class="py-name">uniquehits</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">F</tt><tt class="py-op">,</tt><tt class="py-number">3</tt><tt class="py-op">)</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">                                <tt class="py-keyword">if</tt> <tt class="py-name">tempFP</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt><tt class="py-op">:</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">                                    <tt class="py-name">spec</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">                                <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">                                    <tt class="py-name">spec</tt> <tt class="py-op">=</tt> <tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">tempFP</tt> <tt class="py-op">/</tt> <tt class="py-name">uniquehits</tt><tt class="py-op">)</tt> <tt class="py-op">*</tt> <tt class="py-name">F</tt><tt class="py-op">,</tt><tt class="py-number">3</tt><tt class="py-op">)</tt>         [...]
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">                                
 </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">                                <tt class="py-name">rocvector</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">rqQuants</tt><tt class="py-op">[</tt><tt class="py-name">l</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">GapsQuants</tt><tt class="py-op">[</tt><tt class= [...]
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">                        
 </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">                    <tt class="py-comment">#print ("%d\t%d\t%d\t" % (templength,tempTP,tempFP))</tt>
 </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">
 </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt class="py-comment">#0 = NM        4 = TP        7 = sens</tt>
 </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">    <tt class="py-comment">#1 = RQ        5 = FP        8 = 1-spec</tt>
 </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">    <tt class="py-comment">#2 = GAPS        6 = P        9 = F</tt>
 </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">    <tt class="py-comment">#append needed for last entry in AUC calculation</tt>
 </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">    <tt class="py-name">rocvector</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number [...]
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">    <tt class="py-name">nproc</tt> <tt class="py-op">=</tt> <tt class="py-name">np</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-name">rocvector</tt><tt class="py-op">)</tt> </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">    
 </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-comment">#write the sens and specificity values from nproc according to the enumeration in line 149. </tt>
 </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-comment">#specificity is in cell -2</tt>
 </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">    <tt class="py-comment"># sensitivity is in cell -3</tt>
 </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">    <tt class="py-name">sens</tt> <tt class="py-op">=</tt>  <tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">nproc</tt><tt class="py-op">]</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">    <tt class="py-name">spez</tt> <tt class="py-op">=</tt>  <tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">nproc</tt><tt class="py-op">]</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">    
 </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line">    <tt class="py-comment"># adjust ROC curve. It is necessary that it the 1-specificity ends in 1.</tt>
 </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line">    <tt class="py-comment"># for the last record copy the  predecessor in sens to it</tt>
 </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">    <tt class="py-comment"># and write 1 to specificity    </tt>
 </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line">    <tt class="py-name">spez</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-number">1</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">    <tt class="py-name">sens</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">sens</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">]</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">    
 </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">
 </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line">    <tt class="py-name">rocarray1</tt> <tt class="py-op">=</tt> <tt class="py-name">np</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">sens</tt><tt class="py-op">,</tt><tt class="py-name">spez</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">    <tt class="py-name">rocarray1</tt> <tt class="py-op">=</tt> <tt class="py-name">rocarray1</tt><tt class="py-op">.</tt><tt class="py-name">flatten</tt><tt class="py-op">(</tt><tt class="py-string">'F'</tt><tt class="py-op">)</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line">    <tt class="py-name">rocarray1</tt><tt class="py-op">=</tt> <tt class="py-name">rocarray1</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">spez</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line">    
 </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line">    <tt class="py-name">rocarray</tt> <tt class="py-op">=</tt> <tt class="py-name">np</tt><tt class="py-op">.</tt><tt class="py-name">array</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-name">sens</tt><tt class="py-op">,</tt><tt class="py-name">spez</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-name">rocarray</tt> <tt class="py-op">=</tt> <tt class="py-name">rocarray</tt><tt class="py-op">.</tt><tt class="py-name">flatten</tt><tt class="py-op">(</tt><tt class="py-string">'F'</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-name">rocarray</tt> <tt class="py-op">=</tt> <tt class="py-name">rocarray</tt><tt class="py-op">.</tt><tt class="py-name">reshape</tt><tt class="py-op">(</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">spez</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">    <tt class="py-name">rocarray</tt> <tt class="py-op">=</tt> <tt class="py-name">np</tt><tt class="py-op">.</tt><tt class="py-name">sort</tt><tt class="py-op">(</tt><tt class="py-name">rocarray</tt><tt class="py-op">.</tt><tt class="py-name">view</tt><tt class="py-op">(</tt><tt class="py-string">'float,float'</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> <tt class="py-name">order</tt><tt class="py-op">=</tt>< [...]
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">    
 </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">    <tt class="py-name">rocarrayCorrected</tt> <tt class="py-op">=</tt> <tt class="py-name">rocarray</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">    
 </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">    <tt class="py-comment">#print rocarrayCorrected</tt>
 </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">    <tt class="py-comment"># project points where...</tt>
 </tt>
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">m</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">rocarrayCorrected</tt><tt class="py-op">)</tt><tt class="py-op">-</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-op">-</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt [...]
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">rocarrayCorrected</tt><tt class="py-op">[</tt><tt class="py-name">m</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">>=</tt> <tt class="py-name">rocarrayCorrected</tt><tt class="py-op">[</tt><tt class="py-name">m</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op [...]
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">            <tt class="py-name">rocarrayCorrected</tt><tt class="py-op">[</tt><tt class="py-name">m</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">]</tt> <tt class="py-op">=</tt> <tt class="py-name">rocarrayCorrected</tt><tt class="py-op">[</tt><tt class="py-name">m</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">] [...]
+<a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">
 </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">            
 </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line">    <tt class="py-comment">#print rocarrayCorrected            </tt>
 </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">hold</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L170"></a><tt class="py-lineno">170</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">figure</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">subplot</tt><tt class="py-op">(</tt><tt class="py-number">111</tt><tt class="py-op">)</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line">    <tt class="py-comment">#plt.scatter(spez, sens, c='b', marker='o', facecolor='red')</tt>
 </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line">    <tt class="py-comment">#plt.plot(rocarray[:,1], rocarray[:,0]</tt>
 </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">plot</tt><tt class="py-op">(</tt><tt class="py-name">rocarrayCorrected</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt><tt class="py-name">rocarrayCorrected</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt><tt clas [...]
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">plot</tt><tt class="py-op">(</tt><tt class="py-name">rocarray1</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">]</tt><tt class="py-op">,</tt> <tt class="py-name">rocarray1</tt><tt class="py-op">[</tt><tt class="py-op">:</tt><tt class="py-op">,</tt><tt class="py-number">0 [...]
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">xlabel</tt><tt class="py-op">(</tt><tt class="py-string">'1-specificity'</tt><tt class="py-op">)</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">ylabel</tt><tt class="py-op">(</tt><tt class="py-string">'sensitivity'</tt><tt class="py-op">)</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">title</tt><tt class="py-op">(</tt><tt class="py-string">r'ROC:'</tt><tt class="py-op">+</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">axis</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-op">-</tt><tt class="py-number">0.1</tt><tt class="py-op">,</tt><tt class="py-number">1.1</tt><tt class="py-op">,</tt><tt class="py-op">-</tt><tt class="py-number">0.1</tt><tt class="py-op">,</tt><tt class="py-number">1.1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">grid</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">legend</tt><tt class="py-op">(</tt><tt class="py-name">loc</tt><tt class="py-op">=</tt><tt class="py-string">'lower right'</tt><tt class="py-op">)</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">tight_layout</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">savefig</tt><tt class="py-op">(</tt><tt class="py-name">prefix</tt> <tt class="py-op">+</tt> <tt class="py-string">"_ROC.pdf"</tt><tt class="py-op">,</tt><tt class="py-name">format</tt><tt class="py-op">=</tt><tt class="py-string">'pdf'</tt><tt class="py-op">)</tt> </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">clf</tt>   </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">    
 </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">    
 </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">    <tt class="py-name">AUC</tt> <tt class="py-op">=</tt> <tt id="link-0" class="py-name" targets="Function core.PlotData.trapezoidal_rule()=core.PlotData-module.html#trapezoidal_rule"><a title="core.PlotData.trapezoidal_rule" class="py-name" href="#" onclick="return doclink('link-0', 'trapezoidal_rule', 'link-0');">trapezoidal_rule</a></tt><tt class="py-op">(</tt><tt class="py-name">rocarrayCorrected</tt><tt class="p [...]
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">    
 </tt>
+<a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt> <tt class="py-op">=</tt>  <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">prefix</tt><tt class="py-op">+</tt><tt class="py-string">"_roctable.txt"</tt><tt class="py-op">,</tt><tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
+<a name="L190"></a><tt class="py-lineno">190</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"RQ\tGAPS\tMM\tPTP\tFP\tP\tSn\t1-Sp\tF\r\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L191"></a><tt class="py-lineno">191</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">xrange</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">rocvector</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L192"></a><tt class="py-lineno">192</tt>  <tt class="py-line">        <tt class="py-name">temp</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">k</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">rocvector</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">]</tt> </tt>
+<a name="L193"></a><tt class="py-lineno">193</tt>  <tt class="py-line">        <tt class="py-name">tempstr</tt> <tt class="py-op">=</tt> <tt class="py-string">"\t"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">temp</tt><tt class="py-op">)</tt> </tt>
+<a name="L194"></a><tt class="py-lineno">194</tt>  <tt class="py-line">        <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">tempstr</tt><tt class="py-op">+</tt><tt class="py-string">"\r\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L195"></a><tt class="py-lineno">195</tt>  <tt class="py-line">
 </tt>
+<a name="L196"></a><tt class="py-lineno">196</tt>  <tt class="py-line">    <tt class="py-name">endtime</tt><tt class="py-op">=</tt> <tt class="py-name">time</tt><tt class="py-op">.</tt><tt class="py-name">time</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L197"></a><tt class="py-lineno">197</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-string">"X"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+<a name="L198"></a><tt class="py-lineno">198</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">round</tt><tt class="py-op">(</tt><tt class="py-name">AUC</tt><tt class="py-op">,</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L199"></a><tt class="py-lineno">199</tt>  <tt class="py-line">
 </tt>
+<a name="plotOverviewHist"></a><div id="plotOverviewHist-def"><a name="L200"></a><tt class="py-lineno">200</tt> <a class="py-toggle" href="#" id="plotOverviewHist-toggle" onclick="return toggle('plotOverviewHist');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.PlotData-module.html#plotOverviewHist">plotOverviewHist</a><tt class="py-op">(</tt><tt class="py-param">fp</tt><tt class="py-op">,</tt><tt class="py-param">tp</tt><tt class="py-op">,</t [...]
+</div><div id="plotOverviewHist-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="plotOverviewHist-expanded"><a name="L201"></a><tt class="py-lineno">201</tt>  <tt class="py-line">    <tt class="py-docstring">"""Plots true positives and false positives into 2 different histogram subplots. """</tt> </tt>
+<a name="L202"></a><tt class="py-lineno">202</tt>  <tt class="py-line">    <tt class="py-name">prefix2</tt> <tt class="py-op">=</tt> <tt class="py-string">"/"</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">prefix</tt><tt class="py-op">.</tt><tt class="py-name">split</tt><tt class="py-op">(</tt><tt class="py-string">"/"</tt><tt class="py-op">)</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">:</tt><tt class="py [...]
+<a name="L203"></a><tt class="py-lineno">203</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">prefix2</tt><tt class="py-op">+</tt><tt class="py-string">"indexMappingTools.txt"</tt><tt class="py-op">,</tt><tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
+<a name="L204"></a><tt class="py-lineno">204</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">label</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L205"></a><tt class="py-lineno">205</tt>  <tt class="py-line">        <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"%s - %s\r\n"</tt> <tt class="py-op">%</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-name">mappernames</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt c [...]
+<a name="L206"></a><tt class="py-lineno">206</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L207"></a><tt class="py-lineno">207</tt>  <tt class="py-line">    
 </tt>
+<a name="L208"></a><tt class="py-lineno">208</tt>  <tt class="py-line">    <tt class="py-name">x</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">i</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">fp</tt><tt class="py-op">)</tt><tt class="py-o [...]
+<a name="L209"></a><tt class="py-lineno">209</tt>  <tt class="py-line">    <tt class="py-name">xmax</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-number">1</tt> </tt>
+<a name="L210"></a><tt class="py-lineno">210</tt>  <tt class="py-line">    <tt class="py-name">ymaxTP</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">tp</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-number">0.1</tt> </tt>
+<a name="L211"></a><tt class="py-lineno">211</tt>  <tt class="py-line">    <tt class="py-name">ymaxFP</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">fp</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-number">0.1</tt> </tt>
+<a name="L212"></a><tt class="py-lineno">212</tt>  <tt class="py-line">
 </tt>
+<a name="L213"></a><tt class="py-lineno">213</tt>  <tt class="py-line">    <tt class="py-comment">##### SUBPLOT NUMBER OF MISMATCHES ####</tt>
 </tt>
+<a name="L214"></a><tt class="py-lineno">214</tt>  <tt class="py-line">    <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt class="py-name">tp</tt> </tt>
+<a name="L215"></a><tt class="py-lineno">215</tt>  <tt class="py-line">    <tt class="py-name">x</tt> <tt class="py-op">=</tt><tt class="py-name">x</tt> </tt>
+<a name="L216"></a><tt class="py-lineno">216</tt>  <tt class="py-line">    <tt class="py-name">z</tt> <tt class="py-op">=</tt> <tt class="py-name">fp</tt> </tt>
+<a name="L217"></a><tt class="py-lineno">217</tt>  <tt class="py-line">
 </tt>
+<a name="L218"></a><tt class="py-lineno">218</tt>  <tt class="py-line"> 
 </tt>
+<a name="L219"></a><tt class="py-lineno">219</tt>  <tt class="py-line">    <tt class="py-name">fig</tt> <tt class="py-op">=</tt> <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">figure</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L220"></a><tt class="py-lineno">220</tt>  <tt class="py-line">    <tt class="py-comment"># only plot every 2nd label</tt>
 </tt>
+<a name="L221"></a><tt class="py-lineno">221</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">label</tt><tt class="py-op">)</tt> <tt class="py-op"><=</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt> </tt>
+<a name="L222"></a><tt class="py-lineno">222</tt>  <tt class="py-line">        <tt class="py-name">widthp</tt> <tt class="py-op">=</tt> <tt class="py-number">0.7</tt> </tt>
+<a name="L223"></a><tt class="py-lineno">223</tt>  <tt class="py-line">        <tt class="py-name">ticks</tt> <tt class="py-op">=</tt> <tt class="py-name">label</tt> </tt>
+<a name="L224"></a><tt class="py-lineno">224</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L225"></a><tt class="py-lineno">225</tt>  <tt class="py-line">        <tt class="py-name">widthp</tt> <tt class="py-op">=</tt> <tt class="py-number">0.3</tt> </tt>
+<a name="L226"></a><tt class="py-lineno">226</tt>  <tt class="py-line">        <tt class="py-name">ticks</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">i</tt> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">%</tt><tt class="py-number">2</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keywo [...]
+<a name="L227"></a><tt class="py-lineno">227</tt>  <tt class="py-line">    <tt class="py-comment"># Here we're adding 2 subplots.  The grid is set</tt>
 </tt>
+<a name="L228"></a><tt class="py-lineno">228</tt>  <tt class="py-line">    <tt class="py-comment"># up as one row, two columns.</tt>
 </tt>
+<a name="L229"></a><tt class="py-lineno">229</tt>  <tt class="py-line">    <tt class="py-name">ax1</tt> <tt class="py-op">=</tt> <tt class="py-name">fig</tt><tt class="py-op">.</tt><tt class="py-name">add_subplot</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L230"></a><tt class="py-lineno">230</tt>  <tt class="py-line">    <tt class="py-name">ax1</tt><tt class="py-op">.</tt><tt class="py-name">bar</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt><tt class="py-name">y</tt><tt class="py-op">,</tt><tt class="py-name">width</tt><tt class="py-op">=</tt><tt class="py-name">widthp</tt><tt class="py-op">,</tt> <tt class="py-name">facecolor</tt><tt class="py-op">=</tt><tt class="py-string">'darkgreen'</tt><tt cla [...]
+<a name="L231"></a><tt class="py-lineno">231</tt>  <tt class="py-line">    <tt class="py-name">ax1</tt><tt class="py-op">.</tt><tt class="py-name">set_ylabel</tt><tt class="py-op">(</tt><tt class="py-string">'#TP hits'</tt><tt class="py-op">)</tt> </tt>
+<a name="L232"></a><tt class="py-lineno">232</tt>  <tt class="py-line">    <tt class="py-name">ax1</tt><tt class="py-op">.</tt><tt class="py-name">set_xlabel</tt><tt class="py-op">(</tt><tt class="py-string">'index mapping tool'</tt><tt class="py-op">)</tt> </tt>
+<a name="L233"></a><tt class="py-lineno">233</tt>  <tt class="py-line">    <tt class="py-name">ax1</tt><tt class="py-op">.</tt><tt class="py-name">set_title</tt><tt class="py-op">(</tt><tt class="py-string">"Global comparison #TP hits"</tt><tt class="py-op">)</tt> </tt>
+<a name="L234"></a><tt class="py-lineno">234</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">xticks</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt><tt class="py-name">ticks</tt><tt class="py-op">)</tt> </tt>
+<a name="L235"></a><tt class="py-lineno">235</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">grid</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L236"></a><tt class="py-lineno">236</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">axis</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">xmax</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">ymaxTP</tt><tt class="py-op">+</tt><tt class="py-name">ymaxTP</tt><tt class="py-op">*</tt><tt class="py-number">1 [...]
+<a name="L237"></a><tt class="py-lineno">237</tt>  <tt class="py-line">    
 </tt>
+<a name="L238"></a><tt class="py-lineno">238</tt>  <tt class="py-line">    <tt class="py-comment"># on the second axis, make the width smaller (default is 0.8)</tt>
 </tt>
+<a name="L239"></a><tt class="py-lineno">239</tt>  <tt class="py-line">    <tt class="py-name">ax2</tt> <tt class="py-op">=</tt> <tt class="py-name">fig</tt><tt class="py-op">.</tt><tt class="py-name">add_subplot</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L240"></a><tt class="py-lineno">240</tt>  <tt class="py-line">    <tt class="py-name">ax2</tt><tt class="py-op">.</tt><tt class="py-name">bar</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt><tt class="py-name">z</tt><tt class="py-op">,</tt><tt class="py-name">width</tt><tt class="py-op">=</tt><tt class="py-name">widthp</tt><tt class="py-op">,</tt> <tt class="py-name">facecolor</tt><tt class="py-op">=</tt><tt class="py-string">'darkred'</tt><tt class [...]
+<a name="L241"></a><tt class="py-lineno">241</tt>  <tt class="py-line">    <tt class="py-name">ax2</tt><tt class="py-op">.</tt><tt class="py-name">set_ylabel</tt><tt class="py-op">(</tt><tt class="py-string">'#FP hits'</tt><tt class="py-op">)</tt> </tt>
+<a name="L242"></a><tt class="py-lineno">242</tt>  <tt class="py-line">    <tt class="py-name">ax2</tt><tt class="py-op">.</tt><tt class="py-name">set_xlabel</tt><tt class="py-op">(</tt><tt class="py-string">'index mapping tool'</tt><tt class="py-op">)</tt> </tt>
+<a name="L243"></a><tt class="py-lineno">243</tt>  <tt class="py-line">    <tt class="py-name">ax2</tt><tt class="py-op">.</tt><tt class="py-name">set_title</tt><tt class="py-op">(</tt><tt class="py-string">"Global comparison #FP hits"</tt><tt class="py-op">)</tt> </tt>
+<a name="L244"></a><tt class="py-lineno">244</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">axis</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">xmax</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">ymaxFP</tt><tt class="py-op">+</tt><tt class="py-name">ymaxFP</tt><tt class="py-op">*</tt><tt class="py-number">1 [...]
+<a name="L245"></a><tt class="py-lineno">245</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">xticks</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt><tt class="py-name">ticks</tt><tt class="py-op">)</tt> </tt>
+<a name="L246"></a><tt class="py-lineno">246</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">grid</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L247"></a><tt class="py-lineno">247</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">tight_layout</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L248"></a><tt class="py-lineno">248</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">savefig</tt><tt class="py-op">(</tt><tt class="py-name">prefix2</tt> <tt class="py-op">+</tt> <tt class="py-string">"Overall_histabs.pdf"</tt><tt class="py-op">,</tt><tt class="py-name">format</tt><tt class="py-op">=</tt><tt class="py-string">'pdf'</tt><tt class="py-op">)</tt> </tt>
+<a name="L249"></a><tt class="py-lineno">249</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">clf</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L250"></a><tt class="py-lineno">250</tt>  <tt class="py-line">    
 </tt>
+<a name="L251"></a><tt class="py-lineno">251</tt>  <tt class="py-line">    
 </tt>
+<a name="L252"></a><tt class="py-lineno">252</tt>  <tt class="py-line">    <tt class="py-name">tpsum</tt> <tt class="py-op">=</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-name">tp</tt><tt class="py-op">)</tt> </tt>
+<a name="L253"></a><tt class="py-lineno">253</tt>  <tt class="py-line">    <tt class="py-name">fpsum</tt> <tt class="py-op">=</tt><tt class="py-name">sum</tt><tt class="py-op">(</tt><tt class="py-name">fp</tt><tt class="py-op">)</tt> </tt>
+<a name="L254"></a><tt class="py-lineno">254</tt>  <tt class="py-line">    <tt class="py-name">y</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">/</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">tpsum</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">tp</tt><tt class="py-op">]</tt> </tt>
+<a name="L255"></a><tt class="py-lineno">255</tt>  <tt class="py-line">    <tt class="py-name">x</tt> <tt class="py-op">=</tt><tt class="py-name">x</tt> </tt>
+<a name="L256"></a><tt class="py-lineno">256</tt>  <tt class="py-line">    <tt class="py-name">z</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">/</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">fpsum</tt><tt class="py-op">)</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">fp</tt><tt class="py-op">]</tt> </tt>
+<a name="L257"></a><tt class="py-lineno">257</tt>  <tt class="py-line">    <tt class="py-name">ymax</tt> <tt class="py-op">=</tt> <tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">z</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-name">max</tt><tt class="py-op">(</tt><tt class="py-name">y</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-number">0.2</tt> </tt>
+<a name="L258"></a><tt class="py-lineno">258</tt>  <tt class="py-line">    
 </tt>
+<a name="L259"></a><tt class="py-lineno">259</tt>  <tt class="py-line">    <tt class="py-name">fig</tt> <tt class="py-op">=</tt> <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">figure</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L260"></a><tt class="py-lineno">260</tt>  <tt class="py-line">    <tt class="py-comment"># only plot every 2nd labelare provided</tt>
 </tt>
+<a name="L261"></a><tt class="py-lineno">261</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">label</tt><tt class="py-op">)</tt> <tt class="py-op"><=</tt> <tt class="py-number">7</tt><tt class="py-op">:</tt> </tt>
+<a name="L262"></a><tt class="py-lineno">262</tt>  <tt class="py-line">        <tt class="py-name">ticks</tt> <tt class="py-op">=</tt> <tt class="py-name">label</tt> </tt>
+<a name="L263"></a><tt class="py-lineno">263</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L264"></a><tt class="py-lineno">264</tt>  <tt class="py-line">        <tt class="py-name">ticks</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-name">i</tt> <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">%</tt><tt class="py-number">2</tt> <tt class="py-op">==</tt> <tt class="py-number">0</tt> <tt class="py-keyword">else</tt> <tt class="py-string">""</tt> <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keywo [...]
+<a name="L265"></a><tt class="py-lineno">265</tt>  <tt class="py-line">    <tt class="py-comment"># Here we're adding 2 subplots.  The grid is set</tt>
 </tt>
+<a name="L266"></a><tt class="py-lineno">266</tt>  <tt class="py-line">    <tt class="py-comment"># up as one row, two columns.</tt>
 </tt>
+<a name="L267"></a><tt class="py-lineno">267</tt>  <tt class="py-line">    <tt class="py-name">ax1</tt> <tt class="py-op">=</tt> <tt class="py-name">fig</tt><tt class="py-op">.</tt><tt class="py-name">add_subplot</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">1</tt><tt class="py-op">)</tt> </tt>
+<a name="L268"></a><tt class="py-lineno">268</tt>  <tt class="py-line">
 </tt>
+<a name="L269"></a><tt class="py-lineno">269</tt>  <tt class="py-line">   
 </tt>
+<a name="L270"></a><tt class="py-lineno">270</tt>  <tt class="py-line">    <tt class="py-name">ax1</tt><tt class="py-op">.</tt><tt class="py-name">bar</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt><tt class="py-name">y</tt><tt class="py-op">,</tt><tt class="py-name">width</tt><tt class="py-op">=</tt><tt class="py-name">widthp</tt><tt class="py-op">,</tt> <tt class="py-name">facecolor</tt><tt class="py-op">=</tt><tt class="py-string">'darkgreen'</tt><tt cla [...]
+<a name="L271"></a><tt class="py-lineno">271</tt>  <tt class="py-line">    <tt class="py-name">ax1</tt><tt class="py-op">.</tt><tt class="py-name">set_ylabel</tt><tt class="py-op">(</tt><tt class="py-string">'%TP hits'</tt><tt class="py-op">)</tt> </tt>
+<a name="L272"></a><tt class="py-lineno">272</tt>  <tt class="py-line">    <tt class="py-name">ax1</tt><tt class="py-op">.</tt><tt class="py-name">set_xlabel</tt><tt class="py-op">(</tt><tt class="py-string">'index mapping tool'</tt><tt class="py-op">)</tt> </tt>
+<a name="L273"></a><tt class="py-lineno">273</tt>  <tt class="py-line">    <tt class="py-name">ax1</tt><tt class="py-op">.</tt><tt class="py-name">set_title</tt><tt class="py-op">(</tt><tt class="py-string">"Global comparison %TP hits"</tt><tt class="py-op">)</tt> </tt>
+<a name="L274"></a><tt class="py-lineno">274</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">xticks</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt><tt class="py-name">ticks</tt><tt class="py-op">)</tt> </tt>
+<a name="L275"></a><tt class="py-lineno">275</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">grid</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L276"></a><tt class="py-lineno">276</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">axis</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">xmax</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">1.1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L277"></a><tt class="py-lineno">277</tt>  <tt class="py-line">    
 </tt>
+<a name="L278"></a><tt class="py-lineno">278</tt>  <tt class="py-line">    <tt class="py-comment"># on the second axis, make the width smaller (default is 0.8)</tt>
 </tt>
+<a name="L279"></a><tt class="py-lineno">279</tt>  <tt class="py-line">    <tt class="py-name">ax2</tt> <tt class="py-op">=</tt> <tt class="py-name">fig</tt><tt class="py-op">.</tt><tt class="py-name">add_subplot</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">,</tt><tt class="py-number">2</tt><tt class="py-op">)</tt> </tt>
+<a name="L280"></a><tt class="py-lineno">280</tt>  <tt class="py-line">    <tt class="py-name">ax2</tt><tt class="py-op">.</tt><tt class="py-name">bar</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt><tt class="py-name">z</tt><tt class="py-op">,</tt><tt class="py-name">width</tt><tt class="py-op">=</tt><tt class="py-name">widthp</tt><tt class="py-op">,</tt> <tt class="py-name">facecolor</tt><tt class="py-op">=</tt><tt class="py-string">'darkred'</tt><tt class [...]
+<a name="L281"></a><tt class="py-lineno">281</tt>  <tt class="py-line">    <tt class="py-name">ax2</tt><tt class="py-op">.</tt><tt class="py-name">set_ylabel</tt><tt class="py-op">(</tt><tt class="py-string">'%FP hits'</tt><tt class="py-op">)</tt> </tt>
+<a name="L282"></a><tt class="py-lineno">282</tt>  <tt class="py-line">    <tt class="py-name">ax2</tt><tt class="py-op">.</tt><tt class="py-name">set_xlabel</tt><tt class="py-op">(</tt><tt class="py-string">'index mapping tool'</tt><tt class="py-op">)</tt> </tt>
+<a name="L283"></a><tt class="py-lineno">283</tt>  <tt class="py-line">    <tt class="py-name">ax2</tt><tt class="py-op">.</tt><tt class="py-name">set_title</tt><tt class="py-op">(</tt><tt class="py-string">"Global comparison %FP hits"</tt><tt class="py-op">)</tt> </tt>
+<a name="L284"></a><tt class="py-lineno">284</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">axis</tt><tt class="py-op">(</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">xmax</tt><tt class="py-op">,</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">1.1</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L285"></a><tt class="py-lineno">285</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">xticks</tt><tt class="py-op">(</tt><tt class="py-name">x</tt><tt class="py-op">,</tt><tt class="py-name">ticks</tt><tt class="py-op">)</tt> </tt>
+<a name="L286"></a><tt class="py-lineno">286</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">grid</tt><tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L287"></a><tt class="py-lineno">287</tt>  <tt class="py-line">    <tt class="py-name">plt</tt><tt class="py-op">.</tt><tt class="py-name">tight_layout</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L288"></a><tt class="py-lineno">288</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">savefig</tt><tt class="py-op">(</tt><tt class="py-name">prefix2</tt> <tt class="py-op">+</tt> <tt class="py-string">"Overall_histper.pdf"</tt><tt class="py-op">,</tt><tt class="py-name">format</tt><tt class="py-op">=</tt><tt class="py-string">'pdf'</tt><tt class="py-op">)</tt> </tt>
+<a name="L289"></a><tt class="py-lineno">289</tt>  <tt class="py-line">    <tt class="py-name">p</tt><tt class="py-op">.</tt><tt class="py-name">clf</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L290"></a><tt class="py-lineno">290</tt>  <tt class="py-line">    
 </tt>
+<a name="L291"></a><tt class="py-lineno">291</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-string">"X"</tt><tt class="py-op">)</tt><tt class="py-op">,</tt> </tt>
+</div><a name="L292"></a><tt class="py-lineno">292</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.Prep-pysrc.html b/doc/core.Prep-pysrc.html
new file mode 100644
index 0000000..de413f8
--- /dev/null
+++ b/doc/core.Prep-pysrc.html
@@ -0,0 +1,277 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.Prep</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module Prep
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.Prep-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="core.Prep-module.html">Module core.Prep</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment"># -*- coding: cp1252 -*-</tt>
 </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">'''
</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created 2012
</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">Contains various help functions which initialize / translate /preprocess the data
</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">@author: Sven Giese'''</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line">
 </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">cPickle</tt> <tt class="py-keyword">as</tt> <tt class="py-name">pickle</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line">
 </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line"><tt class="py-string">''' INIT DICTIONARIES '''</tt> </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line"><tt id="link-0" class="py-name" targets="Variable core.Prep.genetic_code=core.Prep-module.html#genetic_code"><a title="core.Prep.genetic_code" class="py-name" href="#" onclick="return doclink('link-0', 'genetic_code', 'link-0');">genetic_code</a></tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">'GCT'</tt><tt class="py-op">:</tt><tt class="py-string">'A'</tt><tt class="py-op">,</tt> <tt class="p [...]
 </tt>
+<a name="L15"></a><tt class="py-lineno"> 15</tt>  <tt class="py-line">              <tt class="py-string">'CGT'</tt><tt class="py-op">:</tt><tt class="py-string">'R'</tt><tt class="py-op">,</tt> <tt class="py-string">'CGC'</tt><tt class="py-op">:</tt><tt class="py-string">'R'</tt><tt class="py-op">,</tt> <tt class="py-string">'CGA'</tt><tt class="py-op">:</tt><tt class="py-string">'R'</tt><tt class="py-op">,</tt> <tt class="py-string">'CGG'</tt><tt class="py-op">:</tt><tt class="py-strin [...]
 </tt>
+<a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">              <tt class="py-string">'AAT'</tt><tt class="py-op">:</tt><tt class="py-string">'N'</tt><tt class="py-op">,</tt> <tt class="py-string">'AAC'</tt><tt class="py-op">:</tt><tt class="py-string">'N'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line">              <tt class="py-string">'GAT'</tt><tt class="py-op">:</tt><tt class="py-string">'D'</tt><tt class="py-op">,</tt> <tt class="py-string">'GAC'</tt><tt class="py-op">:</tt><tt class="py-string">'D'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line">              <tt class="py-string">'TGT'</tt><tt class="py-op">:</tt><tt class="py-string">'C'</tt><tt class="py-op">,</tt> <tt class="py-string">'TGC'</tt><tt class="py-op">:</tt><tt class="py-string">'C'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line">              <tt class="py-string">'CAA'</tt><tt class="py-op">:</tt><tt class="py-string">'Q'</tt><tt class="py-op">,</tt> <tt class="py-string">'CAG'</tt><tt class="py-op">:</tt><tt class="py-string">'Q'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line">              <tt class="py-string">'GAA'</tt><tt class="py-op">:</tt><tt class="py-string">'E'</tt><tt class="py-op">,</tt> <tt class="py-string">'GAG'</tt><tt class="py-op">:</tt><tt class="py-string">'E'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line">              <tt class="py-string">'GGT'</tt><tt class="py-op">:</tt><tt class="py-string">'G'</tt><tt class="py-op">,</tt> <tt class="py-string">'GGC'</tt><tt class="py-op">:</tt><tt class="py-string">'G'</tt><tt class="py-op">,</tt><tt class="py-string">'GGA'</tt><tt class="py-op">:</tt><tt class="py-string">'G'</tt><tt class="py-op">,</tt> <tt class="py-string">'GGG'</tt><tt class="py-op">:</tt><tt class="py-string [...]
 </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line">              <tt class="py-string">'CAT'</tt><tt class="py-op">:</tt><tt class="py-string">'H'</tt><tt class="py-op">,</tt> <tt class="py-string">'CAC'</tt><tt class="py-op">:</tt><tt class="py-string">'H'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line">              <tt class="py-string">'ATT'</tt><tt class="py-op">:</tt><tt class="py-string">'I'</tt><tt class="py-op">,</tt> <tt class="py-string">'ATC'</tt><tt class="py-op">:</tt><tt class="py-string">'I'</tt><tt class="py-op">,</tt><tt class="py-string">'ATA'</tt><tt class="py-op">:</tt><tt class="py-string">'I'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">              <tt class="py-string">'ATG'</tt><tt class="py-op">:</tt><tt class="py-string">'M'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">              <tt class="py-string">'TTA'</tt><tt class="py-op">:</tt><tt class="py-string">'L'</tt><tt class="py-op">,</tt> <tt class="py-string">'TTG'</tt><tt class="py-op">:</tt><tt class="py-string">'L'</tt><tt class="py-op">,</tt> <tt class="py-string">'CTT'</tt><tt class="py-op">:</tt><tt class="py-string">'L'</tt><tt class="py-op">,</tt> <tt class="py-string">'CTC'</tt><tt class="py-op">:</tt><tt class="py-strin [...]
 </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">              <tt class="py-string">'AAA'</tt><tt class="py-op">:</tt><tt class="py-string">'K'</tt><tt class="py-op">,</tt> <tt class="py-string">'AAG'</tt><tt class="py-op">:</tt><tt class="py-string">'K'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">              <tt class="py-string">'TTT'</tt><tt class="py-op">:</tt><tt class="py-string">'F'</tt><tt class="py-op">,</tt> <tt class="py-string">'TTC'</tt><tt class="py-op">:</tt><tt class="py-string">'F'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">              <tt class="py-string">'CCT'</tt><tt class="py-op">:</tt><tt class="py-string">'P'</tt><tt class="py-op">,</tt> <tt class="py-string">'CCC'</tt><tt class="py-op">:</tt><tt class="py-string">'P'</tt><tt class="py-op">,</tt><tt class="py-string">'CCA'</tt><tt class="py-op">:</tt><tt class="py-string">'P'</tt><tt class="py-op">,</tt> <tt class="py-string">'CCG'</tt><tt class="py-op">:</tt><tt class="py-string [...]
 </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">              <tt class="py-string">'TCT'</tt><tt class="py-op">:</tt><tt class="py-string">'S'</tt><tt class="py-op">,</tt> <tt class="py-string">'TCC'</tt><tt class="py-op">:</tt><tt class="py-string">'S'</tt><tt class="py-op">,</tt> <tt class="py-string">'TCA'</tt><tt class="py-op">:</tt><tt class="py-string">'S'</tt><tt class="py-op">,</tt> <tt class="py-string">'TCG'</tt><tt class="py-op">:</tt><tt class="py-strin [...]
 </tt>
+<a name="L30"></a><tt class="py-lineno"> 30</tt>  <tt class="py-line">              <tt class="py-string">'ACT'</tt><tt class="py-op">:</tt><tt class="py-string">'T'</tt><tt class="py-op">,</tt> <tt class="py-string">'ACC'</tt><tt class="py-op">:</tt><tt class="py-string">'T'</tt><tt class="py-op">,</tt><tt class="py-string">'ACA'</tt><tt class="py-op">:</tt><tt class="py-string">'T'</tt><tt class="py-op">,</tt> <tt class="py-string">'ACG'</tt><tt class="py-op">:</tt><tt class="py-string [...]
 </tt>
+<a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">              <tt class="py-string">'TGG'</tt><tt class="py-op">:</tt><tt class="py-string">'W'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line">              <tt class="py-string">'TAT'</tt><tt class="py-op">:</tt><tt class="py-string">'Y'</tt><tt class="py-op">,</tt> <tt class="py-string">'TAC'</tt><tt class="py-op">:</tt><tt class="py-string">'Y'</tt><tt class="py-op">,</tt>
 </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line">              <tt class="py-string">'GTT'</tt><tt class="py-op">:</tt><tt class="py-string">'V'</tt><tt class="py-op">,</tt> <tt class="py-string">'GTC'</tt><tt class="py-op">:</tt><tt class="py-string">'V'</tt><tt class="py-op">,</tt><tt class="py-string">'GTA'</tt><tt class="py-op">:</tt><tt class="py-string">'V'</tt><tt class="py-op">,</tt> <tt class="py-string">'GTG'</tt><tt class="py-op">:</tt><tt class="py-string [...]
 </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line">              <tt class="py-string">'TAA'</tt><tt class="py-op">:</tt><tt class="py-string">'*'</tt><tt class="py-op">,</tt> <tt class="py-string">'TGA'</tt><tt class="py-op">:</tt><tt class="py-string">'*'</tt><tt class="py-op">,</tt><tt class="py-string">'TAG'</tt><tt class="py-op">:</tt><tt class="py-string">'*'</tt><tt class="py-op">,</tt><tt class="py-string">'NNN'</tt><tt class="py-op">:</tt><tt class="py-string" [...]
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line">
 </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line">
 </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">
 </tt>
+<a name="createdic"></a><div id="createdic-def"><a name="L38"></a><tt class="py-lineno"> 38</tt> <a class="py-toggle" href="#" id="createdic-toggle" onclick="return toggle('createdic');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.Prep-module.html#createdic">createdic</a><tt class="py-op">(</tt><tt class="py-param">AAsequence</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="createdic-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="createdic-expanded"><a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line"><tt class="py-docstring">    Creates the dictionary for the AA triplets and searches the starting indices 
</tt> </tt>
+<a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line"><tt class="py-docstring">    of the triplets in the given aminoacid sequence.
</tt> </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L43"></a><tt class="py-lineno"> 43</tt>  <tt class="py-line"><tt class="py-docstring">    @type  AAsequence: string
</tt> </tt>
+<a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line"><tt class="py-docstring">    @param AAsequence: aminoacid sequence
</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   dictionary
</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  A dictionary with starting positions of each triplet in the given AA sequence
</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">    
</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line">    
 </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line">    <tt class="py-name">liste</tt> <tt class="py-op">=</tt> <tt class="py-op">[</tt><tt class="py-string">"A"</tt><tt class="py-op">,</tt><tt class="py-string">"R"</tt><tt class="py-op">,</tt><tt class="py-string">"N"</tt><tt class="py-op">,</tt><tt class="py-string">"D"</tt><tt class="py-op">,</tt><tt class="py-string">"C"</tt><tt class="py-op">,</tt><tt class="py-string">"E"</tt><tt class="py-op">,</tt><tt class="py- [...]
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line">    <tt class="py-name">aa_triplets</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-op">}</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line">    
 </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line">    <tt class="py-comment"># create all possibilities  (triplets)</tt>
 </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">liste</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">k</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">liste</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line">            <tt class="py-keyword">for</tt> <tt class="py-name">l</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">liste</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line">                <tt class="py-name">aa_triplets</tt><tt class="py-op">[</tt><tt class="py-name">liste</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-name">liste</tt><tt class="py-op">[</tt><tt class="py-name">k</tt><tt class="py-op">]</tt><tt class="py-op">+</tt><tt class="py-name">liste</tt><tt class="py-op">[</tt><tt class="py-name">l</tt><tt class= [...]
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line">                
 </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">    <tt class="py-comment"># create lookup dic</tt>
 </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-comment"># key = triplet</tt>
 </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">    <tt class="py-comment"># value = list of positions                </tt>
 </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">1</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">AAsequence</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">3</tt> <tt class="py-op">></tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">AAsequence</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">            <tt class="py-keyword">break</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">AAsequence</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">:</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-name">aa_triplets</tt><tt class="py-op">:</tt> </tt>
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">            <tt class="py-name">aa_triplets</tt><tt class="py-op">[</tt><tt class="py-name">AAsequence</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">:</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class= [...]
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">aa_triplets</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">
 </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">
 </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">
 </tt>
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">
 </tt>
+<a name="isvalidtriplet"></a><div id="isvalidtriplet-def"><a name="L72"></a><tt class="py-lineno"> 72</tt> <a class="py-toggle" href="#" id="isvalidtriplet-toggle" onclick="return toggle('isvalidtriplet');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.Prep-module.html#isvalidtriplet">isvalidtriplet</a><tt class="py-op">(</tt><tt class="py-param">codon</tt><tt class="py-op">,</tt><tt class="py-param">dictentry</tt><tt class="py-op">)</tt><tt c [...]
+</div><div id="isvalidtriplet-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="isvalidtriplet-expanded"><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line"><tt class="py-docstring">    Function which checks if a given triplet has max hamming distance of 1 
</tt> </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line"><tt class="py-docstring">    to a other triplet. Used for generation of possible substitutions triplets
</tt> </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L77"></a><tt class="py-lineno"> 77</tt>  <tt class="py-line"><tt class="py-docstring">    @type  codon: string
</tt> </tt>
+<a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line"><tt class="py-docstring">    @param codon: nucleotide triplet
</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    @type  dictentry: string
</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">    @param dictentry: nucleotide triplet
</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   bool
</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Boolean value. True if max hamming distance 1,else False .
</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">    
</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line">    <tt class="py-name">counter</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line">    
 </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt> <tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">       
 </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">codon</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">==</tt> <tt class="py-name">dictentry</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">            <tt class="py-name">counter</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">            <tt class="py-keyword">continue</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">        
 </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-name">counter</tt> <tt class="py-op">==</tt> <tt class="py-number">2</tt><tt class="py-op">:</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">True</tt><tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">False</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">
 </tt>
+<a name="trans_seq"></a><div id="trans_seq-def"><a name="L99"></a><tt class="py-lineno"> 99</tt> <a class="py-toggle" href="#" id="trans_seq-toggle" onclick="return toggle('trans_seq');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.Prep-module.html#trans_seq">trans_seq</a><tt class="py-op">(</tt><tt class="py-param">DNA</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="trans_seq-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="trans_seq-expanded"><a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line"><tt class="py-docstring">    Funtion which translates DNA to AA
</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line"><tt class="py-docstring">    @type  DNA: list
</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line"><tt class="py-docstring">    @param DNA: nucleotide sequence
</tt> </tt>
+<a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   prot,rest
</tt> </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Translated aminoacid sequence,untranslated nucleotide sequence
</tt> </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L108"></a><tt class="py-lineno">108</tt>  <tt class="py-line">    <tt class="py-name">protein</tt><tt class="py-op">=</tt><tt class="py-op">[</tt><tt class="py-op">]</tt> </tt>
+<a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">    <tt class="py-name">prot</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line">    <tt class="py-name">rest</tt><tt class="py-op">=</tt><tt class="py-string">""</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line">    
 </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line">    <tt class="py-name">DNA</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">DNA</tt><tt class="py-op">)</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">DNA</tt><tt class="py-op">)</tt><tt class="py-op">,</tt><tt class="py-number">3</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line">        <tt class="py-comment"># Codon exceeds length </tt>
 </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">3</tt> <tt class="py-op">></tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">DNA</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line">            <tt class="py-name">rest</tt> <tt class="py-op">+=</tt><tt class="py-name">DNA</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">:</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line">        
 </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">            <tt class="py-keyword">break</tt> </tt>
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">        <tt class="py-comment">#' found Ns in nucleotid string</tt>
 </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt><tt class="py-op">(</tt><tt class="py-string">"N"</tt> <tt class="py-keyword">in</tt> <tt class="py-name">DNA</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">:</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">            <tt class="py-name">a_a</tt> <tt class="py-op">=</tt> <tt class="py-string">"n"</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">            <tt class="py-name">protein</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">a_a</tt><tt class="py-op">)</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">            <tt class="py-comment">#standard triplet translation</tt>
 </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-name">codon</tt><tt class="py-op">=</tt><tt class="py-name">DNA</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">:</tt><tt class="py-name">i</tt><tt class="py-op">+</tt><tt class="py-number">3</tt><tt class="py-op">]</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            <tt class="py-comment"># look codon up in translation dic</tt>
 </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">            <tt class="py-name">a_a</tt><tt class="py-op">=</tt><tt id="link-1" class="py-name"><a title="core.Prep.genetic_code" class="py-name" href="#" onclick="return doclink('link-1', 'genetic_code', 'link-0');">genetic_code</a></tt><tt class="py-op">[</tt><tt class="py-name">codon</tt><tt class="py-op">]</tt> </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">            <tt class="py-name">protein</tt><tt class="py-op">.</tt><tt class="py-name">append</tt><tt class="py-op">(</tt><tt class="py-name">a_a</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">            
 </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt class="py-comment"># transform to string</tt>
 </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">    <tt class="py-name">prot</tt> <tt class="py-op">=</tt> <tt class="py-string">""</tt><tt class="py-op">.</tt><tt class="py-name">join</tt><tt class="py-op">(</tt><tt class="py-name">protein</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">prot</tt><tt class="py-op">,</tt><tt class="py-name">rest</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">
 </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line"><tt class="py-string">''' DEBUG HELP FUNCTIONS '''</tt> </tt>
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">
 </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">
 </tt>
+<a name="savepickle"></a><div id="savepickle-def"><a name="L137"></a><tt class="py-lineno">137</tt> <a class="py-toggle" href="#" id="savepickle-toggle" onclick="return toggle('savepickle');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.Prep-module.html#savepickle">savepickle</a><tt class="py-op">(</tt><tt class="py-param">dictionary</tt><tt class="py-op">,</tt><tt class="py-param">outputname</tt><tt class="py-op">)</tt><tt class="py-op">:</t [...]
+</div><div id="savepickle-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="savepickle-expanded"><a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line"><tt class="py-docstring">    basic pickle functions. actually for debugging and to speed up multiple simulations ( possible to load orf lists) 
</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line"><tt class="py-docstring">    @type  dictionary: dictionary
</tt> </tt>
+<a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line"><tt class="py-docstring">    @param dictionary: Dictionary containg start and end positions of ORFs.
</tt> </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-docstring">    @type  outputname: string
</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-docstring">    @param outputname: Filename for saving.
</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line"><tt class="py-docstring">    
</tt> </tt>
+<a name="L146"></a><tt class="py-lineno">146</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">    <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt class="py-name">dump</tt><tt class="py-op">(</tt> <tt class="py-name">dictionary</tt><tt class="py-op">,</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">outputname</tt> <tt class="py-op">+</tt><tt class="py-string">".p"</tt><tt class="py-op">,</tt> <tt class="py-string">"wb"</tt> <tt class="py-op">)</tt> <tt class="py-op">)</t [...]
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Saved .pickle to: "</tt> <tt class="py-op">+</tt> <tt class="py-name">outputname</tt> <tt class="py-op">+</tt><tt class="py-string">".p"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line">
 </tt>
+<a name="loadpickle"></a><div id="loadpickle-def"><a name="L150"></a><tt class="py-lineno">150</tt> <a class="py-toggle" href="#" id="loadpickle-toggle" onclick="return toggle('loadpickle');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.Prep-module.html#loadpickle">loadpickle</a><tt class="py-op">(</tt><tt class="py-param">inputname</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="loadpickle-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="loadpickle-expanded"><a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">    basic pickle functions. actually for debugging and to speed up multiple simulations ( possible to load orf lists) 
</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line"><tt class="py-docstring">    @type  inputname: string
</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line"><tt class="py-docstring">    @param inputname: Filename for loading.
</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   dictionary
</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Dictionary containing start and end positions of ORFs.
</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">    <tt class="py-name">dictionary</tt><tt class="py-op">=</tt> <tt class="py-name">pickle</tt><tt class="py-op">.</tt><tt class="py-name">load</tt><tt class="py-op">(</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">inputname</tt> <tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-comment">#+".p" ) )</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"Loaded "</tt><tt class="py-op">+</tt><tt class="py-name">inputname</tt><tt class="py-op">+</tt><tt class="py-string">" pickle!"</tt><tt class="py-op">)</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">dictionary</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.ReadAndWrite-pysrc.html b/doc/core.ReadAndWrite-pysrc.html
new file mode 100644
index 0000000..98580e3
--- /dev/null
+++ b/doc/core.ReadAndWrite-pysrc.html
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.ReadAndWrite</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module ReadAndWrite
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.ReadAndWrite-pysrc.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<h1 class="epydoc">Source Code for <a href="core.ReadAndWrite-module.html">Module core.ReadAndWrite</a></h1>
+<pre class="py-src">
+<a name="L1"></a><tt class="py-lineno">  1</tt>  <tt class="py-line"><tt class="py-comment">#!/usr/bin/env python</tt>
 </tt>
+<a name="L2"></a><tt class="py-lineno">  2</tt>  <tt class="py-line"><tt class="py-docstring">'''
</tt> </tt>
+<a name="L3"></a><tt class="py-lineno">  3</tt>  <tt class="py-line"><tt class="py-docstring">Created 2012
</tt> </tt>
+<a name="L4"></a><tt class="py-lineno">  4</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L5"></a><tt class="py-lineno">  5</tt>  <tt class="py-line"><tt class="py-docstring">Contains various help functions which read or produce an input/ output
</tt> </tt>
+<a name="L6"></a><tt class="py-lineno">  6</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L7"></a><tt class="py-lineno">  7</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L8"></a><tt class="py-lineno">  8</tt>  <tt class="py-line"><tt class="py-docstring">@author: Sven Giese
</tt> </tt>
+<a name="L9"></a><tt class="py-lineno">  9</tt>  <tt class="py-line"><tt class="py-docstring">'''</tt> </tt>
+<a name="L10"></a><tt class="py-lineno"> 10</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">os</tt> </tt>
+<a name="L11"></a><tt class="py-lineno"> 11</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">random</tt> </tt>
+<a name="L12"></a><tt class="py-lineno"> 12</tt>  <tt class="py-line"><tt class="py-keyword">import</tt> <tt class="py-name">HTSeq</tt> </tt>
+<a name="L13"></a><tt class="py-lineno"> 13</tt>  <tt class="py-line">
 </tt>
+<a name="L14"></a><tt class="py-lineno"> 14</tt>  <tt class="py-line">
 </tt>
+<a name="readdna"></a><div id="readdna-def"><a name="L15"></a><tt class="py-lineno"> 15</tt> <a class="py-toggle" href="#" id="readdna-toggle" onclick="return toggle('readdna');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.ReadAndWrite-module.html#readdna">readdna</a><tt class="py-op">(</tt><tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+</div><div id="readdna-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="readdna-expanded"><a name="L16"></a><tt class="py-lineno"> 16</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L17"></a><tt class="py-lineno"> 17</tt>  <tt class="py-line"><tt class="py-docstring">    Reads in the dna sequence of the given fasta
</tt> </tt>
+<a name="L18"></a><tt class="py-lineno"> 18</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L19"></a><tt class="py-lineno"> 19</tt>  <tt class="py-line"><tt class="py-docstring">    @type  filename: string
</tt> </tt>
+<a name="L20"></a><tt class="py-lineno"> 20</tt>  <tt class="py-line"><tt class="py-docstring">    @param filename: Fasta-file used as input.
</tt> </tt>
+<a name="L21"></a><tt class="py-lineno"> 21</tt>  <tt class="py-line"><tt class="py-docstring">    @rtype:   HTSeq Sequence object
</tt> </tt>
+<a name="L22"></a><tt class="py-lineno"> 22</tt>  <tt class="py-line"><tt class="py-docstring">    @return:  Reference Fasta.
</tt> </tt>
+<a name="L23"></a><tt class="py-lineno"> 23</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L24"></a><tt class="py-lineno"> 24</tt>  <tt class="py-line">    <tt class="py-name">chr</tt> <tt class="py-op">=</tt> <tt class="py-name">HTSeq</tt><tt class="py-op">.</tt><tt class="py-name">FastaReader</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">)</tt> </tt>
+<a name="L25"></a><tt class="py-lineno"> 25</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">fasta</tt> <tt class="py-keyword">in</tt> <tt class="py-name">chr</tt><tt class="py-op">:</tt> </tt>
+<a name="L26"></a><tt class="py-lineno"> 26</tt>  <tt class="py-line">        <tt class="py-name">referenz</tt> <tt class="py-op">=</tt> <tt class="py-name">HTSeq</tt><tt class="py-op">.</tt><tt class="py-name">Sequence</tt><tt class="py-op">(</tt><tt class="py-name">fasta</tt><tt class="py-op">.</tt><tt class="py-name">seq</tt><tt class="py-op">,</tt><tt class="py-name">fasta</tt><tt class="py-op">.</tt><tt class="py-name">name</tt><tt class="py-op">)</tt> </tt>
+<a name="L27"></a><tt class="py-lineno"> 27</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt><tt class="py-op">(</tt><tt class="py-name">referenz</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L28"></a><tt class="py-lineno"> 28</tt>  <tt class="py-line">
 </tt>
+<a name="L29"></a><tt class="py-lineno"> 29</tt>  <tt class="py-line">
 </tt>
+<a name="writefile"></a><div id="writefile-def"><a name="L30"></a><tt class="py-lineno"> 30</tt> <a class="py-toggle" href="#" id="writefile-toggle" onclick="return toggle('writefile');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.ReadAndWrite-module.html#writefile">writefile</a><tt class="py-op">(</tt><tt class="py-param">sequenceObject</tt><tt class="py-op">,</tt><tt class="py-param">filename</tt><tt class="py-op">)</tt><tt class="py-op">: [...]
+</div><div id="writefile-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="writefile-expanded"><a name="L31"></a><tt class="py-lineno"> 31</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L32"></a><tt class="py-lineno"> 32</tt>  <tt class="py-line"><tt class="py-docstring">    Writes a given sequence object to a fasta file.
</tt> </tt>
+<a name="L33"></a><tt class="py-lineno"> 33</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L34"></a><tt class="py-lineno"> 34</tt>  <tt class="py-line"><tt class="py-docstring">    @type  sequenceObject: HTSeq Sequence object
</tt> </tt>
+<a name="L35"></a><tt class="py-lineno"> 35</tt>  <tt class="py-line"><tt class="py-docstring">    @param sequenceObject: Reference sequence as fasta.
</tt> </tt>
+<a name="L36"></a><tt class="py-lineno"> 36</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L37"></a><tt class="py-lineno"> 37</tt>  <tt class="py-line">    
 </tt>
+<a name="L38"></a><tt class="py-lineno"> 38</tt>  <tt class="py-line">    <tt class="py-name">outfasta</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt><tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
+<a name="L39"></a><tt class="py-lineno"> 39</tt>  <tt class="py-line">    <tt class="py-name">sequenceObject</tt><tt class="py-op">.</tt><tt class="py-name">write_to_fasta_file</tt><tt class="py-op">(</tt><tt class="py-name">outfasta</tt><tt class="py-op">)</tt> </tt>
+<a name="L40"></a><tt class="py-lineno"> 40</tt>  <tt class="py-line">    <tt class="py-name">outfasta</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L41"></a><tt class="py-lineno"> 41</tt>  <tt class="py-line">
 </tt>
+<a name="L42"></a><tt class="py-lineno"> 42</tt>  <tt class="py-line">
 </tt>
+<a name="writeoverview"></a><div id="writeoverview-def"><a name="L43"></a><tt class="py-lineno"> 43</tt> <a class="py-toggle" href="#" id="writeoverview-toggle" onclick="return toggle('writeoverview');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.ReadAndWrite-module.html#writeoverview">writeoverview</a><tt class="py-op">(</tt><tt class="py-param">Ndic_G</tt><tt class="py-op">,</tt><tt class="py-param">aadic_G</tt><tt class="py-op">,</tt><tt  [...]
+</div><div id="writeoverview-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="writeoverview-expanded"><a name="L44"></a><tt class="py-lineno"> 44</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L45"></a><tt class="py-lineno"> 45</tt>  <tt class="py-line"><tt class="py-docstring">    Creates the "delta" file for the comparison of the two chromosoms. This file contains the differences in nucleotide distribution between reference and artificial.
</tt> </tt>
+<a name="L46"></a><tt class="py-lineno"> 46</tt>  <tt class="py-line"><tt class="py-docstring">    input: nucleotid dictionary genom, aa dictionary genome, nucleotid dictionary artificial chromosom, aa dictionary, filename 
</tt> </tt>
+<a name="L47"></a><tt class="py-lineno"> 47</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L48"></a><tt class="py-lineno"> 48</tt>  <tt class="py-line"><tt class="py-docstring">    @type  Ndic_G: dictionary
</tt> </tt>
+<a name="L49"></a><tt class="py-lineno"> 49</tt>  <tt class="py-line"><tt class="py-docstring">    @param Ndic_G: Nucleotid dictionary genom.
</tt> </tt>
+<a name="L50"></a><tt class="py-lineno"> 50</tt>  <tt class="py-line"><tt class="py-docstring">    @type  aadic_G: dictionary
</tt> </tt>
+<a name="L51"></a><tt class="py-lineno"> 51</tt>  <tt class="py-line"><tt class="py-docstring">    @param aadic_G: AA dictionary genome.
</tt> </tt>
+<a name="L52"></a><tt class="py-lineno"> 52</tt>  <tt class="py-line"><tt class="py-docstring">    @type  Ndic_AR: dictionary
</tt> </tt>
+<a name="L53"></a><tt class="py-lineno"> 53</tt>  <tt class="py-line"><tt class="py-docstring">    @param Ndic_AR: Nucleotid dictionary artificial.
</tt> </tt>
+<a name="L54"></a><tt class="py-lineno"> 54</tt>  <tt class="py-line"><tt class="py-docstring">    @type  aadic_AR: dictionary
</tt> </tt>
+<a name="L55"></a><tt class="py-lineno"> 55</tt>  <tt class="py-line"><tt class="py-docstring">    @param aadic_AR: AA dictionary artificial
</tt> </tt>
+<a name="L56"></a><tt class="py-lineno"> 56</tt>  <tt class="py-line"><tt class="py-docstring">    @type  filename: string
</tt> </tt>
+<a name="L57"></a><tt class="py-lineno"> 57</tt>  <tt class="py-line"><tt class="py-docstring">    @param filename: Output filename.
</tt> </tt>
+<a name="L58"></a><tt class="py-lineno"> 58</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L59"></a><tt class="py-lineno"> 59</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt> <tt class="py-op">=</tt> <tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">filename</tt><tt class="py-op">,</tt><tt class="py-string">"w"</tt><tt class="py-op">)</tt> </tt>
+<a name="L60"></a><tt class="py-lineno"> 60</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">"NUC /AA \t Genom \t Artificial Reference \t Delta \n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L61"></a><tt class="py-lineno"> 61</tt>  <tt class="py-line">   
 </tt>
+<a name="L62"></a><tt class="py-lineno"> 62</tt>  <tt class="py-line">    <tt class="py-name">sum1</tt> <tt class="py-op">=</tt><tt class="py-number">0</tt> </tt>
+<a name="L63"></a><tt class="py-lineno"> 63</tt>  <tt class="py-line">    <tt class="py-name">sum2</tt><tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L64"></a><tt class="py-lineno"> 64</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">Ndic_G</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L65"></a><tt class="py-lineno"> 65</tt>  <tt class="py-line">        <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">item</tt> <tt class="py-op">+</tt><tt class="py-string">"\t"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">Ndic_G</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py- [...]
+<a name="L66"></a><tt class="py-lineno"> 66</tt>  <tt class="py-line">        <tt class="py-name">sum1</tt> <tt class="py-op">+=</tt><tt class="py-name">abs</tt><tt class="py-op">(</tt><tt class="py-name">Ndic_G</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">-</tt><tt class="py-name">Ndic_AR</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L67"></a><tt class="py-lineno"> 67</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">sum1</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+<a name="L68"></a><tt class="py-lineno"> 68</tt>  <tt class="py-line">    
 </tt>
+<a name="L69"></a><tt class="py-lineno"> 69</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">aadic_G</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L70"></a><tt class="py-lineno"> 70</tt>  <tt class="py-line">        <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">item</tt> <tt class="py-op">+</tt><tt class="py-string">"\t"</tt><tt class="py-op">+</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">aadic_G</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py [...]
+<a name="L71"></a><tt class="py-lineno"> 71</tt>  <tt class="py-line">        <tt class="py-name">sum2</tt> <tt class="py-op">+=</tt><tt class="py-name">abs</tt><tt class="py-op">(</tt><tt class="py-name">aadic_G</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">-</tt><tt class="py-name">aadic_AR</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> </tt>
+<a name="L72"></a><tt class="py-lineno"> 72</tt>  <tt class="py-line">    <tt class="py-name">fobj</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">sum2</tt><tt class="py-op">)</tt><tt class="py-op">+</tt><tt class="py-string">"\n"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L73"></a><tt class="py-lineno"> 73</tt>  <tt class="py-line">    
 </tt>
+<a name="L74"></a><tt class="py-lineno"> 74</tt>  <tt class="py-line">    
 </tt>
+<a name="L75"></a><tt class="py-lineno"> 75</tt>  <tt class="py-line">    
 </tt>
+<a name="L76"></a><tt class="py-lineno"> 76</tt>  <tt class="py-line">
 </tt>
+<a name="nucleotide_dist_seq"></a><div id="nucleotide_dist_seq-def"><a name="L77"></a><tt class="py-lineno"> 77</tt> <a class="py-toggle" href="#" id="nucleotide_dist_seq-toggle" onclick="return toggle('nucleotide_dist_seq');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.ReadAndWrite-module.html#nucleotide_dist_seq">nucleotide_dist_seq</a><tt class="py-op">(</tt><tt class="py-param">seq</tt><tt class="py-op">,</tt><tt class="py-param">txt_fil [...]
+</div><div id="nucleotide_dist_seq-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="nucleotide_dist_seq-expanded"><a name="L78"></a><tt class="py-lineno"> 78</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L79"></a><tt class="py-lineno"> 79</tt>  <tt class="py-line"><tt class="py-docstring">    Writes the nucleotide distribution in a file and returns the dictionary. adjust s for % results.
</tt> </tt>
+<a name="L80"></a><tt class="py-lineno"> 80</tt>  <tt class="py-line"><tt class="py-docstring">    @type  seq: string
</tt> </tt>
+<a name="L81"></a><tt class="py-lineno"> 81</tt>  <tt class="py-line"><tt class="py-docstring">    @param seq: Nucleotide sequence.
</tt> </tt>
+<a name="L82"></a><tt class="py-lineno"> 82</tt>  <tt class="py-line"><tt class="py-docstring">    @type  txt_file: string
</tt> </tt>
+<a name="L83"></a><tt class="py-lineno"> 83</tt>  <tt class="py-line"><tt class="py-docstring">    @param txt_file: Output compare file.
</tt> </tt>
+<a name="L84"></a><tt class="py-lineno"> 84</tt>  <tt class="py-line"><tt class="py-docstring">    @type  shallwrite: Bool
</tt> </tt>
+<a name="L85"></a><tt class="py-lineno"> 85</tt>  <tt class="py-line"><tt class="py-docstring">    @param shallwrite: Decides if percentages values are written to the output.
</tt> </tt>
+<a name="L86"></a><tt class="py-lineno"> 86</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L87"></a><tt class="py-lineno"> 87</tt>  <tt class="py-line">    <tt class="py-name">Nndic</tt><tt class="py-op">=</tt><tt class="py-op">{</tt><tt class="py-string">"A"</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-string">"C"</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-string">"G"</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-string"> [...]
+<a name="L88"></a><tt class="py-lineno"> 88</tt>  <tt class="py-line">    
 </tt>
+<a name="L89"></a><tt class="py-lineno"> 89</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">seq</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L90"></a><tt class="py-lineno"> 90</tt>  <tt class="py-line">          <tt class="py-name">Nndic</tt><tt class="py-op">[</tt><tt class="py-name">seq</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L91"></a><tt class="py-lineno"> 91</tt>  <tt class="py-line">    <tt class="py-name">s</tt><tt class="py-op">=</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">seq</tt><tt class="py-op">)</tt> </tt>
+<a name="L92"></a><tt class="py-lineno"> 92</tt>  <tt class="py-line">    <tt class="py-name">s</tt><tt class="py-op">=</tt><tt class="py-number">1</tt> </tt>
+<a name="L93"></a><tt class="py-lineno"> 93</tt>  <tt class="py-line">   
 </tt>
+<a name="L94"></a><tt class="py-lineno"> 94</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">shallwrite</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L95"></a><tt class="py-lineno"> 95</tt>  <tt class="py-line">        <tt class="py-name">output_file</tt><tt class="py-op">=</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">txt_file</tt><tt class="py-op">,</tt><tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
+<a name="L96"></a><tt class="py-lineno"> 96</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">Nndic</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L97"></a><tt class="py-lineno"> 97</tt>  <tt class="py-line">            <tt class="py-name">Nndic</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">Nndic</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">/</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L98"></a><tt class="py-lineno"> 98</tt>  <tt class="py-line">            <tt class="py-name">output_file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">item</tt> <tt class="py-op">+</tt> <tt class="py-string">"\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">Nndic</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">)</tt>< [...]
+<a name="L99"></a><tt class="py-lineno"> 99</tt>  <tt class="py-line">            
 </tt>
+<a name="L100"></a><tt class="py-lineno">100</tt>  <tt class="py-line">        <tt class="py-name">output_file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L101"></a><tt class="py-lineno">101</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L102"></a><tt class="py-lineno">102</tt>  <tt class="py-line">         <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">Nndic</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L103"></a><tt class="py-lineno">103</tt>  <tt class="py-line">            <tt class="py-name">Nndic</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">Nndic</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">/</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">s</tt><tt class="py-op">)</tt> </tt>
+<a name="L104"></a><tt class="py-lineno">104</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">Nndic</tt><tt class="py-op">)</tt>    <tt class="py-comment">#N can be used for checking: should be the same number in real</tt> </tt>
+</div><a name="L105"></a><tt class="py-lineno">105</tt>  <tt class="py-line">                                                                                    <tt class="py-comment"># and artificial chromosome</tt>
 </tt>
+<a name="L106"></a><tt class="py-lineno">106</tt>  <tt class="py-line">
 </tt>
+<a name="L107"></a><tt class="py-lineno">107</tt>  <tt class="py-line">
 </tt>
+<a name="aa_dist_seq"></a><div id="aa_dist_seq-def"><a name="L108"></a><tt class="py-lineno">108</tt> <a class="py-toggle" href="#" id="aa_dist_seq-toggle" onclick="return toggle('aa_dist_seq');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.ReadAndWrite-module.html#aa_dist_seq">aa_dist_seq</a><tt class="py-op">(</tt><tt class="py-param">seq</tt><tt class="py-op">,</tt><tt class="py-param">txt_file</tt><tt class="py-op">,</tt><tt class="py-par [...]
+</div><div id="aa_dist_seq-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="aa_dist_seq-expanded"><a name="L109"></a><tt class="py-lineno">109</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L110"></a><tt class="py-lineno">110</tt>  <tt class="py-line"><tt class="py-docstring">    Writes the AA distribution in a file and returns the dictionary. adjust s for % results.
</tt> </tt>
+<a name="L111"></a><tt class="py-lineno">111</tt>  <tt class="py-line"><tt class="py-docstring">    @type  seq: string
</tt> </tt>
+<a name="L112"></a><tt class="py-lineno">112</tt>  <tt class="py-line"><tt class="py-docstring">    @param seq: Nucleotide sequence.
</tt> </tt>
+<a name="L113"></a><tt class="py-lineno">113</tt>  <tt class="py-line"><tt class="py-docstring">    @type  txt_file: string
</tt> </tt>
+<a name="L114"></a><tt class="py-lineno">114</tt>  <tt class="py-line"><tt class="py-docstring">    @param txt_file: Output compare file.
</tt> </tt>
+<a name="L115"></a><tt class="py-lineno">115</tt>  <tt class="py-line"><tt class="py-docstring">    @type  shallwrite: Bool
</tt> </tt>
+<a name="L116"></a><tt class="py-lineno">116</tt>  <tt class="py-line"><tt class="py-docstring">    @param shallwrite: Write output in percentages..
</tt> </tt>
+<a name="L117"></a><tt class="py-lineno">117</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L118"></a><tt class="py-lineno">118</tt>  <tt class="py-line">    <tt class="py-name">aadic</tt> <tt class="py-op">=</tt> <tt class="py-op">{</tt><tt class="py-string">"A"</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-string">"R"</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-string">"N"</tt><tt class="py-op">:</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-strin [...]
+<a name="L119"></a><tt class="py-lineno">119</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">seq</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L120"></a><tt class="py-lineno">120</tt>  <tt class="py-line">        
 </tt>
+<a name="L121"></a><tt class="py-lineno">121</tt>  <tt class="py-line">        <tt class="py-string">'''escape 'n' Sequences '''</tt> </tt>
+<a name="L122"></a><tt class="py-lineno">122</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">seq</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt> <tt class="py-keyword">in</tt> <tt class="py-name">aadic</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L123"></a><tt class="py-lineno">123</tt>  <tt class="py-line">              <tt class="py-name">aadic</tt><tt class="py-op">[</tt><tt class="py-name">seq</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">]</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L124"></a><tt class="py-lineno">124</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L125"></a><tt class="py-lineno">125</tt>  <tt class="py-line">            <tt class="py-keyword">continue</tt> </tt>
+<a name="L126"></a><tt class="py-lineno">126</tt>  <tt class="py-line">            
 </tt>
+<a name="L127"></a><tt class="py-lineno">127</tt>  <tt class="py-line">    
 </tt>
+<a name="L128"></a><tt class="py-lineno">128</tt>  <tt class="py-line">    <tt class="py-name">n</tt> <tt class="py-op">=</tt> <tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">seq</tt><tt class="py-op">)</tt> </tt>
+<a name="L129"></a><tt class="py-lineno">129</tt>  <tt class="py-line">    <tt class="py-name">n</tt><tt class="py-op">=</tt><tt class="py-number">1</tt> </tt>
+<a name="L130"></a><tt class="py-lineno">130</tt>  <tt class="py-line">    <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">shallwrite</tt><tt class="py-op">==</tt><tt class="py-number">1</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L131"></a><tt class="py-lineno">131</tt>  <tt class="py-line">        <tt class="py-name">output_file</tt><tt class="py-op">=</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">txt_file</tt><tt class="py-op">,</tt><tt class="py-string">'w'</tt><tt class="py-op">)</tt> </tt>
+<a name="L132"></a><tt class="py-lineno">132</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">aadic</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L133"></a><tt class="py-lineno">133</tt>  <tt class="py-line">            <tt class="py-name">aadic</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">aadic</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">/</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
+<a name="L134"></a><tt class="py-lineno">134</tt>  <tt class="py-line">            <tt class="py-name">output_file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">item</tt> <tt class="py-op">+</tt> <tt class="py-string">"\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">aadic</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">)</tt> [...]
+<a name="L135"></a><tt class="py-lineno">135</tt>  <tt class="py-line">            
 </tt>
+<a name="L136"></a><tt class="py-lineno">136</tt>  <tt class="py-line">        <tt class="py-name">output_file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L137"></a><tt class="py-lineno">137</tt>  <tt class="py-line">    <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L138"></a><tt class="py-lineno">138</tt>  <tt class="py-line">        <tt class="py-keyword">for</tt> <tt class="py-name">item</tt> <tt class="py-keyword">in</tt> <tt class="py-name">aadic</tt><tt class="py-op">.</tt><tt class="py-name">keys</tt><tt class="py-op">(</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L139"></a><tt class="py-lineno">139</tt>  <tt class="py-line">            <tt class="py-name">aadic</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">=</tt><tt class="py-name">aadic</tt><tt class="py-op">[</tt><tt class="py-name">item</tt><tt class="py-op">]</tt><tt class="py-op">/</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">n</tt><tt class="py-op">)</tt> </tt>
+<a name="L140"></a><tt class="py-lineno">140</tt>  <tt class="py-line">            
 </tt>
+<a name="L141"></a><tt class="py-lineno">141</tt>  <tt class="py-line">    <tt class="py-keyword">return</tt> <tt class="py-op">(</tt><tt class="py-name">aadic</tt><tt class="py-op">)</tt>  </tt>
+</div><a name="L142"></a><tt class="py-lineno">142</tt>  <tt class="py-line">
 </tt>
+<a name="L143"></a><tt class="py-lineno">143</tt>  <tt class="py-line"><tt class="py-string">'''
</tt> </tt>
+<a name="L144"></a><tt class="py-lineno">144</tt>  <tt class="py-line"><tt class="py-string">input: DNA Sequence, outputfilename and 1/0 for writing/not writing outputfile '''</tt> </tt>
+<a name="L145"></a><tt class="py-lineno">145</tt>  <tt class="py-line">
 </tt>
+<a name="nucleotide_dist_file"></a><div id="nucleotide_dist_file-def"><a name="L146"></a><tt class="py-lineno">146</tt> <a class="py-toggle" href="#" id="nucleotide_dist_file-toggle" onclick="return toggle('nucleotide_dist_file');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.ReadAndWrite-module.html#nucleotide_dist_file">nucleotide_dist_file</a><tt class="py-op">(</tt><tt class="py-param">file_fasta</tt><tt class="py-op">,</tt><tt class="py- [...]
+</div><div id="nucleotide_dist_file-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="nucleotide_dist_file-expanded"><a name="L147"></a><tt class="py-lineno">147</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L148"></a><tt class="py-lineno">148</tt>  <tt class="py-line"><tt class="py-docstring">    Writes the DNA distribution in a file and returns the dictionary. adjust n for % results
</tt> </tt>
+<a name="L149"></a><tt class="py-lineno">149</tt>  <tt class="py-line"><tt class="py-docstring">
</tt> </tt>
+<a name="L150"></a><tt class="py-lineno">150</tt>  <tt class="py-line"><tt class="py-docstring">    @type  file_fasta: string
</tt> </tt>
+<a name="L151"></a><tt class="py-lineno">151</tt>  <tt class="py-line"><tt class="py-docstring">    @param file_fasta: DNA Sequence
</tt> </tt>
+<a name="L152"></a><tt class="py-lineno">152</tt>  <tt class="py-line"><tt class="py-docstring">    @type  txt_file: string
</tt> </tt>
+<a name="L153"></a><tt class="py-lineno">153</tt>  <tt class="py-line"><tt class="py-docstring">    @param txt_file: Filename for output.
</tt> </tt>
+<a name="L154"></a><tt class="py-lineno">154</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L155"></a><tt class="py-lineno">155</tt>  <tt class="py-line">    <tt class="py-name">input_file</tt><tt class="py-op">=</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">file_fasta</tt><tt class="py-op">,</tt><tt class="py-string">'r'</tt><tt class="py-op">)</tt> </tt>
+<a name="L156"></a><tt class="py-lineno">156</tt>  <tt class="py-line">    <tt class="py-name">output_file</tt><tt class="py-op">=</tt><tt class="py-name">open</tt><tt class="py-op">(</tt><tt class="py-name">txt_file</tt><tt class="py-op">,</tt><tt class="py-string">'a'</tt><tt class="py-op">)</tt> </tt>
+<a name="L157"></a><tt class="py-lineno">157</tt>  <tt class="py-line">    <tt class="py-name">seq</tt><tt class="py-op">=</tt><tt class="py-string">''</tt> </tt>
+<a name="L158"></a><tt class="py-lineno">158</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">line</tt> <tt class="py-keyword">in</tt> <tt class="py-name">input_file</tt><tt class="py-op">:</tt> </tt>
+<a name="L159"></a><tt class="py-lineno">159</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-name">line</tt><tt class="py-op">[</tt><tt class="py-number">0</tt><tt class="py-op">]</tt><tt class="py-op">!=</tt><tt class="py-string">'>'</tt><tt class="py-op">:</tt> </tt>
+<a name="L160"></a><tt class="py-lineno">160</tt>  <tt class="py-line">            <tt class="py-name">line</tt><tt class="py-op">=</tt><tt class="py-name">line</tt><tt class="py-op">.</tt><tt class="py-name">rstrip</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L161"></a><tt class="py-lineno">161</tt>  <tt class="py-line">            <tt class="py-name">seq</tt><tt class="py-op">+=</tt><tt class="py-name">line</tt> </tt>
+<a name="L162"></a><tt class="py-lineno">162</tt>  <tt class="py-line">    <tt class="py-name">output_file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-name">str</tt><tt class="py-op">(</tt><tt id="link-0" class="py-name" targets="Function core.ReadAndWrite.nucleotide_dist_seq()=core.ReadAndWrite-module.html#nucleotide_dist_seq"><a title="core.ReadAndWrite.nucleotide_dist_seq" class="py-name" href="#" onclick="return doclink('link-0', 'n [...]
+<a name="L163"></a><tt class="py-lineno">163</tt>  <tt class="py-line">    <tt class="py-name">output_file</tt><tt class="py-op">.</tt><tt class="py-name">write</tt><tt class="py-op">(</tt><tt class="py-string">'\n'</tt><tt class="py-op">)</tt> </tt>
+<a name="L164"></a><tt class="py-lineno">164</tt>  <tt class="py-line">    <tt class="py-name">output_file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+<a name="L165"></a><tt class="py-lineno">165</tt>  <tt class="py-line">    <tt class="py-name">input_file</tt><tt class="py-op">.</tt><tt class="py-name">close</tt><tt class="py-op">(</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L166"></a><tt class="py-lineno">166</tt>  <tt class="py-line">
 </tt>
+<a name="L167"></a><tt class="py-lineno">167</tt>  <tt class="py-line">
 </tt>
+<a name="L168"></a><tt class="py-lineno">168</tt>  <tt class="py-line"><tt class="py-string">'''gets the number of missmatches between 2 sequences
</tt> </tt>
+<a name="L169"></a><tt class="py-lineno">169</tt>  <tt class="py-line"><tt class="py-string">input: orig sequence, decoy sequence '''</tt> </tt>
+<a name="gethammingdistance"></a><div id="gethammingdistance-def"><a name="L170"></a><tt class="py-lineno">170</tt> <a class="py-toggle" href="#" id="gethammingdistance-toggle" onclick="return toggle('gethammingdistance');">-</a><tt class="py-line"><tt class="py-keyword">def</tt> <a class="py-def-name" href="core.ReadAndWrite-module.html#gethammingdistance">gethammingdistance</a><tt class="py-op">(</tt><tt class="py-param">original</tt><tt class="py-op">,</tt><tt class="py-param">artific [...]
+</div><div id="gethammingdistance-collapsed" style="display:none;" pad="+++" indent="++++"></div><div id="gethammingdistance-expanded"><a name="L171"></a><tt class="py-lineno">171</tt>  <tt class="py-line">    <tt class="py-docstring">"""
</tt> </tt>
+<a name="L172"></a><tt class="py-lineno">172</tt>  <tt class="py-line"><tt class="py-docstring">    Calculates the hamming distances between two sequences.
</tt> </tt>
+<a name="L173"></a><tt class="py-lineno">173</tt>  <tt class="py-line"><tt class="py-docstring">    @type  original: list
</tt> </tt>
+<a name="L174"></a><tt class="py-lineno">174</tt>  <tt class="py-line"><tt class="py-docstring">    @param original: Nucleotide sequence from the reference.
</tt> </tt>
+<a name="L175"></a><tt class="py-lineno">175</tt>  <tt class="py-line"><tt class="py-docstring">    @type  artificial: list
</tt> </tt>
+<a name="L176"></a><tt class="py-lineno">176</tt>  <tt class="py-line"><tt class="py-docstring">    @param artificial: Nucleotide sequence from the artificial reference.
</tt> </tt>
+<a name="L177"></a><tt class="py-lineno">177</tt>  <tt class="py-line"><tt class="py-docstring">    """</tt> </tt>
+<a name="L178"></a><tt class="py-lineno">178</tt>  <tt class="py-line">    <tt class="py-name">hamming</tt> <tt class="py-op">=</tt> <tt class="py-number">0</tt> </tt>
+<a name="L179"></a><tt class="py-lineno">179</tt>  <tt class="py-line">    <tt class="py-name">not_hamming</tt><tt class="py-op">=</tt><tt class="py-number">0</tt> </tt>
+<a name="L180"></a><tt class="py-lineno">180</tt>  <tt class="py-line">    <tt class="py-keyword">for</tt> <tt class="py-name">i</tt> <tt class="py-keyword">in</tt> <tt class="py-name">range</tt><tt class="py-op">(</tt><tt class="py-number">0</tt><tt class="py-op">,</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">original</tt><tt class="py-op">)</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L181"></a><tt class="py-lineno">181</tt>  <tt class="py-line">        <tt class="py-keyword">if</tt> <tt class="py-op">(</tt><tt class="py-name">original</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">!=</tt><tt class="py-name">artificial</tt><tt class="py-op">[</tt><tt class="py-name">i</tt><tt class="py-op">]</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
+<a name="L182"></a><tt class="py-lineno">182</tt>  <tt class="py-line">            <tt class="py-name">hamming</tt> <tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L183"></a><tt class="py-lineno">183</tt>  <tt class="py-line">            
 </tt>
+<a name="L184"></a><tt class="py-lineno">184</tt>  <tt class="py-line">        <tt class="py-keyword">else</tt><tt class="py-op">:</tt> </tt>
+<a name="L185"></a><tt class="py-lineno">185</tt>  <tt class="py-line">            <tt class="py-name">not_hamming</tt><tt class="py-op">+=</tt><tt class="py-number">1</tt> </tt>
+<a name="L186"></a><tt class="py-lineno">186</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-string">"#hamming distance REF-ART\t"</tt><tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">hamming</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
+<a name="L187"></a><tt class="py-lineno">187</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt> <tt class="py-op">(</tt><tt class="py-string">"avg. distance:\t"</tt> <tt class="py-op">+</tt> <tt class="py-name">str</tt><tt class="py-op">(</tt><tt class="py-name">len</tt><tt class="py-op">(</tt><tt class="py-name">original</tt><tt class="py-op">)</tt><tt class="py-op">/</tt><tt class="py-name">float</tt><tt class="py-op">(</tt><tt class="py-name">hamming</tt><tt class="py-op" [...]
+<a name="L188"></a><tt class="py-lineno">188</tt>  <tt class="py-line">    <tt class="py-keyword">print</tt><tt class="py-op">(</tt><tt class="py-string">"###########################\r\n"</tt><tt class="py-op">)</tt> </tt>
+</div><a name="L189"></a><tt class="py-lineno">189</tt>  <tt class="py-line"> </tt><script type="text/javascript">
+<!--
+expandto(location.href);
+// -->
+</script>
+</pre>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.insert_mutations-module.html b/doc/core.insert_mutations-module.html
new file mode 100644
index 0000000..5095591
--- /dev/null
+++ b/doc/core.insert_mutations-module.html
@@ -0,0 +1,403 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.insert_mutations</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module insert_mutations
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.insert_mutations-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module insert_mutations</h1><p class="nomargin-top"></p>
+<p>Created 2012 core Script for the generation of the artificial 
+  reference genome</p>
+  <p>The functions purpose is to to go through a list of positions and find
+  balanced mutations which fulfill the demands on the artificial reference 
+  genome. Once a initial start positions is randomly selected all possible 
+  triplets with hamming distance 1 are generated and looked up in a 
+  dictionary which contains all triplet positions in the input genome. If a
+  suitable partner is found for the initial mutation the next start 
+  positions is chosen randomly. Else: try all other triplets with hamming 
+  distance 1 until no one is left. This process can be accelerated by 
+  allowing unbalanced mutations, but this will cause differences in the 
+  NUC/AA distribution and the AA neighborhood.</p>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        Sven Giese
+      </p>
+</div><!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">list,list</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.insert_mutations-module.html#getMutation" class="summary-sig-name">getMutation</a>(<span class="summary-sig-arg">AA</span>,
+        <span class="summary-sig-arg">Codon</span>)</span><br />
+      Returns a random mutation for a given AA and its Codon(DNA).</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">Char,Char,int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.insert_mutations-module.html#getdifference" class="summary-sig-name">getdifference</a>(<span class="summary-sig-arg">triplet_old</span>,
+        <span class="summary-sig-arg">triplet_new</span>)</span><br />
+      Given two triplets, returns the differences between them plus the 
+      position</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">Bool</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.insert_mutations-module.html#isvalidposition" class="summary-sig-name">isvalidposition</a>(<span class="summary-sig-arg">pdic</span>,
+        <span class="summary-sig-arg">iprime</span>,
+        <span class="summary-sig-arg">distance</span>)</span><br />
+      Checks if a position is valid for mutation.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">list</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.insert_mutations-module.html#mutate_random" class="summary-sig-name">mutate_random</a>(<span class="summary-sig-arg">DNA</span>,
+        <span class="summary-sig-arg">AminoAcid</span>,
+        <span class="summary-sig-arg">distance</span>,
+        <span class="summary-sig-arg">pdic</span>,
+        <span class="summary-sig-arg">rev</span>,
+        <span class="summary-sig-arg">header</span>,
+        <span class="summary-sig-arg">Random</span>,
+        <span class="summary-sig-arg">outputpath</span>)</span><br />
+      Mutates a given DNA(AminoAcid) Genomesequence on several positions 
+      (distance based on DISTANCE var.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'core'"><code class="variable-quote">'</code><code class="variable-string">core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="getMutation"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getMutation</span>(<span class="sig-arg">AA</span>,
+        <span class="sig-arg">Codon</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Returns a random mutation for a given AA and its Codon(DNA). The 
+  mutation is done in a way which supports the equilibrium of the 
+  nucleotide distribution by only regarding hamming distance=1 Codons as 
+  possible mutations</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>AA</code></strong> (string) - Single AA.</li>
+        <li><strong class="pname"><code>Codon</code></strong> (string) - 3-letter dna code.</li>
+    </ul></dd>
+    <dt>Returns: list,list</dt>
+        <dd>A list of all valid mutations (triplet) and the coresponding AA.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getdifference"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getdifference</span>(<span class="sig-arg">triplet_old</span>,
+        <span class="sig-arg">triplet_new</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Given two triplets, returns the differences between them plus the 
+  position</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>triplet_old</code></strong> (string) - AA triplet.</li>
+        <li><strong class="pname"><code>triplet_new</code></strong> (string) - AA triplet.</li>
+    </ul></dd>
+    <dt>Returns: Char,Char,int</dt>
+        <dd>The new aminoacid, the old aminoacid and the position.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="isvalidposition"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">isvalidposition</span>(<span class="sig-arg">pdic</span>,
+        <span class="sig-arg">iprime</span>,
+        <span class="sig-arg">distance</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Checks if a position is valid for mutation. It queries all neighboring
+  positions (iprime +-distance) to check whether there already was a 
+  mutation in pdic</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>pdic</code></strong> (dictionary) - Diciontary containing mutations and start/ stop codons..</li>
+        <li><strong class="pname"><code>iprime</code></strong> (int) - Position of the prospective mutation (DNA level)</li>
+        <li><strong class="pname"><code>distance</code></strong> (int) - User defined parameter which limits the distance between two 
+          mutations.</li>
+    </ul></dd>
+    <dt>Returns: Bool</dt>
+        <dd>Boolean which decides if the position is valid (1= yes,0 = no)</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="mutate_random"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">mutate_random</span>(<span class="sig-arg">DNA</span>,
+        <span class="sig-arg">AminoAcid</span>,
+        <span class="sig-arg">distance</span>,
+        <span class="sig-arg">pdic</span>,
+        <span class="sig-arg">rev</span>,
+        <span class="sig-arg">header</span>,
+        <span class="sig-arg">Random</span>,
+        <span class="sig-arg">outputpath</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Mutates a given DNA(AminoAcid) Genomesequence on several positions 
+  (distance based on DISTANCE var. If one mutation is done a compareable 
+  Triplet is searched to "reverse" the  changes made in AA 
+  distribution, N distribution, AA neighborhood</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>DNA</code></strong> (list) - DNA sequence of the reference genome.</li>
+        <li><strong class="pname"><code>AminoAcid</code></strong> (list) - AA sequence of the reference genome.</li>
+        <li><strong class="pname"><code>rev</code></strong> (Bool) - Boolean which decides if unbalanced mutations are allowed (only 
+          initial mutation is performed)</li>
+        <li><strong class="pname"><code>pdic</code></strong> (dictionary) - Diciontary containing mutations and start/ stop codons..</li>
+        <li><strong class="pname"><code>header</code></strong> (string) - Header for the resulting artificial reference file (fasta 
+          format).</li>
+        <li><strong class="pname"><code>Random</code></strong> (Bool) - Boolean for choosing on of the mutation modes (linear = 0,random 
+          = 1)</li>
+        <li><strong class="pname"><code>distance</code></strong> (int) - User defined parameter which limits the distance between two 
+          mutations.</li>
+    </ul></dd>
+    <dt>Returns: list</dt>
+        <dd>Artificial reference genome sequence.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Wed Mar 13 10:43:16 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.orfs-module.html b/doc/core.orfs-module.html
new file mode 100644
index 0000000..2fe48ab
--- /dev/null
+++ b/doc/core.orfs-module.html
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.orfs</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module orfs
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.orfs-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module orfs</h1><p class="nomargin-top"></p>
+<p>Created 2012</p>
+  <p>Script which contains the functionality to find start and stop codons 
+  in all ORFs in the genome. It is very basic and does not consider 
+  intro-exon structure. It is possible to generate the start / stop list 
+  extern and give it as input to the main program.</p>
+  <p>This script is a python port from a java implementation by Franziska 
+  Zickmann.</p>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        Sven Giese
+      </p>
+</div><!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">dictionary</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.orfs-module.html#build_ORF" class="summary-sig-name">build_ORF</a>(<span class="summary-sig-arg">sequence</span>,
+        <span class="summary-sig-arg">file_ORF</span>,
+        <span class="summary-sig-arg">pdic</span>)</span><br />
+      Get orf positions (forward/backward) and return them in a dictionary</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">dictionary</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.orfs-module.html#find_orfs" class="summary-sig-name">find_orfs</a>(<span class="summary-sig-arg">genomeSequence</span>,
+        <span class="summary-sig-arg">pdic</span>)</span><br />
+      function to identify open reading frames in a dna sequence, careful: 
+      intron exon structures are not respected!</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">int</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.orfs-module.html#findstop_help" class="summary-sig-name">findstop_help</a>(<span class="summary-sig-arg">posLastStop</span>,
+        <span class="summary-sig-arg">sequence</span>,
+        <span class="summary-sig-arg">codon</span>)</span><br />
+      return the index of the first position of codon in the dna sequence</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="build_ORF"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">build_ORF</span>(<span class="sig-arg">sequence</span>,
+        <span class="sig-arg">file_ORF</span>,
+        <span class="sig-arg">pdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Get orf positions (forward/backward) and return them in a 
+  dictionary</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>sequence</code></strong> (string) - nucleotide sequence</li>
+        <li><strong class="pname"><code>file_ORF</code></strong> (string) - outputfile</li>
+        <li><strong class="pname"><code>pdic</code></strong> (dictionary) - Used to start start / end positions of ORFs.</li>
+    </ul></dd>
+    <dt>Returns: dictionary</dt>
+        <dd>Stored start start / end positions of ORFs</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="find_orfs"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">find_orfs</span>(<span class="sig-arg">genomeSequence</span>,
+        <span class="sig-arg">pdic</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>function to identify open reading frames in a dna sequence, careful: 
+  intron exon structures are not respected!</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>genomeSequence</code></strong> (string) - Nucleotide sequence.</li>
+        <li><strong class="pname"><code>pdic</code></strong> (dictionary) - Used to store start / end positions of ORFs.</li>
+    </ul></dd>
+    <dt>Returns: dictionary</dt>
+        <dd>Found  start / end positions in the sequence consindering only 
+          the ORFs.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="findstop_help"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">findstop_help</span>(<span class="sig-arg">posLastStop</span>,
+        <span class="sig-arg">sequence</span>,
+        <span class="sig-arg">codon</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>return the index of the first position of codon in the dna 
+  sequence</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>posLastStop</code></strong> (int) - Position of the last found stop codon.</li>
+        <li><strong class="pname"><code>sequence</code></strong> (string) - Nucleotide sequence.</li>
+        <li><strong class="pname"><code>codon</code></strong> (string) - 3-letter DNA code.</li>
+    </ul></dd>
+    <dt>Returns: int</dt>
+        <dd>The position of the stop codon in the nucleotide sequence.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Wed Mar 13 10:43:16 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.prep-module.html b/doc/core.prep-module.html
new file mode 100644
index 0000000..10fc3ac
--- /dev/null
+++ b/doc/core.prep-module.html
@@ -0,0 +1,460 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.prep</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module prep
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.prep-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module prep</h1><p class="nomargin-top"></p>
+<p>Created on Nov 11, 2011</p>
+  <p>Contains various help functions which initialize / translate 
+  /preprocess the data</p>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        Sven Giese
+      </p>
+</div><!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">dictionary</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.prep-module.html#createdic" class="summary-sig-name">createdic</a>(<span class="summary-sig-arg">AAsequence</span>)</span><br />
+      Creates the dictionary for the AA triplets and searches the starting 
+      indices of the triplets in the given aminoacid sequence.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">bool</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.prep-module.html#isvalidtriplet" class="summary-sig-name">isvalidtriplet</a>(<span class="summary-sig-arg">codon</span>,
+        <span class="summary-sig-arg">dictentry</span>)</span><br />
+      Function which checks if a given triplet has max hamming distance of 
+      1 to a other triplet.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">dictionary</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.prep-module.html#loadpickle" class="summary-sig-name">loadpickle</a>(<span class="summary-sig-arg">inputname</span>)</span><br />
+      basic pickle functions.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.prep-module.html#savepickle" class="summary-sig-name">savepickle</a>(<span class="summary-sig-arg">dictionary</span>,
+        <span class="summary-sig-arg">outputname</span>)</span><br />
+      basic pickle functions.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">prot,rest</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.prep-module.html#trans_seq" class="summary-sig-name">trans_seq</a>(<span class="summary-sig-arg">DNA</span>)</span><br />
+      Funtion which translates DNA to AA</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'core'"><code class="variable-quote">'</code><code class="variable-string">core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a href="core.prep-module.html#genetic_code" class="summary-name">genetic_code</a> = <code title="{'AAA': 'K',
+ 'AAC': 'N',
+ 'AAG': 'K',
+ 'AAT': 'N',
+ 'ACA': 'T',
+ 'ACC': 'T',
+ 'ACG': 'T',
+ 'ACT': 'T',
+..."><code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">AAA</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">K</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">AAC</code><code class="variable-quote">'</code><code class="variable-op">: </code><code [...]
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="createdic"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">createdic</span>(<span class="sig-arg">AAsequence</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Creates the dictionary for the AA triplets and searches the starting 
+  indices of the triplets in the given aminoacid sequence.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>AAsequence</code></strong> (string) - aminoacid sequence</li>
+    </ul></dd>
+    <dt>Returns: dictionary</dt>
+        <dd>A dictionary with starting positions of each triplet in the given
+          AA sequence</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="isvalidtriplet"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">isvalidtriplet</span>(<span class="sig-arg">codon</span>,
+        <span class="sig-arg">dictentry</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Function which checks if a given triplet has max hamming distance of 1
+  to a other triplet. Used for generation of possible substitutions 
+  triplets</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>codon</code></strong> (string) - nucleotide triplet</li>
+        <li><strong class="pname"><code>dictentry</code></strong> (string) - nucleotide triplet</li>
+    </ul></dd>
+    <dt>Returns: bool</dt>
+        <dd>Boolean value. True if max hamming distance 1,else False .</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="loadpickle"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">loadpickle</span>(<span class="sig-arg">inputname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>basic pickle functions. actually for debugging and to speed up 
+  multiple simulations ( possible to load orf lists)</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>inputname</code></strong> (string) - Filename for loading.</li>
+    </ul></dd>
+    <dt>Returns: dictionary</dt>
+        <dd>Dictionary containing start and end positions of ORFs.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="savepickle"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">savepickle</span>(<span class="sig-arg">dictionary</span>,
+        <span class="sig-arg">outputname</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>basic pickle functions. actually for debugging and to speed up 
+  multiple simulations ( possible to load orf lists)</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>dictionary</code></strong> (dictionary) - Dictionary containg start and end positions of ORFs.</li>
+        <li><strong class="pname"><code>outputname</code></strong> (string) - Filename for saving.</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="trans_seq"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">trans_seq</span>(<span class="sig-arg">DNA</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Funtion which translates DNA to AA</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>DNA</code></strong> (list) - nucleotide sequence</li>
+    </ul></dd>
+    <dt>Returns: prot,rest</dt>
+        <dd>Translated aminoacid sequence,untranslated nucleotide sequence</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== VARIABLES DETAILS ==================== -->
+<a name="section-VariablesDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-VariablesDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="genetic_code"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <h3 class="epydoc">genetic_code</h3>
+  
+  <dl class="fields">
+  </dl>
+  <dl class="fields">
+    <dt>Value:</dt>
+      <dd><table><tr><td><pre class="variable">
+<code class="variable-group">{</code><code class="variable-quote">'</code><code class="variable-string">AAA</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">K</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">AAC</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">N</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">AAG</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">K</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">AAT</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">N</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">ACA</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">T</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">ACC</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">T</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">ACG</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">T</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+ <code class="variable-quote">'</code><code class="variable-string">ACT</code><code class="variable-quote">'</code><code class="variable-op">: </code><code class="variable-quote">'</code><code class="variable-string">T</code><code class="variable-quote">'</code><code class="variable-op">,</code>
+<code class="variable-ellipsis">...</code>
+</pre></td></tr></table>
+</dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Wed Mar 13 10:43:16 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/core.readandwrite-module.html b/doc/core.readandwrite-module.html
new file mode 100644
index 0000000..34306cf
--- /dev/null
+++ b/doc/core.readandwrite-module.html
@@ -0,0 +1,501 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core.readandwrite</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        <a href="core-module.html">Package core</a> ::
+        Module readandwrite
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="core.readandwrite-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== MODULE DESCRIPTION ==================== -->
+<h1 class="epydoc">Module readandwrite</h1><p class="nomargin-top"></p>
+<p>Created on Nov 11, 2011</p>
+  <p>Contains various help functions which read or produce an input/ 
+  output</p>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        Sven Giese
+      </p>
+</div><!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.readandwrite-module.html#aa_dist_seq" class="summary-sig-name">aa_dist_seq</a>(<span class="summary-sig-arg">seq</span>,
+        <span class="summary-sig-arg">txt_file</span>,
+        <span class="summary-sig-arg">shallwrite</span>)</span><br />
+      Writes the AA distribution in a file and returns the dictionary.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.readandwrite-module.html#gethammingdistance" class="summary-sig-name">gethammingdistance</a>(<span class="summary-sig-arg">original</span>,
+        <span class="summary-sig-arg">artificial</span>)</span><br />
+      Calculates the hamming distances between two sequences.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.readandwrite-module.html#nucleotide_dist_file" class="summary-sig-name">nucleotide_dist_file</a>(<span class="summary-sig-arg">file_fasta</span>,
+        <span class="summary-sig-arg">txt_file</span>)</span><br />
+      Writes the DNA distribution in a file and returns the dictionary.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.readandwrite-module.html#nucleotide_dist_seq" class="summary-sig-name">nucleotide_dist_seq</a>(<span class="summary-sig-arg">seq</span>,
+        <span class="summary-sig-arg">txt_file</span>,
+        <span class="summary-sig-arg">shallwrite</span>)</span><br />
+      Writes the nucleotide distribution in a file and returns the 
+      dictionary.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type">HTSeq Sequence object</span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.readandwrite-module.html#readdna" class="summary-sig-name">readdna</a>(<span class="summary-sig-arg">filename</span>)</span><br />
+      Reads in the dna sequence of the given fasta</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.readandwrite-module.html#writefile" class="summary-sig-name">writefile</a>(<span class="summary-sig-arg">sequenceObject</span>,
+        <span class="summary-sig-arg">filename</span>)</span><br />
+      Writes a given sequence object to a fasta file.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="core.readandwrite-module.html#writeoverview" class="summary-sig-name">writeoverview</a>(<span class="summary-sig-arg">Ndic_G</span>,
+        <span class="summary-sig-arg">aadic_G</span>,
+        <span class="summary-sig-arg">Ndic_AR</span>,
+        <span class="summary-sig-arg">aadic_AR</span>,
+        <span class="summary-sig-arg">filename</span>)</span><br />
+      Creates the "delta" file for the comparison of the two 
+      chromosoms.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="'core'"><code class="variable-quote">'</code><code class="variable-string">core</code><code class="variable-quote">'</code></code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="aa_dist_seq"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">aa_dist_seq</span>(<span class="sig-arg">seq</span>,
+        <span class="sig-arg">txt_file</span>,
+        <span class="sig-arg">shallwrite</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Writes the AA distribution in a file and returns the dictionary. 
+  adjust s for % results.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>seq</code></strong> (string) - Nucleotide sequence.</li>
+        <li><strong class="pname"><code>txt_file</code></strong> (string) - Output compare file.</li>
+        <li><strong class="pname"><code>shallwrite</code></strong> (Bool) - Write output in percentages..</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="gethammingdistance"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">gethammingdistance</span>(<span class="sig-arg">original</span>,
+        <span class="sig-arg">artificial</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Calculates the hamming distances between two sequences.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>original</code></strong> (list) - Nucleotide sequence from the reference.</li>
+        <li><strong class="pname"><code>artificial</code></strong> (list) - Nucleotide sequence from the artificial reference.</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="nucleotide_dist_file"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">nucleotide_dist_file</span>(<span class="sig-arg">file_fasta</span>,
+        <span class="sig-arg">txt_file</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Writes the DNA distribution in a file and returns the dictionary. 
+  adjust n for % results</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>file_fasta</code></strong> (string) - DNA Sequence</li>
+        <li><strong class="pname"><code>txt_file</code></strong> (string) - Filename for output.</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="nucleotide_dist_seq"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">nucleotide_dist_seq</span>(<span class="sig-arg">seq</span>,
+        <span class="sig-arg">txt_file</span>,
+        <span class="sig-arg">shallwrite</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Writes the nucleotide distribution in a file and returns the 
+  dictionary. adjust s for % results.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>seq</code></strong> (string) - Nucleotide sequence.</li>
+        <li><strong class="pname"><code>txt_file</code></strong> (string) - Output compare file.</li>
+        <li><strong class="pname"><code>shallwrite</code></strong> (Bool) - Decides if percentages values are written to the output.</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="readdna"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">readdna</span>(<span class="sig-arg">filename</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Reads in the dna sequence of the given fasta</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>filename</code></strong> (string) - Fasta-file used as input.</li>
+    </ul></dd>
+    <dt>Returns: HTSeq Sequence object</dt>
+        <dd>Reference Fasta.</dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="writefile"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">writefile</span>(<span class="sig-arg">sequenceObject</span>,
+        <span class="sig-arg">filename</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Writes a given sequence object to a fasta file.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>sequenceObject</code></strong> (HTSeq Sequence object) - Reference sequence as fasta.</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="writeoverview"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">writeoverview</span>(<span class="sig-arg">Ndic_G</span>,
+        <span class="sig-arg">aadic_G</span>,
+        <span class="sig-arg">Ndic_AR</span>,
+        <span class="sig-arg">aadic_AR</span>,
+        <span class="sig-arg">filename</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Creates the "delta" file for the comparison of the two 
+  chromosoms. This file contains the differences in nucleotide distribution
+  between reference and artificial. input: nucleotid dictionary genom, aa 
+  dictionary genome, nucleotid dictionary artificial chromosom, aa 
+  dictionary, filename</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>Ndic_G</code></strong> (dictionary) - Nucleotid dictionary genom.</li>
+        <li><strong class="pname"><code>aadic_G</code></strong> (dictionary) - AA dictionary genome.</li>
+        <li><strong class="pname"><code>Ndic_AR</code></strong> (dictionary) - Nucleotid dictionary artificial.</li>
+        <li><strong class="pname"><code>aadic_AR</code></strong> (dictionary) - AA dictionary artificial</li>
+        <li><strong class="pname"><code>filename</code></strong> (string) - Output filename.</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Wed Mar 13 10:43:16 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/crarr.png b/doc/crarr.png
new file mode 100644
index 0000000..26b43c5
Binary files /dev/null and b/doc/crarr.png differ
diff --git a/doc/epydoc.css b/doc/epydoc.css
new file mode 100644
index 0000000..86d4170
--- /dev/null
+++ b/doc/epydoc.css
@@ -0,0 +1,322 @@
+
+
+/* Epydoc CSS Stylesheet
+ *
+ * This stylesheet can be used to customize the appearance of epydoc's
+ * HTML output.
+ *
+ */
+
+/* Default Colors & Styles
+ *   - Set the default foreground & background color with 'body'; and 
+ *     link colors with 'a:link' and 'a:visited'.
+ *   - Use bold for decision list terms.
+ *   - The heading styles defined here are used for headings *within*
+ *     docstring descriptions.  All headings used by epydoc itself use
+ *     either class='epydoc' or class='toc' (CSS styles for both
+ *     defined below).
+ */
+body                        { background: #ffffff; color: #000000; }
+p                           { margin-top: 0.5em; margin-bottom: 0.5em; }
+a:link                      { color: #0000ff; }
+a:visited                   { color: #204080; }
+dt                          { font-weight: bold; }
+h1                          { font-size: +140%; font-style: italic;
+                              font-weight: bold; }
+h2                          { font-size: +125%; font-style: italic;
+                              font-weight: bold; }
+h3                          { font-size: +110%; font-style: italic;
+                              font-weight: normal; }
+code                        { font-size: 100%; }
+/* N.B.: class, not pseudoclass */
+a.link                      { font-family: monospace; }
+ 
+/* Page Header & Footer
+ *   - The standard page header consists of a navigation bar (with
+ *     pointers to standard pages such as 'home' and 'trees'); a
+ *     breadcrumbs list, which can be used to navigate to containing
+ *     classes or modules; options links, to show/hide private
+ *     variables and to show/hide frames; and a page title (using
+ *     <h1>).  The page title may be followed by a link to the
+ *     corresponding source code (using 'span.codelink').
+ *   - The footer consists of a navigation bar, a timestamp, and a
+ *     pointer to epydoc's homepage.
+ */ 
+h1.epydoc                   { margin: 0; font-size: +140%; font-weight: bold; }
+h2.epydoc                   { font-size: +130%; font-weight: bold; }
+h3.epydoc                   { font-size: +115%; font-weight: bold;
+                              margin-top: 0.2em; }
+td h3.epydoc                { font-size: +115%; font-weight: bold;
+                              margin-bottom: 0; }
+table.navbar                { background: #a0c0ff; color: #000000;
+                              border: 2px groove #c0d0d0; }
+table.navbar table          { color: #000000; }
+th.navbar-select            { background: #70b0ff;
+                              color: #000000; } 
+table.navbar a              { text-decoration: none; }  
+table.navbar a:link         { color: #0000ff; }
+table.navbar a:visited      { color: #204080; }
+span.breadcrumbs            { font-size: 85%; font-weight: bold; }
+span.options                { font-size: 70%; }
+span.codelink               { font-size: 85%; }
+td.footer                   { font-size: 85%; }
+
+/* Table Headers
+ *   - Each summary table and details section begins with a 'header'
+ *     row.  This row contains a section title (marked by
+ *     'span.table-header') as well as a show/hide private link
+ *     (marked by 'span.options', defined above).
+ *   - Summary tables that contain user-defined groups mark those
+ *     groups using 'group header' rows.
+ */
+td.table-header             { background: #70b0ff; color: #000000;
+                              border: 1px solid #608090; }
+td.table-header table       { color: #000000; }
+td.table-header table a:link      { color: #0000ff; }
+td.table-header table a:visited   { color: #204080; }
+span.table-header           { font-size: 120%; font-weight: bold; }
+th.group-header             { background: #c0e0f8; color: #000000;
+                              text-align: left; font-style: italic; 
+                              font-size: 115%; 
+                              border: 1px solid #608090; }
+
+/* Summary Tables (functions, variables, etc)
+ *   - Each object is described by a single row of the table with
+ *     two cells.  The left cell gives the object's type, and is
+ *     marked with 'code.summary-type'.  The right cell gives the
+ *     object's name and a summary description.
+ *   - CSS styles for the table's header and group headers are
+ *     defined above, under 'Table Headers'
+ */
+table.summary               { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090;
+                              margin-bottom: 0.5em; }
+td.summary                  { border: 1px solid #608090; }
+code.summary-type           { font-size: 85%; }
+table.summary a:link        { color: #0000ff; }
+table.summary a:visited     { color: #204080; }
+
+
+/* Details Tables (functions, variables, etc)
+ *   - Each object is described in its own div.
+ *   - A single-row summary table w/ table-header is used as
+ *     a header for each details section (CSS style for table-header
+ *     is defined above, under 'Table Headers').
+ */
+table.details               { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090;
+                              margin: .2em 0 0 0; }
+table.details table         { color: #000000; }
+table.details a:link        { color: #0000ff; }
+table.details a:visited     { color: #204080; }
+
+/* Fields */
+dl.fields                   { margin-left: 2em; margin-top: 1em;
+                              margin-bottom: 1em; }
+dl.fields dd ul             { margin-left: 0em; padding-left: 0em; }
+dl.fields dd ul li ul       { margin-left: 2em; padding-left: 0em; }
+div.fields                  { margin-left: 2em; }
+div.fields p                { margin-bottom: 0.5em; }
+
+/* Index tables (identifier index, term index, etc)
+ *   - link-index is used for indices containing lists of links
+ *     (namely, the identifier index & term index).
+ *   - index-where is used in link indices for the text indicating
+ *     the container/source for each link.
+ *   - metadata-index is used for indices containing metadata
+ *     extracted from fields (namely, the bug index & todo index).
+ */
+table.link-index            { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090; }
+td.link-index               { border-width: 0px; }
+table.link-index a:link     { color: #0000ff; }
+table.link-index a:visited  { color: #204080; }
+span.index-where            { font-size: 70%; }
+table.metadata-index        { border-collapse: collapse;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #608090; 
+                              margin: .2em 0 0 0; }
+td.metadata-index           { border-width: 1px; border-style: solid; }
+table.metadata-index a:link { color: #0000ff; }
+table.metadata-index a:visited  { color: #204080; }
+
+/* Function signatures
+ *   - sig* is used for the signature in the details section.
+ *   - .summary-sig* is used for the signature in the summary 
+ *     table, and when listing property accessor functions.
+ * */
+.sig-name                   { color: #006080; }
+.sig-arg                    { color: #008060; }
+.sig-default                { color: #602000; }
+.summary-sig                { font-family: monospace; }
+.summary-sig-name           { color: #006080; font-weight: bold; }
+table.summary a.summary-sig-name:link
+                            { color: #006080; font-weight: bold; }
+table.summary a.summary-sig-name:visited
+                            { color: #006080; font-weight: bold; }
+.summary-sig-arg            { color: #006040; }
+.summary-sig-default        { color: #501800; }
+
+/* Subclass list
+ */
+ul.subclass-list { display: inline; }
+ul.subclass-list li { display: inline; }
+
+/* To render variables, classes etc. like functions */
+table.summary .summary-name { color: #006080; font-weight: bold;
+                              font-family: monospace; }
+table.summary
+     a.summary-name:link    { color: #006080; font-weight: bold;
+                              font-family: monospace; }
+table.summary
+    a.summary-name:visited  { color: #006080; font-weight: bold;
+                              font-family: monospace; }
+
+/* Variable values
+ *   - In the 'variable details' sections, each varaible's value is
+ *     listed in a 'pre.variable' box.  The width of this box is
+ *     restricted to 80 chars; if the value's repr is longer than
+ *     this it will be wrapped, using a backslash marked with
+ *     class 'variable-linewrap'.  If the value's repr is longer
+ *     than 3 lines, the rest will be ellided; and an ellipsis
+ *     marker ('...' marked with 'variable-ellipsis') will be used.
+ *   - If the value is a string, its quote marks will be marked
+ *     with 'variable-quote'.
+ *   - If the variable is a regexp, it is syntax-highlighted using
+ *     the re* CSS classes.
+ */
+pre.variable                { padding: .5em; margin: 0;
+                              background: #dce4ec; color: #000000;
+                              border: 1px solid #708890; }
+.variable-linewrap          { color: #604000; font-weight: bold; }
+.variable-ellipsis          { color: #604000; font-weight: bold; }
+.variable-quote             { color: #604000; font-weight: bold; }
+.variable-group             { color: #008000; font-weight: bold; }
+.variable-op                { color: #604000; font-weight: bold; }
+.variable-string            { color: #006030; }
+.variable-unknown           { color: #a00000; font-weight: bold; }
+.re                         { color: #000000; }
+.re-char                    { color: #006030; }
+.re-op                      { color: #600000; }
+.re-group                   { color: #003060; }
+.re-ref                     { color: #404040; }
+
+/* Base tree
+ *   - Used by class pages to display the base class hierarchy.
+ */
+pre.base-tree               { font-size: 80%; margin: 0; }
+
+/* Frames-based table of contents headers
+ *   - Consists of two frames: one for selecting modules; and
+ *     the other listing the contents of the selected module.
+ *   - h1.toc is used for each frame's heading
+ *   - h2.toc is used for subheadings within each frame.
+ */
+h1.toc                      { text-align: center; font-size: 105%;
+                              margin: 0; font-weight: bold;
+                              padding: 0; }
+h2.toc                      { font-size: 100%; font-weight: bold; 
+                              margin: 0.5em 0 0 -0.3em; }
+
+/* Syntax Highlighting for Source Code
+ *   - doctest examples are displayed in a 'pre.py-doctest' block.
+ *     If the example is in a details table entry, then it will use
+ *     the colors specified by the 'table pre.py-doctest' line.
+ *   - Source code listings are displayed in a 'pre.py-src' block.
+ *     Each line is marked with 'span.py-line' (used to draw a line
+ *     down the left margin, separating the code from the line
+ *     numbers).  Line numbers are displayed with 'span.py-lineno'.
+ *     The expand/collapse block toggle button is displayed with
+ *     'a.py-toggle' (Note: the CSS style for 'a.py-toggle' should not
+ *     modify the font size of the text.)
+ *   - If a source code page is opened with an anchor, then the
+ *     corresponding code block will be highlighted.  The code
+ *     block's header is highlighted with 'py-highlight-hdr'; and
+ *     the code block's body is highlighted with 'py-highlight'.
+ *   - The remaining py-* classes are used to perform syntax
+ *     highlighting (py-string for string literals, py-name for names,
+ *     etc.)
+ */
+pre.py-doctest              { padding: .5em; margin: 1em;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #708890; }
+table pre.py-doctest        { background: #dce4ec;
+                              color: #000000; }
+pre.py-src                  { border: 2px solid #000000; 
+                              background: #f0f0f0; color: #000000; }
+.py-line                    { border-left: 2px solid #000000; 
+                              margin-left: .2em; padding-left: .4em; }
+.py-lineno                  { font-style: italic; font-size: 90%;
+                              padding-left: .5em; }
+a.py-toggle                 { text-decoration: none; }
+div.py-highlight-hdr        { border-top: 2px solid #000000;
+                              border-bottom: 2px solid #000000;
+                              background: #d8e8e8; }
+div.py-highlight            { border-bottom: 2px solid #000000;
+                              background: #d0e0e0; }
+.py-prompt                  { color: #005050; font-weight: bold;}
+.py-more                    { color: #005050; font-weight: bold;}
+.py-string                  { color: #006030; }
+.py-comment                 { color: #003060; }
+.py-keyword                 { color: #600000; }
+.py-output                  { color: #404040; }
+.py-name                    { color: #000050; }
+.py-name:link               { color: #000050 !important; }
+.py-name:visited            { color: #000050 !important; }
+.py-number                  { color: #005000; }
+.py-defname                 { color: #000060; font-weight: bold; }
+.py-def-name                { color: #000060; font-weight: bold; }
+.py-base-class              { color: #000060; }
+.py-param                   { color: #000060; }
+.py-docstring               { color: #006030; }
+.py-decorator               { color: #804020; }
+/* Use this if you don't want links to names underlined: */
+/*a.py-name                   { text-decoration: none; }*/
+
+/* Graphs & Diagrams
+ *   - These CSS styles are used for graphs & diagrams generated using
+ *     Graphviz dot.  'img.graph-without-title' is used for bare
+ *     diagrams (to remove the border created by making the image
+ *     clickable).
+ */
+img.graph-without-title     { border: none; }
+img.graph-with-title        { border: 1px solid #000000; }
+span.graph-title            { font-weight: bold; }
+span.graph-caption          { }
+
+/* General-purpose classes
+ *   - 'p.indent-wrapped-lines' defines a paragraph whose first line
+ *     is not indented, but whose subsequent lines are.
+ *   - The 'nomargin-top' class is used to remove the top margin (e.g.
+ *     from lists).  The 'nomargin' class is used to remove both the
+ *     top and bottom margin (but not the left or right margin --
+ *     for lists, that would cause the bullets to disappear.)
+ */
+p.indent-wrapped-lines      { padding: 0 0 0 7em; text-indent: -7em; 
+                              margin: 0; }
+.nomargin-top               { margin-top: 0; }
+.nomargin                   { margin-top: 0; margin-bottom: 0; }
+
+/* HTML Log */
+div.log-block               { padding: 0; margin: .5em 0 .5em 0;
+                              background: #e8f0f8; color: #000000;
+                              border: 1px solid #000000; }
+div.log-error               { padding: .1em .3em .1em .3em; margin: 4px;
+                              background: #ffb0b0; color: #000000;
+                              border: 1px solid #000000; }
+div.log-warning             { padding: .1em .3em .1em .3em; margin: 4px;
+                              background: #ffffb0; color: #000000;
+                              border: 1px solid #000000; }
+div.log-info               { padding: .1em .3em .1em .3em; margin: 4px;
+                              background: #b0ffb0; color: #000000;
+                              border: 1px solid #000000; }
+h2.log-hdr                  { background: #70b0ff; color: #000000;
+                              margin: 0; padding: 0em 0.5em 0em 0.5em;
+                              border-bottom: 1px solid #000000; font-size: 110%; }
+p.log                       { font-weight: bold; margin: .5em 0 .5em 0; }
+tr.opt-changed              { color: #000000; font-weight: bold; }
+tr.opt-default              { color: #606060; }
+pre.log                     { margin: 0; padding: 0; padding-left: 1em; }
diff --git a/doc/epydoc.js b/doc/epydoc.js
new file mode 100644
index 0000000..e787dbc
--- /dev/null
+++ b/doc/epydoc.js
@@ -0,0 +1,293 @@
+function toggle_private() {
+        // Search for any private/public links on this page.  Store
+        // their old text in "cmd," so we will know what action to
+        // take; and change their text to the opposite action.
+        var cmd = "?";
+        var elts = document.getElementsByTagName("a");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "privatelink") {
+            cmd = elts[i].innerHTML;
+            elts[i].innerHTML = ((cmd && cmd.substr(0,4)=="show")?
+                                    "hide private":"show private");
+          }
+        }
+        // Update all DIVs containing private objects.
+        var elts = document.getElementsByTagName("div");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
+          }
+          else if (elts[i].className == "public") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"block":"none");
+          }
+        }
+        // Update all table rows containing private objects.  Note, we
+        // use "" instead of "block" becaue IE & firefox disagree on what
+        // this should be (block vs table-row), and "" just gives the
+        // default for both browsers.
+        var elts = document.getElementsByTagName("tr");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"");
+          }
+        }
+        // Update all list items containing private objects.
+        var elts = document.getElementsByTagName("li");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?
+                                        "none":"");
+          }
+        }
+        // Update all list items containing private objects.
+        var elts = document.getElementsByTagName("ul");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "private") {
+            elts[i].style.display = ((cmd && cmd.substr(0,4)=="hide")?"none":"block");
+          }
+        }
+        // Set a cookie to remember the current option.
+        document.cookie = "EpydocPrivate="+cmd;
+      }
+function show_private() {
+        var elts = document.getElementsByTagName("a");
+        for(var i=0; i<elts.length; i++) {
+          if (elts[i].className == "privatelink") {
+            cmd = elts[i].innerHTML;
+            if (cmd && cmd.substr(0,4)=="show")
+                toggle_private();
+          }
+        }
+      }
+function getCookie(name) {
+        var dc = document.cookie;
+        var prefix = name + "=";
+        var begin = dc.indexOf("; " + prefix);
+        if (begin == -1) {
+          begin = dc.indexOf(prefix);
+          if (begin != 0) return null;
+        } else
+        { begin += 2; }
+        var end = document.cookie.indexOf(";", begin);
+        if (end == -1)
+        { end = dc.length; }
+        return unescape(dc.substring(begin + prefix.length, end));
+      }
+function setFrame(url1, url2) {
+          parent.frames[1].location.href = url1;
+          parent.frames[2].location.href = url2;
+      }
+function checkCookie() {
+        var cmd=getCookie("EpydocPrivate");
+        if (cmd && cmd.substr(0,4)!="show" && location.href.indexOf("#_") < 0)
+            toggle_private();
+      }
+function toggleCallGraph(id) {
+        var elt = document.getElementById(id);
+        if (elt.style.display == "none")
+            elt.style.display = "block";
+        else
+            elt.style.display = "none";
+      }
+function expand(id) {
+  var elt = document.getElementById(id+"-expanded");
+  if (elt) elt.style.display = "block";
+  var elt = document.getElementById(id+"-expanded-linenums");
+  if (elt) elt.style.display = "block";
+  var elt = document.getElementById(id+"-collapsed");
+  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
+  var elt = document.getElementById(id+"-collapsed-linenums");
+  if (elt) { elt.innerHTML = ""; elt.style.display = "none"; }
+  var elt = document.getElementById(id+"-toggle");
+  if (elt) { elt.innerHTML = "-"; }
+}
+
+function collapse(id) {
+  var elt = document.getElementById(id+"-expanded");
+  if (elt) elt.style.display = "none";
+  var elt = document.getElementById(id+"-expanded-linenums");
+  if (elt) elt.style.display = "none";
+  var elt = document.getElementById(id+"-collapsed-linenums");
+  if (elt) { elt.innerHTML = "<br />"; elt.style.display="block"; }
+  var elt = document.getElementById(id+"-toggle");
+  if (elt) { elt.innerHTML = "+"; }
+  var elt = document.getElementById(id+"-collapsed");
+  if (elt) {
+    elt.style.display = "block";
+    
+    var indent = elt.getAttribute("indent");
+    var pad = elt.getAttribute("pad");
+    var s = "<tt class='py-lineno'>";
+    for (var i=0; i<pad.length; i++) { s += " " }
+    s += "</tt>";
+    s += "  <tt class='py-line'>";
+    for (var i=0; i<indent.length; i++) { s += " " }
+    s += "<a href='#' onclick='expand(\"" + id;
+    s += "\");return false'>...</a></tt><br />";
+    elt.innerHTML = s;
+  }
+}
+
+function toggle(id) {
+  elt = document.getElementById(id+"-toggle");
+  if (elt.innerHTML == "-")
+      collapse(id); 
+  else
+      expand(id);
+  return false;
+}
+
+function highlight(id) {
+  var elt = document.getElementById(id+"-def");
+  if (elt) elt.className = "py-highlight-hdr";
+  var elt = document.getElementById(id+"-expanded");
+  if (elt) elt.className = "py-highlight";
+  var elt = document.getElementById(id+"-collapsed");
+  if (elt) elt.className = "py-highlight";
+}
+
+function num_lines(s) {
+  var n = 1;
+  var pos = s.indexOf("\n");
+  while ( pos > 0) {
+    n += 1;
+    pos = s.indexOf("\n", pos+1);
+  }
+  return n;
+}
+
+// Collapse all blocks that mave more than `min_lines` lines.
+function collapse_all(min_lines) {
+  var elts = document.getElementsByTagName("div");
+  for (var i=0; i<elts.length; i++) {
+    var elt = elts[i];
+    var split = elt.id.indexOf("-");
+    if (split > 0)
+      if (elt.id.substring(split, elt.id.length) == "-expanded")
+        if (num_lines(elt.innerHTML) > min_lines)
+          collapse(elt.id.substring(0, split));
+  }
+}
+
+function expandto(href) {
+  var start = href.indexOf("#")+1;
+  if (start != 0 && start != href.length) {
+    if (href.substring(start, href.length) != "-") {
+      collapse_all(4);
+      pos = href.indexOf(".", start);
+      while (pos != -1) {
+        var id = href.substring(start, pos);
+        expand(id);
+        pos = href.indexOf(".", pos+1);
+      }
+      var id = href.substring(start, href.length);
+      expand(id);
+      highlight(id);
+    }
+  }
+}
+
+function kill_doclink(id) {
+  var parent = document.getElementById(id);
+  parent.removeChild(parent.childNodes.item(0));
+}
+function auto_kill_doclink(ev) {
+  if (!ev) var ev = window.event;
+  if (!this.contains(ev.toElement)) {
+    var parent = document.getElementById(this.parentID);
+    parent.removeChild(parent.childNodes.item(0));
+  }
+}
+
+function doclink(id, name, targets_id) {
+  var elt = document.getElementById(id);
+
+  // If we already opened the box, then destroy it.
+  // (This case should never occur, but leave it in just in case.)
+  if (elt.childNodes.length > 1) {
+    elt.removeChild(elt.childNodes.item(0));
+  }
+  else {
+    // The outer box: relative + inline positioning.
+    var box1 = document.createElement("div");
+    box1.style.position = "relative";
+    box1.style.display = "inline";
+    box1.style.top = 0;
+    box1.style.left = 0;
+  
+    // A shadow for fun
+    var shadow = document.createElement("div");
+    shadow.style.position = "absolute";
+    shadow.style.left = "-1.3em";
+    shadow.style.top = "-1.3em";
+    shadow.style.background = "#404040";
+    
+    // The inner box: absolute positioning.
+    var box2 = document.createElement("div");
+    box2.style.position = "relative";
+    box2.style.border = "1px solid #a0a0a0";
+    box2.style.left = "-.2em";
+    box2.style.top = "-.2em";
+    box2.style.background = "white";
+    box2.style.padding = ".3em .4em .3em .4em";
+    box2.style.fontStyle = "normal";
+    box2.onmouseout=auto_kill_doclink;
+    box2.parentID = id;
+
+    // Get the targets
+    var targets_elt = document.getElementById(targets_id);
+    var targets = targets_elt.getAttribute("targets");
+    var links = "";
+    target_list = targets.split(",");
+    for (var i=0; i<target_list.length; i++) {
+        var target = target_list[i].split("=");
+        links += "<li><a href='" + target[1] + 
+               "' style='text-decoration:none'>" +
+               target[0] + "</a></li>";
+    }
+  
+    // Put it all together.
+    elt.insertBefore(box1, elt.childNodes.item(0));
+    //box1.appendChild(box2);
+    box1.appendChild(shadow);
+    shadow.appendChild(box2);
+    box2.innerHTML =
+        "Which <b>"+name+"</b> do you want to see documentation for?" +
+        "<ul style='margin-bottom: 0;'>" +
+        links + 
+        "<li><a href='#' style='text-decoration:none' " +
+        "onclick='kill_doclink(\""+id+"\");return false;'>"+
+        "<i>None of the above</i></a></li></ul>";
+  }
+  return false;
+}
+
+function get_anchor() {
+          var href = location.href;
+          var start = href.indexOf("#")+1;
+          if ((start != 0) && (start != href.length))
+              return href.substring(start, href.length);
+      }
+function redirect_url(dottedName) {
+          // Scan through each element of the "pages" list, and check
+          // if "name" matches with any of them.
+          for (var i=0; i<pages.length; i++) {
+
+              // Each page has the form "<pagename>-m" or "<pagename>-c";
+              // extract the <pagename> portion & compare it to dottedName.
+              var pagename = pages[i].substring(0, pages[i].length-2);
+              if (pagename == dottedName.substring(0,pagename.length)) {
+
+                  // We've found a page that matches `dottedName`;
+                  // construct its URL, using leftover `dottedName`
+                  // content to form an anchor.
+                  var pagetype = pages[i].charAt(pages[i].length-1);
+                  var url = pagename + ((pagetype=="m")?"-module.html":
+                                                        "-class.html");
+                  if (dottedName.length > pagename.length)
+                      url += "#" + dottedName.substring(pagename.length+1,
+                                                        dottedName.length);
+                  return url;
+              }
+          }
+      }
diff --git a/doc/frames.html b/doc/frames.html
new file mode 100644
index 0000000..31bae81
--- /dev/null
+++ b/doc/frames.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+          "DTD/xhtml1-frameset.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title> ARDEN </title>
+</head>
+<frameset cols="20%,80%">
+  <frameset rows="30%,70%">
+    <frame src="toc.html" name="moduleListFrame"
+           id="moduleListFrame" />
+    <frame src="toc-everything.html" name="moduleFrame"
+           id="moduleFrame" />
+  </frameset>
+  <frame src="module-tree.html" name="mainFrame" id="mainFrame" />
+</frameset>
+</html>
diff --git a/doc/help.html b/doc/help.html
new file mode 100644
index 0000000..56c1d41
--- /dev/null
+++ b/doc/help.html
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Help</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Help   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%"> </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="help.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+
+<h1 class="epydoc"> API Documentation </h1>
+
+<p> This document contains the API (Application Programming Interface)
+documentation for ARDEN.  Documentation for the Python
+objects defined by the project is divided into separate pages for each
+package, module, and class.  The API documentation also includes two
+pages containing information about the project as a whole: a trees
+page, and an index page.  </p>
+
+<h2> Object Documentation </h2>
+
+  <p>Each <strong>Package Documentation</strong> page contains: </p>
+  <ul>
+    <li> A description of the package. </li>
+    <li> A list of the modules and sub-packages contained by the
+    package.  </li>
+    <li> A summary of the classes defined by the package. </li>
+    <li> A summary of the functions defined by the package. </li>
+    <li> A summary of the variables defined by the package. </li>
+    <li> A detailed description of each function defined by the
+    package. </li>
+    <li> A detailed description of each variable defined by the
+    package. </li>
+  </ul>
+  
+  <p>Each <strong>Module Documentation</strong> page contains:</p>
+  <ul>
+    <li> A description of the module. </li>
+    <li> A summary of the classes defined by the module. </li>
+    <li> A summary of the functions defined by the module. </li>
+    <li> A summary of the variables defined by the module. </li>
+    <li> A detailed description of each function defined by the
+    module. </li>
+    <li> A detailed description of each variable defined by the
+    module. </li>
+  </ul>
+  
+  <p>Each <strong>Class Documentation</strong> page contains: </p>
+  <ul>
+    <li> A class inheritance diagram. </li>
+    <li> A list of known subclasses. </li>
+    <li> A description of the class. </li>
+    <li> A summary of the methods defined by the class. </li>
+    <li> A summary of the instance variables defined by the class. </li>
+    <li> A summary of the class (static) variables defined by the
+    class. </li> 
+    <li> A detailed description of each method defined by the
+    class. </li>
+    <li> A detailed description of each instance variable defined by the
+    class. </li> 
+    <li> A detailed description of each class (static) variable defined
+    by the class. </li> 
+  </ul>
+
+<h2> Project Documentation </h2>
+
+  <p> The <strong>Trees</strong> page contains the module and class hierarchies: </p>
+  <ul>
+    <li> The <em>module hierarchy</em> lists every package and module, with
+    modules grouped into packages.  At the top level, and within each
+    package, modules and sub-packages are listed alphabetically. </li>
+    <li> The <em>class hierarchy</em> lists every class, grouped by base
+    class.  If a class has more than one base class, then it will be
+    listed under each base class.  At the top level, and under each base
+    class, classes are listed alphabetically. </li>
+  </ul>
+  
+  <p> The <strong>Index</strong> page contains indices of terms and
+  identifiers: </p>
+  <ul>
+    <li> The <em>term index</em> lists every term indexed by any object's
+    documentation.  For each term, the index provides links to each
+    place where the term is indexed. </li>
+    <li> The <em>identifier index</em> lists the (short) name of every package,
+    module, class, method, function, variable, and parameter.  For each
+    identifier, the index provides a short description, and a link to
+    its documentation. </li>
+  </ul>
+
+<h2> The Table of Contents </h2>
+
+<p> The table of contents occupies the two frames on the left side of
+the window.  The upper-left frame displays the <em>project
+contents</em>, and the lower-left frame displays the <em>module
+contents</em>: </p>
+
+<table class="help summary" border="1" cellspacing="0" cellpadding="3">
+  <tr style="height: 30%">
+    <td align="center" style="font-size: small">
+       Project<br />Contents<hr />...</td>
+    <td align="center" style="font-size: small" rowspan="2" width="70%">
+      API<br />Documentation<br />Frame<br /><br /><br />
+    </td>
+  </tr>
+  <tr>
+    <td align="center" style="font-size: small">
+      Module<br />Contents<hr /> <br />...<br /> 
+    </td>
+  </tr>
+</table><br />
+
+<p> The <strong>project contents frame</strong> contains a list of all packages
+and modules that are defined by the project.  Clicking on an entry
+will display its contents in the module contents frame.  Clicking on a
+special entry, labeled "Everything," will display the contents of
+the entire project. </p>
+
+<p> The <strong>module contents frame</strong> contains a list of every
+submodule, class, type, exception, function, and variable defined by a
+module or package.  Clicking on an entry will display its
+documentation in the API documentation frame.  Clicking on the name of
+the module, at the top of the frame, will display the documentation
+for the module itself. </p>
+
+<p> The "<strong>frames</strong>" and "<strong>no frames</strong>" buttons below the top
+navigation bar can be used to control whether the table of contents is
+displayed or not. </p>
+
+<h2> The Navigation Bar </h2>
+
+<p> A navigation bar is located at the top and bottom of every page.
+It indicates what type of page you are currently viewing, and allows
+you to go to related pages.  The following table describes the labels
+on the navigation bar.  Note that not some labels (such as
+[Parent]) are not displayed on all pages. </p>
+
+<table class="summary" border="1" cellspacing="0" cellpadding="3" width="100%">
+<tr class="summary">
+  <th>Label</th>
+  <th>Highlighted when...</th>
+  <th>Links to...</th>
+</tr>
+  <tr><td valign="top"><strong>[Parent]</strong></td>
+      <td valign="top"><em>(never highlighted)</em></td>
+      <td valign="top"> the parent of the current package </td></tr>
+  <tr><td valign="top"><strong>[Package]</strong></td>
+      <td valign="top">viewing a package</td>
+      <td valign="top">the package containing the current object
+      </td></tr>
+  <tr><td valign="top"><strong>[Module]</strong></td>
+      <td valign="top">viewing a module</td>
+      <td valign="top">the module containing the current object
+      </td></tr> 
+  <tr><td valign="top"><strong>[Class]</strong></td>
+      <td valign="top">viewing a class </td>
+      <td valign="top">the class containing the current object</td></tr>
+  <tr><td valign="top"><strong>[Trees]</strong></td>
+      <td valign="top">viewing the trees page</td>
+      <td valign="top"> the trees page </td></tr>
+  <tr><td valign="top"><strong>[Index]</strong></td>
+      <td valign="top">viewing the index page</td>
+      <td valign="top"> the index page </td></tr>
+  <tr><td valign="top"><strong>[Help]</strong></td>
+      <td valign="top">viewing the help page</td>
+      <td valign="top"> the help page </td></tr>
+</table>
+
+<p> The "<strong>show private</strong>" and "<strong>hide private</strong>" buttons below
+the top navigation bar can be used to control whether documentation
+for private objects is displayed.  Private objects are usually defined
+as objects whose (short) names begin with a single underscore, but do
+not end with an underscore.  For example, "<code>_x</code>",
+"<code>__pprint</code>", and "<code>epydoc.epytext._tokenize</code>"
+are private objects; but "<code>re.sub</code>",
+"<code>__init__</code>", and "<code>type_</code>" are not.  However,
+if a module defines the "<code>__all__</code>" variable, then its
+contents are used to decide which objects are private. </p>
+
+<p> A timestamp below the bottom navigation bar indicates when each
+page was last updated. </p>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Help   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:17 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/identifier-index.html b/doc/identifier-index.html
new file mode 100644
index 0000000..0d4f7de
--- /dev/null
+++ b/doc/identifier-index.html
@@ -0,0 +1,518 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Identifier Index</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Indices   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%"> </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="identifier-index.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<table border="0" width="100%">
+<tr valign="bottom"><td>
+<h1 class="epydoc">Identifier Index</h1>
+</td><td>
+[
+ <a href="#A">A</a>
+ <a href="#B">B</a>
+ <a href="#C">C</a>
+  D
+ <a href="#E">E</a>
+ <a href="#F">F</a>
+ <a href="#G">G</a>
+  H
+ <a href="#I">I</a>
+  J
+  K
+ <a href="#L">L</a>
+ <a href="#M">M</a>
+ <a href="#N">N</a>
+  O
+ <a href="#P">P</a>
+  Q
+ <a href="#R">R</a>
+ <a href="#S">S</a>
+ <a href="#T">T</a>
+  U
+  V
+ <a href="#W">W</a>
+  X
+  Y
+  Z
+ <a href="#_">_</a>
+]
+</td></table>
+<table border="0" width="100%">
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="A">A</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="script-arden_create-module.html#a">a</a><br />
+<span class="index-where">(in <a href="script-arden_create-module.html">script-arden_create</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#algnedToRef">algnedToRef</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html">AnalyseMapping</a><br />
+<span class="index-where">(in <a href="core-module.html">core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.ReadAndWrite-module.html#aa_dist_seq">aa_dist_seq()</a><br />
+<span class="index-where">(in <a href="core.ReadAndWrite-module.html">core.ReadAndWrite</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#AlignedReadsdic">AlignedReadsdic</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#algnedToArt">algnedToArt</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#alngts">alngts</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="B">B</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="script-arden_create-module.html#b">b</a><br />
+<span class="index-where">(in <a href="script-arden_create-module.html">script-arden_create</a>)</span></td>
+<td width="33%" class="link-index"><a href="script-arden_create-module.html#bases">bases</a><br />
+<span class="index-where">(in <a href="script-arden_create-module.html">script-arden_create</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.FindOrfs-module.html#build_ORF">build_ORF()</a><br />
+<span class="index-where">(in <a href="core.FindOrfs-module.html">core.FindOrfs</a>)</span></td>
+</tr>
+<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="C">C</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="core.PlotData-module.html#CalculateRoc2">CalculateRoc2()</a><br />
+<span class="index-where">(in <a href="core.PlotData-module.html">core.PlotData</a>)</span></td>
+<td width="33%" class="link-index"><a href="core-module.html">core</a></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#CreateCompareList">CreateCompareList()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#CheckForSameAlignments">CheckForSameAlignments()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="script-arden_filter-module.html#counter1">counter1</a><br />
+<span class="index-where">(in <a href="script-arden_filter-module.html">script-arden_filter</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.Prep-module.html#createdic">createdic()</a><br />
+<span class="index-where">(in <a href="core.Prep-module.html">core.Prep</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#CompareAlignments">CompareAlignments()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="script-arden_filter-module.html#counter2">counter2</a><br />
+<span class="index-where">(in <a href="script-arden_filter-module.html">script-arden_filter</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping.CustomRead-class.html">CustomRead</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#ComputeRQScore">ComputeRQScore()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="script-arden_create-module.html#Create">Create()</a><br />
+<span class="index-where">(in <a href="script-arden_create-module.html">script-arden_create</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="E">E</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#extendReadDic">extendReadDic()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="F">F</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="script-arden_filter-module.html#filter">filter()</a><br />
+<span class="index-where">(in <a href="script-arden_filter-module.html">script-arden_filter</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.FindOrfs-module.html#find_orfs">find_orfs()</a><br />
+<span class="index-where">(in <a href="core.FindOrfs-module.html">core.FindOrfs</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.FindOrfs-module.html#findstop_help">findstop_help()</a><br />
+<span class="index-where">(in <a href="core.FindOrfs-module.html">core.FindOrfs</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="script-arden_filter-module.html#FilterSAM">FilterSAM()</a><br />
+<span class="index-where">(in <a href="script-arden_filter-module.html">script-arden_filter</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.FindOrfs-module.html">FindOrfs</a><br />
+<span class="index-where">(in <a href="core-module.html">core</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="G">G</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="core.Prep-module.html#genetic_code">genetic_code</a><br />
+<span class="index-where">(in <a href="core.Prep-module.html">core.Prep</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#getHammingdistance">getHammingdistance()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#getNextLine">getNextLine()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#getAlignmentLength">getAlignmentLength()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.ReadAndWrite-module.html#gethammingdistance">gethammingdistance()</a><br />
+<span class="index-where">(in <a href="core.ReadAndWrite-module.html">core.ReadAndWrite</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#getNumberOf">getNumberOf()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#getAllID">getAllID()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#getmean">getmean()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#GetOrderDictionary">GetOrderDictionary()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#GetCompletePath">GetCompletePath()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#getMisGap">getMisGap()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#getRanks">getRanks()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#getCustomRead">getCustomRead()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="script-arden_filter-module.html#getMisGapRQ">getMisGapRQ()</a><br />
+<span class="index-where">(in <a href="script-arden_filter-module.html">script-arden_filter</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#getsum">getsum()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.InsertMutations-module.html#getdifference">getdifference()</a><br />
+<span class="index-where">(in <a href="core.InsertMutations-module.html">core.InsertMutations</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.InsertMutations-module.html#getMutation">getMutation()</a><br />
+<span class="index-where">(in <a href="core.InsertMutations-module.html">core.InsertMutations</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#getTPRead">getTPRead()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="I">I</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#initOutFiles">initOutFiles()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping.TPRead-class.html#isContained">isContained()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping.TPRead-class.html">TPRead</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.InsertMutations-module.html#isvalidposition">isvalidposition()</a><br />
+<span class="index-where">(in <a href="core.InsertMutations-module.html">core.InsertMutations</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.InsertMutations-module.html">InsertMutations</a><br />
+<span class="index-where">(in <a href="core-module.html">core</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#isSaneAlignment">isSaneAlignment()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.Prep-module.html#isvalidtriplet">isvalidtriplet()</a><br />
+<span class="index-where">(in <a href="core.Prep-module.html">core.Prep</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="L">L</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#loadpickle">loadpickle()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.Prep-module.html#loadpickle">loadpickle()</a><br />
+<span class="index-where">(in <a href="core.Prep-module.html">core.Prep</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="M">M</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="script-arden_analyze-module.html#main">main()</a><br />
+<span class="index-where">(in <a href="script-arden_analyze-module.html">script-arden_analyze</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.InsertMutations-module.html#mutate_random">mutate_random()</a><br />
+<span class="index-where">(in <a href="core.InsertMutations-module.html">core.InsertMutations</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="N">N</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="core.ReadAndWrite-module.html#nucleotide_dist_file">nucleotide_dist_file()</a><br />
+<span class="index-where">(in <a href="core.ReadAndWrite-module.html">core.ReadAndWrite</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.ReadAndWrite-module.html#nucleotide_dist_seq">nucleotide_dist_seq()</a><br />
+<span class="index-where">(in <a href="core.ReadAndWrite-module.html">core.ReadAndWrite</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr><td class="link-index"> </td><td class="link-index"> </td><td class="link-index"> </td></tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="P">P</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="core.PlotData-module.html">PlotData</a><br />
+<span class="index-where">(in <a href="core-module.html">core</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.Prep-module.html">Prep</a><br />
+<span class="index-where">(in <a href="core-module.html">core</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.PlotData-module.html#plotOverviewHist">plotOverviewHist()</a><br />
+<span class="index-where">(in <a href="core.PlotData-module.html">core.PlotData</a>)</span></td>
+<td width="33%" class="link-index"><a href="script-arden_create-module.html#printExample">printExample()</a><br />
+<span class="index-where">(in <a href="script-arden_create-module.html">script-arden_create</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="R">R</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="core.ReadAndWrite-module.html">ReadAndWrite</a><br />
+<span class="index-where">(in <a href="core-module.html">core</a>)</span></td>
+<td width="33%" class="link-index"><a href="script-arden_filter-module.html#readHeader">readHeader()</a><br />
+<span class="index-where">(in <a href="script-arden_filter-module.html">script-arden_filter</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#readSAMline">readSAMline()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#ReadArtificialSAMfileHTSeq">ReadArtificialSAMfileHTSeq()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping.ReadID-class.html">ReadID</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#ReadSAMnoMem">ReadSAMnoMem()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.ReadAndWrite-module.html#readdna">readdna()</a><br />
+<span class="index-where">(in <a href="core.ReadAndWrite-module.html">core.ReadAndWrite</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#readInput">readInput()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#returnIndex">returnIndex()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#ReadFromTab">ReadFromTab()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#readReadQualities">readReadQualities()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#returnSequence">returnSequence()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="S">S</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#savepickle">savepickle()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="script-arden_analyze-module.html">script-arden_analyze</a></td>
+<td width="33%" class="link-index"><a href="script-arden_filter-module.html">script-arden_filter</a></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.Prep-module.html#savepickle">savepickle()</a><br />
+<span class="index-where">(in <a href="core.Prep-module.html">core.Prep</a>)</span></td>
+<td width="33%" class="link-index"><a href="script-arden_create-module.html">script-arden_create</a></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#SkipHeader">SkipHeader()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="T">T</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="script-arden_analyze-module.html#TestFiles">TestFiles()</a><br />
+<span class="index-where">(in <a href="script-arden_analyze-module.html">script-arden_analyze</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping.CustomRead-class.html#toStr">toStr()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping.CustomRead-class.html">CustomRead</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping.TPRead-class.html">TPRead</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping.CustomRead-class.html#toObjself">toObjself()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping.CustomRead-class.html">CustomRead</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping.TPRead-class.html#toStr">toStr()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping.TPRead-class.html">TPRead</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.Prep-module.html#trans_seq">trans_seq()</a><br />
+<span class="index-where">(in <a href="core.Prep-module.html">core.Prep</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping.TPRead-class.html#toObjself">toObjself()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping.TPRead-class.html">TPRead</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping.CustomRead-class.html#toStrNoMem">toStrNoMem()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping.CustomRead-class.html">CustomRead</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.PlotData-module.html#trapezoidal_rule">trapezoidal_rule()</a><br />
+<span class="index-where">(in <a href="core.PlotData-module.html">core.PlotData</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="W">W</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="core.ReadAndWrite-module.html#writefile">writefile()</a><br />
+<span class="index-where">(in <a href="core.ReadAndWrite-module.html">core.ReadAndWrite</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.ReadAndWrite-module.html#writeoverview">writeoverview()</a><br />
+<span class="index-where">(in <a href="core.ReadAndWrite-module.html">core.ReadAndWrite</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#writeToTabRef">writeToTabRef()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="script-arden_filter-module.html#writeFilteredReads">writeFilteredReads()</a><br />
+<span class="index-where">(in <a href="script-arden_filter-module.html">script-arden_filter</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#writeToTabArt">writeToTabArt()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"> </td>
+</tr>
+</table>
+</td></tr>
+<tr valign="top"><td valign="top" width="1%"><h2 class="epydoc"><a name="_">_</a></h2></td>
+<td valign="top">
+<table class="link-index" width="100%" border="1">
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping.CustomRead-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping.CustomRead-class.html">CustomRead</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.FindOrfs-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="core.FindOrfs-module.html">core.FindOrfs</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.ReadAndWrite-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="core.ReadAndWrite-module.html">core.ReadAndWrite</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping.ReadID-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping.ReadID-class.html">ReadID</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.InsertMutations-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="core.InsertMutations-module.html">core.InsertMutations</a>)</span></td>
+<td width="33%" class="link-index"><a href="core-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="core-module.html">core</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping.TPRead-class.html#__init__">__init__()</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping.TPRead-class.html">TPRead</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.PlotData-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="core.PlotData-module.html">core.PlotData</a>)</span></td>
+<td width="33%" class="link-index"><a href="script-arden_analyze-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="script-arden_analyze-module.html">script-arden_analyze</a>)</span></td>
+</tr>
+<tr>
+<td width="33%" class="link-index"><a href="core.AnalyseMapping-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a>)</span></td>
+<td width="33%" class="link-index"><a href="core.Prep-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="core.Prep-module.html">core.Prep</a>)</span></td>
+<td width="33%" class="link-index"><a href="script-arden_filter-module.html#__package__">__package__</a><br />
+<span class="index-where">(in <a href="script-arden_filter-module.html">script-arden_filter</a>)</span></td>
+</tr>
+</table>
+</td></tr>
+</table>
+<br /><br /><!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Indices   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:17 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/index.html b/doc/index.html
new file mode 100644
index 0000000..31bae81
--- /dev/null
+++ b/doc/index.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+          "DTD/xhtml1-frameset.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title> ARDEN </title>
+</head>
+<frameset cols="20%,80%">
+  <frameset rows="30%,70%">
+    <frame src="toc.html" name="moduleListFrame"
+           id="moduleListFrame" />
+    <frame src="toc-everything.html" name="moduleFrame"
+           id="moduleFrame" />
+  </frameset>
+  <frame src="module-tree.html" name="mainFrame" id="mainFrame" />
+</frameset>
+</html>
diff --git a/doc/module-tree.html b/doc/module-tree.html
new file mode 100644
index 0000000..2bbb3a0
--- /dev/null
+++ b/doc/module-tree.html
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Module Hierarchy</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Trees   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%"> </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="module-tree.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<center><b>
+ [ <a href="module-tree.html">Module Hierarchy</a>
+ | <a href="class-tree.html">Class Hierarchy</a> ]
+</b></center><br />
+<h1 class="epydoc">Module Hierarchy</h1>
+<ul class="nomargin-top">
+    <li> <strong class="uidlink"><a href="core-module.html">core</a></strong>
+    <ul>
+    <li> <strong class="uidlink"><a href="core.AnalyseMapping-module.html">core.AnalyseMapping</a></strong>: <em class="summary">This script is used to evalulate the mapping results</em>    </li>
+    <li> <strong class="uidlink"><a href="core.FindOrfs-module.html">core.FindOrfs</a></strong>: <em class="summary">FindOrfs, Created 2012</em>    </li>
+    <li> <strong class="uidlink"><a href="core.InsertMutations-module.html">core.InsertMutations</a></strong>: <em class="summary">Created 2012 core Script for the generation of the artificial 
+        reference genome</em>    </li>
+    <li> <strong class="uidlink"><a href="core.PlotData-module.html">core.PlotData</a></strong>: <em class="summary">Created  2012</em>    </li>
+    <li> <strong class="uidlink"><a href="core.Prep-module.html">core.Prep</a></strong>: <em class="summary">Created 2012</em>    </li>
+    <li> <strong class="uidlink"><a href="core.ReadAndWrite-module.html">core.ReadAndWrite</a></strong>: <em class="summary">Created 2012</em>    </li>
+    </ul>
+    </li>
+    <li> <strong class="uidlink"><a href="script-arden_analyze-module.html">arden_analyze (script)</a></strong>: <em class="summary">Created on Thu Aug 18  2012</em>    </li>
+    <li> <strong class="uidlink"><a href="script-arden_create-module.html">arden_create (script)</a></strong>: <em class="summary">Created 2012 Main script for generating an artificial reference 
+        genome.</em>    </li>
+    <li> <strong class="uidlink"><a href="script-arden_filter-module.html">arden_filter (script)</a></strong>: <em class="summary">Script for filtering alignments with deficient properties 
+        (rqs,gaps, mismatches).</em>    </li>
+</ul>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th bgcolor="#70b0f0" class="navbar-select"
+          >   Trees   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:17 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/redirect.html b/doc/redirect.html
new file mode 100644
index 0000000..4949263
--- /dev/null
+++ b/doc/redirect.html
@@ -0,0 +1,38 @@
+<html><head><title>Epydoc Redirect Page</title>
+<meta http-equiv="cache-control" content="no-cache" />
+<meta http-equiv="expires" content="0" />
+<meta http-equiv="pragma" content="no-cache" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+<body>
+<script type="text/javascript">
+<!--
+var pages = ["core.AnalyseMapping.CustomRead-c", "core.AnalyseMapping.ReadID-c", "core.AnalyseMapping.TPRead-c", "core.InsertMutations-m", "script-arden_analyze-m", "core.AnalyseMapping-m", "script-arden_create-m", "script-arden_filter-m", "core.ReadAndWrite-m", "core.FindOrfs-m", "core.PlotData-m", "core.Prep-m", "core-m"];
+var dottedName = get_anchor();
+if (dottedName) {
+    var target = redirect_url(dottedName);
+    if (target) window.location.replace(target);
+}
+// -->
+</script>
+
+<h3>Epydoc Auto-redirect page</h3>
+
+<p>When javascript is enabled, this page will redirect URLs of
+the form <tt>redirect.html#<i>dotted.name</i></tt> to the
+documentation for the object with the given fully-qualified
+dotted name.</p>
+<p><a id="message">   </a></p>
+
+<script type="text/javascript">
+<!--
+if (dottedName) {
+    var msg = document.getElementById("message");
+    msg.innerHTML = "No documentation found for <tt>"+
+                    dottedName+"</tt>";
+}
+// -->
+</script>
+
+</body>
+</html>
diff --git a/doc/script-arden_analyze-module.html b/doc/script-arden_analyze-module.html
new file mode 100644
index 0000000..c40e1ff
--- /dev/null
+++ b/doc/script-arden_analyze-module.html
@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>script-arden_analyze</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Script arden_analyze
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="script-arden_analyze-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== SCRIPT DESCRIPTION ==================== -->
+<h1 class="epydoc">Script arden_analyze</h1><p class="nomargin-top"></p>
+<p>Created on Thu Aug 18  2012</p>
+  <p>Script for analyzing mapping results using an artificial reference 
+  genome (ART / ARG). An exhaustive comparison is performed between the 
+  input files (SAM format). The goal is to calculate a ROC curve and the 
+  AUC value to compare different read mapper / different settings on the 
+  same read mapper. Therefore FP and TP have to be identified. The TP are 
+  from the original reference. The FP are from the ART and are defined as 
+  unique mappings in a sense that no FP alignment occurs on the 
+  reference.</p>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        Sven Giese
+      </p>
+</div><!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="TestFiles"></a><span class="summary-sig-name">TestFiles</span>(<span class="summary-sig-arg">input</span>)</span><br />
+      Function which checks if all required files are correctly specified 
+      (existing)</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="main"></a><span class="summary-sig-name">main</span>()</span><br />
+      Control function for arden-analyze</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/script-arden_create-module.html b/doc/script-arden_create-module.html
new file mode 100644
index 0000000..5dc4d91
--- /dev/null
+++ b/doc/script-arden_create-module.html
@@ -0,0 +1,245 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>script-arden_create</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Script arden_create
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="script-arden_create-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== SCRIPT DESCRIPTION ==================== -->
+<h1 class="epydoc">Script arden_create</h1><p class="nomargin-top"></p>
+<p>Created 2012 Main script for generating an artificial reference 
+  genome. It  calls various modules from core.</p>
+
+<hr />
+<div class="fields">      <p><strong>Author:</strong>
+        Sven Giese
+      </p>
+</div><!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="printExample"></a><span class="summary-sig-name">printExample</span>()</span><br />
+      Function that prints some usage examples.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="script-arden_create-module.html#Create" class="summary-sig-name">Create</a>()</span><br />
+      Function that controls the generation of an artificial reference 
+      genome.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="bases"></a><span class="summary-name">bases</span> = <code title="0">0</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="a"></a><span class="summary-name">a</span> = <code title="time.time()">time.time()</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="b"></a><span class="summary-name">b</span> = <code title="time.time()">time.time()</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="Create"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">Create</span>()</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Function that controls the generation of an artificial reference 
+  genome. Subfunction calls, preparation of data structures etc.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/script-arden_filter-module.html b/doc/script-arden_filter-module.html
new file mode 100644
index 0000000..8b220a6
--- /dev/null
+++ b/doc/script-arden_filter-module.html
@@ -0,0 +1,389 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>script-arden_filter</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table width="100%" cellpadding="0" cellspacing="0">
+  <tr valign="top">
+    <td width="100%">
+      <span class="breadcrumbs">
+        Script arden_filter
+      </span>
+    </td>
+    <td>
+      <table cellpadding="0" cellspacing="0">
+        <!-- hide/show private -->
+        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span></td></tr>
+        <tr><td align="right"><span class="options"
+            >[<a href="frames.html" target="_top">frames</a
+            >] | <a href="script-arden_filter-module.html"
+            target="_top">no frames</a>]</span></td></tr>
+      </table>
+    </td>
+  </tr>
+</table>
+<!-- ==================== SCRIPT DESCRIPTION ==================== -->
+<h1 class="epydoc">Script arden_filter</h1><p class="nomargin-top"></p>
+<p>Script for filtering alignments with deficient properties (rqs,gaps, 
+  mismatches). The script generates a new .SAM file from the input SAM 
+  file, where only alignments are contained that fulfill certain quality 
+  thresholds. nm = numberOfMisMatches rq = readqualityscore MQ = 
+  mappingquality</p>
+
+<!-- ==================== FUNCTIONS ==================== -->
+<a name="section-Functions"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Functions</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Functions"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="script-arden_filter-module.html#writeFilteredReads" class="summary-sig-name">writeFilteredReads</a>(<span class="summary-sig-arg">iddic</span>,
+        <span class="summary-sig-arg">fastqfile</span>,
+        <span class="summary-sig-arg">fastqfileoutput</span>)</span><br />
+      Reads a .fastqfile and filters them for certain quality values.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="script-arden_filter-module.html#getMisGapRQ" class="summary-sig-name">getMisGapRQ</a>(<span class="summary-sig-arg">alngt</span>)</span><br />
+      Calculates the number of gaps / mistmatches from an HTSeq alngt.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="script-arden_filter-module.html#FilterSAM" class="summary-sig-name">FilterSAM</a>(<span class="summary-sig-arg">samfile</span>,
+        <span class="summary-sig-arg">MISM</span>,
+        <span class="summary-sig-arg">GAPS</span>,
+        <span class="summary-sig-arg">RQ</span>,
+        <span class="summary-sig-arg">fsam</span>)</span><br />
+      Calculates the number of gaps / mistmatches from an HTSeq alngt.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a name="readHeader"></a><span class="summary-sig-name">readHeader</span>(<span class="summary-sig-arg">samfile</span>)</span><br />
+      Function to retrieve the header from a SAM file.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+      <table width="100%" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <td><span class="summary-sig"><a href="script-arden_filter-module.html#filter" class="summary-sig-name">filter</a>()</span><br />
+      Function for filtering a given sam file.</td>
+          <td align="right" valign="top">
+            
+            
+          </td>
+        </tr>
+      </table>
+      
+    </td>
+  </tr>
+</table>
+<!-- ==================== VARIABLES ==================== -->
+<a name="section-Variables"></a>
+<table class="summary" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Variables</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-Variables"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="counter1"></a><span class="summary-name">counter1</span> = <code title="0">0</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="counter2"></a><span class="summary-name">counter2</span> = <code title="0">0</code>
+    </td>
+  </tr>
+<tr>
+    <td width="15%" align="right" valign="top" class="summary">
+      <span class="summary-type"> </span>
+    </td><td class="summary">
+        <a name="__package__"></a><span class="summary-name">__package__</span> = <code title="None">None</code>
+    </td>
+  </tr>
+</table>
+<!-- ==================== FUNCTION DETAILS ==================== -->
+<a name="section-FunctionDetails"></a>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr bgcolor="#70b0f0" class="table-header">
+  <td colspan="2" class="table-header">
+    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+      <tr valign="top">
+        <td align="left"><span class="table-header">Function Details</span></td>
+        <td align="right" valign="top"
+         ><span class="options">[<a href="#section-FunctionDetails"
+         class="privatelink" onclick="toggle_private();"
+         >hide private</a>]</span></td>
+      </tr>
+    </table>
+  </td>
+</tr>
+</table>
+<a name="writeFilteredReads"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">writeFilteredReads</span>(<span class="sig-arg">iddic</span>,
+        <span class="sig-arg">fastqfile</span>,
+        <span class="sig-arg">fastqfileoutput</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Reads a .fastqfile and filters them for certain quality values. If an 
+  alignment is equally good or better as the threshold it will be written 
+  to the filtered .SAM file.</p>
+  <p>input: fastq file output: fastq dictionary key = readid; value = 
+  qualstr</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>iddic</code></strong> (dictionary) - dictionary containing read ids.</li>
+        <li><strong class="pname"><code>fastqfile</code></strong> (fastq) - HTSeq readfile object</li>
+        <li><strong class="pname"><code>fastqfileoutput</code></strong> (fastq) - HTSeq readfile object. Alignments that pass the filter are 
+          written to this file.</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="getMisGapRQ"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">getMisGapRQ</span>(<span class="sig-arg">alngt</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Calculates the number of gaps / mistmatches from an HTSeq alngt. 
+  object.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>alngt</code></strong> (HTSeq alignment object) - Initial SAM file for filtering</li>
+        <li><strong class="pname"><code>gaps</code></strong>, <strong class="pname"><code>mism</code></strong> - Number of gaps / mistmatches.</li>
+        <li><strong class="pname"><code>gaps,mism</code></strong> (integer)</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="FilterSAM"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">FilterSAM</span>(<span class="sig-arg">samfile</span>,
+        <span class="sig-arg">MISM</span>,
+        <span class="sig-arg">GAPS</span>,
+        <span class="sig-arg">RQ</span>,
+        <span class="sig-arg">fsam</span>)</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Calculates the number of gaps / mistmatches from an HTSeq alngt. 
+  object.</p>
+  <dl class="fields">
+    <dt>Parameters:</dt>
+    <dd><ul class="nomargin-top">
+        <li><strong class="pname"><code>alngt</code></strong> (HTSeq alignment object) - Initial SAM file for filtering</li>
+        <li><strong class="pname"><code>gaps</code></strong>, <strong class="pname"><code>mism</code></strong> - Number of gaps / mistmatches.</li>
+        <li><strong class="pname"><code>gaps,mism</code></strong> (integer)</li>
+    </ul></dd>
+  </dl>
+</td></tr></table>
+</div>
+<a name="filter"></a>
+<div>
+<table class="details" border="1" cellpadding="3"
+       cellspacing="0" width="100%" bgcolor="white">
+<tr><td>
+  <table width="100%" cellpadding="0" cellspacing="0" border="0">
+  <tr valign="top"><td>
+  <h3 class="epydoc"><span class="sig"><span class="sig-name">filter</span>()</span>
+  </h3>
+  </td><td align="right" valign="top"
+    > 
+    </td>
+  </tr></table>
+  
+  <p>Function for filtering a given sam file. The alignments are evaluated 
+  individually in regard to RQS,mismatches and gaps. The input needs to be 
+  sorted.</p>
+  <dl class="fields">
+  </dl>
+</td></tr></table>
+</div>
+<br />
+<!-- ==================== NAVIGATION BAR ==================== -->
+<table class="navbar" border="0" width="100%" cellpadding="0"
+       bgcolor="#a0c0ff" cellspacing="0">
+  <tr valign="middle">
+
+  <!-- Tree link -->
+      <th>   <a
+        href="module-tree.html">Trees</a>   </th>
+
+  <!-- Index link -->
+      <th>   <a
+        href="identifier-index.html">Indices</a>   </th>
+
+  <!-- Help link -->
+      <th>   <a
+        href="help.html">Help</a>   </th>
+
+  <!-- Project homepage -->
+      <th class="navbar" align="right" width="100%">
+        <table border="0" cellpadding="0" cellspacing="0">
+          <tr><th class="navbar" align="center"
+            >ARDEN</th>
+          </tr></table></th>
+  </tr>
+</table>
+<table border="0" cellpadding="0" cellspacing="0" width="100%%">
+  <tr>
+    <td align="left" class="footer">
+    Generated by Epydoc 3.0.1 on Fri Mar 15 09:41:18 2013
+    </td>
+    <td align="right" class="footer">
+      <a target="mainFrame" href="http://epydoc.sourceforge.net"
+        >http://epydoc.sourceforge.net</a>
+    </td>
+  </tr>
+</table>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-core-module.html b/doc/toc-core-module.html
new file mode 100644
index 0000000..f5df468
--- /dev/null
+++ b/doc/toc-core-module.html
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>core</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module core</h1>
+<hr />
+  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="core-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-core.AnalyseMapping-module.html b/doc/toc-core.AnalyseMapping-module.html
new file mode 100644
index 0000000..0276dc6
--- /dev/null
+++ b/doc/toc-core.AnalyseMapping-module.html
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>AnalyseMapping</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module AnalyseMapping</h1>
+<hr />
+  <h2 class="toc">Classes</h2>
+    <a target="mainFrame" href="core.AnalyseMapping.CustomRead-class.html"
+     >CustomRead</a><br />    <a target="mainFrame" href="core.AnalyseMapping.ReadID-class.html"
+     >ReadID</a><br />    <a target="mainFrame" href="core.AnalyseMapping.TPRead-class.html"
+     >TPRead</a><br />  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="core.AnalyseMapping-module.html#CheckForSameAlignments"
+     >CheckForSameAlignments</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#CompareAlignments"
+     >CompareAlignments</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#ComputeRQScore"
+     >ComputeRQScore</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#CreateCompareList"
+     >CreateCompareList</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#GetCompletePath"
+     >GetCompletePath</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#GetOrderDictionary"
+     >GetOrderDictionary</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#ReadArtificialSAMfileHTSeq"
+     >ReadArtificialSAMfileHTSeq</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#ReadFromTab"
+     >ReadFromTab</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#ReadSAMnoMem"
+     >ReadSAMnoMem</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#SkipHeader"
+     >SkipHeader</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#extendReadDic"
+     >extendReadDic</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getAlignmentLength"
+     >getAlignmentLength</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getAllID"
+     >getAllID</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getCustomRead"
+     >getCustomRead</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getHammingdistance"
+     >getHammingdistance</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getMisGap"
+     >getMisGap</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getNextLine"
+     >getNextLine</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getNumberOf"
+     >getNumberOf</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getRanks"
+     >getRanks</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getTPRead"
+     >getTPRead</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getmean"
+     >getmean</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getsum"
+     >getsum</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#initOutFiles"
+     >initOutFiles</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#isSaneAlignment"
+     >isSaneAlignment</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#loadpickle"
+     >loadpickle</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#readInput"
+     >readInput</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#readReadQualities"
+     >readReadQualities</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#readSAMline"
+     >readSAMline</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#returnIndex"
+     >returnIndex</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#returnSequence"
+     >returnSequence</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#savepickle"
+     >savepickle</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#writeToTabArt"
+     >writeToTabArt</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#writeToTabRef"
+     >writeToTabRef</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="core.AnalyseMapping-module.html#AlignedReadsdic"
+     >AlignedReadsdic</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#algnedToArt"
+     >algnedToArt</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#algnedToRef"
+     >algnedToRef</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#alngts"
+     >alngts</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-core.FindOrfs-module.html b/doc/toc-core.FindOrfs-module.html
new file mode 100644
index 0000000..13c3697
--- /dev/null
+++ b/doc/toc-core.FindOrfs-module.html
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>FindOrfs</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module FindOrfs</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="core.FindOrfs-module.html#build_ORF"
+     >build_ORF</a><br />    <a target="mainFrame" href="core.FindOrfs-module.html#find_orfs"
+     >find_orfs</a><br />    <a target="mainFrame" href="core.FindOrfs-module.html#findstop_help"
+     >findstop_help</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="core.FindOrfs-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-core.InsertMutations-module.html b/doc/toc-core.InsertMutations-module.html
new file mode 100644
index 0000000..fff5d30
--- /dev/null
+++ b/doc/toc-core.InsertMutations-module.html
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>InsertMutations</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module InsertMutations</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="core.InsertMutations-module.html#getMutation"
+     >getMutation</a><br />    <a target="mainFrame" href="core.InsertMutations-module.html#getdifference"
+     >getdifference</a><br />    <a target="mainFrame" href="core.InsertMutations-module.html#isvalidposition"
+     >isvalidposition</a><br />    <a target="mainFrame" href="core.InsertMutations-module.html#mutate_random"
+     >mutate_random</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="core.InsertMutations-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-core.Mem-module.html b/doc/toc-core.Mem-module.html
new file mode 100644
index 0000000..23331c0
--- /dev/null
+++ b/doc/toc-core.Mem-module.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Mem</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module Mem</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="core.Mem-module.html#ReadArtificialSAMfile"
+     >ReadArtificialSAMfile</a><br />    <a target="mainFrame" href="core.Mem-module.html#ReadReferenceSAMfile"
+     >ReadReferenceSAMfile</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="core.Mem-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-core.PlotData-module.html b/doc/toc-core.PlotData-module.html
new file mode 100644
index 0000000..f37b7ba
--- /dev/null
+++ b/doc/toc-core.PlotData-module.html
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>PlotData</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module PlotData</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="core.PlotData-module.html#CalculateRoc2"
+     >CalculateRoc2</a><br />    <a target="mainFrame" href="core.PlotData-module.html#plotOverviewHist"
+     >plotOverviewHist</a><br />    <a target="mainFrame" href="core.PlotData-module.html#trapezoidal_rule"
+     >trapezoidal_rule</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="core.PlotData-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-core.ReadAndWrite-module.html b/doc/toc-core.ReadAndWrite-module.html
new file mode 100644
index 0000000..73701db
--- /dev/null
+++ b/doc/toc-core.ReadAndWrite-module.html
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>ReadAndWrite</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module ReadAndWrite</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="core.ReadAndWrite-module.html#aa_dist_seq"
+     >aa_dist_seq</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#gethammingdistance"
+     >gethammingdistance</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#nucleotide_dist_file"
+     >nucleotide_dist_file</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#nucleotide_dist_seq"
+     >nucleotide_dist_seq</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#readdna"
+     >readdna</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#writefile"
+     >writefile</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#writeoverview"
+     >writeoverview</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="core.ReadAndWrite-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-core.insert_mutations-module.html b/doc/toc-core.insert_mutations-module.html
new file mode 100644
index 0000000..6b9f64b
--- /dev/null
+++ b/doc/toc-core.insert_mutations-module.html
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>insert_mutations</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module insert_mutations</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="core.insert_mutations-module.html#getMutation"
+     >getMutation</a><br />    <a target="mainFrame" href="core.insert_mutations-module.html#getdifference"
+     >getdifference</a><br />    <a target="mainFrame" href="core.insert_mutations-module.html#isvalidposition"
+     >isvalidposition</a><br />    <a target="mainFrame" href="core.insert_mutations-module.html#mutate_random"
+     >mutate_random</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="core.insert_mutations-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-core.orfs-module.html b/doc/toc-core.orfs-module.html
new file mode 100644
index 0000000..8a04074
--- /dev/null
+++ b/doc/toc-core.orfs-module.html
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>orfs</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module orfs</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="core.orfs-module.html#build_ORF"
+     >build_ORF</a><br />    <a target="mainFrame" href="core.orfs-module.html#find_orfs"
+     >find_orfs</a><br />    <a target="mainFrame" href="core.orfs-module.html#findstop_help"
+     >findstop_help</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="core.orfs-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-core.prep-module.html b/doc/toc-core.prep-module.html
new file mode 100644
index 0000000..50006f6
--- /dev/null
+++ b/doc/toc-core.prep-module.html
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>prep</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module prep</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="core.prep-module.html#createdic"
+     >createdic</a><br />    <a target="mainFrame" href="core.prep-module.html#isvalidtriplet"
+     >isvalidtriplet</a><br />    <a target="mainFrame" href="core.prep-module.html#loadpickle"
+     >loadpickle</a><br />    <a target="mainFrame" href="core.prep-module.html#savepickle"
+     >savepickle</a><br />    <a target="mainFrame" href="core.prep-module.html#trans_seq"
+     >trans_seq</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="core.prep-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="core.prep-module.html#genetic_code"
+     >genetic_code</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-everything.html b/doc/toc-everything.html
new file mode 100644
index 0000000..2a3dfd0
--- /dev/null
+++ b/doc/toc-everything.html
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Everything</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Everything</h1>
+<hr />
+  <h2 class="toc">All Classes</h2>
+    <a target="mainFrame" href="core.AnalyseMapping.CustomRead-class.html"
+     >core.AnalyseMapping.CustomRead</a><br />    <a target="mainFrame" href="core.AnalyseMapping.ReadID-class.html"
+     >core.AnalyseMapping.ReadID</a><br />    <a target="mainFrame" href="core.AnalyseMapping.TPRead-class.html"
+     >core.AnalyseMapping.TPRead</a><br />  <h2 class="toc">All Functions</h2>
+    <a target="mainFrame" href="core.AnalyseMapping-module.html#CheckForSameAlignments"
+     >core.AnalyseMapping.CheckForSameAlignments</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#CompareAlignments"
+     >core.AnalyseMapping.CompareAlignments</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#ComputeRQScore"
+     >core.AnalyseMapping.ComputeRQScore</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#CreateCompareList"
+     >core.AnalyseMapping.CreateCompareList</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#GetCompletePath"
+     >core.AnalyseMapping.GetCompletePath</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#GetOrderDictionary"
+     >core.AnalyseMapping.GetOrderDictionary</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#ReadArtificialSAMfileHTSeq"
+     >core.AnalyseMapping.ReadArtificialSAMfileHTSeq</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#ReadFromTab"
+     >core.AnalyseMapping.ReadFromTab</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#ReadSAMnoMem"
+     >core.AnalyseMapping.ReadSAMnoMem</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#SkipHeader"
+     >core.AnalyseMapping.SkipHeader</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#extendReadDic"
+     >core.AnalyseMapping.extendReadDic</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getAlignmentLength"
+     >core.AnalyseMapping.getAlignmentLength</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getAllID"
+     >core.AnalyseMapping.getAllID</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getCustomRead"
+     >core.AnalyseMapping.getCustomRead</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getHammingdistance"
+     >core.AnalyseMapping.getHammingdistance</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getMisGap"
+     >core.AnalyseMapping.getMisGap</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getNextLine"
+     >core.AnalyseMapping.getNextLine</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getNumberOf"
+     >core.AnalyseMapping.getNumberOf</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getRanks"
+     >core.AnalyseMapping.getRanks</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getTPRead"
+     >core.AnalyseMapping.getTPRead</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getmean"
+     >core.AnalyseMapping.getmean</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#getsum"
+     >core.AnalyseMapping.getsum</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#initOutFiles"
+     >core.AnalyseMapping.initOutFiles</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#isSaneAlignment"
+     >core.AnalyseMapping.isSaneAlignment</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#loadpickle"
+     >core.AnalyseMapping.loadpickle</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#readInput"
+     >core.AnalyseMapping.readInput</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#readReadQualities"
+     >core.AnalyseMapping.readReadQualities</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#readSAMline"
+     >core.AnalyseMapping.readSAMline</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#returnIndex"
+     >core.AnalyseMapping.returnIndex</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#returnSequence"
+     >core.AnalyseMapping.returnSequence</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#savepickle"
+     >core.AnalyseMapping.savepickle</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#writeToTabArt"
+     >core.AnalyseMapping.writeToTabArt</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#writeToTabRef"
+     >core.AnalyseMapping.writeToTabRef</a><br />    <a target="mainFrame" href="core.FindOrfs-module.html#build_ORF"
+     >core.FindOrfs.build_ORF</a><br />    <a target="mainFrame" href="core.FindOrfs-module.html#find_orfs"
+     >core.FindOrfs.find_orfs</a><br />    <a target="mainFrame" href="core.FindOrfs-module.html#findstop_help"
+     >core.FindOrfs.findstop_help</a><br />    <a target="mainFrame" href="core.InsertMutations-module.html#getMutation"
+     >core.InsertMutations.getMutation</a><br />    <a target="mainFrame" href="core.InsertMutations-module.html#getdifference"
+     >core.InsertMutations.getdifference</a><br />    <a target="mainFrame" href="core.InsertMutations-module.html#isvalidposition"
+     >core.InsertMutations.isvalidposition</a><br />    <a target="mainFrame" href="core.InsertMutations-module.html#mutate_random"
+     >core.InsertMutations.mutate_random</a><br />    <a target="mainFrame" href="core.PlotData-module.html#CalculateRoc2"
+     >core.PlotData.CalculateRoc2</a><br />    <a target="mainFrame" href="core.PlotData-module.html#plotOverviewHist"
+     >core.PlotData.plotOverviewHist</a><br />    <a target="mainFrame" href="core.PlotData-module.html#trapezoidal_rule"
+     >core.PlotData.trapezoidal_rule</a><br />    <a target="mainFrame" href="core.Prep-module.html#createdic"
+     >core.Prep.createdic</a><br />    <a target="mainFrame" href="core.Prep-module.html#isvalidtriplet"
+     >core.Prep.isvalidtriplet</a><br />    <a target="mainFrame" href="core.Prep-module.html#loadpickle"
+     >core.Prep.loadpickle</a><br />    <a target="mainFrame" href="core.Prep-module.html#savepickle"
+     >core.Prep.savepickle</a><br />    <a target="mainFrame" href="core.Prep-module.html#trans_seq"
+     >core.Prep.trans_seq</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#aa_dist_seq"
+     >core.ReadAndWrite.aa_dist_seq</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#gethammingdistance"
+     >core.ReadAndWrite.gethammingdistance</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#nucleotide_dist_file"
+     >core.ReadAndWrite.nucleotide_dist_file</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#nucleotide_dist_seq"
+     >core.ReadAndWrite.nucleotide_dist_seq</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#readdna"
+     >core.ReadAndWrite.readdna</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#writefile"
+     >core.ReadAndWrite.writefile</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#writeoverview"
+     >core.ReadAndWrite.writeoverview</a><br />    <a target="mainFrame" href="script-arden_analyze-module.html#TestFiles"
+     >script-arden_analyze.TestFiles</a><br />    <a target="mainFrame" href="script-arden_analyze-module.html#main"
+     >script-arden_analyze.main</a><br />    <a target="mainFrame" href="script-arden_create-module.html#Create"
+     >script-arden_create.Create</a><br />    <a target="mainFrame" href="script-arden_create-module.html#printExample"
+     >script-arden_create.printExample</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#FilterSAM"
+     >script-arden_filter.FilterSAM</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#filter"
+     >script-arden_filter.filter</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#getMisGapRQ"
+     >script-arden_filter.getMisGapRQ</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#readHeader"
+     >script-arden_filter.readHeader</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#writeFilteredReads"
+     >script-arden_filter.writeFilteredReads</a><br />  <h2 class="toc">All Variables</h2>
+    <a target="mainFrame" href="core.AnalyseMapping-module.html#AlignedReadsdic"
+     >core.AnalyseMapping.AlignedReadsdic</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#__package__"
+     >core.AnalyseMapping.__package__</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#algnedToArt"
+     >core.AnalyseMapping.algnedToArt</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#algnedToRef"
+     >core.AnalyseMapping.algnedToRef</a><br />    <a target="mainFrame" href="core.AnalyseMapping-module.html#alngts"
+     >core.AnalyseMapping.alngts</a><br />    <a target="mainFrame" href="core.FindOrfs-module.html#__package__"
+     >core.FindOrfs.__package__</a><br />    <a target="mainFrame" href="core.InsertMutations-module.html#__package__"
+     >core.InsertMutations.__package__</a><br />    <a target="mainFrame" href="core.PlotData-module.html#__package__"
+     >core.PlotData.__package__</a><br />    <a target="mainFrame" href="core.Prep-module.html#__package__"
+     >core.Prep.__package__</a><br />    <a target="mainFrame" href="core.Prep-module.html#genetic_code"
+     >core.Prep.genetic_code</a><br />    <a target="mainFrame" href="core.ReadAndWrite-module.html#__package__"
+     >core.ReadAndWrite.__package__</a><br />    <a target="mainFrame" href="core-module.html#__package__"
+     >core.__package__</a><br />    <a target="mainFrame" href="script-arden_analyze-module.html#__package__"
+     >script-arden_analyze.__package__</a><br />    <a target="mainFrame" href="script-arden_create-module.html#a"
+     >script-arden_create.a</a><br />    <a target="mainFrame" href="script-arden_create-module.html#b"
+     >script-arden_create.b</a><br />    <a target="mainFrame" href="script-arden_create-module.html#bases"
+     >script-arden_create.bases</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#__package__"
+     >script-arden_filter.__package__</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#counter1"
+     >script-arden_filter.counter1</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#counter2"
+     >script-arden_filter.counter2</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-script-arden_analyze-module.html b/doc/toc-script-arden_analyze-module.html
new file mode 100644
index 0000000..bbed08c
--- /dev/null
+++ b/doc/toc-script-arden_analyze-module.html
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>script-arden_analyze</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module script-arden_analyze</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="script-arden_analyze-module.html#TestFiles"
+     >TestFiles</a><br />    <a target="mainFrame" href="script-arden_analyze-module.html#main"
+     >main</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="script-arden_analyze-module.html#__package__"
+     >__package__</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-script-arden_create-module.html b/doc/toc-script-arden_create-module.html
new file mode 100644
index 0000000..2ab2fa1
--- /dev/null
+++ b/doc/toc-script-arden_create-module.html
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>script-arden_create</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module script-arden_create</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="script-arden_create-module.html#Create"
+     >Create</a><br />    <a target="mainFrame" href="script-arden_create-module.html#printExample"
+     >printExample</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="script-arden_create-module.html#a"
+     >a</a><br />    <a target="mainFrame" href="script-arden_create-module.html#b"
+     >b</a><br />    <a target="mainFrame" href="script-arden_create-module.html#bases"
+     >bases</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc-script-arden_filter-module.html b/doc/toc-script-arden_filter-module.html
new file mode 100644
index 0000000..aae4732
--- /dev/null
+++ b/doc/toc-script-arden_filter-module.html
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>script-arden_filter</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Module script-arden_filter</h1>
+<hr />
+  <h2 class="toc">Functions</h2>
+    <a target="mainFrame" href="script-arden_filter-module.html#FilterSAM"
+     >FilterSAM</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#filter"
+     >filter</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#getMisGapRQ"
+     >getMisGapRQ</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#readHeader"
+     >readHeader</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#writeFilteredReads"
+     >writeFilteredReads</a><br />  <h2 class="toc">Variables</h2>
+    <a target="mainFrame" href="script-arden_filter-module.html#__package__"
+     >__package__</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#counter1"
+     >counter1</a><br />    <a target="mainFrame" href="script-arden_filter-module.html#counter2"
+     >counter2</a><br /><hr />
+<span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>
diff --git a/doc/toc.html b/doc/toc.html
new file mode 100644
index 0000000..9afa3cd
--- /dev/null
+++ b/doc/toc.html
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="ascii"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+  <title>Table of Contents</title>
+  <link rel="stylesheet" href="epydoc.css" type="text/css" />
+  <script type="text/javascript" src="epydoc.js"></script>
+</head>
+
+<body bgcolor="white" text="black" link="blue" vlink="#204080"
+      alink="#204080">
+<h1 class="toc">Table of Contents</h1>
+<hr />
+  <a target="moduleFrame" href="toc-everything.html">Everything</a>
+  <br />
+  <h2 class="toc">Modules</h2>
+    <a target="moduleFrame" href="toc-core-module.html"
+     onclick="setFrame('toc-core-module.html','core-module.html');"     >core</a><br />    <a target="moduleFrame" href="toc-core.AnalyseMapping-module.html"
+     onclick="setFrame('toc-core.AnalyseMapping-module.html','core.AnalyseMapping-module.html');"     >core.AnalyseMapping</a><br />    <a target="moduleFrame" href="toc-core.FindOrfs-module.html"
+     onclick="setFrame('toc-core.FindOrfs-module.html','core.FindOrfs-module.html');"     >core.FindOrfs</a><br />    <a target="moduleFrame" href="toc-core.InsertMutations-module.html"
+     onclick="setFrame('toc-core.InsertMutations-module.html','core.InsertMutations-module.html');"     >core.InsertMutations</a><br />    <a target="moduleFrame" href="toc-core.PlotData-module.html"
+     onclick="setFrame('toc-core.PlotData-module.html','core.PlotData-module.html');"     >core.PlotData</a><br />    <a target="moduleFrame" href="toc-core.Prep-module.html"
+     onclick="setFrame('toc-core.Prep-module.html','core.Prep-module.html');"     >core.Prep</a><br />    <a target="moduleFrame" href="toc-core.ReadAndWrite-module.html"
+     onclick="setFrame('toc-core.ReadAndWrite-module.html','core.ReadAndWrite-module.html');"     >core.ReadAndWrite</a><br />    <a target="moduleFrame" href="toc-script-arden_analyze-module.html"
+     onclick="setFrame('toc-script-arden_analyze-module.html','script-arden_analyze-module.html');"     >script-arden_analyze</a><br />    <a target="moduleFrame" href="toc-script-arden_create-module.html"
+     onclick="setFrame('toc-script-arden_create-module.html','script-arden_create-module.html');"     >script-arden_create</a><br />    <a target="moduleFrame" href="toc-script-arden_filter-module.html"
+     onclick="setFrame('toc-script-arden_filter-module.html','script-arden_filter-module.html');"     >script-arden_filter</a><br /><hr />
+  <span class="options">[<a href="javascript:void(0);" class="privatelink"
+    onclick="toggle_private();">hide private</a>]</span>
+
+<script type="text/javascript">
+  <!--
+  // Private objects are initially displayed (because if
+  // javascript is turned off then we want them to be
+  // visible); but by default, we want to hide them.  So hide
+  // them unless we have a cookie that says to show them.
+  checkCookie();
+  // -->
+</script>
+</body>
+</html>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/arden.git



More information about the debian-med-commit mailing list