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
Branches
Tags
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