Mercurial > repos > iuc > syndiva
annotate syndiva.py @ 0:0254731f047b draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
author | iuc |
---|---|
date | Thu, 23 Jun 2022 22:32:13 +0000 |
parents | |
children |
rev | line source |
---|---|
0
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
1 #!/usr/bin/env python |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
2 # title : syndiva.py |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
3 # description : This script will analyze fasta files, look for restriction sites, |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
4 # cut the sequences around the restriction sites, |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
5 # translate the nucleic sequences into amino acids sequences. |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
6 # author : Fabienne Wong Jun Tai and Benjamin Dartigues |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
7 # creation date : 20121107 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
8 # version : 1.0 - revised November 2012 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
9 # version : 1.1 - revised March 2022 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
10 # usage : python syndiva.py -i file.fasta -o /output/dir/ -p pattern -5 seq_restric_5'-3 seq_restric_3' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
11 # notes : |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
12 # # python_version :3.7.11 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
13 # # biopython_max_version :1.72 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
14 # ============================================================================== |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
15 import math |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
16 import re |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
17 import subprocess |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
18 import sys |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
19 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
20 import matplotlib |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
21 import numpy |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
22 from args import Args |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
23 from args import get_os_path_join, get_os_path_name |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
24 from Bio import pairwise2 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
25 from Bio import SeqIO |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
26 from Bio.Seq import Seq |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
27 from Bio.Seq import translate |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
28 from Bio.SubsMat import MatrixInfo |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
29 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
30 matplotlib.use('Agg') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
31 from matplotlib import pyplot as plot # noqa: I202,E402 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
32 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
33 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
34 args = Args() |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
35 # Variables initialization |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
36 directory = args.output_dir |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
37 mcl_file = get_os_path_join(directory, "mcl.in") |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
38 mcl_output = get_os_path_join(directory, "mcl.out") |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
39 html_file = get_os_path_join(directory, "syndiva_report.html") |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
40 graph_pic = get_os_path_join(directory, "distri.png") |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
41 input_file = get_os_path_name(args.input) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
42 site_res_5 = args.site_res_5 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
43 site_res_3 = args.site_res_3 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
44 tag = {'mut': [], 'ok_stop_ext': [], 'stop': [], 'no_restric': [], 'no_multiple': [], 'amber': []} |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
45 all_seq = [] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
46 all_seq_fasta = {} # dictionnary that will store information about all the sequences |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
47 good_seq = {} # dictionnary that will store information about the valid sequences |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
48 identical_clones = {} |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
49 var_seq_common = {} # dictionnary that will store the number of sequences that share the same variable parts |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
50 align_scores = [] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
51 nb_var_part = 0 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
52 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
53 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
54 def get_identity(str1, str2): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
55 if len(str2) > len(str1): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
56 return (len(str2) - len([i for i in range(len(str1)) if str1[i] != str2[i]])) / len(str2) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
57 else: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
58 return (len(str1) - len([i for i in range(len(str1)) if str1[i] != str2[i]])) / len(str1) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
59 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
60 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
61 def reverse_complement(_seq): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
62 return str(Seq(_seq).reverse_complement()) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
63 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
64 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
65 def generate_aln(seq_dic, ids): # sourcery skip: use-join |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
66 # Multiple Sequence Alignment via ClustalO |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
67 _input = '' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
68 for sequence_id in ids: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
69 _input += '>%s\n%s\n' % (sequence_id, re.sub("(.{80})", "\\1\n", seq_dic[sequence_id]['prot'], re.DOTALL)) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
70 p = subprocess.Popen(["clustalo", "-i", "-", "--outfmt", "clu"], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE, universal_newlines=True) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
71 aln_out, aln_err = p.communicate(input=_input) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
72 return aln_out |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
73 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
74 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
75 def report_html(_html_file, _tag, _all_seq, _good_seq, _all_seq_fasta, _identical_clones, _nb_var_part, _var_seq_common, _align_scores, _args): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
76 # Generate the html file for the report |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
77 _all_seq.sort() |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
78 for key in _tag.keys(): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
79 _tag[key].sort() |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
80 _good_seq = dict(sorted(_good_seq.items())) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
81 good_ids = _good_seq.keys() |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
82 w = open(_html_file, 'w') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
83 w.write( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
84 '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
85 'lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>SynDivA Report</title><link ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
86 'href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css" rel="stylesheet" /><style type="text/css">body {padding-top: 40px;}.subhead {padding: 40px ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
87 '0;}.subhead h1 {font-size: 60px;}.fasta { font-family: Monaco, Menlo, Consolas, "Courier New", monospace; font-size: 12px;}code.grey{color: ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
88 '#636D71;}</style></head><body><a id="top"></a><div class="navbar navbar-fixed-top"><div class="navbar-inner"><div class="container"><a class="brand" href="#top">SynDivA ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
89 'Report</a><div class="nav-collapse collapse"><ul class="nav"><li><a href="#input">Input data</a></li><li><a href="#analysis">Sequences analysis</a></li><li><a ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
90 'href="#variable">Variable regions analysis</a></li><li><a href="#cluster">Clustering</a></li><li><a href="#stat">Statistics</a></li><li><a ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
91 'href="#annex">Annex</a></li></ul></div></div></div></div><div class="container-fluid"><header class="subhead"><h1>SynDivA Report</h1></header><div ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
92 'class="page-header"><a id="input"></a><h2>Input data</h2></div>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
93 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
94 # Input data |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
95 w.write( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
96 '<p>Input file:<br/><code class="grey">%s</code></p><p>Number of sequences in input file:<br/><code class="grey">%d</code></p><p>Pattern of the sequence bank:<br/><code ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
97 'class="grey">%s</code></p><p>5\' restriction site:<br/><code class="grey">%s</code></p><p>3\' restriction site:<br/><code class="grey">%s</code></p>' % ( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
98 input_file, len(_all_seq), _args.pattern, _args.site_res_5, _args.site_res_3)) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
99 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
100 # Sequence analysis |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
101 w.write( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
102 '<div class="page-header"><a id="analysis"></a><h2>Sequences analysis</h2></div><p>Caption:</p><ul><li class="text-success">Valid sequences that will be part of the next ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
103 'analysis </li><li class="text-warning">Good sequences but will not be part of the next analysis</li><li class="text-error">Rejected sequences</li></ul><table ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
104 'class="table table-striped table-bordered"><tr><th class="text-error">Absence of restriction sites</th><th class="text-error">Incorrect number of nucleotides between ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
105 'the restriction sites</th><th class="text-error">Stop codon <u>inside</u> the area of interest</th><th class="text-warning">Mutation in the conserved regions</th><th ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
106 'class="text-success">Valid sequences</th><th>Amber codon in the sequence (<u>inside</u> the area of interest)</th></tr>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
107 w.write( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
108 '<tr><td class="text-error">%d sequence(s) (%.2f%%)</td><td class="text-error">%d sequence(s) (%.2f%%)</td><td class="text-error">%d sequence(s) (%.2f%%)</td><td ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
109 'class="text-warning">%d sequence(s) (%.2f%%)</td><td class="text-success">%d sequence(s) (%.2f%%)</td><td>%d sequence(s)</td></tr>' % ( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
110 len(_tag['no_restric']), float(len(_tag['no_restric'])) / float(len(_all_seq)) * 100, len(_tag['no_multiple']), float(len(_tag['no_multiple'])) / float(len(_all_seq)) * 100, len(_tag['stop']), |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
111 float(len(_tag['stop'])) / float(len(_all_seq)) * 100, len(_tag['mut']), float(len(_tag['mut'])) / float(len(_all_seq)) * 100, len(good_ids), |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
112 float(len(good_ids)) / float(len(_all_seq)) * 100, |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
113 len(_tag['amber']))) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
114 w.write( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
115 '<tr><td class="text-error">%s</td><td class="text-error">%s</td><td class="text-error">%s</td><td class="text-warning">%s</td><td ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
116 'class="text-success">%s</td><td>%s</td></tr></table>' % ( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
117 '<br/>'.join(_tag['no_restric']), '<br/>'.join(_tag['no_multiple']), '<br/>'.join(_tag['stop']), '<br/>'.join(_tag['mut']), '<br/>'.join(good_ids), '<br/>'.join(_tag['amber']))) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
118 # Variable regions analysis |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
119 w.write( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
120 '<div class="page-header"><a id="variable"></a><h2>Variable regions analysis</h2></div><p>The following group of sequences are identical clones on the variable ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
121 'regions:</p>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
122 identical_clones_seq = _identical_clones.keys() |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
123 if identical_clones_seq: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
124 for seq in identical_clones_seq: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
125 ids = list(set(_identical_clones[seq])) # return only one occurrence of each item in the list |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
126 w.write('<div class="row-fluid"><div class="span5"><pre>%d sequences (%.2f%% of valid sequences)<br/>%s</pre></div>' % ( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
127 len(ids), float(len(ids)) / float(len(good_ids)) * 100, '<br/>'.join(ids))) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
128 w.write('<div class="span3"><table class="table table-striped table-bordered"><thead><tr><th>Variable region</th><th>Repeated sequence</th></tr></thead><tbody>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
129 for z in range(len(_good_seq[ids[0]]['var'])): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
130 w.write('<td>%d</td><td>%s</td></tr>' % (z + 1, _good_seq[ids[0]]['var'][z])) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
131 w.write('</tbody></table></div></div>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
132 else: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
133 w.write('<p>No clone was found.</p>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
134 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
135 first = True |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
136 for i in range(_nb_var_part): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
137 keys = [] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
138 for k in _var_seq_common[str(i + 1)].keys(): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
139 nb = _var_seq_common[str(i + 1)][k] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
140 if nb > 1: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
141 if first: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
142 w.write( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
143 '<p>Here\'s the distribution of the repeated sequences in variable regions:</p><table class="table table-striped table-bordered"><thead><tr><th>Variable ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
144 'region</th><th>Repeated sequence</th><th>Number of occurrences (percentage of valid sequences)</th></tr></thead><tbody>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
145 first = False |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
146 keys.append(k) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
147 else: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
148 keys.append(k) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
149 nb = len(keys) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
150 if nb != 0: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
151 w.write('<tr>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
152 for z in range(nb): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
153 if z == 0: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
154 w.write('<td rowspan="%d">%d</td>' % (nb, i + 1)) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
155 w.write('<td>%s</td><td>%d (%.2f%%)</td></tr>' % ( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
156 keys[z], _var_seq_common[str(i + 1)][keys[z]], float(_var_seq_common[str(i + 1)][keys[z]]) / float(len(good_ids)) * 100)) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
157 w.write('</tbody></table>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
158 # Clustering |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
159 w.write('<div class="page-header"><a id="cluster"></a><h2>Clustering</h2></div><p>The following clusters were generated by MCL:</p>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
160 for line in open(mcl_output, 'r'): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
161 w.write('<div class="row-fluid"><div class="span6"><pre>%d sequences (%.2f%% of valid sequences)<br/>%s</pre></div></div>' % ( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
162 len(line.split("\t")), float(len(line.split("\t"))) / float(len(good_ids)) * 100, '<br/>'.join(line.split("\t")))) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
163 # Statistics |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
164 w.write('<div class="page-header"><a id="stat"></a><h2>Statistics</h2></div>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
165 w.write('<p>Here\'s some statistics about the valid sequences:</p><p>Mean for the pairwise alignement scores: %.2f<br/>Standard deviation: %.2f</p>' % ( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
166 float(numpy.mean(_align_scores)), float(numpy.std(_align_scores)))) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
167 w.write('<div class="row-fluid"><div class="span6"><img src="%s" alt="Distribution of the pairwise alignment score"></div>' % get_os_path_name(graph_pic)) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
168 w.write('<div class="span6"><table class="table table-striped table-bordered"><thead><tr><th>Pairwise Alignment Score</th><th>Number of occurrences</th></tr></thead><tbody>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
169 uniq_scores = sorted(list(set(_align_scores))) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
170 scores_dic = {} |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
171 for _score in uniq_scores: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
172 scores_dic[_score] = _align_scores.count(_score) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
173 scores_dic = dict(sorted(scores_dic.items())) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
174 scores = scores_dic.items() |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
175 # scores.sort() |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
176 for el in scores: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
177 w.write('<tr><td>%.2f</td><td>%d</td></tr>' % (el[0], el[1])) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
178 w.write('</tbody></table></div></div>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
179 # Annex |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
180 w.write('<div class="page-header"><a id="annex"></a><h2>Annex</h2></div>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
181 w.write('<p><strong>Valid protein sequences</strong> in FASTA format:</p><textarea class="span8 fasta" type="text" rows="20" readonly="readonly">') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
182 for _id in good_ids: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
183 w.write('>%s\n%s\n' % (_id, re.sub("(.{80})", "\\1\n", _good_seq[_id]['prot'], re.DOTALL))) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
184 w.write('</textarea>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
185 aln_out = generate_aln(_good_seq, good_ids) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
186 w.write( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
187 '<p>Multiple sequence alignment of the <strong>valid sequences</strong> generated by Clustal Omega:</p><textarea class="span8 fasta" type="text" rows="20" ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
188 'readonly="readonly">%s</textarea>' % str( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
189 aln_out)) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
190 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
191 if _tag['no_multiple']: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
192 w.write( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
193 '<p><strong>Protein sequences with an incorrect number of nucleotides between the restriction sites</strong> in FASTA format:</p><textarea class="span8 fasta" ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
194 'type="text" rows="20" readonly="readonly">') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
195 for _id in _tag['no_multiple']: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
196 w.write('>%s\n%s\n' % (_id, re.sub("(.{80})", "\\1\n", _all_seq_fasta[_id]['prot'], re.DOTALL))) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
197 w.write('</textarea>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
198 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
199 if _tag['mut']: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
200 w.write('<p><strong>Mutated protein sequences</strong> in FASTA format:</p><textarea class="span8 fasta" type="text" rows="20" readonly="readonly">') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
201 for _id in _tag['mut']: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
202 w.write('>%s\n%s\n' % (_id, re.sub("(.{80})", "\\1\n", _all_seq_fasta[_id]['prot'], re.DOTALL))) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
203 w.write('</textarea>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
204 aln_out = generate_aln(_all_seq_fasta, _tag['mut']) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
205 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
206 w.write( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
207 '<p>Multiple sequence alignment of the <strong>mutated sequences</strong> generated by Clustal Omega:</p><textarea class="span8 fasta" type="text" rows="20" ' |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
208 'readonly="readonly">%s</textarea>' % str( |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
209 aln_out)) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
210 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
211 if _tag['stop']: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
212 w.write('<p><strong>Protein sequences with a stop codon</strong> in FASTA format:</p><textarea class="span8 fasta" type="text" rows="20" readonly="readonly">') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
213 for _id in _tag['stop']: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
214 w.write('>%s\n%s\n' % (_id, re.sub("(.{80})", "\\1\n", _all_seq_fasta[_id]['prot'], re.DOTALL))) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
215 w.write('</textarea>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
216 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
217 if _tag['amber']: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
218 w.write('<p><strong>Protein sequences with an amber codon</strong> in FASTA format:</p><textarea class="span8 fasta" type="text" rows="20" readonly="readonly">') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
219 for _id in _tag['amber']: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
220 w.write('>%s\n%s\n' % (_id, re.sub("(.{80})", "\\1\n", _all_seq_fasta[_id]['prot'], re.DOTALL))) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
221 w.write('</textarea>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
222 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
223 w.write('</div></body></html>') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
224 w.close() |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
225 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
226 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
227 nb_seq = len(list(SeqIO.parse(args.input, "fasta"))) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
228 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
229 for seq_record in SeqIO.parse(args.input, "fasta"): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
230 seq_id = seq_record.id |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
231 seq = str(seq_record.seq) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
232 seq = seq.upper() |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
233 all_seq.append(seq_id) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
234 # Checking if both restriction sites are present in the sequence |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
235 if site_res_5 in seq and site_res_3 in seq: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
236 valid = True |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
237 else: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
238 valid = False |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
239 tag['no_restric'].append(seq_id) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
240 # If sequence has both restriction sites, checking if it is necessary to take the reverse complement strand |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
241 if valid: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
242 site_res_5_pos = seq.index(site_res_5) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
243 site_res_3_pos = seq.index(site_res_3) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
244 # If site_res_5_pos > site_res_3_pos, reverse complement strand has to be calculated |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
245 if site_res_5_pos > site_res_3_pos: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
246 # Checking if the number of nucleic acids between the restriction sites is a multiple of 3 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
247 length = math.fabs((site_res_5_pos + len(site_res_5)) - site_res_3_pos) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
248 valid = length % 3 == 0 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
249 cut_seq = seq[:site_res_5_pos + len(site_res_5)] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
250 cut_seq = reverse_complement(cut_seq) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
251 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
252 # Else if site_res_5_pos < site_res_3_pos, use the sequence as it is |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
253 else: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
254 # Checking if the number of nucleic acids between the restriction sites is a multiple of 3 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
255 length = math.fabs((site_res_3_pos + len(site_res_3)) - site_res_5_pos) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
256 valid = length % 3 == 0 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
257 cut_seq = seq[site_res_5_pos:] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
258 # If the number of nucleic acids between the restriction sites isn't a multiple of 3, put the sequence away |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
259 if not valid: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
260 tag['no_multiple'].append(seq_id) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
261 prot_seq = translate(cut_seq) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
262 all_seq_fasta[seq_id] = {} |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
263 all_seq_fasta[seq_id]['prot'] = prot_seq |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
264 else: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
265 # Translate nucleic sequence into amino acid sequence |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
266 prot_seq = translate(cut_seq) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
267 all_seq_fasta[seq_id] = {} |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
268 all_seq_fasta[seq_id]['prot'] = prot_seq |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
269 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
270 # Looking for stop codon in the sequence and getting their position in the sequence |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
271 if '*' in prot_seq: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
272 pos_stop = [m.start() for m in re.finditer(r"\*", prot_seq)] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
273 stop = False |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
274 # Checking if stop codon is between the restriction sites, also checking if it is an amber codon. if stop codon other than amber codon -> tag stop |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
275 for i in range(len(pos_stop)): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
276 if pos_stop[i] < length / 3: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
277 stop_codon_nuc = cut_seq[pos_stop[i] * 3:pos_stop[i] * 3 + 3] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
278 if stop_codon_nuc != "TAG": |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
279 tag['stop'].append(seq_id) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
280 stop = True |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
281 break |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
282 else: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
283 if seq_id not in tag['amber']: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
284 tag['amber'].append(seq_id) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
285 # If stop codon wasn't found between the restriction sites |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
286 if not stop: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
287 """ |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
288 # Checking if there is a stop codon outside the restriction sites. If yes -> tag ok_stop_ext |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
289 for i in range(len(pos_stop)): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
290 if (pos_stop[i] > length/3): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
291 stop_codon_nuc = cut_seq[pos_stop[i]*3:pos_stop[i]*3+3] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
292 if stop_codon_nuc != "TAG": |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
293 tag['ok_stop_ext'].append(seq_id) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
294 stop = True |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
295 break |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
296 else: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
297 if (seq_id not in tag['amber']): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
298 tag['amber'].append(seq_id) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
299 """ |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
300 # Checking if there was a mutation in the fix part, if yes -> tag mut else retrieve variable parts |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
301 mut = False |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
302 pattern_part = args.pattern.split(":") |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
303 tmp_prot_seq = prot_seq |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
304 var_parts = [] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
305 for i in range(len(pattern_part) - 1): # not checking the latest fix part |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
306 part = pattern_part[i] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
307 # If part is fix |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
308 if not part[0].isdigit(): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
309 # If part not in prot_seq -> mutation, flag then break |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
310 if part not in tmp_prot_seq: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
311 mut = True |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
312 tag['mut'].append(seq_id) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
313 break |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
314 # Else, store the variable part if exist then remove the fix part + variable part (tmp_prot_seq starts at the end of part) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
315 else: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
316 pos_fix = tmp_prot_seq.index(part) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
317 if pos_fix != 0: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
318 var_parts.append(tmp_prot_seq[0:pos_fix]) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
319 tmp_prot_seq = tmp_prot_seq[pos_fix + len(part):] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
320 # Else part is variable |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
321 else: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
322 nb_var_part += 1 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
323 # Treating latest fix part if no mutation before |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
324 if not mut: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
325 last_part = pattern_part[-1] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
326 last_var = pattern_part[-2] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
327 if '-' in last_var: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
328 var_max = int(last_var.split('-')[1]) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
329 else: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
330 var_max = int(last_var) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
331 last_part = last_part[0:var_max + 1] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
332 if last_part not in tmp_prot_seq: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
333 mut = True |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
334 tag['mut'].append(seq_id) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
335 else: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
336 pos_fix = tmp_prot_seq.index(last_part) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
337 if pos_fix != 0: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
338 var_parts.append(tmp_prot_seq[0:pos_fix]) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
339 # If no mutation the sequence is validated and all the info are stored |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
340 if not mut: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
341 good_seq[seq_id] = {} |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
342 good_seq[seq_id]['dna'] = cut_seq |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
343 good_seq[seq_id]['prot'] = prot_seq |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
344 good_seq[seq_id]['var'] = var_parts |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
345 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
346 # If all sequences are invalid, the program will exit as there is no data to continue |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
347 if not good_seq: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
348 sys.exit("There is only one valid sequence among the input data. At least 2 valid sequences are necessary to proceed to the next step. The program will now exit") |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
349 elif len(good_seq.keys()) == 1: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
350 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
351 sys.exit("There is only one valid sequence among the input data. At least 2 valid sequences are necessary to proceed to the next step. The program will now exit") |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
352 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
353 # Initialization of dict var_seq_common |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
354 for n in range(nb_var_part): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
355 var_seq_common[str(n + 1)] = {} |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
356 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
357 # Opening the file where the mcl input will be written |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
358 with open(mcl_file, 'w+') as mcl: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
359 seq_keys = good_seq.keys() |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
360 for i in range(len(seq_keys)): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
361 var_1 = good_seq[list(seq_keys)[i]]['var'] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
362 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
363 # Classifying variable sequences |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
364 for k in range(len(var_1)): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
365 try: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
366 var_seq_common[str(k + 1)][var_1[k]] += 1 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
367 except KeyError: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
368 var_seq_common[str(k + 1)][var_1[k]] = 1 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
369 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
370 for j in range(i + 1, len(seq_keys)): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
371 var_2 = good_seq[list(seq_keys)[j]]['var'] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
372 score = 0.0 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
373 # Comparing the sequences' variable parts to find identical clones |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
374 if var_1 == var_2: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
375 try: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
376 clone_seq = "".join(var_1) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
377 identical_clones[clone_seq].extend([seq_keys[i], seq_keys[j]]) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
378 except KeyError: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
379 identical_clones[clone_seq] = [seq_keys[i], seq_keys[j]] |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
380 # Align the 2 sequences using NWalign_PAM30 => replace by pairwise2 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
381 seq_1 = ''.join(var_1) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
382 seq_2 = ''.join(var_2) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
383 matrix = MatrixInfo.pam30 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
384 if len(seq_2) > len(seq_1): |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
385 score = get_identity(pairwise2.align.globalds(seq_1, seq_2, matrix, -11, -1)[0][0], pairwise2.align.globalds(seq_1, seq_2, matrix, -11, -1)[0][1]) * 100 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
386 else: |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
387 score = get_identity(pairwise2.align.globalds(seq_2, seq_1, matrix, -11, -1)[0][0], pairwise2.align.globalds(seq_2, seq_1, matrix, -11, -1)[0][1]) * 100 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
388 align_scores.append(score) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
389 mcl.write('%s\t%s\t%0.2f\n' % (list(seq_keys)[i], list(seq_keys)[j], score)) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
390 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
391 # Clusters formation |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
392 subprocess.call(["mcl", mcl_file, "--abc", "-I", "6.0", "-o", mcl_output], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
393 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
394 # Producing distribution graph |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
395 plot.hist(align_scores, bins=numpy.arange(0, 101, 2)) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
396 plot.xlabel('Pairwise Alignment Score') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
397 plot.ylabel('Number of occurrences') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
398 plot.title('Distribution of the pairwise alignment score') |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
399 plot.grid(True) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
400 plot.savefig(graph_pic) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
401 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
402 # Generating html report |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
403 report_html(html_file, tag, all_seq, good_seq, all_seq_fasta, identical_clones, nb_var_part, var_seq_common, align_scores, args) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
404 |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
405 # Removing intermediate files |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
406 subprocess.call(["rm", mcl_file, mcl_output], shell=False) |
0254731f047b
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/SynDivA commit 90c5ec603e2c6b8c49d2dc7ec1b1e97f9d8fb92c
iuc
parents:
diff
changeset
|
407 print("HTML report has been generated in the output directory. The program will now exit.") |