Example usage for com.mongodb DBCursor next

List of usage examples for com.mongodb DBCursor next

Introduction

In this page you can find the example usage for com.mongodb DBCursor next.

Prototype

@Override
public DBObject next() 

Source Link

Document

Returns the object the cursor is at and moves the cursor ahead by one.

Usage

From source file:act.server.MongoDB.java

License:Open Source License

public List<Long> getRxnsWithEnzyme(String enzyme, Long org, List<Long> substrates) {
    BasicDBObject query = new BasicDBObject();
    query.put("ecnum", enzyme);
    query.put("organisms.id", org);
    for (Long substrate : substrates) {
        BasicDBObject mainQuery = new BasicDBObject();
        mainQuery.put("$ne", substrate);
        BasicDBList queryList = new BasicDBList();
        BasicDBObject productQuery = new BasicDBObject();
        productQuery.put("enz_summary.products.pubchem", mainQuery);
        BasicDBObject substrateQuery = new BasicDBObject();
        substrateQuery.put("enz_summary.substrates.pubchem", mainQuery);
        queryList.add(substrateQuery);//from   w  w w  . j  a v  a 2s .  c om
        queryList.add(productQuery);
        query.put("$or", queryList);
    }
    DBCursor cur = this.dbReactions.find(query);

    List<Long> reactions = new ArrayList<Long>();
    while (cur.hasNext()) {
        DBObject o = cur.next();
        long id = (Integer) o.get("_id"); // checked: db type IS int
        reactions.add(id);
    }
    cur.close();
    return reactions;
}

From source file:act.server.MongoDB.java

License:Open Source License

public List<Long> getRxnsWithSubstrate(String enzyme, Long org, List<Long> substrates) {
    BasicDBObject query = new BasicDBObject();
    query.put("organisms.id", org);
    BasicDBObject enzymeQuery = new BasicDBObject();
    enzymeQuery.put("ecnum", enzyme);
    query.put("$ne", enzymeQuery);
    for (Long substrate : substrates) {
        BasicDBList queryList = new BasicDBList();
        DBObject querySubstrate = new BasicDBObject();
        querySubstrate.put("enz_summary.substrates.pubchem", substrate);
        DBObject queryProduct = new BasicDBObject();
        queryProduct.put("enz_summary.products.pubchem", substrate);
        queryList.add(querySubstrate);//from  w ww. ja va  2  s. co  m
        queryList.add(queryProduct);
        query.put("$or", queryList);
    }

    DBCursor cur = this.dbReactions.find(query);
    List<Long> reactions = new ArrayList<Long>();
    while (cur.hasNext()) {
        DBObject o = cur.next();
        long id = (Integer) o.get("_id"); // checked: db type IS int
        reactions.add(id);
    }
    cur.close();
    return reactions;
}

From source file:act.server.MongoDB.java

License:Open Source License

public List<Chemical> constructAllChemicalsFromActData(String field, Object val, BasicDBObject keys) {
    DBCursor cur = constructCursorForMatchingChemicals(field, val, keys);

    List<Chemical> chems = new ArrayList<Chemical>();
    while (cur.hasNext())
        chems.add(convertDBObjectToChemical(cur.next()));

    cur.close();/* ww w  .  ja  va  2  s  .  com*/
    return chems;
}

From source file:act.server.MongoDB.java

License:Open Source License

public Map<String, Long> constructAllInChIs() {
    Map<String, Long> chems = new HashMap<String, Long>();
    BasicDBObject keys = new BasicDBObject();
    keys.append("_id", true);
    keys.append("InChI", true);
    DBCursor cur = constructCursorForMatchingChemicals(null, null, keys);
    while (cur.hasNext()) {
        DBObject o = cur.next();
        long uuid = (Long) o.get("_id"); // checked: db type IS long
        String inchi = (String) o.get("InChI");
        chems.put(inchi, uuid);/* w  w w  .  j  a v  a 2 s  .  co m*/
    }

    cur.close();
    return chems;
}

From source file:act.server.MongoDB.java

License:Open Source License

