Exemplo n.º 1
0
  SharedProteinResources(
      final ProteinScoringMatrix matrix,
      final SequencesReader template,
      final SequencesReader query,
      boolean readNames)
      throws IOException {
    mProteinScoringMatrix = matrix;
    mTemplateReader = template;

    mQueryReader = query;
    if (query != null) {
      mWorkSpace = new byte[(int) query.maxLength()];
      mWorkSpaceProtein = new byte[mWorkSpace.length / 3];
      if (query.numberSequences() > Integer.MAX_VALUE) {
        throw new IllegalArgumentException("Number of reads exceeds " + Integer.MAX_VALUE);
      }
    } else {
      mWorkSpace = null;
      mWorkSpaceProtein = null;
    }
    if (mTemplateReader != null) {
      mTemplateNames = mTemplateReader.names();
    } else {
      mTemplateNames = null;
    }
    if (readNames && mQueryReader != null) {
      mReadNames = query.names();
    } else {
      mReadNames = null;
    }
  }