-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #18 from UMCUGenetics/develop
v1.2.0
- Loading branch information
Showing
14 changed files
with
251 additions
and
152 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,6 +2,7 @@ | |
|
||
import bioanalyzer | ||
import caliper | ||
import email | ||
import hamilton | ||
import illumina | ||
import labels | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
"""Export email functions.""" | ||
from genologics.entities import Process | ||
|
||
from .. import send_email | ||
|
||
|
||
def sequencing_run(lims, email_settings, process_id): | ||
process = Process(lims, id=process_id) | ||
artifact = process.all_inputs()[0] | ||
|
||
subject = "LIMS QC Controle - {0}".format(artifact.name) | ||
|
||
message = "Sequencing Run: {0}\n".format(artifact.name) | ||
message += "Date: {0}\n".format(process.date_run) | ||
message += "Technician: {0}\n".format(process.technician.name) | ||
message += "LIMS Next Action: {0}\n\n".format(process.step.actions.next_actions[0]['action']) | ||
|
||
message += "UDF - Conversie rapport OK?: {0}\n".format(process.udf['Conversie rapport OK?']) | ||
if 'Fouten registratie (uitleg)' in process.udf: | ||
message += "UDF - Fouten registratie (uitleg): {0}\n".format(process.udf['Fouten registratie (uitleg)']) | ||
if 'Fouten registratie (oorzaak)' in process.udf: | ||
message += "UDF - Fouten registratie (oorzaak): {0}\n".format(process.udf['Fouten registratie (uitleg)']) | ||
|
||
if process.step.actions.escalation: | ||
message += "\nManager Review LIMS:\n" | ||
message += "{0}: {1}\n".format(process.step.actions.escalation['author'].name, process.step.actions.escalation['request']) | ||
message += "{0}: {1}\n".format(process.step.actions.escalation['reviewer'].name, process.step.actions.escalation['answer']) | ||
|
||
send_email(email_settings['from'], email_settings['to_sequencing_run_complete'], subject, message) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,37 +1,39 @@ | ||
"""Export label functions.""" | ||
|
||
import re | ||
|
||
from genologics.entities import Process | ||
|
||
|
||
def container(lims, process_id, output_file, description): | ||
def container(lims, process_id, output_file, description=''): | ||
"""Generate container label file.""" | ||
process = Process(lims, id=process_id) | ||
for container in process.output_containers(): | ||
for index, container in enumerate(sorted(process.output_containers(), key=lambda container: container.id, reverse=True)): | ||
if description: | ||
output_file.write('{description} {container}\t{container}\r\n'.format(description=description, container=container.name)) | ||
if ',' in description: | ||
output_file.write('{description}\t{container}\r\n'.format(description=description.split(',')[index], container=container.name)) | ||
else: | ||
output_file.write('{description}\t{container}\r\n'.format(description=description, container=container.name)) | ||
else: | ||
output_file.write('{container}\r\n'.format(container=container.name)) | ||
|
||
|
||
def container_sample(lims, process_id, output_file): | ||
def container_sample(lims, process_id, output_file, description=''): | ||
"""Generate container & artifact name label file.""" | ||
process = Process(lims, id=process_id) | ||
for container in process.output_containers(): | ||
for artifact in container.placements.values(): | ||
output_file.write('{container}\t{sample}\r\n'.format(container=container.name, sample=artifact.name)) | ||
if description: | ||
output_file.write('{description}\t{sample}\t{container}\r\n'.format(description=description, container=container.name, sample=artifact.name)) | ||
else: | ||
output_file.write('{sample}\t{container}\r\n'.format(container=container.name, sample=artifact.name)) | ||
|
||
|
||
def storage_location(lims, process_id, output_file): | ||
"""Generate storage location label file.""" | ||
process = Process(lims, id=process_id) | ||
for artifact in process.all_outputs(): | ||
for artifact in process.analytes()[0]: | ||
storage_location = artifact.samples[0].udf['Dx Opslaglocatie'] | ||
m = re.search('\D+(\d+)\w+: (\d+)', storage_location) | ||
output_file.write('{sample}\t{storage_location}\t{tray}\t{tray_position}\n'.format( | ||
output_file.write('{sample}\t{storage_location}\t{birth_date}\n'.format( | ||
sample=artifact.samples[0].name, | ||
storage_location=storage_location, | ||
tray=m.group(1), | ||
tray_position=m.group(2) | ||
birth_date=artifact.samples[0].udf['Dx Geboortejaar'] | ||
)) |
Oops, something went wrong.