I'm pretty new to Perl, I'm trying to write a code for enzymatic digestion and have a problem with the regex in it; something like this:
So this would be for trypsine, it cuts after K or R, but only if there is no P after them.
I am getting no errors or warnings, but there is no output whatsoever, I'm guessing it has to do with the loop? Need some enlightening please. Many thanks in advance#!/usr/bin/env perl use warnings; @proteins=qw(DAAAAATTLTTTAMTTTTTTCKMMFRPPPPPGGGGGGGGGGGG ALTAMCMNVWEIT +YHKGSDVNRRASFAQPPPQPPPPLLAIKPASDASD); for $protein (@proteins) { if ($protein =~ m/(KR)!P/g) { $protein =~ s/(KR)/$1=/; @new_peptides = split ('=',$protein); } } for (@new_peptides) { print "The peptide is $new_peptides\n"; }
Thanks all! Working now, and I also added more enzymes, selectable by getopts. Peptides printing alright, however, how could I track which peptide comes from which protein in order to make the printing a little more organised? I.e: Protein 1 Peptide 1 Protein 1 Peptide 2 ... Protein n Pepptide x
In reply to Bioinformatics: Regex loop, no output by TamaDP
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |