0.0
No commit activity in last 3 years
No release in over 3 years
a programmatic interface to the iPCRess in-silico PCR software. iPCRess is part of the exonerate suite.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 1.0.21
>= 2.3.2, ~> 2.3
~> 3.12

Runtime

>= 1.4.2
 Project Readme

bio-ipcress

bio-ipcress is a programmatic interface to the ipcress in-silico PCR software, which is bundled with exonerate.

You can run a PCR:

require 'bio-ipcress'

#hits the first and last bits of the Methanocella_conradii_16s.fa
primer_set = Bio::Ipcress::PrimerSet.new(
  'GGTCACTGCTA','GGCTACCTTGTTACGACTTAAC'
  )

# Run ipcress on a template sequence, specified in as a FASTA file
results = Bio::Ipcress.run(
  primer_set,
  'Methanocella_conradii_16s.fa', #this file is in the test/data/Ipcress directory
  {:min_distance => 2, :max_distance => 10000})
#=> An array of Bio::Ipcress::Result objects, parsed from
#
#Ipcress result
#--------------
# Experiment: AE12_pmid21856836_16S
#    Primers: A B
#     Target: gi|335929284|gb|JN048683.1|:filter(unmasked) Methanocella conradii HZ254 16S ribosomal RNA gene, partial sequence
#    Matches: 19/20 14/15
#    Product: 502 bp (range 2-10000)
#Result type: forward
#
#...AAACTTAAAGGAATTGGCGG......................... # forward
#   ||||| ||| |||||| |||-->
#5'-AAACTYAAAKGAATTGRCGG-3' 3'-CRTGTGTGGCGGGCA-5' # primers
#                           <--| |||||||||||||
#..............................CGTGTGTGGCGGGCA... # revcomp
#--
#ipcress: gi|335929284|gb|JN048683.1|:filter(unmasked) AE12_pmid21856836_16S 502 A 826 1 B 1313 1 forward
#-- completed ipcress analysis"



# This Bio::Ipcress::Result object now holds info about the result:
results.length #=> 1

res = results[0]
res.experiment_name #=> 'AE12_pmid21856836_16S' 
res.primers #=> 'A B' 
res.target #=> 'gi|335929284|gb|JN048683.1|:filter(unmasked) Methanocella conradii HZ254 16S ribosomal RNA gene, partial sequence'
res.matches #=> '19/20 14/15' 
res.product #=> '502 bp (range 2-10000)' 
res.result_type #=> 'forward' 
res.forward_matching_sequence #=> 'AAACTTAAAGGAATTGGCGG' 
res.forward_primer_sequence #=> 'AAACTYAAAKGAATTGRCGG' 
res.reverse_primer_sequence #=> 'CRTGTGTGGCGGGCA' 
res.reverse_matching_sequence #=> 'CGTGTGTGGCGGGCA' 
res.length #=> 502
res.start #=> 826
res.forward_mismatches #=> 1 
res.reverse_mismatches #=> 1

There appears to be a slight bug in iPCRess, in the way it handles primers with 'wobble' bases like the last base of AAACTY, which indicates that both AAACTC and AAACTT are added as primers. IPCress always suggests that there is at least a single mismatch, when this is not always the case. To workaround this, the Result#recalculate_mismatches_from_alignments method re-computes the number of forward and reverse mismatches.

#...AAACTTAAAGGAATTGGCGG......................... # forward
#   ||||| ||| |||||| |||-->
#5'-AAACTYAAAKGAATTGRCGG-3' 3'-CRTGTGTGGCGGGCA-5' # primers
#                           <--| |||||||||||||
#..............................CGTGTGTGGCGGGCA... # revcomp
res = Bio::Ipcress::Result.new
res.forward_matching_sequence = 'AAACTTAAAGGAATTGGCGG'
res.forward_primer_sequence = 'AAACTYAAAKGAATTGRCGG'
res.reverse_matching_sequence = 'CGTGTGTGGCGGGCA'
res.reverse_primer_sequence = 'CRTGTGTGGCGGGCA'

res.recalculate_mismatches_from_alignments #=> [0,0]

Installation

gem install bio-ipcress

You'll also need to install exonerate

Project home page

Information on the source tree, documentation, examples, issues and how to contribute, see

http://github.com/wwood/bioruby-ipcress

The BioRuby community is on IRC server: irc.freenode.org, channel: #bioruby.

Cite

If you use this software, please cite exonerate

Biogems.info

This Biogem is published at #bio-ipcress

Copyright

Copyright (c) 2012 Ben J Woodcroft. See LICENSE.txt for further details.