Java Code Examples for htsjdk.samtools.SAMSequenceRecord#setAttribute()
The following examples show how to use
htsjdk.samtools.SAMSequenceRecord#setAttribute() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: SequenceDictionaryUtils.java From picard with MIT License | 6 votes |
/** * Create one SAMSequenceRecord from a single fasta sequence */ private SAMSequenceRecord makeSequenceRecord(final ReferenceSequence refSeq) { final SAMSequenceRecord ret = new SAMSequenceRecord(refSeq.getName(), refSeq.length()); // Compute MD5 of upcased bases final byte[] bases = refSeq.getBases(); for (int i = 0; i < bases.length; ++i) { bases[i] = StringUtil.toUpperCase(bases[i]); } ret.setAttribute(SAMSequenceRecord.MD5_TAG, md5Hash(bases)); if (genomeAssembly != null) { ret.setAttribute(SAMSequenceRecord.ASSEMBLY_TAG, genomeAssembly); } ret.setAttribute(SAMSequenceRecord.URI_TAG, uri); if (species != null) { ret.setAttribute(SAMSequenceRecord.SPECIES_TAG, species); } return ret; }
Example 2
Source File: CreateSequenceDictionary.java From varsim with BSD 2-Clause "Simplified" License | 6 votes |
/** * Create one SAMSequenceRecord from a single fasta sequence */ private SAMSequenceRecord makeSequenceRecord(final ReferenceSequence refSeq) { final SAMSequenceRecord ret = new SAMSequenceRecord(refSeq.getName(), refSeq.length()); // Compute MD5 of upcased bases final byte[] bases = refSeq.getBases(); for (int i = 0; i < bases.length; ++i) { bases[i] = StringUtil.toUpperCase(bases[i]); } ret.setAttribute(SAMSequenceRecord.MD5_TAG, md5Hash(bases)); if (GENOME_ASSEMBLY != null) { ret.setAttribute(SAMSequenceRecord.ASSEMBLY_TAG, GENOME_ASSEMBLY); } ret.setAttribute(SAMSequenceRecord.URI_TAG, URI); if (SPECIES != null) { ret.setAttribute(SAMSequenceRecord.SPECIES_TAG, SPECIES); } return ret; }
Example 3
Source File: ReferenceSource.java From cramtools with Apache License 2.0 | 6 votes |
@Override public synchronized byte[] getReferenceBases(SAMSequenceRecord record, boolean tryNameVariants) { byte[] bases = findBases(record, tryNameVariants); if (bases == null) return null; cacheW.put(record.getSequenceName(), new WeakReference<byte[]>(bases)); String md5 = record.getAttribute(SAMSequenceRecord.MD5_TAG); if (md5 == null) { md5 = Utils.calculateMD5String(bases); record.setAttribute(SAMSequenceRecord.MD5_TAG, md5); } if (REF_CACHE != null) addToRefCache(md5, bases); return bases; }
Example 4
Source File: FilterBam.java From Drop-seq with MIT License | 5 votes |
private SAMSequenceRecord cloneWithNewName(final SAMSequenceRecord sequence, final String editedSequenceName) { final SAMSequenceRecord ret = new SAMSequenceRecord(editedSequenceName, sequence.getSequenceLength()); for (Map.Entry<String, String> entry : sequence.getAttributes()) if (entry.getKey().equals(SAMSequenceRecord.SEQUENCE_NAME_TAG)) ret.setAttribute(SAMSequenceRecord.SEQUENCE_NAME_TAG, editedSequenceName); else ret.setAttribute(entry.getKey(), entry.getValue()); return ret; }
Example 5
Source File: Evidence2SAM.java From cramtools with Apache License 2.0 | 4 votes |
public static void main(String[] args) throws IOException, ParseException { EvidenceRecordFileIterator iterator = new EvidenceRecordFileIterator(new File(args[0])); Read context = new Read(); SAMFileHeader header = new SAMFileHeader(); header.setSortOrder(SAMFileHeader.SortOrder.unsorted); SAMSequenceRecord samSequenceRecord = new SAMSequenceRecord("chr10", 135534747); samSequenceRecord.setAttribute(SAMSequenceRecord.ASSEMBLY_TAG, iterator.assembly_ID); String readGroup = String.format("%s-%s", iterator.assembly_ID, iterator.chromosome); SAMReadGroupRecord readGroupRecord = new SAMReadGroupRecord(readGroup); readGroupRecord.setAttribute(SAMReadGroupRecord.READ_GROUP_SAMPLE_TAG, iterator.sample); readGroupRecord.setAttribute(SAMReadGroupRecord.PLATFORM_UNIT_TAG, readGroup); readGroupRecord.setAttribute(SAMReadGroupRecord.SEQUENCING_CENTER_TAG, "\"Complete Genomics\""); Date date = new SimpleDateFormat("yyyy-MMM-dd hh:mm:ss.S").parse(iterator.generatedAt); readGroupRecord.setAttribute(SAMReadGroupRecord.DATE_RUN_PRODUCED_TAG, new SimpleDateFormat("yyyy-MM-dd").format(date)); readGroupRecord.setAttribute(SAMReadGroupRecord.PLATFORM_TAG, "\"Complete Genomics\""); header.addReadGroup(readGroupRecord); header.addSequence(samSequenceRecord); SAMFileWriterFactory f = new SAMFileWriterFactory(); SAMFileWriter samWriter; if (args.length > 1) samWriter = f.makeBAMWriter(header, false, new File(args[1])); else samWriter = f.makeSAMWriter(header, false, System.out); int i = 0; long time = System.currentTimeMillis(); DedupIterator dedupIt = new DedupIterator(iterator); while (dedupIt.hasNext()) { EvidenceRecord evidenceRecord = dedupIt.next(); if (evidenceRecord == null) throw new RuntimeException(); try { context.reset(evidenceRecord); context.parse(); } catch (Exception e) { System.err.println("Failed on line:"); System.err.println(evidenceRecord.line); throw new RuntimeException(e); } SAMRecord[] samRecords = context.toSAMRecord(header); for (SAMRecord samRecord : samRecords) { samRecord.setAttribute(SAMTag.RG.name(), readGroup); samWriter.addAlignment(samRecord); } i++; if (i % 1000 == 0) { if (System.currentTimeMillis() - time > 10 * 1000) { time = System.currentTimeMillis(); System.err.println(i); } } if (i > 10000) break; } samWriter.close(); }