Skip to content
Snippets Groups Projects

Resolve "Use SampleIds/ Experiment Id as file names throughtout pipeline"

Merged Venkat Malladi requested to merge 23-rename_output into master
Viewing commit b1c3fb87
Show latest version
2 files
+ 75
1
Preferences
File browser
Compare changes
@@ -5,6 +5,7 @@
@@ -5,6 +5,7 @@
import argparse
import argparse
import logging
import logging
import pandas as pd
import pandas as pd
 
import re
EPILOG = '''
EPILOG = '''
For more details:
For more details:
@@ -72,6 +73,46 @@ def check_design_headers(design, paired):
@@ -72,6 +73,46 @@ def check_design_headers(design, paired):
raise Exception("Missing column headers: %s" % list(missing_headers))
raise Exception("Missing column headers: %s" % list(missing_headers))
 
def check_samples(design):
 
'''Check if design file has the correct sample name mapping.'''
 
 
logger.info("Running sample check.")
 
 
samples = design.groupby('sample_id') \
 
.apply(list)
 
 
malformated_samples = []
 
chars = set('-.')
 
for sample in samples.index.values:
 
if ( any(char.isspace() for char in sample) | any((char in chars) for char in sample) ):
 
malformated_samples.append(sample)
 
 
if len(malformated_samples) > 0:
 
logger.error('Malformed samples from design file: %s', list(malformated_samples))
 
raise Exception("Malformed samples from design file: %s" %
 
list(malformated_samples))
 
 
 
def check_experiments(design):
 
'''Check if design file has the correct experiment name mapping.'''
 
 
logger.info("Running experiment check.")
 
 
experiments = design.groupby('experiment_id') \
 
.apply(list)
 
 
malformated_experiments = []
 
chars = set('-.')
 
for experiment in experiments.index.values:
 
if ( any(char.isspace() for char in experiment) | any((char in chars) for char in experiment) ):
 
malformated_experiments.append(experiment)
 
 
if len(malformated_experiments) > 0:
 
logger.error('Malformed experiment from design file: %s', list(malformated_experiments))
 
raise Exception("Malformed experiment from design file: %s" %
 
list(malformated_experiments))
 
 
def check_controls(design):
def check_controls(design):
'''Check if design file has the correct control mapping.'''
'''Check if design file has the correct control mapping.'''