Skip to content
Snippets Groups Projects
Commit 249284b7 authored by Venkat Malladi's avatar Venkat Malladi
Browse files

Refactor code to have consistent use of arguments and referenceing pandas.

parent 648dc44d
1 merge request!12Resolve "Pool and Pseudoreplication"
...@@ -21,7 +21,7 @@ logger.setLevel(logging.INFO) ...@@ -21,7 +21,7 @@ logger.setLevel(logging.INFO)
def get_args(): def get_args():
'''Define arguments.''' '''Define arguments.'''
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description=__doc__, epilog=EPILOG, description=__doc__, epilog=EPILOG,
formatter_class=argparse.RawDescriptionHelpFormatter) formatter_class=argparse.RawDescriptionHelpFormatter)
...@@ -137,23 +137,26 @@ def check_files(design, fastq, paired): ...@@ -137,23 +137,26 @@ def check_files(design, fastq, paired):
def main(): def main():
args = get_args() args = get_args()
design = args.design
fastq = args.fastq
paired = args.paired
# Create a file handler # Create a file handler
handler = logging.FileHandler('design.log') handler = logging.FileHandler('design.log')
logger.addHandler(handler) logger.addHandler(handler)
# Read files # Read files as dataframes
design_file = pd.read_csv(args.design, sep='\t') design_df = pd.read_csv(args.design, sep='\t')
fastq_file = pd.read_csv(args.fastq, sep='\t', names=['name', 'path']) fastq_df = pd.read_csv(args.fastq, sep='\t', names=['name', 'path'])
# Check design file # Check design file
check_design_headers(design_file, args.paired) check_design_headers(design_df, paired)
check_controls(design_file) check_controls(design_df)
check_replicates(design_file) check_replicates(design_df)
new_design = check_files(design_file, fastq_file, args.paired) new_design_df = check_files(design_file, fastq_df, paired)
# Write out new design file # Write out new design file
new_design.to_csv('design.tsv', header=True, sep='\t', index=False) new_design_df.to_csv('design.tsv', header=True, sep='\t', index=False)
if __name__ == '__main__': if __name__ == '__main__':
......
...@@ -21,7 +21,7 @@ logger.setLevel(logging.INFO) ...@@ -21,7 +21,7 @@ logger.setLevel(logging.INFO)
def get_args(): def get_args():
'''Define arguments.''' '''Define arguments.'''
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description=__doc__, epilog=EPILOG, description=__doc__, epilog=EPILOG,
formatter_class=argparse.RawDescriptionHelpFormatter) formatter_class=argparse.RawDescriptionHelpFormatter)
...@@ -64,19 +64,20 @@ def make_experiment_design(design): ...@@ -64,19 +64,20 @@ def make_experiment_design(design):
def main(): def main():
args = get_args() args = get_args()
design = args.design
# Create a file handler # Create a file handler
handler = logging.FileHandler('experiment_generation.log') handler = logging.FileHandler('experiment_generation.log')
logger.addHandler(handler) logger.addHandler(handler)
# Read files # Read files as dataframes
design_file = pd.read_csv(args.design, sep='\t') design_df = pd.read_csv(design, sep='\t')
# Update design file for check_controls # Update design file for check_controls
new_design = update_controls(design_file) new_design_df = update_controls(design_df)
# write out experiment design files # write out experiment design files
make_experiment_design(new_design) make_experiment_design(new_design_df)
if __name__ == '__main__': if __name__ == '__main__':
......
...@@ -25,7 +25,7 @@ logger.setLevel(logging.INFO) ...@@ -25,7 +25,7 @@ logger.setLevel(logging.INFO)
def get_args(): def get_args():
'''Define arguments.''' '''Define arguments.'''
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description=__doc__, epilog=EPILOG, description=__doc__, epilog=EPILOG,
formatter_class=argparse.RawDescriptionHelpFormatter) formatter_class=argparse.RawDescriptionHelpFormatter)
...@@ -146,6 +146,7 @@ def check_enrichment(sample_id, control_id, sample_reads, control_reads): ...@@ -146,6 +146,7 @@ def check_enrichment(sample_id, control_id, sample_reads, control_reads):
def main(): def main():
args = get_args() args = get_args()
design = args.design
# Create a file handler # Create a file handler
handler = logging.FileHandler('experiment_qc.log') handler = logging.FileHandler('experiment_qc.log')
...@@ -155,18 +156,18 @@ def main(): ...@@ -155,18 +156,18 @@ def main():
check_tools() check_tools()
# Read files # Read files
design_file = pd.read_csv(args.design, sep='\t') design_df = pd.read_csv(design, sep='\t')
# Run correlation # Run correlation
mbs_filename = generate_read_summary(design_file) mbs_filename = generate_read_summary(design_df)
check_correlation(mbs_filename) check_correlation(mbs_filename)
# Run coverage # Run coverage
check_coverage(design_file) check_coverage(design_df)
# Run enrichment # Run enrichment
new_design = update_controls(design_file) new_design_df = update_controls(design_df)
for index, row in new_design.iterrows(): for index, row in new_design_df.iterrows():
check_enrichment( check_enrichment(
row['sample_id'], row['sample_id'],
row['control_id'], row['control_id'],
......
...@@ -22,7 +22,7 @@ logger.setLevel(logging.INFO) ...@@ -22,7 +22,7 @@ logger.setLevel(logging.INFO)
def get_args(): def get_args():
'''Define arguments.''' '''Define arguments.'''
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description=__doc__, epilog=EPILOG, description=__doc__, epilog=EPILOG,
formatter_class=argparse.RawDescriptionHelpFormatter) formatter_class=argparse.RawDescriptionHelpFormatter)
...@@ -81,6 +81,8 @@ def trim_reads(fastq, paired): ...@@ -81,6 +81,8 @@ def trim_reads(fastq, paired):
def main(): def main():
args = get_args() args = get_args()
fastq = args.fastq
paired = args.paired
# Create a file handler # Create a file handler
handler = logging.FileHandler('trim.log') handler = logging.FileHandler('trim.log')
...@@ -90,7 +92,7 @@ def main(): ...@@ -90,7 +92,7 @@ def main():
check_tools() check_tools()
# Run trim_reads # Run trim_reads
trim_reads(args.fastq, args.paired) trim_reads(fastq, paired)
if __name__ == '__main__': if __name__ == '__main__':
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment