Ejemplo n.º 1
0
 def test_correctmapping(self):
     runfile = Mock()
     d = date(2013, 05, 01)
     runfile.date = d
     runfile.regions = [1, 2]
     runfile.platform = 'Roche454'
     r1s1 = mock_sample('Sample1', 'RL1', 'pH1N1', 1, d)
     r1s2 = mock_sample('Sample2', 'RL2', 'pH1N1', 1, d)
     r2s1 = mock_sample('Sample1', 'RL1', 'pH1N1', 2, d)
     r2s2 = mock_sample('Sample2', 'RL2', 'pH1N1', 2, d)
     runfile.samples = [r1s1, r1s2, r2s1, r2s2]
     result = util.runfile_to_sfffile_mapping(runfile)
     mp = fixtures.MIDPREFIX
     expect = {
         1: {
             '454Reads.' + mp + 'RL1.sff':
             'Sample1__1__RL1__2013_05_01__pH1N1.sff',
             '454Reads.' + mp + 'RL2.sff':
             'Sample2__1__RL2__2013_05_01__pH1N1.sff'
         },
         2: {
             '454Reads.' + mp + 'RL1.sff':
             'Sample1__2__RL1__2013_05_01__pH1N1.sff',
             '454Reads.' + mp + 'RL2.sff':
             'Sample2__2__RL2__2013_05_01__pH1N1.sff'
         }
     }
     ere(expect, result)
Ejemplo n.º 2
0
 def test_ensureoutputdir(self):
     ''' Make sure output dir is created if it doesn't exist '''
     outdir = os.path.join(self.tempdir, 'test')
     results = demultiplex.demultiplex(self.fp, outdir, self.rf, self.mp,
                                       self.sffc)
     common.ere(True, os.path.isdir(outdir))
     common.ere(self.rdl, results)
Ejemplo n.º 3
0
 def test_missingfromrunfile( self ):
     ''' Make sure sff files in the directory that are not in runfile are ignored '''
     mock_d = {'1':['454Reads.'+fixtures.MIDPREFIX+'RL1.sff','454Reads.'+fixtures.MIDPREFIX+'IX1.sff']}
     self.make_ddir( mock_d )
     drds( self.tempdir, fixtures.RUNFILE_PATH )
     result = fixtures.mock_demultiplex_directory( self.tempdir )
     expect = {1:['Sample1__1__RL1__2013_05_01__pH1N1.sff','454Reads.'+fixtures.MIDPREFIX+'IX1.sff']}
     common.ere( expect[1], result[1] )
Ejemplo n.º 4
0
 def test_single_region_single(self):
     ''' Make sure a single region with single file works '''
     mock_d = {'1': ['454Reads.' + fixtures.MIDPREFIX + 'RL1.sff']}
     self.make_ddir(mock_d)
     drds(self.tempdir, fixtures.RUNFILE_PATH)
     expect = {1: ['Sample1__1__RL1__2013_05_01__pH1N1.sff']}
     result = fixtures.mock_demultiplex_directory(self.tempdir)
     common.ere(expect, result)
Ejemplo n.º 5
0
 def test_multi_region_all_empty(self):
     ''' Make sure multiple regions that are all empty work '''
     mock_d = {'1': [], '2': []}
     self.make_ddir(mock_d)
     drds(self.tempdir, fixtures.RUNFILE_PATH)
     result = fixtures.mock_demultiplex_directory(self.tempdir)
     expect = {1: [], 2: []}
     common.ere(expect, result)
Ejemplo n.º 6
0
 def test_multi_region_all_empty( self ):
     ''' Make sure multiple regions that are all empty work '''
     mock_d = {'1':[],'2':[]}
     self.make_ddir( mock_d )
     drds( self.tempdir, fixtures.RUNFILE_PATH )
     result = fixtures.mock_demultiplex_directory( self.tempdir )
     expect = {1:[],2:[]}
     common.ere( expect, result )
Ejemplo n.º 7
0
 def create_and_tst( self, func, sfflist, expectlist, createdir=None ):
     ''' Create files in sfflist and then test '''
     if createdir is None:
         createdir = self.tempdir
     for f in sfflist:
         create( f )
     sffs = func( createdir )
     ere( expectlist, sffs )
