annotate tools/validation/validate.py @ 1:cdcb0ce84a1b

Uploaded
author xuebing
date Fri, 09 Mar 2012 19:45:15 -0500
parents 9071e359b9a3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
1 #!/usr/bin/env python
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
2
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
3 """
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
4 Validate a dataset based on extension a metadata passed in on the
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
5 command line. Outputs a binhex'd representation of the exceptions.
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
6
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
7 usage: %prog input output
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
8 -m, --metadata=N: base64 pickeled metadata
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
9 -x, --ext=N: extension as understood by galaxy
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
10 """
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
11
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
12 import pkg_resources; pkg_resources.require( "bx-python" )
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
13 from bx.cookbook import doc_optparse
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
14
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
15 from galaxy import model
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
16 from fileinput import FileInput
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
17 from galaxy import util
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
18
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
19 def main():
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
20 options, args = doc_optparse.parse( __doc__ )
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
21
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
22 try:
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
23 extension = options.ext
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
24 except:
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
25 doc_optparse.exception()
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
26
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
27 # create datatype
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
28 data = model.Dataset( extension=extension, id=int( args[0] ) )
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
29 data.file_path = "/home/ian/trunk/database/files/"
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
30
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
31 if options.metadata:
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
32 data.metadata = util.string_to_object( options.metadata )
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
33
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
34 errors = data.datatype.validate( data )
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
35 print util.object_to_string(errors)
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
36
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
37 if __name__ == "__main__":
9071e359b9a3 Uploaded
xuebing
parents:
diff changeset
38 main()