@Override public Type type() { return this.reader.type(); }
/** * Check if the file is a sorted binary bam file. * * @param is Bam InputStream * @param bamFileName Bam FileName * @param checkSort * @throws IOException */ public static void checkBamOrCramFile(InputStream is, String bamFileName, boolean checkSort) throws IOException { SamReaderFactory srf = SamReaderFactory.make(); srf.validationStringency(ValidationStringency.LENIENT); SamReader reader = srf.open(SamInputResource.of(is)); SAMFileHeader fileHeader = reader.getFileHeader(); SAMFileHeader.SortOrder sortOrder = fileHeader.getSortOrder(); reader.close(); if (reader.type().equals(SamReader.Type.SAM_TYPE)) { throw new IOException("Expected binary SAM file. File " + bamFileName + " is not binary."); } if (checkSort) { switch (sortOrder) { case coordinate: break; case queryname: case unsorted: default: throw new IOException("Expected sorted file. File '" + bamFileName + "' is not sorted by coordinates(" + sortOrder.name() + ")"); } } }
if (bam.type() != SamReader.Type.BAM_TYPE) { throw new SAMException("Input file must be bam file, not sam file.");
Map<String, List<SAMReadGroupRecord>> libraryToRg = new HashMap<String, List<SAMReadGroupRecord>>(); SAMFileWriterFactory factory = new SAMFileWriterFactory(); String extension = reader.type().equals(SamReader.Type.BAM_TYPE) ? ".bam" : ".sam";
Map<String, List<SAMReadGroupRecord>> libraryToRg = new HashMap<String, List<SAMReadGroupRecord>>(); SAMFileWriterFactory factory = new SAMFileWriterFactory(); String extension = reader.type().equals(SamReader.Type.BAM_TYPE) ? ".bam" : ".sam";
if (bam.type() != SamReader.Type.BAM_TYPE) { throw new SAMException("Input file must be bam file, not sam file.");
final SamReader samReader = factory.open(INPUT); if (samReader.type() != SamReader.Type.BAM_TYPE) VALIDATE_INDEX = false;
final SamReader samReader = factory.open(INPUT); if (samReader.type() != SamReader.Type.BAM_TYPE) VALIDATE_INDEX = false;