Ejemplo n.º 8
0
 def test_single_region_single( self ):
     ''' Make sure a single region with single file works '''
     mock_d = {'1':['454Reads.'+fixtures.MIDPREFIX+'RL1.sff']}
     self.make_ddir( mock_d )
     drds( self.tempdir, fixtures.RUNFILE_PATH )
     expect = {1:['Sample1__1__RL1__2013_05_01__pH1N1.sff']}
     result = fixtures.mock_demultiplex_directory( self.tempdir )
     common.ere( expect, result )
Ejemplo n.º 9
0
 def create_and_tst(self, func, sfflist, expectlist, createdir=None):
     ''' Create files in sfflist and then test '''
     if createdir is None:
         createdir = self.tempdir
     for f in sfflist:
         create(f)
     sffs = func(createdir)
     ere(expectlist, sffs)
Ejemplo n.º 10
0
 def test_multi_region_all_single( self ):
     ''' Make sure multiple regions that have single files work '''
     mp = fixtures.MIDPREFIX
     mock_d = {'1':['454Reads.'+mp+'RL1.sff'],'2':['454Reads.'+mp+'TI1.sff']}
     self.make_ddir( mock_d )
     drds( self.tempdir, fixtures.RUNFILE_PATH )
     result = fixtures.mock_demultiplex_directory( self.tempdir )
     expect = {1:['Sample1__1__RL1__2013_05_01__pH1N1.sff'],2:['Sample52__2__TI1__2013_05_01__Den4.sff']}
     common.ere( expect, result )
Ejemplo n.º 11
0
 def test_getall( self ):
     os.mkdir( 'files' )
     os.chdir( 'files' )
     fs = ('file1.txt','file2.txt')
     files = {f:os.path.abspath(f) for f in fs}
     # Touch all the files
     [open(f,'w').close() for f in files]
     ere( sorted(files.values()), sorted(util.get_all_( os.getcwd(), '*.txt' )) )
     # Make sure non current dir works
     os.chdir( self.tempdir )
     ere( sorted(files.values()), sorted(util.get_all_( 'files', '*.txt' )) )
Ejemplo n.º 12
0
 def test_getall(self):
     os.mkdir('files')
     os.chdir('files')
     fs = ('file1.txt', 'file2.txt')
     files = {f: os.path.abspath(f) for f in fs}
     # Touch all the files
     [open(f, 'w').close() for f in files]
     ere(sorted(files.values()), sorted(util.get_all_(os.getcwd(),
                                                      '*.txt')))
     # Make sure non current dir works
     os.chdir(self.tempdir)
     ere(sorted(files.values()), sorted(util.get_all_('files', '*.txt')))
Ejemplo n.º 13
0
 def test_mixed_files( self ):
     ''' Make sure all files in root are ignored '''
     ddir = 'demultiplex_by_region'
     expect = ['454Reads.'+fixtures.MIDPREFIX+'RL1.sff','ignore.me']
     os.mkdir( ddir )
     os.chdir( ddir )
     for f in expect:
         common.create( f )
     os.chdir( self.tempdir )
     drds( ddir, fixtures.RUNFILE_PATH )
     result = os.listdir( ddir )
     # Just ensure that the files in root didn't change
     common.ere( expect, result )
Ejemplo n.º 14
0
 def test_singleinputsff( self ):
     ''' Make sure single sff works '''
     multiplex_files = fixtures.multiplex_sffs().items()
     sfffile = multiplex_files[0][0]
     expect = os.path.join( self.tempdir, 'sff', sfffile )
     os.mkdir( 'sff' )
     # symlink in a fixture sff file
     os.symlink( multiplex_files[0][1], expect )
     outdir = os.path.join( self.tempdir, 'test' )
     results = demultiplex.demultiplex( 'sff', outdir, self.rf, self.mp, self.sffc )
     expected_dirs = [str(int(os.path.splitext(expect)[0][-2:]))]
     common.ere( expected_dirs, os.listdir( outdir ) )
     common.ere( {sfffile:self.rdl[sfffile]}, results )
