コード例 #1
0
def get_raw_reads(bamfile, regionstr=""):
    '''
   :param str bamfile: path to input file
   :param str regionstr: the seq id to select, followed by the region to look up, seperated by colon. i.e.:
   <refid>:1-1000
   :return a list of sequences from the output of `samtools view` 
   '''
    return list(subsamplebam.samview(bamfile, regionstr))
コード例 #2
0
def get_raw_reads(bamfile, regionstr=""): 
   '''
   :param str bamfile: path to input file
   :param str regionstr: the seq id to select, followed by the region to look up, seperated by colon. i.e.:
   <refid>:1-1000
   :return a list of sequences from the output of `samtools view` 
   '''
   return list(subsamplebam.samview(bamfile,  regionstr))
コード例 #3
0
    def test_samtools_returns_non0_raises_valueerror(self, mpopen, msys):
        mock_popen = mock.MagicMock()
        mock_popen.poll.return_value = 1
        mock_popen.stdout.readline.return_value = ''
        mock_popen.stdout.__iter__.return_value = []

        mpopen.return_value = mock_popen

        r = subsamplebam.samview('foo.bam', 'chr1:1-100')
        self.assertRaises(ValueError, next, r)
コード例 #4
0
    def test_samtools_returns_non0_raises_valueerror(self, mpopen, msys):
        mock_popen = mock.MagicMock()
        mock_popen.poll.return_value = 1
        mock_popen.stdout.readline.return_value = ''
        mock_popen.stdout.__iter__.return_value = []

        mpopen.return_value = mock_popen

        r = subsamplebam.samview('foo.bam', 'chr1:1-100')
        self.assertRaises(ValueError, next, r)
コード例 #5
0
    def test_0_line_samtools_view_no_error(self, mpopen, msys):
        mock_popen = mock.MagicMock()
        mock_popen.poll.return_value = 0
        mock_popen.stdout.readline.return_value = ''
        mock_popen.stdout.__iter__.return_value = []

        mpopen.return_value = mock_popen

        r = subsamplebam.samview('foo.bam', 'chr1:1-100')
        lines = list(r)
        self.assertEqual([''], lines)
コード例 #6
0
    def test_0_line_samtools_view_no_error(self, mpopen, msys):
        mock_popen = mock.MagicMock()
        mock_popen.poll.return_value = 0
        mock_popen.stdout.readline.return_value = ''
        mock_popen.stdout.__iter__.return_value = []

        mpopen.return_value = mock_popen

        r = subsamplebam.samview('foo.bam', 'chr1:1-100')
        lines = list(r)
        self.assertEqual([''], lines)
コード例 #7
0
    def test_returns_samtools_view_output_as_subprocess_stdout(self, mpopen, msys):
        samlines = ['line1', 'line2', 'line3']
        mock_popen = mock.MagicMock()
        mock_popen.poll.return_value = None
        mock_popen.stdout.readline.return_value = samlines[0]
        mock_popen.stdout.__iter__.return_value = samlines[1:]

        mpopen.return_value = mock_popen

        r = subsamplebam.samview('foo.bam', 'chr1:1-100')
        cmd = 'samtools view foo.bam chr1:1-100'
        for eline, rline in zip(samlines, r):
            self.assertEqual(eline, rline)
        mpopen.assert_called_once_with(cmd.split(), stdout=-1)
        msys.stderr.write.assert_called_with(cmd + '\n')
コード例 #8
0
    def test_returns_samtools_view_output_as_subprocess_stdout(
            self, mpopen, msys):
        samlines = ['line1', 'line2', 'line3']
        mock_popen = mock.MagicMock()
        mock_popen.poll.return_value = None
        mock_popen.stdout.readline.return_value = samlines[0]
        mock_popen.stdout.__iter__.return_value = samlines[1:]

        mpopen.return_value = mock_popen

        r = subsamplebam.samview('foo.bam', 'chr1:1-100')
        cmd = 'samtools view foo.bam chr1:1-100'
        for eline, rline in zip(samlines, r):
            self.assertEqual(eline, rline)
        mpopen.assert_called_once_with(cmd.split(), stdout=-1)
        msys.stderr.write.assert_called_with(cmd + '\n')