[med-svn] [fastaq] 01/04: Imported Upstream version 3.7.0

Sascha Steinbiss sascha-guest at moszumanska.debian.org
Wed Sep 9 18:59:31 UTC 2015


This is an automated email from the git hooks/post-receive script.

sascha-guest pushed a commit to branch master
in repository fastaq.

commit 37b9b951358c9bb13e961c6c7c260d564b9158f6
Author: Sascha Steinbiss <sascha at steinbiss.name>
Date:   Wed Sep 9 18:53:07 2015 +0000

    Imported Upstream version 3.7.0
---
 README.md                                               |  5 +----
 pyfastaq/common.py                                      |  2 +-
 pyfastaq/runners/to_boulderio.py                        | 12 ++++++++++++
 pyfastaq/tasks.py                                       | 13 +++++++++++++
 pyfastaq/tests/data/tasks_test_to_boulderio.in.fa       |  5 +++++
 pyfastaq/tests/data/tasks_test_to_boulderio.out.boulder |  6 ++++++
 pyfastaq/tests/tasks_test.py                            |  9 +++++++++
 scripts/fastaq                                          |  1 +
 setup.py                                                |  2 +-
 9 files changed, 49 insertions(+), 6 deletions(-)

diff --git a/README.md b/README.md
index 9e939f4..af92b95 100644
--- a/README.md
+++ b/README.md
@@ -6,10 +6,7 @@ Python3 script to manipulate FASTA and FASTQ (and other format) files, plus API
 Installation
 ------------
 
-Dependencies:
-  * numpy (install with `apt-get install python3-numpy`)
-
-Install with pip:
+Install with pip3:
 
     pip3 install pyfastaq
 
diff --git a/pyfastaq/common.py b/pyfastaq/common.py
index f157366..cef5770 100644
--- a/pyfastaq/common.py
+++ b/pyfastaq/common.py
@@ -1 +1 @@
-version = '3.6.1'
+version = '3.7.0'
diff --git a/pyfastaq/runners/to_boulderio.py b/pyfastaq/runners/to_boulderio.py
new file mode 100644
index 0000000..cdb9f78
--- /dev/null
+++ b/pyfastaq/runners/to_boulderio.py
@@ -0,0 +1,12 @@
+import argparse
+from pyfastaq import tasks
+
+def run(description):
+    parser = argparse.ArgumentParser(
+        description = 'Converts input sequence file into "Boulder-IO" format, which is used by primer3',
+        usage = 'fastaq to_boulderio <infile> <outfile>')
+    parser.add_argument('infile', help='Name of input file')
+    parser.add_argument('outfile', help='Name of output files')
+    options = parser.parse_args()
+    tasks.to_boulderio(options.infile, options.outfile)
+
diff --git a/pyfastaq/tasks.py b/pyfastaq/tasks.py
index e77e40e..4199a9e 100644
--- a/pyfastaq/tasks.py
+++ b/pyfastaq/tasks.py
@@ -821,6 +821,19 @@ def strip_illumina_suffix(infile, outfile):
     utils.close(f_out)
 
 
+def to_boulderio(infile, outfile):
+    '''Converts input sequence file into a "Boulder-IO format", as used by primer3'''
+    seq_reader = sequences.file_reader(infile)
+    f_out = utils.open_file_write(outfile)
+
+    for sequence in seq_reader:
+        print("SEQUENCE_ID=" + sequence.id, file=f_out)
+        print("SEQUENCE_TEMPLATE=" + sequence.seq, file=f_out)
+        print("=", file=f_out)
+
+    utils.close(f_out)
+
+
 def to_fasta(infile, outfile, line_length=60, strip_after_first_whitespace=False, check_unique=False):
     seq_reader = sequences.file_reader(infile)
     f_out = utils.open_file_write(outfile)
diff --git a/pyfastaq/tests/data/tasks_test_to_boulderio.in.fa b/pyfastaq/tests/data/tasks_test_to_boulderio.in.fa
new file mode 100644
index 0000000..15f4bf0
--- /dev/null
+++ b/pyfastaq/tests/data/tasks_test_to_boulderio.in.fa
@@ -0,0 +1,5 @@
+>one
+ACGTCAGCTCTGATCGACTGATGCACTAATCATATCTCGATCGATCGATCTGACTGACT
+CAGACCTCATACTACTTGCTGATAAT
+>two
+TGCA
diff --git a/pyfastaq/tests/data/tasks_test_to_boulderio.out.boulder b/pyfastaq/tests/data/tasks_test_to_boulderio.out.boulder
new file mode 100644
index 0000000..e5f404b
--- /dev/null
+++ b/pyfastaq/tests/data/tasks_test_to_boulderio.out.boulder
@@ -0,0 +1,6 @@
+SEQUENCE_ID=one
+SEQUENCE_TEMPLATE=ACGTCAGCTCTGATCGACTGATGCACTAATCATATCTCGATCGATCGATCTGACTGACTCAGACCTCATACTACTTGCTGATAAT
+=
+SEQUENCE_ID=two
+SEQUENCE_TEMPLATE=TGCA
+=
diff --git a/pyfastaq/tests/tasks_test.py b/pyfastaq/tests/tasks_test.py
index 12a9870..db367f2 100644
--- a/pyfastaq/tests/tasks_test.py
+++ b/pyfastaq/tests/tasks_test.py
@@ -589,6 +589,15 @@ class TestStripIlluminaSuffix(unittest.TestCase):
         os.unlink(tmpfile)
 
 
+class TestToBoulderio(unittest.TestCase):
+    def test_to_boulderio(self):
+        '''Test task to_boulderio'''
+        tmpfile = 'tmp.boulder'
+        tasks.to_boulderio(os.path.join(data_dir, 'tasks_test_to_boulderio.in.fa'), tmpfile)
+        self.assertTrue(filecmp.cmp(os.path.join(data_dir, 'tasks_test_to_boulderio.out.boulder'), tmpfile, shallow=False))
+        os.unlink(tmpfile)
+
+
 class TestToFasta(unittest.TestCase):
     def test_to_fasta(self):
         '''Test to_fasta'''
diff --git a/scripts/fastaq b/scripts/fastaq
index 9537f75..3198b2d 100755
--- a/scripts/fastaq
+++ b/scripts/fastaq
@@ -28,6 +28,7 @@ tasks = {
     'split_by_base_count':    'Split multi sequence file into separate files',
     'sort_by_size':           'Sorts sequences in length order',
     'strip_illumina_suffix':  'Strips /1 or /2 off the end of every read name',
+    'to_boulderio':           'Converts to Boulder-IO format, used by primer3',
     'to_fasta':               'Converts a variety of input formats to nicely formatted FASTA format',
     'to_fake_qual':           'Make fake quality scores file',
     'to_mira_xml':            'Create an xml file from a file of reads, for use with Mira assembler',
diff --git a/setup.py b/setup.py
index 9c355f2..23a26e6 100644
--- a/setup.py
+++ b/setup.py
@@ -4,7 +4,7 @@ from setuptools import setup, find_packages
 
 setup(
     name='pyfastaq',
-    version='3.6.1',
+    version='3.7.0',
     description='Script to manipulate FASTA and FASTQ files, plus API for developers',
     packages = find_packages(),
     author='Martin Hunt',

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/fastaq.git



More information about the debian-med-commit mailing list