Skip to content

Commit 0109ed4

Browse files
authored
Merge pull request #201 from wltrimbl/master
Maintenance
2 parents 2ad2bd8 + 5eef5bd commit 0109ed4

11 files changed

Lines changed: 37 additions & 25 deletions

examples/python/list_all_mg.py

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,29 @@
1-
#!/usr/bin/env python2
1+
#!/usr/bin/env python
22
'''This script retrieves a list of metagenomes from the MG-RAST API.'''
33
from __future__ import print_function
4-
import urllib
4+
from __future__ import unicode_literals
55
import sys
66

7-
from mglib import get_auth_token, obj_from_url, API_URL
7+
from mglib import get_auth_token, obj_from_url, API_URL, urlencode
88

99
def printlist(js):
1010
'''prints essential fields from metagenome list'''
1111
for item in js["data"]:
1212
if "public" in item.keys():
13-
public = repr(item["public"])
13+
public = item["public"]
1414
else:
15-
public = "False"
16-
sys.stdout.write( ("\t".join([item["metagenome_id"],
17-
# str(len(item.keys())),
18-
public, item["created_on"],
19-
item["name"]]) + "\n").encode("utf-8"))
15+
public = False
16+
try:
17+
mg_name= item["name"]
18+
project_id = item["project_id"]
19+
project_name = item["project_name"]
20+
except KeyError:
21+
sys.stderr.write(repr(item))
22+
sys.stdout.write(("\t".join([item["metagenome_id"],
23+
# str(len(item.keys())),
24+
repr(public), item["created_on"],
25+
mg_name, project_id, project_name]) + "\n"))
2026

21-
CALL = "/metagenome"
2227
CALL = "/search"
2328

2429
key = get_auth_token()
@@ -28,19 +33,21 @@ def printlist(js):
2833

2934
# construct API call
3035

31-
parameters = {"limit": limit, "auth": key, "order":"created_on", "direction": "asc"}
32-
base_url = API_URL + CALL + "?" + urllib.urlencode(parameters)
36+
parameters = {"limit": limit, "order":"created_on", "direction": "asc", "public": "1"}
37+
API_URL= "https://api.mg-rast.org/"
38+
39+
base_url = API_URL + CALL + "?" + urlencode(parameters)
3340

3441
# convert the data from a JSON structure to a python data type, a dict of dicts.
35-
jsonstructure = obj_from_url(base_url)
42+
jsonstructure = obj_from_url(base_url, auth=key)
3643

3744
# unpack and display the data table
3845
total_count = int(jsonstructure["total_count"])
3946
sys.stderr.write("Total number of records: {:d}\n".format(total_count))
4047

41-
for i in range(0, total_count / limit +1):
48+
for i in range(0, int(total_count / limit) +1):
4249
sys.stderr.write("Page {:d}\t".format(i))
43-
jsonstructure = obj_from_url(base_url)
50+
jsonstructure = obj_from_url(base_url, auth=key)
4451
printlist(jsonstructure)
4552
try:
4653
next_url = jsonstructure["next"]

scripts/mg-abundant-functions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def main(args):
4848
parser.add_argument("--filter_level", dest="filter_level", default=None, help="function level to filter by")
4949
parser.add_argument("--top", dest="top", type=int, default=10, help="display only the top N taxa, default is 10")
5050
parser.add_argument("--evalue", dest="evalue", type=int, default=5, help="negative exponent value for maximum e-value cutoff, default is 5")
51-
parser.add_argument("--identity", dest="identity", type=int, default=60, help="percent value for minimum % identity cutoff, default is 60")
51+
parser.add_argument("--identity", dest="identity", type=int, default=60, help="percent value for minimum %% identity cutoff, default is 60")
5252
parser.add_argument("--length", dest="length", type=int, default=15, help="value for minimum alignment length cutoff, default is 15")
5353
parser.add_argument("--version", type=int, dest="version", default=1, help="M5NR annotation version to use, default is 1")
5454

scripts/mg-abundant-taxa.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def main(args):
4848
parser.add_argument("--filter_level", dest="filter_level", default=None, help="taxon level to filter by")
4949
parser.add_argument("--top", dest="top", type=int, default=10, help="display only the top N taxa, default is 10")
5050
parser.add_argument("--evalue", dest="evalue", type=int, default=5, help="negative exponent value for maximum e-value cutoff, default is 5")
51-
parser.add_argument("--identity", dest="identity", type=int, default=60, help="percent value for minimum % identity cutoff, default is 60")
51+
parser.add_argument("--identity", dest="identity", type=int, default=60, help="percent value for minimum %% identity cutoff, default is 60")
5252
parser.add_argument("--length", dest="length", type=int, default=15, help="value for minimum alignment length cutoff, default is 15")
5353
parser.add_argument("--version", type=int, dest="version", default=1, help="M5NR annotation version to use, default is 1")
5454

scripts/mg-compare-functions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def main(args):
5555
parser.add_argument("--output", dest="output", default='-', help="output: filename or stdout (-), default is stdout")
5656
parser.add_argument("--format", dest="format", default='biom', help="output format: 'text' for tabbed table, 'biom' for BIOM format, default is biom")
5757
parser.add_argument("--evalue", type=int, dest="evalue", default=15, help="negative exponent value for maximum e-value cutoff, default is 15")
58-
parser.add_argument("--identity", type=int, dest="identity", default=60, help="percent value for minimum % identity cutoff, default is 60")
58+
parser.add_argument("--identity", type=int, dest="identity", default=60, help="percent value for minimum %% identity cutoff, default is 60")
5959
parser.add_argument("--length", type=int, dest="length", default=15, help="value for minimum alignment length cutoff, default is 15")
6060
parser.add_argument("--version", type=int, dest="version", default=1, help="M5NR annotation version to use, default is 1")
6161
parser.add_argument("--temp", dest="temp", default=None, help="filename to temporarly save biom output at each iteration")

