def test_cs_in_bam(): b = BAM(sequana_data("test_CS_tiny.bam")) assert b.summary == { 'flags': {0: 2, 16: 2}, 'mapq': {60: 4}, 'mean_quality': 0.0, 'read_length': {1772: 1, 10779: 1, 13726: 1, 20480: 1}} df = b.get_df_concordance() import math assert math.floor(df.sum().sum()) == 103769 # exact is 103769.5600734975
def test_bam(tmpdir): datatest = sequana_data("test.bam", "testing") s = BAM(datatest) assert len(s) == 1000 assert s.is_sorted is True df = s.get_df_concordance() assert s.is_paired is True assert int(df.length.sum()) == 67938 assert int(df.M.sum()) == 67788 df = s.get_df() # call this here before other computations on purpose with TempFile(suffix=".json") as fh: s.bam_analysis_to_json(fh.name) assert s.get_read_names() s.get_mapped_read_length() s.get_stats() s.get_stats_full() s.get_samtools_stats_as_df() with TempFile() as fh: s.to_fastq(fh.name) from sequana import FastQ ff = FastQ(fh.name) len(ff) == len(s) # plotting with TempFile(suffix='.png') as fh: s.plot_bar_flags(filename=fh.name, logy=True) s.plot_bar_flags(filename=fh.name) with TempFile(suffix='.png') as fh: s.plot_bar_mapq(filename=fh.name) s.get_gc_content() s.get_length_count() s.plot_gc_content() s.boxplot_qualities() s.boxplot_qualities(max_sample=50) try: s.plot_gc_content(bins=[1, 2, 10]) assert False except: assert True
def test_bam(tmpdir): datatest = sequana_data("test.bam", "testing") s = BAM(datatest) assert len(s) == 1000 assert s.is_sorted is True df = s.get_df_concordance() assert s.is_paired is True assert int(df.length.sum()) == 67938 assert int(df.M.sum()) == 67788 # call this here before other computations on purpose with TempFile(suffix=".json") as fh: s.bam_analysis_to_json(fh.name) assert s.get_read_names() s.get_mapped_read_length() s.get_stats() s.get_full_stats_as_df() with TempFile() as fh: s.to_fastq(fh.name) from sequana import FastQ ff = FastQ(fh.name) len(ff) == len(s) # plotting with TempFile(suffix='.png') as fh: s.plot_bar_flags(filename=fh.name, logy=True) s.plot_bar_flags(filename=fh.name) with TempFile(suffix='.png') as fh: s.plot_bar_mapq(filename=fh.name) s.get_gc_content() s.get_length_count() s.plot_gc_content() s.boxplot_qualities() s.boxplot_qualities(max_sample=50) try: s.plot_gc_content(bins=[1,2,10]) assert False except: assert True
def test_cs_in_bam(): b = BAM(sequana_data("test_CS_tiny.bam")) assert b.summary == { 'flags': { 0: 2, 16: 2 }, 'mapq': { 60: 4 }, 'mean_quality': 0.0, 'read_length': { 1772: 1, 10779: 1, 13726: 1, 20480: 1 } } df = b.get_df_concordance() import math assert math.floor(df.sum().sum()) == 103813 # exact is 103769.5600734975