private static ReferenceSource createReferenceSource() { byte[] refBases = new byte[10 * 10]; Arrays.fill(refBases, (byte) 'A'); InMemoryReferenceSequenceFile rsf = new InMemoryReferenceSequenceFile(); rsf.add("chr1", refBases); return new ReferenceSource(rsf); }
private ReferenceSource createReferenceSource() { byte[] refBases = new byte[1024 * 1024]; Arrays.fill(refBases, (byte) 'A'); InMemoryReferenceSequenceFile rsf = new InMemoryReferenceSequenceFile(); rsf.add("chr1", refBases); return new ReferenceSource(rsf); }
private ReferenceSource createReferenceSource() { final byte[] refBases = new byte[1024 * 1024]; Arrays.fill(refBases, (byte) 'A'); InMemoryReferenceSequenceFile rsf = new InMemoryReferenceSequenceFile(); rsf.add("chr1", refBases); rsf.add("chr2", refBases); return new ReferenceSource(rsf); }
/** * Write a collection of SAMRecords into an in memory Cram file and then open a reader over it * @param records a Collection of SAMRecords * @param ref a set of bases to use as the single reference contig named "chr1" * @return a CRAMFileReader reading from an in memory buffer that has had the records written into it */ public static CRAMFileReader writeAndReadFromInMemoryCram(Collection<SAMRecord> records, byte[] ref) throws IOException { InMemoryReferenceSequenceFile refFile = new InMemoryReferenceSequenceFile(); refFile.add("chr1", ref); ReferenceSource source = new ReferenceSource(refFile); final SAMFileHeader header = records.iterator().next().getHeader(); return writeAndReadFromInMemoryCram(records, source, header); }
@Test public void testReferenceSourceUpperCasesBases() { final String sequenceName = "1"; final String nonIupacCharacters = "1=eE"; final byte[] originalRefBases = (nonIupacCharacters + SequenceUtil.getIUPACCodesString()).getBytes(); SAMSequenceRecord sequenceRecord = new SAMSequenceRecord(sequenceName, originalRefBases.length); InMemoryReferenceSequenceFile memoryReferenceSequenceFile = new InMemoryReferenceSequenceFile(); memoryReferenceSequenceFile.add(sequenceName, Arrays.copyOf(originalRefBases, originalRefBases.length)); Assert.assertEquals(memoryReferenceSequenceFile.getSequence(sequenceName).getBases(), originalRefBases); ReferenceSource referenceSource = new ReferenceSource(memoryReferenceSequenceFile); byte[] refBasesFromSource = referenceSource.getReferenceBases(sequenceRecord, false); Assert.assertNotEquals(refBasesFromSource, originalRefBases); Assert.assertEquals(refBasesFromSource, SequenceUtil.upperCase(originalRefBases)); } }
memoryReferenceSequenceFile = new InMemoryReferenceSequenceFile();
SAMReadGroupRecord readGroupRecord = new SAMReadGroupRecord("1"); rsf = new InMemoryReferenceSequenceFile(); int nofSequencesInDictionary = 3; int sequenceLength = 1024 * 1024;
@Test public void test_MD_NM() throws IOException { ByteArrayOutputStream baos = new ByteArrayOutputStream(); InMemoryReferenceSequenceFile rsf = new InMemoryReferenceSequenceFile(); rsf.add("1", "AAA".getBytes()); ReferenceSource source = new ReferenceSource(rsf);