3
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
1 import os
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
2 import shutil
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
3 import logging
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
4 import unittest
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
5 import tempfile
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
6
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
7 from riboplot import ribocore, riboplot
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
8
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
9 # use testing configuration
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
10 CONFIG = riboplot.CONFIG = riboplot.config.TestingConfig()
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
11 logging.disable(logging.CRITICAL)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
12
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
13 RIBO_FILE = os.path.join(CONFIG.DATA_DIR, '5hRPFsorted.bam')
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
14 RNA_FILE = os.path.join(CONFIG.DATA_DIR, '5hmRNAsorted.bam')
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
15 TRANSCRIPT_NAME = 'gi|148357119|ref|NM_001098396.1|'
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
16 TRANSCRIPTOME_FASTA = os.path.join(CONFIG.DATA_DIR, 'zebrafish.fna')
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
17 TRANSCRIPTOME_FASTA_MINUS1 = os.path.join(CONFIG.DATA_DIR, 'zebrafish_minus1.fna')
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
18
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
19
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
20 class CheckArgumentsTestCase(unittest.TestCase):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
21 """Check if all arguments sent on the command line are valid."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
22 parser = riboplot.create_parser()
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
23
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
24 def test_bedtools_missing(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
25 """If bedtools is not in PATH, raise an error."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
26 args = self.parser.parse_args(
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
27 ['-b', RIBO_FILE, '-f', TRANSCRIPTOME_FASTA, '-t', TRANSCRIPT_NAME, '-n', RNA_FILE])
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
28 save_path = os.environ['PATH']
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
29 os.environ['PATH'] = ''
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
30 self.assertRaises(OSError, ribocore.check_optional_arguments, args.ribo_file, args.rna_file)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
31 os.environ['PATH'] = save_path
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
32
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
33 def test_is_bam_valid(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
34 """Test if BAM file is valid."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
35 valid = ribocore.is_bam_valid(RIBO_FILE)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
36 self.assertTrue(valid)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
37
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
38 # test with a FASTA file (which is not BAM)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
39 self.assertRaises(ValueError, ribocore.is_bam_valid, TRANSCRIPTOME_FASTA)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
40
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
41 def test_bam_has_index(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
42 """Check if BAM file has an index."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
43 # RPF file has an index
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
44 has_index = ribocore.bam_has_index(RIBO_FILE)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
45 self.assertTrue(has_index)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
46
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
47 # RNA file doesn't have an index
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
48 has_index = ribocore.bam_has_index(RNA_FILE)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
49 self.assertFalse(has_index)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
50
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
51 def test_create_bam_index(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
52 """Index a BAM file."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
53 ribocore.create_bam_index(RNA_FILE)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
54
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
55 # check if index exists
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
56 has_index = ribocore.bam_has_index(RNA_FILE)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
57 self.assertTrue(has_index)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
58
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
59 # remove index
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
60 os.remove('{}.bai'.format(RNA_FILE))
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
61
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
62 def test_valid_read_length(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
63 """Read length should be a valid integer."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
64 args = self.parser.parse_args(['-b', RIBO_FILE, '-f', TRANSCRIPTOME_FASTA,
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
65 '-t', TRANSCRIPT_NAME, '-l', '28'])
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
66 ribocore.check_optional_arguments(ribo_file=args.ribo_file, read_length=args.read_length)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
67
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
68 def test_invalid_read_length(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
69 """An error is raised if an invalid read length is used."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
70 args = self.parser.parse_args(['-b', RIBO_FILE, '-f', TRANSCRIPTOME_FASTA, '-t', TRANSCRIPT_NAME,
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
71 '-l', '-1']) # invalid read length -1
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
72 self.assertRaises(ribocore.ArgumentError, ribocore.check_optional_arguments,
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
73 args.ribo_file, None, args.read_length)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
74
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
75 args = self.parser.parse_args(['-b', RIBO_FILE, '-f', TRANSCRIPTOME_FASTA, '-t', TRANSCRIPT_NAME,
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
76 '-l', '100']) # invalid read length 100
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
77 self.assertRaises(ribocore.ArgumentError, ribocore.check_optional_arguments,
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
78 args.ribo_file, None, args.read_length)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
79
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
80 def test_valid_read_offset(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
81 """Read offset should be positive."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
82 args = self.parser.parse_args(['-b', RIBO_FILE, '-f', TRANSCRIPTOME_FASTA, '-t', TRANSCRIPT_NAME,
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
83 '-s', '-1']) # invalid read offset -1
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
84 self.assertRaises(ribocore.ArgumentError, ribocore.check_optional_arguments,
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
85 args.ribo_file, None, None, args.read_offset)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
86
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
87 def test_is_fasta_valid(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
88 """A valid FASTA file can be opened with pysam.FastaFile."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
89 self.assertTrue(ribocore.is_fasta_valid(TRANSCRIPTOME_FASTA))
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
90
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
91 def test_missing_transcript_in_fasta(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
92 """If a transcript is missing in FASTA, an error is raised."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
93 args = self.parser.parse_args(['-b', RIBO_FILE, '-f', TRANSCRIPTOME_FASTA, '-t', TRANSCRIPT_NAME]) # invalid read offset -1
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
94 self.assertRaises(ribocore.ArgumentError, ribocore.check_required_arguments,
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
95 args.ribo_file, args.transcriptome_fasta, 'hello')
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
96
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
97 def test_missing_transcript_in_bam(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
98 """If a transcript is missing in BAM, an error is raised."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
99 # testing with an unrelated BAM file
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
100 args = self.parser.parse_args(['-b', '/home/vimal/tmp/empty_tp/RiboSeq.bam', '-f', TRANSCRIPTOME_FASTA,
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
101 '-t', TRANSCRIPT_NAME])
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
102 self.assertRaises(ribocore.ArgumentError, ribocore.check_required_arguments, args.ribo_file,
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
103 args.transcriptome_fasta, args.transcript_name)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
104
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
105
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
106 class RNACountsTestCase(unittest.TestCase):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
107
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
108 def test_get_rna_counts(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
109 """Test get RNA counts for transcript from RNA-Seq BAM file. Assumes bedtools is installed."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
110 counts = riboplot.get_rna_counts(RNA_FILE, TRANSCRIPT_NAME)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
111 self.assertIsInstance(counts, dict)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
112 self.assertTrue(len(counts) > 0)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
113
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
114
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
115 class RiboPlotTestCase(unittest.TestCase):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
116
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
117 def test_get_codon_positions(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
118 """Get codon positions in all frames given a sequence."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
119 # the positions on this sequence were calculated manually.
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
120 fasta = ('AACCGGAGCACCCAGAGAAAACCCACGCAAACGCAGGGAGAATTTGCAAACTCCACACA'
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
121 'GAAATGCCAGCTGATCCAGCCGAGCCTCGAGTCAGCATCCTTGCTTGTTGGATGCCTGA'
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
122 'TTGCAGTTCAACTCCAAACTCAGTTGGACCAGCTGATCAGTG')
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
123 codon_positions = riboplot.get_start_stops(fasta)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
124 expected = {1: {'starts': [], 'stops': []},
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
125 2: {'starts': [], 'stops': [71, 116, 152]},
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
126 3: {'starts': [63, 111], 'stops': []}}
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
127 self.assertEqual(codon_positions, expected)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
128
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
129 def test_valid_riboplot_run(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
130 """A good riboplot run"""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
131 output_dir = tempfile.mkdtemp()
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
132 print 'Output path is {}'.format(output_dir)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
133 parser = riboplot.create_parser()
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
134 args = parser.parse_args(['-b', RIBO_FILE, '-f', TRANSCRIPTOME_FASTA, '-t', TRANSCRIPT_NAME,
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
135 '-o', output_dir])
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
136 riboplot.main(args)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
137 for fname in ('riboplot.png', 'riboplot.svg', 'RiboCounts.csv'):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
138 self.assertTrue(os.path.exists(os.path.join(output_dir, fname)))
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
139 shutil.rmtree(output_dir)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
140
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
141 def test_transcript_with_no_counts(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
142 """If the transcript has no ribocounts, no plot should be produced."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
143 transcript = 'gi|62955616|ref|NM_001017822.1|' # has no reads
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
144 output_dir = tempfile.mkdtemp()
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
145 parser = riboplot.create_parser()
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
146 args = parser.parse_args(['-b', RIBO_FILE, '-f', TRANSCRIPTOME_FASTA, '-t', transcript, '-o', output_dir])
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
147 self.assertRaises(ribocore.RiboPlotError, riboplot.main, args)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
148 for fname in ('riboplot.png', 'riboplot.svg', 'RiboCounts.csv'):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
149 self.assertFalse(os.path.exists(os.path.join(output_dir, fname)))
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
150 shutil.rmtree(output_dir)
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
151
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
152 @unittest.skip('todo')
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
153 def test_get_ribo_counts(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
154 """Get RiboSeq read counts"""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
155 pass
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
156
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
157 @unittest.skip('todo')
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
158 def test_write_ribo_counts(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
159 """Write RiboSeq read counts as CSV."""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
160 pass
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
161
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
162 @unittest.skip('todo')
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
163 def test_plot_read_counts(self):
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
164 """Generate riboplots"""
|
Vimalkumar Velayudhan <vimal@biotechcoder.com>
parents:
diff
changeset
|
165 pass
|