Skip to content

upgrading qio #227

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 77 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
a5ffdfe
update q3panel with new StringFileReader
ChristinaXu2017 Nov 4, 2020
4c3d988
update q3tiledaligner with new StringFileReader
ChristinaXu2017 Nov 4, 2020
c516ad6
update qpileup with new StringFileReader
ChristinaXu2017 Nov 4, 2020
bffb3c1
create new gff3 and gff based on new recordreader
ChristinaXu2017 Nov 4, 2020
f42d6de
update unit test
ChristinaXu2017 Nov 4, 2020
fc90a5e
update qcoverage with new gff3
ChristinaXu2017 Nov 4, 2020
5a05a30
update qprofiler with new fasta record
ChristinaXu2017 Nov 4, 2020
8a490eb
update qsv with new gff3 and new StringFileReader
ChristinaXu2017 Nov 4, 2020
75a09cb
create new illumina record, update qsignature with new StringFileReader,
ChristinaXu2017 Nov 4, 2020
4b47f10
delete old gff
ChristinaXu2017 Nov 4, 2020
32c3635
replace unit test for new gff
ChristinaXu2017 Nov 4, 2020
7769a08
mv unused package under org.qcmg.unused
ChristinaXu2017 Nov 4, 2020
1a2a21e
remove io class from qmule which as moved wrong location
ChristinaXu2017 Nov 4, 2020
bb1edfa
mv unused package
ChristinaXu2017 Nov 4, 2020
1d68169
mv package only used by qmule
ChristinaXu2017 Nov 4, 2020
885a4bb
mv qmule only package
ChristinaXu2017 Nov 4, 2020
2e5187b
delete qmule only package
ChristinaXu2017 Nov 4, 2020
49d60f4
mv primer* to unused
ChristinaXu2017 Nov 4, 2020
6b2ad0a
mv unused package
ChristinaXu2017 Nov 4, 2020
f7b9e04
mv maf to unused
ChristinaXu2017 Nov 4, 2020
baa13b8
mv old record to unused
ChristinaXu2017 Nov 4, 2020
d8a5541
recovery qmule src
ChristinaXu2017 Nov 4, 2020
c6e8948
recovery q3tiledagainer
ChristinaXu2017 Nov 4, 2020
6d87ff1
update qsnp with new StringFileReader
ChristinaXu2017 Nov 4, 2020
ef47459
mv exception to qmule folder
ChristinaXu2017 Nov 4, 2020
e715d80
resolve location issue
ChristinaXu2017 Nov 4, 2020
9724284
update import relocation qio
ChristinaXu2017 Nov 4, 2020
82df570
merge from master
ChristinaXu2017 Nov 25, 2020
2a8df9b
update fasta, gff, gff3,illumina with new record package
ChristinaXu2017 Nov 25, 2020
7df0f67
Merge branch 'master' into Bdevelop.qio
ChristinaXu2017 Nov 25, 2020
ab3c536
delete tmp files
ChristinaXu2017 Nov 25, 2020
e9d5a3f
delete tmp files
ChristinaXu2017 Nov 25, 2020
7e63e83
create unit test for new illumuina
ChristinaXu2017 Nov 25, 2020
2f015ec
fix bug in illumina
ChristinaXu2017 Nov 25, 2020
be0389e
update package name for illumina test
ChristinaXu2017 Nov 25, 2020
6973ac2
remove unused imports
ChristinaXu2017 Nov 25, 2020
2b5ea6c
remove unused imports
ChristinaXu2017 Nov 25, 2020
4e45a5e
mv old illumina test
ChristinaXu2017 Nov 25, 2020
cd40a0c
delete old illumina since it replace by a new one
ChristinaXu2017 Nov 25, 2020
d7e96c4
use new illumina in qmule::SnpPicker
ChristinaXu2017 Nov 25, 2020
c18809d
mark deprecated on unused classes
ChristinaXu2017 Nov 25, 2020
e60fe57
rename unused package name back to original
ChristinaXu2017 Nov 25, 2020
95df4f7
mv SimpleSerializerTest to qio/FastaRecordTest
ChristinaXu2017 Nov 30, 2020
74f6914
mv SimpleSerializerTest to qio/FastaRecordTest
ChristinaXu2017 Nov 30, 2020
7b9b706
replace qio::pileup::PileupRecord and PileupFileReader with new qio::…
ChristinaXu2017 Nov 30, 2020
4e8c56f
mv QPileupFilerReader to qio::qmule, it is only used by qmule
ChristinaXu2017 Nov 30, 2020
79f328e
tidy up QSnpRecord
ChristinaXu2017 Nov 30, 2020
2c78c8c
move QSnpRecord from qio:pileup to qcommon::model
ChristinaXu2017 Nov 30, 2020
6ee343a
update qmumle due to relocation of qio::QSnpRecord
ChristinaXu2017 Nov 30, 2020
7b6cddd
update qio::qmule.QPileup* due to QSnpRecord relocation
ChristinaXu2017 Nov 30, 2020
8db04bf
just tidy up qsnp
ChristinaXu2017 Nov 30, 2020
8e5b6a1
mv unit test qio::QSnpRecord to qcommon::model
ChristinaXu2017 Nov 30, 2020
96dae06
update qsnp due to QSnpRecord relocation
ChristinaXu2017 Nov 30, 2020
dc63f6f
update qio::ma package by using extends qio::Record::RecordReader
ChristinaXu2017 Dec 2, 2020
ce808f2
update qprofiler with new qio::ma package
ChristinaXu2017 Dec 2, 2020
b27f287
update qbamannotate with new qio::ma
ChristinaXu2017 Dec 2, 2020
c208440
delete old classes replace by new MaFileReader
ChristinaXu2017 Dec 2, 2020
6ba9882
change unit test classes name; make it consistence with qio::ma
ChristinaXu2017 Dec 2, 2020
4dcc73d
delete unit test due to the related classes is already deleted
ChristinaXu2017 Dec 2, 2020
ea246a2
remove api qio from build files(qmotif, qpileup and qtesting)
ChristinaXu2017 Dec 3, 2020
956d026
remove qio from qannotate
ChristinaXu2017 Dec 3, 2020
92f2340
mv s3URL connection related classes from qio to qpicard.
ChristinaXu2017 Dec 4, 2020
9f83bdb
delete qio api on build file
ChristinaXu2017 Dec 4, 2020
2642c77
add qio back in qannotate build file
ChristinaXu2017 Dec 4, 2020
08b91b1
put qio back to qpileup build, since qpicard is no longer api qio
ChristinaXu2017 Dec 4, 2020
365b316
recover qsv build by adding back qio
ChristinaXu2017 Dec 4, 2020
092a115
Merge branch 'master' into Bdevelop.qio
ChristinaXu2017 Dec 9, 2020
a9016f8
merge from master, and solve the confilcts
ChristinaXu2017 Dec 16, 2020
5bbf994
typo
ChristinaXu2017 Jan 6, 2021
003a718
put s3 back to qio
ChristinaXu2017 Jan 28, 2021
8b79564
mv s3 back to qio
ChristinaXu2017 Jan 28, 2021
bc5fbeb
delete unused imports
ChristinaXu2017 Jan 28, 2021
a326e72
delete unused imports
ChristinaXu2017 Jan 28, 2021
3a94f82
deprecate IOStreamUtils
ChristinaXu2017 Jan 29, 2021
91e930d
Merge branch 'master' into Bdevelop.qio
ChristinaXu2017 Jan 29, 2021
ef63e66
update BLATRecord by using StringFileReder
ChristinaXu2017 Jan 29, 2021
445325a
redirect to original System.err but not null
ChristinaXu2017 Jan 29, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 9 additions & 16 deletions q3panel/src/au/edu/qimr/panel/Q3ClinVar.java
Original file line number Diff line number Diff line change
Expand Up @@ -68,16 +68,13 @@
import org.qcmg.common.util.LoadReferencedClasses;
import org.qcmg.common.util.Pair;
import org.qcmg.common.util.TabTokenizer;

