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