Ejemplo n.º 15
0
 def test_mixed_files(self):
     ''' Make sure all files in root are ignored '''
     ddir = 'demultiplex_by_region'
     expect = ['454Reads.' + fixtures.MIDPREFIX + 'RL1.sff', 'ignore.me']
     os.mkdir(ddir)
     os.chdir(ddir)
     for f in expect:
         common.create(f)
     os.chdir(self.tempdir)
     drds(ddir, fixtures.RUNFILE_PATH)
     result = os.listdir(ddir)
     # Just ensure that the files in root didn't change
     common.ere(expect, result)
Ejemplo n.º 16
0
 def test_singleinputsff(self):
     ''' Make sure single sff works '''
     multiplex_files = fixtures.multiplex_sffs().items()
     sfffile = multiplex_files[0][0]
     expect = os.path.join(self.tempdir, 'sff', sfffile)
     os.mkdir('sff')
     # symlink in a fixture sff file
     os.symlink(multiplex_files[0][1], expect)
     outdir = os.path.join(self.tempdir, 'test')
     results = demultiplex.demultiplex('sff', outdir, self.rf, self.mp,
                                       self.sffc)
     expected_dirs = [str(int(os.path.splitext(expect)[0][-2:]))]
     common.ere(expected_dirs, os.listdir(outdir))
     common.ere({sfffile: self.rdl[sfffile]}, results)
Ejemplo n.º 17
0
 def test_multi_region_all_single(self):
     ''' Make sure multiple regions that have single files work '''
     mp = fixtures.MIDPREFIX
     mock_d = {
         '1': ['454Reads.' + mp + 'RL1.sff'],
         '2': ['454Reads.' + mp + 'TI1.sff']
     }
     self.make_ddir(mock_d)
     drds(self.tempdir, fixtures.RUNFILE_PATH)
     result = fixtures.mock_demultiplex_directory(self.tempdir)
     expect = {
         1: ['Sample1__1__RL1__2013_05_01__pH1N1.sff'],
         2: ['Sample52__2__TI1__2013_05_01__Den4.sff']
     }
     common.ere(expect, result)
Ejemplo n.º 18
0
 def test_correctmapping( self ):
     runfile = Mock()
     d = date( 2013, 05, 01 )
     runfile.date = d
     runfile.regions = [1,2]
     runfile.platform = 'Roche454'
     r1s1 = mock_sample( 'Sample1', 'RL1', 'pH1N1', 1, d )
     r1s2 = mock_sample( 'Sample2', 'RL2', 'pH1N1', 1, d )
     r2s1 = mock_sample( 'Sample1', 'RL1', 'pH1N1', 2, d )
     r2s2 = mock_sample( 'Sample2', 'RL2', 'pH1N1', 2, d )
     runfile.samples = [r1s1,r1s2,r2s1,r2s2]
     result = util.runfile_to_sfffile_mapping( runfile )
     mp = fixtures.MIDPREFIX
     expect = {1:{'454Reads.'+mp+'RL1.sff':'Sample1__1__RL1__2013_05_01__pH1N1.sff', '454Reads.'+mp+'RL2.sff':'Sample2__1__RL2__2013_05_01__pH1N1.sff'},2:{'454Reads.'+mp+'RL1.sff':'Sample1__2__RL1__2013_05_01__pH1N1.sff', '454Reads.'+mp+'RL2.sff':'Sample2__2__RL2__2013_05_01__pH1N1.sff'}}
     ere( expect, result )
Ejemplo n.º 19
0
 def test_missingfromrunfile(self):
     ''' Make sure sff files in the directory that are not in runfile are ignored '''
     mock_d = {
         '1': [
             '454Reads.' + fixtures.MIDPREFIX + 'RL1.sff',
             '454Reads.' + fixtures.MIDPREFIX + 'IX1.sff'
         ]
     }
     self.make_ddir(mock_d)
     drds(self.tempdir, fixtures.RUNFILE_PATH)
     result = fixtures.mock_demultiplex_directory(self.tempdir)
     expect = {
         1: [
             'Sample1__1__RL1__2013_05_01__pH1N1.sff',
             '454Reads.' + fixtures.MIDPREFIX + 'IX1.sff'
         ]
     }
     common.ere(expect[1], result[1])
