Mercurial > repos > rplanel > sequence_splitter
annotate sequence-splitter.py @ 2:6dd4f53b9964 draft default tip
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 98f957247a46eabf7e561bd94328b6a03a4d73b9"
author | rplanel |
---|---|
date | Sat, 21 Nov 2020 08:50:21 +0000 |
parents | 7b509a1801e4 |
children |
rev | line source |
---|---|
2
6dd4f53b9964
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 98f957247a46eabf7e561bd94328b6a03a4d73b9"
rplanel
parents:
1
diff
changeset
|
1 #!/usr/bin/env python3 |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
2 # coding: utf-8 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
3 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
4 import argparse |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
5 import logging |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
6 import os |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
7 from itertools import chain, islice, tee |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
8 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
9 # BioPython |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
10 from Bio import SeqIO |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
11 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
12 logging.basicConfig( |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
13 level=logging.INFO, format="%(asctime)s : %(levelname)s : %(message)s" |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
14 ) |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
15 logger = logging.getLogger() |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
16 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
17 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
18 def main(): |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
19 args = parse_arguments() |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
20 # extract the basename and the file extension |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
21 basename, file_extension = os.path.splitext(args.sequences) |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
22 # extract the filename (with no extension) |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
23 _, filename = os.path.split(basename) |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
24 chunk_size = args.chunk_size |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
25 # split the sequences in chunks |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
26 if chunk_size: |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
27 logger.info( |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
28 "%s = %s", "Number of sequences per chunk parameter", chunk_size) |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
29 sequences_record = gen_sequence_record(args.sequences, args.format) |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
30 chunks = gen_chunks_of_size(sequences_record, chunk_size) |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
31 else: |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
32 logger.info("%s = %s", "number of chunks parameter", args.nb_chunk) |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
33 chunks = gen_chunks(args.sequences, args.format, args.nb_chunk) |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
34 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
35 # Write the chunks in numbered files. |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
36 write_chunks(chunks, args.output, filename, file_extension, args.format) |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
37 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
38 |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
39 def gen_chunks(sequences_path, sequences_format, nb_chunk): |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
40 """[summary] |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
41 Split sequences to have a number of chunks defined by nb_chunks |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
42 Arguments: |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
43 sequences_path {[type]} -- Path to the sequence file |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
44 sequences_format {[type]} -- Format the sequence |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
45 nb_chunk {int} -- Number of chunks we want to obtain |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
46 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
47 Returns: |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
48 [type] -- [description] |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
49 """ |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
50 # First record to count the sequences |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
51 sequences_record_to_count = gen_sequence_record( |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
52 sequences_path, sequences_format) |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
53 # Get the number of sequences |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
54 nb_sequences = get_nb_sequences(sequences_record_to_count) |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
55 logger.info("%s = %i", "Number of sequences total", nb_sequences) |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
56 # Second record to that will be splitted |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
57 sequences_to_split = gen_sequence_record(sequences_path, sequences_format) |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
58 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
59 # Get the size of the chunks |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
60 chunk_size = int(nb_sequences / nb_chunk) if nb_sequences > nb_chunk else 1 |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
61 return gen_chunks_of_size( |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
62 sequences_to_split, |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
63 chunk_size, |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
64 nb_chunk, |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
65 nb_sequences |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
66 ) |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
67 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
68 |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
69 def gen_chunks_of_size( |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
70 iterable, size=10, |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
71 limit_nb_chunk=None, |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
72 nb_sequences=None |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
73 ): |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
74 """[summary] |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
75 Split sequences by size |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
76 Arguments: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
77 iterable {[type]} -- [description] |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
78 |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
79 Keyword Arguments: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
80 size {int} -- [description] (default: {10}) |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
81 """ |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
82 iterator = iter(iterable) |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
83 if limit_nb_chunk is not None and nb_sequences is not None: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
84 nb_chunk_left = limit_nb_chunk |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
85 nb_sequences_left = nb_sequences |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
86 for first in iterator: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
87 if (size + 1) * nb_chunk_left > nb_sequences_left: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
88 nb_sequences_left -= size |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
89 nb_chunk_left -= 1 |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
90 yield chain([first], islice(iterator, size - 1)) |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
91 else: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
92 nb_chunk_left -= 1 |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
93 size += 1 |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
94 nb_sequences_left -= size |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
95 yield chain([first], islice(iterator, size - 1)) |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
96 else: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
97 for first in iterator: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
98 yield chain([first], islice(iterator, size - 1)) |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
99 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
100 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
101 def gen_sequence_record(sequences_path, sequence_format): |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
102 return SeqIO.parse(sequences_path, sequence_format) |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
103 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
104 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
105 def get_nb_sequences(sequences): |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
106 """[summary] |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
107 Compute the number of sequences |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
108 Arguments: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
109 sequences {[type]} -- Iterable of sequences |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
110 |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
111 Returns: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
112 [type] -- Number of sequences |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
113 """ |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
114 return sum(1 for _ in sequences) |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
115 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
116 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
117 def write_chunks(iterable, dirname, filename, file_extension, sequence_format): |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
118 sequence_total = 0 |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
119 for idx, chunk in enumerate(iterable): |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
120 if not os.path.exists(dirname): |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
121 os.mkdir(dirname) |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
122 output_file = os.path.join( |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
123 dirname, filename + "-chunk-" + str(idx + 1) + file_extension |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
124 ) |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
125 |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
126 with open(output_file, mode="w") as output_handle: |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
127 count_seq, seq_to_write = tee(chunk, 2) |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
128 nb_seq = len(list(count_seq)) |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
129 logger.info("%s : number of sequences = %i", output_file, nb_seq) |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
130 sequence_total += nb_seq |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
131 SeqIO.write(seq_to_write, output_handle, sequence_format) |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
132 logger.info("%s = %i", "Total number of chunks", idx + 1) |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
133 logger.info("%s = %i", "Number of sequences total", sequence_total) |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
134 |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
135 |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
136 def positive_integer(str_value): |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
137 """[summary] |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
138 Define a type for argparse in order to enforce integer greater than 0 |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
139 Arguments: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
140 str_value {[type]} -- Value got by argparse |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
141 |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
142 Raises: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
143 argparse.ArgumentTypeError: When the value is not an integer > 0 |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
144 |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
145 Returns: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
146 [type] -- [description] |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
147 """ |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
148 value = int(str_value) |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
149 if isinstance(value, int) and value > 0: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
150 return value |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
151 else: |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
152 msg = "%r is not an integer > 0" % value |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
153 raise argparse.ArgumentTypeError(msg) |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
154 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
155 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
156 def parse_arguments(): |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
157 parser = argparse.ArgumentParser(description="Split fasta/fastq files") |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
158 parser.add_argument( |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
159 "-s", "--sequences", type=str, help="File that contains the sequences" |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
160 ) |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
161 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
162 parser.add_argument("-f", "--format", type=str, |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
163 help="File format (fastq, fasta)") |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
164 group = parser.add_mutually_exclusive_group(required=True) |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
165 group.add_argument( |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
166 "-c", "--chunk-size", type=positive_integer, |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
167 help="The number of sequences by chunks." |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
168 ) |
1
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
169 group.add_argument( |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
170 "-n", "--nb-chunk", |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
171 type=positive_integer, |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
172 help="Number of chunks" |
7b509a1801e4
"planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit 85ffc2e3805940c0ebb21d5450b86524bd788d7b"
rplanel
parents:
0
diff
changeset
|
173 ) |
0
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
174 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
175 parser.add_argument( |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
176 "-o", |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
177 "--output", |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
178 type=str, |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
179 default="./", |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
180 help="The output directory where the chunks will be saved", |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
181 ) |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
182 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
183 return parser.parse_args() |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
184 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
185 |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
186 if __name__ == "__main__": |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
187 logger.info("START") |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
188 main() |
3e33310a7082
planemo upload for repository https://github.com/rplanel/galaxy-tools/tree/master/tools/sequence-splitter commit cba12d215a89e9685c7d1f55d067770d7ec0dea2
rplanel
parents:
diff
changeset
|
189 logger.info("FINISHED") |