Repository 's_mart'
hg clone https://toolshed.g2.bx.psu.edu/repos/yufei-luo/s_mart

Changeset 23:4541611db314 (2013-04-29)
Previous changeset 22:1e3f2c2657a3 (2013-04-29) Next changeset 24:452e051f6562 (2013-04-29)
Commit message:
Deleted selected files
removed:
commons/core/coord/test/TestSuite_coord.py
commons/core/coord/test/Test_Align.py
commons/core/coord/test/Test_AlignUtils.py
commons/core/coord/test/Test_ConvCoord.py
commons/core/coord/test/Test_F_ConvCoord.py
commons/core/coord/test/Test_Map.py
commons/core/coord/test/Test_MapUtils.py
commons/core/coord/test/Test_Match.py
commons/core/coord/test/Test_MatchUtils.py
commons/core/coord/test/Test_MergedRange.py
commons/core/coord/test/Test_Path.py
commons/core/coord/test/Test_PathUtils.py
commons/core/coord/test/Test_Range.py
commons/core/coord/test/Test_Set.py
commons/core/coord/test/Test_SetUtils.py
commons/core/coord/test/Test_SlidingWindow.py
commons/core/coord/test/__init__.py
commons/core/parsing/test/Test_BedParser.py
commons/core/parsing/test/Test_BlatFileParser.py
commons/core/parsing/test/Test_BlatParser.py
commons/core/parsing/test/Test_BlatToGff.py
commons/core/parsing/test/Test_BlatToGffForBesPaired.py
commons/core/parsing/test/Test_BowtieParser.py
commons/core/parsing/test/Test_CoordsParser.py
commons/core/parsing/test/Test_CrossSsrAndBesMappedByBlatToGff.py
commons/core/parsing/test/Test_F_BlatToGff.py
commons/core/parsing/test/Test_F_BlatToGffForBesPaired.py
commons/core/parsing/test/Test_F_CrossSsrAndBesMappedByBlatToGff.py
commons/core/parsing/test/Test_F_VarscanToVCF.py
commons/core/parsing/test/Test_FastaParser.py
commons/core/parsing/test/Test_FindRep.py
commons/core/parsing/test/Test_GffParser.py
commons/core/parsing/test/Test_MapParser.py
commons/core/parsing/test/Test_MrepsToSet.py
commons/core/parsing/test/Test_Multifasta2SNPFile.py
commons/core/parsing/test/Test_Multifasta2SNPFileWriter.py
commons/core/parsing/test/Test_PalsToAlign.py
commons/core/parsing/test/Test_PathNum2Id.py
commons/core/parsing/test/Test_PslParser.py
commons/core/parsing/test/Test_SsrParser.py
commons/core/parsing/test/Test_VarscanFile.py
commons/core/parsing/test/Test_VarscanFileForGnpSNP.py
commons/core/parsing/test/Test_VarscanHit.py
commons/core/parsing/test/Test_VarscanHitForGnpSNP.py
commons/core/parsing/test/Test_VarscanHit_WithTag.py
commons/core/parsing/test/Test_VarscanHit_v2_2_8.py
commons/core/parsing/test/Test_VarscanHit_v2_2_8_WithTag.py
commons/core/parsing/test/Test_VarscanToVCF.py
commons/core/parsing/test/Test_WigParser.py
commons/core/parsing/test/Test_pilerTAToGrouperMap.py
commons/core/parsing/test/__init__.py
commons/core/parsing/test/data/ExpPotDooblonsSubSNP.csv
commons/core/parsing/test/data/Wig/chr1.wig
commons/core/parsing/test/data/realExpBatchLine.csv
commons/core/parsing/test/data/realExpIndividual.csv
commons/core/parsing/test/data/realExpSequences.fsa
commons/core/parsing/test/data/realExpSubSNP.csv
commons/core/parsing/test/data/real_multifasta_input.fasta
commons/core/parsing/test/data/sampleForTestVarscanToVCF.varscan
commons/core/parsing/test/data/test.wig
commons/core/parsing/test/data/test1.wig
commons/core/parsing/test/data/test2.wig
commons/core/parsing/test/data/testBedParser1.bed
commons/core/parsing/test/data/testCoordsParser.coords
commons/core/parsing/test/data/testCoordsParser_showcoord.coords
commons/core/parsing/test/data/testCoordsParser_showcoord_promer.coords
commons/core/parsing/test/data/testGffParser1.gff3
commons/core/seq/test/TestClusterConsensusCollection.py
commons/core/seq/test/TestSuite_seq.py
commons/core/seq/test/Test_AlignedBioseqDB.py
commons/core/seq/test/Test_Bioseq.py
commons/core/seq/test/Test_BioseqDB.py
commons/core/seq/test/Test_BioseqUtils.py
commons/core/seq/test/Test_FastaUtils.py
commons/core/seq/test/Utils_for_T_FastaUtils.py
commons/core/seq/test/__init__.py
commons/core/utils/test/TestSuite_utils.py
commons/core/utils/test/Test_FileUtils.py
commons/core/utils/test/__init__.py
commons/core/writer/test/Test_Gff3Writer.py
commons/core/writer/test/Test_MapWriter.py
commons/core/writer/test/__init__.py
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/TestSuite_coord.py
--- a/commons/core/coord/test/TestSuite_coord.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,70 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright INRA (Institut National de la Recherche Agronomique)
-# http://www.inra.fr
-# http://urgi.versailles.inra.fr
-#
-# This software is governed by the CeCILL license under French law and
-# abiding by the rules of distribution of free software.  You can  use, 
-# modify and/ or redistribute the software under the terms of the CeCILL
-# license as circulated by CEA, CNRS and INRIA at the following URL
-# "http://www.cecill.info". 
-#
-# As a counterpart to the access to the source code and  rights to copy,
-# modify and redistribute granted by the license, users are provided only
-# with a limited warranty  and the software's author,  the holder of the
-# economic rights,  and the successive licensors  have only  limited
-# liability. 
-#
-# In this respect, the user's attention is drawn to the risks associated
-# with loading,  using,  modifying and/or developing or reproducing the
-# software by the user in light of its specific status of free software,
-# that may mean  that it is complicated to manipulate,  and  that  also
-# therefore means  that it is reserved for developers  and  experienced
-# professionals having in-depth computer knowledge. Users are therefore
-# encouraged to load and test the software's suitability as regards their
-# requirements in conditions enabling the security of their systems and/or 
-# data to be ensured and,  more generally, to use and operate it in the 
-# same conditions as regards security. 
-#
-# The fact that you are presently reading this means that you have had
-# knowledge of the CeCILL license and that you accept its terms.
-
-
-import unittest
-import sys
-import Test_Align
-import Test_AlignUtils
-import Test_Map
-import Test_MapUtils
-import Test_Match
-import Test_MatchUtils
-import Test_Path
-import Test_PathUtils
-import Test_Range
-import Test_Set
-import Test_SetUtils
-
-
-def main():
-    
-    TestSuite_coord = unittest.TestSuite() 
-    
-    TestSuite_coord.addTest( unittest.makeSuite( Test_Align.Test_Align, "test" ) )
-    TestSuite_coord.addTest( unittest.makeSuite( Test_AlignUtils.Test_AlignUtils, "test" ) )
-    TestSuite_coord.addTest( unittest.makeSuite( Test_Map.Test_Map, "test" ) )
-    TestSuite_coord.addTest( unittest.makeSuite( Test_MapUtils.Test_MapUtils, "test" ) )
-    TestSuite_coord.addTest( unittest.makeSuite( Test_Match.Test_Match, "test" ) )
-    TestSuite_coord.addTest( unittest.makeSuite( Test_MatchUtils.Test_MatchUtils, "test" ) )
-    TestSuite_coord.addTest( unittest.makeSuite( Test_Path.Test_Path, "test" ) )
-    TestSuite_coord.addTest( unittest.makeSuite( Test_PathUtils.Test_PathUtils, "test" ) )
-    TestSuite_coord.addTest( unittest.makeSuite( Test_Range.Test_Range, "test" ) )
-    TestSuite_coord.addTest( unittest.makeSuite( Test_Set.Test_Set, "test" ) )
-    TestSuite_coord.addTest( unittest.makeSuite( Test_SetUtils.Test_SetUtils, "test" ) )
-    
-    runner = unittest.TextTestRunner( sys.stderr, 2, 2 )
-    runner.run( TestSuite_coord )
-    
-    
-if __name__ == "__main__":
-    main()
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_Align.py
--- a/commons/core/coord/test/Test_Align.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,518 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import unittest\n-import os\n-import time\n-from commons.core.coord.Align import Align\n-from commons.core.coord.Map import Map\n-from commons.core.utils.FileUtils import FileUtils\n-from commons.core.coord.Range import Range\n-\n-\n-class Test_Align( unittest.TestCase ):\n-    \n-    def setUp(self):\n-        self._align = Align()\n-        self._uniqId = "%s_%s" % ( time.strftime("%Y%m%d%H%M%S"), os.getpid() )\n-        \n-    def tearDown(self):\n-        self._align = None\n-        \n-    def test_isEmpty_True(self):\n-        alignInstance = Align()\n-        \n-        self.assertTrue(alignInstance.isEmpty())\n-        \n-    def test_isEmpty_True_query_is_empty(self):\n-        alignInstance = Align()\n-        line = "\\t-1\\t-1\\tTE2\\t3\\t10\\t1e-20\\t30\\t90.2\\n"\n-        alignInstance.setFromString(line)\n-        \n-        self.assertTrue(alignInstance.isEmpty())\n-        \n-    def test_isEmpty_True_subject_is_empty(self):\n-        alignInstance = Align()\n-        line = "chr1\\t2\\t20\\t\\t-1\\t-1\\t1e-20\\t30\\t90.2\\n"\n-        alignInstance.setFromString(line)\n-        \n-        self.assertTrue(alignInstance.isEmpty())\n-        \n-    def test_isEmpty_False(self):\n-        alignInstance = Align()\n-        line = "chr1\\t2\\t20\\tTE2\\t3\\t10\\t1e-20\\t30\\t90.2\\n"\n-        alignInstance.setFromString(line)\n-        \n-        self.assertFalse(alignInstance.isEmpty())\n-        \n-    def test_read(self):\n-        line = "chr2\\t1\\t10\\tTE3\\t11\\t17\\t1e-20\\t30\\t90.2\\n"\n-        expReturn = 1\n-\n-        dummyMockAlignFile = "dummyMockAlignFile"\n-        mockAlignFileHandle = open(dummyMockAlignFile, "w")\n-        mockAlignFileHandle.write(line)\n-        mockAlignFileHandle.close()\n-        \n-        expAlignInstance = Align()\n-        expAlignInstance.setFromString(line)\n-\n-        mockAlignFileHandle = open(dummyMockAlignFile, "r")\n-        obsAlignInstance = Align()\n-        obsReturn = obsAlignInstance.read(mockAlignFileHandle)\n-        \n-        mockAlignFileHandle.close()\n-        os.remove(dummyMockAlignFile)   \n-        \n-        self.assertEquals(expAlignInstance, obsAlignInstance)    \n-        self.assertEquals(expReturn, obsReturn)    \n-        \n-    def test_read_empty_file(self):\n-        expReturn = 0\n-         \n-        dummyMockAlignFile = "dummyMockAlignFile"\n-        mockAlignFileHandle = open(dummyMockAlignFile, "w")\n-        mockAlignFileHandle.close'..b'ject.setFromTuple( ( "repet", "sbj1", "1", "100" ) )\n-        \n-        obsMapQuery, obsMapSubject = self._align.getMapsOfQueryAndSubject()\n-        \n-        self.assertEqual( expMapQuery, obsMapQuery )\n-        self.assertEqual( expMapSubject, obsMapSubject )\n-        \n-    def test_getBin_bin_level_9(self):\n-        tuple = ("chr1","190000000","390000000","TE2","11","17","1e-20","30","90.2")\n-        self._align.setFromTuple(tuple)\n-        expRes = 100000000.0\n-        obsRes = self._align.getBin()\n-        self.assertEquals(expRes, obsRes)\n-\n-    def test_getBin_bin_level_8(self):\n-        tuple = ("chr1","19000000","39000000","TE2","11","17","1e-20","30","90.2")\n-        self._align.setFromTuple(tuple)\n-        expRes = 100000000.0\n-        obsRes = self._align.getBin()\n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_7(self):\n-        tuple = ("chr1","1900000","3900000","TE2","11","17","1e-20","30","90.2")\n-        self._align.setFromTuple(tuple)\n-        expRes = 10000000.0\n-        obsRes = self._align.getBin()\n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_6(self):\n-        tuple = ("chr1","190000","390000","TE2","11","17","1e-20","30","90.2")\n-        self._align.setFromTuple(tuple)\n-        obsRes = self._align.getBin()\n-        expRes = 1000000.0\n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_5(self):\n-        tuple = ("chr1","19000","39000","TE2","11","17","1e-20","30","90.2")\n-        self._align.setFromTuple(tuple)\n-        obsRes = self._align.getBin()\n-        expRes = 100000.0\n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_4(self):\n-        tuple = ("chr1","1900","3900","TE2","11","17","1e-20","30","90.2")\n-        self._align.setFromTuple(tuple)\n-        obsRes = self._align.getBin()\n-        expRes = 10000.0\n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_3(self):\n-        tuple = ("chr1","190","390","TE2","11","17","1e-20","30","90.2")\n-        self._align.setFromTuple(tuple)\n-        obsRes = self._align.getBin()\n-        expRes = 1000.0\n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_2(self):\n-        tuple = ("chr1","19","39","TE2","11","17","1e-20","30","90.2")\n-        self._align.setFromTuple(tuple)\n-        obsRes = self._align.getBin()\n-        expRes = 1000.0\n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_1(self):\n-        tuple = ("chr1","1","3","TE2","11","17","1e-20","30","90.2")\n-        self._align.setFromTuple(tuple)\n-        obsRes = self._align.getBin()\n-        expRes = 1000.0\n-        self.assertEquals(expRes, obsRes)\n-        \n-        \n-    def test_switchQuerySubject_directS( self ):\n-        tuple = ("chr1","1","3","TE2","11","17","1e-20","30","90.2")\n-        self._align.setFromTuple( tuple )\n-        exp = Align( Range("TE2","11","17"), Range("chr1","1","3"), "1e-20", "30", "90.2" )\n-        self._align.switchQuerySubject()\n-        self.assertEquals( exp, self._align )\n-        \n-        \n-    def test_switchQuerySubject_reverseS( self ):\n-        tuple = ("chr1","1","3","TE2","17","11","1e-20","30","90.2")\n-        self._align.setFromTuple( tuple )\n-        exp = Align( Range("TE2","11","17"), Range("chr1","3","1"), "1e-20", "30", "90.2" )\n-        self._align.switchQuerySubject()\n-        self.assertEquals( exp, self._align )\n-        \n-        \n-    def test_toStringAsGff( self ):\n-        self._align.setFromString( "chr1\\t1\\t10\\tTE3\\t11\\t17\\t1e-20\\t30\\t85.2\\n" )\n-        exp = "chr1\\tREPET\\tmatch\\t1\\t10\\t1e-20\\t+\\t.\\tID=23;Target=TE3 11 17"\n-        obs = self._align.toStringAsGff( ID="23" )\n-        self.assertEqual( obs, exp )\n-        \n-        \n-test_suite = unittest.TestSuite()\n-test_suite.addTest( unittest.makeSuite( Test_Align ) )\n-if __name__ == "__main__":\n-    unittest.TextTestRunner(verbosity=2).run( test_suite )\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_AlignUtils.py
--- a/commons/core/coord/test/Test_AlignUtils.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,777 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import unittest\n-import os\n-import time\n-import shutil\n-from commons.core.coord.AlignUtils import AlignUtils\n-from commons.core.coord.Align import Align\n-from commons.core.utils.FileUtils import FileUtils\n-from commons.core.coord.Range import Range\n-\n-\n-class Test_AlignUtils( unittest.TestCase ):\n-    \n-    def setUp( self ):\n-        self._uniqId = "%s_%s" % ( time.strftime("%Y%m%d%H%M%S"), os.getpid() )\n-        \n-        \n-    def tearDown( self ):\n-        self._uniqId = ""\n-        \n-        \n-    def test_getAlignListFromFile( self ):\n-        a1 = Align()\n-        a1.setFromTuple( ( "chr1", "1", "100", "seq3", "1", "100", "1e-23", "89", "97.26" ) )\n-        a2 = Align()\n-        a2.setFromTuple( ( "chr2", "121", "210", "seq5", "21", "110", "1e-32", "95", "98.13" ) )\n-        \n-        inFileName = "dummyFile_%s" % ( self._uniqId )\n-        inFileHandler = open( inFileName, "w" )\n-        a1.write( inFileHandler )\n-        a2.write( inFileHandler )\n-        inFileHandler.close()\n-        \n-        lExp = [ a1, a2 ]\n-        lObs = AlignUtils.getAlignListFromFile( inFileName )\n-        \n-        self.assertEqual( lExp, lObs )\n-        \n-        if os.path.exists( inFileName ):\n-            os.remove( inFileName )\n-            \n-            \n-    def test_getListOfScores( self ):\n-        a1 = Align()\n-        a1.setFromTuple( ( "chr1", "1", "100", "seq3", "1", "100", "1e-23", "89", "97.26" ) )\n-        a2 = Align()\n-        a2.setFromTuple( ( "chr2", "121", "210", "seq5", "21", "110", "1e-32", "95", "98.13" ) )\n-        lAligns = [ a1, a2 ]\n-        \n-        lExp = [ 89, 95 ]\n-        lObs = AlignUtils.getListOfScores( lAligns )\n-        \n-        self.assertEqual( lExp, lObs )\n-        \n-        \n-    def test_getScoreListFromFile( self ):\n-        alignFile = "dummyAlignFile"\n-        alignFileHandler = open( alignFile, "w" )\n-        alignFileHandler.write( "chr3\\t1\\t100\\tchr5\\t11\\t110\\t1e-52\\t133\\t87.2\\n" )\n-        alignFileHandler.write( "chr7\\t1\\t200\\tchr2\\t11\\t210\\t1e-78\\t235\\t98.9\\n" )\n-        alignFileHandler.close()\n-        \n-        lExp = [ 133, 235 ]\n-        lObs = AlignUtils.getScoreListFromFile( alignFile )\n-        self.assertEqual( lExp, lObs )\n-        \n-        os.remove( alignFile )\n-        \n-        \n-    def test_getScoreListFromFile_empty_file( self ):\n-        alignFile = "dummyAlignFile"\n-    '..b' iAlign2 = Align( Range("chr1",51,80), Range("TE1",161,190), 1e-20, 90.2, 30 )\n-        self.assertFalse( iAlign1.isOverlapping( iAlign2 ) )\n-        \n-        \n-    def test_mergeList( self ):\n-        iAlign1 = Align( Range("chr1",81,120), Range("TE1",91,130), 1e-20, 90.2, 30 )\n-        iAlign2 = Align( Range("chr2",51,80), Range("TE1",61,90), 1e-20, 90.2, 30 )  # different query\n-        iAlign3 = Align( Range("chr1",1,100), Range("TE1",11,110), 1e-20, 90.2, 30 )  # to be merged with 1st line\n-        iAlign4 = Align( Range("chr1",1,200), Range("TE2",11,210), 1e-20, 90.2, 30 )  # different subject\n-        iAlign5 = Align( Range("chr1",1,100), Range("TE1",501,600), 1e-20, 90.2, 30 )  # non-overlapping subject\n-        lAligns = [ iAlign1, iAlign2, iAlign3, iAlign4, iAlign5 ]\n-        \n-        iAlign6 = Align( Range("chr1",1,120), Range("TE1",11,130), 1e-20, 90.2, 30 )\n-        lExp = [ iAlign6, iAlign5, iAlign4, iAlign2 ]\n-        \n-        lObs = AlignUtils.mergeList( lAligns )\n-        \n-        self.assertEquals( lExp, lObs )\n-        \n-        \n-    def test_mergeFile_empty( self ):\n-        inFile = "dummyInFile.align"\n-        inF = open( inFile, "w" )\n-        inF.close()\n-        \n-        expFile = "dummyExpFile.align"\n-        expF = open( expFile, "w" )\n-        expF.close()\n-        \n-        obsFile = "dummyObsFile.align"\n-        AlignUtils.mergeFile( inFile, obsFile )\n-        \n-        self.assertTrue( FileUtils.are2FilesIdentical( expFile, obsFile ) )\n-        \n-        for f in [ inFile, expFile, obsFile ]:\n-            os.remove( f )\n-            \n-            \n-    def test_mergeFile( self ):\n-        iAlign = Align()\n-        \n-        inFile = "dummyInFile.align"\n-        inF = open( inFile, "w" )\n-        iAlign.setFromString( "chr1\\t81\\t120\\tTE1\\t91\\t130\\t1e-20\\t30\\t90.2\\n" )\n-        iAlign.write( inF )\n-        iAlign.setFromString( "chr2\\t51\\t80\\tTE1\\t61\\t90\\t1e-20\\t30\\t90.2\\n" )  # different query\n-        iAlign.write( inF )\n-        iAlign.setFromString( "chr1\\t1\\t100\\tTE1\\t11\\t110\\t1e-20\\t30\\t90.2\\n" )  # to be merged with 1st line\n-        iAlign.write( inF )\n-        iAlign.setFromString( "chr1\\t1\\t200\\tTE2\\t11\\t210\\t1e-20\\t30\\t90.2\\n" )  # different subject\n-        iAlign.write( inF )\n-        inF.close()\n-        \n-        expFile = "dummyExpFile.align"\n-        expF = open( expFile, "w" )\n-        iAlign.setFromString( "chr1\\t1\\t120\\tTE1\\t11\\t130\\t1e-20\\t30\\t90.2\\n" )\n-        iAlign.write( expF )\n-        iAlign.setFromString( "chr1\\t1\\t200\\tTE2\\t11\\t210\\t1e-20\\t30\\t90.2\\n" )\n-        iAlign.write( expF )\n-        iAlign.setFromString( "chr2\\t51\\t80\\tTE1\\t61\\t90\\t1e-20\\t30\\t90.2\\n" )\n-        iAlign.write( expF )\n-        expF.close()\n-        \n-        obsFile = "dummyObsFile.align"\n-        AlignUtils.mergeFile( inFile, obsFile )\n-        \n-        self.assertTrue( FileUtils.are2FilesIdentical( expFile, obsFile ) )\n-        \n-        for f in [ inFile, expFile, obsFile ]:\n-            os.remove( f )\n-            \n-            \n-    def test_updateScoresInFile( self ):\n-        iAlign = Align()\n-        \n-        inFile = "dummyInFile.align"\n-        inHandler = open( inFile, "w" )\n-        iAlign.setFromString( "query1\\t1\\t100\\tsubject1\\t1\\t95\\t1e-180\\t230\\t90.2\\n" )\n-        iAlign.write( inHandler )\n-        inHandler.close()\n-        \n-        expFile = "dummyExpFile.align"\n-        expHandler = open( expFile, "w" )\n-        iAlign.setFromString( "query1\\t1\\t100\\tsubject1\\t1\\t95\\t1e-180\\t%i\\t90.2\\n" % ( ( 100 - 1 + 1 ) * 90.2 / 100.0 ) )\n-        iAlign.write( expHandler )\n-        expHandler.close()\n-        \n-        obsFile = "dummyObsFile.align"\n-        AlignUtils.updateScoresInFile( inFile, obsFile )\n-        \n-        self.assertTrue( FileUtils.are2FilesIdentical( expFile, obsFile ) )\n-        \n-        for f in [ inFile, expFile, obsFile ]:\n-            os.remove( f )\n-            \n-            \n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_ConvCoord.py
--- a/commons/core/coord/test/Test_ConvCoord.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,205 +0,0 @@\n-import unittest\n-import os\n-import time\n-from commons.core.coord.ConvCoord import ConvCoord\n-from commons.core.utils.FileUtils import FileUtils\n-from commons.core.sql.DbFactory import DbFactory\n-from commons.core.coord.Map import Map\n-\n-class Test_ConvCoord( unittest.TestCase ):\n-    \n-    def setUp( self ):\n-        self._i = ConvCoord()\n-        self._uniqId = "%s_%s" % ( time.strftime("%Y%m%d%H%M%S") , os.getpid() )\n-        self._inData = "dummyInData_%s" % ( self._uniqId )\n-        self._mapData = "dummyMapData_%s" % ( self._uniqId )\n-        self._expData = "dummyExpData_%s" % ( self._uniqId )\n-        self._obsData = "dummyObsData_%s" % ( self._uniqId )\n-        self._iDb = DbFactory.createInstance()\n-        self._i._iDb = self._iDb\n-        \n-    def tearDown( self ):\n-        self._iDb.close()\n-\n-#TODO: handle duplicated matchs for path\n-#    def test_convCoordsChkToChrFromFile_duplicated_matchs( self ):\n-#        dChunks2CoordMaps = {"chunk1": Map( "chunk1", "dmel_chr4", 760001, 960000 ),\n-#                             "chunk2": Map( "chunk2", "dmel_chr4", 950001, 1150000 ) }\n-#        tmpPathFileName = "dummyPathCoordOnChr_%s" % self._uniqId \n-#        self._writePathFileCoordOnChunk(tmpPathFileName)\n-#        \n-#        expPathFile = "dummyExpPathFile_%s" % self._uniqId\n-#        self._writePathFileCoordOnChrWithOutDoublons(expPathFile)\n-#        \n-#        outTableName = self._i.convCoordsChkToChrFromFile(tmpPathFileName, "path", dChunks2CoordMaps)\n-#        \n-#        obsPathFile = "dummyObsPathFile_%s" % self._uniqId\n-#        self._iDb.exportDataToFile(outTableName, obsPathFile)\n-#        \n-#        self.assertTrue(FileUtils.are2FilesIdentical(expPathFile, obsPathFile))\n-#        \n-#        for f in [ expPathFile, obsPathFile, tmpPathFileName ]:\n-#            os.remove( f )\n-#        self._iDb.dropTable(outTableName)\n- \n-#TODO: handle matchs out of chunk overlap ? For one side (=> path 128, remove path 152) ? For two sides (path 129, fusion with path 154) ?\n-#    def test_convCoordsChkToChrFromFile_matchs_out_of_overlap( self ):\n-#        dChunks2CoordMaps = {"chunk1": Map( "chunk1", "dmel_chr4", 760001, 960000 ),\n-#                             "chunk2": Map( "chunk2", "dmel_chr4", 950001, 1150000 ) }\n-#        tmpPathFileName = "dummyPathCoordOnChr_%s" % self._uniqId \n-#        self._writePathFileCoordOnChunk_outOfOverlap(tmpPathFileName)\n-#        \n-#        expPathFile = "dummyExpPathFile_%s" % self._uniqId\n-#        self._writePathFileCoordOnChrWithOutDoublons_outOfOverlap(expPathFile)\n-#        \n-#        outTableName = self._i.convCoordsChkToChrFromFile(tmpPathFileName, "path", dChunks2CoordMaps)\n-#        \n-#        obsPathFile = "dummyObsPathFile_%s" % self._uniqId\n-#        self._iDb.exportDataToFile(outTableName, obsPathFile)\n-#        \n-#        self.assertTrue(FileUtils.are2FilesIdentical(expPathFile, obsPathFile))\n-#        \n-#        for f in [ expPathFile, obsPathFile, tmpPathFileName ]:\n-#            os.remove( f )\n-#        self._iDb.dropTable(outTableName)\n-        \n-    def test_mergeCoordsOnChunkOverlaps( self ):\n-        dChunks2CoordMaps = { "chunk1": Map( "chunk1", "chromosome1", 1, 100 ),\n-                             "chunk2": Map( "chunk2", "chromosome1", 91, 190 ),\n-                             "chunk3": Map( "chunk3", "chromosome2", 1, 100 ) }\n-        tmpPathTable = "dummyTmpPathTable"\n-        linesToProcess = [\n-                          "1" + "\\t" + "chromosome1" + "\\t" + "21" + "\\t" + "37" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "27" + "\\t" + "8e-58" + "\\t" + "30" + "\\t" + "97.8" + "\\n",  # hit within the 1st chunk\n-                          "3" + "\\t" + "chromosome1" + "\\t" + "92" + "\\t" + "99" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "8" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.8" + "\\n",       # hit included within the chunk overlap, on the 2nd chunk\n-                          "2" + "\\t" + "chromosome1" + "\\t" + "92" + "\\t" + "99" + "\\t" + "TE1" + "\\t" + "1" '..b'tMARWOLEN1_1p:classII:TIR\\t285\\t320\\t7e-25\\t28\\t41.67\\n")\n-        pathFile.write("152\\tchunk2\\t3866\\t3889\\tCR1-19_HM_1p:classI:LINE\\t898\\t891\\t5e-21\\t4\\t34.98\\n")\n-        pathFile.write("153\\tchunk2\\t3951\\t4343\\tCR1-1_DWil_1p:classI:LINE\\t127\\t2\\t4e-18\\t92\\t37.59\\n")\n-        pathFile.write("154\\tchunk2\\t3866\\t3889\\tCR1-83_HM_1p:classI:LINE\\t912\\t905\\t3e-21\\t4\\t34.62\\n")\n-        pathFile.write("155\\tchunk2\\t3102\\t3199\\tCR1-1_DWil_2p:classI:LINE\\t869\\t837\\t2e-26\\t38\\t57.89\\n")\n-        pathFile.close()\n-        \n-#    def _writePathFileCoordOnChunk_outOfOverlap(self, pathFileName):\n-#        pathFile = open( pathFileName, "w" )\n-#        pathFile.write("123\\tchunk1\\t108397\\t108531\\tMariner2_AG_1p:classII:TIR\\t53\\t97\\t8e-19\\t28\\t35.56\\n")\n-#        pathFile.write("123\\tchunk1\\t108545\\t109120\\tMariner2_AG_1p:classII:TIR\\t102\\t333\\t8e-19\\t87\\t27.97\\n")\n-#        pathFile.write("124\\tchunk1\\t59607\\t59714\\tLINER1-2_NVi_2p:classI:?\\t502\\t537\\t3e-20\\t30\\t36.11\\n")\n-#        pathFile.write("124\\tchunk1\\t59695\\t60156\\tLINER1-2_NVi_2p:classI:?\\t533\\t725\\t3e-20\\t90\\t36.79\\n")\n-#        pathFile.write("125\\tchunk1\\t193027\\t193101\\tCR1-8_AG_1p:classI:LINE\\t470\\t448\\t1e-27\\t11\\t28.57\\n")\n-#        pathFile.write("126\\tchunk1\\t102131\\t102178\\tTc1-1_TCa_1p:classII:TIR\\t288\\t274\\t5e-29\\t18\\t52.5\\n")\n-#        pathFile.write("127\\tchunk1\\t59520\\t59606\\tNotoAg1_2p:classI:?\\t482\\t508\\t1e-13\\t14\\t30.61\\n")\n-#        pathFile.write("128\\tchunk1\\t183866\\t193889\\tCR1-19_HM_1p:classI:LINE\\t898\\t1891\\t5e-21\\t4\\t34.98\\n")\n-#        pathFile.write("129\\tchunk1\\t183866\\t200000\\tCR1-83_HM_1p:classI:LINE\\t912\\t905\\t3e-21\\t4\\t34.62\\n")\n-#        pathFile.write("150\\tchunk2\\t21176\\t21250\\tTc1-1_TCa_1p:classII:TIR\\t135\\t109\\t8e-32\\t21\\t41.57\\n")\n-#        pathFile.write("151\\tchunk2\\t116603\\t116698\\tMARWOLEN1_1p:classII:TIR\\t285\\t320\\t7e-25\\t28\\t41.67\\n")\n-#        pathFile.write("152\\tchunk2\\t1\\t3889\\tCR1-19_HM_1p:classI:LINE\\t898\\t1891\\t5e-21\\t4\\t34.98\\n")\n-#        pathFile.write("153\\tchunk2\\t3951\\t4343\\tCR1-1_DWil_1p:classI:LINE\\t127\\t2\\t4e-18\\t92\\t37.59\\n")\n-#        pathFile.write("154\\tchunk2\\t1\\t13889\\tCR1-83_HM_1p:classI:LINE\\t912\\t905\\t3e-21\\t4\\t34.62\\n")\n-#        pathFile.write("155\\tchunk2\\t3102\\t3199\\tCR1-1_DWil_2p:classI:LINE\\t869\\t837\\t2e-26\\t38\\t57.89\\n")\n-#        pathFile.close()\n-#        \n-#    def _writePathFileCoordOnChrWithOutDoublons_outOfOverlap(self, pathFileName):\n-#        file = open( pathFileName, "w" )\n-#        file.write("123\\tdmel_chr4\\t868397\\t868531\\tMariner2_AG_1p:classII:TIR\\t53\\t97\\t8e-19\\t28\\t35.56\\n")\n-#        file.write("123\\tdmel_chr4\\t868545\\t869120\\tMariner2_AG_1p:classII:TIR\\t102\\t333\\t8e-19\\t87\\t27.97\\n")\n-#        file.write("124\\tdmel_chr4\\t819607\\t819714\\tLINER1-2_NVi_2p:classI:?\\t502\\t537\\t3e-20\\t30\\t36.11\\n")\n-#        file.write("124\\tdmel_chr4\\t819695\\t820156\\tLINER1-2_NVi_2p:classI:?\\t533\\t725\\t3e-20\\t90\\t36.79\\n")\n-#        file.write("125\\tdmel_chr4\\t953027\\t953101\\tCR1-8_AG_1p:classI:LINE\\t470\\t448\\t1e-27\\t11\\t28.57\\n")\n-#        file.write("126\\tdmel_chr4\\t862131\\t862178\\tTc1-1_TCa_1p:classII:TIR\\t288\\t274\\t5e-29\\t18\\t52.5\\n")\n-#        file.write("127\\tdmel_chr4\\t819520\\t819606\\tNotoAg1_2p:classI:?\\t482\\t508\\t1e-13\\t14\\t30.61\\n")\n-#        file.write("128\\tdmel_chr4\\t943866\\t953889\\tCR1-19_HM_1p:classI:LINE\\t898\\t1891\\t5e-21\\t4\\t34.98\\n")\n-#        file.write("129\\tdmel_chr4\\t943866\\t963889\\tCR1-83_HM_1p:classI:LINE\\t912\\t905\\t3e-21\\t4\\t34.62\\n")\n-#        file.write("150\\tdmel_chr4\\t971176\\t971250\\tTc1-1_TCa_1p:classII:TIR\\t135\\t109\\t8e-32\\t21\\t41.57\\n")\n-#        file.write("151\\tdmel_chr4\\t1066603\\t1066698\\tMARWOLEN1_1p:classII:TIR\\t285\\t320\\t7e-25\\t28\\t41.67\\n")\n-#        file.write("153\\tdmel_chr4\\t953951\\t954343\\tCR1-1_DWil_1p:classI:LINE\\t127\\t2\\t4e-18\\t92\\t37.59\\n")\n-#        file.write("155\\tdmel_chr4\\t953102\\t953199\\tCR1-1_DWil_2p:classI:LINE\\t869\\t837\\t2e-26\\t38\\t57.89\\n")\n-#        file.close()\n-       \n-if __name__ == "__main__":\n-        unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_F_ConvCoord.py
--- a/commons/core/coord/test/Test_F_ConvCoord.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,213 +0,0 @@\n-from commons.core.utils.FileUtils import FileUtils\n-from commons.core.sql.DbFactory import DbFactory\n-from commons.core.coord.ConvCoord import ConvCoord\n-import time\n-import subprocess\n-import os\n-import unittest\n-\n-class Test_F_ConvCoord(unittest.TestCase):\n-    \n-    def setUp( self ):\n-        self._i = ConvCoord()\n-        self._uniqId = "%s_%s" % ( time.strftime("%Y%m%d%H%M%S") , os.getpid() )\n-        self._inData = "dummyInData_%s" % ( self._uniqId )\n-        self._mapData = "dummyMapData_%s" % ( self._uniqId )\n-        self._expData = "dummyExpData_%s" % ( self._uniqId )\n-        self._obsData = "dummyObsData_%s" % ( self._uniqId )\n-        self._iDb = DbFactory.createInstance()\n-        self._i._iDb = self._iDb\n-        \n-    def tearDown( self ):\n-        self._iDb.close()\n-        \n-    def test_run_as_script_alignFile_query( self ):\n-        configFile = "%s/dummyConfigFile_%s" % ( os.getcwd(), self._uniqId )\n-        configF = open( configFile, "w" )\n-        configF.write( "[repet_env]\\n" )\n-        configF.write( "repet_host: %s\\n" % ( os.environ["REPET_HOST"] ) )\n-        configF.write( "repet_user: %s\\n" % ( os.environ["REPET_USER"] ) )\n-        configF.write( "repet_pw: %s\\n" % ( os.environ["REPET_PW"] ) )\n-        configF.write( "repet_db: %s\\n" % ( os.environ["REPET_DB"] ) )\n-        configF.write( "repet_port: %s\\n" % ( os.environ["REPET_PORT"] ) )\n-        configF.close()\n-        self._writeMapFile( self._mapData )\n-        \n-        linesToProcess = [ "chunk1" + "\\t" + "21" + "\\t" + "37" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "27" + "\\t" + "8e-58" + "\\t" + "30" + "\\t" + "97.800000" + "\\n",  # hit within the 1st chunk\n-                           "chunk1" + "\\t" + "92" + "\\t" + "99" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "8" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.800000" + "\\n",   # hit included within the chunk overlap, on the 1st chunk\n-                           "chunk2" + "\\t" + "2" + "\\t" + "9" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "8" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.800000" + "\\n",       # hit included within the chunk overlap, on the 2nd chunk\n-                           "chunk2" + "\\t" + "51" + "\\t" + "58" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "8" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.800000" + "\\n",     # hit inside the 2nd chunk\n-                           "chunk2" + "\\t" + "51" + "\\t" + "70" + "\\t" + "TE1" + "\\t" + "8" + "\\t" + "1" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.800000" + "\\n"     # subject on reverse strand\n-                           ]\n-        FileUtils.writeLineListInFile( self._inData, linesToProcess )\n-        \n-        refLines = [ "chromosome1" + "\\t" + "21" + "\\t" + "37" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "27" + "\\t" + "8e-58" + "\\t" + "30" + "\\t" + "97.800000" + "\\n",\n-                     "chromosome1" + "\\t" + "92" + "\\t" + "99" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "8" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.800000" + "\\n",\n-                     "chromosome1" + "\\t" + "141" + "\\t" + "148" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "8" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.800000" + "\\n",\n-                     "chromosome1" + "\\t" + "141" + "\\t" + "160" + "\\t" + "TE1" + "\\t" + "8" + "\\t" + "1" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.800000" + "\\n"\n-                     ]\n-        FileUtils.writeLineListInFile( self._expData, refLines )\n-        \n-        cmd = "ConvCoord.py"\n-        cmd += " -i %s" % ( self._inData )\n-        cmd += " -f %s" % ( "align" )\n-        cmd += " -c %s" % ( "q" )\n-        cmd += " -m %s" % ( self._mapData )\n-        cmd += " -o %s" % ( self._obsData )\n-        cmd += " -C %s" % ( configFile )\n-        process = subprocess.Popen(cmd, shell = True)\n-        process.communicate()\n-        \n-        self.assertTrue( FileUtils.are2FilesIdentical( self._expData, self._obsData ) )\n-        \n-        os.remove( self._inData )\n-        os.remove(configFile)\n-        os.remove( self._mapData )\n-        os.r'..b'"8" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.800000" + "\\n",   # hit included within the chunk overlap, on the 1st chunk\n-                           "3" + "\\t" + "chunk2" + "\\t" + "2" + "\\t" + "9" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "8" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.800000" + "\\n",       # hit included within the chunk overlap, on the 2nd chunk\n-                           "4" + "\\t" + "chunk2" + "\\t" + "51" + "\\t" + "58" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "8" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.800000" + "\\n",     # hit inside the 2nd chunk\n-                           "5" + "\\t" + "chunk2" + "\\t" + "51" + "\\t" + "70" + "\\t" + "TE1" + "\\t" + "8" + "\\t" + "1" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.800000" + "\\n"     # subject on reverse strand\n-                           ]\n-        FileUtils.writeLineListInFile( self._inData, linesToProcess )\n-        self._iDb.createTable( self._inData, "path", self._inData, True )\n-        os.remove( self._inData )\n-        \n-        refLines = [ "1" + "\\t" + "chromosome1" + "\\t" + "21" + "\\t" + "37" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "27" + "\\t" + "8e-58" + "\\t" + "30" + "\\t" + "97.8" + "\\n",\n-                     "2" + "\\t" + "chromosome1" + "\\t" + "92" + "\\t" + "99" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "8" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.8" + "\\n",\n-                     "3" + "\\t" + "chromosome1" + "\\t" + "92" + "\\t" + "99" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "8" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.8" + "\\n",       # hit included within the chunk overlap, on the 2nd chunk\n-                     "4" + "\\t" + "chromosome1" + "\\t" + "141" + "\\t" + "148" + "\\t" + "TE1" + "\\t" + "1" + "\\t" + "8" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.8" + "\\n",\n-                     "5" + "\\t" + "chromosome1" + "\\t" + "141" + "\\t" + "160" + "\\t" + "TE1" + "\\t" + "8" + "\\t" + "1" + "\\t" + "8e-58" + "\\t" + "11" + "\\t" + "97.8" + "\\n"\n-                     ]\n-        FileUtils.writeLineListInFile( self._expData, refLines )\n-        \n-        cmd = "ConvCoord.py"\n-        cmd += " -i %s" % ( self._inData )\n-        cmd += " -f %s" % ( "path" )\n-        cmd += " -c %s" % ( "q" )\n-        cmd += " -m %s" % ( self._mapData )\n-        cmd += " -M %s" % ( "no" )\n-        cmd += " -o %s" % ( self._obsData )\n-        process = subprocess.Popen(cmd, shell = True)\n-        process.communicate()\n-        \n-        self._iDb.exportDataToFile( self._obsData, self._obsData )\n-        self.assertTrue( FileUtils.are2FilesIdentical( self._expData, self._obsData ) )\n-        \n-        os.remove( self._obsData )\n-        os.remove( self._expData )\n-        self._iDb.dropTable( self._mapData )\n-        self._iDb.dropTable( self._inData )\n-        self._iDb.dropTable( self._expData )\n-        self._iDb.dropTable( self._obsData )\n-\n-    def test_run(self):\n-        inFileName = "DmelChr4_chk.align.not_over.filtered"\n-        expFileName = "%s/Tools/DmelChr4_chr.align.not_over.filtered" % os.environ["REPET_DATA"]\n-        obsFileName = "obs.align"\n-        os.symlink("%s/Tools/%s" % (os.environ["REPET_DATA"], inFileName), inFileName)\n-        iConvCoord = ConvCoord()\n-        iConvCoord.setInputData(inFileName)\n-        iConvCoord.setMapData("%s/Tools/DmelChr4_chunks.map" % os.environ["REPET_DATA"])\n-        iConvCoord.setCoordinatesToConvert("qs")\n-        iConvCoord.setMergeChunkOverlaps(False)\n-        iConvCoord.setOutputData(obsFileName)\n-        iConvCoord.run()\n-        \n-        self.assertTrue(FileUtils.are2FilesIdentical(expFileName, obsFileName))\n-        \n-        os.remove(inFileName)\n-        os.remove(obsFileName)\n-        \n-    def _writeMapFile( self, mapFile ):\n-        mapF = open( mapFile, "w" )\n-        mapF.write( "chunk1\\tchromosome1\\t1\\t100\\n" )\n-        mapF.write( "chunk2\\tchromosome1\\t91\\t190\\n" )\n-        mapF.write( "chunk3\\tchromosome2\\t1\\t100\\n" )\n-        mapF.close()\n-\n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_Map.py
--- a/commons/core/coord/test/Test_Map.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,183 +0,0 @@
-# Copyright INRA (Institut National de la Recherche Agronomique)
-# http://www.inra.fr
-# http://urgi.versailles.inra.fr
-#
-# This software is governed by the CeCILL license under French law and
-# abiding by the rules of distribution of free software.  You can  use, 
-# modify and/ or redistribute the software under the terms of the CeCILL
-# license as circulated by CEA, CNRS and INRIA at the following URL
-# "http://www.cecill.info". 
-#
-# As a counterpart to the access to the source code and  rights to copy,
-# modify and redistribute granted by the license, users are provided only
-# with a limited warranty  and the software's author,  the holder of the
-# economic rights,  and the successive licensors  have only  limited
-# liability. 
-#
-# In this respect, the user's attention is drawn to the risks associated
-# with loading,  using,  modifying and/or developing or reproducing the
-# software by the user in light of its specific status of free software,
-# that may mean  that it is complicated to manipulate,  and  that  also
-# therefore means  that it is reserved for developers  and  experienced
-# professionals having in-depth computer knowledge. Users are therefore
-# encouraged to load and test the software's suitability as regards their
-# requirements in conditions enabling the security of their systems and/or 
-# data to be ensured and,  more generally, to use and operate it in the 
-# same conditions as regards security. 
-#
-# The fact that you are presently reading this means that you have had
-# knowledge of the CeCILL license and that you accept its terms.
-
-
-import unittest
-import os
-from commons.core.coord.Map import Map
-from commons.core.utils.FileUtils import FileUtils
-
-
-class Test_Map( unittest.TestCase ):
-    
-    def setUp(self):
-        self._map = Map()
-        
-    def test_setFromString(self):
-        line = "MbQ12Gr2Cl2\tconsensus1\t51\t1230\n"   # test with '\t' separator
-        self._map.setFromString(line)
-        self.assertEqual( self._map.name, "MbQ12Gr2Cl2" )
-        self.assertEqual( self._map.seqname, "consensus1" )
-        self.assertEqual( self._map.start, 51 )
-        self.assertEqual( self._map.end, 1230 )
-        line = "MbQ12Gr2Cl2;consensus1;51;1230"   # test with ';' separator
-        self._map.setFromString(line,";")
-        self.assertEqual( self._map.name, "MbQ12Gr2Cl2" )
-        self.assertEqual( self._map.seqname, "consensus1" )
-        self.assertEqual( self._map.start, 51 )
-        self.assertEqual( self._map.end, 1230 )
-    
-    def test___eq__(self):
-        self._map.setFromString( "MbQ12Gr2Cl2\tconsensus1\t51\t1230\n" )
-        o = Map()
-        o.setFromString( "MbQ12Gr2Cl2\tconsensus1\t51\t1230\n" )
-        self.assertEqual( self._map, o )   # same data
-        o.setFromString( "MbQ12Gr2Cl1\tconsensus1\t51\t1230\n" )
-        self.assertNotEqual( self._map, o )   # different name
-        o.setFromString( "MbQ12Gr2Cl2\tconsensus2\t51\t1230\n" )
-        self.assertNotEqual( self._map, o )   # different seqname
-        o.setFromString( "MbQ12Gr2Cl2\tconsensus1\t15\t1230\n" )
-        self.assertNotEqual( self._map, o )   # different start
-        o.setFromString( "MbQ12Gr2Cl2\tconsensus1\t51\t123000\n" )
-        self.assertNotEqual( self._map, o )   # different end
-        o.setFromString( "MbQ12Gr2Cl2\tconsensus1\t1230\t51\n" )
-        self.assertNotEqual( self._map, o )   # same start/end but in different order
-        
-    def test_setFromTuple(self):
-        tuple = ("MbQ12Gr2Cl2", "consensus1","51","1230")
-        self._map.setFromTuple(tuple)
-
-        expMap = Map("MbQ12Gr2Cl2", "consensus1",51,1230)
-        obsMap = self._map
-        
-        self.assertEquals(expMap, obsMap)
-    
-    def test_read_empty_file(self):
-        
-        fileName = "dummyFile"
-        os.system("touch " + fileName) 
-        fileHandle = open(fileName, "r")
-        
-        obsResult = self._map.read(fileHandle)
-        expResult = 0
-         
-        fileHandle.close()
-        os.remove(fileName) 
-        
-        self.assertEquals(expResult, obsResult)
-    
-    def test_read_uncompleted_line( self):
-        uncompletedLine = "MbQ12Gr2Cl2\tconsensus1\t51"
-        fileName = "dummyFile"
-
-        fileHandle = open(fileName, "w")
-        fileHandle.write(uncompletedLine)
-        fileHandle.close()
-
-        fileHandle = open(fileName, "r")
-       
-        obsResult = self._map.read(fileHandle)
-        expResult = 0
-
-        fileHandle.close()
-        os.remove(fileName)
-
-        self.assertEquals(obsResult, expResult)
-
-    def test_read(self):
-        line =  "MbQ12Gr2Cl2\tconsensus1\t51\t1230\n"
-        fileName = "dummyFile"
-
-        fileHandle = open(fileName, "w")
-        fileHandle.write(line)
-        fileHandle.close()
-
-        fileHandle = open(fileName, "r")
-        self._map.read(fileHandle)
-        obsResult = self._map
-        
-        expResult = Map()
-        expResult.setFromString(line) 
-
-        fileHandle.close()
-        os.remove(fileName)
-
-        self.assertEquals(obsResult, expResult) 
-     
-    def test_write(self):
-        line =  "MbQ12Gr2Cl2\tconsensus1\t51\t1230\n"
-        expFileName = "expFileName"
-
-        fileHandle = open(expFileName, "w")
-        fileHandle.write(line)
-        fileHandle.close()
-        
-        obsFileName = "obsFileName"
-        fileHandle = open(obsFileName, "w")
-        self._map.setFromString(line)
-        self._map.write(fileHandle)
-        fileHandle.close()
-        
-        self.assertTrue( FileUtils.are2FilesIdentical( expFileName, obsFileName ) )
-        
-        os.remove(obsFileName)
-        os.remove(expFileName)
-        
-    def test_diff1(self):
-        map1 = Map("seq1","DmelChr4", 190000, 390000)
-        map2 = Map("seq2","DmelChr4", 290000, 590000)
-        
-        expMap1 = Map("seq1", "DmelChr4", 190000, 289999)
-        expReturnedMap = Map()
-        
-        obsReturnedMap = map1.diff(map2)
-        obsMap1 = map1
-        
-        self.assertEquals(expMap1, obsMap1)
-        self.assertEquals(expReturnedMap, obsReturnedMap)
-        
-    def test_diff2(self):
-        map1 = Map("seq1","DmelChr4", 190000, 590000)
-        map2 = Map("seq2","DmelChr4", 290000, 390000)
-
-        expMap1 = Map("seq1", "DmelChr4", 190000, 289999)
-        expReturnedMap = Map("seq1", "DmelChr4", 390001, 590000)
-        
-        obsReturnedMap = map1.diff(map2)
-        obsMap1 = map1
-        
-        self.assertEquals(expMap1, obsMap1)
-        self.assertEquals(expReturnedMap, obsReturnedMap)
-        
-        
-test_suite = unittest.TestSuite()
-test_suite.addTest( unittest.makeSuite( Test_Map ) )
-if __name__ == "__main__":
-    unittest.TextTestRunner(verbosity=2).run( test_suite )
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_MapUtils.py
--- a/commons/core/coord/test/Test_MapUtils.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,384 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import unittest\n-import os\n-import sys\n-from commons.core.coord.MapUtils import MapUtils\n-from commons.core.coord.Map import Map\n-from commons.core.coord.Set import Set\n-from commons.core.utils.FileUtils import FileUtils\n-\n-\n-class Test_MapUtils( unittest.TestCase ):\n-    \n-    def test_getMapListSortedByIncreasingMinThenMax( self ):\n-        iMap1 = Map("name1", "chr1", 1, 350)\n-        iMap2 = Map("name2", "chr1", 1, 100)\n-        iMap3 = Map("name3", "chr1", 50, 350)\n-        iMap4 = Map("name4", "chr1", 5, 450)\n-        lMaps = [ iMap1, iMap2, iMap3, iMap4 ]\n-        \n-        expLMaps = [ iMap2, iMap1, iMap4, iMap3 ]\n-        \n-        obsLMaps = MapUtils.getMapListSortedByIncreasingMinThenMax( lMaps )\n-        \n-        self.assertEquals( expLMaps, obsLMaps )\n-        \n-        \n-    def test_getMapListSortedByIncreasingMinThenMax_ordered( self ):\n-        iMap1 = Map("name1", "chr1", 1, 100)\n-        iMap2 = Map("name2", "chr1", 1, 350)\n-        \n-        lMaps = [ iMap1, iMap2 ]\n-        expLMaps = [ iMap1, iMap2 ]\n-        \n-        obsLMaps = MapUtils.getMapListSortedByIncreasingMinThenMax( lMaps )\n-        \n-        self.assertEquals( expLMaps, obsLMaps )\n-        \n-        \n-    def test_getMapListSortedByIncreasingMinThenMax_unordered( self ):\n-        iMap1 = Map("name1", "chr1", 1, 350)\n-        iMap2 = Map("name2", "chr1", 1, 100)\n-        \n-        lMaps = [ iMap1, iMap2 ]\n-        expLMaps = [ iMap2, iMap1 ]\n-        \n-        obsLMaps = MapUtils.getMapListSortedByIncreasingMinThenMax( lMaps )\n-        \n-        self.assertEquals( expLMaps, obsLMaps )\n-        \n-        \n-    def test_getMapListSortedByIncreasingMinThenMax_nonOverlapping( self ):\n-        iMap1 = Map("name1", "chr1", 1, 350)\n-        iMap2 = Map("name2", "chr1", 400, 600)\n-        \n-        lMaps = [ iMap2, iMap1 ]\n-        expLMaps = [ iMap1, iMap2 ]\n-        \n-        obsLMaps = MapUtils.getMapListSortedByIncreasingMinThenMax( lMaps )\n-        \n-        self.assertEquals( expLMaps, obsLMaps )\n-        \n-        \n-    def test_getMapListSortedByIncreasingMinThenMax_sameMinThreeMaps( self ):\n-        iMap1 = Map("name1", "chr1", 350, 1)\n-        iMap2 = Map("name2", "chr1", 400, 1)\n-        iMap3 = Map("name3", "chr1", 500, 1)\n-        \n-        lMaps = [ iMap2, iMap1, iMap3 ]\n-        expLMaps = [ iMap1, iMap2, iMap3 ]\n-        \n-        obsLM'..b'SetFileHandler.write( "2\\tseq27\\tchr2\\t301\\t500\\n" )\n-        expSetFileHandler.write( "3\\tseq40\\tchr2\\t600\\t700\\n" )\n-        expSetFileHandler.write( "4\\tseq2\\tchr3\\t301\\t500\\n" )\n-        expSetFileHandler.close()\n-        \n-        obsFile = "dummyObsFile"\n-        \n-        MapUtils.convertMapFileIntoSetFile( mapInputFile, obsFile )\n-        \n-        self.assertTrue( FileUtils.are2FilesIdentical( expSetFile, obsFile ) )\n-        \n-        for f in [ expSetFile, mapInputFile, obsFile ]:\n-            os.remove( f )\n-\n-    def test_convertMapFileIntoSetFile_one_line(self):\n-        mapInputFile = "dummyExpFile"\n-        mapFileHandler = open( mapInputFile, "w" )\n-        mapFileHandler.write( "seq31\\tchr1\\t151\\t250\\n" )\n-        mapFileHandler.close()\n-\n-        expSetFile = "dummyexpSetFile"\n-        expSetFileHandler = open( expSetFile, "w" )\n-        expSetFileHandler.write( "1\\tseq31\\tchr1\\t151\\t250\\n" )\n-        expSetFileHandler.close()\n-        \n-        obsFile = "dummyObsFile"\n-        \n-        MapUtils.convertMapFileIntoSetFile( mapInputFile, obsFile )\n-        \n-        self.assertTrue( FileUtils.are2FilesIdentical( expSetFile, obsFile ) )\n-        \n-        for f in [ expSetFile, mapInputFile, obsFile ]:\n-            os.remove( f )\n-\n-    def test_convertMapFileIntoSetFile_empty_file(self):\n-        mapInputFile = "dummyFile.map"\n-        mapFileHandler = open( mapInputFile, "w" )\n-        mapFileHandler.close()\n-        \n-        expFile = "dummyExpFile.map.set"\n-        expFileHandler = open( expFile, "w" )\n-        expFileHandler.close()\n-        \n-        obsFile = "dummyFile.map.set"\n-        \n-        MapUtils.convertMapFileIntoSetFile( mapInputFile )\n-        \n-        self.assertTrue( FileUtils.are2FilesIdentical( expFile, obsFile ) )\n-        \n-        for f in [ expFile, mapInputFile, obsFile ]:\n-            os.remove( f )\n-            \n-    def test_writeListInFile_empty_list(self):\n-        lMaps = [ ]\n-        expFileName = "expFileName"\n-        fileHandle = open(expFileName, "w")\n-        fileHandle.close()\n- \n-        obsFileName = "obsFileName"\n-        fileHandle = open(obsFileName, "w")\n-        MapUtils.writeListInFile(lMaps, obsFileName, "w")\n-        fileHandle.close()\n-         \n-        self.assertTrue( FileUtils.are2FilesIdentical( expFileName, obsFileName ) )\n-        \n-        os.remove(obsFileName)\n-        os.remove(expFileName)\n-        \n-    def test_writeListInFile_list_one_set(self):\n-        lMaps = [ Map( "map1", "map1seq", 1, 10 ) ]\n-        line =  "map1\\tmap1seq\\t1\\t10\\n"\n-       \n-        expFileName = "expFileName"\n- \n-        fileHandle = open(expFileName, "w")\n-        fileHandle.write(line)\n-        fileHandle.close()\n- \n-        obsFileName = "obsFileName"\n-        fileHandle = open(obsFileName, "w")\n-        MapUtils.writeListInFile(lMaps, obsFileName, "w")\n-        fileHandle.close()\n-         \n-        self.assertTrue( FileUtils.are2FilesIdentical( expFileName, obsFileName ) )\n-        \n-        os.remove(obsFileName)\n-        os.remove(expFileName)\n-\n-    def test_getMinLengthOfMapFile(self):\n-        mapFileName = "%s/Gnome_tools/Vein_v4_scaffold_00001.fa.Nstretch.map" % os.environ["REPET_DATA"]\n-        expMinLengthofMapFile = 20\n-        iMap = MapUtils()\n-        obsMinLengthofMapFile = iMap.getMinLengthOfMapFile(mapFileName)\n-        self.assertEquals(expMinLengthofMapFile, obsMinLengthofMapFile)\n-       \n-    def test_getMaxLengthOfMapFile(self):\n-        mapFileName = "%s/Gnome_tools/Vein_v4_scaffold_00001.fa.Nstretch.map" % os.environ["REPET_DATA"]\n-        expMinLengthofMapFile = 6344\n-        iMap = MapUtils()\n-        obsMinLengthofMapFile = iMap.getMaxLengthOfMapFile(mapFileName)\n-        self.assertEquals(expMinLengthofMapFile, obsMinLengthofMapFile)\n-       \n-\n-        \n-test_suite = unittest.TestSuite()\n-test_suite.addTest( unittest.makeSuite( Test_MapUtils ) )\n-if __name__ == "__main__":\n-    unittest.TextTestRunner(verbosity=2).run( test_suite )\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_Match.py
--- a/commons/core/coord/test/Test_Match.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,363 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import unittest\n-from commons.core.coord.Match import Match\n-from commons.core.coord.Path import Path\n-\n-\n-class Test_Match( unittest.TestCase ):\n-    \n-    def test_eq_match_equals( self ):\n-        tuple1 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match1 = Match()\n-        match1.setFromTuple(tuple1)\n-        tuple2 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match2 = Match()\n-        match2.setFromTuple(tuple2)\n-        self.assertEquals( match1, match2 )\n-        \n-    def test_eq_match_not_equals_query_name( self ):\n-        tuple1 = ("Name", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match1 = Match()\n-        match1.setFromTuple(tuple1)\n-        tuple2 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match2 = Match()\n-        match2.setFromTuple(tuple2)\n-        self.assertNotEquals( match1, match2 )\n-        \n-    def test_eq_match_not_equals_query_start( self ):\n-        tuple1 = ("QName", 2, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match1 = Match()\n-        match1.setFromTuple(tuple1)\n-        tuple2 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match2 = Match()\n-        match2.setFromTuple(tuple2)\n-        self.assertNotEquals( match1, match2 )\n-        \n-    def test_eq_match_not_equals_query_end( self ):\n-        tuple1 = ("QName", 1, 6, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match1 = Match()\n-        match1.setFromTuple(tuple1)\n-        tuple2 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match2 = Match()\n-        match2.setFromTuple(tuple2)\n-        self.assertNotEquals( match1, match2 )\n-        \n-    def test_eq_match_not_equals_query_length( self ):\n-        tuple1 = ("QName", 1, 5, 6, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match1 = Match()\n-        match1.setFromTuple(tuple1)\n-        tuple2 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match2 = Match()\n-        match2.setFromTuple(tuple2)\n-        self.assertNotEquals( match1, match2 )\n-        \n-    def test_eq_match_not_equals_query_length_perc( self ):\n-        tuple1 = ("QName", 1, 5, 5, 0.15, 0.2, "SName'..b'ple = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match = Match()\n-        match.setFromTuple(tuple)\n-        expString = "QName\\t1\\t5\\t5\\t%f\\t%f\\tSName\\t5\\t25\\t20\\t%f\\t%g\\t15\\t%f\\t1" % (0.1,0.2,0.15,1e-20, 87.2)\n-        obsString = match.toString()\n-        self.assertEquals(expString, obsString)\n-        \n-    def test_getPathInstance( self ):\n-        tuple = ( "QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1 )\n-        match = Match()\n-        match.setFromTuple( tuple )\n-        tuple = ( 1, "QName", 1, 5, "SName", 5, 25, 1e-20, 15, 87.2 )\n-        exp = Path()\n-        exp.setFromTuple( tuple )\n-        obs = match.getPathInstance()\n-        self.assertEqual( exp, obs )\n-        \n-    def test_getQryIsIncluded(self):\n-        tuple = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match = Match()\n-        match.setFromTuple(tuple)\n-        expString = "query QName (50 bp: 1-5) is contained in subject SName (133 bp: 5-25): id=87.20 - 0.100 - 0.200 - 0.150"\n-        obsString = match.getQryIsIncluded()\n-        self.assertEquals(expString, obsString)\n-        \n-    def test_isDoublonWith_Matchs_equals(self):\n-        tuple1 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match1 = Match()\n-        match1.setFromTuple(tuple1)\n-        tuple2 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match2 = Match()\n-        match2.setFromTuple(tuple2)\n-        self.assertTrue(match1.isDoublonWith(match2))\n-        \n-    def test_isDoublonWith_Matchs_unequals_on_MatchNumbers(self):\n-        tuple1 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match1 = Match()\n-        match1.setFromTuple(tuple1)\n-        tuple2 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 86.2, 1)\n-        match2 = Match()\n-        match2.setFromTuple(tuple2)\n-        self.assertFalse(match1.isDoublonWith(match2))\n-        \n-    def test_isDoublonWith_Matchs_unequals_on_SeqNames(self):\n-        tuple1 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match1 = Match()\n-        match1.setFromTuple(tuple1)\n-        tuple2 = ("QName", 1, 5, 5, 0.1, 0.2, "Name", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match2 = Match()\n-        match2.setFromTuple(tuple2)\n-        self.assertFalse(match1.isDoublonWith(match2))\n-        \n-    def test_isDoublonWith_Matchs_unequals_on_Coordinates(self):\n-        tuple1 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match1 = Match()\n-        match1.setFromTuple(tuple1)\n-        tuple2 = ("QName", 1, 6, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match2 = Match()\n-        match2.setFromTuple(tuple2)\n-        self.assertFalse(match1.isDoublonWith(match2))\n-        \n-    def test_isDoublonWith_Reversed_Matchs_equals(self):\n-        tuple1 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match1 = Match()\n-        match1.setFromTuple(tuple1)\n-        tuple2 = ("SName", 5, 25, 20, 0.15, 0.2, "QName", 1, 5, 5, 0.1, 1e-20, 15, 87.2, 1)\n-        match2 = Match()\n-        match2.setFromTuple(tuple2)\n-        self.assertTrue(match1.isDoublonWith(match2))\n-        \n-    def test_isDoublonWith_Reversed_Matchs_unequals(self):\n-        tuple1 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)\n-        match1 = Match()\n-        match1.setFromTuple(tuple1)\n-        tuple2 = ("SName", 5, 25, 20, 0.15, 0.2, "QName", 1, 6, 5, 0.1, 1e-20, 15, 87.2, 1)\n-        match2 = Match()\n-        match2.setFromTuple(tuple2)\n-        self.assertFalse(match1.isDoublonWith(match2))\n-        \n-        \n-test_suite = unittest.TestSuite()\n-test_suite.addTest( unittest.makeSuite( Test_Match ) )\n-if __name__ == "__main__":\n-    unittest.TextTestRunner(verbosity=2).run( test_suite )\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_MatchUtils.py
--- a/commons/core/coord/test/Test_MatchUtils.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,439 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import unittest\n-import os\n-from commons.core.utils.FileUtils import FileUtils\n-from commons.core.coord.MatchUtils import MatchUtils\n-from commons.core.coord.Match import Match\n-from commons.core.seq.BioseqDB import BioseqDB\n-\n-\n-class Test_MatchUtils( unittest.TestCase ):\n-    \n-    def test_getMatchListFromFile( self ):\n-        inFile = "dummyInFile"\n-        inFileHandler = open( inFile, "w" )\n-        inFileHandler.write( "query.name\\tquery.start\\tquery.end\\tquery.length\\tquery.length.%\\tmatch.length.%\\tsubject.name\\tsubject.start\\tsubject.end\\tsubject.length\\tsubject.length.%\\tE.value\\tScore\\tIdentity\\tpath\\n" )\n-        m1 = Match()\n-        m1.setFromTuple( ("QName", 1, 5, 5, 0.1, 0.2, "SName1", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1) )\n-        m1.write( inFileHandler )\n-        m2 = Match()\n-        m2.setFromTuple( ("QName", 1, 5, 5, 0.1, 0.2, "SName2", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1) )\n-        m2.write( inFileHandler )\n-        inFileHandler.close()\n-        \n-        lExp = [ m1, m2 ]\n-        \n-        lObs = MatchUtils.getMatchListFromFile( inFile )\n-        \n-        self.assertEquals( lExp, lObs )\n-        \n-        os.remove( inFile )\n-        \n-    def test_getDictOfListsWithSubjectAsKey( self ):\n-        m1 = Match()\n-        m1.setFromTuple( ("QName", 1, 5, 5, 0.1, 0.2, "SName1", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1) )\n-        m2 = Match()\n-        m2.setFromTuple( ("QName", 1, 5, 5, 0.1, 0.2, "SName2", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1) )\n-        lMatch = [ m1, m2 ]\n-        \n-        dExp = { "SName1": [ m1 ], "SName2": [ m2 ] }\n-        \n-        dObs = MatchUtils.getDictOfListsWithSubjectAsKey( lMatch )\n-        \n-        self.assertEquals( dExp, dObs )\n-        \n-    def test_getDictOfListsWithQueryAsKey( self ):\n-        m1 = Match()\n-        m1.setFromTuple( ("QName1", 1, 5, 5, 0.1, 0.2, "SName1", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1) )\n-        m2 = Match()\n-        m2.setFromTuple( ("QName2", 1, 5, 5, 0.1, 0.2, "SName2", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1) )\n-        m3 = Match()\n-        m3.setFromTuple( ("QName1", 1, 5, 5, 0.1, 0.2, "SName3", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1) )\n-        lMatch = [ m1, m2, m3 ]\n-        \n-        dExp = { "QName1": [ m1, m3 ], "QName2": [ m2 ] }\n-        \n-        dObs = MatchUtils.getDictOfListsWithQueryAsKey( lMatch )\n-        \n-        self.assertEquals'..b'TTCACTGGTGTGTCATGCACATTTAATAGGGGTAAGACTGAATAAAAAATGATTATTTG\\n")\n-        f.write("CATGAAATGGGGATGAGAGAGAAGGAAAGAGTTTCATCCTGGGATTCGTTTCATTCACCG\\n")\n-        f.close()\n-\n-    def _writeMatchFile2(self, fileName):\n-        f = open(fileName, "w")\n-        f.write("query.name\\tquery.start\\tquery.end\\tquery.length\\tquery.length.%\\tmatch.length.%\\tsubject.name\\tsubject.start\\tsubject.end\\tsubject.length\\tsubject.length.%\\tE.value\\tScore\\tIdentity\\tpath\\n")\n-        f.write("header2\\t1\\t120\\t120\\t1\\t0.674157\\tBS31790\\t19\\t138\\t120\\t0.674157\\t3e-68\\t238\\t100\\t1\\n")\n-        f.close()\n-        \n-    def _writeMatchFile3(self, fileName):\n-        f = open(fileName, "w")\n-        f.write("query.name\\tquery.start\\tquery.end\\tquery.length\\tquery.length.%\\tmatch.length.%\\tsubject.name\\tsubject.start\\tsubject.end\\tsubject.length\\tsubject.length.%\\tE.value\\tScore\\tIdentity\\tpath\\n")\n-        f.write("header2\\t1\\t120\\t120\\t0.674157\\t0.674157\\tBS31790\\t19\\t138\\t120\\t0.674157\\t3e-68\\t238\\t100\\t1\\n")\n-        f.write("header3\\t1\\t120\\t120\\t0.99\\t0.994157\\tBS31790\\t19\\t138\\t120\\t0.994157\\t3e-68\\t238\\t100\\t1\\n")\n-        f.write("header4\\t1\\t120\\t120\\t1\\t0.94157\\tBS31790\\t19\\t138\\t120\\t0.674157\\t3e-68\\t238\\t67\\t1\\n")\n-        f.close()\n-        \n-    def _writeMatchFile4(self, fileName):\n-        f = open(fileName, "w")\n-        f.write("query.name\\tquery.start\\tquery.end\\tquery.length\\tquery.length.%\\tmatch.length.%\\tsubject.name\\tsubject.start\\tsubject.end\\tsubject.length\\tsubject.length.%\\tE.value\\tScore\\tIdentity\\tpath\\n")\n-        f.write("header2\\t1\\t120\\t120\\t0.674157\\t0.674157\\tBS31790\\t19\\t138\\t120\\t0.674157\\t3e-68\\t238\\t100\\t1\\n")\n-        f.write("header3\\t120\\t220\\t120\\t0.99\\t0.994157\\tBS31790\\t19\\t138\\t120\\t0.994157\\t3e-65\\t238\\t100\\t1\\n")\n-        f.write("header4\\t1\\t120\\t120\\t1\\t0.94157\\tBS31790\\t19\\t138\\t120\\t0.674157\\t3e-67\\t244\\t90\\t1\\n")\n-        f.close()\n-        \n-    def _writeExpAlignFile(self,fileName):\n-        f = open(fileName, "w")\n-        f.write("header2\\t1\\t120\\tBS31790\\t19\\t138\\t3e-68\\t238.0\\t100.0\\n")\n-        f.write("header3\\t120\\t220\\tBS31790\\t19\\t138\\t3e-65\\t238.0\\t100.0\\n")\n-        f.write("header4\\t1\\t120\\tBS31790\\t19\\t138\\t3e-67\\t244.0\\t90.0\\n")\n-        f.close()\n-        \n-    def _writeMatchFile5(self,fileName):\n-        f = open(fileName, "w")\n-        f.write("query.name\\tquery.start\\tquery.end\\tquery.length\\tquery.length.%\\tmatch.length.%\\tsubject.name\\tsubject.start\\tsubject.end\\tsubject.length\\tsubject.length.%\\tE.value\\tScore\\tIdentity\\tpath\\n")\n-        f.write("header2\\t1\\t120\\t120\\t0.674157\\t0.674157\\tBS31790\\t19\\t138\\t120\\t0.674157\\t3e-68\\t238\\t100\\t1\\n")\n-        f.write("header2\\t124\\t144\\t120\\t0.674157\\t0.674157\\tBS31790\\t19\\t138\\t120\\t0.674157\\t3e-68\\t238\\t100\\t1\\n")\n-        f.write("header3\\t120\\t220\\t120\\t0.99\\t0.994157\\tBS31790\\t19\\t138\\t120\\t0.994157\\t3e-65\\t238\\t100\\t1\\n")\n-        f.write("header4\\t1\\t120\\t120\\t1\\t0.94157\\tBS31790\\t19\\t138\\t120\\t0.674157\\t3e-67\\t244\\t90\\t1\\n")\n-        f.close()\n-        \n-    def _writeExpMatchFile(self,fileName):\n-        f = open(fileName, "w")\n-        f.write("query.name\\tquery.start\\tquery.end\\tquery.length\\tquery.length.%\\tmatch.length.%\\tsubject.name\\tsubject.start\\tsubject.end\\tsubject.length\\tsubject.length.%\\tE.value\\tScore\\tIdentity\\tpath\\n")\n-        f.write("header2\\t1\\t120\\t120\\t0.674157\\t0.674157\\tBS31790\\t19\\t138\\t120\\t0.674157\\t3e-68\\t238\\t100.000000\\t1\\n")\n-        f.write("header2\\t124\\t144\\t120\\t0.674157\\t0.674157\\tBS31790\\t19\\t138\\t120\\t0.674157\\t3e-68\\t238\\t100.000000\\t1\\n")\n-        f.write("header3\\t120\\t220\\t120\\t0.990000\\t0.994157\\tBS31790\\t19\\t138\\t120\\t0.994157\\t3e-65\\t238\\t100.000000\\t2\\n")\n-        f.write("header4\\t1\\t120\\t120\\t1.000000\\t0.941570\\tBS31790\\t19\\t138\\t120\\t0.674157\\t3e-67\\t244\\t90.000000\\t3\\n")\n-        f.close()\n-    \n-\n-test_suite = unittest.TestSuite()\n-test_suite.addTest( unittest.makeSuite( Test_MatchUtils ) )\n-if __name__ == "__main__":\n-    unittest.TextTestRunner(verbosity=2).run( test_suite )\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_MergedRange.py
--- a/commons/core/coord/test/Test_MergedRange.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,119 +0,0 @@
-import unittest
-from commons.core.coord.MergedRange import MergedRange
-from commons.core.coord.Match import Match
-
-class Test_MergedRange(unittest.TestCase):
-    
-    def test_eq_True(self):
-        mr1 = MergedRange([1], 6, 10)
-        mr2 = MergedRange([1], 6, 10)
-        self.assertEquals(mr1, mr2)
-    
-    def test_eq_different_list(self):
-        mr1 = MergedRange([1], 6, 10)
-        mr2 = MergedRange([1, 2], 6, 10)
-        self.assertNotEquals(mr1, mr2)
-    
-    def test_eq_different_start(self):
-        mr1 = MergedRange([1], 5, 10)
-        mr2 = MergedRange([1], 6, 10)
-        self.assertNotEquals(mr1, mr2)
-    
-    def test_eq_different_end(self):
-        mr1 = MergedRange([1], 6, 10)
-        mr2 = MergedRange([1], 6, 11)
-        self.assertNotEquals(mr1, mr2)
-
-    def test_isOverlapping_no( self ):
-        mr1 = MergedRange([1], 6, 10)
-        mr2 = MergedRange([2], 16, 20)
-        exp = False
-        obs = mr1.isOverlapping( mr2 )
-        self.assertEquals( exp, obs )
-        
-    def test_isOverlapping_yes( self ):
-        mr1 = MergedRange([1], 6, 10)
-        mr2 = MergedRange([2], 5, 20)
-        exp = True
-        obs = mr1.isOverlapping( mr2 )
-        self.assertEquals( exp, obs )
-
-    def test_isOverlapping_range1_before_range2( self ):
-        mr1 = MergedRange([1], 6, 10)
-        mr2 = MergedRange([2], 8, 15)
-        exp = True
-        obs = mr1.isOverlapping( mr2 )
-        self.assertEquals( exp, obs )
-        
-    def test_isOverlapping_range1_after_range2( self ):
-        mr1 = MergedRange([1], 6, 10)
-        mr2 = MergedRange([2], 1, 8)
-        exp = True
-        obs = mr1.isOverlapping( mr2 )
-        self.assertEquals( exp, obs )
-        
-    def test_isOverlapping_range1_equal_range2( self ):
-        mr1 = MergedRange([1], 6, 10)
-        mr2 = MergedRange([2], 6, 10)
-        exp = True
-        obs = mr1.isOverlapping( mr2 )
-        self.assertEquals( exp, obs )
-    
-    def test_merge_mr1_with_mr2(self):
-        otherMergedRange = MergedRange()
-        otherMergedRange._lId.append(3)
-        otherMergedRange._start = 1
-        otherMergedRange._end = 10
-        
-        mr1 = MergedRange()
-        mr1._lId.append(1)
-        mr1._start = 6
-        mr1._end = 10
-        
-        mr2 = MergedRange([2], 1, 15)
-        mr1.merge(mr2)
-        
-        exp = MergedRange([1, 2], 1, 15)
-        self.assertEquals(exp, mr1)
-        
-    def test_merge_mr2_with_mr1(self):
-        mr1 = MergedRange([1], 6, 10)
-        mr2 = MergedRange([2], 1, 15)
-        mr2.merge(mr1)
-        exp = MergedRange([1, 2], 1, 15)
-        self.assertEquals(exp, mr2)
-        
-    def test_setFromMatch(self):
-        tuple = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)
-        iMatch = Match()
-        iMatch.setFromTuple(tuple)
-        
-        expMergedRange = MergedRange([1], 1, 5)
-        obsMergedRange = MergedRange()
-        obsMergedRange.setFromMatch(iMatch)
-        
-        self.assertEquals(expMergedRange, obsMergedRange)
-    
-    def test_getMergedRangeListFromMatchList(self):
-        tuple1 = ("QName", 1, 5, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 1)
-        iMatch1 = Match()
-        iMatch1.setFromTuple(tuple1)
-        tuple2 = ("QName", 10, 15, 5, 0.1, 0.2, "SName", 5, 25, 20, 0.15, 1e-20, 15, 87.2, 2)
-        iMatch2 = Match()
-        iMatch2.setFromTuple(tuple2)
-        lMatch = [iMatch1, iMatch2]
-        
-        explMergedRange = [MergedRange([1], 1, 5), MergedRange([2], 10, 15)]
-        obslMergedRange = MergedRange.getMergedRangeListFromMatchList(lMatch)
-
-        self.assertEquals(explMergedRange, obslMergedRange)
-    
-    def test_getMergedRangeListFromMatchList_empty_list(self):
-        lMatch = []
-        explMergedRange = []
-        obslMergedRange = MergedRange.getMergedRangeListFromMatchList(lMatch)
-
-        self.assertEquals(explMergedRange, obslMergedRange)
-        
-if __name__ == "__main__":
-    unittest.main()
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_Path.py
--- a/commons/core/coord/test/Test_Path.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,146 +0,0 @@
-# Copyright INRA (Institut National de la Recherche Agronomique)
-# http://www.inra.fr
-# http://urgi.versailles.inra.fr
-#
-# This software is governed by the CeCILL license under French law and
-# abiding by the rules of distribution of free software.  You can  use, 
-# modify and/ or redistribute the software under the terms of the CeCILL
-# license as circulated by CEA, CNRS and INRIA at the following URL
-# "http://www.cecill.info". 
-#
-# As a counterpart to the access to the source code and  rights to copy,
-# modify and redistribute granted by the license, users are provided only
-# with a limited warranty  and the software's author,  the holder of the
-# economic rights,  and the successive licensors  have only  limited
-# liability. 
-#
-# In this respect, the user's attention is drawn to the risks associated
-# with loading,  using,  modifying and/or developing or reproducing the
-# software by the user in light of its specific status of free software,
-# that may mean  that it is complicated to manipulate,  and  that  also
-# therefore means  that it is reserved for developers  and  experienced
-# professionals having in-depth computer knowledge. Users are therefore
-# encouraged to load and test the software's suitability as regards their
-# requirements in conditions enabling the security of their systems and/or 
-# data to be ensured and,  more generally, to use and operate it in the 
-# same conditions as regards security. 
-#
-# The fact that you are presently reading this means that you have had
-# knowledge of the CeCILL license and that you accept its terms.
-
-
-import unittest
-from commons.core.coord.Path import Path
-from commons.core.coord.Align import Align
-from commons.core.coord.Set import Set
-
-
-class Test_Path( unittest.TestCase ):
-    
-    def setUp( self ):
-        self._path = Path()
-        
-    def test_setFromTuple( self ):
-        line = "1\tchr1\t1\t10\tTE2\t11\t17\t1e-20\t30\t90.2"
-        self._path.setFromTuple( line.split("\t") )
-        self.assertEqual( self._path.id, 1 )
-        self.assertEqual( self._path.range_query.seqname, "chr1" )
-        self.assertEqual( self._path.range_query.start, 1 )
-        self.assertEqual( self._path.range_query.end, 10 )
-        self.assertEqual( self._path.range_subject.seqname, "TE2" )
-        self.assertEqual( self._path.range_subject.start, 11 )
-        self.assertEqual( self._path.range_subject.end, 17 )
-        self.assertEqual( self._path.e_value, float("1e-20") )
-        self.assertEqual( self._path.score, float("30") )
-        self.assertEqual( self._path.identity, float("90.2") )
-        
-    def test___eq__( self ):
-        self._path.setFromString( "1\tchr1\t1\t6\tTE2\t11\t16\t1e-20\t30\t90.2\n" )
-        o = Path()
-        o.setFromString( "1\tchr1\t1\t6\tTE2\t11\t16\t1e-20\t30\t90.2\n" )
-        self.assertEqual( self._path,  o )
-        o.setFromString( "2\tchr1\t1\t6\tTE2\t11\t16\t1e-20\t30\t90.2\n" )
-        self.assertNotEqual( self._path,  o )
-        o.setFromString( "1\tchr1\t1\t6\tTE2\t11\t16\t1e-20\t3000000\t90.2\n" )
-        self.assertNotEqual( self._path,  o )
-        
-    def test_canMerge( self ):
-        tuple = ("1", "chr1","1", "10","TE2","11","17","1e-20","30","90.2")
-        self._path.setFromTuple(tuple)
-        tuple = ("2", "chr1","2", "9","TE2","10","13","1e-20","30","90.2")
-        o = Path()
-        o.setFromTuple(tuple)
-        self.assertTrue(self._path.canMerge(o))
-        
-    def test_canMerge_on_same_id ( self ): 
-        tuple = ("1", "chr1","1", "10","TE2","11","17","1e-20","30","90.2")
-        self._path.setFromTuple(tuple)
-        tuple = ("1", "chr1","2", "9","TE2","10","13","1e-20","30","90.2")
-        o = Path()
-        o.setFromTuple(tuple)
-        self.assertFalse(self._path.canMerge(o))
-        
-    def test_canMerge_on_same_chr( self ):     
-        tuple = ("1", "chr1","1", "10","TE2","11","17","1e-20","30","90.2")
-        self._path.setFromTuple(tuple)
-        tuple = ("2", "chr2","2", "9","TE2","10","13","1e-20","30","90.2")
-        o = Path()
-        o.setFromTuple(tuple)
-        self.assertFalse(self._path.canMerge(o))
-        
-    def test_canMerge_on_diff_subj( self ):      
-        tuple = ("1", "chr1","1", "10","TE2","11","17","1e-20","30","90.2")
-        self._path.setFromTuple(tuple)
-        tuple = ("2", "chr1","2", "9","TE3","10","13","1e-20","30","90.2")
-        o = Path()
-        o.setFromTuple(tuple)
-        self.assertFalse(self._path.canMerge(o)) 
-        
-    def test_canMerge_on_queries_that_do_not_overlap( self ):
-        tuple = ("1", "chr1","5", "11","TE2","11","17","1e-20","30","90.2")
-        self._path.setFromTuple(tuple)
-        tuple = ("2", "chr1","1", "4","TE2","10","13","1e-20","30","90.2")
-        o = Path()
-        o.setFromTuple(tuple)
-        self.assertFalse(self._path.canMerge(o)) 
-        
-    def test_canMerge_on_subjects_that_do_not_overlap( self ):    
-        tuple = ("1", "chr1","1", "10","TE2","11","17","1e-20","30","90.2")
-        self._path.setFromTuple(tuple)
-        tuple = ("2", "chr1","2", "9","TE2","1","10","1e-20","30","90.2")
-        o = Path()
-        o.setFromTuple(tuple)
-        self.assertFalse(self._path.canMerge(o))
-        
-    def test_getSubjectAsSetOfQuery( self ):
-        tuple = ("1","chr1","1","10","TE2","11","17","1e-20","30","90.2")
-        self._path.setFromTuple(tuple)
-        exp = Set(1,"TE2","chr1",1,10)
-        obs = self._path.getSubjectAsSetOfQuery()
-        self.assertEqual( exp, obs )
-        
-    def test_getSubjectAsSetOfQuery_on_neg_strand( self ):
-        tuple = ("1","chr1","10","1","TE2","11","17","1e-20","30","90.2")
-        self._path.setFromTuple(tuple)
-        exp = Set(1,"TE2","chr1",10,1)
-        obs = self._path.getSubjectAsSetOfQuery()
-        self.assertEqual( exp, obs )
-        
-    def test_toString( self ):
-        self._path.setFromString( "1\tchr1\t1\t10\tTE3\t11\t17\t1e-20\t30\t85.2\n" )
-        exp = "1\tchr1\t1\t10\tTE3\t11\t17\t%g\t30\t%f" % ( 1e-20, 85.2 )
-        obs = self._path.toString()
-        self.assertEqual( obs, exp )
-        
-    def test_getAlignInstance( self ):
-        self._path.setFromTuple( ( "2", "chr3", "250", "151", "seq5", "1", "100", "1e-32", "147", "87.9" ) )
-        expAlign = Align()
-        expAlign.setFromTuple( ( "chr3", "151", "250", "seq5", "100", "1", "1e-32", "147", "87.9" ) )
-        obsAlign = self._path.getAlignInstance()
-        self.assertEqual( expAlign, obsAlign )
-        
-        
-test_suite = unittest.TestSuite()
-test_suite.addTest( unittest.makeSuite( Test_Path ) )
-if __name__ == "__main__":
-    unittest.TextTestRunner(verbosity=2).run( test_suite )
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_PathUtils.py
--- a/commons/core/coord/test/Test_PathUtils.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,1667 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import unittest\n-import os\n-import time\n-from commons.core.coord.PathUtils import PathUtils\n-from commons.core.coord.Path import Path\n-from commons.core.coord.Set import Set\n-from commons.core.utils.FileUtils import FileUtils\n-from commons.core.coord.Range import Range\n-from commons.core.coord.Align import Align\n-\n-\n-class Test_PathUtils ( unittest.TestCase ):\n-\n-    def test_getSetListFromQueries( self ):\n-        set1 = Set(1,"TE2","chr1",1,10)\n-        set2 = Set(1,"TE2","chr1",10,1)\n-        set3 = Set(1,"TE3","chr4",12,22)\n-    \n-        expList = [set1, set2, set3]\n-\n-        tuple1 = ("1","chr1","1","10","TE2","11","17","1e-20","30","90.2")\n-        tuple2 = ("1","chr1","10","1","TE2","11","17","1e-20","30","90.2")\n-        tuple3 = ("1","chr4","12","22","TE3","11","17","1e-20","30","90.2")\n-\n-        pathList = self._makePathListFromTupleList( [ tuple1, tuple2, tuple3 ] )\n-\n-        obsList = PathUtils.getSetListFromQueries( pathList )\n-\n-        self.assertEquals( expList, obsList )\n-        \n-    \n-    def test_getSetListFromQueries_on_empty_list( self ):\n-        expList = []\n-        obsList = PathUtils.getSetListFromQueries( [] )\n-\n-        self.assertEquals( expList, obsList )\n-        \n-        \n-    def test_getSetListFromQueries_on_list_size1( self ):\n-        set1 = Set(1,"TE2","chr1",1,10)\n-        \n-        expList = [set1]\n-        \n-        tuple1 = ("1","chr1","1","10","TE2","11","17","1e-20","30","90.2")\n-        path1 = Path()\n-        path1.setFromTuple(tuple1)\n-        \n-        pathList = [path1]\n-        obsList = PathUtils.getSetListFromQueries( pathList )\n-        \n-        self.assertEquals( expList, obsList )\n-        \n-        \n-    def test_getRangeListFromSubjects_initiallyOrdered_directStrand( self ):\n-        tuple1 = ("1","chr1","1","10","TE2","1","10","1e-20","30","90.2")\n-        tuple2 = ("1","chr1","21","30","TE2","11","20","1e-20","30","90.2")\n-        tuple3 = ("1","chr1","41","50","TE2","21","30","1e-20","30","90.2")\n-        lPaths = self._makePathListFromTupleList( [ tuple1, tuple2, tuple3 ] )\n-        \n-        iSet1 = Range( "TE2", 1, 10 )\n-        iSet2 = Range( "TE2", 11, 20 )\n-        iSet3 = Range( "TE2", 21, 30 )\n-        lExp = [ iSet1, iSet2, iSet3 ]\n-        \n-        lObs = PathUtils.getRangeListFromSubjects( lPaths )\n-        \n-        self.assertEquals( lExp, lObs )\n-'..b'\\t4641\\t0\\t585\\t97.3607\\n")\n-        f.write("9\\taurora-element\\t2265\\t2483\\tAtha5Chr4_Pals_Piler_3595_62_MAP_3\\t3999\\t4218\\t0\\t361\\t96.347\\n")\n-        f.write("10\\taurora-element\\t2834\\t4045\\tAtha5Chr4_Pals_Piler_3595_69_MAP_3\\t4800\\t6011\\t0\\t2074\\t97.0248\\n")\n-        f.write("11\\taurora-element\\t2\\t113\\tAtha5Chr4_Pals_Piler_3598_69_MAP_3\\t205\\t317\\t8.5e-37\\t157\\t93.75\\n")\n-        f.write("11\\taurora-element\\t2\\t113\\tAtha5Chr4_Pals_Piler_3598_69_MAP_3\\t305\\t417\\t8.5e-37\\t157\\t93.75\\n")\n-        f.write("11\\taurora-element\\t2\\t113\\tAtha5Chr4_Pals_Piler_3598_69_MAP_3\\t305\\t417\\t8.5e-37\\t157\\t93.75\\n")\n-        f.close()            \n-        \n-        obsPathFile = "obsDummyPathFile"\n-        PathUtils.removeInPathFileDuplicatedPathOnQueryNameQueryCoordAndSubjectName(pathFile, obsPathFile)\n-        \n-        expPathFile = "expDummyPathFile"\n-        f = open(expPathFile, "w")\n-        f.write("1\\tG4\\t1\\t3856\\tAtha5Chr4_Pals_Piler_3590_69_MAP_3\\t1\\t3856\\t0\\t7642\\t99.974100\\n")\n-        f.write("2\\trooA\\t1\\t386\\tAtha5Chr4_Pals_Piler_3589_69_MAP_3\\t1\\t386\\t6.3e-220\\t758\\t99.481900\\n")\n-        f.write("3\\trooA\\t7236\\t7621\\tAtha5Chr4_Pals_Piler_3536_69_MAP_3\\t1\\t386\\t6.3e-220\\t758\\t99.481900\\n")\n-        f.write("4\\trooA\\t387\\t7235\\tAtha5Chr4_Pals_Piler_3596_69_MAP_3\\t1\\t6849\\t0\\t13580\\t99.985400\\n")\n-        f.write("5\\taurora-element\\t4046\\t4257\\tAtha5Chr4_Pals_Piler_3540_69_MAP_3\\t1\\t204\\t6.1e-80\\t300\\t96.568600\\n")\n-        f.write("6\\taurora-element\\t274\\t381\\tAtha5Chr4_Pals_Piler_3595_23_MAP_3\\t177\\t284\\t0\\t191\\t97.222200\\n")\n-        f.write("6\\taurora-element\\t116\\t287\\tAtha5Chr4_Pals_Piler_3595_30_MAP_3\\t3\\t170\\t0\\t290\\t98.809500\\n")\n-        f.write("7\\taurora-element\\t393\\t902\\tAtha5Chr4_Pals_Piler_3595_31_MAP_3\\t1467\\t1945\\t0\\t873\\t97.244100\\n")\n-        f.write("7\\taurora-element\\t1387\\t2271\\tAtha5Chr4_Pals_Piler_3595_31_MAP_3\\t276\\t10780\\t0\\t1576\\t97.624400\\n")\n-        f.write("8\\taurora-element\\t2486\\t2828\\tAtha5Chr4_Pals_Piler_3595_50_MAP_3\\t4301\\t4641\\t0\\t585\\t97.360700\\n")\n-        f.write("9\\taurora-element\\t2265\\t2483\\tAtha5Chr4_Pals_Piler_3595_62_MAP_3\\t3999\\t4218\\t0\\t361\\t96.347000\\n")\n-        f.write("10\\taurora-element\\t2834\\t4045\\tAtha5Chr4_Pals_Piler_3595_69_MAP_3\\t4800\\t6011\\t0\\t2074\\t97.024800\\n")\n-        f.write("11\\taurora-element\\t2\\t113\\tAtha5Chr4_Pals_Piler_3598_69_MAP_3\\t205\\t317\\t8.5e-37\\t157\\t93.750000\\n")\n-        f.close()\n-        \n-        self.assertTrue(FileUtils.are2FilesIdentical(expPathFile, obsPathFile))\n-        \n-        os.remove(pathFile)\n-        os.remove(expPathFile)\n-        os.remove(obsPathFile)\n-        \n-        \n-    def test_getPathListWithoutDuplicatesOnQueryCoord(self):\n-        iPath1 = Path(1, Range("qry1",398,491), Range("sbj1",10,112), 0.0, 10, 98.7)\n-        iPath2 = Path(1, Range("qry1",451,492), Range("sbj1",124,169), 0.0, 10, 98.7)\n-        iPath3 = Path(1, Range("qry1",451,492), Range("sbj1",249,294), 0.0, 10, 98.7)\n-        lPaths = [iPath3, iPath2, iPath1]\n-       \n-        obslPaths = PathUtils.getPathListWithoutDuplicatesOnQueryCoord(lPaths)\n-       \n-        explPaths = [iPath1, iPath3]\n-        \n-        self.assertEquals(explPaths, obslPaths)\n-        \n-                \n-    def _makePathListFromTupleList ( self, tupleList ):\n-        pathList = []\n-        for tuple in tupleList:\n-            path = Path()\n-            path.setFromTuple(tuple)\n-            pathList.append(path)\n-        return pathList\n-    \n-    def _makePathListFromStringList (self, stringList):\n-        pathList = []\n-        for string in stringList:\n-            path = Path()\n-            path.setFromString(string)\n-            pathList.append(path)\n-        return pathList\n-    \n-    def _show (self, list):\n-        for item in list:\n-            print item.toString()\n-            \n-            \n-test_suite = unittest.TestSuite()\n-test_suite.addTest( unittest.makeSuite( Test_PathUtils ) )\n-if __name__ == "__main__":\n-    unittest.TextTestRunner(verbosity=2).run( test_suite )\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_Range.py
--- a/commons/core/coord/test/Test_Range.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,698 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import unittest\n-from commons.core.coord.Range import Range\n-from commons.core.coord.Range import getBin, getIdx\n-\n-\n-class Test_Range( unittest.TestCase ):\n-    \n-    def setUp(self):\n-        self._range = Range()\n-        \n-    def test_setFromString(self):\n-        line = "chunk1\\t190000\\t390000"\n-        self._range.setFromString( line )\n-        self.assertEqual( self._range.seqname, "chunk1" )\n-        self.assertEqual( self._range.start, 190000 )\n-        self.assertEqual( self._range.end, 390000 )\n-        \n-        line = "chunk1\\t190000\\t390000\\n"\n-        self._range.setFromString( line )\n-        self.assertEqual( self._range.seqname, "chunk1" )\n-        self.assertEqual( self._range.start, 190000 )\n-        self.assertEqual( self._range.end, 390000 )\n-        \n-        line = "chunk1;190000;390000"\n-        self._range.setFromString( line, ";" )\n-        self.assertEqual( self._range.seqname, "chunk1" )\n-        self.assertEqual( self._range.start, 190000 )\n-        self.assertEqual( self._range.end, 390000 )\n-        \n-    def test_setFromTuple(self):\n-        tuple = ("chunk1","190000","390000")\n-        self._range.setFromTuple( tuple)\n-        \n-        self.assertEqual( self._range.seqname, "chunk1" )\n-        self.assertEqual( self._range.start, 190000 )\n-        self.assertEqual( self._range.end, 390000 )\n-        \n-    def test___eq__(self):\n-        self._range.setFromString( "chunk1\\t190000\\t390000\\n" )\n-        o = Range()\n-        o.setFromString( "chunk1\\t190000\\t390000\\n" )\n-        self.assertEqual( self._range, o )\n-        \n-        o.setFromString( "chunk1\\t190000\\t39" )\n-        self.assertNotEquals( self._range, o )\n-        \n-        o.setFromString( "chromosome1\\t190000\\t390000" )\n-        self.assertNotEquals( self._range, o )\n-        \n-        o.setFromString( "chunk1\\t390000\\t190000" )\n-        self.assertNotEquals( self._range, o )\n-        \n-        o.setFromString( "chromosome1\\t390000\\t190000" )\n-        self.assertNotEquals( self._range, o )\n-        \n-    def test_getMin(self):\n-        self._range.setFromTuple( ("chunk1", 190000, 390000) )\n-        expMin = 190000\n-        obsMin = self._range.getMin() \n-        self.assertTrue(expMin, obsMin)\n-        \n-    def test_getMax(self):\n-        self._range.setFromTuple( ("chunk1", 190000, 390000) )\n-        expMax = 390000\n-        obsMa'..b'2)\n-        obsRange1 = range1\n-        \n-        self.assertEquals(expRange1, obsRange1)\n-        self.assertEquals(expReturnedRange, obsReturnedRange)\n-        \n-    def test_getIdx(self):\n-        self.assertEqual(getIdx(1000,3),1000001)\n-        self.assertEqual(getIdx(999,3),1000000)\n-        self.assertEqual(getIdx(2000,3),1000002)\n-        self.assertEqual(getIdx(2000,4),2000000)\n-        self.assertEqual(getIdx(2000,5),3000000)\n-        self.assertEqual(getIdx(20000000,6),4000000)\n-        self.assertEqual(getIdx(20000000,5),3000200)\n-        self.assertEqual(getIdx(20000000,4),2002000)\n-        self.assertEqual(getIdx(20000000,3),1020000)\n-        \n-    def test_getBin_bin_level_9(self):\n-        tuple1 = ("chunk1", 190000000, 390000000)\n-        range1 =Range()\n-        range1.setFromTuple(tuple1)\n-        \n-        expRes = 100000000.0\n-        obsRes = range1.getBin()\n-        \n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_8(self):\n-        tuple1 = ("chunk1", 19000000, 39000000)\n-        range1 =Range()\n-        range1.setFromTuple(tuple1)\n-        \n-        expRes = 100000000.0\n-        obsRes = range1.getBin()\n-        \n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_7(self):\n-        tuple1 = ("chunk1", 1900000, 3900000)\n-        range1 =Range()\n-        range1.setFromTuple(tuple1)\n-        \n-        expRes = 10000000.0\n-        obsRes = range1.getBin()\n-        \n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_6(self):\n-        tuple1 = ("chunk1", 190000, 390000)\n-        range1 =Range()\n-        range1.setFromTuple(tuple1)\n-        \n-        expRes = 1000000.0\n-        obsRes = range1.getBin()\n-        \n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_5(self):\n-        tuple = ("chunk1", 19000, 39000)\n-        range =Range()\n-        range.setFromTuple(tuple)\n-        expRes = 100000.0\n-        obsRes = range.getBin()\n-        \n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_4(self):\n-        tuple = ("chunk1", 1900, 3900)\n-        range =Range()\n-        range.setFromTuple(tuple)\n-        \n-        expRes = 10000.0\n-        obsRes = range.getBin()\n-        \n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_3(self):\n-        tuple = ("chunk1", 190, 390)\n-        range =Range()\n-        range.setFromTuple(tuple)\n-        \n-        expRes = 1000.0\n-        obsRes = range.getBin()\n-        \n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_2(self):\n-        tuple = ("chunk1", 19, 39)\n-        range =Range()\n-        range.setFromTuple(tuple)\n-        \n-        expRes = 1000.0\n-        obsRes = range.getBin()\n-        \n-        self.assertEquals(expRes, obsRes)\n-        \n-    def test_getBin_bin_level_1(self):\n-        tuple = ("chunk1", 1, 3)\n-        range =Range()\n-        range.setFromTuple(tuple)\n-        \n-        expRes = 1000.0\n-        obsRes = range.getBin()\n-        \n-        self.assertEquals(expRes, obsRes)\n-        \n-        \n-    def test_getBin_function(self):\n-        expBin = 2L\n-        obsBin = getBin(200, 2)\n-        \n-        self.assertEquals(expBin, obsBin)\n-        \n-    def test_findIdx(self):\n-        o = Range()\n-        o.setFromString( "chunk1\\t1000\\t2000\\n" )\n-        self.assertEqual(o.findIdx(),2000000)\n-        \n-        o.setFromString( "chunk1\\t2000\\t1000\\n" )       \n-        self.assertEqual(o.findIdx(),2000000)\n-        \n-        o.setFromString( "chunk1\\t200\\t999\\n" )       \n-        self.assertEqual(o.findIdx(),1000000)\n-        \n-        o.setFromString( "chunk1\\t1\\t20000000\\n" )       \n-        self.assertEqual(o.findIdx(),4000000)\n-        \n-        \n-test_suite = unittest.TestSuite()\n-test_suite.addTest( unittest.makeSuite( Test_Range ) )\n-if __name__ == "__main__":\n-    unittest.TextTestRunner(verbosity=2).run( test_suite )\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_Set.py
--- a/commons/core/coord/test/Test_Set.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,282 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import unittest\n-import os\n-from commons.core.coord.Set import Set\n-from commons.core.coord.Map import Map\n-\n-\n-class Test_Set( unittest.TestCase ):\n-    \n-    def test__eq__sets_equals(self):\n-        set1 = Set( 1, "set1", "seq1", 1, 2 )\n-        set2 = Set( 1, "set1", "seq1", 1 ,2 )   \n-        self.assertEquals( set1, set2 )\n-        \n-    def test__eq__sets_not_equals_ids(self):\n-        set1 = Set( 1, "set1", "seq1", 1, 2 )\n-        set2 = Set( 2, "set1", "seq1", 1 ,2 )   \n-        self.assertNotEquals( set1, set2 )\n-        \n-    def test__eq__sets_not_equals_name(self):\n-        set1 = Set( 1, "set1", "seq1", 1, 2 )\n-        set2 = Set( 1, "set2", "seq1", 1 ,2 )   \n-        self.assertNotEquals( set1, set2 )\n-    \n-    def test__eq__on_empty_set(self):\n-        set1 = Set()\n-        set2 = Set()\n-        self.assertEquals( set1, set2 )\n-        \n-    def test_setFromTuple_equals_instances(self):\n-        tuple = ( 1, "set1", "seq1", 1, 2 )\n-        obsSet = Set()\n-        obsSet.setFromTuple(tuple)\n-        expSet = Set( 1, "set1", "seq1", 1, 2 )\n-        self.assertEquals( expSet, obsSet )\n-   \n-    def test_setFromTuple_not_equals_instances(self):\n-        tuple = ( 1, "set1", "seq1", 1, 2 )\n-        obsSet = Set()\n-        obsSet.setFromTuple(tuple)\n-        expSet = Set( 2, "set1", "seq1", 1, 2 )\n-        self.assertNotEquals( expSet, obsSet )\n-        \n-    def test_read_empty_line_file(self):\n-        fileName = "dummyFile"\n-        \n-        os.system(" touch " + fileName)\n-        \n-        fileHandler = open(fileName, "r")\n-        \n-        obsSet = Set()\n-        \n-        obsRes = obsSet.read( fileHandler )\n-        expRes = 0\n-        \n-        fileHandler.close()\n-        os.remove(fileName)\n-        \n-        self.assertEquals( expRes, obsRes )\n-\n-    def test_read_one_line_file(self):\n-        line = ( "1\\tset1\\tseq1\\t1\\t2" )\n-        fileName = "dummyFile"\n-        \n-        fileHandler = open( fileName, "w" )\n-        fileHandler.write( line )\n-        fileHandler.close()\n-        \n-        fileHandler = open( fileName, "r" )\n-        \n-        tuple = line.split("\\t")\n-        expSet = Set()\n-        expSet.setFromTuple(tuple)\n-        \n-        obsSet = Set()\n-        \n-        expRes = 1\n-        obsRes = obsSet.read(fileHandler)\n-        \n-        fileHandler.close()\n-        os.remove(fileName)\n-  '..b'et\n-        \n-        self.assertEquals( expSet, obsSet)\n-        \n-    def test_merge_first_id_smaller_than_second_id(self):\n-        firstSet = Set( 1, "set1", "seq1", 10, 40 )\n-        secondSet = Set( 2, "set2", "seq1", 20, 60 )\n-        \n-        firstSet.merge( secondSet )\n-        \n-        expSet = Set( 1, "set1", "seq1", 10, 60)\n-        obsSet = firstSet\n-        \n-        self.assertEquals( expSet, obsSet)\n-\n-    def test_merge_first_id_equals_second_id(self):\n-        firstSet = Set( 1, "set1", "seq1", 10, 40 )\n-        secondSet = Set( 1, "set2", "seq1", 20, 60 )\n-        \n-        firstSet.merge( secondSet )\n-        \n-        expSet = Set( 1, "set1", "seq1", 10, 60)\n-        obsSet = firstSet\n-        \n-        self.assertEquals( expSet, obsSet)\n-    \n-    def test_merge_different_seqnames(self):\n-        firstSet = Set( 2, "set1", "seq1", 10, 40 )\n-        secondSet = Set( 1, "set1", "seq2", 20, 60 )\n-        expSet = Set( 2, "set1", "seq1", 10, 40 )\n-        firstSet.merge( secondSet )\n-        obsSet = firstSet\n-        self.assertEquals( expSet, obsSet )\n-        \n-    def test_diff_on_empty_sets(self):\n-        firstSet = Set()\n-        firstSet.seqname = "seq1"\n-        secondSet = Set()\n-        secondSet.seqname = "seq2"\n-        \n-        obsSet = firstSet.diff( secondSet )\n-        expSet = Set()\n-        \n-        self.assertEquals( expSet, obsSet )\n-    \n-    def test_diff(self):\n-        firstSet = Set( 2, "set1", "seq1", 10, 80 )\n-        secondSet = Set( 1, "set2", "seq1", 20, 60 )\n-        \n-        expSet1 = Set( 2, "set1", "seq1", 10, 19 )\n-        expSet2 = Set( 2, "set1", "seq1", 61, 80 )        \n-        \n-        obsSet2 = firstSet.diff( secondSet )\n-        obsSet1 = firstSet\n-                \n-        self.assertEquals( expSet1, obsSet1 ) \n-        self.assertEquals( expSet2, obsSet2 )\n-        \n-    def test_diff_reverse(self):\n-        firstSet = Set( 2, "set1", "seq1", 20, 60 )\n-        secondSet = Set( 1, "set2", "seq1", 10, 80 )\n-        \n-        expSet1 = Set( 2, "set1", "seq1", 0, 0 )\n-        expSet2 = Set( )        \n-        \n-        obsSet2 = firstSet.diff( secondSet )\n-        obsSet1 = firstSet\n-                \n-        self.assertEquals( expSet1, obsSet1 ) \n-        self.assertEquals( expSet2, obsSet2 )\n-        \n-    def test_diff_list1_overlap_end_list2(self):\n-        firstSet = Set( 2, "set1", "seq1", 20, 100 )\n-        secondSet = Set( 1, "set2", "seq1", 10, 80 )\n-        \n-        expSet1 = Set( 2, "set1", "seq1", 81, 100 )  \n-        expSet2 = Set( )             \n-        \n-        obsSet2 = firstSet.diff( secondSet )\n-        obsSet1 = firstSet\n-                \n-        self.assertEquals( expSet1, obsSet1 ) \n-        self.assertEquals( expSet2, obsSet2 )\n-        \n-    def test_diff_with_empty_set1(self):\n-        set2 = Set( 1, "set1", "seq1", 2, 45 )\n-        set1 = Set( )\n-        \n-        expSet1 = Set( )\n-        expSet2 = Set( )\n-        \n-        obsSet2 = set1.diff( set2 )\n-        obsSet1 = set1\n-        \n-        self.assertEquals( expSet1, obsSet1 ) \n-        self.assertEquals( expSet2, obsSet2 )\n-        \n-    def test_diff_list2_overlap_end_list1(self):\n-        firstSet = Set( 2, "set1", "seq1", 10, 70 )\n-        secondSet = Set( 1, "set2", "seq1", 40, 100 )\n-        \n-        expSet1 = Set( 2, "set1", "seq1", 10, 39 )\n-        expSet2 = Set( )        \n-        \n-        obsSet2 = firstSet.diff( secondSet )\n-        obsSet1 = firstSet\n-                \n-        self.assertEquals( expSet1, obsSet1 ) \n-        self.assertEquals( expSet2, obsSet2 )\n-        \n-    def test_set2map(self):\n-        set = Set( 1, "set", "seq", 1, 2 )\n-        \n-        expMap = Map( "set::1", "seq", 1, 2 )\n-        obsMap = set.set2map()\n-        \n-        self.assertEquals( expMap, obsMap )\n-    \n-test_suite = unittest.TestSuite()\n-test_suite.addTest( unittest.makeSuite( Test_Set ) )\n-if __name__ == "__main__":\n-    unittest.TextTestRunner(verbosity=2).run( test_suite )\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_SetUtils.py
--- a/commons/core/coord/test/Test_SetUtils.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,1689 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import unittest\n-import os\n-import time\n-from commons.core.coord.Set import Set\n-from commons.core.coord.Map import Map\n-from commons.core.coord.SetUtils import SetUtils\n-from commons.core.utils.FileUtils import FileUtils\n-\n-\n-class Test_SetUtils( unittest.TestCase ):\n-    \n-    def test_changeIdInList_on_empty_list(self):\n-        lSets = []\n-        SetUtils.changeIdInList( lSets , 1 )\n-        obsLSets = lSets\n-        expLSets = []\n-        self.assertEquals( expLSets , obsLSets )\n-        \n-    def test_changeIdInList_on_list_size_one(self):\n-        set1 = Set( 1, "set1", "seq1", 1, 2 )\n-        lSets = [ set1 ]\n-        SetUtils.changeIdInList( lSets , 9 )\n-        obsLSets = lSets\n-        set1 = Set( 9, "set1", "seq1", 1, 2 )\n-        expLSets = [ set1 ]\n-        self.assertEquals( expLSets , obsLSets )\n-        \n-    def test_changeIdInList(self):\n-        set1 = Set( 1, "set1", "seq1", 1, 2 )\n-        set2 = Set( 2, "set2", "seq2", 2, 3 )\n-        lSets = [ set1, set2 ]\n-        SetUtils.changeIdInList( lSets , 9 )\n-        obsLSets = lSets\n-        set1 = Set( 9, "set1", "seq1", 1, 2 )\n-        set2 = Set( 9, "set2", "seq2", 2, 3 )\n-        expLSets = [ set1, set2 ]\n-        \n-        self.assertEquals( expLSets , obsLSets )\n-        \n-    def test_getOverlapLengthBetweenLists_all_list_are_empty (self):\n-        lSets1 = []\n-        lSets2 = []\n-        \n-        expOverlapSize = 0\n-        obsOverlapSize = SetUtils.getOverlapLengthBetweenLists( lSets1, lSets2 )\n-        \n-        self.assertEquals( expOverlapSize, obsOverlapSize )\n-        \n-    def test_getOverlapLengthBetweenLists_list1_empty_list2_size_one (self):\n-        lSets1 = []\n-        lSets2 = [ Set( 9, "set1", "seq1", 1, 2 ) ]\n-        \n-        expOverlapSize = 0\n-        obsOverlapSize = SetUtils.getOverlapLengthBetweenLists( lSets1, lSets2 )\n-        \n-        self.assertEquals( expOverlapSize, obsOverlapSize )\n-        \n-    def test_getOverlapLengthBetweenLists_list1_empty_list2_size_two (self):\n-        lSets1 = []\n-        lSets2 = [ Set( 9, "set1", "seq1", 1, 2 ), Set( 9, "set2", "seq2", 2, 3 ) ]\n-        \n-        expOverlapSize = 0\n-        obsOverlapSize = SetUtils.getOverlapLengthBetweenLists( lSets1, lSets2 )\n-        \n-        self.assertEquals( expOverlapSize, obsOverlapSize )\n-        \n-    def test_getOverlapLengthBetweenLists_list1_si'..b'\n-        obsLSet = SetUtils.getSetListFromFile(file)\n-        os.remove(file)\n-        self.assertEqual( expLSet, obsLSet )\n-        \n-        \n-    def test_convertSetFileIntoMapFile( self ):\n-        setFile = "dummySetFile"\n-        setFileHandler = open( setFile, "w" )\n-        setFileHandler.write( "1\\tseq31\\tchr1\\t151\\t250\\n" )\n-        setFileHandler.write( "2\\tseq27\\tchr2\\t301\\t500\\n" )\n-        setFileHandler.close()\n-        \n-        expFile = "dummyExpFile"\n-        expFileHandler = open( expFile, "w" )\n-        expFileHandler.write( "seq31\\tchr1\\t151\\t250\\n" )\n-        expFileHandler.write( "seq27\\tchr2\\t301\\t500\\n" )\n-        expFileHandler.close()\n-        \n-        obsFile = "dummyObsFile"\n-        \n-        SetUtils.convertSetFileIntoMapFile( setFile, obsFile )\n-        \n-        self.assertTrue( FileUtils.are2FilesIdentical( expFile, obsFile ) )\n-        \n-        for f in [ setFile, expFile, obsFile ]:\n-            os.remove( f )\n-            \n-            \n-    def test_getDictOfListsWithSeqnameAsKey_empty( self ):\n-        lSets = []\n-        dExp = {}\n-        dObs = SetUtils.getDictOfListsWithSeqnameAsKey( lSets )\n-        self.assertEquals( dExp, dObs )\n-            \n-            \n-    def test_getDictOfListsWithSeqnameAsKey( self ):\n-        lSets = [ Set( 1, "TE3", "chr2", 10, 50 ),\n-                 Set( 2, "gene74", "chr1", 31, 800 ),\n-                 Set( 3, "TE1", "chr1", 1, 30 ) ]\n-        dExp = { "chr1": [ Set( 2, "gene74", "chr1", 31, 800 ),\n-                          Set( 3, "TE1", "chr1", 1, 30 ) ],\n-                "chr2": [ Set( 1, "TE3", "chr2", 10, 50 ) ] }\n-        dObs = SetUtils.getDictOfListsWithSeqnameAsKey( lSets )\n-        self.assertEquals( dExp, dObs )\n-        \n-        \n-    def test_filterOnLength( self ):\n-        lSets = [ Set( 1, "TE3", "chr2", 10, 50 ),\n-                 Set( 2, "gene74", "chr1", 31, 800 ),\n-                 Set( 3, "TE1", "chr1", 1, 30 ) ]\n-        lExp = [ Set( 2, "gene74", "chr1", 31, 800 ) ]\n-        lObs = SetUtils.filterOnLength( lSets, 100 )\n-        self.assertEqual( lExp, lObs )\n-        \n-        \n-    def test_getListOfNames( self ):\n-        setFile = "dummySetFile"\n-        setFileHandler = open( setFile, "w" )\n-        setFileHandler.write( "1\\tseq31\\tchr1\\t151\\t250\\n" )\n-        setFileHandler.write( "2\\tseq27\\tchr2\\t301\\t500\\n" )\n-        setFileHandler.close()\n-        \n-        lExp = [ "seq31", "seq27" ]\n-        lObs = SetUtils.getListOfNames( setFile )\n-        \n-        self.assertEquals( lExp, lObs )\n-        \n-        os.remove( setFile )\n-        \n-        \n-    def test_getDictOfDictsWithNamesThenIdAsKeyFromFile( self ):\n-        setFile = "dummySetFile"\n-        setFileHandler = open( setFile, "w" )\n-        setFileHandler.write( "1\\tseq31\\tchr1\\t151\\t250\\n" )\n-        setFileHandler.write( "3\\tseq27\\tchr3\\t1\\t100\\n" )\n-        setFileHandler.write( "2\\tseq27\\tchr2\\t301\\t500\\n" )\n-        setFileHandler.write( "2\\tseq27\\tchr2\\t601\\t650\\n" )\n-        setFileHandler.close()\n-        \n-        dExp = { "seq31": { 1: [ Set( 1, "seq31", "chr1", 151, 250 ) ] },\n-                "seq27": { 2: [ Set( 2, "seq27", "chr2", 301, 500 ),\n-                               Set( 2, "seq27", "chr2", 601, 650 ) ],\n-                               3: [ Set( 3, "seq27", "chr3", 1, 100 ) ]\n-                               }\n-                }\n-        dObs = SetUtils.getDictOfDictsWithNamesThenIdAsKeyFromFile( setFile )\n-        \n-        self.assertEquals( dExp, dObs )\n-        \n-        os.remove( setFile )\n-        \n-        \n-    def _makeSetListFromTupleList (self, tupleList):\n-        setList = []\n-        for tuple in tupleList:\n-            set = Set()\n-            set.setFromTuple(tuple)\n-            setList.append(set)\n-        return setList\n-        \n-        \n-test_suite = unittest.TestSuite()\n-test_suite.addTest( unittest.makeSuite( Test_SetUtils ) )\n-if __name__ == "__main__":\n-    unittest.TextTestRunner(verbosity=2).run( test_suite )\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/coord/test/Test_SlidingWindow.py
--- a/commons/core/coord/test/Test_SlidingWindow.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,109 +0,0 @@
-import unittest
-from commons.core.coord.SlidingWindow import SlidingWindow
-from commons.core.coord.SlidingWindow import SlidingWindowToCountMatchingBases
-from commons.core.coord.Set import Set
-
-class Test_SlidingWindow( unittest.TestCase ):
-        
-    def test_slideWindowOnce( self ):
-        expStart = 91 
-        expEnd = 190
-        self.sw = SlidingWindow(100, 10)
-        self.sw.slideWindowOnce()
-        obsStart = self.sw._start
-        obsEnd = self.sw._end
-        
-        self.assertEqual(expStart, obsStart)
-        self.assertEqual(expEnd, obsEnd)
-        
-    def test_slideWindowOnceFourTime( self ):
-        expStart = 201 
-        expEnd = 300
-        self.sw = SlidingWindow(100, 50)
-        i = 0
-        for i in range(4):
-            self.sw.slideWindowOnce()
-            i += 1
-        obsStart = self.sw._start
-        obsEnd = self.sw._end
-        
-        self.assertEqual(expStart, obsStart)
-        self.assertEqual(expEnd, obsEnd)
-    
-        
-class Test_SlidingWindowToCountMatchingBases(unittest.TestCase):
-        
-    def test_getSetLengthOnWindow_featureIncluded( self ):
-        self.sw = SlidingWindowToCountMatchingBases(100, 1)
-        iSet = Set( 1, "TE3", "chr1", 21, 30 )
-        exp = 10
-        obs = self.sw.getSetLengthOnWindow( iSet)
-        self.assertEqual( exp, obs )
-        
-    def test_getSetLengthOnWindow_windowIncluded( self ):
-        self.sw = SlidingWindowToCountMatchingBases(100, 10)
-        self.sw.slideWindowOnce()
-        iSet = Set( 1, "TE3", "chr1", 21, 530 )
-        exp = 100
-        obs = self.sw.getSetLengthOnWindow( iSet)
-        self.assertEqual( exp, obs )
-        
-    def test_getSetLengthOnWindow_featureOverlapLeft( self ):
-        self.sw = SlidingWindowToCountMatchingBases(100, 10)
-        self.sw.slideWindowOnce()
-        iSet = Set( 1, "TE3", "chr1", 21, 130 )
-        exp = 40
-        obs = self.sw.getSetLengthOnWindow( iSet)
-        self.assertEqual( exp, obs )
-        
-    def test_getSetLengthOnWindow_featureOverlapRight( self ):
-        self.sw = SlidingWindowToCountMatchingBases(100, 10)
-        self.sw.slideWindowOnce()
-        iSet = Set( 1, "TE3", "chr1", 121, 230 )
-        exp = 70
-        obs = self.sw.getSetLengthOnWindow( iSet)
-        self.assertEqual( exp, obs )
-        
-    def test_getCoordSetOnWindow_featureIncluded( self ):
-        self.sw = SlidingWindowToCountMatchingBases(100, 1)
-        iSet = Set( 1, "TE3", "chr1", 21, 30 )
-        expStart = 21
-        expEnd = 30
-        obsStart,obsEnd = self.sw.getCoordSetOnWindow( iSet)
-        self.assertEqual( expStart, obsStart )
-        self.assertEqual( expEnd, obsEnd )
-        
-    def test_getCoordSetOnWindow_windowIncluded( self ):
-        self.sw = SlidingWindowToCountMatchingBases(100, 10)
-        self.sw.slideWindowOnce()
-        iSet = Set( 1, "TE3", "chr1", 21, 530 )
-        expStart = 91
-        expEnd = 190
-        obsStart,obsEnd = self.sw.getCoordSetOnWindow( iSet)
-        self.assertEqual( expStart, obsStart )
-        self.assertEqual( expEnd, obsEnd )
-        
-    def test_getCoordSetOnWindow_featureOverlapLeft( self ):
-        self.sw = SlidingWindowToCountMatchingBases(100, 10)
-        self.sw.slideWindowOnce()
-        iSet = Set( 1, "TE3", "chr1", 21, 130 )
-        expStart = 91
-        expEnd = 130
-        obsStart,obsEnd = self.sw.getCoordSetOnWindow( iSet)
-        self.assertEqual( expStart, obsStart )
-        self.assertEqual( expEnd, obsEnd )
-        
-    def test_getCoordSetOnWindow_featureOverlapRight( self ):
-        self.sw = SlidingWindowToCountMatchingBases(100, 10)
-        self.sw.slideWindowOnce()
-        iSet = Set( 1, "TE3", "chr1", 121, 230 )
-        expStart = 121
-        expEnd = 190
-        obsStart,obsEnd = self.sw.getCoordSetOnWindow( iSet)
-        self.assertEqual( expStart, obsStart )
-        self.assertEqual( expEnd, obsEnd )
-
-test_suite = unittest.TestSuite()
-test_suite.addTest( unittest.makeSuite( Test_SlidingWindow ) )
-if __name__ == "__main__":
-    unittest.TextTestRunner(verbosity=2).run( test_suite )
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_BedParser.py
--- a/commons/core/parsing/test/Test_BedParser.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,58 +0,0 @@
-import unittest, os
-from commons.core.parsing.BedParser import BedParser
-
-
-class Test_BedParser(unittest.TestCase):
-    
-    def test_Parser(self):
-        parser = BedParser("data/testBedParser1.bed")
-
-        self.assertEqual(parser.getNbTranscripts(), 1)
-
-        for transcript in parser.getIterator():
-            self.assertEqual(transcript.getChromosome(), "arm_X")
-            self.assertEqual(transcript.getName(), "test1.1")
-            self.assertEqual(transcript.getStart(), 1000)
-            self.assertEqual(transcript.getEnd(), 2999)
-            self.assertEqual(transcript.getDirection(), 1)
-            self.assertEqual(transcript.getNbExons(), 2)
-            exons = transcript.getExons()
-            self.assertEqual(exons[0].getChromosome(), "arm_X")
-            self.assertEqual(exons[0].getStart(), 1000)
-            self.assertEqual(exons[0].getEnd(), 1099)
-            self.assertEqual(exons[0].getDirection(), 1)
-            self.assertEqual(exons[1].getChromosome(), "arm_X")
-            self.assertEqual(exons[1].getStart(), 2000)
-            self.assertEqual(exons[1].getEnd(), 2999)
-            self.assertEqual(exons[1].getDirection(), 1)
-
-    def test_Parser_short(self):
-        tmpFileName = "tmpFile.bed"
-        tmpHandle   = open(tmpFileName, "w")
-        tmpHandle.write("""X\t554748\t554904\texon
-X\t554748\t554904\tCDS
-X\t554748\t554750\tstart_codon
-""")
-        tmpHandle.close()
-        parser = BedParser(tmpFileName)
-        self.assertEqual(parser.getNbTranscripts(), 3)
-        for cpt, transcript in enumerate(parser.getIterator()):
-            self.assertEqual(transcript.getNbExons(), 1)
-            self.assertEqual(transcript.getChromosome(), "X")
-            self.assertEqual(transcript.getStart(), 554748)
-            if cpt == 0:
-                self.assertEqual(transcript.getEnd(), 554903)
-                self.assertEqual(transcript.getName(), "exon")
-            elif cpt == 1:
-                self.assertEqual(transcript.getEnd(), 554903)
-                self.assertEqual(transcript.getName(), "CDS")
-            elif cpt == 2:
-                self.assertEqual(transcript.getEnd(), 554749)
-                self.assertEqual(transcript.getName(), "start_codon")
-        os.remove(tmpFileName)
-
-
-
-if __name__ == '__main__':
-        unittest.main()
-
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_BlatFileParser.py
--- a/commons/core/parsing/test/Test_BlatFileParser.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,61 +0,0 @@
-import unittest
-from commons.core.parsing.BlatFileParser import BlatFileParser
-
-
-class Test_BlatFileParser(unittest.TestCase):
-
-
-    def test_parseBlatFile(self):
-        fileName = "dummayBlat.psl"
-        self._writeBlatInputFile(fileName)
-        blatFileParser = BlatFileParser(fileName)
-        blatFileParser.parseBlatFile()
-        obsNbHits = len(blatFileParser.getListsOfHits())
-        self.assertTrue(obsNbHits == 10)
-        obsQueries = blatFileParser.getDictOfQueries()
-        expQueries = {'5:574_1:574_539_5:1:G/C': 1, '3:574_1:574_539_5:1:G/C': 1, '5:574_2:574_433_5:1:G/C': 1,"3:574_2:574_433_5:1:G/C":1, "5:574_5:574_607_5:1:G/C": 1, "3:574_5:574_607_5:1:G/C": 1}
-        self.assertEquals(expQueries, obsQueries)
-        
-    def test_parseBlatFileByQueries(self):
-        fileName = "dummayBlat.psl"
-        self._writeBlatInputFile(fileName)
-        blatFileParser = BlatFileParser(fileName)
-        blatFileParser.parseBlatFileByQueries()
-        obsDict = blatFileParser.getDictOfBlatHitsByQueries()
-        obs1 = len(obsDict["5:574_1:574_539_5:1:G/C"])
-        obs2 = len(obsDict["3:574_1:574_539_5:1:G/C"])
-        obs3 = len(obsDict["5:574_2:574_433_5:1:G/C"])
-        obs4 = len(obsDict["3:574_2:574_433_5:1:G/C"])
-        obs5 = len(obsDict["5:574_5:574_607_5:1:G/C"])
-        obs6 = len(obsDict["3:574_5:574_607_5:1:G/C"])
-        self.assertTrue(obs1 == 1)
-        self.assertTrue(obs2 == 1)
-        self.assertTrue(obs3 == 1)
-        self.assertTrue(obs4 == 5)
-        self.assertTrue(obs5 == 1)
-        self.assertTrue(obs6 == 1)
-        obsQueries = blatFileParser.getDictOfQueries()
-        expQueries = {'5:574_1:574_539_5:1:G/C': 1, '3:574_1:574_539_5:1:G/C': 1, '5:574_2:574_433_5:1:G/C': 1,"3:574_2:574_433_5:1:G/C":1, "5:574_5:574_607_5:1:G/C": 1, "3:574_5:574_607_5:1:G/C": 1}
-        self.assertEquals(expQueries, obsQueries)
-        
-    def _writeBlatInputFile(self, fileName):
-        file = open(fileName, "w")
-        file.write("psLayout version 3\n")
-        file.write("\n")
-        file.write("match\tmis- \trep. \tN's\tQ gap\tQ gap\tT gap\tT gap\tstrand\tQ        \tQ   \tQ    \tQ  \tT        \tT   \tT    \tT  \tblock\tblockSizes \tqStarts\t tStarts\n")
-        file.write("     \tmatch\tmatch\t   \tcount\tbases\tcount\tbases\t      \tname     \tsize\tstart\tend\tname     \tsize\tstart\tend\tcount\n")
-        file.write("---------------------------------------------------------------------------------------------------------------------------------------------------------------\n")
-        file.write("246\t0\t0\t4\t0\t0\t0\t0\t-\t5:574_1:574_539_5:1:G/C\t250\t0\t250\ttaecs3B_RPH7\t3109948\t1065213\t1065463\t1\t250,\t0,\t1065213,\n")
-        file.write("247\t0\t0\t2\t0\t0\t0\t0\t-\t3:574_1:574_539_5:1:G/C\t250\t1\t250\ttaecs3B_RPH7\t3109948\t1064962\t1065211\t1\t249,\t0,\t1064962,\n")
-        file.write("249\t0\t0\t1\t0\t0\t0\t0\t-\t5:574_2:574_433_5:1:G/C\t250\t0\t250\ttaecs3B_RPH7\t3109948\t1065319\t1065569\t1\t250,\t0,\t1065319,\n")
-        file.write("245\t0\t0\t5\t0\t0\t0\t0\t-\t3:574_2:574_433_5:1:G/C\t250\t0\t250\ttaecs3B_RPH8\t3109948\t1065068\t1065318\t1\t250,\t0,\t1065068,\n")
-        file.write("247\t0\t0\t3\t0\t0\t0\t0\t-\t3:574_2:574_433_5:1:G/C\t250\t0\t250\ttaecs3B_RPH8\t3109948\t1065310\t1065560\t1\t250,\t0,\t1065310,\n")
-        file.write("247\t0\t0\t3\t0\t0\t0\t0\t-\t3:574_2:574_433_5:1:G/C\t250\t0\t250\ttaecs3B_RPH9\t3109948\t1065059\t1065309\t1\t250,\t0,\t1065059,\n")
-        file.write("247\t0\t0\t3\t0\t0\t0\t0\t-\t3:574_2:574_433_5:1:G/C\t250\t0\t250\ttaecs3B_RPH9\t3109948\t1064805\t1065055\t1\t250,\t0,\t1064805,\n")
-        file.write("68\t0\t0\t1\t0\t0\t0\t0\t-\t3:574_2:574_433_5:1:G/C\t69\t0\t69\ttaecs3B_RPH9\t3109948\t1064733\t1064802\t1\t69,\t0,\t1064733,\n")
-        file.write("245\t0\t0\t5\t0\t0\t0\t0\t-\t5:574_5:574_607_5:1:G/C\t250\t0\t250\ttaecs3B_RPH9\t3109948\t1065145\t1065395\t1\t250,\t0,\t1065145,\n")
-        file.write("247\t0\t0\t3\t0\t0\t0\t0\t-\t3:574_5:574_607_5:1:G/C\t250\t0\t250\ttaecs3B_RPH9\t3109948\t1064894\t1065144\t1\t250,\t0,\t1064894,\n")
-        file.close()
-
-if __name__ == "__main__":
-    unittest.main()
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_BlatParser.py
--- a/commons/core/parsing/test/Test_BlatParser.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,445 +0,0 @@\n-from commons.core.parsing.BlatParser import BlatParser\n-import unittest\n-\n-\n-class Test_BlatParser(unittest.TestCase):\n-\n-\n-    def test_setAttributesFromString(self):\n-        blatLine = "315\\t20\\t0\\t0\\t3\\t10\\t2\\t9\\t+\\tMRRE1H001H13FM1\\t378\\t0\\t345\\tchr16\\t22053297\\t21686950\\t21687294\\t4\\t76,185,7,67,\\t0,77,263,278,\\t21686950,21687026,21687213,21687227,"\n-        \n-        iBlatParser = BlatParser()\n-        iBlatParser.setAttributesFromString(blatLine)\n-        \n-        obsmatch = iBlatParser.getMatch()\n-        obsmismatch = iBlatParser.getMismatch()\n-        obsrepMatch = iBlatParser.getRepMatch()\n-        obsN = iBlatParser.getN()\n-        obsQGapCount = iBlatParser.getQGapCount()\n-        obsQGapBases = iBlatParser.getQGapBases()\n-        obsTGapCount = iBlatParser.getTGapCount()\n-        obsTGapBases = iBlatParser.getTGapBases()\n-        obsstrand = iBlatParser.getStrand()\n-        obsQName = iBlatParser.getQName()\n-        obsQSize = iBlatParser.getQSize()\n-        obsQStart = iBlatParser.getQStart()\n-        obsQEnd = iBlatParser.getQEnd()\n-        obsTName = iBlatParser.getTName()\n-        obsTSize = iBlatParser.getTSize()\n-        obsTStart = iBlatParser.getTStart()\n-        obsTEnd = iBlatParser.getTEnd()\n-        obsblockCount = iBlatParser.getBlockCount()\n-        obsblockSizes = iBlatParser.getBlockSizes()\n-        obsqStarts = iBlatParser.getQStarts()\n-        obstStarts = iBlatParser.getTStarts()\n-        \n-        expmatch = "315"\n-        expmismatch = "20"\n-        exprepMatch = "0"\n-        expN = "0"\n-        expQGapCount = "3"\n-        expQGapBases = "10"\n-        expTGapCount = "2"\n-        expTGapBases = "9"\n-        expstrand = "+"\n-        expQName = "MRRE1H001H13FM1"\n-        expQSize = "378"\n-        expQStart = "0"\n-        expQEnd = "345"\n-        expTName = "chr16"\n-        expTSize = "22053297"\n-        expTStart = "21686950"\n-        expTEnd = "21687294"\n-        expblockCount = "4"\n-        expblockSizes = "76,185,7,67,"\n-        expqStarts = "0,77,263,278,"\n-        exptStarts = "21686950,21687026,21687213,21687227,"\n-        \n-        self.assertEquals(expmatch, obsmatch)\n-        self.assertEquals(expmismatch, obsmismatch)\n-        self.assertEquals(exprepMatch, obsrepMatch)\n-        self.assertEquals(expN, obsN)\n-        self.assertEquals(expQGapCount, obsQGapCount)\n-        self.assertEquals(expQGapBases, obsQGapBases)\n-        self.assertEquals(expTGapCount, obsTGapCount)\n-        self.assertEquals(expTGapBases, obsTGapBases)\n-        self.assertEquals(expstrand, obsstrand)\n-        self.assertEquals(expQName, obsQName)\n-        self.assertEquals(expQSize, obsQSize)\n-        self.assertEquals(expQStart, obsQStart)\n-        self.assertEquals(expQEnd, obsQEnd)\n-        self.assertEquals(expTName, obsTName)\n-        self.assertEquals(expTSize, obsTSize)\n-        self.assertEquals(expTStart, obsTStart)\n-        self.assertEquals(expTEnd, obsTEnd)\n-        self.assertEquals(expblockCount, obsblockCount)\n-        self.assertEquals(expblockSizes, obsblockSizes)\n-        self.assertEquals(expqStarts, obsqStarts)\n-        self.assertEquals(exptStarts, obstStarts)\n-        \n-    def test_setAttributesFromString_empty_QName(self):\n-        blatLine = "315\\t20\\t0\\t0\\t3\\t10\\t2\\t9\\t+\\t\\t378\\t0\\t345\\tchr16\\t22053297\\t21686950\\t21687294\\t4\\t76,185,7,67,\\t0,77,263,278,\\t21686950,21687026,21687213,21687227,"\n-        \n-        iBlatParser = BlatParser()\n-        iBlatParser.setAttributesFromString(blatLine)\n-        \n-        obsmatch = iBlatParser.getMatch()\n-        obsmismatch = iBlatParser.getMismatch()\n-        obsrepMatch = iBlatParser.getRepMatch()\n-        obsN = iBlatParser.getN()\n-        obsQGapCount = iBlatParser.getQGapCount()\n-        obsQGapBases = iBlatParser.getQGapBases()\n-        obsTGapCount = iBlatParser.getTGapCount()\n-        obsTGapBases = iBlatParser.getTGapBases()\n-        obsstrand = iBlatParser.getStrand()\n-        obsQName = iBlatParser.getQName()\n-       '..b'87227,")\n-        \n-        self.assertTrue(BlatParser1 == BlatParser2) \n-        \n-    def test_eq_Equals_case2(self):\n-        BlatParser1 = BlatParser()\n-        BlatParser1.setMatch("315")\n-        BlatParser1.setMismatch("20")\n-        BlatParser1.setRepMatch("0")\n-        BlatParser1.setN("0")\n-        BlatParser1.setQGapCount("3")\n-        BlatParser1.setQGapBases("10")\n-        BlatParser1.setTGapCount("2")\n-        BlatParser1.setTGapBases("9")\n-        BlatParser1.setStrand("+")\n-        BlatParser1.setQName("MRRE1H001H13FM1")\n-        BlatParser1.setQSize("378")\n-        BlatParser1.setQStart("0")\n-        BlatParser1.setQEnd("345")\n-        BlatParser1.setTName("chr16")\n-        BlatParser1.setTSize("22053297")\n-        BlatParser1.setTStart("21686950")\n-        BlatParser1.setTEnd("21687294")\n-        BlatParser1.setBlockCount("4")\n-        BlatParser1.setBlockSizes("76,185,7,67,")\n-        BlatParser1.setQStarts("0,77,263,278,")\n-        BlatParser1.setTStarts("21686950,21687026,21687213,21687227,")\n-        \n-        BlatParser2 = BlatParser()\n-        BlatParser2.setMatch("315")\n-        BlatParser2.setMismatch("20")\n-        BlatParser2.setRepMatch("0")\n-        BlatParser2.setN("0")\n-        BlatParser2.setQGapCount("3")\n-        BlatParser2.setQGapBases("10")\n-        BlatParser2.setTGapCount("2")\n-        BlatParser2.setTGapBases("9")\n-        BlatParser2.setStrand("+")\n-        BlatParser2.setQName("TotoFM2")\n-        BlatParser2.setQSize("378")\n-        BlatParser2.setQStart("0")\n-        BlatParser2.setQEnd("345")\n-        BlatParser2.setTName("chr16")\n-        BlatParser2.setTSize("22053297")\n-        BlatParser2.setTStart("21686950")\n-        BlatParser2.setTEnd("21687294")\n-        BlatParser2.setBlockCount("4")\n-        BlatParser2.setBlockSizes("76,185,7,67,")\n-        BlatParser2.setQStarts("0,77,263,278,")\n-        BlatParser2.setTStarts("21686950,21687026,21687213,21687227,")\n-        \n-        self.assertTrue(BlatParser1 == BlatParser2) \n-        \n-    def test_eq_notEquals(self):\n-        BlatParser1 = BlatParser()\n-        BlatParser1.setMatch("315")\n-        BlatParser1.setMismatch("20")\n-        BlatParser1.setRepMatch("0")\n-        BlatParser1.setN("0")\n-        BlatParser1.setQGapCount("3")\n-        BlatParser1.setQGapBases("10")\n-        BlatParser1.setTGapCount("2")\n-        BlatParser1.setTGapBases("9")\n-        BlatParser1.setStrand("+")\n-        BlatParser1.setQName("MRRE1H001H13FM1")\n-        BlatParser1.setQSize("378")\n-        BlatParser1.setQStart("0")\n-        BlatParser1.setQEnd("345")\n-        BlatParser1.setTName("chr16")\n-        BlatParser1.setTSize("22053297")\n-        BlatParser1.setTStart("21686950")\n-        BlatParser1.setTEnd("21687294")\n-        BlatParser1.setBlockCount("4")\n-        BlatParser1.setBlockSizes("76,185,7,67,")\n-        BlatParser1.setQStarts("0,77,263,278,")\n-        BlatParser1.setTStarts("21686950,21687026,21687213,21687227,")\n-        \n-        BlatParser2 = BlatParser()\n-        BlatParser2.setMatch("315")\n-        BlatParser2.setMismatch("20")\n-        BlatParser2.setRepMatch("0")\n-        BlatParser2.setN("0")\n-        BlatParser2.setQGapCount("3")\n-        BlatParser2.setQGapBases("10")\n-        BlatParser2.setTGapCount("2")\n-        BlatParser2.setTGapBases("9")\n-        BlatParser2.setStrand("+")\n-        BlatParser2.setQName("TotoFM2")\n-        BlatParser2.setQSize("378")\n-        BlatParser2.setQStart("0")\n-        BlatParser2.setQEnd("345")\n-        BlatParser2.setTName("chr8")\n-        BlatParser2.setTSize("2205")\n-        BlatParser2.setTStart("2124")\n-        BlatParser2.setTEnd("2168")\n-        BlatParser2.setBlockCount("4")\n-        BlatParser2.setBlockSizes("76,185,7,67,")\n-        BlatParser2.setQStarts("0,77,263,278,")\n-        BlatParser2.setTStarts("21686950,21687026,21687213,21687227,")\n-        \n-        self.assertFalse(BlatParser1 == BlatParser2) \n-\n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_BlatToGff.py
--- a/commons/core/parsing/test/Test_BlatToGff.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,28 +0,0 @@
-from commons.core.parsing.BlatToGff import BlatToGff
-import unittest
-
-
-class Test_BlatToGff(unittest.TestCase):
-
-
-    def test_convertBlatObjectToGffLine(self):
-        blatLine = '315\t20\t0\t0\t3\t10\t2\t9\t+\tMRRE1H001H13FM1\t378\t0\t345\tchr16\t22053297\t21686950\t21687294\t4\t76,185,7,67,\t0,77,263,278,\t21686950,21687026,21687213,21687227,\n'
-        nbLine = 15
-        iBlatToGff = BlatToGff()
-        BlatToGff._methodName = ''
-        obsGffLine = iBlatToGff.convertBlatObjectToGffLine(blatLine, nbLine)
-        expGffLine = 'chr16\tBlatToGff\tBES\t21686950\t21687294\t.\t+\t.\tID=MRRE1H001H13FM1;Name=MRRE1H001H13FM1;bes_start=21686950;bes_end=21687294;bes_size=22053297\n'
-        self.assertEquals(expGffLine, obsGffLine)
-
-    def test_convertBlatObjectToGffLine_with_methodName(self):
-        blatLine = '315\t20\t0\t0\t3\t10\t2\t9\t+\tMRRE1H001H13FM1\t378\t0\t345\tchr16\t22053297\t21686950\t21687294\t4\t76,185,7,67,\t0,77,263,278,\t21686950,21687026,21687213,21687227,\n'
-        nbLine = 15
-        iBlatToGff = BlatToGff()
-        BlatToGff._methodName = 'Test'
-        obsGffLine = iBlatToGff.convertBlatObjectToGffLine(blatLine, nbLine)
-        expGffLine = 'chr16\tBlatToGff\tTest:BES\t21686950\t21687294\t.\t+\t.\tID=MRRE1H001H13FM1;Name=MRRE1H001H13FM1;bes_start=21686950;bes_end=21687294;bes_size=22053297\n'
-        self.assertEquals(expGffLine, obsGffLine)
-
-
-if __name__ == "__main__":
-    unittest.main()
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_BlatToGffForBesPaired.py
--- a/commons/core/parsing/test/Test_BlatToGffForBesPaired.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b"@@ -1,292 +0,0 @@\n-import unittest, os\n-from commons.core.parsing.BlatToGffForBesPaired import BlatToGffForBesPaired\n-\n-\n-class Test_BlatToGffForBesPaired(unittest.TestCase):\n-\n-\n-    def test_convertBlatObjectToGffLine(self):\n-        blatLine = '315\\t20\\t0\\t0\\t3\\t10\\t2\\t9\\t+\\tMRRE1H001H13FM1\\t378\\t0\\t345\\tchr16\\t22053297\\t21686950\\t21687294\\t4\\t76,185,7,67,\\t0,77,263,278,\\t21686950,21687026,21687213,21687227,\\n'\n-        nbLine = 15\n-        besFastaFileName = '%s/commons/core/parsing/test/besSequences.fasta' % os.environ['REPET_PATH']\n-        self._writeBesSequences(besFastaFileName)\n-        iBlatToGffForBesPaired = BlatToGffForBesPaired()\n-        iBlatToGffForBesPaired._methodName = ''\n-        iBlatToGffForBesPaired._inputFileFasta = besFastaFileName\n-        obsGffLine, obsBesName, obsBesSeq, obsBesType = iBlatToGffForBesPaired.convertBlatObjectToGffLine(blatLine, nbLine)\n-        expGffLine = 'chr16\\tBlatToGffForBesPaired\\tBES\\t21686950\\t21687294\\t.\\t+\\t.\\tID=MRRE1H001H13FM1;Name=MRRE1H001H13FM1;bes_start=21686950;bes_end=21687294;bes_size=22053297;muscadine_seq=AGACCTACTACGACGTACGATCGATCGACTGCTAGCTAGCTAGGCCTAGCTAGCTAGCTAGCTAGCTAGC\\n'\n-        expBesName = 'MRRE1H001H13FM1'\n-        expBesSeq = 'AGACCTACTACGACGTACGATCGATCGACTGCTAGCTAGCTAGGCCTAGCTAGCTAGCTAGCTAGCTAGC'\n-        expBesType = 'FM'\n-        self.assertEquals(expGffLine, obsGffLine)\n-        self.assertEquals(expBesName, obsBesName)\n-        self.assertEquals(expBesSeq, obsBesSeq)\n-        self.assertEquals(expBesType, obsBesType)\n-        os.remove(besFastaFileName)\n-\n-    def test_convertBlatObjectToGffLine_with_methodName(self):\n-        blatLine = '315\\t20\\t0\\t0\\t3\\t10\\t2\\t9\\t+\\tMRRE1H001H13FM1\\t378\\t0\\t345\\tchr16\\t22053297\\t21686950\\t21687294\\t4\\t76,185,7,67,\\t0,77,263,278,\\t21686950,21687026,21687213,21687227,\\n'\n-        nbLine = 15\n-        besFastaFileName = '%s/commons/core/parsing/test/besSequences.fasta' % os.environ['REPET_PATH']\n-        self._writeBesSequences(besFastaFileName)\n-        iBlatToGffForBesPaired = BlatToGffForBesPaired()\n-        iBlatToGffForBesPaired._methodName = 'Test'\n-        iBlatToGffForBesPaired._inputFileFasta = besFastaFileName\n-        obsGffLine, obsBesName, obsBesSeq, obsBesType = iBlatToGffForBesPaired.convertBlatObjectToGffLine(blatLine, nbLine)\n-        expGffLine = 'chr16\\tBlatToGffForBesPaired\\tTest:BES\\t21686950\\t21687294\\t.\\t+\\t.\\tID=MRRE1H001H13FM1;Name=MRRE1H001H13FM1;bes_start=21686950;bes_end=21687294;bes_size=22053297;muscadine_seq=AGACCTACTACGACGTACGATCGATCGACTGCTAGCTAGCTAGGCCTAGCTAGCTAGCTAGCTAGCTAGC\\n'\n-        expBesName = 'MRRE1H001H13FM1'\n-        expBesSeq = 'AGACCTACTACGACGTACGATCGATCGACTGCTAGCTAGCTAGGCCTAGCTAGCTAGCTAGCTAGCTAGC'\n-        expBesType = 'FM'\n-        self.assertEquals(expGffLine, obsGffLine)\n-        self.assertEquals(expBesName, obsBesName)\n-        self.assertEquals(expBesSeq, obsBesSeq)\n-        self.assertEquals(expBesType, obsBesType)\n-        os.remove(besFastaFileName)\n-    \n-    def test_getBesName(self):\n-        col9 = 'ID=machin1;Name=machin1;bes_start=21736364;bes_end=21737069;bes_size=22053297\\n'\n-        iBlatToGffForBesPaired = BlatToGffForBesPaired()\n-        obsBesName = iBlatToGffForBesPaired.getBesName(col9)\n-        expBesName = 'machin1'\n-        self.assertEquals(expBesName, obsBesName)\n-                \n-    def test_checkBesNames_OK(self):\n-        besName1 = 'MRRE1H001H13FM8'\n-        besName2 = 'MRRE1H001H13RM2'\n-        line = 10\n-        iBlatToGffForBesPaired = BlatToGffForBesPaired()\n-        self.assertTrue(iBlatToGffForBesPaired.checkBesNames(besName1, besName2, line))\n-        \n-    def test_checkBesNames_NOK(self):\n-        besName1 = 'MRRE1H001H13FM1'\n-        besName2 = 'TOTORM2'\n-        line = 10\n-        iBlatToGffForBesPaired = BlatToGffForBesPaired()\n-        self.assertFalse(iBlatToGffForBesPaired.checkBesNames(besName1, besName2, line))\n-        \n-    def test_checkBesPositions_OK1(self):\n-        tBes1 = ('chr16', 25, 150)\n-        tBes2 "..b'ommons/core/parsing/test/sequence.fasta\' % os.environ[\'REPET_PATH\']\n-        fastaFile = open(fastaFileName, \'w\')\n-        fastaFile.write(\'>seq1\\n\')\n-        fastaFile.write(\'ATCGATCGATCGATCGATACGTCAGCGATCGAT\\n\')\n-        fastaFile.write(\'TACGTACGTACGATCGATCGATCGATCGATCGG\\n\')\n-        fastaFile.write(\'TACGTACGTACGATCGACGATCGATGCCGATCG\\n\')\n-        fastaFile.write(\'ATCGAC\\n\')\n-        fastaFile.write(\'>seq2\\n\')\n-        fastaFile.write(\'GTCTAGCTAGCTATATCTGACTGACGCGACGGT\\n\')\n-        fastaFile.write(\'CATGCTAGCTAGCACTGTACAGCTATCGATGCT\\n\')\n-        fastaFile.write(\'ACTGACACTGTACGTAC\\n\')\n-        fastaFile.write(\'>seq3\\n\')\n-        fastaFile.write(\'ACTCGATCGATCG\\n\')\n-        fastaFile.close()\n-        \n-        seqName = \'seq4\'\n-        iBlatToGffForBesPaired = BlatToGffForBesPaired()\n-        iBlatToGffForBesPaired._inputFileFasta = fastaFileName\n-        obsSeq = iBlatToGffForBesPaired.extractBesSequenceFromFastaFile(seqName, 5)\n-        expSeq = \'NA\'\n-        self.assertEquals(expSeq, obsSeq)\n-        os.remove(fastaFileName)\n-        \n-    def test_getBesFmAndRmNamesAndSequences_case1(self):\n-        nameBes1 = \'MRRE1H0072T1FM1\'\n-        seqBes1 = \'TACGTCAGCTGATCGACATCGATCGATCGATCGATCGATCGTC\'\n-        typeBes1 = \'FM\'\n-        nameBes2 = \'MRRE1H0072T1RM3\'\n-        seqBes2 = \'GCGCAGCGCGACTGACTTGACTATCGGCGACGCGACGATCGATCGATCGATC\'\n-        typeBes2 = \'RM\'\n-        iBlatToGffForBesPaired = BlatToGffForBesPaired()\n-        obsNameBesFM, obsSeqBesFM, obsNameBesRM, obsSeqBesRM = iBlatToGffForBesPaired.getBesFmAndRmNamesAndSequences(nameBes1, seqBes1, typeBes1, nameBes2, seqBes2, typeBes2)\n-        expNameBesFM = \'MRRE1H0072T1FM1\'\n-        expNameBesRM = \'MRRE1H0072T1RM3\'\n-        expSeqBesFM = \'TACGTCAGCTGATCGACATCGATCGATCGATCGATCGATCGTC\'\n-        expSeqBesRM = \'GCGCAGCGCGACTGACTTGACTATCGGCGACGCGACGATCGATCGATCGATC\'\n-        self.assertEquals(expNameBesFM, obsNameBesFM)\n-        self.assertEquals(expNameBesRM, obsNameBesRM)\n-        self.assertEquals(expSeqBesFM, obsSeqBesFM)\n-        self.assertEquals(expSeqBesRM, obsSeqBesRM)\n-        \n-    def test_getBesFmAndRmNamesAndSequences_case2(self):\n-        nameBes1 = \'MRRE1H0072T1RM1\'\n-        seqBes1 = \'TACGTCAGCTGATCGACATCGATCGATCGATCGATCGATCGTC\'\n-        typeBes1 = \'RM\'\n-        nameBes2 = \'MRRE1H0072T1FM3\'\n-        seqBes2 = \'GCGCAGCGCGACTGACTTGACTATCGGCGACGCGACGATCGATCGATCGATC\'\n-        typeBes2 = \'FM\'\n-        iBlatToGffForBesPaired = BlatToGffForBesPaired()\n-        obsNameBesFM, obsSeqBesFM, obsNameBesRM, obsSeqBesRM = iBlatToGffForBesPaired.getBesFmAndRmNamesAndSequences(nameBes1, seqBes1, typeBes1, nameBes2, seqBes2, typeBes2)\n-        expNameBesFM = \'MRRE1H0072T1FM3\'\n-        expNameBesRM = \'MRRE1H0072T1RM1\'\n-        expSeqBesFM = \'GCGCAGCGCGACTGACTTGACTATCGGCGACGCGACGATCGATCGATCGATC\'\n-        expSeqBesRM = \'TACGTCAGCTGATCGACATCGATCGATCGATCGATCGATCGTC\'\n-        self.assertEquals(expNameBesFM, obsNameBesFM)\n-        self.assertEquals(expNameBesRM, obsNameBesRM)\n-        self.assertEquals(expSeqBesFM, obsSeqBesFM)\n-        self.assertEquals(expSeqBesRM, obsSeqBesRM)\n-        \n-    def _writeBesSequences(self, fileName):\n-        file = open(fileName, \'w\')\n-        file.write(\'>MRRE1H001H13RM1\\n\')\n-        file.write(\'ATACGTACGTACGTCAGTACGACTACGTACGTACGTACGTCGTAC\\n\')\n-        file.write(\'TACGTCAGCATCGTACGTACGTACGTCGTGCTGGCTAGCTGACGA\\n\')\n-        file.write(\'ATCGATCGATCGATCGACATCGTACG\\n\')\n-        file.write(\'>MRRE1H001H13FM1\\n\')\n-        file.write(\'AGACCTACTACGACGTACGATCGATCGACTGCTAGCTAGCTAGGC\\n\')\n-        file.write(\'CTAGCTAGCTAGCTAGCTAGCTAGC\\n\')\n-        file.write(\'>MRRE2H007A13FM3\\n\')\n-        file.write(\'TCAGCTAGCTGACTGACATCGCTAGCTAGCTAGCTAGCTAGCTAG\\n\')\n-        file.write(\'TACGCAGCTACGGGGCATCGACTAAAAAAAAAAACCCACGACTGG\\n\')\n-        file.write(\'CTAGCTAGCTAGCTAGCTAGCTACGTCGATCGATCGACTGTTGCC\\n\')\n-        file.write(\'TCAGCTACTGACTGATCGATCGACTACGTACGTACGTAC\\n\')\n-        file.close()\n-        \n-        \n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_BowtieParser.py
--- a/commons/core/parsing/test/Test_BowtieParser.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,57 +0,0 @@
-from commons.core.parsing.BowtieParser import BowtieParser
-import unittest, os
-
-
-class Test_BlatParser(unittest.TestCase):
-
-
-    def test_simple(self):
-        fileName = "tmpFile.bowtie"
-        handle   = open(fileName, "w")
-        handle.write("HWI-EAS179_0053:2:1:1365:7879#0/2\t+\tchrXHet\t191698\tACCGCTGAACCACTTTCATNCNTGGGATTGTGAACTGAAACTGTTCACATGAACTTGGAATTCCCAGTAAGTGTGA\tLcaYcacLaTdd`dacacYBaBTa^^TL^M`]`^aa`Tca`LaLTUa]a_bcLcTMMMMa^a^`bT`ccT_UbM_B\t0\t19:G>N,21:T>N\n")
-        handle.write("HWI-EAS179_0053:2:1:1365:7879#0/1\t-\tchrXHet\t191803\tCCCCTTGTACACACCGCCCGTCGCTACTACCGATTGAATTATGTAGTGAGGTCTCCGGACGTGATCACTGTGACGC\tBBBBBBBBB`O`DS]]aYabaaa[ULYLY]^b`^a^aZZZ_LLLca_a_b^^aYdbd``d^ccaY`_caccc^acc\t0\t33:T>G,72:T>C\n")
-        handle.write("HWI-EAS179_0053:2:1:1371:11420#0/2\t+\tchr3L\t16569206\tTATGAGCGCCAATTTTGCANTTTTATTTTTGTACAAGCCAAGGGTTTTGCAACATTCACAGCGCTTGCCACTTGTC\tcY^bcYLcaL]`]]`aaTaBaab^_ZZ__R[`[cYccc^Ybb^_L`L`Y`aM_a_TcTcc`LL]]MYaYabbTY`^\t0\t19:G>N\n")
-        handle.write("HWI-EAS179_0053:2:1:1371:11420#0/1\t-\tchr3L\t16569298\tAATGAACCATTGTAATTACCCACAACACATACAGTCACACACGAGATGCACACAAGTCGGAAACGGAAGCGAGACG\tBBBBBBBBBBBBBBBBBBBBBB^T`]Y^`KZY__LY_a]^T^ccYaYY__YT]VZbL]`b^cLT^a^caccYbT^b\t0\n")
-        handle.close()
-
-        parser = BowtieParser("tmpFile.bowtie", 0)
-        for cpt, mapping in enumerate(parser.getIterator()):
-            transcript = mapping.getTranscript()
-            if cpt == 0:
-                self.assertEquals(transcript.getName(), "HWI-EAS179_0053:2:1:1365:7879#0/2")
-                self.assertEquals(transcript.getChromosome(), "chrXHet")
-                self.assertEquals(transcript.getDirection(), 1)
-                self.assertEquals(transcript.getStart(), 191699)
-                self.assertEquals(transcript.getEnd(), 191774)
-                self.assertEquals(transcript.getTagValue("nbMismatches"), 2)
-            elif cpt == 1:
-                self.assertEquals(transcript.getName(), "HWI-EAS179_0053:2:1:1365:7879#0/1")
-                self.assertEquals(transcript.getChromosome(), "chrXHet")
-                self.assertEquals(transcript.getDirection(), -1)
-                self.assertEquals(transcript.getStart(), 191804)
-                self.assertEquals(transcript.getEnd(), 191879)
-                self.assertEquals(transcript.getTagValue("nbMismatches"), 2)
-            elif cpt == 2:
-                self.assertEquals(transcript.getName(), "HWI-EAS179_0053:2:1:1371:11420#0/2")
-                self.assertEquals(transcript.getChromosome(), "chr3L")
-                self.assertEquals(transcript.getDirection(), 1)
-                self.assertEquals(transcript.getStart(), 16569207)
-                self.assertEquals(transcript.getEnd(), 16569282)
-                self.assertEquals(transcript.getTagValue("nbMismatches"), 1)
-            elif cpt == 3:
-                self.assertEquals(transcript.getName(), "HWI-EAS179_0053:2:1:1371:11420#0/1")
-                self.assertEquals(transcript.getChromosome(), "chr3L")
-                self.assertEquals(transcript.getDirection(), -1)
-                self.assertEquals(transcript.getStart(), 16569299)
-                self.assertEquals(transcript.getEnd(), 16569374)
-                self.assertEquals(transcript.getTagValue("nbMismatches"), 0)
-            else:
-                self.fail()
-
-        os.remove(fileName)
-        
-        
-
-if __name__ == "__main__":
-    unittest.main()
-
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_CoordsParser.py
--- a/commons/core/parsing/test/Test_CoordsParser.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,105 +0,0 @@
-import unittest
-from commons.core.parsing.CoordsParser import CoordsParser
-from SMART.Java.Python.mappingToCoordinates import MappingToCoordinates
-
-
-class Test_CoordsParser(unittest.TestCase):
-    
-
-    def test_Parser(self):
-        parser = CoordsParser("data/testCoordsParser.coords")
-        
-        cpt = 0
-        for mapping in parser.getIterator():
-            transcript = mapping.getTranscript()
-            cpt += 1
-            if cpt == 1:
-                self.assertEqual(transcript.getChromosome(), "scaffold_1")
-                self.assertEqual(transcript.getName(), "gi|240254421:1-30427671")
-                self.assertEqual(transcript.getStart(), 1)
-                self.assertEqual(transcript.getEnd(), 6251)
-                self.assertEqual(transcript.getDirection(), -1)
-                self.assertEqual(transcript.getNbExons(), 1)
-                self.assertEqual(transcript.getTagValue("identity"), 89.030000000000001)
-                exons = transcript.getExons()
-                self.assertEqual(exons[0].getChromosome(), "scaffold_1")
-                self.assertEqual(exons[0].getStart(), 1)
-                self.assertEqual(exons[0].getEnd(), 6251)
-                self.assertEqual(exons[0].getDirection(), -1)
-                self.assertEqual(transcript.getSize(), 6251)
-            elif cpt == 2:
-                self.assertEqual(transcript.getChromosome(), "scaffold_1")
-                self.assertEqual(transcript.getName(), "gi|240254421:1-30427671")
-                self.assertEqual(transcript.getStart(), 9127)
-                self.assertEqual(transcript.getEnd(), 11947)
-                self.assertEqual(transcript.getDirection(), -1)
-                self.assertEqual(transcript.getNbExons(), 1)
-                self.assertEqual(transcript.getTagValue("identity"), 90.450000000000003)
-                exons = transcript.getExons()
-                self.assertEqual(exons[0].getChromosome(), "scaffold_1")
-                self.assertEqual(exons[0].getStart(), 9127)
-                self.assertEqual(exons[0].getEnd(), 11947)
-                self.assertEqual(exons[0].getDirection(), -1)
-                self.assertEqual(transcript.getSize(), 2821)
-            if cpt == 3:
-                self.assertEqual(transcript.getChromosome(), "scaffold_1")
-                self.assertEqual(transcript.getName(), "gi|240254421:1-30427671")
-                self.assertEqual(transcript.getStart(), 12201)
-                self.assertEqual(transcript.getEnd(), 12953)
-                self.assertEqual(transcript.getDirection(), -1)
-                self.assertEqual(transcript.getNbExons(), 1)
-                exons = transcript.getExons()
-                self.assertEqual(exons[0].getChromosome(), "scaffold_1")
-                self.assertEqual(exons[0].getStart(), 12201)
-                self.assertEqual(exons[0].getEnd(), 12953)
-                self.assertEqual(exons[0].getDirection(), -1)
-                self.assertEqual(transcript.getSize(), 753)
-            
-    def test_Parser_showcoord(self):
-        parser = CoordsParser("data/testCoordsParser_showcoord.coords")
-        expTranscriptCount = 1
-        obsTranscriptCount = 0
-        
-        for mapping in parser.getIterator():
-            transcript = mapping.getTranscript()
-            obsTranscriptCount += 1
-            self.assertEqual(transcript.getChromosome(), "mivi_sl_A1_scaffold00001")
-            self.assertEqual(transcript.getName(), "mivi_sl_A2_scaffold00003")
-            self.assertEqual(transcript.getStart(), 296)
-            self.assertEqual(transcript.getEnd(), 2292)
-            self.assertEqual(transcript.getDirection(), 1)
-            self.assertEqual(transcript.getTagValue("identity"), 98.30)
-            self.assertEqual(transcript.getTagValue("target_pident"), 98.30)                
-            self.assertEqual(transcript.getTagValue("target_pcover"), 3.32)
-            self.assertEqual(transcript.getTagValue("target_length"), 60273)                
-            self.assertEqual(transcript.getTagValue("Target"), "mivi_sl_A2_scaffold00003 1 2001")
-            self.assertEqual(transcript.getSize(), 1997)
-                
-        self.assertEquals(expTranscriptCount, obsTranscriptCount)
-                            
-    def test_Parser_showcoord_promer(self):
-        parser = CoordsParser("data/testCoordsParser_showcoord_promer.coords")
-        expTranscriptCount = 1
-        obsTranscriptCount = 0
-        
-        for mapping in parser.getIterator():
-            transcript = mapping.getTranscript()
-            obsTranscriptCount += 1
-            self.assertEqual(transcript.getChromosome(), "mivi_sl_A1_scaffold00001")
-            self.assertEqual(transcript.getName(), "mivi_sl_A2_scaffold00003")
-            self.assertEqual(transcript.getStart(), 291)
-            self.assertEqual(transcript.getEnd(), 1229)
-            self.assertEqual(transcript.getDirection(), -1)
-            self.assertEqual(transcript.getTagValue("identity"), 94.25)
-            self.assertEqual(transcript.getTagValue("target_pident"), 94.25)                
-            self.assertEqual(transcript.getTagValue("target_pcover"), 1.56)
-            self.assertEqual(transcript.getTagValue("target_length"), 60273)                
-            self.assertEqual(transcript.getTagValue("Target"), "mivi_sl_A2_scaffold00003 939 1")
-            self.assertEqual(transcript.getSize(), 939)
-                
-        self.assertEquals(expTranscriptCount, obsTranscriptCount)
-        

-if __name__ == '__main__':
-        unittest.main()
-
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_CrossSsrAndBesMappedByBlatToGff.py
--- a/commons/core/parsing/test/Test_CrossSsrAndBesMappedByBlatToGff.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,70 +0,0 @@
-from commons.core.parsing.CrossSsrAndBesMappedByBlatToGff import CrossSsrAndBesMappedByBlatToGff
-from commons.core.parsing.SsrParser import SsrParser
-
-import unittest
-import os
-
-
-class Test_CrossSsrAndBesMappedByBlatToGff(unittest.TestCase):
-
-
-    def test_createDictOfSsrParser(self):
-        obsDictSsrParser = {}
-        
-        ssrFileName = 'input_SSR_Resuts.tab'
-        SSRFile = open(ssrFileName, 'w')
-        SSRFile.write('BES_name\tBES_redundancy\tSSR_di/tri/tetranucleotide\tSSR_Motif\tSSR_Motif_number\tSSR_start\tSSR_end\tBES_size\n')
-        SSRFile.write('MRRE1H001A12RM1\t1\t4\tttta\t6\t272\t295\t724\n')
-        SSRFile.write('MRRE1H001B01RM1\t1\t3\taat\t8\t264\t287\t683\n')
-        SSRFile.write('MRRE1H001B07RM1\t1\t2\tta\t19\t153\t190\t734\n')
-        SSRFile.write('MRRE1H001B07RM1\t2\t2\taata\t25\t83\t90\t734\n')
-        SSRFile.close()
-        
-        iCrossSsrAndBesMappedByBlatToGff = CrossSsrAndBesMappedByBlatToGff()
-        iCrossSsrAndBesMappedByBlatToGff._inputFileSSR = ssrFileName
-        obsDictSsrParser = iCrossSsrAndBesMappedByBlatToGff.createDictOfSsrParser(obsDictSsrParser)
-        
-        SsrParser1 = SsrParser('MRRE1H001A12RM1', '1', '4', 'ttta', '6', '272', '295', '724')
-        SsrParser2 = SsrParser('MRRE1H001B01RM1', '1', '3', 'aat', '8', '264', '287', '683')
-        SsrParser3 = SsrParser('MRRE1H001B07RM1', '1', '2', 'ta', '19', '153', '190', '734')
-        SsrParser4 = SsrParser('MRRE1H001B07RM1', '2', '2', 'aata', '25', '83', '90', '734')
-        
-        expDictSsrParser = {
-                         'MRRE1H001A12RM1': [SsrParser1], 
-                         'MRRE1H001B01RM1': [SsrParser2],
-                         'MRRE1H001B07RM1': [SsrParser3, SsrParser4]
-                        }
-        
-        self.assertEquals(expDictSsrParser, obsDictSsrParser)
-        os.remove(ssrFileName)
-        
-    def test_convertSSRPositionsToBlatPositions_strand_FW(self):
-        ssrPos = 75
-        blatPosStart = 10501475
-        blatPosEnd = 10501985
-        strand = '+'
-        iCrossSsrAndBesMappedByBlatToGff = CrossSsrAndBesMappedByBlatToGff()
-        obsNewPos = iCrossSsrAndBesMappedByBlatToGff.convertSSRPositionsToChromPositions(ssrPos, blatPosStart, blatPosEnd, strand)
-        expNewPos = 10501549
-        self.assertEquals(expNewPos, obsNewPos)
-        
-    def test_convertSSRPositionsToBlatPositions_strand_RV(self):
-        ssrPos = 75
-        blatPosStart = 10501475
-        blatPosEnd = 10501985
-        strand = '-'
-        iCrossSsrAndBesMappedByBlatToGff = CrossSsrAndBesMappedByBlatToGff()
-        obsNewPos = iCrossSsrAndBesMappedByBlatToGff.convertSSRPositionsToChromPositions(ssrPos, blatPosStart, blatPosEnd, strand)
-        expNewPos = 10501911
-        self.assertEquals(expNewPos, obsNewPos)
-        
-    def test_getSsrMotif(self):
-        ssrMotif = 'atg'
-        ssrNbMotif = 4
-        iCrossSsrAndBesMappedByBlatToGff = CrossSsrAndBesMappedByBlatToGff()
-        obsSsrSeq = iCrossSsrAndBesMappedByBlatToGff.getSsrSeq(ssrMotif, ssrNbMotif)
-        expSsrSeq = 'atgatgatgatg'
-        self.assertEquals(expSsrSeq, obsSsrSeq)
-
-if __name__ == "__main__":
-    unittest.main()
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_F_BlatToGff.py
--- a/commons/core/parsing/test/Test_F_BlatToGff.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,77 +0,0 @@
-import unittest
-import os
-from commons.core.utils.FileUtils import FileUtils
-
-
-class Test_F_BlatToGff(unittest.TestCase):
-
-
-    def test_run(self):
-        blatInputFileName = '%s/commons/core/parsing/test/inputFile.tab' % os.environ['REPET_PATH']
-        self._writeBlatInputFile(blatInputFileName)
-        
-        obsOutputFileName = '%s/commons/core/parsing/test/obsOutputFile.tab' % os.environ['REPET_PATH']
-        cmd = 'python %s/commons/core/parsing/BlatToGff.py -i %s -o %s' % (os.environ['REPET_PATH'], blatInputFileName, obsOutputFileName)
-        os.system(cmd)
-        
-        expOutputFileName = '%s/commons/core/parsing/test/expOutputFile.tab' % os.environ['REPET_PATH']
-        self._writeExpOutputFile(expOutputFileName)
-        
-        self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName))
-        os.remove(blatInputFileName)
-        os.remove(obsOutputFileName)
-        os.remove(expOutputFileName)
-
-    def test_run_with_methodName(self):
-        blatInputFileName = '%s/commons/core/parsing/test/inputFile.tab' % os.environ['REPET_PATH']
-        self._writeBlatInputFile(blatInputFileName)
-        
-        obsOutputFileName = '%s/commons/core/parsing/test/obsOutputFile.tab' % os.environ['REPET_PATH']
-        cmd = 'python %s/commons/core/parsing/BlatToGff.py -i %s -o %s -n Test_F' % (os.environ['REPET_PATH'], blatInputFileName, obsOutputFileName)
-        os.system(cmd)
-        
-        expOutputFileName = '%s/commons/core/parsing/test/expOutputFile.tab' % os.environ['REPET_PATH']
-        self._writeExpOutputFile_with_methodName(expOutputFileName)
-        
-        self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName))
-        os.remove(blatInputFileName)
-        os.remove(obsOutputFileName)
-        os.remove(expOutputFileName)
-    
-    def _writeBlatInputFile(self, blatInputFileName):
-        file = open(blatInputFileName, 'w')
-        file.write('psLayout version 3\n')
-        file.write('\n')
-        file.write('match    mis-     rep.     N\'s    Q gap    Q gap    T gap    T gap    strand    Q            Q       Q        Q      T            T       T        T      block    blockSizes     qStarts     tStarts\n')
-        file.write('         match    match           count    bases    count    bases              name         size    start    end    name         size    start    end    count\n')
-        file.write('---------------------------------------------------------------------------------------------------------------------------------------------------------------\n')
-        file.write('315\t20\t0\t0\t3\t10\t2\t9\t+\tMRRE1H001H13FM1\t378\t0\t345\tchr16\t22053297\t21686950\t21687294\t4\t76,185,7,67,\t0,77,263,278,\t21686950,21687026,21687213,21687227,\n')
-        file.write('690\t11\t0\t0\t1\t3\t2\t4\t-\tmachin1\t704\t0\t704\tchr16\t22053297\t21736364\t21737069\t3\t40,647,14,\t0,43,690,\t21736364,21736406,21737055,\n')
-        file.write('554\t26\t0\t0\t1\t16\t1\t17\t-\tMRRE1H032F08FM1\t606\t10\t606\tchr11\t19818926\t3725876\t3726473\t2\t553,27,\t10,579,\t3725876,3726446,\n')
-        file.write('620\t23\t0\t0\t0\t0\t0\t0\t-\tmachin2\t643\t0\t643\tchr11\t19818926\t3794984\t3795627\t1\t643,\t0,\t3794984,\n')
-        file.write('347\t25\t0\t0\t0\t0\t0\t0\t-\tmachin3\t393\t21\t393\tchr18\t29360087\t12067347\t12067719\t1\t372,\t0,\t12067347,\n')
-        file.close()
-        
-    def _writeExpOutputFile(self, expOutputFileName):
-        file = open(expOutputFileName, 'w')
-        file.write('##gff-version 3\n')
-        file.write('chr16\tBlatToGff\tBES\t21686950\t21687294\t.\t+\t.\tID=MRRE1H001H13FM1;Name=MRRE1H001H13FM1;bes_start=21686950;bes_end=21687294;bes_size=22053297\n')
-        file.write('chr16\tBlatToGff\tBES\t21736364\t21737069\t.\t+\t.\tID=machin1;Name=machin1;bes_start=21736364;bes_end=21737069;bes_size=22053297\n')
-        file.write('chr11\tBlatToGff\tBES\t3725876\t3726473\t.\t+\t.\tID=MRRE1H032F08FM1;Name=MRRE1H032F08FM1;bes_start=3725876;bes_end=3726473;bes_size=19818926\n')
-        file.write('chr11\tBlatToGff\tBES\t3794984\t3795627\t.\t+\t.\tID=machin2;Name=machin2;bes_start=3794984;bes_end=3795627;bes_size=19818926\n')
-        file.write('chr18\tBlatToGff\tBES\t12067347\t12067719\t.\t+\t.\tID=machin3;Name=machin3;bes_start=12067347;bes_end=12067719;bes_size=29360087\n')
-        file.close()
-        
-    def _writeExpOutputFile_with_methodName(self, expOutputFileName):
-        file = open(expOutputFileName, 'w')
-        file.write('##gff-version 3\n')
-        file.write('chr16\tBlatToGff\tTest_F:BES\t21686950\t21687294\t.\t+\t.\tID=MRRE1H001H13FM1;Name=MRRE1H001H13FM1;bes_start=21686950;bes_end=21687294;bes_size=22053297\n')
-        file.write('chr16\tBlatToGff\tTest_F:BES\t21736364\t21737069\t.\t+\t.\tID=machin1;Name=machin1;bes_start=21736364;bes_end=21737069;bes_size=22053297\n')
-        file.write('chr11\tBlatToGff\tTest_F:BES\t3725876\t3726473\t.\t+\t.\tID=MRRE1H032F08FM1;Name=MRRE1H032F08FM1;bes_start=3725876;bes_end=3726473;bes_size=19818926\n')
-        file.write('chr11\tBlatToGff\tTest_F:BES\t3794984\t3795627\t.\t+\t.\tID=machin2;Name=machin2;bes_start=3794984;bes_end=3795627;bes_size=19818926\n')
-        file.write('chr18\tBlatToGff\tTest_F:BES\t12067347\t12067719\t.\t+\t.\tID=machin3;Name=machin3;bes_start=12067347;bes_end=12067719;bes_size=29360087\n')
-        file.close()
-
-
-if __name__ == "__main__":
-    unittest.main()
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_F_BlatToGffForBesPaired.py
--- a/commons/core/parsing/test/Test_F_BlatToGffForBesPaired.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b"@@ -1,117 +0,0 @@\n-import unittest\n-import os\n-from commons.core.utils.FileUtils import FileUtils\n-\n-\n-class Test_F_BlatToGffForBesPaired(unittest.TestCase):\n-\n-\n-    def test_run(self):\n-        blatInputFileName = '%s/commons/core/parsing/test/inputFile.tab' % os.environ['REPET_PATH']\n-        self._writeBlatInputFileName(blatInputFileName)\n-        fastaInputFileName = '%s/commons/core/parsing/test/sequences.fasta' % os.environ['REPET_PATH']\n-        self._writeFastaInputFile(fastaInputFileName)\n-        \n-        obsOutputFileName = '%s/commons/core/parsing/test/obsOutputFileName.gff' % os.environ['REPET_PATH']\n-        cmd = 'python %s/commons/core/parsing/BlatToGffForBesPaired.py -i %s -f %s -o %s' % (os.environ['REPET_PATH'], blatInputFileName, fastaInputFileName, obsOutputFileName)\n-        os.system(cmd)\n-        \n-        expOutputFileName = '%s/commons/core/parsing/test/expOutputFileName.gff' % os.environ['REPET_PATH']\n-        self._writeExpOutputFileName(expOutputFileName)\n-        self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName))\n-        os.remove(blatInputFileName)\n-        os.remove(fastaInputFileName)\n-        os.remove(expOutputFileName)\n-        os.remove(obsOutputFileName)\n-        \n-    def test_run_with_methodName(self):\n-        blatInputFileName = '%s/commons/core/parsing/test/inputFile.tab' % os.environ['REPET_PATH']\n-        self._writeBlatInputFileName(blatInputFileName)\n-        fastaInputFileName = '%s/commons/core/parsing/test/sequences.fasta' % os.environ['REPET_PATH']\n-        self._writeFastaInputFile(fastaInputFileName)\n-        \n-        obsOutputFileName = '%s/commons/core/parsing/test/obsOutputFileName.gff' % os.environ['REPET_PATH']\n-        cmd = 'python %s/commons/core/parsing/BlatToGffForBesPaired.py -i %s -f %s -o %s -n TestF' % (os.environ['REPET_PATH'], blatInputFileName, fastaInputFileName, obsOutputFileName)\n-        os.system(cmd)\n-        \n-        expOutputFileName = '%s/commons/core/parsing/test/expOutputFileName.gff' % os.environ['REPET_PATH']\n-        self._writeExpOutputFileName_with_methodName(expOutputFileName)\n-        self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName))\n-        os.remove(blatInputFileName)\n-        os.remove(fastaInputFileName)\n-        os.remove(expOutputFileName)\n-        os.remove(obsOutputFileName)\n-\n-    def _writeBlatInputFileName(self, blatInputFileName):\n-        file = open(blatInputFileName, 'w')\n-        file.write('psLayout version 3\\n')\n-        file.write('\\n')\n-        file.write('match    mis-     rep.     N\\'s    Q gap    Q gap    T gap    T gap    strand    Q            Q       Q        Q      T            T       T        T      block    blockSizes     qStarts     tStarts\\n')\n-        file.write('         match    match           count    bases    count    bases              name         size    start    end    name         size    start    end    count\\n')\n-        file.write('---------------------------------------------------------------------------------------------------------------------------------------------------------------\\n')\n-        file.write('315\\t20\\t0\\t0\\t3\\t10\\t2\\t9\\t+\\tMRRE1H001H13FM1\\t378\\t0\\t345\\tchr16\\t22053297\\t21686950\\t21687294\\t4\\t76,185,7,67,\\t0,77,263,278,\\t21686950,21687026,21687213,21687227,\\n')\n-        file.write('690\\t11\\t0\\t0\\t1\\t3\\t2\\t4\\t-\\tMRRE1H001H13RM1\\t704\\t0\\t704\\tchr16\\t22053297\\t21736364\\t21737069\\t3\\t40,647,14,\\t0,43,690,\\t21736364,21736406,21737055,\\n')\n-        file.write('554\\t26\\t0\\t0\\t1\\t16\\t1\\t17\\t+\\tMACHINFM1\\t606\\t10\\t606\\tchr11\\t19818926\\t3725876\\t3726473\\t2\\t553,27,\\t10,579,\\t3725876,3726446,\\n')\n-        file.write('620\\t23\\t0\\t0\\t0\\t0\\t0\\t0\\t-\\tBIDULERM1\\t643\\t0\\t643\\tchr11\\t19818926\\t3794984\\t3795627\\t1\\t643,\\t0,\\t3794984,\\n')\n-        file.write('554\\t26\\t0\\t0\\t1\\t16\\t1\\t17\\t+\\tMRRE1H032F08FM1\\t606\\t10\\t606\\tchr11\\t19818926\\t3725876\\t3726473\\t2\\t553,27,\\t10,579,\\t3725876,3726446,\\n')\n-        file.write('620\\t"..b'ATCGATCGTAGCTAGCTAGCTAGCACTGCTAGCTACG\\n\')\n-        file.write(\'chr16\\tBlatToGffForBesPaired\\tTestF:BES\\t21736364\\t21737069\\t.\\t+\\t.\\tID=MRRE1H001H13RM1;Name=MRRE1H001H13RM1;bes_start=21736364;bes_end=21737069;bes_size=22053297;muscadine_seq=ACTGATCGATCGTACGTACGATCGCTGATCGTACGTACGATCGATCGATCGACTCGATCGTAGCTAGCTACGTCAGTCAGACTGACTGCTGCGCTGCATCGTACTGATCGACTGATCGACTGC\\n\')\n-        file.write(\'chr16\\tBlatToGffForBesPaired\\tTestF:BAC\\t21686950\\t21737069\\t.\\t.\\t.\\tID=MRRE1H001H13;Name=MRRE1H001H13;bac_start=21686950;bac_end=21737069;bac_size=50120;besFM_name=MRRE1H001H13FM1;muscadine_besFM_seq=ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCCTACGTAGCTAGCTAGCTAGCTGATCGATCGATCGTAGCTAGCTAGCTAGCACTGCTAGCTACG;besRM_name=MRRE1H001H13RM1;muscadine_besRM_seq=ACTGATCGATCGTACGTACGATCGCTGATCGTACGTACGATCGATCGATCGACTCGATCGTAGCTAGCTACGTCAGTCAGACTGACTGCTGCGCTGCATCGTACTGATCGACTGATCGACTGC\\n\')\n-        file.write(\'chr11\\tBlatToGffForBesPaired\\tTestF:BES\\t3725876\\t3726473\\t.\\t+\\t.\\tID=MRRE1H032F08FM1;Name=MRRE1H032F08FM1;bes_start=3725876;bes_end=3726473;bes_size=19818926;muscadine_seq=TCAGCTATCGATCGTACGTACGTCGATCGTACGTACGTACGATCGATCGATATCGATCG\\n\')\n-        file.write(\'chr11\\tBlatToGffForBesPaired\\tTestF:BES\\t3794984\\t3795627\\t.\\t+\\t.\\tID=MRRE1H032F08RM1;Name=MRRE1H032F08RM1;bes_start=3794984;bes_end=3795627;bes_size=19818926;muscadine_seq=ATCGACTGATCGTCGATCGTACGATCGACTGATCGATCGATCGACTGACTGTACGTACGTAC\\n\')\n-        file.write(\'chr11\\tBlatToGffForBesPaired\\tTestF:BAC\\t3725876\\t3795627\\t.\\t.\\t.\\tID=MRRE1H032F08;Name=MRRE1H032F08;bac_start=3725876;bac_end=3795627;bac_size=69752;besFM_name=MRRE1H032F08FM1;muscadine_besFM_seq=TCAGCTATCGATCGTACGTACGTCGATCGTACGTACGTACGATCGATCGATATCGATCG;besRM_name=MRRE1H032F08RM1;muscadine_besRM_seq=ATCGACTGATCGTCGATCGTACGATCGACTGATCGATCGATCGACTGACTGTACGTACGTAC\\n\')\n-        file.write(\'chr18\\tBlatToGffForBesPaired\\tTestF:BES\\t12067347\\t12067719\\t.\\t+\\t.\\tID=MRRE1B072N12FM1;Name=MRRE1B072N12FM1;bes_start=12067347;bes_end=12067719;bes_size=29360087;muscadine_seq=ATCGTACGTACGATCGATCGCATGACTACGT\\n\')\n-        file.write(\'chr18\\tBlatToGffForBesPaired\\tTestF:BES\\t11978635\\t11979338\\t.\\t+\\t.\\tID=MRRE1B072N12RM1;Name=MRRE1B072N12RM1;bes_start=11978635;bes_end=11979338;bes_size=29360087;muscadine_seq=TACGTACGATCGACTGATGCTAGCTAGCTCC\\n\')\n-        file.write(\'chr18\\tBlatToGffForBesPaired\\tTestF:BAC\\t11978635\\t12067719\\t.\\t.\\t.\\tID=MRRE1B072N12;Name=MRRE1B072N12;bac_start=11978635;bac_end=12067719;bac_size=89085;besFM_name=MRRE1B072N12FM1;muscadine_besFM_seq=ATCGTACGTACGATCGATCGCATGACTACGT;besRM_name=MRRE1B072N12RM1;muscadine_besRM_seq=TACGTACGATCGACTGATGCTAGCTAGCTCC\\n\')\n-        file.close()\n-        \n-    def _writeFastaInputFile(self, fileName):\n-        file = open(fileName, \'w\')\n-        file.write(\'>MRRE1H001H13FM1\\n\')\n-        file.write(\'ATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATC\\n\')\n-        file.write(\'CTACGTAGCTAGCTAGCTAGCTGATCGATCGATCGTAGCTAGCTAGCTAGC\\n\')\n-        file.write(\'ACTGCTAGCTACG\\n\')\n-        file.write(\'>MRRE1H001H13RM1\\n\')\n-        file.write(\'ACTGATCGATCGTACGTACGATCGCTGATCGTACGTACGATCGATCGATCG\\n\')\n-        file.write(\'ACTCGATCGTAGCTAGCTACGTCAGTCAGACTGACTGCTGCGCTGCATCGT\\n\')\n-        file.write(\'ACTGATCGACTGATCGACTGC\\n\')\n-        file.write(\'>MRRE1H032F08FM1\\n\')\n-        file.write(\'TCAGCTATCGATCGTACGTACGTCGATCGTACGTACGTACGATCGATCGAT\\n\')\n-        file.write(\'ATCGATCG\\n\')\n-        file.write(\'>MRRE1H032F08RM1\\n\')\n-        file.write(\'ATCGACTGATCGTCGATCGTACGATCGACTGATCGATCGATCGACTGACTG\\n\')\n-        file.write(\'TACGTACGTAC\\n\')\n-        file.write(\'>MRRE1B072N12FM1\\n\')\n-        file.write(\'ATCGTACGTACGATCGATCGCATGACTACGT\\n\')\n-        file.write(\'>MRRE1B072N12RM1\\n\')\n-        file.write(\'TACGTACGATCGACTGATGCTAGCTAGCTCC\\n\')\n-        file.write(\'>MACHINFM1\\n\')\n-        file.write(\'ATCGTACGCTAGCTAGTCGATCGATCGATCGATCG\\n\')\n-        file.write(\'>BIDULERM1\\n\')\n-        file.write(\'ACTCGATCGACTACGTACGTAGACTG\\n\')\n-        file.close()\n-        \n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_F_CrossSsrAndBesMappedByBlatToGff.py
--- a/commons/core/parsing/test/Test_F_CrossSsrAndBesMappedByBlatToGff.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,66 +0,0 @@
-import unittest
-import os
-from commons.core.utils.FileUtils import FileUtils
-
-class Test_F_CrossSsrAndBesMappedByBlatToGff(unittest.TestCase):
-
-
-    def test_run(self):
-        ssrInputFileName = '%s/commons/core/parsing/test/ssrInputFile.tab' % os.environ['REPET_PATH']
-        self._writeSsrInputFile(ssrInputFileName)
-        blatInputFileName = '%s/commons/core/parsing/test/blatInputFile.tab' % os.environ['REPET_PATH']
-        self._writeBlatInputFile(blatInputFileName)
-        
-        obsOutputFileName = '%s/commons/core/parsing/test/obsOutputFile.tab' % os.environ['REPET_PATH']
-        cmd = 'python %s/commons/core/parsing/CrossSsrAndBesMappedByBlatToGff.py -s %s -b %s -o %s' % (os.environ['REPET_PATH'], ssrInputFileName, blatInputFileName, obsOutputFileName)
-        os.system(cmd)
-        
-        expOutputFileName = '%s/commons/core/parsing/test/expOutputFile.tab' % os.environ['REPET_PATH']
-        self._writeExpOutputFile(expOutputFileName)
-        
-        self.assertTrue(FileUtils.are2FilesIdentical(expOutputFileName, obsOutputFileName))
-        os.remove(ssrInputFileName)
-        os.remove(blatInputFileName)
-        os.remove(obsOutputFileName)
-        os.remove(expOutputFileName)
-    
-    def _writeBlatInputFile(self, blatInputFileName):
-        file = open(blatInputFileName, 'w')
-        file.write('psLayout version 3\n')
-        file.write('\n')
-        file.write('match    mis-     rep.     N\'s    Q gap    Q gap    T gap    T gap    strand    Q            Q       Q        Q      T            T       T        T      block    blockSizes     qStarts     tStarts\n')
-        file.write('         match    match           count    bases    count    bases              name         size    start    end    name         size    start    end    count\n')
-        file.write('---------------------------------------------------------------------------------------------------------------------------------------------------------------\n')
-        file.write('315\t20\t0\t0\t3\t10\t2\t9\t+\tMRRE1H001H13FM1\t378\t0\t345\tchr16\t22053297\t21686950\t21687294\t4\t76,185,7,67,\t0,77,263,278,\t21686950,21687026,21687213,21687227,\n')
-        file.write('690\t11\t0\t0\t1\t3\t2\t4\t-\tmachin1\t704\t0\t704\tchr16\t22053297\t21736364\t21737069\t3\t40,647,14,\t0,43,690,\t21736364,21736406,21737055,\n')
-        file.write('554\t26\t0\t0\t1\t16\t1\t17\t-\tMRRE1H032F08FM1\t606\t10\t606\tchr11\t19818926\t3725876\t3726473\t2\t553,27,\t10,579,\t3725876,3726446,\n')
-        file.write('620\t23\t0\t0\t0\t0\t0\t0\t-\tmachin2\t643\t0\t643\tchr11\t19818926\t3794984\t3795627\t1\t643,\t0,\t3794984,\n')
-        file.write('347\t25\t0\t0\t0\t0\t0\t0\t-\tmachin3\t393\t21\t393\tchr18\t29360087\t12067347\t12067719\t1\t372,\t0,\t12067347,\n')
-        file.close()
-
-    def _writeSsrInputFile(self, ssrInputFileName):
-        file = open(ssrInputFileName, 'w')
-        file.write('BES_name    BES_redundancy    SSR_di/tri/tetranucleotide    SSR_Motif    SSR_Motif_number    SSR_start    SSR_end    BES_size\n')
-        file.write('truc1\t1\t4\tttta\t6\t272\t295\t724\n')
-        file.write('truc2\t1\t3\taat\t8\t264\t287\t683\n')
-        file.write('MRRE1H001H13FM1\t1\t2\tta\t19\t153\t190\t378\n')
-        file.write('truc3\t2\t4\taaag\t8\t518\t549\t734\n')
-        file.write('MRRE1H032F08FM1\t1\t4\taaat\t7\t544\t571\t606\n')
-        file.write('MRRE1H032F08FM1\t2\t2\tag\t10\t587\t606\t606\n')
-        file.write('truc4\t1\t2\tat\t16\t519\t550\t672\n')
-        file.write('truc5\t1\t3\ttct\t8\t205\t228\t752\n')
-        file.write('truc6\t1\t2\tat\t33\t287\t352\t569\n')
-        file.close()
-        
-    def _writeExpOutputFile(self, expOutputFileName):
-        file = open(expOutputFileName, 'w')
-        file.write('##gff-version 3\n')
-        file.write('chr16\tCrossSsrAndBesAlignedByBlat\tSSR\t21687102\t21687139\t.\t+\t.\tID=SSR_MRRE1H001H13FM1_1;Name=SSR_MRRE1H001H13FM1_1;bes_name=MRRE1H001H13FM1;bes_size=378;bes_matchstart=0;bes_matchend=345;bes_redundancy=1;ssr_type=2;ssr_motif=ta;ssr_motif_number=19;ssr_start=153;ssr_end=190;muscadine_seq=tatatatatatatatatatatatatatatatatatata\n')
-        file.write('chr11\tCrossSsrAndBesAlignedByBlat\tSSR\t3725930\t3725903\t.\t-\t.\tID=SSR_MRRE1H032F08FM1_1;Name=SSR_MRRE1H032F08FM1_1;bes_name=MRRE1H032F08FM1;bes_size=606;bes_matchstart=10;bes_matchend=606;bes_redundancy=1;ssr_type=4;ssr_motif=aaat;ssr_motif_number=7;ssr_start=544;ssr_end=571;muscadine_seq=aaataaataaataaataaataaataaat\n')
-        file.write('chr11\tCrossSsrAndBesAlignedByBlat\tSSR\t3725887\t3725868\t.\t-\t.\tID=SSR_MRRE1H032F08FM1_2;Name=SSR_MRRE1H032F08FM1_2;bes_name=MRRE1H032F08FM1;bes_size=606;bes_matchstart=10;bes_matchend=606;bes_redundancy=2;ssr_type=2;ssr_motif=ag;ssr_motif_number=10;ssr_start=587;ssr_end=606;muscadine_seq=agagagagagagagagagag\n')
-        file.close()
-
-if __name__ == "__main__":
-    unittest.main()
-    
-        
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_F_VarscanToVCF.py
--- a/commons/core/parsing/test/Test_F_VarscanToVCF.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,173 +0,0 @@\n-import unittest\n-import os\n-from commons.core.parsing.VarscanToVCF import VarscanToVCF\n-from commons.core.utils.FileUtils import FileUtils\n-\n-class Test_F_VarscanToVCF(unittest.TestCase):\n-    \n-    def setUp(self):\n-        self.emptyVarscanFileName = "emptyfile.varscan"\n-        self.varscanFileName = "%s/commons/core/parsing/test/data/sampleForTestVarscanToVCF.varscan" % os.environ["REPET_PATH"]\n-        self.expVCFFileName = "expVCF.vcf"\n-        self.obsVCFFileName = "obsVCF.vcf"\n-        \n-    def tearDown(self):\n-        if os.path.exists(self.emptyVarscanFileName):\n-            os.remove(self.emptyVarscanFileName)\n-        os.remove(self.expVCFFileName)\n-        os.remove(self.obsVCFFileName)\n-        \n-    def test_VarscanToVCF(self):\n-        self._writeExpOutputFile()\n-        iVarscanFile = VarscanToVCF(self.varscanFileName, self.obsVCFFileName, doClean = True)\n-        iVarscanFile.run()\n-        self.assertTrue(FileUtils.are2FilesIdentical(self.expVCFFileName, self.obsVCFFileName))\n-       \n-    def test_VarscanToVCF_empty(self):\n-        self._writeInputFile_empty()\n-        self._writeExpOutputFile_empty()\n-        iVarscanFile = VarscanToVCF(self.emptyVarscanFileName, self.obsVCFFileName, doClean = True)\n-        iVarscanFile.run()\n-        self.assertTrue(FileUtils.are2FilesIdentical(self.expVCFFileName, self.obsVCFFileName))\n-           \n-    def _writeInputFile_empty(self):\n-        with open(self.emptyVarscanFileName, "w") as varscanFileName:\n-            varscanFileName.write("Chrom\\tPosition\\tRef\\tCons\\tReads1\\tReads2\\tVarFreq\\tStrands1\\tStrands2\\tQual1\\tQual2\\tPvalue\\tMapQual1\\tMapQual2\\tReads1Plus\\tReads1Minus\\tReads2Plus\\tReads2Minus\\tVarAllele\\n")\n-            \n-    def _writeExpOutputFile_empty(self):\n-        with open(self.expVCFFileName, "w") as vcfFileName:   \n-            vcfFileName.write("##fileformat=VCFv4.1\\n")\n-            vcfFileName.write("#CHROM\\tPOS\\tID\\tREF\\tALT\\tQUAL\\tFILTER\\tINFO\\n")\n-   \n-    def _writeExpOutputFile(self):\n-        with open(self.expVCFFileName, "w") as vcfFileName:\n-            vcfFileName.write("##fileformat=VCFv4.1\\n")\n-            vcfFileName.write("#CHROM\\tPOS\\tID\\tREF\\tALT\\tQUAL\\tFILTER\\tINFO\\n")\n-            vcfFileName.write("chr1\\t10759\\t.\\tC\\tT\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=65;ABQ=47\\n")\n-            vcfFileName.write("chr1\\t12438\\t.\\tC\\tG\\t0.087739243\\t.\\tAF=0.5000;DP=2;RBQ=62;ABQ=42\\n")\n-            vcfFileName.write("chr1\\t17432\\t.\\tA\\tC\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=55;ABQ=37\\n")\n-            vcfFileName.write("chr1\\t20391\\t.\\tA\\tT\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=56;ABQ=37\\n")\n-            vcfFileName.write("chr1\\t21207\\t.\\tT\\tC\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=55;ABQ=41\\n")\n-            vcfFileName.write("chr1\\t26057\\t.\\tT\\tG\\t0.087739243\\t.\\tAF=0.1538;DP=13;RBQ=60;ABQ=37\\n")\n-            vcfFileName.write("chr1\\t36838\\t.\\tT\\tC\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=61;ABQ=36\\n")\n-            vcfFileName.write("chr1\\t37751\\t.\\tA\\tC\\t0.087739243\\t.\\tAF=0.2500;DP=4;RBQ=65;ABQ=42\\n")\n-            vcfFileName.write("chr1\\t43500\\t.\\tC\\tG\\t0.087739243\\t.\\tAF=0.2500;DP=4;RBQ=65;ABQ=40\\n")\n-            vcfFileName.write("chr1\\t50481\\t.\\tA\\tT\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=60;ABQ=40\\n")\n-            vcfFileName.write("chr1\\t106849\\t.\\tC\\tG\\t0.087739243\\t.\\tAF=0.2500;DP=4;RBQ=65;ABQ=40\\n")\n-            vcfFileName.write("chr1\\t108726\\t.\\tT\\tA\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=50;ABQ=41\\n")\n-            vcfFileName.write("chr1\\t114204\\t.\\tG\\tC\\t0.087739243\\t.\\tAF=0.3333;DP=6;RBQ=60;ABQ=39\\n")\n-            vcfFileName.write("chr1\\t115030\\t.\\tA\\tC\\t0.087739243\\t.\\tAF=0.2500;DP=4;RBQ=57;ABQ=41\\n")\n-            vcfFileName.write("chr1\\t116173\\t.\\tA\\tG\\t0.087739243\\t.\\tAF=0.2222;DP=9;RBQ=58;ABQ=39\\n")\n-            vcfFileName.write("chr1\\t118433\\t.\\tG\\tC\\t0.087739243\\t.\\tAF=0.1429;DP=7;RBQ=64;ABQ=50\\n")\n-            vcfFileName.write("chr1\\t119042\\t.\\tA\\tG\\t0.087739243\\t.\\tAF=0.1667;DP=6;RBQ=55;ABQ=51\\n")\n-            vcfFi'..b'me.write("chr1\\t498962\\t.\\tC\\tA\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=65;ABQ=41\\n")\n-            vcfFileName.write("chr1\\t510532\\t.\\tT\\tC\\t0.087739243\\t.\\tAF=0.2000;DP=5;RBQ=64;ABQ=53\\n")\n-            vcfFileName.write("chr1\\t516369\\t.\\tT\\tC\\t0.087739243\\t.\\tAF=0.5000;DP=2;RBQ=34;ABQ=40\\n")\n-            vcfFileName.write("chr1\\t523631\\t.\\tG\\tT\\t0.087739243\\t.\\tAF=0.2500;DP=4;RBQ=64;ABQ=40\\n")\n-            vcfFileName.write("chr1\\t524680\\t.\\tC\\tT\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=65;ABQ=41\\n")\n-            vcfFileName.write("chr1\\t525898\\t.\\tT\\tG\\t0.087739243\\t.\\tAF=0.2500;DP=4;RBQ=62;ABQ=49\\n")\n-            vcfFileName.write("chr1\\t526118\\t.\\tA\\tC\\t0.087739243\\t.\\tAF=0.1667;DP=6;RBQ=61;ABQ=50\\n")\n-            vcfFileName.write("chr1\\t535762\\t.\\tC\\tT\\t0.087739243\\t.\\tAF=0.2500;DP=4;RBQ=65;ABQ=42\\n")\n-            vcfFileName.write("chr1\\t543235\\t.\\tG\\tT\\t0.087739243\\t.\\tAF=0.5000;DP=2;RBQ=45;ABQ=41\\n")\n-            vcfFileName.write("chr1\\t550086\\t.\\tT\\tC\\t0.087739243\\t.\\tAF=0.2500;DP=4;RBQ=50;ABQ=41\\n")\n-            vcfFileName.write("chr1\\t550508\\t.\\tA\\tG\\t0.087739243\\t.\\tAF=0.2500;DP=4;RBQ=55;ABQ=40\\n")\n-            vcfFileName.write("chr1\\t551143\\t.\\tG\\tC\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=65;ABQ=39\\n")\n-            vcfFileName.write("chr1\\t552924\\t.\\tA\\tG\\t0.087739243\\t.\\tAF=0.2500;DP=8;RBQ=62;ABQ=38\\n")\n-            vcfFileName.write("chr1\\t553541\\t.\\tA\\tG\\t0.087739243\\t.\\tAF=0.1250;DP=8;RBQ=65;ABQ=52\\n")\n-            vcfFileName.write("chr1\\t560806\\t.\\tT\\tC\\t0.087739243\\t.\\tAF=0.1667;DP=6;RBQ=65;ABQ=49\\n")\n-            vcfFileName.write("chr1\\t562736\\t.\\tC\\tG\\t0.087739243\\t.\\tAF=0.1667;DP=6;RBQ=64;ABQ=52\\n")\n-            vcfFileName.write("chr1\\t563224\\t.\\tT\\tC\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=51;ABQ=39\\n")\n-            vcfFileName.write("chr1\\t564217\\t.\\tT\\tA\\t0.087739243\\t.\\tAF=0.2500;DP=4;RBQ=62;ABQ=40\\n")\n-            vcfFileName.write("chr1\\t567288\\t.\\tC\\tT\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=65;ABQ=40\\n")\n-            vcfFileName.write("chr1\\t569652\\t.\\tT\\tC\\t0.087739243\\t.\\tAF=0.5000;DP=2;RBQ=48;ABQ=42\\n")\n-            vcfFileName.write("chr1\\t570280\\t.\\tG\\tT\\t0.087739243\\t.\\tAF=0.1250;DP=8;RBQ=60;ABQ=53\\n")\n-            vcfFileName.write("chr1\\t582185\\t.\\tT\\tC\\t0.087739243\\t.\\tAF=0.5000;DP=2;RBQ=63;ABQ=40\\n")\n-            vcfFileName.write("chr1\\t582453\\t.\\tG\\tC\\t0.087739243\\t.\\tAF=0.5000;DP=2;RBQ=65;ABQ=38\\n")\n-            vcfFileName.write("chr1\\t583477\\t.\\tT\\tG\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=62;ABQ=39\\n")\n-            vcfFileName.write("chr1\\t584179\\t.\\tG\\tT\\t0.087739243\\t.\\tAF=0.2500;DP=4;RBQ=65;ABQ=41\\n")\n-            vcfFileName.write("chr1\\t589074\\t.\\tG\\tC\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=65;ABQ=36\\n")\n-            vcfFileName.write("chr1\\t596641\\t.\\tC\\tG\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=65;ABQ=40\\n")\n-            vcfFileName.write("chr1\\t599263\\t.\\tG\\tT\\t0.087739243\\t.\\tAF=0.3333;DP=3;RBQ=60;ABQ=38\\n")\n-                     \n-##fileDate=20090805\n-##source=myImputationProgramV3.1\n-##reference=1000Gchr1    10759    .    C    T    0.087739243    .    AF=33.33%;DP=3enomesPilot-NCBI36\n-##phasing=partial\n-##INFO=<ID=NS,Number=1,Type=Integer,Description="Number of Samples With Data">\n-##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth">\n-##INFO=<ID=AF,Number=.,Type=Float,Description="Allele Frequency">\n-##INFO=<ID=AA,Number=1,Type=String,Description="Ancestral Allele">\n-##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNP membership, build 129">\n-##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2 membership">\n-##FILTER=<ID=q10,Description="Quality below 10">\n-##FILTER=<ID=s50,Description="Less than 50% of samples have data">\n-##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">\n-##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="Genotype Quality">\n-##FORMAT=<ID=DP,Number=1,Type=Integer,Description="Read Depth">\n-##FORMAT=<ID=HQ,Number=2,Type=Integer,Description="Haplotype Quality">\n-            \n-if __name__ == "__main__":\n-    unittest.main()\n-    \n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_FastaParser.py
--- a/commons/core/parsing/test/Test_FastaParser.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,75 +0,0 @@
-from commons.core.parsing.FastaParser import FastaParser
-from SMART.Java.Python.structure.Sequence import Sequence
-import unittest
-
-class Test_FastaParser(unittest.TestCase):
-
-    def test_getSubsequence(self):
-        fastaFile = "myFastaInput.fasta"
-        self._writeInputFastaFile(fastaFile)
-        parser = FastaParser(fastaFile)
-        chromosome = "1"
-        expSeq = Sequence("1:1-20 (1)", "CCTAAGCCATTGCTTGGTGA")
-        obsSeq = parser.getSubSequence(chromosome, 1, 20, 1)
-        self.assertEquals(expSeq, obsSeq)
-
-    def test_getSubsequence_long_sequence(self):
-        fastaFile = "myFastaInput.fasta"
-        self._writeInputFastaFile(fastaFile)
-        parser = FastaParser(fastaFile)
-        chromosome = "2"
-        expSeq = Sequence("subsequence", "TGAAGA")
-        obsSeq = parser.getSubSequence(chromosome, 55, 60, 1, "subsequence")
-        self.assertEquals(expSeq, obsSeq)
-
-    def test_getSubsequence_long_sequence_inside_and_outside(self):
-        fastaFile = "myFastaInput.fasta"
-        self._writeInputFastaFile(fastaFile)
-        parser = FastaParser(fastaFile)
-        chromosome = "2"
-        expSeq = Sequence("subsequence", "TTA")
-        obsSeq = parser.getSubSequence(chromosome, 137, 151, 1, "subsequence")
-        self.assertEquals(expSeq, obsSeq)
-
-    def test_getSubsequence_long_sequence_last_letter(self):
-        fastaFile = "myFastaInput.fasta"
-        self._writeInputFastaFile(fastaFile)
-        parser = FastaParser(fastaFile)
-        chromosome = "2"
-        expSeq = Sequence("subsequence", "A")
-        obsSeq = parser.getSubSequence(chromosome, 139, 151, 1, "subsequence")
-        self.assertEquals(expSeq, obsSeq)
-
-    def test_getSubsequence_long_sequence_totally_outside(self):
-        fastaFile = "myFastaInput.fasta"
-        self._writeInputFastaFile(fastaFile)
-        parser = FastaParser(fastaFile)
-        chromosome = "2"
-        isSysExit = False
-        try:
-            parser.getSubSequence(chromosome, 140, 151, 1, "subsequence")
-        except:
-            isSysExit = True
-        self.assertTrue(isSysExit)
-        
-    def test_setTags(self):
-        fastaFile = "myFastaInput.fasta"
-        self._writeInputFastaFile(fastaFile)
-        parser = FastaParser(fastaFile)
-        parser.setTags()
-        expTags = {"1" : 0,
-                   "2" : 54}
-        obsTags = parser.getTags()
-        self.assertEquals(expTags, obsTags)
-        
-    def _writeInputFastaFile(self, fastaFile):
-        myHandler = open(fastaFile, 'w')
-        myHandler.write(">1\n")
-        myHandler.write("CCTAAGCCATTGCTTGGTGATTATGAAGGCAGTAGTCAAACCTCCACAAT\n")
-        myHandler.write(">2\n")
-        myHandler.write("TATGAGATCAACAGGGGCTTTGCTAGCCTGAGGGCGATTGGTCAAGGCCG\n")
-        myHandler.write("GACCTGAAGAAATTCCTGATTGTACGTTCTGGTTACTCTTCAATTTGGGC\n")
-        myHandler.write("TGCTTAATTATCTCCTCAATTTCAATTTGGCCATGCTTA\n")
-
-if __name__ == "__main__":
-    unittest.main()
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_FindRep.py
--- a/commons/core/parsing/test/Test_FindRep.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,108 +0,0 @@
-import unittest
-import os
-from commons.core.utils.FileUtils import FileUtils
-from xml.sax import make_parser
-from xml.sax.handler import feature_namespaces
-from commons.core.parsing.FindRep import FindRep
-
-
-class Test_FindRep(unittest.TestCase):
-    def setUp(self):
-        self._mrepsOuputFileName = "output.xml"
-        self._obsSetFileName = "obsOuput.set"
-        self._expSetFileName = "expOuput.set"
-        self._writeExpSet(self._expSetFileName)
-        self._writeMrepsOutput(self._mrepsOuputFileName)

-    def tearDown(self):
-        os.remove(self._expSetFileName)
-        os.remove(self._obsSetFileName)
-        os.remove(self._mrepsOuputFileName)
-    
-    def test_parse(self):
-        xmlParser = make_parser()
-        xmlParser.setFeature( feature_namespaces, 0 )
-        xmlParser.setContentHandler( FindRep( self._obsSetFileName,0,  0 ) )
-        xmlParser.parse( self._mrepsOuputFileName )
-        self.assertTrue(FileUtils.are2FilesIdentical(self._obsSetFileName, self._expSetFileName))  
-    
-    def _writeExpSet(self, fileName):
-        f = open(fileName, "w")
-        f.write("1\t(tatt)3\tseq1\t4\t16\n")
-        f.write("2\t(tatt)3\tseq1\t23\t35\n")
-        f.write("3\t(tatt)3\tseq1\t42\t54\n")
-        f.close()
-        
-    def _writeMrepsOutput(self, fileName):
-        f = open(fileName, "w")
-        f.write("<?xml version='1.0' encoding='UTF-8' ?>\n")
-        f.write("<mreps>\n")
-        f.write("<time>Thu Dec  1 17:25:54 2011\n")
-        f.write("</time>\n")
-        f.write("<parameters>\n")
-        f.write("    <type-of-input>file in fasta format</type-of-input>\n")
-        f.write("    <err>3</err>\n")
-        f.write("    <from>1</from>\n")
-        f.write("    <to>-1</to>\n")
-        f.write("    <win>-1</win>\n")
-        f.write("    <minsize>1</minsize>\n")
-        f.write("    <maxsize>-1</maxsize>\n")
-        f.write("    <minperiod>1</minperiod>\n")
-        f.write("   <maxperiod>-1</maxperiod>\n")
-        f.write("   <minexponent>3.00</minexponent>\n")
-        f.write("</parameters>\n")
-        f.write("<results>\n")
-        f.write("<sequence-name>seq1</sequence-name>\n")
-        f.write("<repetitions>\n")
-        f.write("<window>\n")
-        f.write("<windowstart>1</windowstart>\n")
-        f.write("<windowend>60</windowend>\n")
-        f.write("    <repeat>\n")
-        f.write("        <start>4</start>\n")
-        f.write("        <end>16</end>\n")
-        f.write("        <length>13</length>\n")
-        f.write("       <period>4</period>\n")
-        f.write("       <exponent>3.25</exponent>\n")
-        f.write("        <score>0.000</score>\n")
-        f.write("        <sequence>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>t</unit>\n")
-        f.write("        </sequence>\n")
-        f.write("    </repeat>\n")
-        f.write("    <repeat>\n")
-        f.write("        <start>23</start>\n")
-        f.write("        <end>35</end>\n")
-        f.write("        <length>13</length>\n")
-        f.write("        <period>4</period>\n")
-        f.write("        <exponent>3.25</exponent>\n")
-        f.write("        <score>0.000</score>\n")
-        f.write("        <sequence>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>t</unit>\n")
-        f.write("        </sequence>\n")
-        f.write("    </repeat>\n")
-        f.write("    <repeat>\n")
-        f.write("        <start>42</start>\n")
-        f.write("       <end>54</end>\n")
-        f.write("        <length>13</length>\n")
-        f.write("        <period>4</period>\n")
-        f.write("        <exponent>3.25</exponent>\n")
-        f.write("        <score>0.000</score>\n")
-        f.write("        <sequence>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>t</unit>\n")
-        f.write("        </sequence>\n")
-        f.write("    </repeat>\n")
-        f.write("<nbofreps>3</nbofreps>\n")
-        f.write("</window>\n")
-        f.write("</repetitions>\n")
-        f.write("</results>\n")
-        f.write("<errorcode>0</errorcode>\n")
-        f.write("</mreps>\n")
-        f.close()
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_GffParser.py
--- a/commons/core/parsing/test/Test_GffParser.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,62 +0,0 @@
-import unittest
-from commons.core.parsing.GffParser import GffParser
-
-
-class Test_GffParser(unittest.TestCase):
-    
-
-    def test_Parser(self):
-        parser = GffParser("data/testGffParser1.gff3")
-
-        self.assertEqual(parser.getNbTranscripts(), 3)
-
-        cpt = 0
-        for transcript in parser.getIterator():
-            cpt += 1
-            if cpt == 1:
-                self.assertEqual(transcript.getChromosome(), "arm_X")
-                self.assertEqual(transcript.getName(), "test1")
-                self.assertEqual(transcript.getStart(), 1000)
-                self.assertEqual(transcript.getEnd(), 2000)
-                self.assertEqual(transcript.getDirection(), 1)
-                self.assertEqual(transcript.getNbExons(), 1)
-                self.assertEqual(transcript.getTagValue("field"), "value1")
-                exons = transcript.getExons()
-                self.assertEqual(exons[0].getChromosome(), "arm_X")
-                self.assertEqual(exons[0].getStart(), 1000)
-                self.assertEqual(exons[0].getEnd(), 2000)
-                self.assertEqual(exons[0].getDirection(), 1)
-                self.assertEqual(transcript.getSize(), 1001)
-            elif cpt == 2:
-                self.assertEqual(transcript.getChromosome(), "arm_X")
-                self.assertEqual(transcript.getName(), "test2")
-                self.assertEqual(transcript.getStart(), 10000)
-                self.assertEqual(transcript.getEnd(), 20000)
-                self.assertEqual(transcript.getDirection(), -1)
-                self.assertEqual(transcript.getNbExons(), 2)
-                self.assertEqual(transcript.getTagValue("field"), "value2")
-                exons = transcript.getExons()
-                self.assertEqual(exons[0].getChromosome(), "arm_X")
-                self.assertEqual(exons[0].getStart(), 10000)
-                self.assertEqual(exons[0].getEnd(), 10100)
-                self.assertEqual(exons[0].getDirection(), -1)
-                self.assertEqual(transcript.getSize(), 9602)
-            if cpt == 3:
-                self.assertEqual(transcript.getChromosome(), "arm_X")
-                self.assertEqual(transcript.getName(), "test1.1")
-                self.assertEqual(transcript.getStart(), 1000)
-                self.assertEqual(transcript.getEnd(), 2000)
-                self.assertEqual(transcript.getDirection(), 1)
-                self.assertEqual(transcript.getNbExons(), 1)
-                self.assertEqual(transcript.getTagValue("ID"), "test1.1-1")
-                exons = transcript.getExons()
-                self.assertEqual(exons[0].getChromosome(), "arm_X")
-                self.assertEqual(exons[0].getStart(), 1000)
-                self.assertEqual(exons[0].getEnd(), 2000)
-                self.assertEqual(exons[0].getDirection(), 1)
-                self.assertEqual(transcript.getSize(), 1001)
-
-
-if __name__ == '__main__':
-        unittest.main()
-
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_MapParser.py
--- a/commons/core/parsing/test/Test_MapParser.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,53 +0,0 @@
-import unittest
-import os
-from commons.core.parsing.MapParser import MapParser
-
-class Test_MapParser(unittest.TestCase):
-
-    
-    def setUp(self):
-        self.inputMapFileName = "testMapParser.map"
-        self._writeInputMapFile()
-        
-    def tearDown(self):
-        if os.path.exists(self.inputMapFileName):
-            os.remove(self.inputMapFileName)
-    
-    def test_Parser(self):
-        parser = MapParser(self.inputMapFileName)
-        
-        cpt = 0
-        for transcript in parser.getIterator():
-            cpt += 1
-            if cpt == 1:
-                self.assertEqual(transcript.getChromosome(), "dmel_chr4")
-                self.assertEqual(transcript.getName(), "aagatgcgtaacggccatac_17")
-                self.assertEqual(transcript.getStart(), 4380)
-                self.assertEqual(transcript.getEnd(), 4400)
-                self.assertEqual(transcript.getDirection(), 1)
-                self.assertEqual(transcript.getSize(), 21)
-            elif cpt == 10:
-                self.assertEqual(transcript.getChromosome(), "dmel_chr4")
-                self.assertEqual(transcript.getName(), "aacggccatacattggtttg_12")
-                self.assertEqual(transcript.getStart(), 4389)
-                self.assertEqual(transcript.getEnd(), 4409)
-                self.assertEqual(transcript.getDirection(), 1)
-                self.assertEqual(transcript.getSize(), 21)
-                
-                
-    def _writeInputMapFile(self):
-        inputFile = open(self.inputMapFileName,'w')
-        inputFile.write("aagatgcgtaacggccatac_17\tdmel_chr4\t4380\t4400\n")
-        inputFile.write("agatgcgtaacggccataca_16\tdmel_chr4\t4381\t4401\n")
-        inputFile.write("gatgcgtaacggccatacat_16\tdmel_chr4\t4382\t4402\n")
-        inputFile.write("atgcgtaacggccatacatt_15\tdmel_chr4\t4383\t4403\n")
-        inputFile.write("tgcgtaacggccatacattg_15\tdmel_chr4\t4384\t4404\n")
-        inputFile.write("gcgtaacggccatacattgg_15\tdmel_chr4\t4385\t4405\n")
-        inputFile.write("cgtaacggccatacattggt_14\tdmel_chr4\t4386\t4406\n")
-        inputFile.write("gtaacggccatacattggtt_14\tdmel_chr4\t4387\t4407\n")
-        inputFile.write("taacggccatacattggttt_14\tdmel_chr4\t4388\t4408\n")
-        inputFile.write("aacggccatacattggtttg_12\tdmel_chr4\t4389\t4409\n")
-        inputFile.close()
-
-if __name__ == '__main__':
-        unittest.main()
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_MrepsToSet.py
--- a/commons/core/parsing/test/Test_MrepsToSet.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,105 +0,0 @@
-import unittest
-import os
-from commons.core.utils.FileUtils import FileUtils
-from commons.core.parsing.MrepsToSet import MrepsToSet
-
-class Test_MrepsToSet(unittest.TestCase):
-    def setUp(self):
-        self._mrepsInputFileName = "mrepsInput.fa"
-        self._mrepsOuputFileName = "mrepsOutput.xml"
-        self._obsSetFileName = "obsOuput.set"
-        self._expSetFileName = "expOuput.set"
-        
-        self._writeExpSet(self._expSetFileName)
-        self._writeMrepsOutput(self._mrepsOuputFileName)

-    def tearDown(self):
-        os.remove(self._expSetFileName)
-        os.remove(self._obsSetFileName)
-        os.remove(self._mrepsOuputFileName)
-    
-    def test_convert(self):
-        iMrepsToSet = MrepsToSet(self._mrepsInputFileName, self._mrepsOuputFileName, self._obsSetFileName)
-        iMrepsToSet.run()
-        self.assertTrue(FileUtils.are2FilesIdentical(self._obsSetFileName, self._expSetFileName))  
-    
-    def _writeExpSet(self, fileName):
-        f = open(fileName, "w")
-        f.write("1\t(tatt)3\tseq1\t4\t16\n")
-        f.write("2\t(tatt)3\tseq1\t23\t35\n")
-        f.write("3\t(tatt)3\tseq1\t42\t54\n")
-        f.close()
-        
-    def _writeMrepsOutput(self, fileName):
-        f = open(fileName, "w")
-        f.write("<?xml version='1.0' encoding='UTF-8' ?>\n")
-        f.write("<mreps>\n")
-        f.write("<time>Thu Dec  1 17:25:54 2011\n")
-        f.write("</time>\n")
-        f.write("<parameters>\n")
-        f.write("    <type-of-input>file in fasta format</type-of-input>\n")
-        f.write("    <err>3</err>\n")
-        f.write("    <from>1</from>\n")
-        f.write("    <to>-1</to>\n")
-        f.write("    <win>-1</win>\n")
-        f.write("    <minsize>1</minsize>\n")
-        f.write("    <maxsize>-1</maxsize>\n")
-        f.write("    <minperiod>1</minperiod>\n")
-        f.write("   <maxperiod>-1</maxperiod>\n")
-        f.write("   <minexponent>3.00</minexponent>\n")
-        f.write("</parameters>\n")
-        f.write("<results>\n")
-        f.write("<sequence-name>seq1</sequence-name>\n")
-        f.write("<repetitions>\n")
-        f.write("<window>\n")
-        f.write("<windowstart>1</windowstart>\n")
-        f.write("<windowend>60</windowend>\n")
-        f.write("    <repeat>\n")
-        f.write("        <start>4</start>\n")
-        f.write("        <end>16</end>\n")
-        f.write("        <length>13</length>\n")
-        f.write("       <period>4</period>\n")
-        f.write("       <exponent>3.25</exponent>\n")
-        f.write("        <score>0.000</score>\n")
-        f.write("        <sequence>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>t</unit>\n")
-        f.write("        </sequence>\n")
-        f.write("    </repeat>\n")
-        f.write("    <repeat>\n")
-        f.write("        <start>23</start>\n")
-        f.write("        <end>35</end>\n")
-        f.write("        <length>13</length>\n")
-        f.write("        <period>4</period>\n")
-        f.write("        <exponent>3.25</exponent>\n")
-        f.write("        <score>0.000</score>\n")
-        f.write("        <sequence>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>t</unit>\n")
-        f.write("        </sequence>\n")
-        f.write("    </repeat>\n")
-        f.write("    <repeat>\n")
-        f.write("        <start>42</start>\n")
-        f.write("       <end>54</end>\n")
-        f.write("        <length>13</length>\n")
-        f.write("        <period>4</period>\n")
-        f.write("        <exponent>3.25</exponent>\n")
-        f.write("        <score>0.000</score>\n")
-        f.write("        <sequence>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>tatt</unit>\n")
-        f.write("            <unit>t</unit>\n")
-        f.write("        </sequence>\n")
-        f.write("    </repeat>\n")
-        f.write("<nbofreps>3</nbofreps>\n")
-        f.write("</window>\n")
-        f.write("</repetitions>\n")
-        f.write("</results>\n")
-        f.write("<errorcode>0</errorcode>\n")
-        f.write("</mreps>\n")
-        f.close()
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_Multifasta2SNPFile.py
--- a/commons/core/parsing/test/Test_Multifasta2SNPFile.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,1786 +0,0 @@\n-import os\n-import shutil\n-import unittest\n-from commons.core.utils.FileUtils import FileUtils\n-from commons.core.parsing.Multifasta2SNPFile import Multifasta2SNPFile\n-from commons.core.parsing.Multifasta2SNPFile import ReferenceBioseqAndLinesBioseqDBWrapper\n-from commons.core.seq.Bioseq import Bioseq\n-from commons.core.seq.BioseqDB import BioseqDB\n-from smac_pipe.tests.Utils4Test import Utils4Test\n-\n-\n-class Test_Multifasta2SNPFile(unittest.TestCase):\n-# TODO TEST LOGFILE\n-    def setUp(self):\n-        os.chdir("%s/commons/core/parsing/test/" % os.environ["REPET_PATH"])\n-        self._inFileName = "multifasta_input.fasta"\n-        \n-        self._expSubSNPFileName = "%s/commons/core/parsing/test/expSubSNP.csv" % os.environ["REPET_PATH"]\n-        self._expAlleleFileName = "%s/commons/core/parsing/test/expAllele.csv" % os.environ["REPET_PATH"]\n-        \n-        self._expIndividualFileName = "%s/commons/core/parsing/test/expIndividual.csv" % os.environ["REPET_PATH"]\n-        self._expSequenceFSAFileName = "%s/commons/core/parsing/test/expSequences.fsa" % os.environ["REPET_PATH"]\n-        self._expSequenceCSVFileName = "%s/commons/core/parsing/test/expSequences.csv" % os.environ["REPET_PATH"]\n-        self._expBatchFileName = "%s/commons/core/parsing/test/expBatch.txt" % os.environ["REPET_PATH"]\n-        self._expBatchLineFileName = "%s/commons/core/parsing/test/expBatchLine.csv" % os.environ["REPET_PATH"]\n-        \n-        self._realInputFileName = "data/real_multifasta_input.fasta"\n-        self._realExpSubSNPFileName = "data/realExpSubSNP.csv"\n-        self._realExpSequenceFSAFileName = "data/realExpSequences.fsa"\n-        self._realExpBatchLineFileName = "data/realExpBatchLine.csv"\n-        self._realExpIndividualFileName = "data/realExpIndividual.csv"\n-        \n-        self._inputDirSeveralBatches = "%s/commons/core/parsing/test/severalBatchDir" % os.environ["REPET_PATH"]\n-        \n-        self._obsSubSNPFileName = "SubSNP.csv"\n-        self._obsAlleleFileName = "Allele.csv"\n-        self._obsIndividualFileName = "Individual.csv"\n-        self._obsSequenceFSAFileName = "Sequences.fsa"\n-        self._obsSequenceCSVFileName = "Sequences.csv"\n-        self._obsBatchFileName = "Batch.txt"\n-        self._obsBatchLineFileName = "BatchLine.csv"\n-        \n-        self._fileUtils = FileUtils()\n-\n-    def tearDown(self):\n-        os.chdir("%s/commons/core/parsing/test/" % os.environ["REPET_PATH"])\n-        logFileName = "multifasta2SNP.log"\n-        if self._fileUtils.isRessourceExists(self._inFileName):\n-            os.remove(self._inFileName)\n-        if self._fileUtils.isRessourceExists(self._obsSubSNPFileName):\n-            os.remove(self._obsSubSNPFileName)\n-        if self._fileUtils.isRessourceExists(self._obsSubSNPFileName + "_filtered"):\n-            os.remove(self._obsSubSNPFileName + "_filtered")\n-        if self._fileUtils.isRessourceExists(self._obsAlleleFileName):\n-            os.remove(self._obsAlleleFileName)\n-        if self._fileUtils.isRessourceExists(self._obsIndividualFileName):\n-            os.remove(self._obsIndividualFileName)\n-        if self._fileUtils.isRessourceExists(self._obsSequenceFSAFileName):\n-            os.remove(self._obsSequenceFSAFileName)\n-        if self._fileUtils.isRessourceExists(self._obsSequenceCSVFileName):\n-            os.remove(self._obsSequenceCSVFileName)\n-        if self._fileUtils.isRessourceExists(self._obsBatchFileName):\n-            os.remove(self._obsBatchFileName)\n-        if self._fileUtils.isRessourceExists(self._obsBatchLineFileName):\n-            os.remove(self._obsBatchLineFileName)\n-\n-        if self._fileUtils.isRessourceExists(self._expSubSNPFileName):        \n-            os.remove(self._expSubSNPFileName)\n-        if self._fileUtils.isRessourceExists(self._realExpSubSNPFileName + "_filtered"):        \n-            os.remove(self._realExpSubSNPFileName + "_filtered")\n-        if self._fileUtils.isRessourceExists(self._expAlleleFileName):\n-     '..b'   \n-    def _writeInputFileSeveralBatches(self):\n-        if(not FileUtils.isRessourceExists(self._inputDirSeveralBatches)):\n-            os.mkdir(self._inputDirSeveralBatches)\n-         \n-            inFileHandle = open(self._inputDirSeveralBatches+"/Gene1.fasta","w")\n-            inFileHandle.write(">Sequence_de_Reference1\\n")\n-            inFileHandle.write("CCTAAGCCATTGCTTGGTGATTATGAAGGCAGTAGTCAAACCTCCACAATC\\n")\n-            inFileHandle.write(">Line1\\n")\n-            inFileHandle.write("CCTTAGCCATTGCTTGGTGACTATGAAGGCAGTAGGCAAACCTCCACAATC\\n")\n-            inFileHandle.write(">Line2\\n")\n-            inFileHandle.write("CCTAAGCCATTGCTTGGTGACTATCAAGGCAGTAGCCAAACCTCCACAATA")\n-            inFileHandle.close()\n-            \n-            inFileHandle2 = open(self._inputDirSeveralBatches+"/Gene2.fasta","w")\n-            inFileHandle2.write(">Sequence_de_Reference2\\n")\n-            inFileHandle2.write("C--AAGCCATTGCTTGGTGATTATGAAGGCAGTAGTCAAACCTCCACAATC\\n")\n-            inFileHandle2.write(">Line1\\n")\n-            inFileHandle2.write("C--TAGCCA---CTTGGTGACTATGAAGGCAGTAGGCAAACCTCCACAATC\\n")\n-            inFileHandle2.write(">Line2\\n")\n-            inFileHandle2.write("CCTAAGCCATT-CTTGGTGACTATCAAGGCAGTAGCCAAACCTCCACAATA")\n-            inFileHandle2.close()\n-            \n-    def _writeInputFileSeveralBatches_different_lines_between_files(self):\n-        if(not FileUtils.isRessourceExists(self._inputDirSeveralBatches)):\n-            os.mkdir(self._inputDirSeveralBatches)\n-         \n-            inFileHandle = open(self._inputDirSeveralBatches+"/Gene1.fasta","w")\n-            inFileHandle.write(">Sequence_de_Reference1\\n")\n-            inFileHandle.write("CCTAAGCCATTGCTTGGTGATTATGAAGGCAGTAGTCAAACCTCCACAATC\\n")\n-            inFileHandle.write(">Line1\\n")\n-            inFileHandle.write("CCTTAGCCATTGCTTGGTGACTATGAAGGCAGTAGGCAAACCTCCACAATC\\n")\n-            inFileHandle.write(">Line2\\n")\n-            inFileHandle.write("CCTAAGCCATTGCTTGGTGACTATCAAGGCAGTAGCCAAACCTCCACAATA")\n-            inFileHandle.close()\n-            \n-            inFileHandle2 = open(self._inputDirSeveralBatches+"/Gene2.fasta","w")\n-            inFileHandle2.write(">Sequence_de_Reference2\\n")\n-            inFileHandle2.write("C--AAGCCATTGCTTGGTGATTATGAAGGCAGTAGTCAAACCTCCACAATC\\n")\n-            inFileHandle2.write(">Line3\\n")\n-            inFileHandle2.write("C--TAGCCA---CTTGGTGACTATGAAGGCAGTAGGCAAACCTCCACAATC\\n")\n-            inFileHandle2.write(">Line4\\n")\n-            inFileHandle2.write("CCTAAGCCATT-CTTGGTGACTATCAAGGCAGTAGCCAAACCTCCACAATA")\n-            inFileHandle2.close()\n-        \n-    def _writeInputFileSeveralBatches_different_lines_and_same_refseq_between_files(self): \n-        if(not FileUtils.isRessourceExists(self._inputDirSeveralBatches)):\n-            os.mkdir(self._inputDirSeveralBatches)\n-         \n-            inFileHandle = open(self._inputDirSeveralBatches+"/Gene1.fasta","w")\n-            inFileHandle.write(">Sequence_de_Reference1\\n")\n-            inFileHandle.write("CCTAAGCCATTGCTTGGTGATTATGAAGGCAGTAGTCAAACCTCCACAATC\\n")\n-            inFileHandle.write(">Line1\\n")\n-            inFileHandle.write("CCTTAGCCATTGCTTGGTGACTATGAAGGCAGTAGGCAAACCTCCACAATC\\n")\n-            inFileHandle.write(">Line2\\n")\n-            inFileHandle.write("CCTAAGCCATTGCTTGGTGACTATCAAGGCAGTAGCCAAACCTCCACAATA")\n-            inFileHandle.close()\n-            \n-            inFileHandle2 = open(self._inputDirSeveralBatches+"/Gene2.fasta","w")\n-            inFileHandle2.write(">Sequence_de_Reference1\\n")\n-            inFileHandle2.write("C--AAGCCATTGCTTGGTGATTATGAAGGCAGTAGTCAAACCTCCACAATC\\n")\n-            inFileHandle2.write(">Line3\\n")\n-            inFileHandle2.write("C--TAGCCA---CTTGGTGACTATGAAGGCAGTAGGCAAACCTCCACAATC\\n")\n-            inFileHandle2.write(">Line4\\n")\n-            inFileHandle2.write("CCTAAGCCATT-CTTGGTGACTATCAAGGCAGTAGCCAAACCTCCACAATA")\n-            inFileHandle2.close()\n-    \n-        \n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_Multifasta2SNPFileWriter.py
--- a/commons/core/parsing/test/Test_Multifasta2SNPFileWriter.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,292 +0,0 @@\n-from commons.core.utils.FileUtils import FileUtils\n-from commons.core.seq.BioseqDB import BioseqDB\n-from commons.core.seq.Bioseq import Bioseq\n-from commons.core.parsing.Multifasta2SNPFile import Multifasta2SNPFileWriter\n-from commons.core.parsing.Multifasta2SNPFile import Multifasta2SNPFile\n-from commons.core.parsing.Multifasta2SNPFile import ReferenceBioseqAndLinesBioseqDBWrapper\n-from commons.core.LoggerFactory import LoggerFactory\n-import os\n-import logging\n-import unittest\n-\n-class Test_Multifasta2SNPFileWriter(unittest.TestCase):\n-\n-    def setUp(self):\n-        self._obsSubSNPFile = "SubSNP.csv"\n-        self._expSubSNPFile = "ExpSubSNP.csv"\n-        \n-        self._obsAlleleFile = "Allele.csv"\n-        self._expAlleleFile = "ExpAllele.csv"\n-        \n-        self._obsIndividualFile = "Individual.csv"\n-        self._expIndividualFile = "ExpIndividual.csv"\n-        \n-        self._obsSequenceFSAFile = "Sequences.fsa"\n-        self._expSequenceFSAFile = "ExpSequences.fsa"\n-        \n-        self._obsSequenceCSVFile = "Sequences.csv"\n-        self._expSequenceCSVFile = "ExpSequences.csv"\n-        \n-        self._obsBatchFile = "Batch.txt"\n-        self._expBatchFile = "ExpBatch.txt"\n-        \n-        self._obsBatchLineFile = "BatchLine.csv"\n-        self._expBatchLineFile = "ExpBatchLine.csv"\n-        \n-        self._logFileName = "Test_Multifasta2SNPWriter.log"\n-        \n-        self._inputFileName = "multifasta.fsa"\n-        \n-        self._lSNPResult = []\n-        self._dAlleleResult = {}\n-        self._lIndividualResult = []\n-        self._refSeq = Bioseq()\n-        self._seqDb= BioseqDB()\n-        \n-        self._logFile = LoggerFactory.createLogger(self._logFileName, logging.INFO, "%(asctime)s %(levelname)s: %(message)s")\n-        self._lSequenceWrapper = ReferenceBioseqAndLinesBioseqDBWrapper(self._refSeq, self._seqDb,  self._logFile, self._inputFileName)\n-        self._lBatchLineResults = []\n-        \n-        self._Multifasta2SNPFileWriter = Multifasta2SNPFileWriter()\n-        \n-        self._inFileName = "multifasta.txt"\n-        self._taxon = "Arabidopsis thaliana"\n-\n-    def tearDown(self):\n-        if FileUtils.isRessourceExists(self._inFileName):\n-            os.remove(self._inFileName)\n-        if FileUtils.isRessourceExists("multifasta2SNP.log"):\n-            os.remove("multifasta2SNP.log")\n-        if FileUtils.isRessourceExists("Test_Multifasta2SNPWriter.log"):\n-            os.remove("Test_Multifasta2SNPWriter.log")\n-            \n-        if FileUtils.isRessourceExists(self._obsSubSNPFile):\n-            os.remove(self._obsSubSNPFile)\n-        if FileUtils.isRessourceExists(self._expSubSNPFile):\n-            os.remove(self._expSubSNPFile)\n-            \n-        if FileUtils.isRessourceExists(self._obsAlleleFile):\n-            os.remove(self._obsAlleleFile)\n-        if FileUtils.isRessourceExists(self._expAlleleFile):\n-            os.remove(self._expAlleleFile)\n-            \n-        if FileUtils.isRessourceExists(self._obsIndividualFile):\n-            os.remove(self._obsIndividualFile)\n-        if FileUtils.isRessourceExists(self._expIndividualFile):\n-            os.remove(self._expIndividualFile)\n-            \n-        if FileUtils.isRessourceExists(self._obsSequenceFSAFile):\n-            os.remove(self._obsSequenceFSAFile)\n-        if FileUtils.isRessourceExists(self._expSequenceFSAFile):\n-            os.remove(self._expSequenceFSAFile)\n-            \n-        if FileUtils.isRessourceExists(self._obsSequenceCSVFile):\n-            os.remove(self._obsSequenceCSVFile)\n-        if FileUtils.isRessourceExists(self._expSequenceCSVFile):\n-            os.remove(self._expSequenceCSVFile)\n-\n-        if FileUtils.isRessourceExists(self._obsBatchFile):\n-            FileUtils.removeFilesByPattern(self._obsBatchFile)\n-        if FileUtils.isRessourceExists(self._expBatchFile):\n-            FileUtils.removeFilesByPattern(self._expBatchFile)\n-        \n-        if FileUtils.isRessourceExists(self._ob'..b'File))\n-        self.assertTrue(FileUtils.isRessourceExists(self._obsBatchFile))\n-        self.assertTrue(FileUtils.are2FilesIdentical(self._expBatchFile, self._obsBatchFile))\n-        self.assertTrue(FileUtils.isRessourceExists(self._obsBatchLineFile))\n-        self.assertTrue(FileUtils.are2FilesIdentical(self._expBatchLineFile, self._obsBatchLineFile))      \n-    \n-    def _writeExpSubSNPFile(self):\n-        expFile = open(self._expSubSNPFile, "w")\n-        expFile.write("SubSNPName;ConfidenceValue;Type;Position;5flank;3flank;Length;BatchNumber;IndividualNumber;PrimerType;PrimerNumber;Forward_or_Reverse;AlleleNumber\\n")\n-        expFile.write("SubSNP1;A;SNP;1;A;T;1;1;1;Sequence;;;1\\n")\n-        expFile.write("SubSNP2;A;SNP;10;T;A;1;1;1;Sequence;;;2\\n")\n-        expFile.write("SubSNP3;A;SNP;20;T;A;1;1;2;Sequence;;;3\\n")\n-        expFile.close()\n-        \n-    def _writeExpAlleleFile(self):\n-        expFile = open(self._expAlleleFile, "w")\n-        expFile.write("AlleleNumber;Value;Motif;NbCopy;Comment\\n")\n-        expFile.write("1;A;;;\\n")\n-        expFile.write("2;C;;;\\n")\n-        expFile.write("3;T;;;\\n")\n-        expFile.close()        \n-        \n-        \n-    def _writeExpIndividualFile(self):\n-        expFile = open(self._expIndividualFile, "w")\n-        expFile.write("IndividualNumber;IndividualName;Description;AberrAneuploide;FractionLength;DeletionLineSynthesis;UrlEarImage;TypeLine;ChromNumber;ArmChrom;DeletionBin;ScientificName;local_germplasm_name;submitter_code;local_institute;donor_institute;donor_acc_id\\n")\n-        expFile.write("1;Individual1;;;;;;;;;;Arabidopsis thaliana;;;;;\\n")\n-        expFile.write("2;Individual2;;;;;;;;;;Arabidopsis thaliana;;;;;\\n")\n-        expFile.close()        \n-\n-    def _writeInputFile(self):\n-        inFileHandle = open(self._inFileName, "w")\n-        inFileHandle.write(">Sequence_de_Reference\\n")\n-        inFileHandle.write("CCTAAGCCATTGCTTGGTGATTATGAAGGCAGTAGTCAAACCTCCACAATC\\n")\n-        inFileHandle.write(">Line1\\n")\n-        inFileHandle.write("CCTTAGCCATTGCTTGGTGACTATGAAGGCAGTAGGCAAACCTCCACAATC\\n")\n-        inFileHandle.write(">Line2\\n")\n-        inFileHandle.write("CCTAAGCCATTGCTTGGTGACTATCAAGGCAGTAGCCAAACCTCCACAATA")\n-        inFileHandle.close()\n-        \n-    def _writeExpSequenceFiles(self):\n-        SequenceFSAFileHandle = open(self._expSequenceFSAFile, "w")\n-        SequenceFSAFileHandle.write(">Sequence_de_Reference\\n")\n-        SequenceFSAFileHandle.write("CCTAAGCCATTGCTTGGTGATTATGAAGGCAGTAGTCAAACCTCCACAATC\\n")\n-        SequenceFSAFileHandle.close()\n-        SequenceCSVFileHandle = open(self._expSequenceCSVFile, "w")\n-        SequenceCSVFileHandle.write("SequenceName;SeqType;BankName;BankVersion;ACNumber;Locus;ScientificName\\n")\n-        SequenceCSVFileHandle.write("Sequence_de_Reference;Reference;;;;;Arabidopsis thaliana\\n")\n-        SequenceCSVFileHandle.close()\n-        \n-    def _writeExpBatchFile(self):\n-        BatchFileHandle = open(self._expBatchFile, "w")\n-        BatchFileHandle.write("BatchNumber: 1\\n")\n-        BatchFileHandle.write("BatchName: batch1\\n")\n-        BatchFileHandle.write("GeneName: gene1\\n")\n-        BatchFileHandle.write("Description: \\n")\n-        BatchFileHandle.write("ContactNumber: \\n")\n-        BatchFileHandle.write("ProtocolNumber: \\n")\n-        BatchFileHandle.write("ThematicNumber: \\n")\n-        BatchFileHandle.write("RefSeqName: Sequence de Reference\\n")\n-        BatchFileHandle.write("AlignmentFileName: \\n")\n-        BatchFileHandle.write("SeqName: \\n")\n-        BatchFileHandle.write("//\\n")\n-        BatchFileHandle.close()\n-        \n-    def _writeExpBatchLineFile(self):\n-        BatchLineFileHandle = open(self._expBatchLineFile, "w")\n-        BatchLineFileHandle.write("IndividualNumber;Pos5;Pos3;BatchNumber;Sequence\\n")\n-        BatchLineFileHandle.write("1;;;1;\\n")\n-        BatchLineFileHandle.write("2;;;1;\\n")\n-        BatchLineFileHandle.close()\n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_PalsToAlign.py
--- a/commons/core/parsing/test/Test_PalsToAlign.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,43 +0,0 @@
-import unittest
-from commons.core.utils.FileUtils import FileUtils
-import os
-from commons.core.parsing.PalsToAlign import PalsToAlign
-
-class Test_PalsToAlign(unittest.TestCase):
-    
-    def setUp(self):
-        self._palsFileName = "input.gff"
-        self._expAlignFileName = "file.align"
-        self._obsAlignFileName = "output.align"
-        
-    def tearDown(self):
-        os.remove(self._palsFileName)
-        os.remove(self._expAlignFileName)
-        os.remove(self._obsAlignFileName)
-
-    def testRun(self):
-        self._writePalsFile(self._palsFileName)
-        self._writeExpAlignFile(self._expAlignFileName)
-        
-        iPalsToAlign = PalsToAlign(self._palsFileName,self._obsAlignFileName)
-        iPalsToAlign.run()
-        
-        self.assertTrue(FileUtils.are2FilesIdentical(self._expAlignFileName, self._obsAlignFileName))
-
-
-    def _writePalsFile(self, fileName):
-        f = open(fileName, "w")
-        f.write("chunk01\tpals\thit\t32290\t32583\t252\t+\t.\tTarget chunk02 28975 29268; maxe 0.035\n")
-        f.write("chunk01\tpals\thit\t28975\t29268\t252\t+\t.\tTarget chunk02 32290 32583; maxe 0.035\n") 
-        f.write("chunk01\tpals\thit\t65932\t66032\t68\t+\t.\tTarget chunk02 59293 59395; maxe 0.085\n")
-        f.close()
-        
-    def _writeExpAlignFile(self, fileName):
-        f = open(fileName, "w")
-        f.write("chunk01\t28975\t29268\tchunk02\t32290\t32583\t0.0\t252\t96.5\n") 
-        f.write("chunk01\t32290\t32583\tchunk02\t28975\t29268\t0.0\t252\t96.5\n")
-        f.write("chunk01\t65932\t66032\tchunk02\t59293\t59395\t0.0\t68\t91.5\n")
-        f.close()
-
-if __name__ == "__main__":
-    unittest.main()
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_PathNum2Id.py
--- a/commons/core/parsing/test/Test_PathNum2Id.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,69 +0,0 @@
-import unittest
-import os
-from commons.core.parsing.PathNum2Id import PathNum2Id
-from commons.core.utils.FileUtils import FileUtils
-
-
-class Test_PathNum2Id(unittest.TestCase):
-
-    def setUp(self):
-        self._inputFileName = "dummyInputPathFile.path"
-        self._outputFileName = "dummyOutputPathFile.path"
-        self._expectedFileName = "expectedpathFile.path"
-        self._pathNum2Id = PathNum2Id()
-
-    def tearDown(self):
-        os.remove( self._inputFileName )
-        os.remove( self._outputFileName )
-        os.remove( self._expectedFileName )
-
-    def test_RunWhithoutReturnAtEndOfFile(self):
-        self._createAndFillInputFileWhithoutReturnAtTheEnd()
-        self._createExpectedFile()
-        self._pathNum2Id.setInFileName( self._inputFileName )
-        self._pathNum2Id.setOutFileName( self._outputFileName )
-        self._pathNum2Id.run()
-        fileutils = FileUtils()
-        self.assertTrue(fileutils.are2FilesIdentical(self._outputFileName, self._expectedFileName))
-      
-    def test_RunWhithReturnAtEndOfFile(self):
-        self._createAndFillInputFileWhithReturnAtTheEnd()
-        self._createExpectedFile()
-        self._pathNum2Id.setInFileName( self._inputFileName )
-        self._pathNum2Id.setOutFileName( self._outputFileName )
-        self._pathNum2Id.run()
-        fileutils = FileUtils()
-        self.assertTrue(fileutils.are2FilesIdentical(self._outputFileName, self._expectedFileName))
-        
-    def _createExpectedFile(self):
-        f = open(self._expectedFileName, "w")
-        f.write("1\tblumeria_Grouper_590_20:NoCat_1\t91\t108\tDUF234\t5\t22\t1.5\t3.2\t0\n")
-        f.write("2\tblumeria_Grouper_590_20:NoCat_1\t111\t119\tDUF1414\t1\t9\t6.3\t2.9\t0\n")
-        f.write("3\tblumeria_Grouper_590_20:NoCat_3\t30\t37\tCPW_WPC\t1\t9\t7.7\t1.5\t0\n")
-        f.write("4\tblumeria_Grouper_590_20:NoCat_3\t55\t69\tHECT\t341\t355\t9.2e-06\t0.0\t0\n")
-        f.write("5\tblumeria_Grouper_590_20:NoCat_4\t82\t91\tDUF46\t173\t182\t0.11\t6.4\t0\n")
-        f.write("6\tblumeria_Grouper_590_20:NoCat_5\t121\t125\tPOC4\t276\t280\t6.3\t-1.7\t0\n")
-        f.close()
-
-    def _createAndFillInputFileWhithoutReturnAtTheEnd(self):
-        f = open(self._inputFileName, "w")
-        f.write("1\tblumeria_Grouper_590_20:NoCat_1\t91\t108\tDUF234\t5\t22\t1.5\t3.2\t0\n")
-        f.write("2\tblumeria_Grouper_590_20:NoCat_1\t111\t119\tDUF1414\t1\t9\t6.3\t2.9\t0\n")
-        f.write("3\tblumeria_Grouper_590_20:NoCat_3\t30\t37\tCPW_WPC\t1\t9\t7.7\t1.5\t0\n")
-        f.write("1\tblumeria_Grouper_590_20:NoCat_3\t55\t69\tHECT\t341\t355\t9.2e-06\t0.0\t0\n")
-        f.write("2\tblumeria_Grouper_590_20:NoCat_4\t82\t91\tDUF46\t173\t182\t0.11\t6.4\t0\n")
-        f.write("3\tblumeria_Grouper_590_20:NoCat_5\t121\t125\tPOC4\t276\t280\t6.3\t-1.7\t0")
-        f.close()
-        
-    def _createAndFillInputFileWhithReturnAtTheEnd(self):
-        f = open(self._inputFileName, "w")
-        f.write("1\tblumeria_Grouper_590_20:NoCat_1\t91\t108\tDUF234\t5\t22\t1.5\t3.2\t0\n")
-        f.write("2\tblumeria_Grouper_590_20:NoCat_1\t111\t119\tDUF1414\t1\t9\t6.3\t2.9\t0\n")
-        f.write("3\tblumeria_Grouper_590_20:NoCat_3\t30\t37\tCPW_WPC\t1\t9\t7.7\t1.5\t0\n")
-        f.write("1\tblumeria_Grouper_590_20:NoCat_3\t55\t69\tHECT\t341\t355\t9.2e-06\t0.0\t0\n")
-        f.write("2\tblumeria_Grouper_590_20:NoCat_4\t82\t91\tDUF46\t173\t182\t0.11\t6.4\t0\n")
-        f.write("3\tblumeria_Grouper_590_20:NoCat_5\t121\t125\tPOC4\t276\t280\t6.3\t-1.7\t0\n")
-        f.close()
-
-if __name__ == "__main__":
-    unittest.main()
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_PslParser.py
--- a/commons/core/parsing/test/Test_PslParser.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,165 +0,0 @@\n-from commons.core.parsing.PslParser import PslParser\n-import unittest, os\n-\n-\n-class Test_PslParser(unittest.TestCase):\n-\n-    def test_forward(self):\n-        fileName = "tmpFile.psl"\n-        handle   = open(fileName, "w")\n-        handle.write("psLayout version 3\\n\\nmatch\\tmis-\\trep.\\tN\'s\\tQ gap\\tQ gap\\tT gap\\tT gap\\tstrand\\tQ\\tQ\\tQ\\tQ\\T\\tT\\tT\\tT\\tblock\\tblockSizes\\tqStarts\\ttStarts\\nmatch\\tmatch\\tcount\\tbases\\tcount\\tbases\\tname\\tsize\\tstart\\tend\\tname\\tsize\\tstart\\tend\\tcount\\n---------------------------------------------------------------------------------------------------------------------------------------------------------------\\n158\\t0\\t0\\t0\\t0\\t0\\t1\\t158\\t+\\ttest\\t158\\t0\\t158\\tchr1\\t1501\\t237\\t553\\t2\\t79,79,\\t0,79,\\t237,474,\\n")\n-        handle.close()\n-\n-        parser = PslParser(fileName, 0)\n-        self.assertEquals(parser.getNbMappings(), 1)\n-        for mapping in parser.getIterator():\n-            transcript = mapping.getTranscript()\n-            self.assertEquals(transcript.getName(), "test")\n-            self.assertEquals(transcript.getChromosome(), "chr1")\n-            self.assertEquals(transcript.getDirection(), 1)\n-            self.assertEquals(transcript.getStart(), 238)\n-            self.assertEquals(transcript.getEnd(),   553)\n-            self.assertEquals(transcript.getNbExons(), 2)\n-            for i, exon in enumerate(transcript.getExons()):\n-                if i == 0:\n-                    self.assertEquals(exon.getStart(), 238)\n-                    self.assertEquals(exon.getEnd(),   316)\n-                elif i == 1:\n-                    self.assertEquals(exon.getStart(), 475)\n-                    self.assertEquals(exon.getEnd(),   553)\n-        os.remove(fileName)\n-        \n-        \n-    def test_backward(self):\n-        fileName = "tmpFile.psl"\n-        handle   = open(fileName, "w")\n-        handle.write("psLayout version 3\\n\\nmatch\\tmis-\\trep.\\tN\'s\\tQ gap\\tQ gap\\tT gap\\tT gap\\tstrand\\tQ\\tQ\\tQ\\tQ\\tT\\tT\\tT\\tT\\tblock\\tblockSizes\\tqStarts\\ttStarts\\nmatch\\tmatch\\tcount\\tbases\\tcount\\tbases\\tname\\tsize\\tstart\\tend\\tname\\tsize\\tstart\\tend\\tcount\\n---------------------------------------------------------------------------------------------------------------------------------------------------------------\\n158\\t0\\t0\\t0\\t0\\t0\\t1\\t158\\t-\\ttest\\t158\\t0\\t158\\tchr1\\t1501\\t237\\t553\\t2\\t79,79,\\t0,79,\\t237,474,\\n")\n-\n-        handle.close()\n-\n-        parser = PslParser(fileName, 0)\n-        self.assertEquals(parser.getNbMappings(), 1)\n-        for mapping in parser.getIterator():\n-            transcript = mapping.getTranscript()\n-            self.assertEquals(transcript.getName(), "test")\n-            self.assertEquals(transcript.getChromosome(), "chr1")\n-            self.assertEquals(transcript.getDirection(), -1)\n-            self.assertEquals(transcript.getStart(), 238)\n-            self.assertEquals(transcript.getEnd(),   553)\n-            self.assertEquals(transcript.getNbExons(), 2)\n-            for i, exon in enumerate(transcript.getExons()):\n-                if i == 1:\n-                    self.assertEquals(exon.getStart(), 238)\n-                    self.assertEquals(exon.getEnd(),   316)\n-                elif i == 0:\n-                    self.assertEquals(exon.getStart(), 475)\n-                    self.assertEquals(exon.getEnd(),   553)\n-        os.remove(fileName)\n-\n-\n-    def test_query_forward_target_forward(self):\n-        fileName = "tmpFile.psl"\n-        handle   = open(fileName, "w")\n-        handle.write("psLayout version 3\\n\\nmatch\\tmis-\\trep.\\tN\'s\\tQ gap\\tQ gap\\tT gap\\tT gap\\tstrand\\tQ\\tQ\\tQ\\tQ\\tT\\tT\\tT\\tT\\tblock\\tblockSizes\\tqStarts\\ttStarts\\nmatch\\tmatch\\tcount\\tbases\\tcount\\tbases\\tname\\tsize\\tstart\\tend\\tname\\tsize\\tstart\\tend\\tcount\\n---------------------------------------------------------------------------------------------------------------------------------------------------------------\\n241\\t0\\t0\\t0\\t0\\t0\\t1\\t60\\t++\\tseq1\\t255\\t9\\t250\\tref\\t2262\\t59\\t360\\t2'..b'assertEquals(transcript.getChromosome(), "ref")\n-            self.assertEquals(transcript.getDirection(), -1)\n-            self.assertEquals(transcript.getStart(), 60)\n-            self.assertEquals(transcript.getEnd(),   360)\n-            self.assertEquals(transcript.getNbExons(), 2)\n-            for i, exon in enumerate(transcript.getExons()):\n-                if i == 1:\n-                    self.assertEquals(exon.getStart(), 60)\n-                    self.assertEquals(exon.getEnd(),   180)\n-                elif i == 0:\n-                    self.assertEquals(exon.getStart(), 241)\n-                    self.assertEquals(exon.getEnd(),   360)\n-        os.remove(fileName)\n-\n-    def test_query_backward_target_backward(self):\n-        fileName = "tmpFile.psl"\n-        handle   = open(fileName, "w")\n-        handle.write("psLayout version 3\\n\\nmatch\\tmis-\\trep.\\tN\'s\\tQ gap\\tQ gap\\tT gap\\tT gap\\tstrand\\tQ\\tQ\\tQ\\tQ\\tT\\tT\\tT\\tT\\tblock\\tblockSizes\\tqStarts\\ttStarts\\nmatch\\tmatch\\tcount\\tbases\\tcount\\tbases\\tname\\tsize\\tstart\\tend\\tname\\tsize\\tstart\\tend\\tcount\\n---------------------------------------------------------------------------------------------------------------------------------------------------------------\\n241\\t1\\t0\\t0\\t0\\t0\\t1\\t60\\t--\\tseq1\\t255\\t8\\t250\\tref\\t2262\\t58\\t360\\t2\\t120,122,\\t5,125,\\t1902,2082,\\n")\n-        handle.close()\n-\n-        parser = PslParser(fileName, 0)\n-        self.assertEquals(parser.getNbMappings(), 1)\n-        for mapping in parser.getIterator():\n-            transcript = mapping.getTranscript()\n-            self.assertEquals(transcript.getName(), "seq1")\n-            self.assertEquals(transcript.getChromosome(), "ref")\n-            self.assertEquals(transcript.getDirection(), 1)\n-            self.assertEquals(transcript.getStart(), 59)\n-            self.assertEquals(transcript.getEnd(),   360)\n-            self.assertEquals(transcript.getNbExons(), 2)\n-            for i, exon in enumerate(transcript.getExons()):\n-                if i == 0:\n-                    self.assertEquals(exon.getStart(), 59)\n-                    self.assertEquals(exon.getEnd(),   180)\n-                elif i == 1:\n-                    self.assertEquals(exon.getStart(), 241)\n-                    self.assertEquals(exon.getEnd(),   360)\n-        os.remove(fileName)\n-\n-\n-    def test_query_forward_target_backward(self):\n-        fileName = "tmpFile.psl"\n-        handle   = open(fileName, "w")\n-        handle.write("psLayout version 3\\n\\nmatch\\tmis-\\trep.\\tN\'s\\tQ gap\\tQ gap\\tT gap\\tT gap\\tstrand\\tQ\\tQ\\tQ\\tQ\\tT\\tT\\tT\\tT\\tblock\\tblockSizes\\tqStarts\\ttStarts\\nmatch\\tmatch\\tcount\\tbases\\tcount\\tbases\\tname\\tsize\\tstart\\tend\\tname\\tsize\\tstart\\tend\\tcount\\n---------------------------------------------------------------------------------------------------------------------------------------------------------------\\n241\\t1\\t0\\t0\\t0\\t0\\t1\\t60\\t+-\\tseq2\\t255\\t5\\t247\\tref\\t2262\\t58\\t360\\t2\\t120,122,\\t5,125,\\t1902,2082,\\n")\n-        handle.close()\n-\n-        parser = PslParser(fileName, 0)\n-        self.assertEquals(parser.getNbMappings(), 1)\n-        for mapping in parser.getIterator():\n-            transcript = mapping.getTranscript()\n-            self.assertEquals(transcript.getName(), "seq2")\n-            self.assertEquals(transcript.getChromosome(), "ref")\n-            self.assertEquals(transcript.getDirection(), -1)\n-            self.assertEquals(transcript.getStart(), 59)\n-            self.assertEquals(transcript.getEnd(),   360)\n-            self.assertEquals(transcript.getNbExons(), 2)\n-            for i, exon in enumerate(transcript.getExons()):\n-                if i == 1:\n-                    self.assertEquals(exon.getStart(), 59)\n-                    self.assertEquals(exon.getEnd(),   180)\n-                elif i == 0:\n-                    self.assertEquals(exon.getStart(), 241)\n-                    self.assertEquals(exon.getEnd(),   360)\n-        os.remove(fileName)\n-\n-\n-if __name__ == "__main__":\n-    unittest.main()\n-\n-\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_SsrParser.py
--- a/commons/core/parsing/test/Test_SsrParser.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,154 +0,0 @@
-from commons.core.parsing.SsrParser import SsrParser
-import unittest
-
-
-class Test_SsrParser(unittest.TestCase):
-
-
-    def test_setAttributesFromString(self):
-        ssrLine = "MRRE1H001B07RM1\t1\t2\tta\t19\t153\t190\t734"
-        
-        iSsrParser = SsrParser()
-        iSsrParser.setAttributesFromString(ssrLine)
-        
-        obsBES_name = iSsrParser.getBesName()
-        obsBES_redundancy = iSsrParser.getBesRedundancy()
-        obsSSR_nbNucleotides = iSsrParser.getSsrNbNucleotides()
-        obsSSR_Motif = iSsrParser.getSsrMotif()
-        obsSSR_Motif_number = iSsrParser.getSsrMotifNumber()
-        obsSSR_start = iSsrParser.getSsrStart()
-        obsSSR_end = iSsrParser.getSsrEnd()
-        obsBES_size = iSsrParser.getBesSize()
-        
-        expBES_name = 'MRRE1H001B07RM1'
-        expBES_redundancy = '1'
-        expSSR_nbNucleotides = '2'
-        expSSR_Motif = 'ta'
-        expSSR_Motif_number = '19'
-        expSSR_start = '153'
-        expSSR_end = '190'
-        expBES_size = '734'
-        
-        self.assertEquals(expBES_name, obsBES_name)
-        self.assertEquals(expBES_redundancy, obsBES_redundancy)
-        self.assertEquals(expSSR_nbNucleotides, obsSSR_nbNucleotides)
-        self.assertEquals(expSSR_Motif, obsSSR_Motif)
-        self.assertEquals(expSSR_Motif_number, obsSSR_Motif_number)
-        self.assertEquals(expSSR_start, obsSSR_start)
-        self.assertEquals(expSSR_end, obsSSR_end)
-        self.assertEquals(expBES_size, obsBES_size)
-        
-    def test_setAttributesFromString_empty_BESName(self):
-        ssrLine = "\t1\t2\tta\t19\t153\t190\t734"
-        
-        iSsrParser = SsrParser()
-        iSsrParser.setAttributesFromString(ssrLine)
-        
-        obsBES_name = iSsrParser.getBesName()
-        obsBES_redundancy = iSsrParser.getBesRedundancy()
-        obsSSR_nbNucleotides = iSsrParser.getSsrNbNucleotides()
-        obsSSR_Motif = iSsrParser.getSsrMotif()
-        obsSSR_Motif_number = iSsrParser.getSsrMotifNumber()
-        obsSSR_start = iSsrParser.getSsrStart()
-        obsSSR_end = iSsrParser.getSsrEnd()
-        obsBES_size = iSsrParser.getBesSize()
-        
-        expBES_name = ''
-        expBES_redundancy = ''
-        expSSR_nbNucleotides = ''
-        expSSR_Motif = ''
-        expSSR_Motif_number = ''
-        expSSR_start = ''
-        expSSR_end = ''
-        expBES_size = ''
-        
-        self.assertEquals(expBES_name, obsBES_name)
-        self.assertEquals(expBES_redundancy, obsBES_redundancy)
-        self.assertEquals(expSSR_nbNucleotides, obsSSR_nbNucleotides)
-        self.assertEquals(expSSR_Motif, obsSSR_Motif)
-        self.assertEquals(expSSR_Motif_number, obsSSR_Motif_number)
-        self.assertEquals(expSSR_start, obsSSR_start)
-        self.assertEquals(expSSR_end, obsSSR_end)
-        self.assertEquals(expBES_size, obsBES_size)
-
-    def test_setAttributesFromString_less_than_8_fields(self):
-        ssrLine = "1\t2\tta\t19\t153\t190\t734"
-        
-        iSsrParser = SsrParser()
-        iSsrParser.setAttributesFromString(ssrLine)
-        
-        obsBES_name = iSsrParser.getBesName()
-        obsBES_redundancy = iSsrParser.getBesRedundancy()
-        obsSSR_nbNucleotides = iSsrParser.getSsrNbNucleotides()
-        obsSSR_Motif = iSsrParser.getSsrMotif()
-        obsSSR_Motif_number = iSsrParser.getSsrMotifNumber()
-        obsSSR_start = iSsrParser.getSsrStart()
-        obsSSR_end = iSsrParser.getSsrEnd()
-        obsBES_size = iSsrParser.getBesSize()
-        
-        expBES_name = ''
-        expBES_redundancy = ''
-        expSSR_nbNucleotides = ''
-        expSSR_Motif = ''
-        expSSR_Motif_number = ''
-        expSSR_start = ''
-        expSSR_end = ''
-        expBES_size = ''
-        
-        self.assertEquals(expBES_name, obsBES_name)
-        self.assertEquals(expBES_redundancy, obsBES_redundancy)
-        self.assertEquals(expSSR_nbNucleotides, obsSSR_nbNucleotides)
-        self.assertEquals(expSSR_Motif, obsSSR_Motif)
-        self.assertEquals(expSSR_Motif_number, obsSSR_Motif_number)
-        self.assertEquals(expSSR_start, obsSSR_start)
-        self.assertEquals(expSSR_end, obsSSR_end)
-        self.assertEquals(expBES_size, obsBES_size)
-        
-    def test_setAttributes(self):
-        lResults = ['MRRE1H001B07RM1','1','2','ta','19','153','190','734']
-        lineNumber = 1
-        
-        iSsrParser = SsrParser()
-        iSsrParser.setAttributes(lResults, lineNumber)
-        
-        obsBES_name = iSsrParser.getBesName()
-        obsBES_redundancy = iSsrParser.getBesRedundancy()
-        obsSSR_nbNucleotides = iSsrParser.getSsrNbNucleotides()
-        obsSSR_Motif = iSsrParser.getSsrMotif()
-        obsSSR_Motif_number = iSsrParser.getSsrMotifNumber()
-        obsSSR_start = iSsrParser.getSsrStart()
-        obsSSR_end = iSsrParser.getSsrEnd()
-        obsBES_size = iSsrParser.getBesSize()
-        
-        expBES_name = 'MRRE1H001B07RM1'
-        expBES_redundancy = '1'
-        expSSR_nbNucleotides = '2'
-        expSSR_Motif = 'ta'
-        expSSR_Motif_number = '19'
-        expSSR_start = '153'
-        expSSR_end = '190'
-        expBES_size = '734'
-        
-        self.assertEquals(expBES_name, obsBES_name)
-        self.assertEquals(expBES_redundancy, obsBES_redundancy)
-        self.assertEquals(expSSR_nbNucleotides, obsSSR_nbNucleotides)
-        self.assertEquals(expSSR_Motif, obsSSR_Motif)
-        self.assertEquals(expSSR_Motif_number, obsSSR_Motif_number)
-        self.assertEquals(expSSR_start, obsSSR_start)
-        self.assertEquals(expSSR_end, obsSSR_end)
-        self.assertEquals(expBES_size, obsBES_size)
-        
-    def test_eq_Equals(self):
-        SsrParser1 = SsrParser('MRRE1H001A12RM1', '1', '4', 'ttta', '6', '272', '295', '724')
-        SsrParser2 = SsrParser('MRRE1H001A12RM1', '1', '4', 'ttta', '6', '272', '295', '724')
-        
-        self.assertTrue(SsrParser1 == SsrParser2)
-        
-    def test_eq_NotEquals(self):
-        SsrParser1 = SsrParser('MRRE1H001A12RM1', '1', '4', 'ttta', '6', '272', '295', '724')
-        SsrParser2 = SsrParser('MRRE1H001A12RM3', '1', '5', 'ttta', '6', '272', '295', '852')
-        
-        self.assertFalse(SsrParser1 == SsrParser2)
-
-if __name__ == "__main__":
-    unittest.main()
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_VarscanFile.py
--- a/commons/core/parsing/test/Test_VarscanFile.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,287 +0,0 @@\n-from commons.core.parsing.VarscanFile import VarscanFile\n-from commons.core.parsing.VarscanHit import VarscanHit\n-import unittest\n-import os\n-from commons.core.parsing.VarscanHit_WithTag import VarscanHit_WithTag\n-from commons.core.parsing.VarscanHit_v2_2_8 import VarscanHit_v2_2_8\n-from commons.core.parsing.VarscanHit_v2_2_8_WithTag import VarscanHit_v2_2_8_WithTag\n-from commons.core.checker.CheckerException import CheckerException\n-\n-class Test_VarscanFile(unittest.TestCase):\n-\n-    def test_parse_fileWithHeader(self):\n-        varscanFileName = "file.varscan"\n-        self._writeVarscanFile(varscanFileName)\n-        \n-        varscanHit1 = VarscanHit()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'32\')\n-        varscanHit1.setRef(\'C\')\n-        varscanHit1.setVar(\'T\')\n-        \n-        varscanHit2 = VarscanHit()\n-        varscanHit2.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit2.setPosition(\'34\')\n-        varscanHit2.setRef(\'A\')\n-        varscanHit2.setVar(\'T\')\n-        expVarscanHitsList = [varscanHit1, varscanHit2]\n-        \n-        iVarscanFile = VarscanFile(varscanFileName)\n-        iVarscanFile.parse()\n-        obsVarscanHitsList = iVarscanFile.getVarscanHitsList()\n-        os.remove(varscanFileName)\n-        \n-        self.assertEquals(expVarscanHitsList, obsVarscanHitsList)   \n-\n-    def test_parse_FileWithoutHeader(self):\n-        varscanFileName = "file.varscan"\n-        self._writeVarscanFileWithoutHeader(varscanFileName)\n-        \n-        varscanHit1 = VarscanHit()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'32\')\n-        varscanHit1.setRef(\'C\')\n-        varscanHit1.setVar(\'T\')\n-        \n-        varscanHit2 = VarscanHit()\n-        varscanHit2.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit2.setPosition(\'34\')\n-        varscanHit2.setRef(\'A\')\n-        varscanHit2.setVar(\'T\')\n-        expVarscanHitsList = [varscanHit1, varscanHit2]\n-        \n-        iVarscanFile = VarscanFile(varscanFileName)\n-        iVarscanFile.parse()\n-        obsVarscanHitsList = iVarscanFile.getVarscanHitsList()\n-        obsTypeOfVarscanFile = iVarscanFile.getTypeOfVarscanFile()\n-        expTypeOfVarscanFile = "Varscan_2_2"\n-        \n-        self.assertEquals(expVarscanHitsList, obsVarscanHitsList) \n-        self.assertEquals(expTypeOfVarscanFile, obsTypeOfVarscanFile) \n-        os.remove(varscanFileName)\n-        \n-    def test_parse_VarscanFileWithTag(self):\n-        inputFileName = "%s/commons/core/parsing/test/varscan.tab" % os.environ["REPET_PATH"]\n-        self._writeVarscanFileWithTag(inputFileName)\n-        launcher = VarscanFile(inputFileName)\n-        launcher.parse()\n-        obsListOfVarscanHits = launcher.getListOfVarscanHits() \n-        \n-        varscanHit1 = VarscanHit_WithTag()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'32\')\n-        varscanHit1.setRef(\'C\')\n-        varscanHit1.setVar(\'T\')\n-        varscanHit1.setTag(\'EspeceA\')\n-        \n-        varscanHit2 = VarscanHit_WithTag()\n-        varscanHit2.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit2.setPosition(\'34\')\n-        varscanHit2.setRef(\'A\')\n-        varscanHit2.setVar(\'T\')\n-        varscanHit2.setTag(\'EspeceA\')\n-        expVarscanHitsList = [varscanHit1, varscanHit2] \n-        \n-        obsTypeOfVarscanFile = launcher.getTypeOfVarscanFile()\n-        expTypeOfVarscanFile = "Varscan_2_2_WithTag"\n-        \n-        self.assertEquals(expVarscanHitsList, obsListOfVarscanHits) \n-        self.assertEquals(expTypeOfVarscanFile, obsTypeOfVarscanFile) \n-        os.remove(inputFileName)\n-        \n-    def test_parse_VarscanFile_v2_2_8(self):\n-        inputFileName = "%s/commons/core/parsing/test/varscan.tab" % os.environ["REPET_PATH"]\n-        self._writeVarscanFile_v2_2_8(inputFileName)\n-        launcher = VarscanFile(inputFileName)\n-        launcher.parse()\n-        obsListOfVarscanHits = launcher.getListOfVarscanHits('..b'expVarscanHit = VarscanHit_v2_2_8()\n-        expVarscanHit.setChrom(\'C11HBa0064J13_LR285\')\n-        expVarscanHit.setPosition(\'3227\')\n-        expVarscanHit.setRef(\'G\')\n-        expVarscanHit.setVar(\'A\')\n-        expVarscanHit.setCns(\'A\')\n-        self.assertEquals(expVarscanHit, obsVarscanHit)\n-        \n-    def test_createVarscanObjectFromLine_VarscanHit_v2_2_8_WithTag(self):\n-        line = "C11HBa0064J13_LR285\\t3227\\tG\\tA\\t0\\t1\\t100%\\t0\\t1\\t0\\t54\\t0.98\\t0\\t1\\t0\\t0\\t1\\t0\\tA\\tEspeceA\\n"\n-        nbLine = 1\n-        launcher = VarscanFile()\n-        launcher.setTypeOfVarscanFile("Varscan_2_2_8_WithTag")\n-        obsVarscanHit = launcher.createVarscanObjectFromLine(line, nbLine)\n-        expVarscanHit = VarscanHit_v2_2_8_WithTag()\n-        expVarscanHit.setChrom(\'C11HBa0064J13_LR285\')\n-        expVarscanHit.setPosition(\'3227\')\n-        expVarscanHit.setRef(\'G\')\n-        expVarscanHit.setVar(\'A\')\n-        expVarscanHit.setCns(\'A\')\n-        expVarscanHit.setTag(\'EspeceA\')\n-        self.assertEquals(expVarscanHit, obsVarscanHit)\n-    \n-    def _writeVarscanFile(self, varscanFileName):\n-        varscanFile = open(varscanFileName, \'w\')\n-        varscanFile.write("Chrom\\tPosition\\tRef\\tVar\\tReads1\\tReads2\\tVarFreq\\tStrands1\\tStrands2\\tQual1\\tQual2\\tPvalue\\n")\n-        varscanFile.write("C02HBa0291P19_LR48\\t32\\tC\\tT\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\n")\n-        varscanFile.write("C02HBa0291P19_LR48\\t34\\tA\\tT\\t1\\t2\\t66,67%\\t1\\t1\\t40\\t34\\t0.3999999999999999\\n")\n-        varscanFile.close()\n-\n-    def _writeVarscanFileWithoutHeader(self, varscanFileName):\n-        varscanFile = open(varscanFileName, \'w\')\n-        varscanFile.write("C02HBa0291P19_LR48\\t32\\tC\\tT\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\n")\n-        varscanFile.write("C02HBa0291P19_LR48\\t34\\tA\\tT\\t1\\t2\\t66,67%\\t1\\t1\\t40\\t34\\t0.3999999999999999\\n")\n-        varscanFile.close()\n-    \n-    def _writeVarscanFileWithTag(self, varscanFileName):\n-        varscanFile = open(varscanFileName, \'w\')\n-        varscanFile.write("Chrom\\tPosition\\tRef\\tVar\\tReads1\\tReads2\\tVarFreq\\tStrands1\\tStrands2\\tQual1\\tQual2\\tPvalue\\n")\n-        varscanFile.write("C02HBa0291P19_LR48\\t32\\tC\\tT\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\tEspeceA\\n")\n-        varscanFile.write("C02HBa0291P19_LR48\\t34\\tA\\tT\\t1\\t2\\t66,67%\\t1\\t1\\t40\\t34\\t0.3999999999999999\\tEspeceA\\n")\n-        varscanFile.close()\n-    \n-    def _writeVarscanFile_v2_2_8(self, varscanFileName):\n-        varscanFile = open(varscanFileName, \'w\')\n-        varscanFile.write("Chrom\\tPosition\\tRef\\tCons\\tReads1\\tReads2\\tVarFreq\\tStrands1\\tStrands2\\tQual1\\tQual2\\tPvalue\\tMapQual1\\tMapQual2\\tReads1Plus\\tReads1Minus\\tReads2Plus\\tReads2Minus\\tVarAllele\\n")\n-        varscanFile.write("C11HBa0064J13_LR285\\t3227\\tG\\tA\\t0\\t1\\t100%\\t0\\t1\\t0\\t54\\t0.98\\t0\\t1\\t0\\t0\\t1\\t0\\tA\\n")\n-        varscanFile.write("C11HBa0064J13_LR285\\t3230\\tG\\tT\\t0\\t1\\t100%\\t0\\t1\\t0\\t54\\t0.98\\t0\\t1\\t0\\t0\\t1\\t0\\tT\\n")\n-        varscanFile.close()\n-    \n-    def _writeOther(self, fileName):\n-        file = open(fileName, \'w\')\n-        file.write(\'##gff-version 3\\n\')\n-        file.write(\'chr16\\tBlatToGff\\tBES\\t21686950\\t21687294\\t.\\t+\\t.\\tID=MRRE1H001H13FM1;Name=MRRE1H001H13FM1;bes_start=21686950;bes_end=21687294;bes_size=22053297\\n\')\n-        file.write(\'chr16\\tBlatToGff\\tBES\\t21736364\\t21737069\\t.\\t+\\t.\\tID=machin1;Name=machin1;bes_start=21736364;bes_end=21737069;bes_size=22053297\\n\')\n-        file.write(\'chr11\\tBlatToGff\\tBES\\t3725876\\t3726473\\t.\\t+\\t.\\tID=MRRE1H032F08FM1;Name=MRRE1H032F08FM1;bes_start=3725876;bes_end=3726473;bes_size=19818926\\n\')\n-        file.write(\'chr11\\tBlatToGff\\tBES\\t3794984\\t3795627\\t.\\t+\\t.\\tID=machin2;Name=machin2;bes_start=3794984;bes_end=3795627;bes_size=19818926\\n\')\n-        file.write(\'chr18\\tBlatToGff\\tBES\\t12067347\\t12067719\\t.\\t+\\t.\\tID=machin3;Name=machin3;bes_start=12067347;bes_end=12067719;bes_size=29360087\\n\')\n-        file.close()\n-        \n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_VarscanFileForGnpSNP.py
--- a/commons/core/parsing/test/Test_VarscanFileForGnpSNP.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,305 +0,0 @@\n-import unittest\n-import os\n-\n-from commons.core.parsing.VarscanFileForGnpSNP import VarscanFileForGnpSNP\n-from commons.core.parsing.VarscanHitForGnpSNP import VarscanHitForGnpSNP\n-\n-class Test_VarscanFileForGnpSNP(unittest.TestCase):\n-\n-    def test__init__(self):\n-        expFastqFileName = "SR.fastq"\n-        expRefFastaFileName = "ref.fasta"\n-        expTaxonName = "Arabidopsis thaliana"\n-        expVarscanFieldSeparator = "\\t"\n-        expVarscanHitsList = []\n-        \n-        iVarscanFileForGnpSNP = VarscanFileForGnpSNP("", expFastqFileName, expRefFastaFileName, expTaxonName)\n-        \n-        obsFastaqFileName = iVarscanFileForGnpSNP.getFastqFileName()\n-        obsRefFastaFileName = iVarscanFileForGnpSNP.getRefFastaFileName()\n-        obsTaxonName = iVarscanFileForGnpSNP.getTaxonName()\n-        obsVarscanFieldSeparator = iVarscanFileForGnpSNP.getVarscanFieldSeparator()\n-        obsVarscanHitsList = iVarscanFileForGnpSNP.getVarscanHitsList()\n-        \n-        self.assertEquals(expFastqFileName, obsFastaqFileName)\n-        self.assertEquals(expRefFastaFileName, obsRefFastaFileName)\n-        self.assertEquals(expTaxonName, obsTaxonName)\n-        self.assertEquals(expVarscanFieldSeparator, obsVarscanFieldSeparator)\n-        self.assertEquals(expVarscanHitsList, obsVarscanHitsList)\n-\n-    def test_parse(self):\n-        varscanFileName = "varscan.tab"\n-        self._writeVarscanFile(varscanFileName)\n-        \n-        varscanHit1 = VarscanHitForGnpSNP()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'32\')\n-        varscanHit1.setRef(\'C\')\n-        varscanHit1.setVar(\'T\')\n-        varscanHit1.setReads1(\'1\')\n-        varscanHit1.setReads2(\'2\')\n-        varscanHit1.setVarFreq(\'66,67%\')\n-        varscanHit1.setStrands1(\'1\')\n-        varscanHit1.setStrands2(\'1\')\n-        varscanHit1.setQual1(\'37\')\n-        varscanHit1.setQual2(\'35\')\n-        varscanHit1.setPvalue(\'0.3999999999999999\')\n-        varscanHit1.setGnpSNPRef("C")\n-        varscanHit1.setGnpSNPVar("T")\n-        varscanHit1.setGnpSNPPosition(32)\n-        varscanHit1.setOccurrence(1)\n-        varscanHit1.setPolymType("SNP")\n-        varscanHit1.setPolymLength(1)\n-        \n-        varscanHit2 = VarscanHitForGnpSNP()\n-        varscanHit2.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit2.setPosition(\'34\')\n-        varscanHit2.setRef(\'A\')\n-        varscanHit2.setVar(\'T\')\n-        varscanHit2.setReads1(\'1\')\n-        varscanHit2.setReads2(\'2\')\n-        varscanHit2.setVarFreq(\'66,67%\')\n-        varscanHit2.setStrands1(\'1\')\n-        varscanHit2.setStrands2(\'1\')\n-        varscanHit2.setQual1(\'40\')\n-        varscanHit2.setQual2(\'34\')\n-        varscanHit2.setPvalue(\'0.3999999999999999\')\n-        varscanHit2.setGnpSNPRef("A")\n-        varscanHit2.setGnpSNPVar("T")\n-        varscanHit2.setGnpSNPPosition(34)\n-        varscanHit2.setOccurrence(1)\n-        varscanHit2.setPolymType("SNP")\n-        varscanHit2.setPolymLength(1)\n-        expVarscanHitsList = [varscanHit1, varscanHit2]\n-        \n-        iVarscanFileForGnpSNP = VarscanFileForGnpSNP(varscanFileName, \'\', \'\', \'\')\n-        iVarscanFileForGnpSNP.parse()\n-        obsVarscanHitsList = iVarscanFileForGnpSNP.getVarscanHitsList()\n-        os.remove(varscanFileName)\n-        \n-        self.assertEquals(expVarscanHitsList, obsVarscanHitsList)\n-    \n-    def test_parse_with_same_position_and_chr_and_type(self):\n-        varscanFileName = "varscan.tab"\n-        self._writeVarscanFile_2(varscanFileName)\n-        \n-        varscanHit1 = VarscanHitForGnpSNP()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'32\')\n-        varscanHit1.setRef(\'C\')\n-        varscanHit1.setVar(\'T\')\n-        varscanHit1.setReads1(\'1\')\n-        varscanHit1.setReads2(\'2\')\n-        varscanHit1.setVarFreq(\'66,67%\')\n-        varscanHit1.setStrands1(\'1\')\n-        varscanHit1.setStrands2(\'1\')\n-        varscanHit1.setQual1(\'37\')\n-        varscanHit1.setQual2(\'35\')\n-        var'..b'     refFastaFileName = "ref.fasta"\n-        taxonName = "Arabidopsis thaliana"\n-        \n-        varscanHit1 = VarscanHitForGnpSNP()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'34\')\n-        varscanHit1.setRef(\'A\')\n-        varscanHit1.setVar(\'T\')\n-        varscanHit1.setReads1(\'1\')\n-        varscanHit1.setReads2(\'2\')\n-        varscanHit1.setVarFreq(\'66,67%\')\n-        varscanHit1.setStrands1(\'1\')\n-        varscanHit1.setStrands2(\'1\')\n-        varscanHit1.setQual1(\'40\')\n-        varscanHit1.setQual2(\'34\')\n-        varscanHit1.setPvalue(\'0.3999999999999999\')\n-        lVarscanHits1 = [varscanHit1]\n-        \n-        iVarscanFileForGnpSNP1 = VarscanFileForGnpSNP("", fastqFileName, refFastaFileName, taxonName)\n-        iVarscanFileForGnpSNP1.setVarscanHitsList(lVarscanHits1)\n-        \n-        varscanHit2 = VarscanHitForGnpSNP()\n-        varscanHit2.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit2.setPosition(\'34\')\n-        varscanHit2.setRef(\'A\')\n-        varscanHit2.setVar(\'T\')\n-        varscanHit2.setReads1(\'1\')\n-        varscanHit2.setReads2(\'2\')\n-        varscanHit2.setVarFreq(\'66,67%\')\n-        varscanHit2.setStrands1(\'1\')\n-        varscanHit2.setStrands2(\'1\')\n-        varscanHit2.setQual1(\'40\')\n-        varscanHit2.setQual2(\'34\')\n-        varscanHit2.setPvalue(\'0.3999999999999999\')\n-        lVarscanHits2 = [varscanHit2]\n-\n-        iVarscanFileForGnpSNP2 = VarscanFileForGnpSNP("", fastqFileName, refFastaFileName, taxonName)\n-        iVarscanFileForGnpSNP2.setVarscanHitsList(lVarscanHits2)\n-\n-        self.assertTrue(iVarscanFileForGnpSNP1 == iVarscanFileForGnpSNP2)\n-    \n-    def _writeVarscanFile(self, varscanFileName):\n-        varscanFile = open(varscanFileName, \'w\')\n-        varscanFile.write("Chrom\\tPosition\\tRef\\tVar\\tReads1\\tReads2\\tVarFreq\\tStrands1\\tStrands2\\tQual1\\tQual2\\tPvalue\\n")\n-        varscanFile.write("C02HBa0291P19_LR48\\t32\\tC\\tT\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\n")\n-        varscanFile.write("C02HBa0291P19_LR48\\t34\\tA\\tT\\t1\\t2\\t66,67%\\t1\\t1\\t40\\t34\\t0.3999999999999999\\n")\n-        varscanFile.close()\n-    \n-    def _writeVarscanFile_2(self, varscanFileName):\n-        varscanFile = open(varscanFileName, \'w\')\n-        varscanFile.write("Chrom\\tPosition\\tRef\\tVar\\tReads1\\tReads2\\tVarFreq\\tStrands1\\tStrands2\\tQual1\\tQual2\\tPvalue\\n")\n-        varscanFile.write("C02HBa0291P19_LR48\\t32\\tC\\tT\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\n")\n-        varscanFile.write("C02HBa0291P19_LR48\\t32\\tA\\tT\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\n")\n-        varscanFile.close()\n-        \n-    def _writeVarscanFile_3(self, varscanFileName):\n-        varscanFile = open(varscanFileName, \'w\')\n-        varscanFile.write("Chrom\\tPosition\\tRef\\tVar\\tReads1\\tReads2\\tVarFreq\\tStrands1\\tStrands2\\tQual1\\tQual2\\tPvalue\\n")\n-        varscanFile.write("C02HBa0291P19_LR48\\t32\\tC\\tT\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\n")\n-        varscanFile.write("C02HBa0291P19_LR48\\t32\\tC\\t+A\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\n")\n-        varscanFile.close()\n-\n-    def _writeVarscanFile_4(self, varscanFileName):\n-        varscanFile = open(varscanFileName, \'w\')\n-        varscanFile.write("Chrom\\tPosition\\tRef\\tVar\\tReads1\\tReads2\\tVarFreq\\tStrands1\\tStrands2\\tQual1\\tQual2\\tPvalue\\n")\n-        varscanFile.write("seqname\\t2\\tA\\tT\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\n")\n-        varscanFile.write("seqname\\t4\\tC\\tG\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\n")\n-        varscanFile.write("seqname\\t4\\tC\\tA\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\n")\n-        varscanFile.write("seqname\\t8\\tT\\tA\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\n")\n-        varscanFile.write("chrom\\t4\\tC\\tG\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\n")\n-        varscanFile.write("chrom\\t4\\tC\\tA\\t1\\t2\\t66,67%\\t1\\t1\\t37\\t35\\t0.3999999999999999\\n")\n-        varscanFile.close()\n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_VarscanHit.py
--- a/commons/core/parsing/test/Test_VarscanHit.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,165 +0,0 @@
-import unittest
-from commons.core.parsing.VarscanHit import VarscanHit
-from commons.core.checker.CheckerException import CheckerException
-
-class Test_VarscanHit(unittest.TestCase):
-
-    def test_setAttributesFromString(self):
-        line = "C02HBa0291P19_LR48\t32\tC\tT\t1\t2\t66,67%\t1\t1\t37\t35\t0.3999999999999999\n"
-        
-        expChrom = "C02HBa0291P19_LR48"
-        expPosition = "32"
-        expRef = "C"
-        expVar = "T"
-        
-        varscanHit = VarscanHit()
-        varscanHit.setAttributesFromString(line)
-        
-        obsChrom = varscanHit.getChrom()
-        obsPosition = varscanHit.getPosition()
-        obsRef = varscanHit.getRef()
-        obsVar = varscanHit.getVar()
-        
-        self.assertEquals(expChrom, obsChrom)
-        self.assertEquals(expPosition, obsPosition)
-        self.assertEquals(expRef, obsRef)
-        self.assertEquals(expVar, obsVar)
-        
-    def test_setAttributesFromString_empty_chrom(self):
-        line = "\t32\tC\tT\t1\t2\t66,67%\t1\t1\t37\t35\t0.3999999999999999\n"
-        iVarscanHit = VarscanHit()
-        try :
-            iVarscanHit.setAttributesFromString(line)
-        except CheckerException, e:
-            checkerExceptionInstance = e
-        
-        expMessage = "The field Chrom is empty in varscan file in line "
-        obsMessage = checkerExceptionInstance.msg
-           
-        self.assertEquals(expMessage, obsMessage)
-
-    def  test_setAttributesFromString_less_than_12_fields(self):
-        line = "C02HBa0291P19_LR48\t32\tC\tT\t1\t2\t66,67%\t1\t1\t37\n"
-        iVarscanHit = VarscanHit()
-        iVarscanHit.setAttributesFromString(line)
-        self.assertEquals("", iVarscanHit.getQualVar())
-        self.assertEquals("", iVarscanHit.getPValue())
-        
-    def test_setAttributes(self):
-        lResults = ["C02HBa0291P19_LR48", "32", "C", "T", "1", "2", "66,67%", "1", "1", "37", "35", "0.3999999999999999"]
-        lineNumber = 1
-        
-        expChrom = "C02HBa0291P19_LR48"
-        expPosition = "32"
-        expRef = "C"
-        expVar = "T"
-        
-        varscanHit = VarscanHit()
-        varscanHit.setAttributes(lResults, lineNumber)
-        
-        obsChrom = varscanHit.getChrom()
-        obsPosition = varscanHit.getPosition()
-        obsRef = varscanHit.getRef()
-        obsVar = varscanHit.getVar()
-        
-        self.assertEquals(expChrom, obsChrom)
-        self.assertEquals(expPosition, obsPosition)
-        self.assertEquals(expRef, obsRef)
-        self.assertEquals(expVar, obsVar)
-
-    def test_setAttributes_empty_chrom(self):
-        lResults = ["", "", "", "", "", "", "10", "", "", "", "", ""]
-        lineNumber = 1
-        
-        varscanHit = VarscanHit()
-        checkerExceptionInstance = None
-        try:
-            varscanHit.setAttributes(lResults, lineNumber)
-        except CheckerException, e:
-            checkerExceptionInstance = e
-        
-        expMessage = "The field Chrom is empty in varscan file in line 1"
-        obsMessage = checkerExceptionInstance.msg
-           
-        self.assertEquals(expMessage, obsMessage)
-
-    def test_setAttributes_empty_position(self):
-        lResults = ["chrom", "", "", "", "", "", "10", "", "", "", "", ""]
-        lineNumber = 5
-        
-        varscanHit = VarscanHit()
-        checkerExceptionInstance = None
-        try:
-            varscanHit.setAttributes(lResults, lineNumber)
-        except CheckerException, e:
-            checkerExceptionInstance = e
-        
-        expMessage = "The field Position is empty in varscan file in line 5"
-        obsMessage = checkerExceptionInstance.msg
-           
-        self.assertEquals(expMessage, obsMessage)
-
-    def test_setAttributes_empty_ref(self):
-        lResults = ["chrom", "position", "", "", "", "", "10", "", "", "", "", ""]
-        lineNumber = 5
-        
-        varscanHit = VarscanHit()
-        checkerExceptionInstance = None
-        try:
-            varscanHit.setAttributes(lResults, lineNumber)
-        except CheckerException, e:
-            checkerExceptionInstance = e
-        
-        expMessage = "The field Ref is empty in varscan file in line 5"
-        obsMessage = checkerExceptionInstance.msg
-           
-        self.assertEquals(expMessage, obsMessage)
-
-    def test_setAttributes_empty_var(self):
-        lResults = ["chrom", "position", "ref", "", "", "", "10", "", "", "", "", ""]
-        lineNumber = 5
-        
-        varscanHit = VarscanHit()
-        checkerExceptionInstance = None
-        try:
-            varscanHit.setAttributes(lResults, lineNumber)
-        except CheckerException, e:
-            checkerExceptionInstance = e
-        
-        expMessage = "The field Var is empty in varscan file in line 5"
-        obsMessage = checkerExceptionInstance.msg
-           
-        self.assertEquals(expMessage, obsMessage)
-
-    def test__eq__notEquals(self):
-        varscanHit1 = VarscanHit()
-        varscanHit1.setChrom('C02HBa0291P19_LR48')
-        varscanHit1.setPosition('32')
-        varscanHit1.setRef('C')
-        varscanHit1.setVar('T')
-        
-        varscanHit2 = VarscanHit()
-        varscanHit2.setChrom('C02HBa0291P19_LR48')
-        varscanHit2.setPosition('34')
-        varscanHit2.setRef('A')
-        varscanHit2.setVar('T')
-        
-        self.assertFalse(varscanHit1 == varscanHit2)
-
-    def test__eq__Equals(self):
-        varscanHit1 = VarscanHit()
-        varscanHit1.setChrom('C02HBa0291P19_LR48')
-        varscanHit1.setPosition('32')
-        varscanHit1.setRef('C')
-        varscanHit1.setVar('T')
-        
-        varscanHit2 = VarscanHit()
-        varscanHit2.setChrom('C02HBa0291P19_LR48')
-        varscanHit2.setPosition('32')
-        varscanHit2.setRef('C')
-        varscanHit2.setVar('T')
-        
-        self.assertTrue(varscanHit1 == varscanHit2)        
-
-if __name__ == "__main__":
-    unittest.main()
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_VarscanHitForGnpSNP.py
--- a/commons/core/parsing/test/Test_VarscanHitForGnpSNP.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,412 +0,0 @@\n-import unittest\n-from commons.core.parsing.VarscanHitForGnpSNP import VarscanHitForGnpSNP\n-from commons.core.checker.CheckerException import CheckerException\n-\n-class Test_VarscanHitForGnpSNP(unittest.TestCase):\n-\n-    def test_setAttributes(self):\n-        lResults = ["C02HBa0291P19_LR48", "32", "C", "T", "1", "2", "66,67%", "1", "1", "37", "35", "0.3999999999999999"]\n-        lineNumber = 1\n-    \n-        expChrom = "C02HBa0291P19_LR48"\n-        expPosition = "32"\n-        expRef = "C"\n-        expVar = "T"\n-        expReads1 = "1"\n-        expReads2 = "2"\n-        expVarFreq = 66.67\n-        expStrands1 = "1"\n-        expStrands2 = "1"\n-        expQual1 = "37"\n-        expQual2 = "35"\n-        expPvalue = "0.3999999999999999"\n-        \n-        varscanHit = VarscanHitForGnpSNP()\n-        varscanHit.setAttributes(lResults, lineNumber)\n-        \n-        obsChrom = varscanHit.getChrom()\n-        obsPosition = varscanHit.getPosition()\n-        obsRef = varscanHit.getRef()\n-        obsVar = varscanHit.getVar()\n-        obsReads1 = varscanHit.getReads1()\n-        obsReads2 = varscanHit.getReads2()\n-        obsVarFreq = varscanHit.getVarFreq()\n-        obsStrands1 = varscanHit.getStrands1()\n-        obsStrands2 = varscanHit.getStrands2()\n-        obsQual1 = varscanHit.getQual1()\n-        obsQual2 = varscanHit.getQual2()\n-        obsPvalue = varscanHit.getPvalue()\n-        \n-        self.assertEquals(expChrom, obsChrom)\n-        self.assertEquals(expPosition, obsPosition)\n-        self.assertEquals(expRef, obsRef)\n-        self.assertEquals(expVar, obsVar)\n-        self.assertEquals(expReads1, obsReads1)\n-        self.assertEquals(expReads2, obsReads2)\n-        self.assertEquals(expVarFreq, obsVarFreq)\n-        self.assertEquals(expStrands1, obsStrands1)\n-        self.assertEquals(expStrands2, obsStrands2)\n-        self.assertEquals(expQual1, obsQual1)\n-        self.assertEquals(expQual2, obsQual2)\n-        self.assertEquals(expPvalue, obsPvalue)\n-\n-    def test_setAttributes_empty_chrom(self):\n-        lResults = ["", "", "", "", "", "", "10", "", "", "", "", ""]\n-        lineNumber = 1\n-        \n-        varscanHit = VarscanHitForGnpSNP()\n-        checkerExceptionInstance = None\n-        try:\n-            varscanHit.setAttributes(lResults, lineNumber)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        \n-        expMessage = "The field Chrom is empty in varscan file in line 1"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test_setAttributes_empty_position(self):\n-        lResults = ["chrom", "", "", "", "", "", "10", "", "", "", "", ""]\n-        lineNumber = 5\n-        \n-        varscanHit = VarscanHitForGnpSNP()\n-        checkerExceptionInstance = None\n-        try:\n-            varscanHit.setAttributes(lResults, lineNumber)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        \n-        expMessage = "The field Position is empty in varscan file in line 5"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test_setAttributes_empty_ref(self):\n-        lResults = ["chrom", "position", "", "", "", "", "10", "", "", "", "", ""]\n-        lineNumber = 5\n-        \n-        varscanHit = VarscanHitForGnpSNP()\n-        checkerExceptionInstance = None\n-        try:\n-            varscanHit.setAttributes(lResults, lineNumber)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        \n-        expMessage = "The field Ref is empty in varscan file in line 5"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test_setAttributes_empty_var(self):\n-        lResults = ["chrom", "position", "ref", "", "", "", "10", "", "", "", "", ""]\n-        lineNumber = 5\n-        \n-        varscanHit = VarscanHitForGnpS'..b'atAlleles2GnpSnp_for_Deletion(self):\n-        varscanHit1 = VarscanHitForGnpSNP()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'32\')\n-        varscanHit1.setRef(\'C\')\n-        varscanHit1.setVar(\'-ATT\')\n-        varscanHit1.setReads1(\'1\')\n-        varscanHit1.setReads2(\'2\')\n-        varscanHit1.setVarFreq(\'66,67%\')\n-        varscanHit1.setStrands1(\'1\')\n-        varscanHit1.setStrands2(\'1\')\n-        varscanHit1.setQual1(\'37\')\n-        varscanHit1.setQual2(\'35\')\n-        varscanHit1.setPvalue(\'0.3999999999999999\')\n-        \n-        expPolymType = "DELETION"\n-        expGnpSnpRef = "ATT"\n-        expGnpSnpVar = "---"\n-        expGnpSnpPosition = 33\n-        \n-        varscanHit1.formatAlleles2GnpSnp()\n-        \n-        obsPolymType = varscanHit1.getPolymType()\n-        obsGnpSnpRef = varscanHit1.getGnpSnpRef()\n-        obsGnpSnpVar = varscanHit1.getGnpSnpVar()\n-        obsGnpSnpPosition = varscanHit1.getGnpSnpPosition()\n-        \n-        self.assertEquals(expPolymType,obsPolymType)\n-        self.assertEquals(expGnpSnpRef, obsGnpSnpRef)\n-        self.assertEquals(expGnpSnpVar, obsGnpSnpVar)\n-        self.assertEquals(expGnpSnpPosition, obsGnpSnpPosition)\n-        \n-    def test_setVarFreq(self):\n-        varscanHit1 = VarscanHitForGnpSNP()  \n-        exp = 66.67      \n-        varscanHit1.setVarFreq(\'66,67%\')\n-        obs = varscanHit1.getVarFreq()\n-        self.assertEquals(exp, obs)\n-            \n-    def test_formatAlleles2GnpSnp_for_Insertion(self):\n-        varscanHit1 = VarscanHitForGnpSNP()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'32\')\n-        varscanHit1.setRef(\'C\')\n-        varscanHit1.setVar(\'+TG\')\n-        varscanHit1.setReads1(\'1\')\n-        varscanHit1.setReads2(\'2\')\n-        varscanHit1.setVarFreq(\'66,67%\')\n-        varscanHit1.setStrands1(\'1\')\n-        varscanHit1.setStrands2(\'1\')\n-        varscanHit1.setQual1(\'37\')\n-        varscanHit1.setQual2(\'35\')\n-        varscanHit1.setPvalue(\'0.3999999999999999\')\n-        \n-        expPolymType = "INSERTION"\n-        expGnpSnpRef = "--"\n-        expGnpSnpVar = "TG"\n-        expGnpSnpPosition = 32\n-        \n-        varscanHit1.formatAlleles2GnpSnp()\n-        \n-        obsPolymType = varscanHit1.getPolymType()\n-        obsGnpSnpRef = varscanHit1.getGnpSnpRef()\n-        obsGnpSnpVar = varscanHit1.getGnpSnpVar()\n-        obsGnpSnpPosition = varscanHit1.getGnpSnpPosition()\n-        \n-        self.assertEquals(expPolymType,obsPolymType)\n-        self.assertEquals(expGnpSnpRef, obsGnpSnpRef)\n-        self.assertEquals(expGnpSnpVar, obsGnpSnpVar)\n-        self.assertEquals(expGnpSnpPosition, obsGnpSnpPosition)\n-        \n-    def test_formatAlleles2GnpSnp_for_SNP(self):\n-        varscanHit1 = VarscanHitForGnpSNP()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'12\')\n-        varscanHit1.setRef(\'G\')\n-        varscanHit1.setVar(\'T\')\n-        varscanHit1.setReads1(\'1\')\n-        varscanHit1.setReads2(\'2\')\n-        varscanHit1.setVarFreq(\'66,67%\')\n-        varscanHit1.setStrands1(\'1\')\n-        varscanHit1.setStrands2(\'1\')\n-        varscanHit1.setQual1(\'37\')\n-        varscanHit1.setQual2(\'35\')\n-        varscanHit1.setPvalue(\'0.3999999999999999\')\n-        \n-        expPolymType = "SNP"\n-        expGnpSnpRef = "G"\n-        expGnpSnpVar = "T"\n-        expGnpSnpPosition = 12\n-        \n-        varscanHit1.formatAlleles2GnpSnp()\n-        \n-        obsPolymType = varscanHit1.getPolymType()\n-        obsGnpSnpRef = varscanHit1.getGnpSnpRef()\n-        obsGnpSnpVar = varscanHit1.getGnpSnpVar()\n-        obsGnpSnpPosition = varscanHit1.getGnpSnpPosition()\n-        \n-        self.assertEquals(expPolymType,obsPolymType)\n-        self.assertEquals(expGnpSnpRef, obsGnpSnpRef)\n-        self.assertEquals(expGnpSnpVar, obsGnpSnpVar)\n-        self.assertEquals(expGnpSnpPosition, obsGnpSnpPosition)\n-        \n-\n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_VarscanHit_WithTag.py
--- a/commons/core/parsing/test/Test_VarscanHit_WithTag.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,212 +0,0 @@\n-import unittest\n-from commons.core.checker.CheckerException import CheckerException\n-from commons.core.parsing.VarscanHit_WithTag import VarscanHit_WithTag\n-\n-class Test_VarscanHit_WithTag(unittest.TestCase):\n-\n-    def test_setAttributesFromString(self):\n-        line = "chr1\\t1804\\tT\\tC\\t0\\t1\\t100%\\t0\\t1\\t0\\t53\\t0.98\\tEspeceA\\n"\n-        \n-        expChrom = "chr1"\n-        expPosition = "1804"\n-        expRef = "T"\n-        expVar = "C"\n-        expReadsRef = "0"\n-        expReadsVar = "1"\n-        expVarFreq = "100%"\n-        expStrandsRef = "0"\n-        expStrandsVar = "1"\n-        expQualRef = "0"\n-        expQualVar = "53"\n-        expPValue = "0.98"\n-        expTag = "EspeceA"\n-        \n-        varscanHit = VarscanHit_WithTag()\n-        varscanHit.setAttributesFromString(line)\n-        \n-        obsChrom = varscanHit.getChrom()\n-        obsPosition = varscanHit.getPosition()\n-        obsRef = varscanHit.getRef()\n-        obsVar = varscanHit.getVar()\n-        obsReadsRef = varscanHit.getReadsRef()\n-        obsReadsVar = varscanHit.getReadsVar()\n-        obsVarFreq = varscanHit.getVarFreq()\n-        obsStrandsRef = varscanHit.getStrandsRef()\n-        obsStrandsVar = varscanHit.getStrandsVar()\n-        obsQualRef = varscanHit.getQualRef()\n-        obsQualVar = varscanHit.getQualVar()\n-        obsPValue = varscanHit.getPValue()\n-        obsTag = varscanHit.getTag()\n-        \n-        self.assertEquals(expChrom, obsChrom)\n-        self.assertEquals(expPosition, obsPosition)\n-        self.assertEquals(expRef, obsRef)\n-        self.assertEquals(expVar, obsVar)\n-        self.assertEquals(expReadsRef, obsReadsRef)\n-        self.assertEquals(expReadsVar, obsReadsVar)\n-        self.assertEquals(expVarFreq, obsVarFreq)\n-        self.assertEquals(expStrandsRef, obsStrandsRef)\n-        self.assertEquals(expStrandsVar, obsStrandsVar)\n-        self.assertEquals(expQualRef, obsQualRef)\n-        self.assertEquals(expQualVar, obsQualVar)\n-        self.assertEquals(expPValue, obsPValue)\n-        self.assertEquals(expTag, obsTag)\n-        \n-    def test_setAttributesFromString_empty_chrom(self):\n-        line = "\\t1804\\tT\\tC\\t0\\t1\\t100%\\t0\\t1\\t0\\t53\\t0.98\\tEspeceA\\n"\n-        varscanHit = VarscanHit_WithTag()\n-        try :\n-            varscanHit.setAttributesFromString(line)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        expMessage = "The field Chrom is empty in varscan file in line "\n-        obsMessage = checkerExceptionInstance.msg\n-        self.assertEquals(expMessage, obsMessage)\n-        \n-    def test_setAttributes(self):\n-        lResults = [\'chr1\', \'1804\', \'T\', \'C\', \'0\', \'1\', \'100%\', \'0\', \'1\', \'0\', \'53\', \'0.98\', \'EspeceA\']\n-        lineNumber = 1\n-        \n-        expChrom = "chr1"\n-        expPosition = "1804"\n-        expRef = "T"\n-        expVar = "C"\n-        expReadsRef = "0"\n-        expReadsVar = "1"\n-        expVarFreq = "100%"\n-        expStrandsRef = "0"\n-        expStrandsVar = "1"\n-        expQualRef = "0"\n-        expQualVar = "53"\n-        expPValue = "0.98"\n-        expTag = "EspeceA"\n-        \n-        varscanHit = VarscanHit_WithTag()\n-        varscanHit.setAttributes(lResults, lineNumber)\n-        \n-        obsChrom = varscanHit.getChrom()\n-        obsPosition = varscanHit.getPosition()\n-        obsRef = varscanHit.getRef()\n-        obsVar = varscanHit.getVar()\n-        obsReadsRef = varscanHit.getReadsRef()\n-        obsReadsVar = varscanHit.getReadsVar()\n-        obsVarFreq = varscanHit.getVarFreq()\n-        obsStrandsRef = varscanHit.getStrandsRef()\n-        obsStrandsVar = varscanHit.getStrandsVar()\n-        obsQualRef = varscanHit.getQualRef()\n-        obsQualVar = varscanHit.getQualVar()\n-        obsPValue = varscanHit.getPValue()\n-        obsTag = varscanHit.getTag()\n-        \n-        self.assertEquals(expChrom, obsChrom)\n-        self.assertEquals(expPosition, obsPosition)\n-        self.assertEquals(expRef, obsRef)\n-        self.assertEquals'..b'q)\n-        self.assertEquals(expStrandsRef, obsStrandsRef)\n-        self.assertEquals(expStrandsVar, obsStrandsVar)\n-        self.assertEquals(expQualRef, obsQualRef)\n-        self.assertEquals(expQualVar, obsQualVar)\n-        self.assertEquals(expPValue, obsPValue)\n-        self.assertEquals(expTag, obsTag)\n-\n-    def test_setAttributes_empty_chrom(self):\n-        lResults = [\'\', \'1804\', \'T\', \'C\', \'0\', \'1\', \'100%\', \'0\', \'1\', \'0\', \'53\', \'0.98\', \'EspeceA\']\n-        lineNumber = 1\n-        \n-        varscanHit = VarscanHit_WithTag()\n-        checkerExceptionInstance = None\n-        try:\n-            varscanHit.setAttributes(lResults, lineNumber)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        \n-        expMessage = "The field Chrom is empty in varscan file in line 1"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test_setAttributes_empty_position(self):\n-        lResults = [\'chr1\', \'\', \'T\', \'C\', \'0\', \'1\', \'100%\', \'0\', \'1\', \'0\', \'53\', \'0.98\', \'EspeceA\']\n-        lineNumber = 1\n-        \n-        varscanHit = VarscanHit_WithTag()\n-        checkerExceptionInstance = None\n-        try:\n-            varscanHit.setAttributes(lResults, lineNumber)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        \n-        expMessage = "The field Position is empty in varscan file in line 1"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test_setAttributes_empty_ref(self):\n-        lResults = [\'chr1\', \'1000\', \'\', \'C\', \'0\', \'1\', \'100%\', \'0\', \'1\', \'0\', \'53\', \'0.98\', \'EspeceA\']\n-        lineNumber = 1\n-        \n-        varscanHit = VarscanHit_WithTag()\n-        checkerExceptionInstance = None\n-        try:\n-            varscanHit.setAttributes(lResults, lineNumber)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        \n-        expMessage = "The field Ref is empty in varscan file in line 1"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test_setAttributes_empty_cns(self):\n-        lResults = [\'chr1\', \'1000\', \'T\', \'\', \'0\', \'1\', \'100%\', \'0\', \'1\', \'0\', \'53\', \'0.98\', \'EspeceA\']\n-        lineNumber = 1\n-        \n-        varscanHit = VarscanHit_WithTag()\n-        checkerExceptionInstance = None\n-        try:\n-            varscanHit.setAttributes(lResults, lineNumber)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        \n-        expMessage = "The field Var is empty in varscan file in line 1"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test__eq__notEquals(self):\n-        varscanHit1 = VarscanHit_WithTag()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'34\')\n-        varscanHit1.setRef(\'A\')\n-        varscanHit1.setVar(\'T\')\n-        varscanHit1.setVar(\'EspeceA\')\n-        \n-        varscanHit2 = VarscanHit_WithTag()\n-        varscanHit2.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit2.setPosition(\'34\')\n-        varscanHit2.setRef(\'A\')\n-        varscanHit2.setVar(\'T\')\n-        varscanHit2.setVar(\'EspeceB\')\n-        \n-        self.assertFalse(varscanHit1 == varscanHit2)\n-\n-    def test__eq__Equals(self):\n-        varscanHit1 = VarscanHit_WithTag()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'34\')\n-        varscanHit1.setRef(\'A\')\n-        varscanHit1.setVar(\'T\')\n-        varscanHit1.setVar(\'EspeceA\')\n-        \n-        varscanHit2 = VarscanHit_WithTag()\n-        varscanHit2.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit2.setPosition(\'34\')\n-        varscanHit2.setRef(\'A\')\n-        varscanHit2.setVar(\'T\')\n-        varscanHit2.setVar(\'EspeceA\')\n-    \n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_VarscanHit_v2_2_8.py
--- a/commons/core/parsing/test/Test_VarscanHit_v2_2_8.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,290 +0,0 @@\n-import unittest\n-from commons.core.checker.CheckerException import CheckerException\n-from commons.core.parsing.VarscanHit_v2_2_8 import VarscanHit_v2_2_8\n-from commons.core.parsing.VarscanHit import VarscanHit\n-\n-class Test_VarscanHit_v2_2_8(unittest.TestCase):\n-\n-    def test_setAttributesFromString(self):\n-        line = "chr1\\t1804\\tT\\tC\\t0\\t1\\t100%\\t0\\t1\\t0\\t53\\t0.98\\t0\\t1\\t0\\t0\\t1\\t0\\tC\\n"\n-        \n-        expChrom = "chr1"\n-        expPosition = "1804"\n-        expRef = "T"\n-        expCns = "C"\n-        expReadsRef = "0"\n-        expReadsVar = "1"\n-        expVarFreq = "100%"\n-        expStrandsRef = "0"\n-        expStrandsVar = "1"\n-        expQualRef = "0"\n-        expQualVar = "53"\n-        expPValue = "0.98"\n-        expMapQualRef = "0"\n-        expMapQualVar = "1"\n-        expReadsRefPlus = "0"\n-        expReadsRefMinus = "0"\n-        expReadsVarPlus = "1"\n-        expReadsVarMinus = "0"\n-        expVar = "C"\n-        \n-        varscanHit = VarscanHit_v2_2_8()\n-        varscanHit.setAttributesFromString(line)\n-        \n-        obsChrom = varscanHit.getChrom()\n-        obsPosition = varscanHit.getPosition()\n-        obsRef = varscanHit.getRef()\n-        obsCns = varscanHit.getCns()\n-        obsReadsRef = varscanHit.getReadsRef()\n-        obsReadsVar = varscanHit.getReadsVar()\n-        obsVarFreq = varscanHit.getVarFreq()\n-        obsStrandsRef = varscanHit.getStrandsRef()\n-        obsStrandsVar = varscanHit.getStrandsVar()\n-        obsQualRef = varscanHit.getQualRef()\n-        obsQualVar = varscanHit.getQualVar()\n-        obsPValue = varscanHit.getPValue()\n-        obsMapQualRef = varscanHit.getMapQualRef()\n-        obsMapQualVar = varscanHit.getMapQualVar()\n-        obsReadsRefPlus = varscanHit.getReadsRefPlus()\n-        obsReadsRefMinus = varscanHit.getReadsRefMinus()\n-        obsReadsVarPlus = varscanHit.getReadsVarPlus()\n-        obsReadsVarMinus = varscanHit.getReadsVarMinus()\n-        obsVar = varscanHit.getVar()\n-        \n-        self.assertEquals(expChrom, obsChrom)\n-        self.assertEquals(expPosition, obsPosition)\n-        self.assertEquals(expRef, obsRef)\n-        self.assertEquals(expCns, obsCns)\n-        self.assertEquals(expReadsRef, obsReadsRef)\n-        self.assertEquals(expReadsVar, obsReadsVar)\n-        self.assertEquals(expVarFreq, obsVarFreq)\n-        self.assertEquals(expStrandsRef, obsStrandsRef)\n-        self.assertEquals(expStrandsVar, obsStrandsVar)\n-        self.assertEquals(expQualRef, obsQualRef)\n-        self.assertEquals(expQualVar, obsQualVar)\n-        self.assertEquals(expPValue, obsPValue)\n-        self.assertEquals(expMapQualRef, obsMapQualRef)\n-        self.assertEquals(expMapQualVar, obsMapQualVar)\n-        self.assertEquals(expReadsRefPlus, obsReadsRefPlus)\n-        self.assertEquals(expReadsRefMinus, obsReadsRefMinus)\n-        self.assertEquals(expReadsVarPlus, obsReadsVarPlus)\n-        self.assertEquals(expReadsVarMinus, obsReadsVarMinus)\n-        self.assertEquals(expVar, obsVar)\n-        \n-    def test_setAttributesFromString_empty_chrom(self):\n-        line = "\\t1804\\tT\\tC\\t0\\t1\\t100%\\t0\\t1\\t0\\t53\\t0.98\\t0\\t1\\t0\\t0\\t1\\t0\\tC\\n"\n-        varscanHit = VarscanHit_v2_2_8()\n-        try :\n-            varscanHit.setAttributesFromString(line)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        expMessage = "The field Chrom is empty in varscan file in line "\n-        obsMessage = checkerExceptionInstance.msg\n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test_setAttributesFromString_less_than_19_fields(self):\n-        line = "chr1\\t1804\\tT\\tC\\t0\\t1\\t100%\\t0\\t1\\t53\\t0.98\\t0\\t1\\t0\\t0\\t1\\t0\\tC\\n"\n-        varscanHit = VarscanHit_v2_2_8()\n-        try :\n-            varscanHit.setAttributesFromString(line)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        expMessage = "This varscan line (l.) is not complete"\n-        obsMessage = checkerExceptionInstance.msg\n-        self.a'..b' expMessage = "The field Position is empty in varscan file in line 1"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test_setAttributes_empty_ref(self):\n-        lResults = [\'chr1\', \'1000\', \'\', \'C\', \'0\', \'1\', \'100%\', \'0\', \'1\', \'0\', \'53\', \'0.98\', \'0\', \'1\', \'0\', \'0\', \'1\', \'0\', \'C\']\n-        lineNumber = 1\n-        \n-        varscanHit = VarscanHit_v2_2_8()\n-        checkerExceptionInstance = None\n-        try:\n-            varscanHit.setAttributes(lResults, lineNumber)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        \n-        expMessage = "The field Ref is empty in varscan file in line 1"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test_setAttributes_empty_cns(self):\n-        lResults = [\'chr1\', \'1000\', \'T\', \'\', \'0\', \'1\', \'100%\', \'0\', \'1\', \'0\', \'53\', \'0.98\', \'0\', \'1\', \'0\', \'0\', \'1\', \'0\', \'C\']\n-        lineNumber = 1\n-        \n-        varscanHit = VarscanHit_v2_2_8()\n-        checkerExceptionInstance = None\n-        try:\n-            varscanHit.setAttributes(lResults, lineNumber)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        \n-        expMessage = "The field Cons is empty in varscan file in line 1"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test_setAttributes_empty_var(self):\n-        lResults = [\'chr1\', \'1000\', \'T\', \'C\', \'0\', \'1\', \'100%\', \'0\', \'1\', \'0\', \'53\', \'0.98\', \'0\', \'1\', \'0\', \'0\', \'1\', \'0\', \'\']\n-        lineNumber = 1\n-        \n-        varscanHit = VarscanHit_v2_2_8()\n-        checkerExceptionInstance = None\n-        try:\n-            varscanHit.setAttributes(lResults, lineNumber)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        \n-        expMessage = "The field varAllele is empty in varscan file in line 1"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test__eq__notEquals(self):\n-        varscanHit1 = VarscanHit_v2_2_8()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'32\')\n-        varscanHit1.setRef(\'C\')\n-        varscanHit1.setCns(\'T\')\n-        varscanHit1.setVar(\'T\')\n-        \n-        varscanHit2 = VarscanHit_v2_2_8()\n-        varscanHit2.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit2.setPosition(\'34\')\n-        varscanHit2.setRef(\'A\')\n-        varscanHit2.setCns(\'T\')\n-        varscanHit2.setVar(\'T\')\n-        \n-        self.assertFalse(varscanHit1 == varscanHit2)\n-\n-    def test__eq__Equals(self):\n-        varscanHit1 = VarscanHit_v2_2_8()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'34\')\n-        varscanHit1.setRef(\'A\')\n-        varscanHit1.setCns(\'T\')\n-        varscanHit1.setVar(\'T\')\n-        \n-        varscanHit2 = VarscanHit_v2_2_8()\n-        varscanHit2.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit2.setPosition(\'34\')\n-        varscanHit2.setRef(\'A\')\n-        varscanHit2.setCns(\'T\')\n-        varscanHit2.setVar(\'T\')\n-        \n-        self.assertTrue(varscanHit1 == varscanHit2)\n-        \n-    def test_convertVarscanHit_v2_2_8_To_VarscanHit(self):\n-        line = "chr1\\t1804\\tT\\tC\\t0\\t1\\t100%\\t0\\t1\\t0\\t53\\t0.98\\t0\\t1\\t0\\t0\\t1\\t0\\tC\\n"\n-        iVarscanHit_v2_2_8_WithTag = VarscanHit_v2_2_8()\n-        iVarscanHit_v2_2_8_WithTag.setAttributesFromString(line)\n-        obsVarcanHit_WithTag = iVarscanHit_v2_2_8_WithTag.convertVarscanHit_v2_2_8_To_VarscanHit()\n-        \n-        line = "chr1\\t1804\\tT\\tC\\t0\\t1\\t100%\\t0\\t1\\t0\\t53\\t0.98\\n"\n-        expVarcanHit_WithTag = VarscanHit()\n-        expVarcanHit_WithTag.setAttributesFromString(line)\n-        \n-        self.assertEquals(expVarcanHit_WithTag, obsVarcanHit_WithTag)\n-\n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_VarscanHit_v2_2_8_WithTag.py
--- a/commons/core/parsing/test/Test_VarscanHit_v2_2_8_WithTag.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,300 +0,0 @@\n-import unittest\n-from commons.core.checker.CheckerException import CheckerException\n-from commons.core.parsing.VarscanHit_v2_2_8_WithTag import VarscanHit_v2_2_8_WithTag\n-from commons.core.parsing.VarscanHit_WithTag import VarscanHit_WithTag\n-\n-class Test_VarscanHit_v2_2_8_WithTag(unittest.TestCase):\n-\n-    def test_setAttributesFromString(self):\n-        line = "chr1\\t1804\\tT\\tC\\t0\\t1\\t100%\\t0\\t1\\t0\\t53\\t0.98\\t0\\t1\\t0\\t0\\t1\\t0\\tC\\tEspeceA\\n"\n-        \n-        expChrom = "chr1"\n-        expPosition = "1804"\n-        expRef = "T"\n-        expCns = "C"\n-        expReadsRef = "0"\n-        expReadsVar = "1"\n-        expVarFreq = "100%"\n-        expStrandsRef = "0"\n-        expStrandsVar = "1"\n-        expQualRef = "0"\n-        expQualVar = "53"\n-        expPValue = "0.98"\n-        expMapQualRef = "0"\n-        expMapQualVar = "1"\n-        expReadsRefPlus = "0"\n-        expReadsRefMinus = "0"\n-        expReadsVarPlus = "1"\n-        expReadsVarMinus = "0"\n-        expVar = "C"\n-        expTag = "EspeceA"\n-        \n-        varscanHit = VarscanHit_v2_2_8_WithTag()\n-        varscanHit.setAttributesFromString(line)\n-        \n-        obsChrom = varscanHit.getChrom()\n-        obsPosition = varscanHit.getPosition()\n-        obsRef = varscanHit.getRef()\n-        obsCns = varscanHit.getCns()\n-        obsReadsRef = varscanHit.getReadsRef()\n-        obsReadsVar = varscanHit.getReadsVar()\n-        obsVarFreq = varscanHit.getVarFreq()\n-        obsStrandsRef = varscanHit.getStrandsRef()\n-        obsStrandsVar = varscanHit.getStrandsVar()\n-        obsQualRef = varscanHit.getQualRef()\n-        obsQualVar = varscanHit.getQualVar()\n-        obsPValue = varscanHit.getPValue()\n-        obsMapQualRef = varscanHit.getMapQualRef()\n-        obsMapQualVar = varscanHit.getMapQualVar()\n-        obsReadsRefPlus = varscanHit.getReadsRefPlus()\n-        obsReadsRefMinus = varscanHit.getReadsRefMinus()\n-        obsReadsVarPlus = varscanHit.getReadsVarPlus()\n-        obsReadsVarMinus = varscanHit.getReadsVarMinus()\n-        obsVar = varscanHit.getVar()\n-        obsTag = varscanHit.getTag()\n-        \n-        self.assertEquals(expChrom, obsChrom)\n-        self.assertEquals(expPosition, obsPosition)\n-        self.assertEquals(expRef, obsRef)\n-        self.assertEquals(expCns, obsCns)\n-        self.assertEquals(expReadsRef, obsReadsRef)\n-        self.assertEquals(expReadsVar, obsReadsVar)\n-        self.assertEquals(expVarFreq, obsVarFreq)\n-        self.assertEquals(expStrandsRef, obsStrandsRef)\n-        self.assertEquals(expStrandsVar, obsStrandsVar)\n-        self.assertEquals(expQualRef, obsQualRef)\n-        self.assertEquals(expQualVar, obsQualVar)\n-        self.assertEquals(expPValue, obsPValue)\n-        self.assertEquals(expMapQualRef, obsMapQualRef)\n-        self.assertEquals(expMapQualVar, obsMapQualVar)\n-        self.assertEquals(expReadsRefPlus, obsReadsRefPlus)\n-        self.assertEquals(expReadsRefMinus, obsReadsRefMinus)\n-        self.assertEquals(expReadsVarPlus, obsReadsVarPlus)\n-        self.assertEquals(expReadsVarMinus, obsReadsVarMinus)\n-        self.assertEquals(expVar, obsVar)\n-        self.assertEquals(expTag, obsTag)\n-        \n-    def test_setAttributesFromString_empty_chrom(self):\n-        line = "\\t1804\\tT\\tC\\t0\\t1\\t100%\\t0\\t1\\t0\\t53\\t0.98\\t0\\t1\\t0\\t0\\t1\\t0\\tC\\tEspeceA\\n"\n-        varscanHit = VarscanHit_v2_2_8_WithTag()\n-        try :\n-            varscanHit.setAttributesFromString(line)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        expMessage = "The field Chrom is empty in varscan file in line "\n-        obsMessage = checkerExceptionInstance.msg\n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test_setAttributesFromString_less_than_20_fields(self):\n-        line = "chr1\\t1804\\tT\\tC\\t0\\t1\\t100%\\t0\\t1\\t53\\t0.98\\t0\\t1\\t0\\t0\\t1\\t0\\tC\\tEspeceA\\n"\n-        varscanHit = VarscanHit_v2_2_8_WithTag()\n-        try :\n-            varscanHit.setAttributesFromString(line)\n-       '..b'\'53\', \'0.98\', \'0\', \'1\', \'0\', \'0\', \'1\', \'0\', \'C\', \'EspeceA\']\n-        lineNumber = 1\n-        \n-        varscanHit = VarscanHit_v2_2_8_WithTag()\n-        checkerExceptionInstance = None\n-        try:\n-            varscanHit.setAttributes(lResults, lineNumber)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        \n-        expMessage = "The field Ref is empty in varscan file in line 1"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test_setAttributes_empty_cns(self):\n-        lResults = [\'chr1\', \'1000\', \'T\', \'\', \'0\', \'1\', \'100%\', \'0\', \'1\', \'0\', \'53\', \'0.98\', \'0\', \'1\', \'0\', \'0\', \'1\', \'0\', \'C\', \'EspeceA\']\n-        lineNumber = 1\n-        \n-        varscanHit = VarscanHit_v2_2_8_WithTag()\n-        checkerExceptionInstance = None\n-        try:\n-            varscanHit.setAttributes(lResults, lineNumber)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        \n-        expMessage = "The field Cons is empty in varscan file in line 1"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test_setAttributes_empty_var(self):\n-        lResults = [\'chr1\', \'1000\', \'T\', \'C\', \'0\', \'1\', \'100%\', \'0\', \'1\', \'0\', \'53\', \'0.98\', \'0\', \'1\', \'0\', \'0\', \'1\', \'0\', \'\', \'EspeceA\']\n-        lineNumber = 1\n-        \n-        varscanHit = VarscanHit_v2_2_8_WithTag()\n-        checkerExceptionInstance = None\n-        try:\n-            varscanHit.setAttributes(lResults, lineNumber)\n-        except CheckerException, e:\n-            checkerExceptionInstance = e\n-        \n-        expMessage = "The field varAllele is empty in varscan file in line 1"\n-        obsMessage = checkerExceptionInstance.msg\n-           \n-        self.assertEquals(expMessage, obsMessage)\n-\n-    def test__eq__notEquals(self):\n-        varscanHit1 = VarscanHit_v2_2_8_WithTag()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'34\')\n-        varscanHit1.setRef(\'A\')\n-        varscanHit1.setCns(\'T\')\n-        varscanHit1.setVar(\'T\')\n-        varscanHit1.setVar(\'EspeceA\')\n-        \n-        varscanHit2 = VarscanHit_v2_2_8_WithTag()\n-        varscanHit2.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit2.setPosition(\'34\')\n-        varscanHit2.setRef(\'A\')\n-        varscanHit2.setCns(\'T\')\n-        varscanHit2.setVar(\'T\')\n-        varscanHit2.setVar(\'EspeceB\')\n-        \n-        self.assertFalse(varscanHit1 == varscanHit2)\n-\n-    def test__eq__Equals(self):\n-        varscanHit1 = VarscanHit_v2_2_8_WithTag()\n-        varscanHit1.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit1.setPosition(\'34\')\n-        varscanHit1.setRef(\'A\')\n-        varscanHit1.setCns(\'T\')\n-        varscanHit1.setVar(\'T\')\n-        varscanHit1.setVar(\'EspeceA\')\n-        \n-        varscanHit2 = VarscanHit_v2_2_8_WithTag()\n-        varscanHit2.setChrom(\'C02HBa0291P19_LR48\')\n-        varscanHit2.setPosition(\'34\')\n-        varscanHit2.setRef(\'A\')\n-        varscanHit2.setCns(\'T\')\n-        varscanHit2.setVar(\'T\')\n-        varscanHit2.setVar(\'EspeceA\')\n-        \n-        self.assertTrue(varscanHit1 == varscanHit2)\n-        \n-    def test_convertVarscanHit_v2_2_8_WithTag_To_VarscanHit_WithTag(self):\n-        line = "chr1\\t1804\\tT\\tC\\t0\\t1\\t100%\\t0\\t1\\t0\\t53\\t0.98\\t0\\t1\\t0\\t0\\t1\\t0\\tC\\tEspeceA\\n"\n-        iVarscanHit_v2_2_8_WithTag = VarscanHit_v2_2_8_WithTag()\n-        iVarscanHit_v2_2_8_WithTag.setAttributesFromString(line)\n-        obsVarcanHit_WithTag = iVarscanHit_v2_2_8_WithTag.convertVarscanHit_v2_2_8_WithTag_To_VarscanHit_WithTag()\n-        \n-        line = "chr1\\t1804\\tT\\tC\\t0\\t1\\t100%\\t0\\t1\\t0\\t53\\t0.98\\tEspeceA\\n"\n-        expVarcanHit_WithTag = VarscanHit_WithTag()\n-        expVarcanHit_WithTag.setAttributesFromString(line)\n-        \n-        self.assertEquals(expVarcanHit_WithTag, obsVarcanHit_WithTag)\n-\n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_VarscanToVCF.py
--- a/commons/core/parsing/test/Test_VarscanToVCF.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,61 +0,0 @@
-import unittest
-from commons.core.parsing.VarscanToVCF import VarscanToVCF
-
-class Test_VarscanToVCF(unittest.TestCase):
-    
-    def setUp(self):
-        self._iVarscanToVCF = VarscanToVCF(doClean = True, verbosity = 2)
-    
-#    def test_convertVarscanLineToVCFRecord(self):
-##        Chrom    Position    Ref    Cons    Reads1    Reads2    VarFreq    Strands1    Strands2    Qual1    Qual2    Pvalue           
-##        chr1    10            C        Y        1        1        50%        1            1            68    69    0.49999999999999994
-##     MapQual1    MapQual2    Reads1Plus    Reads1Minus    Reads2Plus    Reads2Minus    VarAllele
-##             1           1            1            0            1            0                T
-#        varscanLine = "chr1\t10\tC\tY\t1\t1\t50%\t1\t1\t68\t69\t0.49999999999999994\t1\t1\t1\t0\t1\t0\tT"
-#        obsRecord = self._iVarscanToVCF._convertVarscanLineToVCFRecord(varscanLine, 1)
-#        
-#        expInfo = {"AF": "50%",
-#                   "DP": 2,
-#                   "MQ": "1"}
-#
-#        expRecord = vcf.model._Record("chr1", 10, "1", "C", "T", 3.010299957, ".", expInfo, ".", None)
-##        CHROM, POS, ID, REF, ALT, QUAL, FILTER, INFO, FORMAT, sample_indexes, samples=None
-#        
-#        self.assertEqual(expRecord.ID, obsRecord.ID)
-#        self.assertEqual(expRecord.QUAL, obsRecord.QUAL)
-#        self.assertEqual(expRecord.FILTER, obsRecord.FILTER)
-#        self.assertEqual(expRecord.INFO, obsRecord.INFO)
-#        self.assertEqual(expRecord.FORMAT, obsRecord.FORMAT)
-#        self.assertEqual(expRecord, obsRecord)
-    
-    def test_convertVarscanLineToVCFLine(self):
-#        Chrom    Position    Ref    Cons    Reads1    Reads2    VarFreq    Strands1    Strands2    Qual1    Qual2    Pvalue           
-#        chr1    10            C        Y        1        1        50%        1            1            68    69    0.49999999999999994
-#     MapQual1    MapQual2    Reads1Plus    Reads1Minus    Reads2Plus    Reads2Minus    VarAllele
-#             1           1            1            0            1            0                T
-        varscanLine = "chr1\t10\tC\tY\t1\t1\t50%\t1\t1\t68\t69\t0.49999999999999994\t1\t1\t1\t0\t1\t0\tT"
-        obsVCFLine = self._iVarscanToVCF._convertVarscanLineToVCFRecord(varscanLine, 1)
-        
-        expVCFLine = "chr1\t10\t.\tC\tT\t3.010299957\t.\tAF=0.5000;DP=2;RBQ=68;ABQ=69\n"
-        #        CHROM, POS, ID, REF, ALT, QUAL, FILTER, INFO
-        self.assertEqual(expVCFLine, obsVCFLine)
-        
-    def test_convertVarscanLineToVCFLine_false_VarAllele(self):
-        varscanLine = "chr1\t10\tC\tY\t1\t1\t50%\t1\t1\t68\t69\t0.49999999999999994\t1\t1\t1\t0\t1\t0\tA"
-        obsVCFLine = self._iVarscanToVCF._convertVarscanLineToVCFRecord(varscanLine, 1)
-        
-        expVCFLine = "chr1\t10\t.\tC\tT\t3.010299957\t.\tAF=0.5000;DP=2;RBQ=68;ABQ=69\n"
-        #        CHROM, POS, ID, REF, ALT, QUAL, FILTER, INFO
-        self.assertEqual(expVCFLine, obsVCFLine)
-        
-    def test_convertVarscanLineToVCFRecord_empty_line(self):
-        obsMsg = ""
-        try:
-            self._iVarscanToVCF._convertVarscanLineToVCFRecord("", 10)
-        except Exception as e:
-            obsMsg = e.msg
-        
-        self.assertEqual("This varscan line (l.10) is not complete", obsMsg)
-
-if __name__ == "__main__":
-    unittest.main()
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_WigParser.py
--- a/commons/core/parsing/test/Test_WigParser.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,28 +0,0 @@
-from commons.core.utils.FileUtils import FileUtils
-from commons.core.parsing.WigParser import WigParser
-import unittest
-
-class Test_WigParser(unittest.TestCase):
-    
-    def tearDown(self):
-        FileUtils.removeFilesByPattern("data/.chr*.index")
-
-    def test_GetRange1(self):
-        self.parser = WigParser("data/test.wig")
-        outputRange = [0.0, 1.1, 1.2, 0.0, 1.4, 1.5, 0.0, 1.7, 0.0, 1.9, 0.0]
-        self.assertEqual(self.parser.getRange("chr1", 10, 20), outputRange)
-        outputRange = [0.0, 9.5, 9.6, 0.0]
-        self.assertEqual(self.parser.getRange("chrX", 4, 7), outputRange)
-
-    def test_GetRange2(self):
-        self.parser = WigParser("data/test1.wig")
-        outputRange = [0.0, 1.1, 1.2, 0.0, 1.4, 1.5, 0.0, 1.7, 0.0, 1.9, 0.0]
-        self.assertEqual(self.parser.getRange("chr2", 10, 20), outputRange)
-
-    def test_GetRange3(self):
-        self.parser = WigParser("data/test2.wig")
-        outputRange = [1.4, 1.5]
-        self.assertEqual(self.parser.getRange("chr3", 14, 15), outputRange)
-
-if __name__ == '__main__':
-        unittest.main()
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/Test_pilerTAToGrouperMap.py
--- a/commons/core/parsing/test/Test_pilerTAToGrouperMap.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,108 +0,0 @@
-import unittest
-import os
-from commons.core.parsing.PilerTAToGrouperMap import PilerTAToGrouperMap
-from commons.core.utils.FileUtils import FileUtils
-
-class Test_pilerTAToGrouperMap(unittest.TestCase):
-
-    def setUp(self):
-        self._inputGffFileName = "input.gff"
-        self._inputPYRFileName = "input_pyr.gff"
-        self._inputMOTIFFileName = "input_motif.gff"
-        
-        self._obsOutFileName = "output.info"
-        self._obsGrouperFileName = "input_motif.gff.grp"
-        self._obsGrpMapFileName = "input_motif.gff.grp.map"
-        
-        self._expOutFileName = "exp_output.info"
-        self._expGrouperFileName = "exp_motif.gff.grp"
-        self._expGrpMapFileName = "exp_motif.gff.grp.map"
-        
-    def tearDown(self):
-        os.remove(self._inputGffFileName)
-        os.remove(self._inputPYRFileName)
-        os.remove(self._inputMOTIFFileName)
-        
-        os.remove(self._obsOutFileName)
-        os.remove(self._obsGrouperFileName)
-        os.remove(self._obsGrpMapFileName)
-        
-        os.remove(self._expOutFileName)
-        os.remove(self._expGrouperFileName)
-        os.remove(self._expGrpMapFileName)
-
-    def testRun(self):
-        self._writePilerTAFilePYR(self._inputPYRFileName)
-        self._writePilerTAFileMOTIF(self._inputMOTIFFileName)
-        self._writePilerTAGff(self._inputGffFileName)
-        
-        self._writeExpOutputFile(self._expOutFileName)
-        self._writeExpGrouperFile(self._expGrouperFileName)
-        self._writeExpGrouperMapFile(self._expGrpMapFileName)
-        
-        iPilerTAToGrouperMap = PilerTAToGrouperMap(self._inputGffFileName, self._inputPYRFileName,self._inputMOTIFFileName, self._obsOutFileName)
-        iPilerTAToGrouperMap.run()
-        
-        self.assertTrue(FileUtils.are2FilesIdentical(self._expOutFileName, self._obsOutFileName))
-        self.assertTrue(FileUtils.are2FilesIdentical(self._expGrouperFileName, self._obsGrouperFileName))
-        self.assertTrue(FileUtils.are2FilesIdentical(self._expGrpMapFileName, self._obsGrpMapFileName))
-
-
-    def _writePilerTAGff(self, fileName):
-        f = open(fileName, "w")
-        f.write("chunk21\tpiler\thit\t155146\t156020\t0\t+\t.\tTarget chunk21 150519 151392 ; Pile 510 ; Pyramid 0\n")
-        f.write("chunk21\tpiler\thit\t154790\t156023\t0\t+\t.\tTarget chunk21 150519 151751 ; Pile 510 ; Pyramid 0\n")
-        f.write("chunk21\tpiler\thit\t154078\t156023\t0\t+\t.\tTarget chunk21 150519 152463 ; Pile 510 ; Pyramid 0\n")
-        f.write("chunk21\tpiler\thit\t154256\t156023\t0\t+\t.\tTarget chunk21 150519 152285 ; Pile 510 ; Pyramid 0\n")
-        f.write("chunk21\tpiler\thit\t154434\t156023\t0\t+\t.\tTarget chunk21 150519 152107 ; Pile 510 ; Pyramid 0\n")
-        f.close()
-
-    def _writePilerTAFilePYR(self, fileName):
-        f = open(fileName, "w")
-        f.write("chunk21\tpiler\tpyramid\t150519\t156023\t0\t.\t.\tPyramidIndex 0\n")
-        f.write("chunk21\tpiler\tpyramid\t150519\t156023\t0\t.\t.\tPyramidIndex 1\n")
-        f.write("chunk21\tpiler\tpyramid\t165574\t174424\t0\t.\t.\tPyramidIndex 2\n")
-        f.write("chunk21\tpiler\tpyramid\t166301\t174424\t0\t.\t.\tPyramidIndex 3\n")
-        f.write("chunk21\tpiler\tpyramid\t168967\t174424\t0\t.\t.\tPyramidIndex 4\n")
-        f.write("chunk21\tpiler\tpyramid\t170215\t174424\t0\t.\t.\tPyramidIndex 5\n")
-        f.close()
-        
-    def _writePilerTAFileMOTIF(self, fileName):
-        f = open(fileName, "w")
-        f.write("chunk21\tpiler\ttandemmotif\t155843\t156020\t0\t.\t.\tTarget chunk21 151215 151392 ; Pyramid 0\n")
-        f.write("chunk21\tpiler\ttandemmotif\t151215\t151392\t0\t.\t.\tTarget chunk21 155843 156020 ; Pyramid 0\n")
-        f.write("chunk21\tpiler\ttandemmotif\t151574\t151751\t0\t.\t.\tTarget chunk21 155843 156020 ; Pyramid 0\n")
-        f.write("chunk21\tpiler\ttandemmotif\t152286\t152463\t0\t.\t.\tTarget chunk21 155843 156020 ; Pyramid 0\n")
-        f.write("chunk21\tpiler\ttandemmotif\t152108\t152285\t0\t.\t.\tTarget chunk21 155843 156020 ; Pyramid 0\n")
-        f.close()
-        
-    def _writeExpOutputFile(self, fileName):
-        f = open(fileName, "w")
-        f.write("Pile 510\tPyramid 0\n")
-        f.write("\tPyramid 1\n")
-        f.write("\tPyramid 2\n")
-        f.write("\tPyramid 3\n")
-        f.write("\tPyramid 4\n")
-        f.write("\tPyramid 5\n")
-        f.close()
-    
-    def _writeExpGrouperFile(self, fileName):
-        f = open(fileName, "w")
-        f.write("MbS1Gr0Cl510\tchunk21\tpiler\ttandemmotif\t155843\t156020\t0\t.\t.\tTarget chunk21 151215 151392 \tPile 510\tPyramid 0\n")
-        f.write("MbS2Gr0Cl510\tchunk21\tpiler\ttandemmotif\t151215\t151392\t0\t.\t.\tTarget chunk21 155843 156020 \tPile 510\tPyramid 0\n")
-        f.write("MbS3Gr0Cl510\tchunk21\tpiler\ttandemmotif\t151574\t151751\t0\t.\t.\tTarget chunk21 155843 156020 \tPile 510\tPyramid 0\n")
-        f.write("MbS4Gr0Cl510\tchunk21\tpiler\ttandemmotif\t152286\t152463\t0\t.\t.\tTarget chunk21 155843 156020 \tPile 510\tPyramid 0\n")
-        f.write("MbS5Gr0Cl510\tchunk21\tpiler\ttandemmotif\t152108\t152285\t0\t.\t.\tTarget chunk21 155843 156020 \tPile 510\tPyramid 0\n")
-        f.close()
-        
-    def _writeExpGrouperMapFile(self, fileName):
-        f = open(fileName, "w")
-        f.write("MbS1Gr0Cl510\tchunk21\t155843\t156020\n") 
-        f.write("MbS2Gr0Cl510\tchunk21\t151215\t151392\n") 
-        f.write("MbS3Gr0Cl510\tchunk21\t151574\t151751\n") 
-        f.write("MbS4Gr0Cl510\tchunk21\t152286\t152463\n") 
-        f.write("MbS5Gr0Cl510\tchunk21\t152108\t152285\n") 
-        f.close()
-        
-if __name__ == "__main__":
-    unittest.main()
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/ExpPotDooblonsSubSNP.csv
--- a/commons/core/parsing/test/data/ExpPotDooblonsSubSNP.csv Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,832 +0,0 @@\n-SubSNPName;ConfidenceValue;Type;Position;5flank;3flank;Length;BatchNumber;IndividualNumber;PrimerType;PrimerNumber;Forward_or_Reverse;AlleleNumber\n-Batch_AU247387_SNP_30_10102;A;SNP;30;NNNTATAGCTCCTAACATTCCTGAAGTGA;GATCACRGAGGACNNGGCTGTCAATGTTGCCCGCTCGCTGAGATATGAGATCAACAGGGGCTTYGCTAGCTTGAGGGCGATTGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN;1;12;1;Sequence;;;9\n-Batch_AU247387_SNP_30_IRELAND;A;SNP;30;NNNTATAGCTCCTAACATTCCTGAAGTGA;GATTCCAGAGGACACGATTGTGAACATTGCCCGCTCGCTGAGATATGAGATCAACAGGGGCTTCTTTACTTTGATGGAGATTGGCCAGGGCCGTGATCTGAAGAAATTCCTCATTGTATGT---------------------------TTGTTTATCTCCTCAATTTCAATTTGGCCATGCTTAATGTTGGGTGCTTTCTGTATAGCCTGCTCACCAAGGTGTGATCTCTTCTTTGTATACACAGGTGGT;1;12;15;Sequence;;;7\n-Batch_AU247387_SNP_30_POLAND;A;SNP;30;NNNTATAGCTCCTAACATTCCTGAAGTGA;GATCACGGAGGACCTGGCTGTCAATGTTGCCCGCTCGCTGAGATATGAGATCAACAGGGGCTTTGCTAGCCTGAGGGCGATTGGTCAAGGCCGTGACCTGAAGAAATTCCTGATTGTAYGT---------------------------TTAAT---------------------------------------------------------------------------------------------TGGT;1;12;20;Sequence;;;9\n-Batch_AU247387_SNP_30_VIGOR;A;SNP;30;NNNTATAGCTCCTAACATTCCTGAAGTGA;GATCACGGAGGACCTGGCTGTCAATGTTGCCCGCTCGCTGAGATATGAGATCAACAGGGGCTTTGCTAGCCTGAGGGCGATTGGTCAAGGCCGTGACCTGAAGAAATTCCTGATTGTACGT---------------------------TTAAT---------------------------------------------------------------------------------------------TGGT;1;12;23;Sequence;;;9\n-Batch_AU247387_SNP_34_10102;A;SNP;34;NNNTATAGCTCCTAACATTCCTGAAGTGAAGAT;ACRGAGGACNNGGCTGTCAATGTTGCCCGCTCGCTGAGATATGAGATCAACAGGGGCTTYGCTAGCTTGAGGGCGATTGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN;1;12;1;Sequence;;;7\n-Batch_AU247387_SNP_34_IRELAND;A;SNP;34;NNNTATAGCTCCTAACATTCCTGAAGTGACGAT;CCAGAGGACACGATTGTGAACATTGCCCGCTCGCTGAGATATGAGATCAACAGGGGCTTCTTTACTTTGATGGAGATTGGCCAGGGCCGTGATCTGAAGAAATTCCTCATTGTATGT---------------------------TTGTTTATCTCCTCAATTTCAATTTGGCCATGCTTAATGTTGGGTGCTTTCTGTATAGCCTGCTCACCAAGGTGTGATCTCTTCTTTGTATACACAGGTGGTTGCT;1;12;15;Sequence;;;10\n-Batch_AU247387_SNP_34_POLAND;A;SNP;34;NNNTATAGCTCCTAACATTCCTGAAGTGAAGAT;ACGGAGGACCTGGCTGTCAATGTTGCCCGCTCGCTGAGATATGAGATCAACAGGGGCTTTGCTAGCCTGAGGGCGATTGGTCAAGGCCGTGACCTGAAGAAATTCCTGATTGTAYGT---------------------------TTAAT---------------------------------------------------------------------------------------------TGGTTGCA;1;12;20;Sequence;;;7\n-Batch_AU247387_SNP_34_VIGOR;A;SNP;34;NNNTATAGCTCCTAACATTCCTGAAGTGAAGAT;ACGGAGGACCTGGCTGTCAATGTTGCCCGCTCGCTGAGATATGAGATCAACAGGGGCTTTGCTAGCCTGAGGGCGATTGGTCAAGGCCGTGACCTGAAGAAATTCCTGATTGTACGT---------------------------TTAAT---------------------------------------------------------------------------------------------TGGTTGCA;1;12;23;Sequence;;;7\n-Batch_AU247387_SNP_35_10102;A;SNP;35;NNNTATAGCTCCTAACATTCCTGAAGTGAAGATC;CRGAGGACNNGGCTGTCAATGTTGCCCGCTCGCTGAGATATGAGATCAACAGGGGCTTYGCTAGCTTGAGGGCGATTGGNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN;1;12;1;Sequence;;;9\n-Batch_AU247387_SNP_35_IRELAND;A;SNP;35;NNNTATAGCTCCTAACATTCCTGAAGTGACGATT;CAGAGGACACGATTGTGAACATTGCCCGCTCGCTGAGATATGAGATCAACAGGGGCTTCTTTACTTTGATGGAGATTGGCCAGGGCCGTGATCTGAAGAAATTCCTCATTGTATGT---------------------------TTGTTTATCTCCTCAATTTCAATTTGGCCATGCTTAATGTTGGGTGCTTTCTGTATAGCCTGCTCACCAAGGTGTGATCTCTTCTTTGTATACACAGGTGGTTGCTG;1;12;15;Sequence;;;7\n-Batch_AU247387_SNP_35_POLAND;A;SNP;35;NNNTATAGCTCCTAACATTCCTGAAGTGAAGATC;CGGAGGACCTGGCTGTCAATGTTGCCCGCTCGCTGAGATATGAGATCAACAGGGGCTTTGCTAGCCTGAGGGCGATTGGTCAAGGCCGTGACCTGAAGAAATTCCTGATTGTAYGT---------------------------TTAAT---------------------------------------------------------------------------------------------TGGTTGCAT;1;12;20;Sequence;;;9\n-Batch_AU247387_SNP_35_VIGOR;A;SNP;35;NNNTATAGCTCCTAACA'..b'CTGCCCTTGGGAGCTGCTGCAATTTCCTCACCTTGTTCTACATAGGTAATGTGCTTCGCTGCTACAGCCTGAACTTG--------CAGATGTGCAGTAACTGTACCTAGCATTGTTTACCCAT------------------------TCTCGCTTTCTTACTTGCAGTCTTCATGGTTCTCTACACTGTGCC;GTTCTGTACGAGAAGTACGAGGACAAGATCGATGCTTTTGGAGAGAAG;1;12;23;Sequence;;;6\n-Batch_AU247387_SNP_601_CARILLON;A;SNP;601;-----------------------------------CCTCTGGGTTCTTTCTGTTCTTGGGAGCTCTTGCAACTTCTTGACATTGGCATATATAGGTAAT------------------TTTAACTTGTGCTGCAACACTTGAGTTCATAACCACCCTAG------TTGTCCATACGAGTTGTGAACTGATGACATCCGTTCTTTTTCCCRAGTGCAGTCTTCGTGGTGCTCTACACGGTGCCAGTTCTGTA;GANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN;1;12;9;Sequence;;;10\n-Batch_AU247387_SNP_601_SPAIN;A;SNP;601;-----------------------------------CCTCTGGGTTCTTTCTGTTCTTGGGAGCTCTTGCAACTTCTTGACATTGGCATATATAGGTAAT------------------TTTAACTTGTGCTGCAACACTTGAGTTCATAACCACCCTAG------TTGTCCATACGAGTTGTGAACTGATGACATCCGTTCTTTTTCCCGAGTGCAGTCTTCGTGGTGCTCTACACGGTGCCAGTTCTGTA;GAGAAGTACGACGACAAGGTTGATGCTTTTGGTGAGAAG;1;12;21;Sequence;;;10\n-Batch_AU247387_SNP_601_VIGOR;A;SNP;601;TCTATTTGTTCGCAGGTGATTGCAGGTCTGTGGATCCTCT---------CTGCCCTTGGGAGCTGCTGCAATTTCCTCACCTTGTTCTACATAGGTAATGTGCTTCGCTGCTACAGCCTGAACTTG--------CAGATGTGCAGTAACTGTACCTAGCATTGTTTACCCAT------------------------TCTCGCTTTCTTACTTGCAGTCTTCATGGTTCTCTACACTGTGCCGGTTCTGTA;GAGAAGTACGAGGACAAGATCGATGCTTTTGGAGAGAAG;1;12;23;Sequence;;;7\n-Batch_AU247387_SNP_613_SPAIN;A;SNP;613;-----------------------CCTCTGGGTTCTTTCTGTTCTTGGGAGCTCTTGCAACTTCTTGACATTGGCATATATAGGTAAT------------------TTTAACTTGTGCTGCAACACTTGAGTTCATAACCACCCTAG------TTGTCCATACGAGTTGTGAACTGATGACATCCGTTCTTTTTCCCGAGTGCAGTCTTCGTGGTGCTCTACACGGTGCCAGTTCTGTATGAGAAGTACGA;GACAAGGTTGATGCTTTTGGTGAGAAG;1;12;21;Sequence;;;7\n-Batch_AU247387_SNP_613_VIGOR;A;SNP;613;CAGGTGATTGCAGGTCTGTGGATCCTCT---------CTGCCCTTGGGAGCTGCTGCAATTTCCTCACCTTGTTCTACATAGGTAATGTGCTTCGCTGCTACAGCCTGAACTTG--------CAGATGTGCAGTAACTGTACCTAGCATTGTTTACCCAT------------------------TCTCGCTTTCTTACTTGCAGTCTTCATGGTTCTCTACACTGTGCCGGTTCTGTACGAGAAGTACGA;GACAAGATCGATGCTTTTGGAGAGAAG;1;12;23;Sequence;;;6\n-Batch_AU247387_SNP_620_SPAIN;A;SNP;620;----------------CCTCTGGGTTCTTTCTGTTCTTGGGAGCTCTTGCAACTTCTTGACATTGGCATATATAGGTAAT------------------TTTAACTTGTGCTGCAACACTTGAGTTCATAACCACCCTAG------TTGTCCATACGAGTTGTGAACTGATGACATCCGTTCTTTTTCCCGAGTGCAGTCTTCGTGGTGCTCTACACGGTGCCAGTTCTGTATGAGAAGTACGACGACAAG;TTGATGCTTTTGGTGAGAAG;1;12;21;Sequence;;;6\n-Batch_AU247387_SNP_620_VIGOR;A;SNP;620;TTGCAGGTCTGTGGATCCTCT---------CTGCCCTTGGGAGCTGCTGCAATTTCCTCACCTTGTTCTACATAGGTAATGTGCTTCGCTGCTACAGCCTGAACTTG--------CAGATGTGCAGTAACTGTACCTAGCATTGTTTACCCAT------------------------TCTCGCTTTCTTACTTGCAGTCTTCATGGTTCTCTACACTGTGCCGGTTCTGTACGAGAAGTACGAGGACAAG;TCGATGCTTTTGGAGAGAAG;1;12;23;Sequence;;;9\n-Batch_AU247387_SNP_622_SPAIN;A;SNP;622;--------------CCTCTGGGTTCTTTCTGTTCTTGGGAGCTCTTGCAACTTCTTGACATTGGCATATATAGGTAAT------------------TTTAACTTGTGCTGCAACACTTGAGTTCATAACCACCCTAG------TTGTCCATACGAGTTGTGAACTGATGACATCCGTTCTTTTTCCCGAGTGCAGTCTTCGTGGTGCTCTACACGGTGCCAGTTCTGTATGAGAAGTACGACGACAAGGT;GATGCTTTTGGTGAGAAG;1;12;21;Sequence;;;10\n-Batch_AU247387_SNP_622_VIGOR;A;SNP;622;GCAGGTCTGTGGATCCTCT---------CTGCCCTTGGGAGCTGCTGCAATTTCCTCACCTTGTTCTACATAGGTAATGTGCTTCGCTGCTACAGCCTGAACTTG--------CAGATGTGCAGTAACTGTACCTAGCATTGTTTACCCAT------------------------TCTCGCTTTCTTACTTGCAGTCTTCATGGTTCTCTACACTGTGCCGGTTCTGTACGAGAAGTACGAGGACAAGAT;GATGCTTTTGGAGAGAAG;1;12;23;Sequence;;;7\n-Batch_AU247387_SNP_634_SPAIN;A;SNP;634;--CCTCTGGGTTCTTTCTGTTCTTGGGAGCTCTTGCAACTTCTTGACATTGGCATATATAGGTAAT------------------TTTAACTTGTGCTGCAACACTTGAGTTCATAACCACCCTAG------TTGTCCATACGAGTTGTGAACTGATGACATCCGTTCTTTTTCCCGAGTGCAGTCTTCGTGGTGCTCTACACGGTGCCAGTTCTGTATGAGAAGTACGACGACAAGGTTGATGCTTTTGG;GAGAAG;1;12;21;Sequence;;;10\n-Batch_AU247387_SNP_634_VIGOR;A;SNP;634;ATCCTCT---------CTGCCCTTGGGAGCTGCTGCAATTTCCTCACCTTGTTCTACATAGGTAATGTGCTTCGCTGCTACAGCCTGAACTTG--------CAGATGTGCAGTAACTGTACCTAGCATTGTTTACCCAT------------------------TCTCGCTTTCTTACTTGCAGTCTTCATGGTTCTCTACACTGTGCCGGTTCTGTACGAGAAGTACGAGGACAAGATCGATGCTTTTGG;GAGAAG;1;12;23;Sequence;;;9\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/Wig/chr1.wig
--- a/commons/core/parsing/test/data/Wig/chr1.wig Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,9 +0,0 @@
-fixedStep  chrom=chr1  start=11  step=1
-1.1
-1.2
-fixedStep  chrom=chr1  start=14  step=1
-1.4
-1.5
-variableStep chrom=chr1
-17  1.7
-19  1.9
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/realExpBatchLine.csv
--- a/commons/core/parsing/test/data/realExpBatchLine.csv Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,41 +0,0 @@
-IndividualNumber;Pos5;Pos3;BatchNumber;Sequence
-1;;;1;
-2;;;1;
-3;;;1;
-4;;;1;
-5;;;1;
-6;;;1;
-7;;;1;
-8;;;1;
-9;;;1;
-10;;;1;
-11;;;1;
-12;;;1;
-13;;;1;
-14;;;1;
-15;;;1;
-16;;;1;
-17;;;1;
-18;;;1;
-19;;;1;
-20;;;1;
-21;;;1;
-22;;;1;
-23;;;1;
-24;;;1;
-25;;;1;
-26;;;1;
-27;;;1;
-28;;;1;
-29;;;1;
-30;;;1;
-31;;;1;
-32;;;1;
-33;;;1;
-34;;;1;
-35;;;1;
-36;;;1;
-37;;;1;
-38;;;1;
-39;;;1;
-40;;;1;
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/realExpIndividual.csv
--- a/commons/core/parsing/test/data/realExpIndividual.csv Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,41 +0,0 @@
-IndividualNumber;IndividualName;Description;AberrAneuploide;FractionLength;DeletionLineSynthesis;UrlEarImage;TypeLine;ChromNumber;ArmChrom;DeletionBin;ScientificName;local_germplasm_name;submitter_code;local_institute;donor_institute;donor_acc_id
-1;Treesnips_40-4-3;;;;;;;;;;Pinus pinaster;;;;;
-2;Treesnips_40-8-3;;;;;;;;;;Pinus pinaster;;;;;
-3;Treesnips_40-1-2;;;;;;;;;;Pinus pinaster;;;;;
-4;Treesnips_40-14-1;;;;;;;;;;Pinus pinaster;;;;;
-5;Treesnips_40-15-2;;;;;;;;;;Pinus pinaster;;;;;
-6;Treesnips_40-20-2;;;;;;;;;;Pinus pinaster;;;;;
-7;Treesnips_40-25-1;;;;;;;;;;Pinus pinaster;;;;;
-8;Treesnips_41-3-3;;;;;;;;;;Pinus pinaster;;;;;
-9;Treesnips_41-8-1;;;;;;;;;;Pinus pinaster;;;;;
-10;Treesnips_41-1-3;;;;;;;;;;Pinus pinaster;;;;;
-11;Treesnips_41-2-1;;;;;;;;;;Pinus pinaster;;;;;
-12;Treesnips_41-3-2;;;;;;;;;;Pinus pinaster;;;;;
-13;Treesnips_41-6-2;;;;;;;;;;Pinus pinaster;;;;;
-14;Treesnips_41-9-1;;;;;;;;;;Pinus pinaster;;;;;
-15;Treesnips_42-1-3;;;;;;;;;;Pinus pinaster;;;;;
-16;Treesnips_42-8-2;;;;;;;;;;Pinus pinaster;;;;;
-17;Treesnips_42-1-2;;;;;;;;;;Pinus pinaster;;;;;
-18;Treesnips_42-2-1;;;;;;;;;;Pinus pinaster;;;;;
-19;Treesnips_42-2-2;;;;;;;;;;Pinus pinaster;;;;;
-20;Treesnips_42-8-1;;;;;;;;;;Pinus pinaster;;;;;
-21;Treesnips_42-9-2;;;;;;;;;;Pinus pinaster;;;;;
-22;Treesnips_43-4-3;;;;;;;;;;Pinus pinaster;;;;;
-23;Treesnips_43-5-3;;;;;;;;;;Pinus pinaster;;;;;
-24;Treesnips_43-1-1;;;;;;;;;;Pinus pinaster;;;;;
-25;Treesnips_43-2-1;;;;;;;;;;Pinus pinaster;;;;;
-26;Treesnips_43-7-2;;;;;;;;;;Pinus pinaster;;;;;
-27;Treesnips_43-9-3;;;;;;;;;;Pinus pinaster;;;;;
-28;Treesnips_43-10-2;;;;;;;;;;Pinus pinaster;;;;;
-29;Treesnips_44-3-3;;;;;;;;;;Pinus pinaster;;;;;
-30;Treesnips_44-6-2;;;;;;;;;;Pinus pinaster;;;;;
-31;Treesnips_44-3-1;;;;;;;;;;Pinus pinaster;;;;;
-32;Treesnips_44-5-2;;;;;;;;;;Pinus pinaster;;;;;
-33;Treesnips_44-7-1;;;;;;;;;;Pinus pinaster;;;;;
-34;Treesnips_44-10-2;;;;;;;;;;Pinus pinaster;;;;;
-35;Treesnips_45-5-3;;;;;;;;;;Pinus pinaster;;;;;
-36;Treesnips_45-8-3;;;;;;;;;;Pinus pinaster;;;;;
-37;Treesnips_45-1-1;;;;;;;;;;Pinus pinaster;;;;;
-38;Treesnips_45-4-1;;;;;;;;;;Pinus pinaster;;;;;
-39;Treesnips_45-7-1;;;;;;;;;;Pinus pinaster;;;;;
-40;Treesnips_45-9-1;;;;;;;;;;Pinus pinaster;;;;;
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/realExpSequences.fsa
--- a/commons/core/parsing/test/data/realExpSequences.fsa Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,2 +0,0 @@
->PpHDZ31_ref
-GCTAGCCCCGCTGGGTACGTGGCATTGTTTTAGCTTTCCAAATTATGGGAAACATTATATTGTTTTTGTAGCTAGGTATAAAAGGACTGTATTTTTCTATTCCAGACTCCTGTCTATAGCAGAGGAGACCTTGACAGAGTTCCTTTCAAAGGCTAAAGGAGCTGCTGTCGATTGGGTCCAGATGCCTGGGATGAAGGTTTGTGTTCCCAAGATCCTCTTCTAAAAATAGATCATGTGCTTGCTTGAATTATTAATCTATGGTGTATTAAGATGCCTGAGCGTGTTTTTGCAGCCTGGTCCGGATTCGATTGGTATTGTAGCTATTTCGAATACTTGTAATGGAGTAGCTGCACGTGCTTGCGGTCTTGTAGGATTAGATCCTACAAAGGTAATGAGTGCAATTATTGTGTTTTGCTATTCAGTAATGATTATTTTGTTTCCGAAGGAAGGGATGCTCATGCAAGTTTTCTATTCAGGTTGCAGAGATTCTTAAAGATCGCCCATCTTGGCTTCGTGATTGTCGTTGCCTTGATGTTTTGACTGCGTTTCCTACTGGAAATGGTGGAACAATCGAGCTTTTATACATGCAGGTTTGCTATTCTCTCTGAAATTGATTCTGATAAGTTGCCATAAGAGGTCAAAAATTAGCAAAATCAGATTTATCTTTTTTTTTTTTTTTTTTGTATGATGTGGACTGCAGACATATGCCGCCACTACTTTAGCTTCTGCTAGAGACTTCTGGACTCTGAGATACACAACAGTGTTGGAAGATGGCAGTCTTGTGGTATGTGATAACTGAACAATGACACATGCTTTCATTAATCCCTTTATTTTGTGAGCACAACTGGATTTTCTTCCTTGTTTTTGCAGTAGTGGGGTTTTGCTAATTATAGCTTATCTATGATGTTCTGTAAGGTTTGTGAAAGGTCCTTGAGTGGTACTCAGGGTGGTCCAAGCATACCGCCAGTGCAGCATTTTGTGAGAGCAGAAATGCTTCCCAGTGGATATTTGATACAACCTTGTGAAGGTGGTGGTTCCATAATCCGTATTGTTGATCACATGGATCTAGAGGTACATGCTAGTTGTTGATGGCTAGAAGCTGCAATGTAGTTTATACAATTAAATTCCCAGAGTAGCTATTCTAAGATGGGCTGATCTTTTCATTGATTTGATTATTGCTATTCAGCCATGGAGTGTGCCTGAGGTTTTACGACCACTATATGAATCGTCCACTGTACTTGCCCAGAAAATGACAATTGCAGTAAGGACACCTTTAATGCCATTGTGCAGATTGTATTACAATTCTTCTAAGATTTCCACTGACTGAAATCTTCATGATCAGGCATTGCGTCGATTACGCCAAATTGCACAGGAAGCCACAGGTGAAGTAGTTTTTGGTTGGGGAAGACAGCCAGCTGTTCTGCGAACATTTAGCCAGAGGTTAAGCAGGTAATGTGACTACTGCAGGATTATATCTTCTCCCATATTTGAACCATGATGATTGTGTCTAATAGACCTGTTTTTAAAAATGCAGGGGTTTCAACGAGGCCGTGAATGGATTTACAGATGATGGGTGGTCATTGATGGGTAGTGATGGAGTGGAGGATGTCACTATTGCTATCAATTCATCTCCAAACAAACATTTTGCCTACCAAGTTAATGCTTCTAATGGGCTAACAACTCTTGGTGGTGGCATCCTTTGTGCAAAGGCATCCATGCTCTTACAGGTTCTCAAGCTAGTTATTTAAAAAAAATGTAAACAACATAATTTTATGCAATAATTTTAGAATGCATCTTGGGAGTCTGGAATACTTGTTTCTGAGTTCCGAGTCTTGTTTGATAGAGGAACTGATGACGTGTAATGTAAATACAGAATGTGCCTCCAGCATTACTTGTACGTTTCTTGCGCGAGCACCGATCAGAGTGGGCAGATTCCAACATTGATGCCTATTCTGCAGCTGCTTTAAAATCAAGTCCTTATAGTGTTCCAGGATCAAGAGCAGGGGGCTTTTCAGGGAGTCAAGTAATCCTTCCCTTGGCACATACTGTGGAACATGAGGAGGTGGGGAGTGGTTACTGAGATGCCTGGTTTTGTATTTTGTTGCCTTCAAACTGCATTGGGATGCTTTTCAATATTTTTCCTGGTGTTTTTGGTTCTATATTTTGTTCAAATGTTTTCCTCTCTGTTGGTTTATACAATTTTGAAGCTGAAATAAATGTAACTGCAGTTCTTAGAGGTCATTAAGCTGGAAGGTCATGGCCTTACTCAGGAGGAAGCTGTCCTGTCCAGAGATATGTTTCTCTTACAGGTATCTTGTATTGCCAAAGTTACTTTCTATACCAATGATTGTGCTAGTGTATACTTTTTAAGGTTTATTGTTTAATGTTAACATTATCAACAACTTTGATGGGCAGCTTTGCAGTGGAATTGATGAACATGCAGCTGGAGCATGTGCTGAACTTGTTTTTGCACCAATTGATGAATCCTTTGCTGATGATGCTCCTTTGCTTCCTTCTGGGTTCAGGGTTATTCCTTTGGAATCAAGAACAGTTGAGTATATTCTGCAAACGTTTATGGCATCTAGAATTGATTTTTCATCTATGCTAAAATATCATTCAAAACAACTGGCATCTGGTGCTGCATTACGTATTTATTTCTTGGAGCTTGAAGAAATGAATATATATGATGCAGGATGGATCTGGGGGTCCCAACCGCACACTGGACTTGGCTTCTGCTCTGGAGGTTGGATCAACTGGAACTAGAACGTCTGGTGATTCTGGCACCAACTCGAATCTGAGATCTGTGTTGACTATTGCATTCCAGTTTACTTATGAGAGCCACTCGCGAGAAAATGTGGCAGCTATGGCTCGTCAATATGTGCGTAGTGTTGTAGCATCTGTCCAGAGGGTTGCCATGGCATTAGCTCCTTCTCGACTGAATTCACATGTTGGCCCAAGGCCACCTCCTGGGACTCCAGAAGCACTTACTCTTGCCCGTTGGATTTGTCAGAGCTACAGGTAAATAGGAGGCTTGCATTCAAGGCTCTTATGTTTTGCCATTCTTTATTTCTTAATTTTGAAATATTTTGTACTGAGAGCTGAATGCAAGTTTTTGGACAGACTCCACATAGGTGTGGACCTGTTTCGAGCTGATTGTGAAGCCAGTGAGTCTGTACTGAAACTACTTTGGCACCATTCAGATGCAATCATGTGCTGTTCTGTGAAGGTATCTATTACATACAAAATTCTGAAGAAGTATAGCACTTTGGATACCTGCCTTATATTTTTCTGGTTGTGAAGTTACTAAATCTGGCCTATTGCTTGTGAATATGCAGGCGTTGCCTGTTTTTACATTTGCAAATCAAGCAGGGTTGGACATGCTGGAAACGACATTGGTTGCATTGCAAGATATATCTTTGGACAAAATTCTGGATGAAAATGGTCGCAAAAGTA
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/realExpSubSNP.csv
--- a/commons/core/parsing/test/data/realExpSubSNP.csv Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,799 +0,0 @@\n-SubSNPName;ConfidenceValue;Type;Position;5flank;3flank;Length;BatchNumber;IndividualNumber;PrimerType;PrimerNumber;Forward_or_Reverse;AlleleNumber\n-INRA_Pinus_pinaster_HDZ31-1_SNP_136_Treesnips_40-4-3;A;SNP;136;NNNNNNNNNNNNNNNNNNGTGGCATTGTTTTAGCTTTCCAAATTATGGGAAACATTATATTGTTTTTGTAGCTAGGTATAAAAGGACTGTATTTTTCTATTCCAGACTCCTGTCTATAGCAGAGGAGACCTTGAC;GAGTTCCTTTCAAAGGCTAAAGGAGCTGCTGTCGATTGGGTCCAGATGCCTGGGATGAAGGTTTGTGTTCCCAAGATCCTCTTCTAAAAATAGATCATGTGCTTGCTTGAATTATTAATCTATGGTGTATTAAGATGCCTGAGCGTGTTTTTGCAGCCTGGTCCGGATTCGATTGGTATTGTAGCTATTTCGAATACTTGTAATGGAGTAGCTGCACGTGCTTGCGGTCTTGTAGGATTAGATCCTACAA;1;1;1;Sequence;;;3\n-INRA_Pinus_pinaster_HDZ31-1_SNP_136_Treesnips_40-8-3;A;SNP;136;NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCTCCTGTCTATAGCAGAGGAGACCTTGAC;GAGTTCCTTTCAAAGGCTAAAGGAGCTGCTGTCGATTGGGTCCAGATGCCTGGGATGAAGGTTTGTGTTCCCAAGATCCTCTTCTAAAAATAGATCATGTGCTTGCTTGAATTATTAATCTATGGTGTATTAAGATGCCTGAGCGTGTTTTTGCAGCCTGGTCCGGATTCGATTGGTATTGTAGCTATTTCGAATACTTGTAATGGAGTAGCTGCACGTGCTTGCGGTCTTGTAGGATTAGATCCTACAA;1;1;2;Sequence;;;3\n-INRA_Pinus_pinaster_HDZ31-1_SNP_136_Treesnips_40-1-2;A;SNP;136;NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNTTTCCAAATTATGGGAAACATTATATTGTTTTTGTAGCTAGGTATAAAAGGACTGTATTTTTCTATTCCAGACTCCTGTCTATAGCAGAGGAGACCTTGAC;GAGTTCCTTTCAAAGGCTAAAGGAGCTGCTGTCGATTGGGTCCAGATGCCTGGGATGAAGGTTTGTGTTCCCAAGATCCTCTTCTAAAAATAGATCATGTGCTTGCTTGAATTATTAATCTATGGTGTATTAAGATGCCTGAGCGTGTTTGTGCAGCCTGGTCCGGATTCGATTGGTATTGTAGCTATTTCGAATACTTGTAATGGAGTAGCTGCACGTGCTTGCGGTCTTGTAGGATTAGATCCTACAA;1;1;3;Sequence;;;1\n-INRA_Pinus_pinaster_HDZ31-1_SNP_136_Treesnips_40-14-1;A;SNP;136;NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGTATAAAAGGACTGTATTTTTCTATTCCAGACTCCTGTCTATAGCAGAGGAGACCTTGAC;GAGTTCCTTTCAAAGGCTAAAGGAGCTGCTGTCGATTGGGTCCAGATGCCTGGGATGAAGGTTTGTGTTCCCAAGATCCTCTTCTAAAAATAGATCATGTGCTTGCTTGAATTATTAATCTATGGTGTATTAAGATGCCTGAGCGTGTTTGTGCAGCCTGGTCCGGATTCGATTGGTATTGTAGCTATTTCGAATACTTGTAATGGAGTAGCTGCACGTGCTTGCGGTCTTGTAGGATTAGATCCTACAA;1;1;4;Sequence;;;1\n-INRA_Pinus_pinaster_HDZ31-1_SNP_136_Treesnips_40-15-2;A;SNP;136;GCTAGCCCCGCTGGGTACGTGGCATTGTTTTAGCTTTCCAAATTATGGGAAACATTATATTGTTTTTGTAGCTAGGTATAAAAGGACTGTATTTTTCTATTCCAGACTCCTGTCTATAGCAGAGGAGACCTTGAC;GAGTTCCTTTCAAAGGCTAAAGGAGCTGCTGTCGATTGGGTCCAGATGCCTGGGATGAAGGTTTGTGTTCCCAAGATCCTCTTCTAAAAATAGATCATGTGCTTGCTTGAATTATTAATCTATGGTGTATTAAGATGCCTGAGCGTGTTTTTGCAGCCTGGTCCGGATTCGATTGGTATTGTAGCTATTTCGAATACTTGTAATGGAGTAGCTGCACGTGCTTGCGGTCTTGTAGGATTAGATCCTACAA;1;1;5;Sequence;;;3\n-INRA_Pinus_pinaster_HDZ31-1_SNP_136_Treesnips_40-20-2;A;SNP;136;GCTAGCCCCGCTGGGTACGTGGCATTGTTTTAGCTTTCCAAATTATGGGAAACATTATATTGTTTTTGTAGCTAGGTATAAAAGGACTGTATTTTTCTATTCCAGACTCCTGTCTATAGCAGAGGAGACCTTGAC;GAGTTCCTTTCAAAGGCTAAAGGAGCTGCTGTCGATTGGGTCCAGATGCCTGGGATGAAGGTTTGTGTTCCCAAGATCCTCTTCTAAAAATAGATCATGTGCTTGCTTGAATTATTAATCTATGGTGTATTAAGATGCCTGAGCGTGTTTGTGCAGCCTGGTCCGGATTCGATTGGTATTGTAGCTATTTCGAATACTTGTAATGGAGTAGCTGCACGTGCTTGCGGTCTTGTAGGATTAGATCCTACAA;1;1;6;Sequence;;;1\n-INRA_Pinus_pinaster_HDZ31-1_SNP_136_Treesnips_40-25-1;A;SNP;136;GCTAGCCCCGCTGGGTACGTGGCATTGTTTTAGCTTTCCAAATTATGGGAAACATTATATTGTTTTTGTAGCTAGGTATAAAAGGACTGTATTTTTCTATTCCAGACTCCTGTCTATAGCAGAGGAGACCTTGAC;GAGTTCCTTTCAAAGGCTAAAGGAGCTGCTGTCGATTGGGTCCAGATGCCTGGGATGAAGGTTTGTGTTCCCAAGATCCTCTTCTAAAAATAGATCATGTGCTTGCTTGAATTATTAATCTATGGTGTATTAAGATGCCTGAGCGTGTTTTTGCAGCCTGGTCCGGATTCGATTGGTATTGTAGCTATTTCGAATACTTGTAATGGAGTAGCTGCACGTGCTTGCGGTCTTGTAGGATTAGATCCTACAA;1;1;7;Sequence;;;3\n-INRA_Pinus_pinaster_HDZ31-1_SNP_136_Treesnips_41-3-3;A;SNP;136;NNNNNNNNNNNNNNNNNNNNNNNNNNNNTTTAGCTTTCCAAATTATGGGAAACATTATATTGTTTTTGTAGCTAGGTATAAAAGGACTGTATTTTTCTATTCCAGACTCCTGTCTATAGCAGAGGAGACCTTGAC;GAGTTCCTTTCAAAGGCTAAAGGAGCTGCTGTCGATTGGGTCCAGATGCCTGGGATGAAGGTTTGTGTTCCCAAGATCCTCTTCTAAAAATAGATCATGTGCTTGCTTGAATTATTAATCTATGGTGTATTAAGATGCCTGAGCGTGTTTTTGCAGCCTGGTCCGGATTCGATTGGTATTGTAGCTATTTCGAATACTTGTAATGGAGTAGCTGCACGTGCTTGCGGTCTTGTAGGATTAGATCCTACAA;1;1;8;Sequence;;;3\n-INRA_Pinus_pinaster_HDZ31-1_SNP_136_Treesnips_41-8-1;A;SNP;136;GCTAG'..b'NRA_Pinus_pinaster_HDZ31-1_SNP_3291_Treesnips_44-5-2;A;SNP;3291;AGGCTCTTATGTTTTGCCATTCTTTATTTCTTAATTTTGAAATATTTTGTACTGAGAGCTGAATGCAAGTTTTTGGACAGACTCCACATAGGTGTGGACCTGTTTCGAGCTGATTGTGAAGCCAGTGAGTCTGTACTGAAACTACTTTGGCACCATTCAGATGCAATCATGTGCTGTTCTGTGAAGGTATCTATTACATACAAAATTCTGAAGAAGTATAGCACTTTGGATACCTGCCTTATATTTTTCT;GTTGTGAAGTTACTAAATCTGGCCTATTGCTTGTGAATATGCAGGCGTTGCCTGTTTTTACATTTGCAAATCAAGCAGGGTTGGACATGCTGGAAACGACATTGGTTGCATTGCAAGATATATCTTTGGACAAAATTCTGGATGAAAATGGNNNNNNNNNNN;1;1;32;Sequence;;;1\n-INRA_Pinus_pinaster_HDZ31-1_SNP_3291_Treesnips_44-7-1;A;SNP;3291;AGGCTCTTATGTTTTGCCATTCTTTATTTCTTAATTTTGAAATATTTTGTACTGAGAGCTGAATGCAAGTTTTTGGACAGACTACACATAGGGGTGGATCTGTTTCGAGCTGATTGTGAAGCCAGTGAGTCTGTACTGAAACTACTTTGGCACCATTCAGATGCAATCATGTGCTGTTCTGTGAAGGTATCTATTACATACAAA-TTCTGAAGAAGTATAGCACTTTGGATACCTGCCTTATATTTTTCT;GTTGTGAAGTTACTAAATCTGGCCTATTGCTTGTGAATATGCAGGCGTTGCCTGTTTTTACATTTGCAAATCAAGCAGGGTTGGACATGCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN;1;1;33;Sequence;;;3\n-INRA_Pinus_pinaster_HDZ31-1_SNP_3291_Treesnips_44-10-2;A;SNP;3291;AGGCTCTTATGTTTTGCCATTCTTTATTTCTTAATTTTGAAATATTTTGTACTGAGAGCTGAATGCAAGTTTTTGGACAGACTACACATAGGGGTGGATCTGTTTCGAGCTGATTGTGAAGCCAGTGAGTCTGTACTGAAACTACTTTGGCACCATTCAGATGCAATCATGTGCTGTTCTGTGAAGGTATCTATTACATACAAA-TTCTGAAGAAGTATAGCACTTTGGATACCTGCCTTATATTTTTCT;GTTGTGAAGTTACTAAATCTGGCCTATTGCTTGTGAATATGCAGGCGTTGCCTGTTTTTACATTTGCAAATCAAGCAGGGTTGGACATGCTGGAAACGACATTGGTTGCATTGCAAGATATATCTTTGGACAAAATTCTGGATGAAAATGGTNNNNNNNNNN;1;1;34;Sequence;;;3\n-INRA_Pinus_pinaster_HDZ31-1_SNP_3291_Treesnips_45-5-3;A;SNP;3291;AGGCTCTTATGTTTTGCCATTCTTTATTTCTTAATTTTGAAATATTTTGTACTGAGAGCTGAATGCAAGTTTTTGGACAGACTACACATAGGGGTGGATCTGTTTCGAGCTGATTGTGAAGCCAGTGAGTCTGTACTGAAACTACTTTGGCACCATTCAGATGCAATCATGTGCTGTTCTGTGAAGGTATCTATTACATACAAA-TTCTGAAGAAGTATAGCACTTTGGATACCTGCCTTATATTTTTCT;GTTGTGAAGTTACTAAATCTGGCCTATTGCTTGTGAATATGCAGGCGTTGCCTGTTTTTACATTTGCAAATCAAGCAGGGTTGGACATGCTGGAAACGACATTGGTTGCATTGCAAGATATATCTTTGGACAAAATTCTGGATGAAAANNNNNNNNNNNNNN;1;1;35;Sequence;;;3\n-INRA_Pinus_pinaster_HDZ31-1_SNP_3291_Treesnips_45-8-3;A;SNP;3291;AGGCTCTTATGTTTTGCCATTCTTTATTTCTTAATTTTGAAATATTTTGTACTGAGAGCTGAATGCAAGTTTTTGGACAGACTCCACATAGGTGTGGACCTGTTTCGAGCTGATTGTGAAGCCAGTGAGTCTGTACTGAAACTACTTTGGCACCATTCAGATGCAATCATGTGCTGTTCTGTGAAGGTATCTATTACATACAAAATTCTGAAGAAGTATAGCACTTTGGATACCTGCCTTATATTTTTCT;GTTGTGAAGTTACTAAATCTGGCCTATTGCTTGTGAATATGCAGGCGTTGCCTGTTTTTACATTTGCAAATCAAGCAGGGTTGGACATGCTGGAAACGACATTGGTTGCATTGCAAGATATATCTTTGGACAAAATTCTGGATGAAAATGNNNNNNNNNNNN;1;1;36;Sequence;;;1\n-INRA_Pinus_pinaster_HDZ31-1_SNP_3291_Treesnips_45-4-1;A;SNP;3291;AGGCTCTTATGTTTTGCCATTCTTTATTTCTTAATTTTGAAATATTTTGTACTGAGAGCTGAATGCAAGTTTTTGGACAGACTACACATAGGGGTGGATCTGTTTCGAGCTGATTGTGAAGCCAGTGAGTCTGTACTGAAACTACTTTGGCACCATTCAGATGCAATCATGTGCTGTTCTGTGAAGGTATCTATTACATACAAA-TTCTGAAGAAGTATAGCACTTTGGATACCTGCCTTATATTTTTCT;GTTGTGAAGTTACTAAATCTGGCCTATTGCTTGTGAATATGCAGGCGTTGCCTGTTTTTACATTTGCAAATCAAGCAGGGTTGGACATGCTGGAAACGACATNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN;1;1;38;Sequence;;;3\n-INRA_Pinus_pinaster_HDZ31-1_SNP_3291_Treesnips_45-7-1;A;SNP;3291;AGGCTCTTATGTTTTGCCATTCTTTATTTCTTAATTTTGAAATATTTTGTACTGAGAGCTGAATGCAAGTTTTTGGACAGACTCCACATAGGTGTGGACCTGTTTCGAGCTGATTGTGAAGCCAGTGAGTCTGTACTGAAACTACTTTGGCACCATTCAGATGCAATCATGTGCTGTTCTGTGAAGGTATCTATTACATACAAAATTCTGAAGAAGTATAGCACTTTGGATACCTGCCTTATATTTTTCT;GTTGTGAAGTTACTAAATCTGGCCTATTGCTTGTGAATATGCAGGCGTTGCCTGTTTTTACATTTGCAAATCAAGCAGGGTTGGACATGCTGGAAACGACATTGGTTGCATTGCAAGATATATCTTTGGACAAAATTCTGGATGAAAATGGTCGCAAAAGTA;1;1;39;Sequence;;;1\n-INRA_Pinus_pinaster_HDZ31-1_SNP_3291_Treesnips_45-9-1;A;SNP;3291;AGGCTCTTATGTTTTGCCATTCTTTATTTCTTAATTTTGAAATATTTTGTACTGAGAGCTGAATGCAAGTTTTTGGACAGACTCCACATAGGTGTGGACCTGTTTCGAGCTGATTGTGAAGCCAGTGAGTCTGTACTGAAACTACTTTGGCACCATTCAGATGCAATCATGTGCTGTTCTGTGAAGGTATCTATTACATACAAAATTCTGAAGAAGTATAGCACTTTGGATACCTGCCTTATATTTTTCT;GTTGTGAAGTTACTAAATCTGGCCTATTGCTTGTGAATATGCAGGCGTTGCCTGTTTTTACATTTGCAAATCAAGCAGGGTTGGACATGCTGGAAACGACANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN;1;1;40;Sequence;;;1\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/real_multifasta_input.fasta
--- a/commons/core/parsing/test/data/real_multifasta_input.fasta Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,2419 +0,0 @@\n->PpHDZ31_ref\n-GCTAGCCCCGCTGGGTACGTGGCATTGTTTTAGCTTTCCAAATTATGGGAAACATTATAT\n-TGTTTTTGTAGCTAGGTATAAAAGGACTGTATTTTTCTATTCCAGACTCCTGTCTATAGC\n-AGAGGAGACCTTGACAGAGTTCCTTTCAAAGGCTAAAGGAGCTGCTGTCGATTGGGTCCA\n-GATGCCTGGGATGAAGGTTTGTGTTCCCAAGATCCTCTTCTAAAAATAGATCATGTGCTT\n-GCTTGAATTATTAATCTATGGTGTATTAAGATGCCTGAGCGTGTTTTTGCAGCCTGGTCC\n-GGATTCGATTGGTATTGTAGCTATTTCGAATACTTGTAATGGAGTAGCTGCACGTGCTTG\n-CGGTCTTGTAGGATTAGATCCTACAAAGGTAATGAGTGCAATTATTGTGTTTTGCTATTC\n-AGTAATGATTATTTTGTTTCCGAAGGAAGGGATGCTCATGCAAGTTTTCTATTCAGGTTG\n-CAGAGATTCTTAAAGATCGCCCATCTTGGCTTCGTGATTGTCGTTGCCTTGATGTTTTGA\n-CTGCGTTTCCTACTGGAAATGGTGGAACAATCGAGCTTTTATACATGCAGGTTTGCTATT\n-CTCTCTGAAATTGATTCTGATAAGTTGCCATAAGAGGTCAAAAATTAGCAAAATCAGATT\n-TATCTTTTTTTTTTTTTTTTTTGTATGATGTGGACTGCAGACATATGCCGCCACTACTTT\n-AGCTTCTGCTAGAGACTTCTGGACTCTGAGATACACAACAGTGTTGGAAGATGGCAGTCT\n-TGTGGTATGTGATAACTGAACAATGACACATGCTTTCATTAATCCCTTTATTTTGTGAGC\n-ACAACTGGATTTTCTTCCTTGTTTTTGCAGTAGTGGGGTTTTGCTAATTATAGCTTATCT\n-ATGATGTTCTGTAAGGTTTGTGAAAGGTCCTTGAGTGGTACTCAGGGTGGTCCAAGCATA\n-CCGCCAGTGCAGCATTTTGTGAGAGCAGAAATGCTTCCCAGTGGATATTTGATACAACCT\n-TGTGAAGGTGGTGGTTCCATAATCCGTATTGTTGATCACATGGATCTAGAGGTACATGCT\n-AGTTGTTGATGGCTAGAAGCTGCAATGTAGTTTATACAATTAAATTCCCAGAGTAGCTAT\n-TCTAAGATGGGCTGATCTTTTCATTGATTTGATTATTGCTATTCAGCCATGGAGTGTGCC\n-TGAGGTTTTACGACCACTATATGAATCGTCCACTGTACTTGCCCAGAAAATGACAATTGC\n-AGTAAGGACACCTTTAATGCCATTGTGCAGATTGTATTACAATTCTTCTAAGATTTCCAC\n-TGACTGAAATCTTCATGATCAGGCATTGCGTCGATTACGCCAAATTGCACAGGAAGCCAC\n-AGGTGAAGTAGTTTTTGGTTGGGGAAGACAGCCAGCTGTTCTGCGAACATTTAGCCAGAG\n-GTTAAGCAGGTAATGTGACTACTGCAGGATTATATCTTCTCCCATATTTGAACCATGATG\n-ATTGTGTCTAATAGACCTGTTTTTAAAAATGCAGGGGTTTCAACGAGGCCGTGAATGGAT\n-TTACAGATGATGGGTGGTCATTGATGGGTAGTGATGGAGTGGAGGATGTCACTATTGCTA\n-TCAATTCATCTCCAAACAAACATTTTGCCTACCAAGTTAATGCTTCTAATGGGCTAACAA\n-CTCTTGGTGGTGGCATCCTTTGTGCAAAGGCATCCATGCTCTTACAGGTTCTCAAGCTAG\n-TTATTTAAAAAAAA-TGTAAACAACATAATTTTATGCAATAATTTTAGAATGCATCTTGG\n-GAGTCTGGAATACTTGTTTCTGAGTTCCGAGTCTTGTTTGATAGAGGAACTGATGACGTG\n-TAATGTAAATACAGAATGTGCCTCCAGCATTACTTGTACGTTTCTTGCGCGAGCACCGAT\n-CAGAGTGGGCAGATTCCAACATTGATGCCTATTCTGCAGCTGCTTTAAAATCAAGTCCTT\n-ATAGTGTTCCAGGATCAAGAGCAGGGGGCTTTTCAGGGAGTCAAGTAATCCTTCCCTTGG\n-CACATACTGTGGAACATGAGGAGGTGGGGAGTGGTTACTGAGATGCCTGGTTTTGTATTT\n-TGTTGCCTTCAAACTGCATTGGGATGCTTTTCAATATTTTTCCTGGTGTTTTTGGTTCTA\n-TATTTTGTTCAAATGTTTTCCTCTCTGTTGGTTTATACAATTTTGAAGCTGAAATAAATG\n-TAACTGCAGTTCTTAGAGGTCATTAAGCTGGAAGGTCATGGCCTTACTCAGGAGGAAGCT\n-GTCCTGTCCAGAGATATGTTTCTCTTACAGGTATCTTGTATTGCCAAAGTTACTTTCTAT\n-ACCAATGATTGTGCTAGTGTATACTTTTTAAGGTTTATTGTTTAATGTTAACATTATCAA\n-CAACTTTGATGGGCAGCTTTGCAGTGGAATTGATGAACATGCAGCTGGAGCATGTGCTGA\n-ACTTGTTTTTGCACCAATTGATGAATCCTTTGCTGATGATGCTCCTTTGCTTCCTTCTGG\n-GTTCAGGGTTATTCCTTTGGAATCAAGAACAGTTGAGTATATTCTGCAAACGTTTATGGC\n-ATCTAGAATTGATTTTTCATCTATGCTAAAATATCATTCAAAACAACTGGCATCTGGTGC\n-TGCATTACGTATTTATTTCTTGGAGCTTGAAGAAATGAATATATATGATGCAGGATGGAT\n-CTGGGGGTCCCAACCGCACACTGGACTTGGCTTCTGCTCTGGAGGTTGGATCAACTGGAA\n-CTAGAACGTCTGGTGATTCTGGCACCAACTCGAATCTGAGATCTGTGTTGACTATTGCAT\n-TCCAGTTTACTTATGAGAGCCACTCGCGAGAAAATGTGGCAGCTATGGCTCGTCAATATG\n-TGCGTAGTGTTGTAGCATCTGTCCAGAGGGTTGCCATGGCATTAGCTCCTTCTCGACTGA\n-ATTCACATGTTGGCCCAAGGCCACCTCCTGGGACTCCAGAAGCACTTACTCTTGCCCGTT\n-GGATTTGTCAGAGCTACAGGTAAATAGGAGGCTTGCATTCAAGGCTCTTATGTTTTGCCA\n-TTCTTTATTTCTTAATTTTGAAATATTTTGTACTGAGAGCTGAATGCAAGTTTTTGGACA\n-GACTCCACATAGGTGTGGACCTGTTTCGAGCTGATTGTGAAGCCAGTGAGTCTGTACTGA\n-AACTACTTTGGCACCATTCAGATGCAATCATGTGCTGTTCTGTGAAGGTATCTATTACAT\n-ACAAAATTCTGAAGAAGTATAGCACTTTGGATACCTGCCTTATATTTTTCTGGTTGTGAA\n-GTTACTAAATCTGGCCTATTGCTTGTGAATATGCAGGCGTTGCCTGTTTTTACATTTGCA\n-AATCAAGCAGGGTTGGACATGCTGGAAACGACATTGGTTGCATTGCAAGATATATCTTTG\n-GACAAAATTCTGGATGAAAATGGTCGCAAAAGTA\n->Treesnips_40-4-3\n-NNNNNNNNNNNNNNNNNNGTGGCATTGTTTTAGCTTTCCAAATTATGGGAAACATTATAT\n-TGTTTTTGTAGCTAGGTATAAAAGGACTGTATTTTTCTATTCCAGACTCCTGTCTATAGC\n-AGAGGAGACCTTGACAGAGTTCCTTTCAAAGGCTAAAGGAGCTGCTGTCGATTGGGTCCA\n-GATGCCTGGGATGAAGGTTTGTGTTCCCAAGATCCTCTTCTAAAAATAGATCATGTGCTT\n-GCTTGAATTATTAATCTATGGTGTATTAAGATGCCTGAGCGTGTTTTTGCAGCCTGGTCC\n-GGATTCGATTGGTATTGTAGCTATTTCGAATACTTGTAATGGAGTAGCTGCACGTGCTTG\n-CGGT'..b'A\n-TTCTTTATTTCTTAATTTTGAAATATTTTGTACTGAGAGCTGAATGCAAGTTTTTGGACA\n-GACTCCACATAGGTGTGGACCTGTTTCGAGCTGATTGTGAAGCCAGTGAGTCTGTACTGA\n-AACTACTTTGGCACCATTCAGATGCAATCATGTGCTGTTCTGTGAAGGTATCTATTACAT\n-ACAAAATTCTGAAGAAGTATAGCACTTTGGATACCTGCCTTATATTTTTCTGGTTGTGAA\n-GTTACTAAATCTGGCCTATTGCTTGTGAATATGCAGGCGTTGCCTGTTTTTACATTTGCA\n-AATCAAGCAGGGTTGGACATGCTGGAAACGACATTGGTTGCATTGCAAGATATATCTTTG\n-GACAAAATTCTGGATGAAAATGGTCGCAAAAGTA\n->Treesnips_45-9-1\n-NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n-NNNNNNNNNNNNNNGGTATAAAAGGACTGTATTTTTCTATTCCAGACTCCTGTCTATAGC\n-AGAGGAGACCTTGACAGAGTTCCTTTCAAAGGCTAAAGGAGCTGCTGTCGATTGGGTCCA\n-GATGCCTGGGATGAAGGTTTGTGTTCCCAAGATCCTCTTCTAAAAATAGATCATGTGCTT\n-GCTTGAATTATTAATCTATGGTGTATTAAGATGCCTGAGCGTGTTTTTGCAGCCTGGTCC\n-GGATTCGATTGGTATTGTAGCTATTTCGAATACTTGTAATGGAGTAGCTGCACGTGCTTG\n-CGGTCTTGTAGGATTAGATCCTACAAAGGTAATGAGTGCAATTATTGTGTTTTGCTATTC\n-AGTAATGATTATTTTGTTTCCGAAGGAAGGGATGCTCATGCAAGTTTTCTATTCAGGTTG\n-CAGAGATTCTTAAAGATCGCCCATCTTGGCTTCGTGATTGTCGTTGCCTTGATGTTTTGA\n-CTGCGTTTCCTACTGGAAATGGTGGAACAATCGAGCTTTTATACATGCAGGTTTGCTATT\n-CTCTCTGAAATTGATTCTGATAAGTTGCCATAAGAGGTCAAAAATTAGCAAAATCAGATT\n-TATCTTTTTTTTTTTTTTTTTTGTATGATGTGGACTGCAGACATATGCCGCCACTACTTT\n-AGCTTCTGCTAGAGACTTCTGGACTCTGAGATACACAACAGTGTTGGAAGATGGCAGTCT\n-TGTGGTATGTGATAACTGAACAATGACACATGCTTTCATTAATCCCTTTATTTTGTGAGC\n-ACAACTGGATTTTCTTCCTTGTTTTTGCAGTAGTGGGGTTTTGCTAATTATAGCTTATCT\n-ATGATGTTCTGTAAGGTTTGTGAAAGGTCCTTGAGTGGTACTCAGGGTGGTCCAAGCATA\n-CCGCCAGTGCAGCATTTTGTGAGAGCAGAAATGCTTCCCAGTGGATATTTGATACAACCT\n-TGTGAAGGTGGTGGTTCCATAATCCGTATTGTTGATCACATGGATCTAGAGGTACATGCT\n-AGTTGTTGATGGCTAGAAGCTGCAATGTAGTTTATACAATTAAATTCCCAGAGTAGCTAT\n-TCTAAGATGGGCTGATCTTTTCATTGATTTGATTATTGCTATTCAGCCATGGAGTGTGCC\n-TGAGGTTTTACGACCACTATATGAATCGTCCACTGTACTTGCCCAGAAAATGACAATTGC\n-AGTAAGGACACCTTTAATGCCATTGTGCAGATTGTATTACAATTCTTCTAAGATTTCCAC\n-TGACTGAAATCTTCATGATCAGGCATTGCGTCGATTACGCCAAATTGCACAGGAAGCCAC\n-AGGTGAAGTAGTTTTTGGTTGGGGAAGACAGCCAGCTGTTCTGCGAACATTTAGCCAGAG\n-GTTAAGCAGGTAATGTGACTACTGCAGGATTATATCTTCTCCCATATTTGAACCATGATG\n-ATTGTGTCTAATAGACCTGTTTTTAAAAATGCAGGGGTTTCAACGAGGCCGTGAATGGAT\n-TTACAGATGATGGGTGGTCATTGATGGGTAGTGATGGAGTGGAGGATGTCACTATTGCTA\n-TCAATTCATCTCCAAACAAACATTTTGCCTACCAAGTTAATGCTTCTAATGGGCTAACAA\n-CTCTTGGTGGTGGCATCCTTTGTGCAAAGGCATCCATGCTCTTACAGGTTCTCAAGCTAG\n-TTATTTAAAAAAAA-TGTAAACAACATAATTTTATGCAATAATTTTAGAATGCATCTTGG\n-GAGTCTGGAATACTTGTTTCTGAGTTCCGAGTCTTGTTTGATAGAGGAACTGATGACGTG\n-TAATGTAAATACAGAATGTGCCTCCAGCATTACTTGTACGTTTCTTGCGCGAGCACCGAT\n-CAGAGTGGGCAGATTCCAACATTGATGCCTATTCTGCAGCTGCTTTAAAATCAAGTCCTT\n-ATAGTGTTCCAGGATCAAGAGCAGGGGGCTTTTCAGGGAGTCAAGTAATCCTTCCCTTGG\n-CACATACTGTGGAACATGAGGAGGTGGGGAGTGGTTACTGAGATGCCTGGTTTTGTATTT\n-TGTTGCCTTCAAACTGCATTGGGATGCTTTTCAATATTTTTCCTGGTGTTTTTGGTTCTA\n-TATTTTGTTCAAATGTTTTCCTCTCTGTTGGTTTATACAATTTTGAAGCTGAAATAAATG\n-TAACTGCAGTTCTTAGAGGTCATTAAGCTGGAAGGTCATGGCCTTACTCAGGAGGAAGCT\n-GTCCTGTCCAGAGATATGTTTCTCTTACAGGTATCTTGTATTGCCAAAGTTACTTTCTAT\n-ACCAATGATTGTGCTAGTGTATACTTTTTAAGGTTTATTGTTTAATGTTAACATTATCAA\n-CAACTTTGATGGGCAGCTTTGCAGTGGAATTGATGAACATGCAGCTGGAGCATGTGCTGA\n-ACTTGTTTTTGCACCAATTGATGAATCCTTTGCTGATGATGCTCCTTTGCTTCCTTCTGG\n-GTTCAGGGTTATTCCTTTGGAATCAAGAACAGTTGAGTATATTCTGCAAACGTTTATGGC\n-ATCTAGAATTGATTTTTCATCTATGCTAAAATATCATTCAAAACAACTGGCATCTGGTGC\n-TGCATTACGTATTTATTTCTTGGAGCTTGAAGAAATGAATATATATGATGCAGGATGGAT\n-CTGGGGGTCCCAACCGCACACTGGACTTGGCTTCTGCTCTGGAGGTTGGATCAACTGGAA\n-CTAGAACGTCTGGTGATTCTGGCACCAACTCGAATCTGAGATCTGTGTTGACTATTGCAT\n-TCCAGTTTACTTATGAGAGCCACTCGCGAGAAAATGTGGCAGCTATGGCTCGTCAATATG\n-TGCGTAGTGTTGTAGCATCTGTCCAGAGGGTTGCCATGGCATTAGCTCCTTCTCGACTGA\n-ATTCACATGTTGGCCCAAGGCCACCTCCTGGGACTCCAGAAGCACTTACTCTTGCCCGTT\n-GGATTTGTCAGAGCTACAGGTAAATAGGAGGCTTGCATTCAAGGCTCTTATGTTTTGCCA\n-TTCTTTATTTCTTAATTTTGAAATATTTTGTACTGAGAGCTGAATGCAAGTTTTTGGACA\n-GACTCCACATAGGTGTGGACCTGTTTCGAGCTGATTGTGAAGCCAGTGAGTCTGTACTGA\n-AACTACTTTGGCACCATTCAGATGCAATCATGTGCTGTTCTGTGAAGGTATCTATTACAT\n-ACAAAATTCTGAAGAAGTATAGCACTTTGGATACCTGCCTTATATTTTTCTGGTTGTGAA\n-GTTACTAAATCTGGCCTATTGCTTGTGAATATGCAGGCGTTGCCTGTTTTTACATTTGCA\n-AATCAAGCAGGGTTGGACATGCTGGAAACGACANNNNNNNNNNNNNNNNNNNNNNNNNNN\n-NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/sampleForTestVarscanToVCF.varscan
--- a/commons/core/parsing/test/data/sampleForTestVarscanToVCF.varscan Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,108 +0,0 @@
-Chrom Position Ref Cons Reads1 Reads2 VarFreq Strands1 Strands2 Qual1 Qual2 Pvalue MapQual1 MapQual2 Reads1Plus Reads1Minus Reads2Plus Reads2Minus VarAllele
-chr1 10759 C Y 2 1 33.33% 1 1 65 47 0.98 1 1 0 2 0 1 T
-chr1 12438 C S 1 1 50% 1 1 62 42 0.98 1 1 0 1 0 1 G
-chr1 17432 A M 2 1 33.33% 1 1 55 37 0.98 1 1 0 2 1 0 C
-chr1 20391 A W 2 1 33.33% 1 1 56 37 0.98 1 1 2 0 1 0 T
-chr1 21207 T Y 2 1 33.33% 1 1 55 41 0.98 1 1 2 0 1 0 C
-chr1 26057 T K 11 2 15.38% 2 1 60 37 0.98 1 1 7 4 2 0 G
-chr1 36838 T Y 2 1 33.33% 1 1 61 36 0.98 1 1 2 0 0 1 C
-chr1 37751 A M 3 1 25% 1 1 65 42 0.98 1 1 0 3 0 1 C
-chr1 43500 C S 3 1 25% 2 1 65 40 0.98 1 1 2 1 0 1 G
-chr1 50481 A W 2 1 33.33% 1 1 60 40 0.98 1 1 0 2 1 0 T
-chr1 106849 C S 3 1 25% 2 1 65 40 0.98 1 1 2 1 1 0 G
-chr1 108726 T W 2 1 33.33% 1 1 50 41 0.98 1 1 0 2 0 1 A
-chr1 114204 G S 4 2 33.33% 2 2 60 39 0.98 1 1 2 2 1 1 C
-chr1 115030 A M 3 1 25% 2 1 57 41 0.98 1 1 2 1 1 0 C
-chr1 116173 A R 7 2 22.22% 2 1 58 39 0.98 1 1 5 2 2 0 G
-chr1 118433 G S 6 1 14.29% 2 1 64 50 0.98 1 1 4 2 1 0 C
-chr1 119042 A R 5 1 16.67% 2 1 55 51 0.98 1 1 2 3 1 0 G
-chr1 139219 A R 1 1 50% 1 1 65 46 0.98 1 1 1 0 0 1 G
-chr1 140710 A R 9 2 18.18% 2 1 63 41 0.98 1 1 3 6 0 2 G
-chr1 144419 T Y 3 1 25% 2 1 63 39 0.98 1 1 1 2 1 0 C
-chr1 146099 G S 2 1 33.33% 2 1 64 38 0.98 1 1 1 1 0 1 C
-chr1 146435 T Y 11 7 38.89% 2 1 60 24 0.98 1 1 4 7 7 0 C
-chr1 147232 A W 2 1 33.33% 2 1 64 39 0.98 1 1 1 1 0 1 T
-chr1 158703 A M 2 1 33.33% 2 1 60 55 0.98 1 1 1 1 1 0 C
-chr1 166732 A W 4 2 33.33% 2 2 62 24 0.98 1 1 2 2 1 1 T
-chr1 179887 C M 3 1 25% 2 1 64 39 0.98 1 1 1 2 1 0 A
-chr1 185971 A R 3 1 25% 2 1 55 40 0.98 1 1 2 1 0 1 G
-chr1 211074 A M 3 1 25% 1 1 65 40 0.98 1 1 3 0 0 1 C
-chr1 219573 G S 1 1 50% 1 1 61 41 0.98 1 1 1 0 0 1 C
-chr1 229396 C S 2 1 33.33% 2 1 57 39 0.98 1 1 1 1 0 1 G
-chr1 236388 T K 8 2 20% 2 1 52 32 0.98 1 1 2 6 0 2 G
-chr1 245990 G S 5 1 16.67% 2 1 61 46 0.98 1 1 3 2 1 0 C
-chr1 249155 C S 2 1 33.33% 2 1 62 37 0.98 1 1 1 1 1 0 G
-chr1 261257 T K 3 1 25% 1 1 60 39 0.98 1 1 0 3 0 1 G
-chr1 274692 A R 2 1 33.33% 2 1 63 39 0.98 1 1 1 1 0 1 G
-chr1 283468 G S 3 1 25% 2 1 63 45 0.98 1 1 2 1 1 0 C
-chr1 284288 T W 3 1 25% 2 1 64 39 0.98 1 1 2 1 1 0 A
-chr1 286983 T Y 2 1 33.33% 1 1 64 37 0.98 1 1 0 2 1 0 C
-chr1 287378 C M 2 1 33.33% 2 1 65 37 0.98 1 1 1 1 0 1 A
-chr1 302928 A R 1 1 50% 1 1 64 38 0.98 1 1 0 1 1 0 G
-chr1 305952 C M 2 1 33.33% 1 1 65 38 0.98 1 1 0 2 0 1 A
-chr1 307932 T Y 4 1 20% 2 1 65 42 0.98 1 1 1 3 0 1 C
-chr1 317422 G S 3 1 25% 1 1 57 40 0.98 1 1 0 3 0 1 C
-chr1 321480 A W 2 1 33.33% 1 1 64 38 0.98 1 1 2 0 0 1 T
-chr1 322307 A M 1 1 50% 1 1 65 37 0.98 1 1 1 0 0 1 C
-chr1 328326 G S 5 1 16.67% 2 1 62 52 0.98 1 1 4 1 1 0 C
-chr1 333138 T K 3 2 40% 1 2 63 24 0.98 1 1 0 3 1 1 G
-chr1 333388 T Y 4 1 20% 2 1 64 43 0.98 1 1 2 2 1 0 C
-chr1 335592 T K 2 1 33.33% 1 1 58 39 0.98 1 1 2 0 1 0 G
-chr1 336572 C S 1 1 50% 1 1 58 38 0.98 1 1 0 1 0 1 G
-chr1 347396 T K 5 1 16.67% 2 1 62 52 0.98 1 1 2 3 1 0 G
-chr1 359080 T K 4 1 20% 2 1 61 42 0.98 1 1 1 3 0 1 G
-chr1 360223 A W 5 1 16.67% 2 1 54 52 0.98 1 1 2 3 0 1 T
-chr1 361047 T K 5 1 16.67% 2 1 62 50 0.98 1 1 2 3 0 1 G
-chr1 366048 A M 2 1 33.33% 2 1 65 39 0.98 1 1 1 1 0 1 C
-chr1 368105 A R 3 1 25% 2 1 55 40 0.98 1 1 2 1 0 1 G
-chr1 373782 T W 3 1 25% 2 1 64 41 0.98 1 1 2 1 1 0 A
-chr1 378159 G K 2 1 33.33% 2 1 63 41 0.98 1 1 1 1 0 1 T
-chr1 383945 C S 8 1 11.11% 2 1 58 57 0.98 1 1 2 6 1 0 G
-chr1 389461 A R 1 1 50% 1 1 65 36 0.98 1 1 1 0 1 0 G
-chr1 396860 G K 4 1 20% 1 1 65 43 0.98 1 1 0 4 0 1 T
-chr1 397170 A R 1 1 50% 1 1 65 36 0.98 1 1 1 0 1 0 G
-chr1 399939 A M 5 1 16.67% 2 1 63 46 0.98 1 1 1 4 0 1 C
-chr1 400733 G S 3 1 25% 1 1 65 41 0.98 1 1 3 0 0 1 C
-chr1 401165 A R 3 1 25% 2 1 64 41 0.98 1 1 1 2 0 1 G
-chr1 406774 T K 3 1 25% 2 1 58 39 0.98 1 1 2 1 0 1 G
-chr1 417293 C Y 2 1 33.33% 1 1 65 55 0.98 1 1 2 0 1 0 T
-chr1 417723 G S 2 1 33.33% 1 1 65 49 0.98 1 1 2 0 0 1 C
-chr1 420308 C M 1 1 50% 1 1 65 36 0.98 1 1 1 0 0 1 A
-chr1 435579 C Y 3 1 25% 1 1 64 40 0.98 1 1 0 3 0 1 T
-chr1 437183 G R 2 1 33.33% 1 1 65 39 0.98 1 1 0 2 0 1 A
-chr1 437194 A W 3 1 25% 1 1 64 41 0.98 1 1 0 3 0 1 T
-chr1 438866 G S 6 1 14.29% 2 1 62 52 0.98 1 1 5 1 0 1 C
-chr1 446237 T Y 3 1 25% 2 1 65 39 0.98 1 1 2 1 1 0 C
-chr1 446308 A R 2 1 33.33% 1 1 50 38 0.98 1 1 2 0 1 0 G
-chr1 452322 A M 1 1 50% 1 1 65 36 0.98 1 1 0 1 1 0 C
-chr1 462721 T K 1 1 50% 1 1 58 41 0.98 1 1 0 1 1 0 G
-chr1 477145 C S 2 1 33.33% 2 1 64 39 0.98 1 1 1 1 1 0 G
-chr1 493772 G S 3 1 25% 2 1 65 40 0.98 1 1 1 2 1 0 C
-chr1 498962 C M 2 1 33.33% 2 1 65 41 0.98 1 1 1 1 1 0 A
-chr1 510532 T Y 4 1 20% 2 1 64 53 0.98 1 1 2 2 1 0 C
-chr1 516369 T Y 1 1 50% 1 1 34 40 0.98 1 1 1 0 1 0 C
-chr1 523631 G K 3 1 25% 2 1 64 40 0.98 1 1 1 2 0 1 T
-chr1 524680 C Y 2 1 33.33% 1 1 65 41 0.98 1 1 0 2 0 1 T
-chr1 525898 T K 3 1 25% 2 1 62 49 0.98 1 1 2 1 1 0 G
-chr1 526118 A M 5 1 16.67% 2 1 61 50 0.98 1 1 2 3 0 1 C
-chr1 535762 C Y 3 1 25% 1 1 65 42 0.98 1 1 3 0 1 0 T
-chr1 543235 G K 1 1 50% 1 1 45 41 0.98 1 1 1 0 1 0 T
-chr1 550086 T Y 3 1 25% 1 1 50 41 0.98 1 1 3 0 1 0 C
-chr1 550508 A R 3 1 25% 2 1 55 40 0.98 1 1 1 2 0 1 G
-chr1 551143 G S 2 1 33.33% 1 1 65 39 0.98 1 1 0 2 1 0 C
-chr1 552924 A R 6 2 25% 2 2 62 38 0.98 1 1 4 2 1 1 G
-chr1 553541 A R 7 1 12.5% 2 1 65 52 0.98 1 1 4 3 0 1 G
-chr1 560806 T Y 5 1 16.67% 2 1 65 49 0.98 1 1 2 3 0 1 C
-chr1 562736 C S 5 1 16.67% 1 1 64 52 0.98 1 1 0 5 1 0 G
-chr1 563224 T Y 2 1 33.33% 1 1 51 39 0.98 1 1 2 0 1 0 C
-chr1 564217 T W 3 1 25% 2 1 62 40 0.98 1 1 1 2 0 1 A
-chr1 567288 C Y 2 1 33.33% 2 1 65 40 0.98 1 1 1 1 1 0 T
-chr1 569652 T Y 1 1 50% 1 1 48 42 0.98 1 1 1 0 0 1 C
-chr1 570280 G K 7 1 12.5% 2 1 60 53 0.98 1 1 1 6 0 1 T
-chr1 582185 T Y 1 1 50% 1 1 63 40 0.98 1 1 1 0 1 0 C
-chr1 582453 G S 1 1 50% 1 1 65 38 0.98 1 1 0 1 0 1 C
-chr1 583477 T K 2 1 33.33% 2 1 62 39 0.98 1 1 1 1 1 0 G
-chr1 584179 G K 3 1 25% 2 1 65 41 0.98 1 1 2 1 0 1 T
-chr1 589074 G S 2 1 33.33% 2 1 65 36 0.98 1 1 1 1 0 1 C
-chr1 596641 C S 2 1 33.33% 1 1 65 40 0.98 1 1 2 0 0 1 G
-chr1 599263 G K 2 1 33.33% 1 1 60 38 0.98 1 1 2 0 0 1 T
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/test.wig
--- a/commons/core/parsing/test/data/test.wig Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,12 +0,0 @@
-fixedStep  chrom=chr1  start=11  step=1
-1.1
-1.2
-fixedStep  chrom=chr1  start=14  step=1
-1.4
-1.5
-variableStep chrom=chr1
-17  1.7
-19  1.9
-variableStep chrom=chrX
-5  9.5
-6  9.6
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/test1.wig
--- a/commons/core/parsing/test/data/test1.wig Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,11 +0,0 @@
-fixedStep  chrom=chr2  start=9  step=1
-0
-0
-1.1
-1.2
-fixedStep  chrom=chr2  start=14  step=1
-1.4
-1.5
-variableStep chrom=chr2
-17  1.7
-19  1.9
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/test2.wig
--- a/commons/core/parsing/test/data/test2.wig Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,3 +0,0 @@
-fixedStep  chrom=chr3  start=14  step=1
-1.4
-1.5
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/testBedParser1.bed
--- a/commons/core/parsing/test/data/testBedParser1.bed Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,2 +0,0 @@
-track name=reads description="Reads" useScore=0 visibility=full offset=0
-arm_X 1000 3000 test1.1 1000 + 1000 3000 0 2 100,1000, 0,1000,
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/testCoordsParser.coords
--- a/commons/core/parsing/test/data/testCoordsParser.coords Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,19 +0,0 @@
-/home/urgi/genome_alignment/data/banks/arabidopsis/lyrata/ara_lyra_sca1.fa /home/urgi/genome_alignment/data/banks/arabidopsis/thaliana/ara_thal_chr1.fa
-NUCMER
-
-    [S1]     [E1]  |     [S2]     [E2]  |  [LEN 1]  [LEN 2]  |  [% IDY]  | [TAGS]
-=====================================================================================
-       1     6251  |   421251   415029  |     6251     6223  |    89.03  | scaffold_1 gi|240254421:1-30427671
-    9127    11947  |   414945   412123  |     2821     2823  |    90.45  | scaffold_1 gi|240254421:1-30427671
-   12201    12953  |   411933   411173  |      753      761  |    82.56  | scaffold_1 gi|240254421:1-30427671
-   13086    20401  |   411034   403760  |     7316     7275  |    88.56  | scaffold_1 gi|240254421:1-30427671
-   20482    20686  |   403573   403369  |      205      205  |    94.66  | scaffold_1 gi|240254421:1-30427671
-   32288    32623  |   402639   402280  |      336      360  |    76.52  | scaffold_1 gi|240254421:1-30427671
-   32936    33572  |   401974   401308  |      637      667  |    79.80  | scaffold_1 gi|240254421:1-30427671
-   33748    35013  |   401256   400080  |     1266     1177  |    82.77  | scaffold_1 gi|240254421:1-30427671
-   35456    44084  |   399895   391566  |     8629     8330  |    86.23  | scaffold_1 gi|240254421:1-30427671
-   44401    45265  |   391569   390737  |      865      833  |    90.40  | scaffold_1 gi|240254421:1-30427671
-   45374    46243  |   390633   389755  |      870      879  |    71.70  | scaffold_1 gi|240254421:1-30427671
-   46366    48958  |   389607   387128  |     2593     2480  |    82.32  | scaffold_1 gi|240254421:1-30427671
-   55079    55160  |   369603   369683  |       82       81  |    93.90  | scaffold_1 gi|240254421:1-30427671
-   55407    56537  |   369910   371016  |     1131     1107  |    81.69  | scaffold_1 gi|240254421:1-30427671
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/testCoordsParser_showcoord.coords
--- a/commons/core/parsing/test/data/testCoordsParser_showcoord.coords Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,5 +0,0 @@
-/home/fungisex/Work2011_2012/Gnc/Compare_Genome/SLA1_SLA2/Mivi_sl_A1_scaffolds.fa /home/fungisex/Work2011_2012/Gnc/Compare_Genome/SLA1_SLA2/Mivi_sl_A2_scaffolds.fa
-NUCMER
-
-[S1] [E1] [S2] [E2] [LEN 1] [LEN 2] [% IDY] [LEN R] [LEN Q] [COV R] [COV Q] [FRM] [TAGS]
-296 2292 1 2001 1997 2001 98.30 175930 60273 1.14 3.32 1 1 mivi_sl_A1_scaffold00001 mivi_sl_A2_scaffold00003
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/testCoordsParser_showcoord_promer.coords
--- a/commons/core/parsing/test/data/testCoordsParser_showcoord_promer.coords Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,5 +0,0 @@
-/home/fungisex/Work2011_2012/Gnc/Compare_Genome/SLA1_SLA2/Mivi_sl_A1_scaffolds.fa /home/fungisex/Work2011_2012/Gnc/Compare_Genome/SLA1_SLA2/Mivi_sl_A2_scaffolds.fa
-PROMER
-
-[S1] [E1] [S2] [E2] [LEN 1] [LEN 2] [% IDY] [% SIM] [% STP] [LEN R] [LEN Q] [COV R] [COV Q] [FRM] [TAGS]
-1229    291    939    1    939    939    94.25    97.12    3.04    175930    60273    0.53    1.56    -3    -1    mivi_sl_A1_scaffold00001    mivi_sl_A2_scaffold00003
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/parsing/test/data/testGffParser1.gff3
--- a/commons/core/parsing/test/data/testGffParser1.gff3 Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,7 +0,0 @@
-arm_X test test_transcript 1000 2000 1 + . ID=id1-1;Name=test1;field=value1
-arm_X test test_exon 1000 2000 1 + . ID=id1-1-exon1;Name=test1-exon1;Parent=id1-1
-arm_X test test_transcript 10000 20000 1 - . ID=id2-1;Name=test2;field=value2
-arm_X test test_exon 10000 10100 1 - . ID=id2-1-exon1;Name=test2-exon1;Parent=id2-1
-arm_X test test_exon 10500 20000 1 - . ID=id2-1-exon2;Name=test2-exon2;Parent=id2-1
-arm_X test test_transcript 1000 2000 1 + . ID=test1.1-1;Name=test1.1
-arm_X test test_exon 1000 2000 1 + . ID=test1.1-1-exon1;Name=test1.1-exon1;Parent=test1.1-1
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/seq/test/TestClusterConsensusCollection.py
--- a/commons/core/seq/test/TestClusterConsensusCollection.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,67 +0,0 @@
-import unittest
-import os
-from commons.core.seq.ClusterConsensusCollection import ClusterConsensusCollection
-from commons.core.seq.Bioseq import Bioseq
-from commons.core.seq.BioseqDB import BioseqDB
-
-class TestClusterConsensusCollection(unittest.TestCase):
-
-    def setUp(self):
-        self._clusterSequencesFileName = "clusterSequences.fa"
-        self._ClusterConsensusCollection = ClusterConsensusCollection(self._clusterSequencesFileName)
-        self._createClusterConsensusFile()
-
-    def tearDown(self):
-        os.remove(self._clusterSequencesFileName)
-        
-    def test_fillCollection(self):
-        expClusterConsensusCollection = ClusterConsensusCollection(self._clusterSequencesFileName)
-        expClusterConsensusCollection._clusterFileName = self._clusterSequencesFileName
-        bioseq1 = Bioseq("seq1", "ACCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACTATTTT")
-        bioseq2 = Bioseq("seq2", "ACCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACTATTTT")
-        bioseq3 = Bioseq("seq3", "ACCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACTATTTT")
-        iBioseqDB1 = BioseqDB()
-        iBioseqDB2 = BioseqDB()
-        iBioseqDB1.setData([bioseq1, bioseq2])
-        iBioseqDB2.setData([bioseq3])
-        expClusterConsensusCollection._lClusterConsensus = [iBioseqDB1, iBioseqDB2]
-        self._ClusterConsensusCollection.fillCollection()
-        self.assertEqual(expClusterConsensusCollection, self._ClusterConsensusCollection)
-        
-    def test_getNumClusterForAConsensus_for_seq2(self):
-        self._ClusterConsensusCollection.fillCollection()
-        expClusterNumber = 1
-        obsClusterNumber = self._ClusterConsensusCollection.getNumClusterForAConsensus ("seq2")
-        self.assertEqual(expClusterNumber, obsClusterNumber)
-        
-    def test_getNumClusterForAConsensus_for_seq3(self):
-        self._ClusterConsensusCollection.fillCollection()
-        expClusterNumber = 2
-        obsClusterNumber = self._ClusterConsensusCollection.getNumClusterForAConsensus ("seq3")
-        self.assertEqual(expClusterNumber, obsClusterNumber)
-        
-    def test_getNumConsensusInCluster_1(self):
-        self._ClusterConsensusCollection.fillCollection()
-        expConsensusNumber = 2
-        obsConsensusNumber = self._ClusterConsensusCollection.getNumConsensusInCluster (1)
-        self.assertEqual(expConsensusNumber, obsConsensusNumber)
-        
-    def test_getNumConsensusInCluster_2(self):
-        self._ClusterConsensusCollection.fillCollection()
-        expConsensusNumber = 1
-        obsConsensusNumber = self._ClusterConsensusCollection.getNumConsensusInCluster (2)
-        self.assertEqual(expConsensusNumber, obsConsensusNumber)
-    
-    def _createClusterConsensusFile(self):
-        fCluster = open(self._clusterSequencesFileName, "w")
-        fCluster.write(">BlastclustCluster1Mb1 seq1\n")
-        fCluster.write("ACCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACTATTTT\n")
-        fCluster.write(">BlastclustCluster1Mb2 seq2\n")
-        fCluster.write("ACCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACTATTTT\n")
-        fCluster.write(">BlasterGrouperCluster3Mb1 seq3\n")
-        fCluster.write("ACCAAAGACACTAGAATAACAAGATGCGTAACGCCATACGATTTTTTGGCACACTATTTT\n")
-        fCluster.close()
-
-
-if __name__ == "__main__":
-    unittest.main()
\ No newline at end of file
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/seq/test/TestSuite_seq.py
--- a/commons/core/seq/test/TestSuite_seq.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,58 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright INRA (Institut National de la Recherche Agronomique)
-# http://www.inra.fr
-# http://urgi.versailles.inra.fr
-#
-# This software is governed by the CeCILL license under French law and
-# abiding by the rules of distribution of free software.  You can  use, 
-# modify and/ or redistribute the software under the terms of the CeCILL
-# license as circulated by CEA, CNRS and INRIA at the following URL
-# "http://www.cecill.info". 
-#
-# As a counterpart to the access to the source code and  rights to copy,
-# modify and redistribute granted by the license, users are provided only
-# with a limited warranty  and the software's author,  the holder of the
-# economic rights,  and the successive licensors  have only  limited
-# liability. 
-#
-# In this respect, the user's attention is drawn to the risks associated
-# with loading,  using,  modifying and/or developing or reproducing the
-# software by the user in light of its specific status of free software,
-# that may mean  that it is complicated to manipulate,  and  that  also
-# therefore means  that it is reserved for developers  and  experienced
-# professionals having in-depth computer knowledge. Users are therefore
-# encouraged to load and test the software's suitability as regards their
-# requirements in conditions enabling the security of their systems and/or 
-# data to be ensured and,  more generally, to use and operate it in the 
-# same conditions as regards security. 
-#
-# The fact that you are presently reading this means that you have had
-# knowledge of the CeCILL license and that you accept its terms.
-
-
-import unittest
-import sys
-import Test_AlignedBioseqDB
-import Test_Bioseq
-import Test_BioseqDB
-import Test_BioseqUtils
-import Test_FastaUtils
-
-
-def main():
-    
-        TestSuite_seq = unittest.TestSuite()
-        
-        TestSuite_seq.addTest( unittest.makeSuite( Test_AlignedBioseqDB.Test_AlignedBioseqDB, "test" ) )
-        TestSuite_seq.addTest( unittest.makeSuite( Test_Bioseq.Test_Bioseq, "test" ) )
-        TestSuite_seq.addTest( unittest.makeSuite( Test_BioseqDB.Test_BioseqDB, "test" ) )
-        TestSuite_seq.addTest( unittest.makeSuite( Test_BioseqUtils.Test_BioseqUtils, "test" ) )
-        TestSuite_seq.addTest( unittest.makeSuite( Test_FastaUtils.Test_FastaUtils, "test" ) )
-        
-        runner = unittest.TextTestRunner( sys.stderr, 2, 2 )
-        runner.run( TestSuite_seq )
-
-      
-if __name__ == "__main__":
-    main()
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/seq/test/Test_AlignedBioseqDB.py
--- a/commons/core/seq/test/Test_AlignedBioseqDB.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,773 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import unittest\n-import sys\n-import os\n-import time\n-from commons.core.seq.AlignedBioseqDB import AlignedBioseqDB\n-from commons.core.seq.Bioseq import Bioseq\n-from commons.core.utils.FileUtils import FileUtils\n-from commons.core.coord.Align import Align\n-from commons.core.coord.Range import Range\n-from commons.core.stat.Stat import Stat\n-\n-\n-class Test_AlignedBioseqDB( unittest.TestCase ):\n-    \n-    def setUp( self ):\n-        self._i = AlignedBioseqDB()\n-        self._uniqId = "%s_%s" % ( time.strftime("%Y%m%d%H%M%S") , os.getpid() )\n-        \n-        \n-    def tearDown( self ):\n-        self._i = None\n-        self._uniqId = ""\n-        \n-        \n-    def test_getLength(self):\n-        iAlignedBioseqDB = AlignedBioseqDB()\n-\n-        iBioseq1 = Bioseq( "seq1", "AGCGGACGATGCAGCATGCGAATGACGAT" )\n-        iAlignedBioseqDB.setData([iBioseq1])\n-        \n-        expLenght = 29\n-        obsLength = iAlignedBioseqDB.getLength() \n-\n-        self.assertEquals(expLenght, obsLength)\n-        \n-        \n-    def test_getSeqLengthWithoutGaps( self ):\n-        iAlignedBioseqDB = AlignedBioseqDB()\n-        iAlignedBioseqDB.add( Bioseq( "seq3",\n-                                      "AGCG-GACGATGCAGCAT--GCGAATGA--CGAT" ) )\n-        expLenght = 29\n-        obsLength = iAlignedBioseqDB.getSeqLengthWithoutGaps( "seq3" )\n-        \n-        self.assertEquals(expLenght, obsLength)\n-        \n-        \n-    def test_getListOccPerSite(self):\n-        iBioseq1 = Bioseq( "seq1", "AGAAA")\n-        iBioseq2 = Bioseq( "seq2", "TCAAG")\n-        iBioseq3 = Bioseq( "seq3", "GGTAC")\n-        iBioseq4 = Bioseq( "seq4", "CCTTA")\n-        \n-        iAlignedBioseqDB = AlignedBioseqDB()\n-        iAlignedBioseqDB.setData([iBioseq1, iBioseq2, iBioseq3, iBioseq4])\n-\n-        expList = [\n-                \n-                {"A":1, "T":1, "G":1, "C":1},\n-\n-                {"G":2, "C":2},\n-                   \n-                {"A":2, "T":2 },\n-                \n-                {"A":3, "T":1 },   \n-                \n-                {"A":2, "G":1, "C":1}\n-            ]\n-                \n-        obsList = iAlignedBioseqDB.getListOccPerSite()\n-       \n-        self.assertEquals(expList, obsList)\n-        \n-        \n-    def test_getListOccPerSite_with_none_sequence(self):\n-        iBioseq1 = Bioseq( "seq1", "AGAAA")\n-        iBioseq2 = Bioseq( "seq2", "TCAAG")\n-        iBi'..b'\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------\n-#>BlastclustCluster2Mb2_chunk7 (dbseq-nr 1) [99136,100579]\n-#GTAATAATCATAATAATCATAATAATCATAATAATCATAATAATCATAATAATCATAATA\n-#ATCATAATAATCATAATAATCATAATAATCATAATAATCATAATAATCATAATAATCATA\n-#ATAATCATAATAATCATAATAATCATAATAATCATAATAATCATAATAATCATAATAATC\n-#ATAATAATCATAATAATCATAATAATCATAATAATCATAATAATCATAATAATCATAATA\n-#ATCATAATAATCATAATAATCATAATAATCATAATAATAATAATAATCATAATCATAATC\n-#ATAATAAGCGATAAAAAAATTAAAAAATAAAAATTAAAACCCACTGCAATCACGTTGGAC\n-#GGCGAGTCACAGACGTCAGAATAGTGGTGCGTAAATCCAACGCCGAGAAGAATTACTTCA\n-#AGAAGGTTTTTATTGAACTTCTTTATTCGGATATCAGTTTAAGACTAAAAATTAATAATC\n-#ATAAT---AATCATAATAATCATAATAATCATAATAATCATAATAAT-------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#-----------------------------------------------CATA-ATAATCAT\n-#AATAAT--CATAATAATCATA-ATAATCATAATAATCATAATAATCATAATAATCATAAT\n-#AATCATAATAATCATAATAATCATAA----TAATCATAATAATCATAATAATCATAATAA\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------TCATAA-TAATCATAATAATCGTAA---TAATCATAA----TAATCATAATAAT\n-#CATAATAATCATAA-TAAT----CAT-----AATAATCAT-----AATAATCATAATAAT\n-#CATAATAATCATAATAATCATAATAATCATAATAATCATAAT-AA-TCAT--AA--TAAT\n-#-----CATAATAATCATAATAA--TCA----TAATAATC---AT---AATAATCATAATA\n-#-AT---CATAATAATCATAATAATC-----------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#-----------------------------------ATAATAATCATAAT-AATCA-----\n-#TAATAA------TCATAAT----AATCATAAT-AATCATAATAA-TCA-TAATAATCATA\n-#ATAATCATAATAATCATAATAATAATAATAATCATAATCATAATCATAATAAGCATAAAA\n-#AAAT--------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#------------------------------------------------------------\n-#TAAAAAATAAAAATTAAAACCCACTGCAA---TCACGTTGGACGGCGAGTCACAGACGTC\n-#A-GAAT-AGTGGTGCGTAAATCCAACGCCGAGAAGAATTACTTCAAGAAGGTTTTTATTG\n-#AACTTCTTTATTCGGATATCAGTTTAAGACTAAAAATTAATAATCATAAT---AATCATA\n-#ATAA---TCA-TAATAATCAT-AATAATCATAATAATCATAA-----TAA-TCATA-ATA\n-#ATCATAATAATCATAATAA--TCATAATA-ATCA-TAATAATCATAATAATCATAATCAT\n-#CATAATAATCATAATAAT--CATAA-T-------AATC--ATAATAATCATAATAATCAT\n-#AATAATCATAATAATCATAATAATCATAATAATCATAATAATCATAATAATCATAATAAT\n-#CATAATAATCATAATAATCATAATAATCATAATAATCATAATAATCATAATAATCATAAT\n-#AATCATAATAAT\n-\n-test_suite = unittest.TestSuite()\n-test_suite.addTest( unittest.makeSuite( Test_AlignedBioseqDB ) )\n-if __name__ == "__main__":\n-    unittest.TextTestRunner(verbosity=2).run( test_suite )\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/seq/test/Test_Bioseq.py
--- a/commons/core/seq/test/Test_Bioseq.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,1051 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import unittest\n-import os\n-import sys\n-from commons.core.seq.Bioseq import Bioseq \n-from commons.core.utils.FileUtils import FileUtils\n-from commons.core.coord.Map import Map\n-from commons.core.checker.RepetException import RepetException\n-\n-\n-class Test_Bioseq( unittest.TestCase ):\n-    \n-    def setUp(self):\n-        self._bs = Bioseq()\n-\n-\n-    def test_isEmpty_True(self):\n-        self._bs.setHeader( "" )\n-        self._bs.setSequence( "" )\n-        exp = True\n-        obs = self._bs.isEmpty()\n-        self.assertEquals( exp, obs )\n-\n-        \n-    def test_isEmpty_False(self):\n-        self._bs.setHeader( "seq1" )\n-        self._bs.setSequence( "AGCGGACGATGCAGCATGCGAATGACGAT" )\n-        exp = False\n-        obs = self._bs.isEmpty()\n-        self.assertEquals( exp, obs )\n-        \n-        \n-    def test___eq__(self):\n-        self._bs.setHeader( "seq1" )\n-        self._bs.setSequence( "AGCGGACGATGCAGCATGCGAATGACGAT" )\n-        obs = Bioseq( "seq1", "AGCGGACGATGCAGCATGCGAATGACGAT" )\n-        self.assertEquals( self._bs, obs )\n-        \n-        \n-    def test___ne__Header(self):\n-        self._bs.setHeader( "seq2" )\n-        self._bs.setSequence( "AGCGGACGATGCAGCATGCGAATGACGAT" )\n-        obs = Bioseq( "seq1", "AGCGGACGATGCAGCATGCGAATGACGAT" )\n-        self.assertNotEquals( self._bs, obs )\n-        \n-        \n-    def test___ne__Sequence(self):\n-        self._bs.setHeader( "seq1" )\n-        self._bs.setSequence( "GGACGATGCAGCATGCGAATGACGAT" )\n-        obs = Bioseq( "seq1", "AGCGGACGATGCAGCATGCGAATGACGAT" )\n-        self.assertNotEquals( self._bs, obs )\n-        \n-        \n-    def test_reverse(self):\n-        self._bs.setHeader( "seq1" )\n-        self._bs.setSequence( "TGCGGA" )\n-        exp = "AGGCGT"\n-        self._bs.reverse()\n-        obs = self._bs.sequence\n-        self.assertEqual( obs, exp )\n-        \n-        \n-    def test_complement(self):\n-        self._bs.setHeader( "seq1" )\n-        self._bs.setSequence( "TGCGGA" )\n-        exp = "ACGCCT"\n-        self._bs.complement()\n-        obs = self._bs.sequence\n-        self.assertEqual( obs, exp )\n-        \n-        \n-    def test_complement_with_unknown_symbol(self):\n-        self._bs.setHeader( "seq1" )\n-        self._bs.setSequence( "TGCGGAFMRWTYSKVHDBN" )\n-        exp = "ACGCCTNKYWARSMBDHVN"\n-        self._bs.complement()\n-        obs = self._bs.sequence\n-        '..b'       bioseq = Bioseq()\n-        bioseq.sequence = "ATGCNRATGCN\\rATGCAAT\\rTATA\\r"\n-        bioseq.checkEOF()\n-        obsSequence = bioseq.sequence\n-        expSequence = "ATGCNRATGCNATGCAATTATA"\n-        \n-        self.assertEquals(expSequence, obsSequence)\n-        \n-        \n-    def test_getLMapWhithoutGap(self):\n-        iBioseq = Bioseq()\n-        iBioseq.header = "header"\n-        iBioseq.sequence = "ATGC-RA-GCT"\n-        obsLMap = iBioseq.getLMapWhithoutGap()\n-        expLMap = [Map( "header_subSeq1", "header", 1, 4 ), Map( "header_subSeq2", "header", 6, 7 ), Map( "header_subSeq3", "header", 9, 11 )]\n-        \n-        self.assertEquals(expLMap, obsLMap)\n-        \n-        \n-    def test_getLMapWhithoutGap_seqStartsWithGap(self):\n-        iBioseq = Bioseq()\n-        iBioseq.header = "header"\n-        iBioseq.sequence = "-TGC-RA-GCT"\n-        obsLMap = iBioseq.getLMapWhithoutGap()\n-        expLMap = [Map( "header_subSeq1", "header", 2, 4 ), Map( "header_subSeq2", "header", 6, 7 ), Map( "header_subSeq3", "header", 9, 11 )]\n-        \n-        self.assertEquals(expLMap, obsLMap)\n-        \n-        \n-    def test_getLMapWhithoutGap_seqEndsWithGap(self):\n-        iBioseq = Bioseq()\n-        iBioseq.header = "header"\n-        iBioseq.sequence = "ATGC-RA-GC-"\n-        obsLMap = iBioseq.getLMapWhithoutGap()\n-        expLMap = [Map( "header_subSeq1", "header", 1, 4 ), Map( "header_subSeq2", "header", 6, 7 ), Map( "header_subSeq3", "header", 9, 10 )]\n-        \n-        self.assertEquals(expLMap, obsLMap)\n-        \n-    def test_getGCpercentage_onlyATGC( self ):\n-        iBs = Bioseq( "seq", "TGCAGCT" )\n-        exp = 100 * 4 / 7.0\n-        obs = iBs.getGCpercentage()\n-        self.assertEqual( exp, obs )\n-        \n-    def test_getGCpercentageInSequenceWithoutCountNInLength( self ):\n-        iBs = Bioseq( "seq", "TGCAGCTNNNNN" )\n-        exp = 100 * 4 / 7.0\n-        obs = iBs.getGCpercentageInSequenceWithoutCountNInLength()\n-        self.assertEqual( exp, obs )    \n-        \n-    def test_get5PrimeFlank(self):\n-        bs = Bioseq( "line1", "AACTTTCCAGAA" )\n-        position = 7\n-        obsFlank = bs.get5PrimeFlank(position, 3)\n-        expFlank = "TTT"\n-        self.assertEquals(expFlank, obsFlank)\n-        \n-    def test_get5PrimeFlank_flank_length_truncated(self):\n-        bs = Bioseq( "line1", "AACTTTCCAGAA" )\n-        position = 7\n-        obsFlank = bs.get5PrimeFlank(position, 15)\n-        expFlank = "AACTTT"\n-        self.assertEquals(expFlank, obsFlank)\n-        \n-    def test_get5PrimeFlank_flank_of_first_base(self):\n-        bs = Bioseq( "line1", "AACTTTCCAGAA" )\n-        position = 1\n-        obsFlank = bs.get5PrimeFlank(position, 15)\n-        expFlank = ""\n-        self.assertEquals(expFlank, obsFlank)                \n-   \n-    def test_get3PrimeFlank(self):\n-        bs = Bioseq( "line1", "AACTTTCCAGAA" )\n-        position = 7\n-        obsFlank = bs.get3PrimeFlank(position, 3)\n-        expFlank = "CAG"\n-        self.assertEquals(expFlank, obsFlank)\n-        \n-    def test_get3PrimeFlank_flank_length_truncated(self):\n-        bs = Bioseq( "line1", "AACTTTCCAGAA" )\n-        position = 7\n-        obsFlank = bs.get3PrimeFlank(position, 15)\n-        expFlank = "CAGAA"\n-        self.assertEquals(expFlank, obsFlank)\n-        \n-    def test_get3PrimeFlank_flank_of_last_base(self):\n-        bs = Bioseq( "line1", "AACTTTCCAGAA" )\n-        position = 12\n-        obsFlank = bs.get3PrimeFlank(position, 15)\n-        expFlank = ""\n-        self.assertEquals(expFlank, obsFlank)\n-        \n-    def test_get3PrimeFlank_polymLength_different_of_1(self):\n-        bs = Bioseq( "line1", "AACTTTCCAGAA" )\n-        position = 7\n-        obsFlank = bs.get3PrimeFlank(position, 3, 2)\n-        expFlank = "AGA"\n-        self.assertEquals(expFlank, obsFlank) \n-        \n-test_suite = unittest.TestSuite()\n-test_suite.addTest( unittest.makeSuite( Test_Bioseq ) )\n-if __name__ == "__main__":\n-    unittest.TextTestRunner(verbosity=2).run( test_suite )\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/seq/test/Test_BioseqDB.py
--- a/commons/core/seq/test/Test_BioseqDB.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,974 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import unittest\n-import os\n-import time\n-from commons.core.seq.BioseqDB import BioseqDB\n-from commons.core.seq.Bioseq import Bioseq\n-from commons.core.utils.FileUtils import FileUtils\n-from commons.core.coord.Map import Map\n-\n-\n-class Test_BioseqDB( unittest.TestCase ):\n-    \n-    def setUp( self ):\n-        self._uniqId = "%s_%s" % ( time.strftime("%Y%m%d%H%M%S") , os.getpid() )\n-        \n-        \n-    def tearDown( self ):\n-        if os._exists("dummyBioseqDB.fa"):\n-            os.remove("dummyBioseqDB.fa")\n-            \n-            \n-    def test__eq__(self):\n-        iBioseq1 = Bioseq( "seq1", "AGCGGACGATGCAGCATGCGAATGACGAT" )\n-        iBioseq2 = Bioseq( "seq2", "GCGATGCGATCGATGCGATAGCA" )\n-        expBioseqDB = BioseqDB()\n-        expBioseqDB.setData( [ iBioseq1, iBioseq2 ] )\n-        \n-        iBioseq3 = Bioseq( "seq1", "AGCGGACGATGCAGCATGCGAATGACGAT" )\n-        iBioseq4 = Bioseq( "seq2", "GCGATGCGATCGATGCGATAGCA" )\n-        obsBioseqDB = BioseqDB()\n-        obsBioseqDB.setData( [ iBioseq3, iBioseq4 ] )\n-        \n-        self.assertEquals( expBioseqDB, obsBioseqDB )\n-        \n-        \n-    def test__eq__instances_with_different_header(self):\n-        iBioseq1 = Bioseq( "seq1", "AGCGGACGATGCAGCATGCGAATGACGAT" )\n-        iBioseq2 = Bioseq( "seq2", "GCGATGCGATCGATGCGATAGCA" )\n-        expBioseqDB = BioseqDB()\n-        expBioseqDB.setData( [ iBioseq1, iBioseq2 ] )\n-        \n-        iBioseq3 = Bioseq( "seq3", "AGCGGACGATGCAGCATGCGAATGACGAT" )\n-        iBioseq4 = Bioseq( "seq4", "GCGATGCGATCGATGCGATAGCA" )\n-        obsBioseqDB = BioseqDB()\n-        obsBioseqDB.setData( [ iBioseq3, iBioseq4 ] )\n-        \n-        self.assertNotEquals( expBioseqDB, obsBioseqDB )\n-        \n-        \n-    def test__eq__instances_with_different_sequences(self):\n-        iBioseq1 = Bioseq( "seq1", "AGCGGACGATGCAGCATGCGAATGACGAT" )\n-        iBioseq2 = Bioseq( "seq2", "GCGATGCGATCGATGCGATAGCA" )\n-        expBioseqDB = BioseqDB()\n-        expBioseqDB.setData( [ iBioseq1, iBioseq2 ] )\n-        \n-        iBioseq3 = Bioseq( "seq1", "AGCGGACGATGCAGCATGCGAATGACGAT" )\n-        iBioseq4 = Bioseq( "seq2", "GCGATGCGATCGATGCGATAGCATATATATATATATATATATATAT" )\n-        obsBioseqDB = BioseqDB()\n-        obsBioseqDB.setData( [ iBioseq3, iBioseq4 ] )\n-        \n-        self.assertNotEquals( expBioseqDB, obsBioseqDB )\n-        \n-        \n-    def test__eq__instance'..b'9, iBioseq10, iBioseq11] )\n-       \n-        obsBioseqDB.addBioseqFromABioseqDBIfHeaderContainPattern("consensus.*", inBioseqDB)\n-        self.assertEquals(expBioseqDB, obsBioseqDB)\n-        \n-        \n-    def test_addBioseqFromABioseqDBIfHeaderContainPattern_with_no_existing_pattern (self):\n-        iBioseq1 = Bioseq("consensus4","GAGATGGCTCATGGAGTACCGCGAGTGCGGTACCTATGGCCCTCATGGAGTACCGCGAGATGGCTCATGGAGTACCGCGAGATGGCTCATGGAGTACCGC")\n-        iBioseq2 = Bioseq("consensus1","TGCCTGAGATGGCTCATGGAGTACCTGCCT")\n-        iBioseq3 = Bioseq("consensus7","TGCCTTGCATGACTGCATGGAGTACCTGCCTG")\n-        iBioseq4 = Bioseq("consensus11","TGCCTGATGGCTCATGGAGTACCTGCCT")\n-        obsBioseqDB = BioseqDB()\n-        obsBioseqDB.setData( [ iBioseq1, iBioseq2, iBioseq3, iBioseq4] )\n-        \n-        iBioseq5 = Bioseq("Sequence4","GAGATGGCTCATGGAGTACCGCGAGTGCGGTACCTATGGCCCTCATGGAGTACCGCGAGATGGCTCATGGAGTACCGCGAGATGGCTCATGGAGTACCGC")\n-        iBioseq6 = Bioseq("consensus6","TGCCTTGCATGACTGCATGGAGTACCTGCCTG")\n-        inBioseqDB = BioseqDB()\n-        inBioseqDB.setData( [ iBioseq5, iBioseq6 ])\n-\n-        iBioseq7 = Bioseq("consensus4","GAGATGGCTCATGGAGTACCGCGAGTGCGGTACCTATGGCCCTCATGGAGTACCGCGAGATGGCTCATGGAGTACCGCGAGATGGCTCATGGAGTACCGC")\n-        iBioseq8 = Bioseq("consensus1","TGCCTGAGATGGCTCATGGAGTACCTGCCT")\n-        iBioseq9 = Bioseq("consensus7","TGCCTTGCATGACTGCATGGAGTACCTGCCTG")\n-        iBioseq10 = Bioseq("consensus11","TGCCTGATGGCTCATGGAGTACCTGCCT")\n-        \n-        expBioseqDB = BioseqDB()\n-        expBioseqDB.setData( [ iBioseq7, iBioseq8, iBioseq9, iBioseq10] )\n-       \n-        obsBioseqDB.addBioseqFromABioseqDBIfHeaderContainPattern("noExistingPattern", inBioseqDB)\n-        self.assertEquals(expBioseqDB, obsBioseqDB)\n-        \n-        \n-    def test_upCase (self):\n-        iBioseq1 = Bioseq("consensus4","atgacGatgca")\n-        iBioseq2 = Bioseq("consensus1","atgcgaT")\n-        obsBioseqDB = BioseqDB()\n-        obsBioseqDB.setData( [ iBioseq1, iBioseq2 ] )\n-        iBioseq3 = Bioseq("consensus4","ATGACGATGCA")\n-        iBioseq4 = Bioseq("consensus1","ATGCGAT")\n-        expBioseqDB = BioseqDB()\n-        expBioseqDB.setData( [ iBioseq3, iBioseq4 ] )\n-        obsBioseqDB.upCase()\n-        self.assertEquals(expBioseqDB, obsBioseqDB)\n-        \n-        \n-    def test_getMap(self):\n-        iBioseq1 = Bioseq("header1","ATGC-RA-GCT")\n-        iBioseq2 = Bioseq("header2","-TGC-RA-GCT")\n-        iBioseq3 = Bioseq("header3","ATGC-RA-GC-")\n-\n-        iAlignedBioseqDB = BioseqDB()\n-        iAlignedBioseqDB.setData([iBioseq1, iBioseq2, iBioseq3])\n-        \n-        obsDict = iAlignedBioseqDB.getDictOfLMapsWithoutGaps()\n-        \n-        expLMap1 = [Map( "header1_subSeq1", "header1", 1, 4 ), Map( "header1_subSeq2", "header1", 6, 7 ), Map( "header1_subSeq3", "header1", 9, 11 )]\n-        expLMap2 = [Map( "header2_subSeq1", "header2", 2, 4 ), Map( "header2_subSeq2", "header2", 6, 7 ), Map( "header2_subSeq3", "header2", 9, 11 )]\n-        expLMap3 = [Map( "header3_subSeq1", "header3", 1, 4 ), Map( "header3_subSeq2", "header3", 6, 7 ), Map( "header3_subSeq3", "header3", 9, 10 )]    \n-        \n-        expDict = {\n-                   "header1": expLMap1,\n-                   "header2": expLMap2,\n-                   "header3": expLMap3\n-                   } \n-        \n-        self.assertEquals(expDict, obsDict)\n-\n-    def test_getSeqLengthByListOfName(self):\n-        iBioseq1 = Bioseq("header1","ATGC-RA-GCT")\n-        iBioseq2 = Bioseq("header2","-TGC-RAR")\n-        iBioseq3 = Bioseq("header3","ATGC")\n-\n-        iBioseqDB = BioseqDB()\n-        iBioseqDB.setData([iBioseq1, iBioseq2, iBioseq3])\n-        \n-        expList =  [11, 4]\n-        obsList = iBioseqDB.getSeqLengthByListOfName(["header1", "header3"])\n-        \n-        self.assertEquals( expList, obsList )        \n-        \n-test_suite = unittest.TestSuite()\n-test_suite.addTest( unittest.makeSuite( Test_BioseqDB ) )\n-if __name__ == "__main__":\n-    unittest.TextTestRunner(verbosity=2).run( test_suite )\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/seq/test/Test_BioseqUtils.py
--- a/commons/core/seq/test/Test_BioseqUtils.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,498 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import unittest\n-import os\n-from commons.core.seq.Bioseq import Bioseq\n-from commons.core.seq.BioseqUtils import BioseqUtils\n-from commons.core.utils.FileUtils import FileUtils\n-\n-\n-class Test_BioseqUtils( unittest.TestCase ):\n-    \n-    def test_translateSequence_one_nt( self ):\n-        bioseq = Bioseq()\n-        bioseq.sequence = "G"\n-        BioseqUtils.translateSequence(bioseq, 1)\n-        expSequence = ""\n-        obsSequence = bioseq.sequence\n-        self.assertEqual(expSequence, obsSequence)\n-        \n-        \n-    def test_translateSequence_frame1( self ):\n-        bioseq = Bioseq()\n-        bioseq.sequence = "NGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTCCGACTAATCAACAATATAATGCGAGTAGAGCTTGA"\n-        BioseqUtils.translateSequence(bioseq, 1)\n-        expSequence = "XGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"\n-        obsSequence = bioseq.sequence\n-        self.assertEqual(expSequence, obsSequence)\n-        \n-        \n-    def test_translateSequence_frame2( self ):\n-        bioseq = Bioseq()\n-        bioseq.sequence = "NGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTCCGACTAATCAACAATATAATGCGAGTAGAGCTTGA"\n-        BioseqUtils.translateSequence(bioseq, 2)\n-        expSequence = "VASS*SVYDHNDFT*VSRGSD*STI*CE*SL"\n-        obsSequence = bioseq.sequence\n-        self.assertEqual(expSequence, obsSequence)\n-        \n-        \n-    def test_translateSequence_frame3( self ):\n-        bioseq = Bioseq()\n-        bioseq.sequence = "NGTGGCTTCTAGTTGATCAGTTTATGATCACAATGATTTCACGTAGGTGTCTCGTGGCTCCGACTAATCAACAATATAATGCGAGTAGAGCTTGA"\n-        BioseqUtils.translateSequence(bioseq, 3)\n-        expSequence = "WLLVDQFMITMISRRCLVAPTNQQYNASRA*"\n-        obsSequence = bioseq.sequence\n-        self.assertEqual(expSequence, obsSequence)\n-        \n-        \n-    def test_setFrameInfoOnHeader(self):\n-        bioseq = Bioseq()\n-        bioseq.header = "header1 description1 description2"\n-        BioseqUtils.setFrameInfoOnHeader(bioseq,1)\n-        expHeader = "header1_1 description1 description2"\n-        obsHeader = bioseq.header\n-        self.assertEquals(expHeader,obsHeader)\n-        \n-        \n-    def test_setFrameInfoOnHeader_header_without_space(self):\n-        bioseq = Bioseq()\n-        bioseq.header = "header"\n-        BioseqUtils.setFrameInfoOnHeader(bioseq,1)\n-        expHeader = "header_1"\n-        obsHeader = bioseq.header\n-  '..b'   bioseq2.header = "header2"\n-        bioseq2.sequence = "ATGCGTGCGTAAATGCGTATGCGTATGCGTTCGCGAATGCGTGT"\n-        \n-        lBioseq = [bioseq1, bioseq2]\n-        \n-        obsLength = BioseqUtils.getSeqLengthWithSeqName(lBioseq, "header1 description")\n-        expLength = 31\n-        \n-        self.assertEquals( expLength, obsLength)\n-        \n-        \n-    def test_getSeqLengthWithSeqName_second_item ( self ):\n-        bioseq1 = Bioseq()\n-        bioseq1.header = "header1 description"\n-        bioseq1.sequence = "CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"\n-        \n-        bioseq2 = Bioseq()\n-        bioseq2.header = "header2"\n-        bioseq2.sequence = "ATGCGTGCGTAAATGCGTATGCGTATGCGTTCGCGAATGCGTGT"\n-        \n-        lBioseq = [bioseq1, bioseq2]\n-        \n-        obsLength = BioseqUtils.getSeqLengthWithSeqName(lBioseq, "header2")\n-        expLength = 44\n-        \n-        self.assertEquals( expLength, obsLength)\n-        \n-        \n-    def test_getSeqLengthWithSeqName_empty_list ( self ):\n-        lBioseq = []\n-        \n-        obsLength = BioseqUtils.getSeqLengthWithSeqName(lBioseq, "header2")\n-        expLength = 0\n-        \n-        self.assertEquals( expLength, obsLength)\n-        \n-        \n-    def test_getSeqLengthWithSeqName_empty_sequence ( self ):\n-        bioseq1 = Bioseq()\n-        bioseq1.header = "header1 description"\n-        bioseq1.sequence = "CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"\n-        \n-        bioseq2 = Bioseq()\n-        bioseq2.header = "header2"\n-        bioseq2.sequence = ""\n-        \n-        lBioseq = [bioseq1, bioseq2]\n-        \n-        obsLength = BioseqUtils.getSeqLengthWithSeqName(lBioseq, "header2")\n-        expLength = 0\n-        \n-        self.assertEquals( expLength, obsLength)\n-        \n-        \n-    def test_getSeqLengthWithSeqName_sequence_unknown ( self ):\n-        bioseq1 = Bioseq()\n-        bioseq1.header = "header1 description"\n-        bioseq1.sequence = "CGF*LISL*SQ*FHVGVSWLRLINNIMRVEL"\n-        \n-        bioseq2 = Bioseq()\n-        bioseq2.header = "header2"\n-        bioseq2.sequence = "ATGCGTGCGTAAATGCGTATGCGTATGCGTTCGCGAATGCGTGT"\n-        \n-        lBioseq = [bioseq1, bioseq2]\n-        \n-        obsLength = BioseqUtils.getSeqLengthWithSeqName(lBioseq, "header3")\n-        expLength = 0\n-        \n-        self.assertEquals( expLength, obsLength)\n-        \n-        \n-    def test_getLengthPerSeqFromFile( self ):\n-        inFile = "dummyInFile"\n-        inFileHandler = open( inFile, "w" )\n-        inFileHandler.write( ">seq1\\nAGCGATGCAGCTA\\n" )\n-        inFileHandler.write( ">seq2\\nGCGATGCGCATCGACGCGA\\n" )\n-        inFileHandler.close()\n-        \n-        dExp = { "seq1": 13, "seq2": 19 }\n-        \n-        dObs = BioseqUtils.getLengthPerSeqFromFile( inFile )\n-        \n-        self.assertEqual( dExp, dObs )\n-        \n-        os.remove( inFile )\n-        \n-        \n-    def test_getBioseqListSortedByDecreasingLength( self ):\n-        lBioseqs = [ Bioseq( "TE2", "ACC" ),\n-                    Bioseq( "TE3", "TA" ),\n-                    Bioseq( "TE1", "AGCG" ) ]\n-        lExp = [ Bioseq( "TE1", "AGCG" ),\n-                Bioseq( "TE2", "ACC" ),\n-                Bioseq( "TE3", "TA" ) ]\n-        lObs = BioseqUtils.getBioseqListSortedByDecreasingLength( lBioseqs )\n-        self.assertEquals( lExp, lObs )\n-        \n-        \n-    def test_getBioseqListSortedByDecreasingLengthWithoutGaps( self ):\n-        lBioseqs = [ Bioseq( "TE2", "-ACC-" ),\n-                    Bioseq( "TE3", "TA---" ),\n-                    Bioseq( "TE1", "-AGCG" ) ]\n-        lExp = [ Bioseq( "TE1", "-AGCG" ),\n-                Bioseq( "TE2", "-ACC-" ),\n-                Bioseq( "TE3", "TA---" ) ]\n-        lObs = BioseqUtils.getBioseqListSortedByDecreasingLengthWithoutGaps( lBioseqs )\n-        self.assertEquals( lExp, lObs )\n-        \n-        \n-test_suite = unittest.TestSuite()\n-test_suite.addTest( unittest.makeSuite( Test_BioseqUtils ) )\n-if __name__ == "__main__":\n-    unittest.TextTestRunner(verbosity=2).run( test_suite )\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/seq/test/Test_FastaUtils.py
--- a/commons/core/seq/test/Test_FastaUtils.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,1694 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-from commons.core.seq.FastaUtils import FastaUtils\n-from commons.core.seq.test.Utils_for_T_FastaUtils import Utils_for_T_FastaUtils\n-from commons.core.utils.FileUtils import FileUtils\n-import glob\n-import os\n-import shutil\n-import unittest\n-\n-\n-class Test_FastaUtils( unittest.TestCase ):\n-    \n-        \n-    def test_dbSize_for_empty_file(self):\n-        fileName = "dummyFastaFile.fa"\n-        Utils_for_T_FastaUtils._createFastaFile_for_empty_file(fileName)\n-        \n-        obsNb = FastaUtils.dbSize( fileName )\n-        \n-        expNb = 0\n-        os.remove(fileName)\n-        self.assertEquals(expNb, obsNb)\n-        \n-        \n-    def test_dbSize_one_sequence(self):\n-        fileName = "dummyFastaFile.fa"\n-        Utils_for_T_FastaUtils._createFastaFile_one_sequence(fileName)\n-        \n-        obsNb = FastaUtils.dbSize( fileName )\n-        \n-        expNb = 1\n-        os.remove(fileName)\n-        self.assertEquals(expNb, obsNb)\n-        \n-        \n-    def test_dbSize_four_sequences(self):\n-        fileName = "dummyFastaFile.fa"\n-        Utils_for_T_FastaUtils._createFastaFile_four_sequences(fileName)\n-        \n-        obsNb = FastaUtils.dbSize( fileName )\n-        \n-        expNb = 4\n-        os.remove(fileName)\n-        self.assertEquals(expNb, obsNb)\n-        \n-        \n-    def test_dbChunks(self):\n-        inFileName = "dummyBigSeqFastaFile.fa"\n-        expChunksFileName = \'exp\' + inFileName +\'_chunks.fa\'\n-        expChunksMapFileName = \'exp\' + inFileName +\'_chunks.map\'\n-        expCutFileName = \'exp\' + inFileName +\'_cut\'\n-        expNStretchFileName = \'exp\' + inFileName +\'.Nstretch.map\'\n-        Utils_for_T_FastaUtils._createFastaFile_big_sequence(inFileName)\n-        Utils_for_T_FastaUtils._createFastaFile_of_Chunks(expChunksFileName)\n-        Utils_for_T_FastaUtils._createMapFile_of_Chunks(expChunksMapFileName)\n-        Utils_for_T_FastaUtils._createFastaFile_of_cut(expCutFileName)\n-        Utils_for_T_FastaUtils._createFastaFile_of_Nstretch(expNStretchFileName)\n-        \n-        FastaUtils.dbChunks(inFileName, \'60\', \'10\', \'11\', \'\', False, 0)\n-        \n-        obsChunksFileName = inFileName +\'_chunks.fa\'\n-        obsChunksMapFileName = inFileName +\'_chunks.map\'\n-        obsCutFileName = inFileName +\'_cut\'\n-        obsNStretchFileName = inFileName +\'.Nstretch.map\'\n-        \n-        self.assertTrue(FileUtils.are2'..b'")\n-            f.write("TTTCTTGCTCAGAGAGCCAACATATGGTACTTATTATTCATGCAATCTGACTTAAAAAAA\\n")\n-            f.write("TATAAACATTTAATAATTTTTTTTAGGAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\\n")\n-            f.write("NNATCAACTTTCCACCTGCAGTAGTGCTATTATTTTAACCGCAGCTGTATANN\\n")\n-            \n-        FastaUtils.writeNstreches(fileName, 0)\n-        obsFileName = "%s_Nstretches.map" % os.path.splitext(os.path.split(fileName)[1])[0]\n-        \n-        expFileName = "expNstretches.map"\n-        with open(expFileName, "w") as f:\n-            pass\n-        \n-        self.assertTrue(FileUtils.are2FilesIdentical(obsFileName, expFileName))\n-        \n-        os.remove(obsFileName)\n-        os.remove(expFileName)\n-        os.remove(fileName)\n-        \n-    def test_getNstreches_2_GFF(self):\n-        fileName = "dummy.fa"\n-        with open(fileName, "w") as f:\n-            f.write(">seq2\\n")\n-            f.write("NNNNxxNNnNTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTT\\n")\n-            f.write("AGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTT\\n")\n-            f.write("AGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTT\\n")\n-            f.write("AGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTT\\n")\n-            f.write("AGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTT\\n")\n-            f.write("AGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTT\\n")\n-            f.write("AGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGGTTAGGGTTAGGGTTAGGGTTAGGGT\\n")\n-            f.write("TAGGGCTAGGGTTAGGGGTTAGGGTTAGGGTTAGGCTTAGGGTTAGGGTTAGGGTTAGGG\\n")\n-            f.write("\\n")\n-            f.write("TTAGGGTTAGGGTTAGGGTTAGGAGTTAGGGTGTAGGGTTAGGGTTAGGGTTAGGGTTAG\\n")\n-            f.write("GGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAG\\n")\n-            f.write("GGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGCTAGGGTTAGGGTTAG\\n")\n-            f.write("GGTTAGGGTTAGGGTTAGGGTTAGGGTTAGGGTTAG\\n")\n-            f.write("\\n")\n-            f.write(">seq1\\n")\n-            f.write("AAGTTGGACATTGAGGGCTTTCTTCGCCGTGTTTCGTTCTTTTCGACAAACAGCAGTGCT\\n")\n-            f.write("TTGCGGATCATxxxxxxxxxxxxxxxTTTGTTTGAACAACCGACAATGCGACCAATTTCA\\n")\n-            f.write("GCGTAGGTTTTACCTTCAGAGATCACGTTTTTAATCAAATTTCTTTTTTCGACGGTACAA\\n")\n-            f.write("TGCTTTCCGCGACCCATGACTAGAGAATTTTTGGTCTTCGTTTGGAAAAAATTCAATTAA\\n")\n-            f.write("AACCTTTAATACAACTCCTTNNTTTTCAAAATTTTTCGAAAAAAACCCAAAGCAATCACT\\n")\n-            f.write("CCTATTAATTTTATTCAGCAAATACGTGTTCAGTGCTATTTTTGTNTACCGCCTCATTTC\\n")\n-            f.write("\\n")\n-            f.write("GCGCACTTTTGCAGCAAGTGCCCAAAAACAAAAAGAACCGTTACATTGAGAGACTAAAAA\\n")\n-            f.write("TTTCTTGCTCAGAGAGCCAACATATGGTACTTATTATTCATGCAATCTGACTTAAAAAAA\\n")\n-            f.write("TATAAACATTTAATAATTTTTTTTAGGAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN\\n")\n-            f.write("NNATCAACTTTCCACCTGCAGTAGTGCTATTATTTTAACCGCAGCTGTATAxx\\n")\n-            f.write("\\n")\n-            f.write("")\n-            \n-        FastaUtils.writeNstreches(fileName, 2, outFormat = "gff")\n-        obsFileName = "%s_Nstretches.gff3" % os.path.splitext(os.path.split(fileName)[1])[0]\n-        \n-        expFileName = "expNstretches.gff3"\n-        with open(expFileName, "w") as f:\n-            f.write("##gff-version 3\\n")\n-            f.write("seq1\\tFastaUtils\\tN_stretch\\t72\\t86\\t.\\t.\\t.\\tName=N_stretch_72-86\\n")\n-            f.write("seq1\\tFastaUtils\\tN_stretch\\t261\\t262\\t.\\t.\\t.\\tName=N_stretch_261-262\\n")\n-            f.write("seq1\\tFastaUtils\\tN_stretch\\t510\\t542\\t.\\t.\\t.\\tName=N_stretch_510-542\\n")\n-            f.write("seq1\\tFastaUtils\\tN_stretch\\t592\\t593\\t.\\t.\\t.\\tName=N_stretch_592-593\\n")\n-            f.write("seq2\\tFastaUtils\\tN_stretch\\t1\\t10\\t.\\t.\\t.\\tName=N_stretch_1-10\\n")\n-            \n-        self.assertTrue(FileUtils.are2FilesIdentical(obsFileName, expFileName))\n-        \n-        os.remove(obsFileName)\n-        os.remove(expFileName)\n-        os.remove(fileName)\n-            \n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/seq/test/Utils_for_T_FastaUtils.py
--- a/commons/core/seq/test/Utils_for_T_FastaUtils.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,857 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-class Utils_for_T_FastaUtils( object ):\n-    \n-    def _createFastaFile_for_empty_file(fileName):\n-        f = open(fileName, \'w\')\n-        f.write("")\n-        f.close()\n-        \n-    _createFastaFile_for_empty_file = staticmethod ( _createFastaFile_for_empty_file )\n-    \n-    \n-    def _createFastaFile_one_sequence(fileName):\n-        f = open(fileName, \'w\')\n-        f.write(">seq 1\\n")\n-        f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\\n")\n-        f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\\n")\n-        f.write("ATATTCG\\n")\n-        f.close()\n-        \n-    _createFastaFile_one_sequence = staticmethod ( _createFastaFile_one_sequence )\n-    \n-    \n-    def createFastaFile_twoSequences( fileName ):\n-        f = open( fileName, "w" )\n-        f.write( ">seq 1\\n" )\n-        f.write( "ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\\n" )\n-        f.write( "ATATTCG\\n" )\n-        f.write( ">seq 2\\n" )\n-        f.write( "ATATTCTTTCATCGATCGATCGGCGGCTATATGCTAGTGACGAAGCTAGTGTGAGTAGTA\\n" )\n-        f.write( "ATATTCG\\n" )\n-        f.close()\n-        \n-    createFastaFile_twoSequences = staticmethod ( createFastaFile_twoSequences )\n-    \n-    \n-    def createFastaFile_seq_1( fileName ):\n-        f = open( fileName, "w" )\n-        f.write( ">seq 1\\n" )\n-        f.write( "ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\\n" )\n-        f.write( "ATATTCG\\n" )\n-        f.close()\n-        \n-    createFastaFile_seq_1 = staticmethod( createFastaFile_seq_1 )\n-    \n-    \n-    def createFastaFile_seq_2( fileName ):\n-        f = open( fileName, "w" )\n-        f.write( ">seq 2\\n" )\n-        f.write( "ATATTCTTTCATCGATCGATCGGCGGCTATATGCTAGTGACGAAGCTAGTGTGAGTAGTA\\n" )\n-        f.write( "ATATTCG\\n" )\n-        f.close()\n-        \n-    createFastaFile_seq_2 = staticmethod( createFastaFile_seq_2 )\n-    \n-    \n-    def _createFastaFile_sequence_without_header(fileName):\n-        f = open(fileName, \'w\')\n-        f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\\n")\n-        f.write("ATATTCGCGCATCGATCGATCGGCGGCTATATGCTAGTCAGCTAGCTAGTGTGAGTAGTA\\n")\n-        f.write("ATATTCG\\n")\n-        f.close()\n-        \n-    _createFastaFile_sequence_without_header = staticmethod ( _createFastaFile_sequence_without_header )\n-    \n-        \n-    def _createFastaFile_four_sequences'..b'CCTCGATGAAATGGTCGCG\\n")\n-        f.write("CGCGTACGATAATGCGGGCCTGGCTCACGGATGCGCGCCTTTCCCTATCGTCAGTCACGC\\n")\n-        f.write("AAATGTAGGCTTCCATCTGGAACGCTGCTTGATGGCCTAAGAATGGGCCGTCACGGAACA\\n")\n-        f.write("GCTCACCGCCTGCAGACACGAACGGCCGTGGCGGTCATGGAAGGATCTGAACGTGTCGCC\\n")\n-        f.write("CCATACGATTGACGAAGAGATGTAAGCTCCCTTGGTA\\n")\n-        f.close()\n-    \n-    _createFastaFile_three_sequences_with_ORFs = staticmethod ( _createFastaFile_three_sequences_with_ORFs )\n-    \n-    \n-    def _createFastaFile_three_sequences_with_ORFs_expected(fileName):  \n-        f = open(fileName, \'w\') \n-        f.write("ORF|1|662\\tMivi_sl_Blaster_Grouper_1_Map_3\\t307\\t969\\n")\n-        f.write("ORF|-3|254\\tMivi_sl_Blaster_Grouper_1_Map_3\\t793\\t539\\n")\n-        f.write("ORF|2|197\\tMivi_sl_Blaster_Grouper_1_Map_3\\t356\\t553\\n")\n-        f.write("ORF|3|176\\tMivi_sl_Blaster_Grouper_1_Map_3\\t288\\t464\\n")\n-        f.write("ORF|-1|176\\tMivi_sl_Blaster_Grouper_1_Map_3\\t786\\t610\\n")\n-        f.write("ORF|3|143\\tMivi_sl_Blaster_Grouper_1_Map_3\\t672\\t815\\n")\n-        f.write("ORF|1|131\\tMivi_sl_Blaster_Grouper_1_Map_3\\t175\\t306\\n")\n-        f.write("ORF|-2|131\\tMivi_sl_Blaster_Grouper_1_Map_3\\t797\\t666\\n")\n-        f.write("ORF|2|128\\tMivi_sl_Blaster_Grouper_1_Map_3\\t167\\t295\\n")\n-        f.write("ORF|-2|119\\tMivi_sl_Blaster_Grouper_1_Map_3\\t242\\t123\\n")\n-        f.write("ORF|1|464\\tMivi_sl_Blaster_Grouper_2_Map_3\\t304\\t768\\n")\n-        f.write("ORF|3|305\\tMivi_sl_Blaster_Grouper_2_Map_3\\t669\\t974\\n")\n-        f.write("ORF|-3|251\\tMivi_sl_Blaster_Grouper_2_Map_3\\t1094\\t843\\n")\n-        f.write("ORF|-2|245\\tMivi_sl_Blaster_Grouper_2_Map_3\\t531\\t286\\n")\n-        f.write("ORF|-3|224\\tMivi_sl_Blaster_Grouper_2_Map_3\\t791\\t567\\n")\n-        f.write("ORF|-2|215\\tMivi_sl_Blaster_Grouper_2_Map_3\\t1098\\t883\\n")\n-        f.write("ORF|2|197\\tMivi_sl_Blaster_Grouper_2_Map_3\\t353\\t550\\n")\n-        f.write("ORF|3|173\\tMivi_sl_Blaster_Grouper_2_Map_3\\t288\\t461\\n")\n-        f.write("ORF|-1|173\\tMivi_sl_Blaster_Grouper_2_Map_3\\t1087\\t914\\n")\n-        f.write("ORF|-1|143\\tMivi_sl_Blaster_Grouper_2_Map_3\\t310\\t167\\n")\n-        f.write("ORF|3|626\\tMivi_sl_Blaster_Grouper_3_Map_3\\t141\\t767\\n")\n-        f.write("ORF|2|434\\tMivi_sl_Blaster_Grouper_3_Map_3\\t164\\t598\\n")\n-        f.write("ORF|3|365\\tMivi_sl_Blaster_Grouper_3_Map_3\\t768\\t1133\\n")\n-        f.write("ORF|-3|359\\tMivi_sl_Blaster_Grouper_3_Map_3\\t1514\\t1155\\n")\n-        f.write("ORF|-1|320\\tMivi_sl_Blaster_Grouper_3_Map_3\\t1879\\t1559\\n")\n-        f.write("ORF|3|272\\tMivi_sl_Blaster_Grouper_3_Map_3\\t1299\\t1571\\n")\n-        f.write("ORF|-2|248\\tMivi_sl_Blaster_Grouper_3_Map_3\\t1503\\t1255\\n")\n-        f.write("ORF|1|236\\tMivi_sl_Blaster_Grouper_3_Map_3\\t1576\\t1812\\n")\n-        f.write("ORF|-1|227\\tMivi_sl_Blaster_Grouper_3_Map_3\\t1423\\t1196\\n")\n-        f.write("ORF|-3|227\\tMivi_sl_Blaster_Grouper_3_Map_3\\t368\\t141\\n")\n-        f.close()\n-\n-    _createFastaFile_three_sequences_with_ORFs_expected = staticmethod ( _createFastaFile_three_sequences_with_ORFs_expected )\n-    \n-    \n-    def _createLinkFile_four_sequences_with_new_headers(fileName):\n-        f = open(fileName, \'w\')\n-        f.write("seq 1\\tReconCluster1Mb155 chunk183 {Fragment} 1..5506\\t1\\t127\\n")\n-        f.write("seq 2\\tMbQ3Gr2Cl0 chunk440 {Fragment} 2678..3645\\t1\\t307\\n")\n-        f.write("seq 3\\tMbS2Gr2Cl0 chunk622 {Fragment} 104..1078\\t1\\t427\\n")\n-        f.write("seq 4\\tPilerCluster3.574Mb796 chunk0117 {Fragment} 51582..50819\\t1\\t307\\n")\n-        \n-    _createLinkFile_four_sequences_with_new_headers = staticmethod ( _createLinkFile_four_sequences_with_new_headers )\n-    \n-    \n-    def _createLinkFile_four_sequences_same_headers(fileName):\n-        f = open(fileName, \'w\')\n-        f.write("seq 1\\tseq 1\\t1\\t127\\n")\n-        f.write("seq 2\\tseq 2\\t1\\t307\\n")\n-        f.write("seq 3\\tseq 3\\t1\\t427\\n")\n-        f.write("seq 4\\tseq 4\\t1\\t307\\n")\n-        \n-    _createLinkFile_four_sequences_same_headers = staticmethod ( _createLinkFile_four_sequences_same_headers )\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/utils/test/TestSuite_utils.py
--- a/commons/core/utils/test/TestSuite_utils.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,50 +0,0 @@
-#!/usr/bin/env python
-
-# Copyright INRA (Institut National de la Recherche Agronomique)
-# http://www.inra.fr
-# http://urgi.versailles.inra.fr
-#
-# This software is governed by the CeCILL license under French law and
-# abiding by the rules of distribution of free software.  You can  use, 
-# modify and/ or redistribute the software under the terms of the CeCILL
-# license as circulated by CEA, CNRS and INRIA at the following URL
-# "http://www.cecill.info". 
-#
-# As a counterpart to the access to the source code and  rights to copy,
-# modify and redistribute granted by the license, users are provided only
-# with a limited warranty  and the software's author,  the holder of the
-# economic rights,  and the successive licensors  have only  limited
-# liability. 
-#
-# In this respect, the user's attention is drawn to the risks associated
-# with loading,  using,  modifying and/or developing or reproducing the
-# software by the user in light of its specific status of free software,
-# that may mean  that it is complicated to manipulate,  and  that  also
-# therefore means  that it is reserved for developers  and  experienced
-# professionals having in-depth computer knowledge. Users are therefore
-# encouraged to load and test the software's suitability as regards their
-# requirements in conditions enabling the security of their systems and/or 
-# data to be ensured and,  more generally, to use and operate it in the 
-# same conditions as regards security. 
-#
-# The fact that you are presently reading this means that you have had
-# knowledge of the CeCILL license and that you accept its terms.
-
-
-import unittest
-import sys
-import Test_FileUtils
-
-
-def main():
-    
-    TestSuite_utils = unittest.TestSuite() 
-    
-    TestSuite_utils.addTest( unittest.makeSuite( Test_FileUtils.Test_FileUtils, "test" ) )
-    
-    runner = unittest.TextTestRunner(sys.stderr, 2, 2)
-    runner.run( TestSuite_utils )
-    
-    
-if __name__ == "__main__":
-    main()
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/utils/test/Test_FileUtils.py
--- a/commons/core/utils/test/Test_FileUtils.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,883 +0,0 @@\n-# Copyright INRA (Institut National de la Recherche Agronomique)\n-# http://www.inra.fr\n-# http://urgi.versailles.inra.fr\n-#\n-# This software is governed by the CeCILL license under French law and\n-# abiding by the rules of distribution of free software.  You can  use, \n-# modify and/ or redistribute the software under the terms of the CeCILL\n-# license as circulated by CEA, CNRS and INRIA at the following URL\n-# "http://www.cecill.info". \n-#\n-# As a counterpart to the access to the source code and  rights to copy,\n-# modify and redistribute granted by the license, users are provided only\n-# with a limited warranty  and the software\'s author,  the holder of the\n-# economic rights,  and the successive licensors  have only  limited\n-# liability. \n-#\n-# In this respect, the user\'s attention is drawn to the risks associated\n-# with loading,  using,  modifying and/or developing or reproducing the\n-# software by the user in light of its specific status of free software,\n-# that may mean  that it is complicated to manipulate,  and  that  also\n-# therefore means  that it is reserved for developers  and  experienced\n-# professionals having in-depth computer knowledge. Users are therefore\n-# encouraged to load and test the software\'s suitability as regards their\n-# requirements in conditions enabling the security of their systems and/or \n-# data to be ensured and,  more generally, to use and operate it in the \n-# same conditions as regards security. \n-#\n-# The fact that you are presently reading this means that you have had\n-# knowledge of the CeCILL license and that you accept its terms.\n-\n-\n-import os\n-import sys\n-import unittest\n-import time\n-import shutil\n-from commons.core.utils.FileUtils import FileUtils\n-\n-\n-class Test_FileUtils( unittest.TestCase ):\n-    \n-    def setUp( self ):\n-        self._uniqId = "%s_%s" % ( time.strftime("%Y%m%d%H%M%S"), os.getpid() )\n-        \n-    def tearDown( self ):\n-        self._uniqId = ""\n-        \n-    def test_getNbLinesInSingleFile_non_empty( self ):\n-        file = "dummyFile_%s" % ( self._uniqId )\n-        f = open( file, "w" )\n-        f.write( "line1\\n" )\n-        f.write( "line2\\n" )\n-        f.write( "line3" )\n-        f.close()\n-        exp = 3\n-        obs = FileUtils.getNbLinesInSingleFile( file )\n-        self.assertEquals( exp, obs )\n-        os.remove( file )\n-        \n-    def test_getNbLinesInSingleFile_non_empty_endEmptyLine( self ):\n-        file = "dummyFile_%s" % ( self._uniqId )\n-        f = open( file, "w" )\n-        f.write( "line1\\n" )\n-        f.write( "line2\\n" )\n-        f.write( "line3\\n" )\n-        f.write( "\\n" )\n-        f.close()\n-        exp = 3\n-        obs = FileUtils.getNbLinesInSingleFile( file )\n-        self.assertEquals( exp, obs )\n-        os.remove( file )\n-        \n-    def test_getNbLinesInSingleFile_empty( self ):\n-        file = "dummyFile_%s" % ( self._uniqId )\n-        os.system( "touch %s" % ( file ) )\n-        exp = 0\n-        obs = FileUtils.getNbLinesInSingleFile( file )\n-        self.assertEquals( exp, obs )\n-        os.remove( file )\n-        \n-    def test_getNbLinesInFileList_non_empty( self ):\n-        f = open("dummy1.txt", "w")\n-        f.write("line1\\n")\n-        f.write("line2\\n")\n-        f.write("line3")\n-        f.close()\n-        f = open("dummy2.txt", "w")\n-        f.write("line1\\n")\n-        f.write("line2\\n")\n-        f.write("line3")\n-        f.close()\n-        f = open("dummy3.txt", "w")\n-        f.write("line1\\n")\n-        f.write("line2\\n")\n-        f.write("line3")\n-        f.close()\n-        lFiles = [ "dummy1.txt", "dummy2.txt", "dummy3.txt" ]\n-        exp = 9\n-        obs = FileUtils.getNbLinesInFileList( lFiles )\n-        self.assertEqual( exp, obs )\n-        for f in lFiles:\n-            os.remove( f )\n-            \n-    def test_catFilesByPattern( self ):\n-        f = open("dummy1.txt", "w")\n-        f.write("line11\\n")\n-        f.write("line12\\n")\n-        f.write("line13")\n-        f.close()\n-    '..b'ead()\n-        \n-        self.assertEqual(exp1, obs1)\n-        self.assertFalse(FileUtils.isRessourceExists("dummy-2.txt"))\n-        FileUtils.removeFilesByPattern("dummy*")\n-            \n-    def test_splitFileAccordingToLineNumber_more_maxLines_than_lines(self):\n-        inputFile = "dummy.txt"\n-        obsFile1 = "dummy-1.txt"\n-        \n-        f = open(inputFile, "w")\n-        f.write("line1\\n")\n-        f.write("line2\\n")\n-        f.write("line3\\n")\n-        f.close()\n-\n-        exp1 = "line1\\nline2\\nline3\\n"\n-        \n-        FileUtils.splitFileAccordingToLineNumber(inputFile, 10)\n-        \n-        obs1 = open(obsFile1).read()\n-\n-        self.assertEqual(exp1, obs1)\n-        self.assertFalse(FileUtils.isRessourceExists("dummy-2.txt"))\n-        FileUtils.removeFilesByPattern("dummy*")\n-            \n-    def test_splitFileAccordingToLineNumber_empty_file(self):\n-        inputFile = "dummy.txt"\n-        obsFile1 = "dummy-1.txt"\n-\n-        os.system( "touch %s" % ( inputFile ) )\n-\n-        exp1 = ""\n-        \n-        FileUtils.splitFileAccordingToLineNumber(inputFile, 10)\n-        \n-        obs1 = open(obsFile1).read()\n-        \n-        self.assertEqual(exp1, obs1)\n-        self.assertFalse(FileUtils.isRessourceExists("dummy-2.txt"))\n-        FileUtils.removeFilesByPattern("dummy*")\n-            \n-    def test_splitFileAccordingToLineNumber_0_lines(self):\n-        inputFile = "dummy.txt"\n-        obsFile1 = "dummy-1.txt"\n-        \n-        f = open(inputFile, "w")\n-        f.write("line1\\n")\n-        f.write("line2\\n")\n-        f.write("line3\\n")\n-        f.close()\n-\n-        exp1 = "line1\\nline2\\nline3\\n"\n-        \n-        FileUtils.splitFileAccordingToLineNumber(inputFile, 0)\n-        \n-        obs1 = open(obsFile1).read()\n-        \n-        self.assertEqual(exp1, obs1)\n-        self.assertFalse(FileUtils.isRessourceExists("dummy-2.txt"))\n-        FileUtils.removeFilesByPattern("dummy*")\n-    \n-    def _writeFile( self, fileName ):\n-        inFile = open(fileName, \'w\')\n-        inFile.write(">Sequence_de_reference\\n")\n-        inFile.write("ATTTTGCAGTCTTATTCGAG-----GCCATTGCT\\n")\n-        inFile.write(">Lignee1_mismatch\\n")\n-        inFile.write("ATTTTGCAGACTTATTCGAG-----GCCATTGCT\\n")\n-        inFile.write(">Lignee2_insertion\\n")\n-        inFile.write("ATTTTGCAGTCTTATTCGAGATTACGCCATTGCT\\n")\n-        inFile.write(">Lignee3_deletion\\n")\n-        inFile.write("A---TGCAGTCTTATTCGAG-----GCCATTGCT\\n")\n-        inFile.close()      \n-        \n-    def _writeFileWithEmptyLine( self, fileName ):\n-        fileWithEmptyLine = open(fileName, \'w\')\n-        fileWithEmptyLine.write(">Sequence_de_reference\\n")\n-        fileWithEmptyLine.write("ATTTTGCAGTCTTATTCGAG-----GCCATTGCT\\n")\n-        fileWithEmptyLine.write("\\n\\n")\n-        fileWithEmptyLine.write(">Lignee1_mismatch\\n")\n-        fileWithEmptyLine.write("ATTTTGCAGACTTATTCGAG-----GCCATTGCT\\n")\n-        fileWithEmptyLine.write("\\n\\n")\n-        fileWithEmptyLine.write(">Lignee2_insertion\\n")\n-        fileWithEmptyLine.write("ATTTTGCAGTCTTATTCGAGATTACGCCATTGCT\\n")\n-        fileWithEmptyLine.write("\\n")\n-        fileWithEmptyLine.write(">Lignee3_deletion\\n")\n-        fileWithEmptyLine.write("A---TGCAGTCTTATTCGAG-----GCCATTGCT\\n")\n-        fileWithEmptyLine.close() \n-        \n-    def _writeFileWithRepeatedBlanks( self, fileName ):\n-        fileWithRepeatedBlanks = open(fileName, \'w\')\n-        fileWithRepeatedBlanks.write(">Sequ  ence_de     _reference\\n")\n-        fileWithRepeatedBlanks.write("ATTTT  GCAGTCTT TTCGAG-  ----GCCATT  GCT\\n")\n-        fileWithRepeatedBlanks.close() \n-        \n-    def _writeFileWithoutRepeatedBlanks( self, fileName ):\n-        fileWithoutRepeatedBlanks = open(fileName, \'w\')\n-        fileWithoutRepeatedBlanks.write(">Sequ ence_de _reference\\n")\n-        fileWithoutRepeatedBlanks.write("ATTTT GCAGTCTT TTCGAG- ----GCCATT GCT\\n")\n-        fileWithoutRepeatedBlanks.close()\n-        \n-if __name__ == "__main__":\n-    unittest.main()\n\\ No newline at end of file\n'
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/writer/test/Test_Gff3Writer.py
--- a/commons/core/writer/test/Test_Gff3Writer.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,101 +0,0 @@
-from commons.core.writer.Gff3Writer import Gff3Writer
-from SMART.Java.Python.structure.Transcript import Transcript
-from SMART.Java.Python.structure.Interval import Interval
-import unittest
-import os
-from SMART.Java.Python.misc import Utils
-
-class Test_Gff3Writer(unittest.TestCase):
-  
-    def test_writer(self):
-        obsFileName = "testGffWriter1.gff3"
-        writer = Gff3Writer(obsFileName)
-        
-        transcript = Transcript()
-        transcript.setName("test1.1")
-        transcript.setChromosome("arm_X")
-        transcript.setStart(1000)
-        transcript.setEnd(4000)
-        transcript.setDirection("+")
-        transcript.setTagValue("ID", "test1.1-1")
-        transcript.setTagValue("occurrence", 1)
-        transcript.setTagValue("nbOccurrences", 2)
-        
-        exon1 = Interval()
-        exon1.setChromosome("arm_X")
-        exon1.setStart(1000)
-        exon1.setEnd(2000)
-        exon1.setDirection("+")
-        
-        exon2 = Interval()
-        exon2.setChromosome("arm_X")
-        exon2.setStart(3000)
-        exon2.setEnd(4000)
-        exon2.setDirection("+")
-        
-        transcript.addExon(exon1)
-        transcript.addExon(exon2)
-        
-        writer.addTranscript(transcript)
-        writer.write()
-        writer.close()
-        
-        expFileName = "expFile.gff3"
-        f = open(expFileName, "w")
-        f.write("arm_X\tS-MART\ttranscript\t1000\t4000\t.\t+\t.\tnbOccurrences=2;ID=test1.1-1;occurrence=1;Name=test1.1\n")
-        f.write("arm_X\tS-MART\texon\t1000\t2000\t.\t+\t.\tID=test1.1-1-exon1;Name=test1.1-exon1;Parent=test1.1-1\n")
-        f.write("arm_X\tS-MART\texon\t3000\t4000\t.\t+\t.\tID=test1.1-1-exon2;Name=test1.1-exon2;Parent=test1.1-1\n")
-        f.close()
-        
-        self.assertTrue(Utils.diff(expFileName, obsFileName))
-        
-        os.remove(expFileName)
-        os.remove(obsFileName)
-        
-    def test_writerAltNames(self):
-        obsFileName = "testGffWriter1.gff3"
-        writer = Gff3Writer(obsFileName,title="ALTSOURCE", feature="Match", featurePart="Match-Part")
-        
-        transcript = Transcript()
-        transcript.setName("test1.1")
-        transcript.setChromosome("arm_X")
-        transcript.setStart(1000)
-        transcript.setEnd(4000)
-        transcript.setDirection("+")
-        transcript.setTagValue("ID", "test1.1-1")
-        transcript.setTagValue("occurrence", 1)
-        transcript.setTagValue("nbOccurrences", 2)
-        
-        exon1 = Interval()
-        exon1.setChromosome("arm_X")
-        exon1.setStart(1000)
-        exon1.setEnd(2000)
-        exon1.setDirection("+")
-        
-        exon2 = Interval()
-        exon2.setChromosome("arm_X")
-        exon2.setStart(3000)
-        exon2.setEnd(4000)
-        exon2.setDirection("+")
-        
-        transcript.addExon(exon1)
-        transcript.addExon(exon2)
-        
-        writer.addTranscript(transcript)
-        writer.write()
-        writer.close()
-        
-        expFileName = "expFile.gff3"
-        f = open(expFileName, "w")
-        f.write("arm_X\tALTSOURCE\tMatch\t1000\t4000\t.\t+\t.\tnbOccurrences=2;ID=test1.1-1;occurrence=1;Name=test1.1\n")
-        f.write("arm_X\tALTSOURCE\tMatch-Part\t1000\t2000\t.\t+\t.\tID=test1.1-1-Match-Part1;Name=test1.1-Match-Part1;Parent=test1.1-1\n")
-        f.write("arm_X\tALTSOURCE\tMatch-Part\t3000\t4000\t.\t+\t.\tID=test1.1-1-Match-Part2;Name=test1.1-Match-Part2;Parent=test1.1-1\n")
-        f.close()
-        
-        self.assertTrue(Utils.diff(expFileName, obsFileName))
-        
-        os.remove(expFileName)
-        os.remove(obsFileName)
-
-if __name__ == '__main__':
-    unittest.main()
b
diff -r 1e3f2c2657a3 -r 4541611db314 commons/core/writer/test/Test_MapWriter.py
--- a/commons/core/writer/test/Test_MapWriter.py Mon Apr 29 03:26:07 2013 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,61 +0,0 @@
-from SMART.Java.Python.structure.Transcript import Transcript
-from SMART.Java.Python.structure.Interval import Interval
-import unittest
-import os
-from SMART.Java.Python.misc import Utils
-from commons.core.writer.MapWriter import MapWriter
-from commons.core.utils.FileUtils import FileUtils
-
-class Test_MapWriter(unittest.TestCase):
-    
-    def setUp(self):
-        self.expFileName = "expMapWriter.map"
-        self.obsFileName = "testMapWriter1.map"
-        
-    def tearDown(self):
-        os.remove(self.expFileName)
-        os.remove(self.obsFileName)
-        
-    def test_writer(self):
-        self.write_ExpMapFileName()
-        writer = MapWriter(self.obsFileName)
-        
-        transcript = Transcript()
-        transcript.setName("test1.1")
-        transcript.setChromosome("arm_X")
-        transcript.setStart(1000)
-        transcript.setEnd(4000)
-        transcript.setDirection("+")
-        transcript.setTagValue("ID", "test1.1-1")
-        transcript.setTagValue("occurrence", 1)
-        transcript.setTagValue("nbOccurrences", 2)
-        
-        exon1 = Interval()
-        exon1.setChromosome("arm_X")
-        exon1.setStart(1000)
-        exon1.setEnd(2000)
-        exon1.setDirection("+")
-        
-        exon2 = Interval()
-        exon2.setChromosome("arm_X")
-        exon2.setStart(3000)
-        exon2.setEnd(4000)
-        exon2.setDirection("+")
-        
-        transcript.addExon(exon1)
-        transcript.addExon(exon2)
-        
-        writer.addTranscript(transcript)
-        writer.write()
-        writer.close()
-        
-        self.assertTrue(FileUtils.are2FilesIdentical(self.expFileName, self.obsFileName))
-        
-
-    def write_ExpMapFileName(self):
-        f = open(self.expFileName, "w")
-        f.write("test1.1\tarm_X\t1000\t4001\n")
-        f.close()
-
-if __name__ == '__main__':
-    unittest.main()