Java Examples for de.uni_luebeck.inb.krabbenhoeft.eQTL.server.helpers.persistence.StreamingEntityRead

The following java examples will help you to understand the usage of de.uni_luebeck.inb.krabbenhoeft.eQTL.server.helpers.persistence.StreamingEntityRead. These source code samples are taken from different open source projects.

Example 1
Project: eQTL-GWT-Cassandra-master  File: DataRetrievalService.java View source code
public ExpressionQtlTrackEntry[] work(Transaction transaction, Session session) throws Exception {
    DataSetLayer dsl = (DataSetLayer) session.load(DataSetLayer.class, dataSetLayerKey);
    ColumnForDataSetLayer[] columns = dsl.getColumns().toArray(new ColumnForDataSetLayer[0]);
    ColumnForDataSetLayer lodColumn = null;
    ColumnForDataSetLayer locationColumn = null;
    for (ColumnForDataSetLayer col : columns) {
        if (col.getName().equals("lodScore"))
            lodColumn = col;
        if (col.getName().equals(locationColumnName))
            locationColumn = col;
    }
    CassandraSession cassandra = new CassandraSession();
    StreamingEntityRead read = new StreamingEntityRead(cassandra, dsl);
    final List<ExpressionQtlTrackEntry> output = new ArrayList<ExpressionQtlTrackEntry>();
    final Iterator<HajoEntity> reader = read.getEntitiesFromGeoboxRange(locationColumnName, genomeRange.chromosome, genomeRange.fromBP, genomeRange.toBP);
    while (reader.hasNext()) {
        final HajoEntity entity = reader.next();
        final ExpressionQtlTrackEntry addme = new ExpressionQtlTrackEntry();
        addme.locusId = entity.getName("locusId");
        addme.traitId = entity.getName("traitId");
        addme.lodScore = entity.getNumerical("lodScore");
        addme.lodScoreInMinMaxRange = (addme.lodScore - lodColumn.getMin()) / (lodColumn.getMax() - lodColumn.getMin());
        addme.positionStart = entity.getLocation(locationColumnName);
        final String indexRangeEndField = locationColumn.getIndexRangeEndField();
        if (indexRangeEndField == null)
            addme.positionEnd = addme.positionStart;
        else
            addme.positionEnd = entity.getLocation(indexRangeEndField);
        output.add(addme);
        if (output.size() >= 25)
            break;
    }
    cassandra.close();
    return output.toArray(new ExpressionQtlTrackEntry[0]);
}