Class: SampleSheet
- Inherits:
-
Object
- Object
- SampleSheet
- Defined in:
- lib/nugen_barcode_splitter/sample_sheet.rb
Overview
FCID,Lane,SampleID,SampleRef,Index,Description,Control,Recipe,Operator,SampleProject, C0ED3ACXX,4,R-1,hg19,ACCC,RNA Seq,N,,,47644,Nugen barcodes C0ED3ACXX,4,R-2,hg19,GAGT,RNA Seq,N,,,47644,Nugen barcodes
Instance Attribute Summary collapse
-
#barcode_lengths ⇒ Object
Returns the value of attribute barcode_lengths.
-
#barcodes ⇒ Object
Returns the value of attribute barcodes.
-
#lanes ⇒ Object
Returns the value of attribute lanes.
-
#sample_id ⇒ Object
Returns the value of attribute sample_id.
Instance Method Summary collapse
- #create_barcode_txt(prefix) ⇒ Object
-
#initialize(samplesheet) ⇒ SampleSheet
constructor
A new instance of SampleSheet.
Constructor Details
#initialize(samplesheet) ⇒ SampleSheet
Returns a new instance of SampleSheet.
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/nugen_barcode_splitter/sample_sheet.rb', line 12 def initialize(samplesheet) @lanes = [] @sample_id = [] @barcodes = [] CSV.foreach(samplesheet, {:headers => :first_row}) do |row| @lanes << row["Lane"] @sample_id << row["SampleID"].gsub(/\W/,"X") @barcodes << row["Index"] end end |
Instance Attribute Details
#barcode_lengths ⇒ Object
Returns the value of attribute barcode_lengths.
24 25 26 |
# File 'lib/nugen_barcode_splitter/sample_sheet.rb', line 24 def @barcode_lengths end |
#barcodes ⇒ Object
Returns the value of attribute barcodes.
24 25 26 |
# File 'lib/nugen_barcode_splitter/sample_sheet.rb', line 24 def @barcodes end |
#lanes ⇒ Object
Returns the value of attribute lanes.
24 25 26 |
# File 'lib/nugen_barcode_splitter/sample_sheet.rb', line 24 def lanes @lanes end |
#sample_id ⇒ Object
Returns the value of attribute sample_id.
24 25 26 |
# File 'lib/nugen_barcode_splitter/sample_sheet.rb', line 24 def sample_id @sample_id end |
Instance Method Details
#create_barcode_txt(prefix) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/nugen_barcode_splitter/sample_sheet.rb', line 26 def (prefix) current_lane = "dummy" handler = File.new(prefix,'w') @lanes.each_with_index do |lane, i| if current_lane != lane outfile = "#{prefix}_#{lane}.txt" current_lane = lane handler.close() handler = File.new(outfile,'w') handler.write("# SampleName Barcode \n") end handler.write("#{@sample_id[i]} #{@barcodes[i]} \n") end handler.close() File.delete(prefix) end |