public final SAMSequenceRecord clone() { final SAMSequenceRecord ret = new SAMSequenceRecord(this.mSequenceName, this.mSequenceLength); ret.mSequenceIndex = this.mSequenceIndex; for (final Map.Entry<String, String> entry : this.getAttributes()) { ret.setAttribute(entry.getKey(), entry.getValue()); } return ret; }
@Override public final SAMSequenceRecord clone() { final SAMSequenceRecord ret = new SAMSequenceRecord(this.mSequenceName, this.mSequenceLength); ret.mSequenceIndex = this.mSequenceIndex; for (final Map.Entry<String, String> entry : this.getAttributes()) { ret.setAttribute(entry.getKey(), entry.getValue()); } return ret; }
@Override public final SAMSequenceRecord clone() { final SAMSequenceRecord ret = new SAMSequenceRecord(this.mSequenceName, this.mSequenceLength); ret.mSequenceIndex = this.mSequenceIndex; for (final Map.Entry<String, String> entry : this.getAttributes()) { ret.setAttribute(entry.getKey(), entry.getValue()); } return ret; }
public void addSequence(final String name, final byte[] bases) { final SAMSequenceRecord r = new SAMSequenceRecord(name, bases.length); dictionary.addSequence(r); final int index = getSequenceDictionary().getSequenceIndex(name); sequences.put(index, bases); }
public SAMSequenceDictionary getSequenceDictionary() { SAMSequenceRecord sequenceRecord = new SAMSequenceRecord("chr1", 1000000); SAMSequenceDictionary dictionary = new SAMSequenceDictionary(Collections.singletonList(sequenceRecord)); return dictionary; }
public SAMSequenceRecord getSAMSequenceRecord() { final String lengthString = this.getGenericFieldValue("length"); if (lengthString == null) throw new TribbleException("Contig " + this.getID() + " does not have a length field."); final SAMSequenceRecord record = new SAMSequenceRecord(this.getID(), Integer.valueOf(lengthString)); record.setSequenceIndex(this.contigIndex); return record; }
private void parseSQLine(final ParsedHeaderLine parsedHeaderLine) { assert(HeaderRecordType.SQ.equals(parsedHeaderLine.getHeaderRecordType())); if (!parsedHeaderLine.requireTag(SAMSequenceRecord.SEQUENCE_NAME_TAG) || !parsedHeaderLine.requireTag(SAMSequenceRecord.SEQUENCE_LENGTH_TAG)) { return; } String sequenceName = parsedHeaderLine.removeValue(SAMSequenceRecord.SEQUENCE_NAME_TAG); sequenceName = SAMSequenceRecord.truncateSequenceName(sequenceName); final SAMSequenceRecord samSequenceRecord = new SAMSequenceRecord(sequenceName, Integer.parseInt(parsedHeaderLine.removeValue(SAMSequenceRecord.SEQUENCE_LENGTH_TAG))); transferAttributes(samSequenceRecord, parsedHeaderLine.mKeyValuePairs); sequences.add(samSequenceRecord); }
@Test public void testSetAndCheckDescription() { final SAMSequenceRecord record = new SAMSequenceRecord("Test", 1000); Assert.assertNull(record.getDescription()); final String description = "A description."; record.setDescription(description); Assert.assertEquals(record.getDescription(), description); }
public SAMSequenceRecord getSAMSequenceRecord() { final String lengthString = this.getGenericFieldValue("length"); if (lengthString == null) throw new TribbleException("Contig " + this.getID() + " does not have a length field."); final SAMSequenceRecord record = new SAMSequenceRecord(this.getID(), Integer.valueOf(lengthString)); record.setAssembly(this.getGenericFieldValue("assembly")); record.setSequenceIndex(this.contigIndex); return record; }
public SAMSequenceRecord getSAMSequenceRecord() { final String lengthString = this.getGenericFieldValue("length"); if (lengthString == null) throw new TribbleException("Contig " + this.getID() + " does not have a length field."); final SAMSequenceRecord record = new SAMSequenceRecord(this.getID(), Integer.valueOf(lengthString)); record.setAssembly(this.getGenericFieldValue("assembly")); record.setSequenceIndex(this.contigIndex); return record; }
@BeforeClass public void init() { SAMSequenceDictionary sequenceDictionary = new SAMSequenceDictionary(); sequenceDictionary.addSequence(new SAMSequenceRecord("1",500)); sequenceDictionary.addSequence(new SAMSequenceRecord("2",500)); samFileHeader = new SAMFileHeader(); samFileHeader.setSequenceDictionary(sequenceDictionary); }
private static void addRandomSequence(SAMFileHeader header, int length, InMemoryReferenceSequenceFile rsf) { String name = String.valueOf(header.getSequenceDictionary().size() + 1); header.addSequence(new SAMSequenceRecord(name, length)); byte[] refBases = new byte[length]; byte[] alphabet = "ACGTN".getBytes(); for (int i = 0; i < refBases.length; i++) refBases[i] = alphabet[random.nextInt(alphabet.length)]; rsf.add(name, refBases); } }
protected SAMSequenceDictionary loadSequenceDictionary() throws ErrorMsg { SAMSequenceDictionary dict = new SAMSequenceDictionary(); ReferenceIterator itRef = run.getReferences(); while (itRef.nextReference()) { dict.addSequence(new SAMSequenceRecord(itRef.getCanonicalName(), (int) itRef.getLength())); } return dict; } }
protected SAMSequenceDictionary loadSequenceDictionary() throws ErrorMsg { SAMSequenceDictionary dict = new SAMSequenceDictionary(); ReferenceIterator itRef = run.getReferences(); while (itRef.nextReference()) { dict.addSequence(new SAMSequenceRecord(itRef.getCanonicalName(), (int) itRef.getLength())); } return dict; } }
@Test public void testGetReferenceBasesCompressed() throws Exception { String fastaURL = "https://s3.amazonaws.com/igv.broadinstitute.org/genomes/seq/hg38/hg38.fa.gz"; GenomeManager.getInstance().loadGenome(fastaURL, null); IGVReferenceSource refSource = new IGVReferenceSource(); SAMSequenceRecord rec = new SAMSequenceRecord("22", 50818468); byte[] bases = refSource.getReferenceBases(rec, false); assertEquals(50818468, bases.length); assertEquals('N', bases[0]); assertEquals('G', bases[27198882]); }
@Test public void testGetReferenceBases() throws Exception { String fastaURL = "https://s3.amazonaws.com/igv.broadinstitute.org/genomes/seq/hg38/hg38.fa"; GenomeManager.getInstance().loadGenome(fastaURL, null); IGVReferenceSource refSource = new IGVReferenceSource(); SAMSequenceRecord rec = new SAMSequenceRecord("22", 50818468); byte[] bases = refSource.getReferenceBases(rec, false); assertEquals(50818468, bases.length); assertEquals('N', bases[0]); assertEquals('G', bases[27198882]); }
private SAMFileHeader createSAMHeader(SAMFileHeader.SortOrder sortOrder) { final SAMFileHeader header = new SAMFileHeader(); header.setSortOrder(sortOrder); header.addSequence(new SAMSequenceRecord("chr1", 123)); header.addSequence(new SAMSequenceRecord("chr2", 123)); SAMReadGroupRecord readGroupRecord = new SAMReadGroupRecord("1"); header.addReadGroup(readGroupRecord); return header; }
private SAMFileHeader createSAMHeader(SAMFileHeader.SortOrder sortOrder) { final SAMFileHeader header = new SAMFileHeader(); header.setSortOrder(sortOrder); header.addSequence(new SAMSequenceRecord("chr1", 123)); SAMReadGroupRecord readGroupRecord = new SAMReadGroupRecord("1"); header.addReadGroup(readGroupRecord); return header; }
private IntervalList buildIntervalList(final int start, final int end) { final SAMFileHeader header = new SAMFileHeader(); header.addSequence(new SAMSequenceRecord("CONTIG", 100000000)); final IntervalList intervals = new IntervalList(header); if (0 < start) intervals.add(new Interval("CONTIG", start, end)); return intervals; }
@BeforeTest public void setUp(){ String referenceString = ">chrM\nACCTACGTTCAATATTCTTCACCTACGTTCAATATTCTTCACCTACGTTCAATATTCTTCACCTACGTTCAATATTCTTCACCTACGTTCAATATTCTTC"; ref = new ReferenceSequence("chrM", 0, referenceString.getBytes()); sequence = new SAMSequenceRecord("chrM", 100); record = new SAMRecord(new SAMFileHeader()); record.setReadName("test"); record.setBaseQualities(qualities); record.setReadBases(refBases); secondRecord = generateRecord("test1"); thirdRecord = generateRecord("test2"); }