public void smartsMatchAllChemicals(String target) {
    Indigo indigo = new Indigo();
    IndigoInchi inchi = new IndigoInchi(indigo);
    IndigoObject query = indigo.loadSmarts(target);
    query.optimize();//from   w w w . j ava2s .  co m

    DBCursor cur = constructCursorForAllChemicals();
    IndigoObject mol = null, matcher;
    int cnt;
    while (cur.hasNext()) {
        Chemical c = convertDBObjectToChemical(cur.next());
        try {
            mol = inchi.loadMolecule(c.getInChI());
        } catch (IndigoException e) {
            if (e.getMessage().startsWith("core: Indigo-InChI: InChI loading failed:"))
                continue; // could not load
        }
        matcher = indigo.substructureMatcher(mol);
        if ((cnt = matcher.countMatches(query)) > 0) {
            // matches.add(c); memout's
            System.out.format("%d\t%s\n", c.getUuid(), c.getInChI());
        }
    }
    cur.close();
}

From source file:act.server.MongoDB.java

License:Open Source License

public Set<Reaction> getReactionsConstrained(Map<String, Object> equalityCriteria) {
    BasicDBList andList = new BasicDBList();
    for (String k : equalityCriteria.keySet()) {
        BasicDBObject query = new BasicDBObject();
        query.put(k, equalityCriteria.get(k));
        andList.add(query);//from   ww w .j  a v  a  2  s.com
    }
    BasicDBObject query = new BasicDBObject();
    query.put("$and", andList);
    DBCursor cur = this.dbReactions.find(query);

    Set<Reaction> results = new HashSet<Reaction>();
    while (cur.hasNext()) {
        results.add(convertDBObjectToReaction(cur.next()));
    }
    return results;
}

From source file:act.server.MongoDB.java

License:Open Source License

private List<Chemical> keywordInChemicals(String in_field, String keyword) {
    List<Chemical> chemicals = new ArrayList<Chemical>();

    DBCursor cur = constructCursorForMatchingChemicals(in_field, keyword, null);
    while (cur.hasNext()) {
        DBObject o = cur.next();
        chemicals.add(convertDBObjectToChemical(o));
    }/*from   w ww.j av a2 s .c  o m*/
    cur.close();

    return chemicals;
}

From source file:act.server.MongoDB.java

License:Open Source License

private List<Seq> keywordInSequence(String in_field, String keyword) {
    List<Seq> seqs = new ArrayList<Seq>();
    BasicDBObject query = new BasicDBObject();
    query.put(in_field, keyword);//w  w  w.  j av  a  2s  .co  m

    BasicDBObject keys = new BasicDBObject();

    DBCursor cur = this.dbSeq.find(query, keys);
    while (cur.hasNext()) {
        DBObject o = cur.next();
        seqs.add(convertDBObjectToSeq(o));
    }
    cur.close();

    return seqs;
}

From source file:act.server.MongoDB.java

License:Open Source License

private List<DBObject> keywordInCascade(String in_field, String keyword) {
    List<DBObject> cascades = new ArrayList<DBObject>();
    BasicDBObject query = new BasicDBObject();
    query.put(in_field, keyword);//w w  w.  j av  a  2  s . c o m

    BasicDBObject keys = new BasicDBObject();

    DBCursor cur = this.dbCascades.find(query, keys);
    while (cur.hasNext()) {
        DBObject o = cur.next();
        cascades.add(convertDBObjectToCascade(o));
    }
    cur.close();

    return cascades;
}

From source file:act.server.MongoDB.java

License:Open Source License

private List<DBObject> keywordInWaterfall(String in_field, String keyword) {
    List<DBObject> waterfalls = new ArrayList<DBObject>();
    BasicDBObject query = new BasicDBObject();
    query.put(in_field, keyword);//from  w w w . ja  va  2  s.  co  m

    BasicDBObject keys = new BasicDBObject();

    DBCursor cur = this.dbWaterfalls.find(query, keys);
    while (cur.hasNext()) {
        DBObject o = cur.next();
        waterfalls.add(convertDBObjectToWaterfall(o));
    }
    cur.close();

    return waterfalls;
}