Skip to content

Commit

Permalink
enforce types and include guides with 0 counts
Browse files Browse the repository at this point in the history
  • Loading branch information
tlnagy committed Apr 26, 2016
1 parent 9444ac5 commit 538c329
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions src/sequencing.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
function counts_to_freqs(samples::Vector{Int64}...)
results = []
results = Vector{Float64}[]
for sample in samples
counts = StatsBase.counts(sample, 1:N*coverage)
push!(results, counts ./ sum(counts))
Expand All @@ -9,26 +9,26 @@ end

function sequencing(depths::Vector{Int64}, guides::Vector{Barcode}, samples::Vector{Float64}...)
@assert (length(depths) == length(samples)) "Supply exactly one sequencing depth per sample"
sequencing_results = []
sequencing_results = DataFrame[]
colnames = fieldnames(Barcode)
push!(colnames, [:counts, :barcodeid]...)
coltypes = map(x -> fieldtype(Barcode, x), fieldnames(Barcode))
push!(coltypes, [Int64, Int64]...)

for i in 1:length(samples)
reads = rand(Categorical(samples[i]), depths[i])

raw_counts = StatsBase.counts(reads, 1:N*coverage)

bc_fieldnames = fieldnames(Barcode)
data = Any[coltype[] for coltype in coltypes]
for id in unique(reads)

for id in 1:N*coverage
barcode_info = as_array(guides[id])
push!(barcode_info, [raw_counts[id], id]...)

for i in 1:length(barcode_info)
push!(data[i], barcode_info[i])
push!(data[i], barcode_info[i])
end
end
push!(sequencing_results, DataFrame(data, colnames))
Expand Down

0 comments on commit 538c329

Please sign in to comment.