scripts/mg-compare-taxa.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def main(args):
5656
parser.add_argument("--output", dest="output", default='-', help="output: filename or stdout (-), default is stdout")
5757
parser.add_argument("--format", dest="format", default='biom', help="output format: 'text' for tabbed table, 'biom' for BIOM format, default is biom")
5858
parser.add_argument("--evalue", type=int, dest="evalue", default=15, help="negative exponent value for maximum e-value cutoff, default is 15")
59-
parser.add_argument("--identity", type=int, dest="identity", default=60, help="percent value for minimum % identity cutoff, default is 60")
59+
parser.add_argument("--identity", type=int, dest="identity", default=60, help="percent value for minimum %% identity cutoff, default is 60")
6060
parser.add_argument("--length", type=int, dest="length", default=15, help="value for minimum alignment length cutoff, default is 15")
6161
parser.add_argument("--version", type=int, dest="version", default=1, help="M5NR annotation version to use, default is 1")
6262
parser.add_argument("--temp", dest="temp", default=None, help="filename to temporarly save biom output at each iteration")

scripts/mg-export-metadata.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,11 @@ def write_worksheet_value(worksheet, r, c, v, f):
8383
if f == "text" or f == "ontology" or f == "select" or f == "timezone" or v == "":
8484
worksheet.write_string(r, c, v)
8585
elif f == "float" or f == "coordinate" or f == "int":
86-
worksheet.write_number(r, c, float(v))
86+
try:
87+
worksheet.write_number(r, c, float(v))
88+
except ValueError:
89+
worksheet.write_number(r, c, float(v.split(";")[0]))
90+
8791
elif f == "date":
8892
worksheet.write_string(r, c, v)
8993
elif f == "time":

scripts/mg-extract-sequences.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def main(args):
4545
parser.add_argument("--level", dest="level", default='function', help="function level to filter by")
4646
parser.add_argument("--source", dest="source", default='Subsystems', help="datasource to filter results by, default is Subsystems")
4747
parser.add_argument("--evalue", dest="evalue", default=5, help="negative exponent value for maximum e-value cutoff, default is 5")
48-
parser.add_argument("--identity", dest="identity", default=60, help="percent value for minimum % identity cutoff, default is 60")
48+
parser.add_argument("--identity", dest="identity", default=60, help="percent value for minimum %% identity cutoff, default is 60")
4949
parser.add_argument("--length", dest="length", default=15, help="value for minimum alignment length cutoff, default is 15")
5050
parser.add_argument("--status", dest="status", default="public", help="types of metagenomes to return. 'both' for all data (public and private), 'public' for public data, 'private' for users private data, default is public")
5151
for sfield in SEARCH_FIELDS:

scripts/mg-get-sequences-for-taxon.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def main(args):
4545
parser.add_argument("--level", dest="level", default=None, type=str, help="taxon level to filter by")
4646
parser.add_argument("--source", dest="source", default='SEED', type=str, help="datasource to filter results by, default is SEED")
4747
parser.add_argument("--evalue", dest="evalue", default=5, type=float, help="negative exponent value for maximum e-value cutoff, default is 5")
48-
parser.add_argument("--identity", dest="identity", default=60, type=float, help="percent value for minimum % identity cutoff, default is 60")
48+
parser.add_argument("--identity", dest="identity", default=60, type=float, help="percent value for minimum %% identity cutoff, default is 60")
4949
parser.add_argument("--length", dest="length", default=15, type=float, help="value for minimum alignment length cutoff, default is 15")
5050

5151
# get inputs

scripts/mg-get-similarity-for-function.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def main(args):
4545
parser.add_argument("--level", dest="level", default=None, help="function level to filter by")
4646
parser.add_argument("--source", dest="source", default='Subsystems', help="datasource to filter results by, default is Subsystems")
4747
parser.add_argument("--evalue", dest="evalue", default=5, help="negative exponent value for maximum e-value cutoff, default is 5")
48-
parser.add_argument("--identity", dest="identity", default=60, help="percent value for minimum % identity cutoff, default is 60")
48+
parser.add_argument("--identity", dest="identity", default=60, help="percent value for minimum %% identity cutoff, default is 60")
4949
parser.add_argument("--length", dest="length", default=15, help="value for minimum alignment length cutoff, default is 15")
5050

5151
# get inputs

scripts/mg-get-similarity-for-taxon.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def main(args):
4545
parser.add_argument("--level", dest="level", default=None, help="taxon level to filter by")
4646
parser.add_argument("--source", dest="source", default='SEED', help="datasource to filter results by, default is SEED")
4747
parser.add_argument("--evalue", dest="evalue", default=5, help="negative exponent value for maximum e-value cutoff, default is 5")
48-
parser.add_argument("--identity", dest="identity", default=60, help="percent value for minimum % identity cutoff, default is 60")
48+
parser.add_argument("--identity", dest="identity", default=60, help="percent value for minimum %% identity cutoff, default is 60")
4949
parser.add_argument("--length", dest="length", default=15, help="value for minimum alignment length cutoff, default is 15")
5050

5151
# get inputs

0 commit comments

Comments
 (0)