uk.ac.sanger.npg.illumina
Class Tile

java.lang.Object
  extended by uk.ac.sanger.npg.illumina.Tile

public class Tile
extends java.lang.Object

Process an illumina tile


Constructor Summary
Tile(java.lang.String intensityDir, java.lang.String baseCallDir, java.lang.String id, int laneNumber, int tileNumber, java.util.HashMap<java.lang.String,int[]> cycleRangeByRead, boolean secondCall, boolean pfFilter, java.lang.String barcodeSeqTagName, java.lang.String barcodeQualTagName)
           
 
Method Summary
 boolean checkBCLClusterNumber(int expectedClusterNumber)
           
 boolean checkSCLClusterNumber(int expectedClusterNumber)
           
 void closeBaseCallFiles()
          close all BCL or SCL file in not closed yet
 java.lang.String convertByteArrayToString(byte[] array)
           
 java.lang.String convertPhredQualByteArrayToFastqString(byte[] array)
           
 java.lang.String getBaseCallFileName(int cycle, boolean firstCall)
           
 java.util.HashMap<java.lang.String,BCLFileReader[]> getBclFileReaderListByRead()
           
 java.lang.String getcLocsFileName()
           
 java.lang.String getFilterFileName()
           
 java.lang.String getLocsFileName()
           
 byte[][] getNextClusterBaseQuals(BCLFileReader[] bclFileList)
          read bases and qualities for next cluster of one read from its BCL file list
 byte[][] getNextClusterBaseQuals(java.lang.String read)
          read bases and qualities for next cluster of one read
 java.lang.String getNextClusterSecondBases(SCLFileReader[] sclFileList)
          read second bases for next cluster of one read from its BCL file list
 java.lang.String getNextClusterSecondBases(java.lang.String read)
          read second bases for next cluster of one read
 java.lang.String getPosFileName()
           
 java.lang.String getReadName(java.lang.String[] pos)
          form read name for one cluster
 net.sf.samtools.SAMRecord getSAMRecord(net.sf.samtools.SAMFileHeader fileHeader, java.lang.String readName, int clusterIndex, byte[][] baseQuals, java.lang.String secondBases, byte[][] baseQualsIndex, byte[][] baseQualsIndex2, int filter, boolean paired, boolean firstRead)
          write all together for one SAM Record
 java.util.HashMap<java.lang.String,SCLFileReader[]> getSclFileReaderListByRead()
           
 boolean isIndexed()
           
 boolean isPairedRead()
           
static void main(java.lang.String[] args)
          test main method
 void openBaseCallFiles()
          open all BCL or SCL files
 void processTile(net.sf.samtools.SAMFileWriter outputSam)
          read each cluster and write them to output bam file
 void setSecondBarcodeQualTagName(java.lang.String secondBarcodeQualTagName)
           
 void setSecondBarcodeSeqTagName(java.lang.String secondBarcodeSeqTagName)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Tile

public Tile(java.lang.String intensityDir,
            java.lang.String baseCallDir,
            java.lang.String id,
            int laneNumber,
            int tileNumber,
            java.util.HashMap<java.lang.String,int[]> cycleRangeByRead,
            boolean secondCall,
            boolean pfFilter,
            java.lang.String barcodeSeqTagName,
            java.lang.String barcodeQualTagName)
Parameters:
intensityDir - intensities directory
baseCallDir -
id - instrument with run id, which will be used for read name
laneNumber - the run laneNumber number
tileNumber - this tile number
cycleRangeByRead - cycle range for each read, the hash key could be read1, read2 or readIndex
secondCall - include second base call or not
pfFilter - include PF filtered reads or not
barcodeSeqTagName -
barcodeQualTagName -
Method Detail

processTile

public void processTile(net.sf.samtools.SAMFileWriter outputSam)
                 throws java.lang.Exception
read each cluster and write them to output bam file

Parameters:
outputSam -
Throws:
java.lang.Exception

checkBCLClusterNumber

public boolean checkBCLClusterNumber(int expectedClusterNumber)
                              throws java.lang.Exception
Parameters:
expectedClusterNumber -
Returns:
true if cluster number in bcl file match the one in filter file
Throws:
java.lang.Exception

checkSCLClusterNumber

public boolean checkSCLClusterNumber(int expectedClusterNumber)
                              throws java.lang.Exception
