[Bioperl-l] Primer maps?

Harry Mangalam hjm at tacgi.com
Thu Feb 16 12:02:07 EST 2006


A bit off the bioperl topic - if you must have bioperl, ignore this (or just 
system() wrap the command) -  but you can do exactly this mapping and in-line 
translation with a thing I wrote called tacg - you make a GCG-formatted file 
of primers ie for each pattern you need a line like:

   
;         Top                         Bottom
;Name    Offset Recognition Pattern   Offset    ! comments
primer1    0   tcgggywmkkgg               0    ! ...
primer2    0   gcttggctgaggag             0    !
 .
 .
 .
Obviously the offsets can be set to 0 for non REs.
There's no limit to the number of primer patterns (tho I think there's a 
compiled-in limit of 30 chars in the pattern - easily changed in header), no 
limit to amount of seq searched, handles degeneracies, searches at ~4Mbases/s 
on a 2G opteron (120 patterns).
 
Also does searching with errors (slowly) and regex's (at pcre speeds), and 
matrices.  Other neat stuff, too.

The output is sort of as you describe - replace the RE names with your primer 
labels and you'll have it.

6 frame xl with 3 letter abbrievs.

                  BsrGI    BsrGI AflII                      DraI
                   \        \     \                          \
    121   gtgtgtatttgtacactttgtacacttaagacctacacatttcattgtgtttaaattatt    180
   3453   cacacataaacatgtgaaacatgtgaattctggatgtgtaaagtaacacaaatttaataa   3512
              ^    *    ^    *    ^    *    ^    *    ^    *    ^    *
1         ValCysIleCysThrLeuCysThrLeuLysThrTyrThrPheHisCysValTerIleIle
2          CysValPheValHisPheValHisLeuArgProThrHisPheIleValPheLysLeuLeu
3           ValTyrLeuTyrThrLeuTyrThrTerAspLeuHisIleSerLeuCysLeuAsnTyrTyr

4           HisIleGlnValSerGlnValSerLeuTerValValAsnTerGlnThrTerIleIleVal
5          ThrTyrLysTyrValLysTyrValTerArgSerCysMetGluAsnHisLysPheTerTer
6         HisThrAsnThrCysLysThrCysLysGlyLeuValCysLysMetThrAsnLeuAsnAsn

or 3 frames with 1 letter abbrievs

                   BsrGI    BsrGI AflII                      DraI
                   \        \     \                          \
    121   gtgtgtatttgtacactttgtacacttaagacctacacatttcattgtgtttaaattatt    180
   3453   cacacataaacatgtgaaacatgtgaattctggatgtgtaaagtaacacaaatttaataa   3512
              ^    *    ^    *    ^    *    ^    *    ^    *    ^    *
1         V  C  I  C  T  L  C  T  L  K  T  Y  T  F  H  C  V  *  I  I
2          C  V  F  V  H  F  V  H  L  R  P  T  H  F  I  V  F  K  L  L
3           V  Y  L  Y  T  L  Y  T  *  D  L  H  I  S  L  C  L  N  Y  Y

read more at tacg.sf.net or reply to me for the latest docs and version - have 
to admit the sf site is a bit moldy.

hjm


On Wednesday 15 February 2006 13:20, Michael Coyne wrote:
>  Hello all --
>
>  I'm having a devil of a time figuring out how to make restriction maps
> using BioPerl.  What I'm going for is output similar to GCG's map program,
> but instead of using a set of defined restriction enzymes, I'd like to use
> a set of primers, to create a primer map rather than a restriction map.  I
> do not need a table of restriction enzymes that cut or don't cut (or
> primers that match or don't match, in this case), but an honest-to-goodness
> map, something like:
>
>                                          FKP-5->
>                                               |
>       CGTTCTATCGATATGGGTGCTATGGAAATAGTATCTACGTTTGATGAATTGCAAGATTAT
>  1921 ---------+---------+---------+---------+---------+---------+ 1980
>       GCAAGATAGCTATACCCACGATACCTTTATCATAGATGCAAACTACTTAACGTTCTAATA
>   
>  a                         M  E  I  V  S  T  F  D  E  L  Q  D  Y   -
>
>  I also need translations of orfs, but I can use GenBank files as input to
> the program and thus the CDS translations are already there, so I'm
> guessing that shouldn't be too hard....  How does one create such a map
> using the BioPerl modules?
>
>  There are intriguing indications out there that such a thing is possible
> (e.g. the Bio::Map:: * and Bio::Restriction:: * modules), but I can't find
> a single example of code that creates such a basic, bread-and-butter thing
> as a restriction map with orf translations.  The documentation to these
> modules is fairly useless to me, consisting mostly of internal methods and
> function prototypes.  Perhaps my skills as a Perl programmer are to blame,
> but a clear example of how a map like this is constructed would be a big
> help.
>
>  Right now, I'm generating primer maps with system calls to EMBOSS's remap,
> pointing it at a file of primer sequences rather than a file of restriction
> enzyme sequences, but the results are less than desired.  I'm considering
> trying to adapt tacg 4.1.0 or sequence extractor 1.1 web-based code to my
> needs, but this seems like a lot of work for an operation I suspect is
> possible in BioPerl.
>
>  Any help greatly appreciated...
>
>  Mike
>
>  ---------------------------------------------------------------------
>   //=\   Michael J. Coyne                       phone: (617) 525-7820
>   \=//   Channing Laboratory                    FAX:   (617) 264-5193
>    //=\  EBRC, Room 617
>    \=//  221 Longwood Avenue        email:mcoyne at channing.harvard.edu
>     //=\ Boston, MA 02115                 mjcoyne at comcast.net
>     \=//
>  ---------------------------------------------------------------------

-- 
Cheers, Harry
Harry J Mangalam - 949 856 2847 (vox; email for fax) - hjm at tacgi.com 
            <<plain text preferred>>



More information about the Bioperl-l mailing list