List of usage examples for com.mongodb.client.model Filters eq
public static <TItem> Bson eq(final String fieldName, @Nullable final TItem value)
From source file:module.script.TransferFromEpimedProd.java
License:Open Source License
@SuppressWarnings({ "unused", "unchecked" }) public TransferFromEpimedProd() { // ===== Session PostgreSQL ===== SessionFactory sessionFactory = HibernateUtil .buildSessionFactory("config/epimed_semantic.hibernate.cfg.xml"); Session session = sessionFactory.openSession(); // ===== Session Mongo ===== MongoClient mongoClient = MongoUtil.buildMongoClient(); MongoDatabase db = mongoClient.getDatabase("epimed_experiments"); MongoCollection<Document> collection = db.getCollection("samples"); String sql = "select * from epimed_prod.view_exp_group order by main_gse_number, id_sample"; List<Object> list = session.createSQLQuery(sql).setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP).list(); String[] commonAttributes = { "pathology", "tnm_stage", "id_topology_group", "histology_subtype", "tissue_stage", "dead", "dfs_months", "age_max", "morphology", "id_tissue_stage", "topology", "sex", "age_min", "m", "topology_group", "n", "t", "collection_method", "id_morphology", "relapsed", "histology_type", "os_months", "id_topology" }; List<ClPathology> listPathology = session.createCriteria(ClPathology.class).list(); Map<String, ClPathology> mapPathology = new HashMap<String, ClPathology>(); for (ClPathology p : listPathology) { mapPathology.put(p.getName(), p); }// w w w .j a va2s .com List<ClTissueStatus> listTissueStatus = session.createCriteria(ClTissueStatus.class).list(); Map<Integer, ClTissueStatus> mapTissueStatus = new HashMap<Integer, ClTissueStatus>(); for (ClTissueStatus t : listTissueStatus) { mapTissueStatus.put(t.getIdTissueStatus(), t); } System.out.println(listTissueStatus); for (Object item : list) { Map<String, Object> map = (HashMap<String, Object>) item; String gsmNumber = (String) map.get("id_sample"); String gseNumber = (String) map.get("main_gse_number"); System.out.println("-----------------------------"); System.out.println(gseNumber + " " + gsmNumber); Document doc = collection.find(Filters.eq("_id", gsmNumber)).first(); if (doc != null) { Document expGroup = (Document) doc.get("exp_group"); for (int j = 0; j < commonAttributes.length; j++) { String attr = commonAttributes[j]; expGroup.put(attr, map.get(attr)); } // Treatment expGroup.put("treatment", map.get("treatment_type")); // Pathology String pathoString = (String) map.get("pathology"); ClPathology pathology = mapPathology.get(pathoString); if (pathology != null) { expGroup.put("id_pathology", pathology.getIdPathology()); expGroup.put("pathology", pathology.getName()); } // Tissue status Integer idTissueStatus = (Integer) map.get("id_tissue_status"); if (idTissueStatus != null && idTissueStatus > 3) { idTissueStatus = 3; } ClTissueStatus tissueStatus = mapTissueStatus.get(idTissueStatus); if (tissueStatus != null) { expGroup.put("id_tissue_status", tissueStatus.getIdTissueStatus()); expGroup.put("tissue_status", tissueStatus.getName()); } System.out.println("idTissueStatus=" + tissueStatus + ", pathology=" + pathology); System.out.println(expGroup); // Update Mongo document doc.put("exp_group", expGroup); doc.put("analyzed", true); UpdateResult updateResult = collection.updateOne(Filters.eq("_id", gsmNumber), new Document("$set", doc)); } } if (session.isOpen()) { session.close(); } sessionFactory.close(); mongoClient.close(); }
From source file:module.test.CustomExport.java
License:Open Source License
public CustomExport() { // ===== Connection ===== MongoClient mongoClient = MongoUtil.buildMongoClient(); MongoDatabase db = mongoClient.getDatabase("epimed_experiments"); MongoCollection<Document> collection = db.getCollection("samples"); // ===== Find exp_group in the database ===== // === Query 1 === /*/*from ww w . j av a 2 s .com*/ String queryName = "breast_cancer_GPL570"; List<Bson> filters = new ArrayList<Bson>(); filters.add(Filters.eq("exp_group.id_platform", "GPL570")); filters.add(Filters.eq("exp_group.id_topology_group", "C50")); filters.add(Filters.eq("exp_group.id_tissue_status", 3)); // tumoral */ // === Query 2 === /* String queryName = "breast_normal_GPL570"; List<Bson> filters = new ArrayList<Bson>(); filters.add(Filters.eq("exp_group.id_platform", "GPL570")); filters.add(Filters.eq("exp_group.id_topology_group", "C50")); filters.add(Filters.eq("exp_group.id_tissue_status", 1)); // normal */ // === Query 3 === String queryName = "breast_cancer_with_survival_GPL570"; List<Bson> filters = new ArrayList<Bson>(); filters.add(Filters.eq("exp_group.id_platform", "GPL570")); filters.add(Filters.eq("exp_group.id_topology_group", "C50")); filters.add(Filters.eq("exp_group.id_tissue_status", 3)); // tumoral filters.add(Filters.or(Filters.ne("exp_group.os_months", null), Filters.ne("exp_group.dfss_months", null), Filters.ne("exp_group.relapsed", null), Filters.ne("exp_group.dead", null))); Bson filter = Filters.and(filters); Long nbSamples = collection.count(filter); List<String> listSeries = collection.distinct("exp_group.main_gse_number", filter, String.class) .into(new ArrayList<String>()); queryName = queryName + "_" + nbSamples + "_samples_" + listSeries.size() + "_series"; List<Document> docExpGroup = collection.find(filter) .projection(Projections.fields(Projections.include("exp_group"), Projections.excludeId())) .into(new ArrayList<Document>()); List<Document> docParam = collection.find(filter) .projection(Projections.fields(Projections.include("parameters"), Projections.excludeId())) .into(new ArrayList<Document>()); mongoClient.close(); // ===== Load Exp Group into a matrix ===== List<String> headerExpGroup = new ArrayList<String>(); List<Object> dataExpGroup = new ArrayList<Object>(); for (int i = 0; i < docExpGroup.size(); i++) { Map<String, String> expGroup = (Map<String, String>) docExpGroup.get(i).get("exp_group"); if (i == 0) { headerExpGroup.addAll(expGroup.keySet()); } Object[] dataLine = new Object[headerExpGroup.size()]; for (int j = 0; j < headerExpGroup.size(); j++) { dataLine[j] = expGroup.get(headerExpGroup.get(j)); } dataExpGroup.add(dataLine); } // ===== Load Params into a matrix ===== Set<String> headerParamSet = new HashSet<String>(); List<String> headerParam = new ArrayList<String>(); List<Object> dataParam = new ArrayList<Object>(); for (int i = 0; i < docParam.size(); i++) { Map<String, String> param = (Map<String, String>) docParam.get(i).get("parameters"); headerParamSet.addAll(param.keySet()); } headerParam.addAll(headerParamSet); Collections.sort(headerParam); for (int i = 0; i < docParam.size(); i++) { Map<String, String> param = (Map<String, String>) docParam.get(i).get("parameters"); Object[] dataLine = new Object[headerParam.size()]; for (int j = 0; j < headerParam.size(); j++) { dataLine[j] = param.get(headerParam.get(j)); } // System.out.println(Arrays.toString(dataLine)); dataParam.add(dataLine); } // === Output === String fileName = this.getOutputDirectory() + this.getDirSeparator() + "EpiMed_database_" + queryName + "_" + dateFormat.format(new Date()) + ".xlsx"; System.out.println(fileName); XSSFWorkbook workbook = fileService.createWorkbook(); fileService.addSheet(workbook, "exp_group_" + dateFormat.format(new Date()), headerExpGroup, dataExpGroup); fileService.addSheet(workbook, "parameters_" + dateFormat.format(new Date()), headerParam, dataParam); fileService.writeWorkbook(workbook, fileName); }
From source file:module.test.SearchPlatforms.java
License:Open Source License
public SearchPlatforms() { // ===== Connection ===== MongoClient mongoClient = MongoUtil.buildMongoClient(); MongoDatabase db = mongoClient.getDatabase("epimed_experiments"); MongoCollection<Document> collectionSamples = db.getCollection("sample"); MongoCollection<Document> collectionPlatforms = db.getCollection("platform"); List<Document> list = collectionSamples .aggregate(Arrays.asList(Aggregates.group("$exp_group.id_platform", Accumulators.sum("total", 1)), Aggregates.sort(Sorts.orderBy(Sorts.descending("total"))))) .into(new ArrayList<Document>()); for (int i = 0; i < list.size(); i++) { System.out.println((i + 1) + " " + list.get(i)); }//from w w w . ja v a 2s. c o m // collectionPlatforms.find(Filters.regex("title", ".*ethyl.*")).forEach(printBlock); collectionPlatforms.find(Filters.eq("id_organism", "9606")).forEach(printBlock); mongoClient.close(); }
From source file:module.test.SearchSamples.java
License:Open Source License
public SearchSamples() { // ===== Connection ===== MongoClient mongoClient = MongoUtil.buildMongoClient(); MongoDatabase db = mongoClient.getDatabase("epimed_experiments"); MongoCollection<Document> collectionSamples = db.getCollection("samples"); List<Document> list = collectionSamples.find(Filters.and(Filters.eq("exp_group.id_tissue_stage", 4), Filters.ne("exp_group.main_gse_number", "GSE30654"))).into(new ArrayList<Document>()); for (Document document : list) { System.out.println(document); }/*from w ww . j av a 2s . c o m*/ mongoClient.close(); }
From source file:module.UpdateNumberSamples.java
License:Open Source License
public UpdateNumberSamples() { // ===== Connection ===== MongoClient mongoClient = MongoUtil.buildMongoClient(); MongoDatabase db = mongoClient.getDatabase("epimed_experiments"); MongoCollection<Document> collectionSeries = db.getCollection("series"); MongoCollection<Document> collectionSamples = db.getCollection("sample"); // String [] listIdSeries = {"TISSUE_SPECIFIC_GENES_MM"}; // List<Document> listSeries = collectionSeries.find(Filters.in("_id", listIdSeries)).into(new ArrayList<Document>()); List<Document> listSeries = collectionSeries.find().into(new ArrayList<Document>()); for (Document ser : listSeries) { System.out.println(ser);/*from ww w.ja va 2 s .c o m*/ String idSeries = ser.getString("_id"); Bson filter = Filters.in("series", idSeries); Long nbSamples = collectionSamples.count(filter); System.out.println(idSeries + " " + nbSamples); ser.append("nb_samples", nbSamples); collectionSeries.updateOne(Filters.eq("_id", idSeries), new Document("$set", ser)); } mongoClient.close(); }
From source file:module.UpdatePlatformType.java
License:Open Source License
public UpdatePlatformType() { // ===== Connection ===== MongoClient mongoClient = MongoUtil.buildMongoClient(); MongoDatabase db = mongoClient.getDatabase("epimed_experiments"); MongoCollection<Document> collectionPlatforms = db.getCollection("platform"); MongoCollection<Document> collectionSeries = db.getCollection("series"); // ===== Platforms ===== Bson filters = Filters.eq("type", "unknown"); List<Document> listPlatforms = collectionPlatforms.find(filters).into(new ArrayList<Document>()); for (Document platform : listPlatforms) { System.out.println("--------------------------------------------------------------"); String idPlatform = platform.getString("_id"); System.out.println(platform); List<Document> listSeries = collectionSeries.find(Filters.in("platforms", idPlatform)) .into(new ArrayList<Document>()); for (Document series : listSeries) { System.out.println(" \t -> " + series.getString("_id") + " " + series.getString("title")); }/* ww w. ja va 2 s. c o m*/ // platform.append("type", "expression array"); // collectionPlatforms.updateOne(Filters.eq("_id", idPlatform), new Document("$set", platform)); } mongoClient.close(); }
From source file:module.UpdateTissueStatus.java
License:Open Source License
public UpdateTissueStatus() { // ===== Connection ===== MongoClient mongoClient = MongoUtil.buildMongoClient(); MongoDatabase db = mongoClient.getDatabase("epimed_experiments"); MongoCollection<Document> collectionSample = db.getCollection("sample"); List<Document> samples = collectionSample.find().into(new ArrayList<Document>()); ;/*from ww w . ja v a 2 s . co m*/ for (Document sample : samples) { Document expgroup = sample.get("exp_group", Document.class); Integer idTissueStatus = expgroup.getInteger("id_tissue_status"); if (idTissueStatus != null) { if (idTissueStatus.equals(1)) { expgroup.put("tissue_status", "normal"); } if (idTissueStatus.equals(2)) { expgroup.put("tissue_status", "pathological_non_tumoral"); } if (idTissueStatus.equals(3)) { expgroup.put("tissue_status", "tumoral"); } sample.put("exp_group", expgroup); System.out.println(sample.get("exp_group", Document.class)); collectionSample.updateOne(Filters.eq("_id", sample.getString("_id")), new Document("$set", sample)); } } mongoClient.close(); }
From source file:mongodb.clients.percunia.mongo.Restriction.java
License:Apache License
public static <T> Bson eq(String field, T value) { return Filters.eq(field, value); }
From source file:mongodbmanipulation.UserInterface.java
private void jButtonAddColumnActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonAddColumnActionPerformed // TODO add your handling code here: String colName = JOptionPane.showInputDialog(this, "Enter New Column Name:", "New Column Info", QUESTION_MESSAGE);// w w w . j av a 2 s . c om if (colName == null) { return; } String idName = JOptionPane.showInputDialog(this, "Enter _id of the document in which you want to add this column:", "New Column Info", QUESTION_MESSAGE); if (colName == null) { return; } String value = JOptionPane.showInputDialog(this, "Enter the value of _id = " + idName + ":", "New Column Info", QUESTION_MESSAGE); if (colName == null) { return; } columnUpdating = true; Document where = new Document("_id", new ObjectId(idName)); Document what = new Document("$set", new Document((String) colName, value)); collections.updateOne(Filters.eq("_id", where.get("_id")), what); refreshTable(); columnUpdating = false; }
From source file:my.beesyn.MongoConn.java
public void insert_or_update(Identifier idf, MongoCollection coll) { Document dc;// ww w . j a v a 2s . c o m FindOneAndReplaceOptions op = new FindOneAndReplaceOptions(); op.upsert(true); dc = Document.parse(idf.get_fetched()); dc.append("u_id", idf.get_id()); dc.append("chsum", dc.hashCode()); coll.findOneAndReplace(Filters.and(Filters.eq("u_id", idf.get_id()), Filters.ne("chsum", idf.get_chk())), dc, op); }