diff --git a/mutalyzer/Scheduler.py b/mutalyzer/Scheduler.py index f8d0dee86b886b52ee1fc3a712cc58ccac942028..e6f102d3e2b23dcd8b60bc7c17a6c7f03a196ad0 100644 --- a/mutalyzer/Scheduler.py +++ b/mutalyzer/Scheduler.py @@ -19,6 +19,7 @@ import os # os.path.exists import smtplib # smtplib.STMP from email.mime.text import MIMEText # MIMEText from sqlalchemy import func +from sqlalchemy.orm.exc import NoResultFound import mutalyzer from mutalyzer.config import settings @@ -557,7 +558,13 @@ Mutalyzer batch scheduler""" % url) if not skip : try : #process - assembly = Assembly.get(int(batch_job.argument)) + try: + assembly = Assembly.by_name_or_alias(batch_job.argument) + except NoResultFound: + O.addMessage(__file__, 3, 'ENOASSEMBLY', + 'Not a valid assembly: ' + str(batch_job.argument)) + raise + converter = Converter(assembly, O) #Also accept chr accNo diff --git a/tests/test_scheduler.py b/tests/test_scheduler.py index a722f331b4e4aa932d15d43e0f18a02f5a430922..fc5e4abe498469e83f4986b40fb68967fd165d86 100644 --- a/tests/test_scheduler.py +++ b/tests/test_scheduler.py @@ -17,7 +17,7 @@ from mutalyzer import File from mutalyzer import output from mutalyzer import Scheduler -from fixtures import database, cache +from fixtures import database, cache, hg19, hg19_transcript_mappings from utils import MutalyzerTest from utils import fix @@ -36,7 +36,7 @@ class TestScheduler(MutalyzerTest): batch_file = StringIO.StringIO('\n'.join(variants) + '\n') job, columns = file_instance.parseBatchFile(batch_file) result_id = scheduler.addJob('test@test.test', job, columns, - job_type) + job_type, argument=argument) batch_job = BatchJob.query.filter_by(result_id=result_id).one() @@ -229,3 +229,17 @@ class TestScheduler(MutalyzerTest): with patch.object(Entrez, 'efetch', mock_efetch): self._batch_job(variants, expected, 'name-checker') + + @fix(hg19, hg19_transcript_mappings) + def test_position_converter(self): + """ + Simple position converter batch job. + """ + variants = ['chr11:g.111959695G>T'] + expected = [['chr11:g.111959695G>T', + '', + 'NC_000011.9:g.111959695G>T', + 'NM_003002.2:c.274G>T', + 'NM_012459.2:c.-2203C>A', + 'NR_028383.1:n.-2173C>A']] + self._batch_job(variants, expected, 'position-converter', 'hg19')