}
private static void randomStressTest() throws IOException,
IllegalArgumentException, IllegalAccessException {
SAMFileHeader samFileHeader = new SAMFileHeader();
SAMSequenceRecord sequenceRecord = new SAMSequenceRecord("chr1", 100);
samFileHeader.addSequence(sequenceRecord);
long baseCount = 0;
Random random = new Random();
List<CramRecord> records = new ArrayList<CramRecord>();
for (int i = 0; i < 100000; i++) {
int len = random.nextInt(100) + 50;
byte[] bases = new byte[len];
byte[] scores = new byte[len];
for (int p = 0; p < len; p++) {
bases[p] = "ACGT".getBytes()[random.nextInt(4)];
scores[p] = (byte) (33 + random.nextInt(40));
}
CramRecord record = new CramRecord();
record.setReadBases(bases);
record.setQualityScores(scores);
record.setReadLength(record.getReadBases().length);
record.setFlags(random.nextInt(1000));
record.alignmentStartOffsetFromPreviousRecord = random.nextInt(200);
byte[] name = new byte[random.nextInt(5) + 5];
for (int p = 0; p < name.length; p++)
name[p] = (byte) (65 + random.nextInt(10));
record.setReadName(new String(name));
record.setSequenceName(sequenceRecord.getSequenceName());
record.sequenceId = sequenceRecord.getSequenceIndex();
record.setReadMapped(random.nextBoolean());
record.resetFlags();
record.setReadFeatures(new ArrayList<ReadFeature>());
record.setMappingQuality((byte) random.nextInt(40));