import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
-import org.json.simple.JSONArray;
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
/**
// TODO: use a vararg String... for getSequenceRecords instead?
List<String> queries = new ArrayList<>();
queries.add(query);
- BufferedReader fp = getSequenceReader(queries);
- if (fp == null)
- {
- return null;
- }
-
- SequenceI seq = parseFeaturesJson(fp);
+ SequenceI seq = parseFeaturesJson(queries);
+ if (seq == null)
+ return null;
return new Alignment(new SequenceI[] { seq });
}
* @param br
* @return
*/
- private SequenceI parseFeaturesJson(BufferedReader br)
+ @SuppressWarnings("unchecked")
+private SequenceI parseFeaturesJson(List<String> queries)
{
+
+
SequenceI seq = new Sequence("Dummy", "");
- JSONParser jp = new JSONParser();
try
{
- JSONArray responses = (JSONArray) jp.parse(br);
- Iterator rvals = responses.iterator();
+
+ Iterator<Object> rvals = (Iterator<Object>) getJSON(null, queries, -1, MODE_ITERATOR, null);
+ if (rvals == null)
+ return null;
while (rvals.hasNext())
{
try
{
- JSONObject obj = (JSONObject) rvals.next();
+ Map<String, Object> obj = (Map<String, Object>) rvals.next();
String type = obj.get("feature_type").toString();
int start = Integer.parseInt(obj.get("start").toString());
int end = Integer.parseInt(obj.get("end").toString());
String source = obj.get("source").toString();
String strand = obj.get("strand").toString();
String alleles = JSONUtils
- .arrayToList((JSONArray) obj.get("alleles"));
+ .arrayToStringList((List<Object>) obj.get("alleles"));
String clinSig = JSONUtils
- .arrayToList(
- (JSONArray) obj.get("clinical_significance"));
+ .arrayToStringList(
+ (List<Object>) obj.get("clinical_significance"));
/*
* convert 'variation' to 'sequence_variant', and 'cds' to 'CDS'
}
} catch (ParseException | IOException e)
{
+ e.printStackTrace();
// ignore
}
return seq;
}
- /**
+
+/**
* Returns the first non-null attribute found (if any) as a string
*
* @param obj
* @param keys
* @return
*/
- protected String getFirstNotNull(JSONObject obj, String... keys)
+ protected String getFirstNotNull(Map<String, Object> obj, String... keys)
{
String desc = null;
* @param obj
* @param key
*/
- protected void setFeatureAttribute(SequenceFeature sf, JSONObject obj,
+ protected void setFeatureAttribute(SequenceFeature sf, Map<String, Object> obj,
String key)
{
Object object = obj.get(key);