Skip to content
Snippets Groups Projects
Commit 53667865 authored by Michael Sandholzer's avatar Michael Sandholzer
Browse files

deleted: ../dist/read_sequencer-0.0.0-py3-none-any.whl

	deleted:    ../dist/read_sequencer-0.0.0.tar.gz
	deleted:    ../dist/read_sequencer-0.1.0-py3-none-any.whl
	deleted:    ../dist/read_sequencer-0.1.0.tar.gz
	modified:   ../read_sequencer.egg-info/PKG-INFO
	modified:   cli.py
	modified:   modules.py
	modified:   ../setup.py
	../build/
	../dist/
parent 418c609e
No related branches found
No related tags found
1 merge request!19Package was Published and logger was implemented deleted: ../dist/read_sequencer-0.0.0-py3-none-any.whl
This commit is part of merge request !19. Comments created here will be created in the context of that merge request.
File deleted
File deleted
File deleted
File deleted
Metadata-Version: 2.1 Metadata-Version: 2.1
Name: read-sequencer Name: read-sequencer
Version: 0.1.0 Version: 0.1.1
Summary: Simulates sequencing with a specified read length from sequences specified by a FASTA file. Summary: Simulates sequencing with a specified read length from sequences specified by a FASTA file.
Home-page: https://git.scicore.unibas.ch/zavolan_group/tools/read-sequencer Home-page: https://git.scicore.unibas.ch/zavolan_group/tools/read-sequencer
Author: Clara Serger, Michael Sandholzer and Christoph Harmel Author: Clara Serger, Michael Sandholzer and Christoph Harmel
......
import argparse import argparse
from modules import read_sequencer as rs from modules import read_sequencer as rs
import logging
parser = argparse.ArgumentParser(prog='read_sequencer', parser = argparse.ArgumentParser(prog='read_sequencer',
description='Simulates sequencing of DNA sequences specified by an FASTA file.') description='Simulates sequencing of DNA sequences specified by an FASTA file.')
...@@ -14,10 +15,17 @@ parser.add_argument('--read_length', ...@@ -14,10 +15,17 @@ parser.add_argument('--read_length',
args = parser.parse_args() args = parser.parse_args()
def main(): def main():
LOG.info("Program started.")
read_sequencer = rs() read_sequencer = rs()
read_sequencer.read_fasta(args.input_file_path) read_sequencer.read_fasta(args.input_file_path)
read_sequencer.run_sequencing(args.read_length) read_sequencer.run_sequencing(args.read_length)
read_sequencer.write_fasta(args.output_file_path) read_sequencer.write_fasta(args.output_file_path)
LOG.info("Program finished.")
if __name__ == '__main__': if __name__ == '__main__':
logging.basicConfig(
format='[%(asctime)s: %(levelname)s] %(message)s (module "%(module)s")',
level=logging.INFO,
)
LOG = logging.getLogger(__name__)
main() main()
import logging
LOG = logging.getLogger(__name__)
def generate_sequences(n, mean, sd): def generate_sequences(n, mean, sd):
""" """
Generates random sequences. Generates random sequences.
...@@ -11,6 +14,7 @@ def generate_sequences(n, mean, sd): ...@@ -11,6 +14,7 @@ def generate_sequences(n, mean, sd):
list: of n sequences list: of n sequences
""" """
from random import gauss, choice from random import gauss, choice
LOG.info("Generating sequences.")
dict = {} dict = {}
for i in range(n): for i in range(n):
keys = range(n) keys = range(n)
...@@ -33,6 +37,7 @@ def read_in_fasta(file_path): ...@@ -33,6 +37,7 @@ def read_in_fasta(file_path):
Dict: It returns a dictionary with sequences. Dict: It returns a dictionary with sequences.
''' '''
LOG.info("Reading in FASTA files from destination.")
sequences = {} sequences = {}
f = open(file_path) f = open(file_path)
for line in f: for line in f:
...@@ -59,6 +64,7 @@ def read_sequence(seq, read_length): ...@@ -59,6 +64,7 @@ def read_sequence(seq, read_length):
str: returns sequenced element str: returns sequenced element
''' '''
LOG.info("Reading sequences.")
from random import choice from random import choice
bases = ["A", "T", "C", "G"] bases = ["A", "T", "C", "G"]
sequenced = '' sequenced = ''
...@@ -84,6 +90,7 @@ def simulate_sequencing(sequences, read_length): ...@@ -84,6 +90,7 @@ def simulate_sequencing(sequences, read_length):
Returns: Returns:
dict: of n sequences as values dict: of n sequences as values
""" """
LOG.info("Sequencing in progress....")
results = {} results = {}
for index, key in enumerate(sequences): for index, key in enumerate(sequences):
results[key] = read_sequence(sequences[key], read_length=read_length) results[key] = read_sequence(sequences[key], read_length=read_length)
...@@ -103,6 +110,7 @@ def generate_sequences(n, mean, sd): ...@@ -103,6 +110,7 @@ def generate_sequences(n, mean, sd):
Returns: Returns:
dict: of n sequences dict: of n sequences
""" """
LOG.info("Generating random sequences.")
dict1 = {} dict1 = {}
for i in range(n): for i in range(n):
keys = range(n) keys = range(n)
...@@ -123,13 +131,14 @@ def write_fasta(sequences, file_path): ...@@ -123,13 +131,14 @@ def write_fasta(sequences, file_path):
file_path (str): A file path directing to the output folder. file_path (str): A file path directing to the output folder.
""" """
LOG.info("Writing FASTA file.")
from textwrap import wrap from textwrap import wrap
with open(file_path, "w") as outfile: with open(file_path, "w") as outfile:
for key, value in sequences.items(): for key, value in sequences.items():
outfile.write(key + "\n") outfile.write(key + "\n")
outfile.write("\n".join(wrap(value, 60))) outfile.write("\n".join(wrap(value, 60)))
outfile.write("\n") outfile.write("\n")
LOG.info("Sequencing was successfully executed.")
class read_sequencer: class read_sequencer:
def __init__(self): def __init__(self):
self.sequences = {} self.sequences = {}
......
...@@ -2,13 +2,13 @@ from setuptools import setup, find_packages ...@@ -2,13 +2,13 @@ from setuptools import setup, find_packages
setup( setup(
name='read_sequencer', name='read_sequencer',
version='0.1.0', version='0.1.1',
url='https://git.scicore.unibas.ch/zavolan_group/tools/read-sequencer', url='https://git.scicore.unibas.ch/zavolan_group/tools/read-sequencer',
license='MIT', license='MIT',
author='Clara Serger, Michael Sandholzer and Christoph Harmel', author='Clara Serger, Michael Sandholzer and Christoph Harmel',
author_email='christoph.harmel@unibas.ch', author_email='christoph.harmel@unibas.ch',
description='Simulates sequencing with a specified read length from sequences specified by a FASTA file.', description='Simulates sequencing with a specified read length from sequences specified by a FASTA file.',
packages=find_packages(), packages=find_packages(),
install_requires=['random','textwrap','argparse'], install_requires=['random','textwrap','argparse','logging'],
entry_points={'console_scripts': ['read_sequencer=read_sequencer_package.cli:main']} entry_points={'console_scripts': ['read_sequencer=read_sequencer_package.cli:main']}
) )
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment