-
Notifications
You must be signed in to change notification settings - Fork 5
/
fragment_mols.py
37 lines (28 loc) · 1.32 KB
/
fragment_mols.py
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
import argparse, glob
from rdkit import Chem, DataStructs
from rdkit.Chem import AllChem
import Modules.file_io as file_io
import Modules.global_parameters as gl
import Modules.mol_utils as mol_utils
def main(outputfile):
# get filenames
frag_files = []
for pattern in gl.PARAMS["FRAGMENT_FILES"]:
frag_files += glob.glob(pattern)
# read files
fragment_mols = []
for fragment_file in frag_files:
fragment_mols += file_io.read_molfile(fragment_file)
# write fragments to file
mol_utils.get_fragments(fragment_mols, outputfile)
def parse_args():
"""Parses input arguments."""
parser = argparse.ArgumentParser(description="Options")
parser.add_argument("--configuration", "-c", type=str, default="configuration.txt",
help="Configuration file for everything except scoring function, DEFAULT: configuration.txt")
parser.add_argument("--output", "-o", type=str, default="mol_frags.csv", help="Name of output file")
return {k: v for k, v in vars(parser.parse_args()).items() if v is not None}
if __name__ == "__main__":
args = parse_args() # parse command line arguments
file_io.read_config(args["configuration"]) # read configuration file
main(args["output"]) # run program