Parameters:
expectedClusterNumber -
Returns:
true if cluster number in scl file match the one in filter file
Throws:
java.lang.Exception

openBaseCallFiles

public void openBaseCallFiles()
                       throws java.lang.Exception
open all BCL or SCL files

Throws:
java.lang.Exception

closeBaseCallFiles

public void closeBaseCallFiles()
close all BCL or SCL file in not closed yet


getNextClusterBaseQuals

public byte[][] getNextClusterBaseQuals(java.lang.String read)
                                 throws java.lang.Exception
read bases and qualities for next cluster of one read

Parameters:
read -
Returns:
next cluster base and quality value as byte array for a read
Throws:
java.lang.Exception

getNextClusterBaseQuals

public byte[][] getNextClusterBaseQuals(BCLFileReader[] bclFileList)
                                 throws java.lang.Exception
read bases and qualities for next cluster of one read from its BCL file list

Parameters:
bclFileList -
Returns:
next cluster base and quality value as byte array from BCL file list
Throws:
java.lang.Exception

getNextClusterSecondBases

public java.lang.String getNextClusterSecondBases(java.lang.String read)
                                           throws java.lang.Exception
read second bases for next cluster of one read

Parameters:
read -
Returns:
get next cluster second bases for a read
Throws:
java.lang.Exception

getNextClusterSecondBases

public java.lang.String getNextClusterSecondBases(SCLFileReader[] sclFileList)
                                           throws java.lang.Exception
read second bases for next cluster of one read from its BCL file list

Parameters:
sclFileList -
Returns:
get next cluster second bases from SCL file list
Throws:
java.lang.Exception

getSAMRecord

public net.sf.samtools.SAMRecord getSAMRecord(net.sf.samtools.SAMFileHeader fileHeader,
                                              java.lang.String readName,
                                              int clusterIndex,
                                              byte[][] baseQuals,
                                              java.lang.String secondBases,
                                              byte[][] baseQualsIndex,
                                              byte[][] baseQualsIndex2,
                                              int filter,
                                              boolean paired,
                                              boolean firstRead)
write all together for one SAM Record

Parameters:
fileHeader -
readName -
clusterIndex -
baseQuals -
secondBases -
baseQualsIndex -
baseQualsIndex2 -
filter -
paired -
firstRead -
Returns:
SAM record

getReadName

public java.lang.String getReadName(java.lang.String[] pos)
form read name for one cluster

Parameters:
pos -
Returns:
whole read name

getBaseCallFileName

public java.lang.String getBaseCallFileName(int cycle,
                                            boolean firstCall)
Parameters:
cycle -
firstCall -
Returns:
BCL or SCL base call file name

convertPhredQualByteArrayToFastqString

public java.lang.String convertPhredQualByteArrayToFastqString(byte[] array)
Parameters:
array -
Returns:
fastq quality string from phred qual byte array

convertByteArrayToString

public java.lang.String convertByteArrayToString(byte[] array)
Parameters:
array -
Returns:
string from a byte array

getcLocsFileName

public java.lang.String getcLocsFileName()
Returns:
the cLocsFileName

getFilterFileName

public java.lang.String getFilterFileName()
Returns:
the filterFileNameLocal

isPairedRead

public boolean isPairedRead()
Returns:
the pairedRead

isIndexed

public boolean isIndexed()
Returns:
the indexed

getBclFileReaderListByRead

public java.util.HashMap<java.lang.String,BCLFileReader[]> getBclFileReaderListByRead()
Returns:
the bclFileReaderListByRead

getSclFileReaderListByRead

public java.util.HashMap<java.lang.String,SCLFileReader[]> getSclFileReaderListByRead()
Returns:
the sclFileReaderListByRead

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
test main method

Parameters:
args -
Throws:
java.lang.Exception

getPosFileName

public java.lang.String getPosFileName()
Returns:
the posFileName

getLocsFileName

public java.lang.String getLocsFileName()
Returns:
the locsFileName

setSecondBarcodeSeqTagName

public void setSecondBarcodeSeqTagName(java.lang.String secondBarcodeSeqTagName)
Parameters:
secondBarcodeSeqTagName - the secondBarcodeSeqTagName to set

setSecondBarcodeQualTagName

public void setSecondBarcodeQualTagName(java.lang.String secondBarcodeQualTagName)
Parameters:
secondBarcodeQualTagName - the secondBarcodeQualTagName to set