class FastaRetriever::Retriever
Public Class Methods
compose_fasta(sequence,organism,chr,start_coord,end_coord)
click to toggle source
# File lib/bio-fasta_retrieve.rb, line 47 def self.compose_fasta(sequence,organism,chr,start_coord,end_coord) seq=Bio::Sequence::NA.new(sequence) seq_res=seq.to_fasta("#{organism}_#{chr}_#{start_coord}_#{end_coord}") return seq_res end
new()
click to toggle source
# File lib/bio-fasta_retrieve.rb, line 23 def initialize;end
parse_xml(xml)
click to toggle source
parse sequence from xml
# File lib/bio-fasta_retrieve.rb, line 42 def self.parse_xml(xml) xml_res=xml.xpath("//DNA").text.tr("\n","") return xml_res end
retrieve(organism,chr,start_coord,end_coord)
click to toggle source
input organism, chromosome, start, end separated by space (i.e. hg19 chr10 1000 2000)
# File lib/bio-fasta_retrieve.rb, line 27 def self.retrieve(organism,chr,start_coord,end_coord) address="http://genome.ucsc.edu/cgi-bin/das/#{organism}/dna?segment=#{chr}:#{start_coord},#{end_coord}" xml=ucsc_connect(address) seq=compose_fasta(xml,organism,chr,start_coord,end_coord) return seq end
ucsc_connect(address)
click to toggle source
connects to ucsc and retrieve xml with DNA sequence
# File lib/bio-fasta_retrieve.rb, line 35 def self.ucsc_connect(address) xml = Nokogiri::XML(open(address)) xml_res=parse_xml(xml) return xml_res end