class SolveBio::Sample

Public Class Methods

create(genome_build, params={}) click to toggle source
# File lib/solvebio/sample.rb, line 15
def self.create(genome_build, params={})
    if params.member?(:vcf_url)
        if params.member?(:vcf_file)
            raise TypeError,
            'Specified both vcf_url and vcf_file; use only one'
        end
        
        self.create_from_url(genome_build, params[:vcf_url])
    elsif params.member?(:vcf_file)
        return self.create_from_file(genome_build, params[:vcf_file])
    else
        raise TypeError,
        'Must specify exactly one of vcf_url or vcf_file parameter'
    end
end
create_from_file(genome_build, vcf_file) click to toggle source

Creates from the specified file. The data of the should be in VCF format.

# File lib/solvebio/sample.rb, line 33
def self.create_from_file(genome_build, vcf_file)
    data = {
        :genome_build  => genome_build,
        :vcf_file => File.open(vcf_file, 'rb')
    }
    response = Client.post(url, data, :json => false)
    Util.to_solve_object(response)
end
create_from_url(genome_build, vcf_url) click to toggle source

Creates from the specified URL. The data of the should be in VCF format.

# File lib/solvebio/sample.rb, line 44
def self.create_from_url(genome_build, vcf_url)
    params = {:genome_build  => genome_build,
              :vcf_url       => vcf_url}
    begin
        response = Client.post(url, params)
    rescue SolveError => response
    end
    Util.to_solve_object(response)
end

Public Instance Methods

annotate() click to toggle source
# File lib/solvebio/sample.rb, line 11
def annotate
    Annotation.create :sample_id => self.id
end