annotate modify/change_title_to_metadata_value.py @ 10:cc63a42fd22e

Uploaded
author bgruening
date Sat, 25 May 2013 12:54:40 -0400
parents 6493d130f018
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
6493d130f018 Uploaded
bgruening
parents:
diff changeset
1 #!/usr/bin/env python
6493d130f018 Uploaded
bgruening
parents:
diff changeset
2 # -*- coding: UTF-8 -*-
6493d130f018 Uploaded
bgruening
parents:
diff changeset
3
6493d130f018 Uploaded
bgruening
parents:
diff changeset
4 """
6493d130f018 Uploaded
bgruening
parents:
diff changeset
5 Change the title from a molecule file to metadata
6493d130f018 Uploaded
bgruening
parents:
diff changeset
6 value of a given-id of the same molecule file.
6493d130f018 Uploaded
bgruening
parents:
diff changeset
7 """
6493d130f018 Uploaded
bgruening
parents:
diff changeset
8
6493d130f018 Uploaded
bgruening
parents:
diff changeset
9 import os, sys
6493d130f018 Uploaded
bgruening
parents:
diff changeset
10 import argparse
6493d130f018 Uploaded
bgruening
parents:
diff changeset
11 import openbabel
6493d130f018 Uploaded
bgruening
parents:
diff changeset
12 openbabel.obErrorLog.StopLogging()
6493d130f018 Uploaded
bgruening
parents:
diff changeset
13 import pybel
6493d130f018 Uploaded
bgruening
parents:
diff changeset
14
6493d130f018 Uploaded
bgruening
parents:
diff changeset
15
6493d130f018 Uploaded
bgruening
parents:
diff changeset
16 def main():
6493d130f018 Uploaded
bgruening
parents:
diff changeset
17 parser = argparse.ArgumentParser(
6493d130f018 Uploaded
bgruening
parents:
diff changeset
18 description="Change the title from a molecule file to metadata \
6493d130f018 Uploaded
bgruening
parents:
diff changeset
19 value of a given-id of the same molecule file.",
6493d130f018 Uploaded
bgruening
parents:
diff changeset
20 )
6493d130f018 Uploaded
bgruening
parents:
diff changeset
21 parser.add_argument('--infile', '-i',
6493d130f018 Uploaded
bgruening
parents:
diff changeset
22 required=True, help="path to the input file")
6493d130f018 Uploaded
bgruening
parents:
diff changeset
23 parser.add_argument('--outfile', '-o',
6493d130f018 Uploaded
bgruening
parents:
diff changeset
24 required=True, help="path to the output file")
6493d130f018 Uploaded
bgruening
parents:
diff changeset
25 parser.add_argument('--key', '-k',
6493d130f018 Uploaded
bgruening
parents:
diff changeset
26 required=True, help="the metadata key from the sdf file which should inlcude the new title")
6493d130f018 Uploaded
bgruening
parents:
diff changeset
27
6493d130f018 Uploaded
bgruening
parents:
diff changeset
28 args = parser.parse_args()
6493d130f018 Uploaded
bgruening
parents:
diff changeset
29
6493d130f018 Uploaded
bgruening
parents:
diff changeset
30 output = pybel.Outputfile("sdf", args.outfile, overwrite=True)
6493d130f018 Uploaded
bgruening
parents:
diff changeset
31
6493d130f018 Uploaded
bgruening
parents:
diff changeset
32 for mol in pybel.readfile("sdf", args.infile):
6493d130f018 Uploaded
bgruening
parents:
diff changeset
33 if args.key in mol.data:
6493d130f018 Uploaded
bgruening
parents:
diff changeset
34 mol.title = mol.data[args.key]
6493d130f018 Uploaded
bgruening
parents:
diff changeset
35 output.write( mol )
6493d130f018 Uploaded
bgruening
parents:
diff changeset
36
6493d130f018 Uploaded
bgruening
parents:
diff changeset
37 output.close()
6493d130f018 Uploaded
bgruening
parents:
diff changeset
38
6493d130f018 Uploaded
bgruening
parents:
diff changeset
39
6493d130f018 Uploaded
bgruening
parents:
diff changeset
40 if __name__ == "__main__":
6493d130f018 Uploaded
bgruening
parents:
diff changeset
41 main()
6493d130f018 Uploaded
bgruening
parents:
diff changeset
42