Ejemplo n.º 20
0
 def test_outputdiraleady( self ):
     ''' Output directory already created '''
     outdir = self.tempdir
     results = demultiplex.demultiplex( self.fp, outdir, self.rf, self.mp, self.sffc )
     # Get region list
     expected_dirs = [str(int(os.path.splitext(n)[0][-2:])) for n in fixtures.multiplex_sffs()]
     # Ensure output directory created
     common.ere( True, os.path.isdir( outdir ) )
     # Ensure region directories
     common.ere( expected_dirs, os.listdir( outdir ) )
     # Ensure results are correct
     common.ere( self.rdl, results )
Ejemplo n.º 21
0
 def test_outputdiraleady(self):
     ''' Output directory already created '''
     outdir = self.tempdir
     results = demultiplex.demultiplex(self.fp, outdir, self.rf, self.mp,
                                       self.sffc)
     # Get region list
     expected_dirs = [
         str(int(os.path.splitext(n)[0][-2:]))
         for n in fixtures.multiplex_sffs()
     ]
     # Ensure output directory created
     common.ere(True, os.path.isdir(outdir))
     # Ensure region directories
     common.ere(expected_dirs, os.listdir(outdir))
     # Ensure results are correct
     common.ere(self.rdl, results)
Ejemplo n.º 22
0
 def test_getallblank(self):
     ere([], util.get_all_('.', '*'))
     open('file', 'w').close()
     ere([], util.get_all_('.', '*.txt'))
Ejemplo n.º 23
0
 def test_blanksffnooutput(self):
     ''' Make sure outputdir is not created if no sff files found '''
     outputdir = os.path.join(self.tempdir, 'emptydir')
     results = demultiplex.demultiplex(self.tempdir, outputdir, self.rf,
                                       self.mp, self.sffc)
     common.ere(False, os.path.isdir(outputdir))
Ejemplo n.º 24
0
 def test_blanksffnooutput( self ):
     ''' Make sure outputdir is not created if no sff files found '''
     outputdir = os.path.join( self.tempdir, 'emptydir' )
     results = demultiplex.demultiplex( self.tempdir, outputdir, self.rf, self.mp, self.sffc )
     common.ere( False, os.path.isdir( outputdir ) )
Ejemplo n.º 25
0
 def test_getallblank( self ):
     ere( [], util.get_all_( '.', '*' ) )
     open( 'file','w' ).close()
     ere( [], util.get_all_( '.', '*.txt' ) )
Ejemplo n.º 26
0
 def test_ensureoutputdir( self ):
     ''' Make sure output dir is created if it doesn't exist '''
     outdir = os.path.join( self.tempdir, 'test' )
     results = demultiplex.demultiplex( self.fp, outdir, self.rf, self.mp, self.sffc )
     common.ere( True, os.path.isdir( outdir ) )
     common.ere( self.rdl, results )
Ejemplo n.º 27
0
 def test_doesitwork( self ):
     lst = ['a1', 'a10', 'a01']
     expect = ['a1', 'a01', 'a10']
     result = demultiplex.sort_midlist( lst )
     common.ere( expect, result )
Ejemplo n.º 28
0
 def pathtest( self, path, t, expect ):
     print "Path: {}".format(path)
     print "Type: {}".format(t)
     result = util.is_valid_abs_path( path, t )
     ere( expect, result )
Ejemplo n.º 29
0
 def test_doesitwork(self):
     lst = ['a1', 'a10', 'a01']
     expect = ['a1', 'a01', 'a10']
     result = demultiplex.sort_midlist(lst)
     common.ere(expect, result)
Ejemplo n.º 30
0
 def pathtest(self, path, t, expect):
     print "Path: {}".format(path)
     print "Type: {}".format(t)
     result = util.is_valid_abs_path(path, t)
     ere(expect, result)