@@ -24,37 +24,38 @@ public class FilterforPIPseq {
2424 File genome = null ;
2525 File output = null ;
2626 String SEQ = "" ;
27-
28- private PrintStream PS ;
29-
27+
28+ private PrintStream PS = null ;
29+
3030 public FilterforPIPseq (File in , File gen , File out , String s , PrintStream ps ) {
3131 bamFile = in ;
3232 genome = gen ;
3333 output = out ;
3434 SEQ = s .toUpperCase ();
3535 PS = ps ;
3636 }
37-
37+
3838 public void run () throws IOException , InterruptedException {
3939 IndexedFastaSequenceFile QUERY = new IndexedFastaSequenceFile (genome );
40-
40+
4141 IOUtil .assertFileIsReadable (bamFile );
4242 IOUtil .assertFileIsWritable (output );
4343 final SamReader reader = SamReaderFactory .makeDefault ().open (bamFile );
4444 reader .getFileHeader ().setSortOrder (SAMFileHeader .SortOrder .coordinate );
4545 final SAMFileWriter writer = new SAMFileWriterFactory ().makeSAMOrBAMWriter (reader .getFileHeader (), false , output );
46-
46+
4747 printBoth (bamFile .getName ()); //output file name to textarea
48-
48+
4949 //Code to get individual chromosome stats
5050 AbstractBAMFileIndex bai = (AbstractBAMFileIndex ) reader .indexing ().getIndex ();
5151 for (int z = 0 ; z < bai .getNumberOfReferences (); z ++) {
5252 SAMSequenceRecord seq = reader .getFileHeader ().getSequence (z );
53+
5354 printBoth (seq .getSequenceName ());
54-
55+
5556 CloseableIterator <SAMRecord > iter = reader .query (seq .getSequenceName (), 0 , seq .getSequenceLength (), false );
5657 while (iter .hasNext ()) {
57- //Create the record object
58+ //Create the record object
5859 SAMRecord sr = iter .next ();
5960 if (sr .getReadPairedFlag ()) {
6061 if (sr .getProperPairFlag () && sr .getFirstOfPairFlag ()) {
@@ -70,7 +71,7 @@ public void run() throws IOException, InterruptedException {
7071 }
7172 }
7273 //System.out.println(sr.getReadString() + "\t" + seq.getSequenceName() + "\t" + sr.getUnclippedStart() + "\t" + sr.getUnclippedEnd() + "\t" + sr.getReadNegativeStrandFlag() + "\t" + filter);
73- if (filter .toUpperCase ().equals (SEQ )) { writer .addAlignment (sr ); }
74+ if (filter .toUpperCase ().equals (SEQ )) { writer .addAlignment (sr ); }
7475 }
7576 } else {
7677 String filter = "" ;
@@ -83,7 +84,7 @@ public void run() throws IOException, InterruptedException {
8384 filter = FASTAUtilities .RevComplement (filter );
8485 }
8586 //System.out.println(sr.getReadString() + "\t" + seq.getSequenceName() + "\t" + sr.getUnclippedStart() + "\t" + sr.getUnclippedEnd() + "\t" + sr.getReadNegativeStrandFlag() + "\t" + filter);
86- if (filter .toUpperCase ().equals (SEQ )) { writer .addAlignment (sr ); }
87+ if (filter .toUpperCase ().equals (SEQ )) { writer .addAlignment (sr ); }
8788 }
8889 }
8990 iter .close ();
@@ -93,7 +94,7 @@ public void run() throws IOException, InterruptedException {
9394 reader .close ();
9495 bai .close ();
9596 }
96-
97+
9798 private void printBoth (String message ){
9899 if (PS !=null ){ PS .println (message ); }
99100 System .err .println (message );
0 commit comments