annotate cut_trajectory.py @ 10:afd0260e676f draft

"planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit 3111e03da3d8644ceaf94e9796f6c4206d3fe440-dirty"
author agpetit
date Tue, 07 Jun 2022 12:04:45 +0000
parents e5cf7698a2af
children f5064c93f7ab
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
1 #!/usr/bin/env python3
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
2
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
3 # coding: utf-8
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
4 """
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
5 The script allows to estimate the number of sub-trajectories to obtain.
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
6 It also allows to split the trajectory into a number of sub-trajectories.
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
7 # USAGE to estimate number of sub-trajectories :
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
8 # USAGE : cut_trajectory.py
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
9 -s : number of desired sub-trajectories (number or file)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
10 -gro : .gro file -xtc : .xtc file -log : name of log file (optional)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
11 -d : output directory (optional) -o : name of output file (optional)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
12 -g : group for output (optional)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
13 -start : start time of the trajectory (optional)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
14 -end : end time of the trajectory (optional)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
15 """
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
16
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
17 __all__ = []
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
18 __author__ = "Agnès-Elisabeth Petit"
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
19 __date__ = "29/04/2022"
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
20 __version__ = "0.8"
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
21 __copyright__ = "(c) 2022 CC-BY-NC-SA"
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
22
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
23 # Library import
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
24 import argparse
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
25 import logging
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
26 import os
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
27 import subprocess
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
28 import sys
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
29
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
30 from joblib import Parallel, delayed
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
31
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
32
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
33 def test_setup():
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
34 global args
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
35 args = parse_arguments()
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
36 args.verbose = True
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
37
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
38
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
39 def parse_arguments():
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
40 list_choices = []
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
41 [list_choices.append(str(x)) for x in range(17)]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
42 parser = argparse.ArgumentParser(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
43 description="The script allows to estimate the number of "
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
44 "sub-trajectories to obtain. It also allows to split"
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
45 " the trajectory into a number of sub-trajectories.",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
46 formatter_class=argparse.ArgumentDefaultsHelpFormatter,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
47 prefix_chars="-",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
48 add_help=True,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
49 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
50 parser.add_argument(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
51 "-v",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
52 "--verbose",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
53 action="store_true",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
54 help="""Information messages to stderr""",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
55 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
56 parser.add_argument(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
57 "-c",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
58 "--input_check",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
59 type=str,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
60 help=""".txt file obtained with gmx check -f.
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
61 It contains information about the trajectory""",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
62 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
63 parser.add_argument(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
64 "-s",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
65 "--nbr_sub_traj",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
66 type=str,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
67 help="""numbers of sub_trajectories""",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
68 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
69 parser.add_argument(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
70 "-gro", "--gro_file", type=str, help="""My input .gro file"""
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
71 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
72 parser.add_argument(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
73 "-xtc", "--xtc_file", type=str, help="""My input .xtc file"""
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
74 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
75 parser.add_argument(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
76 "-log", "--log_output", type=str,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
77 default="log/cut_trajectory.log",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
78 help="""Output for log file. Default :
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
79 log/cut_trajectory.log"""
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
80 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
81 parser.add_argument(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
82 "-d", "--output_directory", type=str,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
83 default="out/",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
84 help="""It's output Directory. Default : out/"""
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
85 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
86 parser.add_argument(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
87 "-g",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
88 "--group_output",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
89 type=str,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
90 default="0",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
91 choices=list_choices,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
92 help="""Select group for output. 0 : system, 1: protein, 2: protein-H,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
93 3: C-alpha, 4: Backbone, 5: MainChain, 6: MainChain+Cb,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
94 7: MainChain+H, 8: SideChain, 9: SideChain-H, 10: Prot-Masses,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
95 11: non-Protein, 12: Other, 13: POPC, 14: POT, 15: CLA,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
96 16: TIP3""",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
97 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
98 parser.add_argument(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
99 "-start", "--start_traj", type=str,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
100 help="""Start of the trajectory to be cut"""
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
101 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
102 parser.add_argument(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
103 "-end", "--end_traj", type=str,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
104 help="""End of the trajectory to be cut"""
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
105 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
106 parser.add_argument(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
107 "-cpus", "--number_cpus", type=int,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
108 default=1,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
109 help="""Number of cpus. Default : 1"""
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
110 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
111 return parser.parse_args()
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
112
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
113
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
114 def search_nbr_steps_time_step(txt_file):
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
115 """
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
116 Description : Keeping the number of frames of the complete trajectory and
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
117 the time between each frame.
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
118 param txt_file: file obtained with gmx check.
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
119 return: list that contains the number of frames of the complete trajectory
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
120 and time between each frame.
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
121 """
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
122 if args.verbose:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
123 logging.info("\nFunction search_nbr_steps_time_step")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
124 logging.info("The input file is " + txt_file)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
125 with open(txt_file, "r") as f:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
126 len_traj = ""
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
127 time_step = ""
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
128 for li in f:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
129 li = li.rstrip()
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
130 if li.startswith("Step"):
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
131 li2 = li.split()
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
132 len_traj = int(li2[1])
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
133 time_step = int(li2[2])
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
134 if args.verbose:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
135 logging.info("The length of the trajectory is " + str(len_traj))
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
136 logging.info(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
137 "The elapsed time between two steps is : " + str(time_step) + " ps"
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
138 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
139 logging.info("End search_nbr_steps_time_step functions")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
140 return len_traj, time_step
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
141
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
142
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
143 def search_nbr_sub_traj(tsv_nb_sub_traj_file):
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
144 """
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
145 Description: Obtaining the number of frames of the complete trajectory,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
146 the number of sub-trajectories to create, the time between each
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
147 frame and the number of frames per sub-trajectory.
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
148 param tsv_nb_sub_traj_file: tsv file obtained with the estimation of
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
149 the number of sub-trajectories
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
150 return: list that contains the number of images of the complete trajectory,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
151 the number of sub-trajectories to create, the time between each image and
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
152 the number of images per sub-trajectory.
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
153 """
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
154 if args.verbose:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
155 logging.info("\nFunction search_nbr_sub_traj")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
156 logging.info("The input file is " + tsv_nb_sub_traj_file)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
157 list_number_sub_traj = []
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
158 with open(tsv_nb_sub_traj_file, "r") as f:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
159 for li in f:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
160 li = li.rstrip()
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
161 if not li.startswith("Length"):
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
162 list_number_sub_traj = li.split()
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
163 if args.verbose:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
164 logging.info("The length of complete trajectory is "
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
165 + list_number_sub_traj[0])
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
166 logging.info(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
167 "The number of sub-trajectories required is "
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
168 + list_number_sub_traj[1]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
169 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
170 logging.info(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
171 "The elapsed time between two steps is : "
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
172 + list_number_sub_traj[2] + "ps"
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
173 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
174 logging.info(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
175 "The number of frames per sub-trajectory is "
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
176 + list_number_sub_traj[3]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
177 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
178 logging.info("End search_nbr_sub_traj function")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
179 list_number_sub_traj = [int(v) for v in list_number_sub_traj]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
180 return list_number_sub_traj
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
181
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
182
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
183 def launch_cut_traj(list_file, gro_file, xtc_file, out_dir,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
184 logging_file, n_group, n_cpus):
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
185 """
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
186 Description: function that allows to split the trajectory
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
187 into a number of sub-trajectories
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
188 param list_file: list that contains the number of images of the complete
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
189 trajectory, the number of sub-trajectories to create, the time between
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
190 each image and the number of images per sub-trajectory.
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
191 param gro_file: .gro file
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
192 param xtc_file: .xtc file
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
193 param out_dir: output directory
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
194 param logging_file: name of log file
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
195 return: None
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
196 output: create a number of sub-trajectories
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
197 """
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
198 if args.verbose:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
199 logging.info("\nFunction cut_traj")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
200 logging.info("The length of the trajectory is " + str(list_file[0])
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
201 + " frames")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
202 logging.info(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
203 "The elapsed time between two steps is : " + str(list_file[2])
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
204 + " ps"
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
205 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
206 logging.info("The number of sub-trajectories required is "
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
207 + str(list_file[1]))
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
208 logging.info(".gro file is " + gro_file)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
209 logging.info(".xtc file is " + xtc_file)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
210 logging.info("Output directory is " + str(out_dir))
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
211 logging.info("The name of .log file is " + logging_file)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
212 logging.info("The number of cpus used is " + str(n_cpus))
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
213 if not os.path.exists(out_dir):
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
214 os.makedirs(out_dir)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
215 n_sub_traj = list_file[1]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
216 times_step = list_file[2]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
217 nb_frame_sub_traj = list_file[3]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
218 prefix_name_file = os.path.basename(gro_file).rsplit(".", 1)[0]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
219 start = list_file[4]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
220 end = list_file[4] - 1
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
221 dict_sub_traj = {}
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
222 for nb_traj in range(n_sub_traj):
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
223 end += nb_frame_sub_traj
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
224 value = str(start * times_step) + "," + str(end * times_step)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
225 dict_sub_traj[nb_traj + 1] = value
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
226 start += nb_frame_sub_traj
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
227 if args.verbose:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
228 for k, v in dict_sub_traj.items():
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
229 logging.info("Sub_trajectory " + str(k) + " starts at "
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
230 + v.split(",")[0] + " ps and ends at "
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
231 + v.split(",")[1] + " ps")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
232 logging.info("Launch gmx trjconv\n")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
233 if args.verbose:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
234 list_log_files = Parallel(n_jobs=n_cpus)(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
235 delayed(cut_traj)(out_dir, prefix_name_file, k, v, n_group,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
236 xtc_file, gro_file, logging_file, args)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
237 for k, v in dict_sub_traj.items())
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
238 log_file_complete = open(logging_file, "a")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
239 for f in list_log_files:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
240 open_f = open(f, "r")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
241 [log_file_complete.write(li) for li in open_f.readlines()]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
242 open_f.close()
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
243 os.remove(f)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
244 log_file_complete.close()
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
245 else:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
246 logging_file = ""
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
247 Parallel(n_jobs=n_cpus)(delayed(cut_traj)(out_dir, prefix_name_file, k,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
248 v, n_group, xtc_file,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
249 gro_file, logging_file, args)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
250 for k, v in dict_sub_traj.items())
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
251 if args.verbose:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
252 logging.info("End cut_traj function")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
253
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
254
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
255 def cut_traj(out_dir, prefix_name_file, k, v, n_group, xtc_file, gro_file,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
256 logging_file, arguments):
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
257 out_traj = (str(out_dir) + prefix_name_file + "_traj_" + str(k) + ".xtc")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
258 bash_command = ("echo " + n_group + " | gmx trjconv -f " + xtc_file
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
259 + " -s " + gro_file + " -b " + str(v.split(",")[0])
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
260 + " -e " + str(v.split(",")[1]) + " -o " + out_traj)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
261 if arguments.verbose:
8
d45cecb7cfd0 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents: 7
diff changeset
262 log_directory = "log/tmp/"
5
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
263 logging_file = (log_directory
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
264 + logging_file.rsplit("/", 1)[1].split(".")[0]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
265 + "_" + str(k) + ".log")
8
d45cecb7cfd0 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents: 7
diff changeset
266 try:
d45cecb7cfd0 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents: 7
diff changeset
267 os.makedirs(log_directory, exist_ok=True)
9
e5cf7698a2af "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit 434f3e872798e786f0c6a88939455692f711496c"
agpetit
parents: 8
diff changeset
268 except OSError:
8
d45cecb7cfd0 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents: 7
diff changeset
269 print("Directory '%s' can not be created")
5
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
270 f_log = open(logging_file, "w")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
271 subprocess.run(bash_command, shell=True, stdout=f_log, stderr=f_log)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
272 f_log.close()
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
273 return logging_file
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
274 else:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
275 subprocess.run(bash_command, shell=True)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
276
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
277
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
278 if __name__ == "__main__":
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
279 args = parse_arguments()
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
280 log_file = ""
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
281 if args.output_directory.endswith("/"):
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
282 out_directory = args.output_directory
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
283 else:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
284 out_directory = args.output_directory + "/"
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
285 if args.verbose:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
286 if "/" in args.log_output:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
287 log_dir = args.log_output.rsplit("/", 1)[0]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
288 else:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
289 log_dir = "log/"
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
290 log_file = args.log_output
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
291 if not os.path.exists(log_dir):
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
292 os.makedirs(log_dir)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
293 if os.path.isfile(log_file):
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
294 os.remove(log_file)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
295 if args.log_output:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
296 logging.basicConfig(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
297 filename=log_file,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
298 format="%(levelname)s - %(message)s",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
299 level=logging.INFO,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
300 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
301 else:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
302 logging.basicConfig(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
303 filename=log_file,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
304 format="%(levelname)s - %(message)s",
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
305 level=logging.INFO,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
306 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
307 logging.info("verbose mode on")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
308 gro = ""
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
309 xtc = ""
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
310 list_nbr_sub_traj = []
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
311 if args.verbose:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
312 logging.info("Start cut trajectory")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
313 if args.gro_file and ".gro" in args.gro_file:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
314 gro = os.path.basename(args.gro_file)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
315 else:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
316 if args.verbose:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
317 logging.error("The entry is not a file or is not a .gro file")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
318 sys.exit(1)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
319 if args.xtc_file and ".xtc" in args.xtc_file:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
320 xtc = os.path.basename(args.xtc_file)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
321 else:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
322 if args.verbose:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
323 logging.error("The entry is not a file or is not a .xtc file")
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
324 sys.exit(1)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
325 if ".tsv" in args.nbr_sub_traj:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
326 list_nbr_sub_traj = search_nbr_sub_traj(args.nbr_sub_traj)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
327 nb_sub_traj = list_nbr_sub_traj[1]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
328 else:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
329 nb_sub_traj = int(args.nbr_sub_traj)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
330 nb_steps_time_step = search_nbr_steps_time_step(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
331 args.input_check)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
332 if args.start_traj and args.start_traj != "":
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
333 start_trajectory = int(args.start_traj)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
334 else:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
335 start_trajectory = 0
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
336 if args.end_traj and args.end_traj != "":
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
337 end_trajectory = int(args.end_traj)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
338 else:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
339 end_trajectory = nb_steps_time_step[0] - 1
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
340 len_trajectory = end_trajectory - start_trajectory + 1
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
341 list_nbr_sub_traj = [
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
342 len_trajectory,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
343 nb_sub_traj,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
344 nb_steps_time_step[1],
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
345 len_trajectory // nb_sub_traj,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
346 start_trajectory,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
347 end_trajectory,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
348 ]
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
349 if nb_sub_traj >= (int(list_nbr_sub_traj[0]) // 2):
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
350 if args.verbose:
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
351 logging.error(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
352 "The number of averages requested is greater than "
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
353 "half the trajectory size"
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
354 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
355 print(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
356 "Number of requested sub-trajectories too large compared "
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
357 "to the size of the trajectory"
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
358 )
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
359 sys.exit(2)
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
360 nb_cpus = args.number_cpus
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
361 launch_cut_traj(
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
362 list_nbr_sub_traj, gro, xtc, out_directory, log_file,
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
363 args.group_output, nb_cpus
e504457035e5 "planemo upload for repository https://github.com/mesocentre-clermont-auvergne/aubi_piaf commit b6488400d4478d46697019485e912c38ea2202a5-dirty"
agpetit
parents:
diff changeset
364 )