Skip to content

Commit 0c9a47a

Browse files
committed
Adding test with reverse linker primer
1 parent 14b0c49 commit 0c9a47a

File tree

3 files changed

+67
-2
lines changed

3 files changed

+67
-2
lines changed

qiita_db/metadata_template/prep_template.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ def create(cls, md_template, raw_data, study, data_type,
140140
"prep_template_id", (data_type_id, raw_data.id,
141141
investigation_type))[0]
142142

143-
cls._add_common_creation_steps_to_queue(md_template, prep_id,
143+
cls._add_commoneation_steps_to_queue(md_template, prep_id,
144144
conn_handler, queue_name)
145145

146146
try:
@@ -418,6 +418,7 @@ def create_qiime_mapping_file(self):
418418
rename_cols = {
419419
'barcode': 'BarcodeSequence',
420420
'primer': 'LinkerPrimerSequence',
421+
'reverselinkerprimer': 'ReverseLinkerPrimer',
421422
'description': 'Description',
422423
}
423424

qiita_ware/processing_pipeline.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,11 @@ def _get_qiime_minimal_mapping(prep_template, out_dir):
5656
index=qiime_map.index)
5757

5858
# We ensure the order of the columns as QIIME is expecting
59-
cols = ['BarcodeSequence', 'LinkerPrimerSequence', 'Description']
59+
if 'ReverseLinkerPrimer' in qiime_map:
60+
cols = ['BarcodeSequence', 'LinkerPrimerSequence',
61+
'ReverseLinkerPrimer', 'Description']
62+
else:
63+
cols = ['BarcodeSequence', 'LinkerPrimerSequence', 'Description']
6064

6165
path_builder = partial(join, out_dir)
6266
if 'run_prefix' in qiime_map:

qiita_ware/test/test_processing_pipeline.py

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,35 @@ def test_get_qiime_minimal_mapping_single_no_run_prefix(self):
8888
with open(exp_fps[0], "U") as f:
8989
self.assertEqual(f.read(), EXP_PREP)
9090

91+
def test_get_qiime_minimal_mapping_single_reverse_primer(self):
92+
conn_handler = SQLConnectionHandler()
93+
conn_handler
94+
sql = """INSERT INTO qiita.prep_columns
95+
(prep_template_id, column_name, column_type)
96+
VALUES (1, 'reverselinkerprimer', 'varchar');
97+
ALTER TABLE qiita.prep_1
98+
ADD COLUMN reverselinkerprimer varchar;
99+
DELETE FROM qiita.prep_columns
100+
WHERE prep_template_id = 1 AND column_name = 'run_prefix';
101+
ALTER TABLE qiita.prep_1 DROP COLUMN run_prefix;
102+
UPDATE qiita.prep_1 SET reverselinkerprimer = %s
103+
"""
104+
conn_handler.execute(sql, ('GTGCCAGCM',))
105+
prep_template = PrepTemplate(1)
106+
prep_template.generate_files()
107+
out_dir = mkdtemp()
108+
109+
obs_fps = _get_qiime_minimal_mapping(prep_template, out_dir)
110+
exp_fps = [join(out_dir, 'prep_1_MMF.txt')]
111+
112+
# Check that the returned list is as expected
113+
self.assertEqual(obs_fps, exp_fps)
114+
# Check that the file exists
115+
self.assertTrue(exists(exp_fps[0]))
116+
# Check the contents of the file
117+
with open(exp_fps[0], "U") as f:
118+
self.assertEqual(f.read(), EXP_PREP_RLP)
119+
91120
def test_get_qiime_minimal_mapping_multiple(self):
92121
# We need to create a prep template in which we have different run
93122
# prefix values, so we can test this case
@@ -521,6 +550,37 @@ def test_insert_processed_data_target_gene(self):
521550
"1.SKM8.640201\tCCGATGCCTTGA\tGTGCCAGCMGCCGCGGTAA\tQiita MMF\n"
522551
"1.SKM9.640192\tAGCAGGCACGAA\tGTGCCAGCMGCCGCGGTAA\tQiita MMF\n")
523552

553+
EXP_PREP_RLP = (
554+
"#SampleID\tBarcodeSequence\tLinkerPrimerSequence\tReverseLinkerPrimer"
555+
"\tDescription\n"
556+
"1.SKB1.640202\tGTCCGCAAGTTA\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
557+
"1.SKB2.640194\tCGTAGAGCTCTC\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
558+
"1.SKB3.640195\tCCTCTGAGAGCT\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
559+
"1.SKB4.640189\tCCTCGATGCAGT\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
560+
"1.SKB5.640181\tGCGGACTATTCA\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
561+
"1.SKB6.640176\tCGTGCACAATTG\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
562+
"1.SKB7.640196\tCGGCCTAAGTTC\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
563+
"1.SKB8.640193\tAGCGCTCACATC\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
564+
"1.SKB9.640200\tTGGTTATGGCAC\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
565+
"1.SKD1.640179\tCGAGGTTCTGAT\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
566+
"1.SKD2.640178\tAACTCCTGTGGA\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
567+
"1.SKD3.640198\tTAATGGTCGTAG\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
568+
"1.SKD4.640185\tTTGCACCGTCGA\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
569+
"1.SKD5.640186\tTGCTACAGACGT\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
570+
"1.SKD6.640190\tATGGCCTGACTA\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
571+
"1.SKD7.640191\tACGCACATACAA\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
572+
"1.SKD8.640184\tTGAGTGGTCTGT\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
573+
"1.SKD9.640182\tGATAGCACTCGT\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
574+
"1.SKM1.640183\tTAGCGCGAACTT\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
575+
"1.SKM2.640199\tCATACACGCACC\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
576+
"1.SKM3.640197\tACCTCAGTCAAG\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
577+
"1.SKM4.640180\tTCGACCAAACAC\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
578+
"1.SKM5.640177\tCCACCCAGTAAC\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
579+
"1.SKM6.640187\tATATCGCGATGA\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
580+
"1.SKM7.640188\tCGCCGGTAATCT\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
581+
"1.SKM8.640201\tCCGATGCCTTGA\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n"
582+
"1.SKM9.640192\tAGCAGGCACGAA\tGTGCCAGCMGCCGCGGTAA\tGTGCCAGCM\tQiita MMF\n")
583+
524584
EXP_PREP_1 = (
525585
"#SampleID\tBarcodeSequence\tLinkerPrimerSequence\tDescription\n"
526586
"1.SKB8.640193\tGTCCGCAAGTTA\tGTGCCAGCMGCCGCGGTAA\tQiita MMF\n"

0 commit comments

Comments
 (0)