import org.qcmg.common.vcf.VcfRecord;
import org.qcmg.common.vcf.VcfUtils;
import org.qcmg.common.vcf.header.VcfHeader;
import org.qcmg.common.vcf.header.VcfHeaderRecord;
import org.qcmg.common.vcf.header.VcfHeaderUtils;
import org.qcmg.tab.TabbedFileReader;
import org.qcmg.tab.TabbedHeader;
import org.qcmg.tab.TabbedRecord;
import org.qcmg.vcf.VCFFileWriter;
import org.qcmg.qio.record.StringFileReader;
import org.qcmg.qio.record.RecordWriter;

public class Q3ClinVar {

Expand Down Expand Up @@ -483,22 +480,18 @@ private void loadTiledAlignerData() throws Exception {

logger.info("loading genome tiles alignment data");

try (TabbedFileReader reader = new TabbedFileReader(new File(refTiledAlignmentFile))) {
try (StringFileReader reader = new StringFileReader(new File(refTiledAlignmentFile))) {
List<String> headerList = reader.getHeader();

TabbedHeader header = reader.getHeader();
List<String> headerList = new ArrayList<>();
for (String head : header) {
headerList.add(head);
}
positionToActualLocation.loadMap(headerList);
int i = 0;
for (TabbedRecord rec : reader) {
for (String rec : reader) {
if (++i % 1000000 == 0) {
logger.info("hit " + (i / 1000000) + "M records");
}
String tile = rec.getData().substring(0, TILE_SIZE);
String tile = rec.substring(0, TILE_SIZE);
if (ampliconTiles.contains(tile)) {
String countOrPosition = rec.getData().substring(rec.getData().indexOf('\t') + 1);
String countOrPosition = rec.substring(rec.indexOf('\t') + 1);
if (countOrPosition.charAt(0) == 'C') {
frequentlyOccurringRefTiles.add(tile);
} else {
Expand Down Expand Up @@ -1055,7 +1048,7 @@ private void writeHaplotypesCsv(boolean filter) throws IOException {

//make a new header
String outputFileName = filter ? outputFileNameBase + "vcf" : outputFileNameBase + "diag.unfiltered.vcf";
try (VCFFileWriter writer = new VCFFileWriter(new File(outputFileName))) {
try (RecordWriter<VcfRecord> writer = new RecordWriter<>(new File(outputFileName))) {

/*
* Setup the VcfHeader
Expand Down Expand Up @@ -1084,7 +1077,7 @@ private void writeHaplotypesCsv(boolean filter) throws IOException {
}

outputFileName = filter ? outputFileNameBase + "diag.detailed.vcf" : outputFileNameBase + "diag.unfiltered_detailed.vcf";
try (VCFFileWriter writer = new VCFFileWriter(new File(outputFileName))) {
try (RecordWriter<VcfRecord> writer = new RecordWriter<>(new File(outputFileName))) {

/*
* Setup the VcfHeader
Expand Down
38 changes: 17 additions & 21 deletions q3panel/src/au/edu/qimr/panel/Q3Panel.java
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,9 @@
import org.qcmg.common.vcf.header.VcfHeaderRecord;
import org.qcmg.common.vcf.header.VcfHeaderUtils;
import org.qcmg.common.vcf.header.VcfHeaderUtils.VcfInfoType;
import org.qcmg.tab.TabbedFileReader;
import org.qcmg.tab.TabbedHeader;
import org.qcmg.tab.TabbedRecord;
import org.qcmg.qio.record.StringFileReader;
import org.qcmg.vcf.VCFFileReader;
import org.qcmg.vcf.VCFFileWriter;
import org.qcmg.qio.record.RecordWriter;

public class Q3Panel {

Expand Down Expand Up @@ -390,12 +388,12 @@ private void loadTranscripts() throws IOException {

logger.info("Number of unique chromosomes in bed file: " + uniqueChrs.size());

try (TabbedFileReader reader = new TabbedFileReader(new File(geneTranscriptsFile))) {
try (StringFileReader reader = new StringFileReader(new File(geneTranscriptsFile))) {
String currentTranscriptId = null;
for (TabbedRecord rec : reader) {
String contig = rec.getData().substring(0, rec.getData().indexOf(Constants.TAB));
for (String rec : reader) {
String contig = rec.substring(0, rec.indexOf(Constants.TAB));
if (uniqueChrs.containsKey(contig)) {
String [] params = TabTokenizer.tokenize(rec.getData());
String [] params = TabTokenizer.tokenize(rec);
String [] column8 = params[8].split(Constants.SEMI_COLON_STRING);
Optional<String> optionalId = Arrays.stream(column8).filter(s -> s.trim().startsWith("transcript_id")).findAny();
Optional<String> optionalExonNumber = Arrays.stream(column8).filter(s -> s.trim().startsWith("exon_number")).findAny();
Expand Down Expand Up @@ -671,9 +669,9 @@ private void mapBedToAmplicons() throws IOException, Exception {
*/
if (bedFile != null && new File(bedFile).exists()) {
int bedId = 0;
try (TabbedFileReader reader = new TabbedFileReader(new File(bedFile));) {
for (TabbedRecord rec : reader) {
String [] params = TabTokenizer.tokenize(rec.getData());
try (StringFileReader reader = new StringFileReader(new File(bedFile));) {
for (String rec : reader) {
String [] params = TabTokenizer.tokenize(rec);
ChrPosition cp = new ChrRangePosition(params[0], Integer.parseInt(params[1]), Integer.parseInt(params[2]));
bedToAmpliconMap.put(new Contig(++bedId, cp), new ArrayList<Contig>(1));
}
Expand Down Expand Up @@ -1037,7 +1035,7 @@ private void addFormatFieldValues() {
}

private void writeMutationsToFile() throws IOException {
try (VCFFileWriter writer = new VCFFileWriter(new File(outputFileNameBase + ".vcf"))) {
try (RecordWriter<VcfRecord> writer = new RecordWriter<>(new File(outputFileNameBase + ".vcf"))) {

/*
* Setup the VcfHeader
Expand Down Expand Up @@ -1082,7 +1080,7 @@ private void writeMutationsToFile() throws IOException {

private void writeMutationsToFileNew(List<VcfRecord> vcfs) throws IOException {
String filename = outputFileNameBase + "_2.vcf";
try (VCFFileWriter writer = new VCFFileWriter(new File(filename))) {
try (RecordWriter<VcfRecord> writer = new RecordWriter<>(new File(filename))) {

/*
* Setup the VcfHeader
Expand Down Expand Up @@ -1393,20 +1391,18 @@ private void loadTiledAlignerData() {

logger.info("loading genome tiles alignment data");

try (TabbedFileReader reader = new TabbedFileReader(new File(refTiledAlignmentFile))) {
try (StringFileReader reader = new StringFileReader(new File(refTiledAlignmentFile))) {

TabbedHeader header = reader.getHeader();
List<String> headerList = new ArrayList<>();
for (String head : header) {
headerList.add(head);
}

List<String> headerList = reader.getHeader();

positionToActualLocation.loadMap(headerList);
int i = 0;
for (TabbedRecord rec : reader) {
for (String rec : reader) {
if (++i % 1000000 == 0) {
logger.info("hit " + (i / 1000000) + "M records");
}
queue.add(rec.getData());
queue.add(rec);
}
/*
* kill off threads waiting on queue
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

import org.qcmg.common.util.Constants;
import org.qcmg.common.util.NumberUtils;
import org.qcmg.string.StringFileReader;
import org.qcmg.qio.record.StringFileReader;

public class ReadTiledAligerFile {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import org.qcmg.common.log.QLoggerFactory;
import org.qcmg.common.model.BLATRecord;
import org.qcmg.common.util.NumberUtils;
import org.qcmg.string.StringFileReader;
import org.qcmg.qio.record.StringFileReader;

public class TiledAligner {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,8 @@
import org.qcmg.common.sw.SmithWatermanGotoh;
import org.qcmg.common.util.Constants;
import org.qcmg.common.util.NumberUtils;
import org.qcmg.tab.TabbedFileReader;
import org.qcmg.tab.TabbedHeader;
import org.qcmg.tab.TabbedRecord;

import org.qcmg.qio.record.StringFileReader;
import gnu.trove.list.TIntList;
import gnu.trove.list.TLongList;
import gnu.trove.list.array.TIntArrayList;
Expand Down Expand Up @@ -530,20 +528,20 @@ public static int nonContinuousCount(long [][] array, long l, int arrayStartPosi
* @param tiledInput
*/
public static void getTiledDataInMap(String tiledAlignerFile, Map<String, String> tiledInput) {
try (TabbedFileReader reader = new TabbedFileReader(new File(tiledAlignerFile))) {
try (StringFileReader reader = new StringFileReader(new File(tiledAlignerFile))) {

int i = 0;
int matches = 0;
int mapSize = tiledInput.size();
for (TabbedRecord rec : reader) {
for (String rec : reader) {
if (++i % 1000000 == 0) {
logger.info("hit " + (i / 1000000) + "M records, matches: " + matches);
}
String data = rec.getData();
int tabindex = data.indexOf(Constants.TAB);
if (tiledInput.containsKey(data.substring(0, tabindex))) {

int tabindex = rec.indexOf(Constants.TAB);
if (tiledInput.containsKey(rec.substring(0, tabindex))) {
matches++;
tiledInput.put(data.substring(0, tabindex), data.substring(tabindex + 1));
tiledInput.put(rec.substring(0, tabindex), rec.substring(tabindex + 1));

/*
* If we have found all elements in the map - might as well stop looking
Expand All @@ -561,8 +559,8 @@ public static void getTiledDataInMap(String tiledAlignerFile, Map<String, Strin
}
}

public static TabbedHeader getTiledAlignerHeader(String file) throws IOException {
try (TabbedFileReader reader = new TabbedFileReader(new File(file))) {
public static List<String> getTiledAlignerHeader(String file) throws IOException {
try (StringFileReader reader = new StringFileReader(new File(file))) {
return reader.getHeader();
}
}
Expand Down Expand Up @@ -859,14 +857,12 @@ public static String[] getIntelligentSwDiffs(String ref, String sequence, float
* @return
*/
public static int getSWScore(String diffs) {
int matchCount = 0, mismatchCount = 0, gapCount = 0;
int matchCount = 0, mismatchCount = 0;
for (char c : diffs.toCharArray()) {
if ('|' == c) {
matchCount++;
} else if ('.' == c) {
mismatchCount++;
} else if (' ' == c) {
// gapCount++;
} else {
logger.warn("found [" + c + "] in sw diffs string!!!");
}
Expand Down
12 changes: 6 additions & 6 deletions qbamannotate/src/org/qcmg/qbamannotate/Annotator.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
import htsjdk.samtools.SAMFileWriterFactory;
import htsjdk.samtools.SAMRecord;

import org.qcmg.ma.MAFileReader;
import org.qcmg.ma.MARecord;
import org.qcmg.picard.HeaderUtils;
import org.qcmg.picard.SAMFileReaderFactory;
import org.qcmg.qio.ma.MaFileReader;
import org.qcmg.qio.ma.MaRecord;

public final class Annotator {
private final boolean modifyProgramLine;
Expand All @@ -31,10 +31,10 @@ public final class Annotator {
private SAMFileWriter fileWriter;
private SAMFileHeader header;
private SamReader samFileReader;
private MAFileReader maFileReader;
private MaFileReader maFileReader;
private Iterator<SAMRecord> samIterator;
private Iterator<MARecord> maIterator;
private MARecord nextMARecord;
private Iterator<MaRecord> maIterator;
private MaRecord nextMARecord;
private SAMRecord nextSAMRecord;
private AnnotatorType type = new Frag();

Expand Down Expand Up @@ -140,7 +140,7 @@ private void nextMARecord() {
private void marchAndAnnotate() throws Exception {
try {
samFileReader = SAMFileReaderFactory.createSAMFileReader( inputBAMFile) ; //new SAMFileReader(inputBAMFile);
maFileReader = new MAFileReader(inputMAFile);
maFileReader = new MaFileReader(inputMAFile);
header = samFileReader.getFileHeader();
header.setSortOrder(SAMFileHeader.SortOrder.unsorted);
if (modifyProgramLine) {
Expand Down
6 changes: 3 additions & 3 deletions qbamannotate/src/org/qcmg/qbamannotate/AnnotatorType.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import java.util.regex.Pattern;

import org.qcmg.ma.MARecord;
import org.qcmg.qio.ma.MaRecord;

import htsjdk.samtools.SAMRecord;

Expand All @@ -19,7 +19,7 @@ public abstract class AnnotatorType {
public abstract boolean annotate(final SAMRecord record) throws Exception;

public abstract boolean annotate(final SAMRecord record,
final MARecord maRecord) throws Exception;
final MaRecord maRecord) throws Exception;

public void markRecordUnmatched(final SAMRecord record) {
Object zmObj = record.getAttribute("ZM");
Expand Down Expand Up @@ -47,7 +47,7 @@ static void setZMAttribute(final SAMRecord record, int n) {
record.setAttribute("ZM", Integer.toString(n));
}

static int compareTriplet(final SAMRecord record, final MARecord maRecord) {
static int compareTriplet(final SAMRecord record, final MaRecord maRecord) {
return compareTriplet(record.getReadName(), maRecord.getDefLine()
.getReadName());
}
Expand Down
6 changes: 3 additions & 3 deletions qbamannotate/src/org/qcmg/qbamannotate/Frag.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
*/
package org.qcmg.qbamannotate;

import org.qcmg.ma.MADirection;
import org.qcmg.ma.MARecord;
import org.qcmg.qio.ma.MaDirection;
import org.qcmg.qio.ma.MaRecord;

import htsjdk.samtools.SAMRecord;

Expand All @@ -19,7 +19,7 @@ public boolean annotate(final SAMRecord record) throws Exception {
}

@Override
public boolean annotate(SAMRecord record, MARecord maRecord) throws Exception {
public boolean annotate(SAMRecord record, MaRecord maRecord) throws Exception {
int n = maRecord.getDefLine().getNumberMappings();
setZMAttribute(record, n);
return annotate(record);
Expand Down
15 changes: 8 additions & 7 deletions qbamannotate/src/org/qcmg/qbamannotate/LongMatePair.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,21 @@
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamSource;

import org.qcmg.qio.ma.MaDirection;
import org.qcmg.qio.ma.MaRecord;

import javax.xml.transform.stream.StreamResult;
import java.io.*;

import htsjdk.samtools.SAMRecord;

import org.qcmg.ma.MADirection;
import org.qcmg.ma.MARecord;

public class LongMatePair extends AnnotatorType {
final int isizeLowerLimit;
final int isizeUpperLimit;
private String zpAnnotation;
private SAMRecord record;
private MARecord maRecord;
private MaRecord maRecord;
private int annotatedCount = 0;
private final Map<String, Integer> zpToCount = new HashMap<String, Integer>();
private String xmlReport;
Expand Down Expand Up @@ -65,7 +66,7 @@ public boolean annotate(final SAMRecord record) throws Exception {
}

@Override
public boolean annotate(SAMRecord record, MARecord maRecord) throws Exception {
public boolean annotate(SAMRecord record, MaRecord maRecord) throws Exception {
this.record = record;
this.maRecord = maRecord;
performZMAnnotation();
Expand Down Expand Up @@ -96,10 +97,10 @@ public String generateReport() throws Exception {

private void performZMAnnotation() {
assert 0 == compareTriplet(record, maRecord);
if (maRecord.getDefLine().getDirection() == MADirection.F3
if (maRecord.getDefLine().getDirection() == MaDirection.F3
&& record.getReadPairedFlag() && record.getFirstOfPairFlag()) {
setZMAttribute();
} else if (maRecord.getDefLine().getDirection() == MADirection.R3
} else if (maRecord.getDefLine().getDirection() == MaDirection.R3
&& record.getReadPairedFlag() && record.getSecondOfPairFlag()) {
setZMAttribute();
} else {
Expand Down
Loading