本文整理汇总了Java中net.sf.samtools.SAMRecord.setCigarString方法的典型用法代码示例。如果您正苦于以下问题:Java SAMRecord.setCigarString方法的具体用法?Java SAMRecord.setCigarString怎么用?Java SAMRecord.setCigarString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.sf.samtools.SAMRecord
的用法示例。
在下文中一共展示了SAMRecord.setCigarString方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: createSAMRecord
import net.sf.samtools.SAMRecord; //导入方法依赖的package包/类
private SAMRecord createSAMRecord(String read, String cigar, String md, int NM, boolean reverse) {
SAMFileHeader header = new SAMFileHeader();
List<SAMProgramRecord> PRs = new ArrayList<>();
PRs.add(new SAMProgramRecord("Bowtie"));
header.setProgramRecords(PRs);
SAMRecord record = new SAMRecord(header);
record.setReadString(read);
record.setAttribute("NM", NM); //number of mismatches
record.setCigarString(cigar);
record.setAttribute("MD", md);
if (reverse) {
record.setReadNegativeStrandFlag(true);
}
return record;
}
示例2: testAlignmentOfRecord
import net.sf.samtools.SAMRecord; //导入方法依赖的package包/类
@Test
public void testAlignmentOfRecord() throws Exception {
SAMRecord record = new SAMRecord(this.header);
record.setReadBases("TCCGTTAGTC".getBytes());
record.setReadName(queryName);
record.setCigarString("1S3M1I4M1S");
record.setReferenceIndex(0);
record.setReferenceName(this.referenceName);
record.setAlignmentStart(2);
assertEquals(referenceName, record.getReferenceName());
Alignment result = SAMBEASTUtils.alignmentOfRecord(record, this.reference);
assertEquals(2, result.getTaxonCount());
assertEquals(new String(reference), result.getAlignedSequenceString(0));
assertEquals("-CCGTAGT-", result.getAlignedSequenceString(1));
assertEquals(referenceName, result.getTaxonId(0));
assertEquals(queryName, result.getTaxonId(1));
}
示例3: toSAMRecord
import net.sf.samtools.SAMRecord; //导入方法依赖的package包/类
@Override
public final SAMRecord toSAMRecord() {
SAMRecord record = firstMate.toSAMRecord();
record.setAttribute(PairedEndWriter.readStartFlag, Integer.valueOf(firstMate.getSAMStart()));
record.setAttribute(PairedEndWriter.readCigarFlag, firstMate.getCigarString());
record.setAttribute(PairedEndWriter.mateSequenceFlag, secondMate.getReadSequence());
record.setAttribute(PairedEndWriter.mateCigarFlag, secondMate.getCigarString());
record.setMateAlignmentStart(secondMate.getSAMStart());
// add by @zhuxp
record.setAlignmentStart(this.getAlignmentStart()+1);
// end of add (test version)
Annotation fragment = getReadAlignmentBlocks(null);
record.setCigarString(fragment.getLengthOnReference() + "M"); // NOTE: losing information about indels in the SingleEndAlignments
record.setInferredInsertSize(fragment.getLengthOnReference());
return record;
}
示例4: createSAMRecord
import net.sf.samtools.SAMRecord; //导入方法依赖的package包/类
/**
* Converts a blat psl entry into a SAM record.
*
* @param entry
* @param bases
* @param hh
* @param ns
*
* number of blat entries with the same score
*
* @param sd
*
* rank-dependent interpretation. For first rank, distance to next best
* match. For other ranks distance from first match.
*
* @param bs
*
* number of matches in best score
*
* @param matchrankA
*
* rank of this blat entry in a sorted list of entries (low rank means
* better alignment, modulo equal matching entries)
*
* @param matchrankB
*
* alternative rank (optimistic/pessimistic rank)
*
* @param readgroup
*
* @return
*/
private SAMRecord createSAMRecord(PslEntry entry, String bases, SAMFileHeader hh,
int ns, int sd, int bs, int matchrankA, int matchrankB, String readgroup) {
//System.out.println("in create pair");
SAMRecord sr = new SAMRecord(hh);
// set flags for a neutral read
sr.setFlags(0);
sr.setAlignmentStart(entry.Tstart + 1);
sr.setMateAlignmentStart(entry.Tstart + 1);
sr.setCigarString(entry.makeCigar());
sr.setReferenceName(entry.Tname);
sr.setReadName(entry.Qname);
sr.setMappingQuality(Math.min(254, entry.match));
if (entry.strand == '-') {
sr.setReadNegativeStrandFlag(true);
sr.setReadBases(SequenceComplementer.complement(bases.getBytes()));
} else {
sr.setReadNegativeStrandFlag(false);
sr.setReadBases(bases.getBytes());
}
sr.setBaseQualityString(makeBaseQuality(bases.length()));
sr.setAttribute("ns", ns);
sr.setAttribute("sd", sd);
sr.setAttribute("bs", bs);
sr.setAttribute("ra", matchrankA);
sr.setAttribute("rb", matchrankB);
sr.setAttribute("RG", readgroup);
return sr;
}
示例5: getSAMRecord
import net.sf.samtools.SAMRecord; //导入方法依赖的package包/类
public SAMRecord getSAMRecord(SAMFileHeader hh) {
SAMRecord sr = new SAMRecord(hh);
// set flags for a neutral read
sr.setFlags(0);
sr.setReadName(getReadname());
sr.setBaseQualityString(makeBaseQuality(readsequence.length));
sr.setAttribute("RG", "thesalign");
sr.setNotPrimaryAlignmentFlag(!isPrimary());
sr.setAlignmentStart(alignpos + 1);
sr.setCigarString(readsequence.length + "M");
sr.setReferenceName(chrom);
sr.setMappingQuality(mappingquality);
if (negativestrand) {
sr.setReadNegativeStrandFlag(true);
sr.setReadBases(SequenceComplementer.complement(readsequence));
} else {
sr.setReadNegativeStrandFlag(false);
sr.setReadBases(readsequence);
}
// perhaps the read is unaligned (too many alignments to report)
if (unmapped) {
sr.setReadUnmappedFlag(unmapped);
}
return sr;
}
示例6: convertToPairedEndFragment
import net.sf.samtools.SAMRecord; //导入方法依赖的package包/类
public static SAMRecord convertToPairedEndFragment(SAMRecord rec) {
int insertSize = Math.abs(rec.getInferredInsertSize());
//TODO: possible to remove (insertSize > 0) clause? What does an insert size of 0 mean?
if (rec.getReadPairedFlag() && rec.getProperPairFlag() && !rec.getReadUnmappedFlag()
&& (insertSize <= MAX_INSERT) && (rec.getAlignmentStart() < rec.getMateAlignmentStart())
&& rec.getReferenceName() != "chrM") // current paired end representation doesn't do well with circular chromosomes
{
//We need to get the full fragment contained by read.getStart to pair.getEnd
int readEnd=rec.getAlignmentEnd();
int mateStart=rec.getMateAlignmentStart();
//int extension = insertSize - rec.getReadLength();
int extension=(mateStart-readEnd)+rec.getReadLength();
if (extension <= MAX_INSERT) {
String newRead = rec.getReadString() + StringUtils.repeat("N", extension);
rec.setReadString(newRead);
String newQual = StringUtils.repeat("A", newRead.length());
if(!rec.getBaseQualityString().equals("*")) newQual = rec.getBaseQualityString() + StringUtils.repeat("A", extension);
rec.setBaseQualityString(newQual);
String newCigar=newRead.length()+"M";
rec.setCigarString(newCigar);
// Change attributes to represent single read
rec.setMateReferenceName("*");
rec.setMateAlignmentStart(0);
rec.setFirstOfPairFlag(false);
rec.setMateNegativeStrandFlag(false);
rec.setMateUnmappedFlag(false);
rec.setProperPairFlag(false);
rec.setReadPairedFlag(false);
rec.setSecondOfPairFlag(false);
}
} else {
rec = null;
}
return rec;
}