-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.py
More file actions
75 lines (52 loc) · 2.16 KB
/
Copy pathMain.py
File metadata and controls
75 lines (52 loc) · 2.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env python
#-*- coding : utf8 -*-
"""
Author : LesBellesGosses
Description : Projet Barstar
"""
import argparse,os,glob,shutil,sys
import Global as Global
import Local as Local
import StructureTools as ST
########################################################
# Arguments
########################################################
parser = argparse.ArgumentParser()
parser.add_argument("-p", help="Path to directory where pdb files are stored")
parser.add_argument("-a", help="Type of analysis: global or local or both")
args = parser.parse_args()
if args.p == None or args.a == None: #si l'un des arguments est vide
parser.print_help()
parser.exit()
path=args.p
analyse=args.a
path=os.path.abspath(path)
########################################################
# Etapes preliminaires
########################################################
#on supprime le dossier contenant les resultats de l'execution precedente (s'il existe) afin d'eviter les chevauchements
#le dossier "PythonProgResults" sert a stocker les fichiers de sortie
try:
shutil.rmtree("%s/PythonProgResults"%path)
except OSError:
pass
os.chdir(path)
fichiers=glob.iglob("*.pdb") #si le path est vers un dossier, on lira tous les fichiers pdb
os.mkdir("%s/PythonProgResults"%path)
#########################################################
# Main
#########################################################
dico_ref=ST.ParsingPDB("start_prot_only.pdb")#dictionnaire de reference de la structure d'origine
if (analyse == "global"): #si vous voulez seulement une analyse globale
for fichier in fichiers:
if fichier!="start_prot_only.pdb":
Global.Global(fichier,dico_ref,path)
elif (analyse == "local"): #si vous voulez seulement une analyse locale
for fichier in fichiers:
if fichier!="start_prot_only.pdb":
Local.Local(fichier,dico_ref,path)
else : #si vous voulez a la fois une analyse globale et une analyse locale
for fichier in fichiers:
if fichier!="start_prot_only.pdb":
Global.Global(fichier,dico_ref,path)
Local.Local(fichier,dico_ref,path)