This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Help required in Perl Script

Hello, I appreciate if someone can help me to write a script in perl for the following problem: Suppose I have a sequence like this:

MSTNPKPQRKTKRNTNRRPQDVKFPGGGQIVGGVYLLPRRGPRLGVRATRKTSERSQPRGRRQPIPKARRPEGRTWAQPGYPWPLYGNEGMGWAGWLLSPRGSRPSWGPTDPRRRSRNLGKVIDTLTCGFADLMGYIPLVGAPLGGAARALAHGVRVLEDGVNYATGNLPGCSFSIFLLALLSCLTTPVSAYEVRNVSGVYHVTNDCSNSSIVYEAADMIMHAPGCVPCVRENNSSRCWVALTPTLAARNISIPTTTIRRHVDLLVGAAAFCSAMYVGDLCGSVFLVSQLFTFSPRRHETVQDCNCSIYPGHVTGHRMAWDMMMNWSPTTALVVSQLLRIPQAIVDMVAGAHWGVLAGLAYYSMVGNWAKVLIVMLLFSGVDGETHVSGGTHGRGAHSFTGLFTFGASQKIQLVNTNGSWHINRTALNCNDSLQTGFIAALFYTHRFNSSGCPERMASCRPIDGFAQGWGPITYVEPDNLDQRPYCWHYAPRPCGIVPASQVCGPVYCFTPSPVVVGTTDRFGVPTYSWGENETDVLLLNNTRPPQGNWFGCTWMNSTGFTKTCGGPPCNIGGIGNNTLTCPTDCFRKHPEATYTKCGSGPWLTPRCLVHYPYRLWHYPCTVNFTIFKVRMYVGGVEHRLEAACNWTRGERCDLEDRDRSELSPLLLSTTEWQILPCSFTTLPALSTGLIHLHRNIVDVQYLYGIGSAVVSFAIKWEYILLLFLLLADARVCACLWMMLLIAQAEAALENLVVLNAASVAGTHGILSFLVFFCAAWYIKGRLVPGAAYALYGVWPLLLLLLALPPRAYAMDREMAASCGGAVFIGLALLTLSPYYKVFLARLIWWLQYFITRAEAHLQVWVPPLNVRGGRDAIIILACAVHPGLIFDITKLLLAILGPLMVLQAGITRMPYFVRAQGLIRACMLVRKAAGGHYIQMAFMKLAALTGTYIYDHLAPLQHWAHAGLRDLAVAVEPVVFSDMETKIITWGADTAACGDIILGLPVSARRGREVLLGPADSFEGQGWRLLAPITAYSQQTRGLLGCIITSLTGRDKNQVEGEVQVVSTATQSFLATCINGVCWTVFHGAGSKTLAGPKGPITQMYTNVDQDLVGWQAPPGARSMTPCTCGSSDLYLVTRHADVIPVRRRGDSRGSLLSPRPVSYLKGSSGGPLLCPSGHAVGIFRAAVCTRGVAKAVDFVPVESMETTMRSPVFTDNSSPPAVPQTFQVAHLHAPTGSGKSTKVPAAYAAQGYKVLVLNPSVAATLSFGAYMSKAYGTDPNIRTGVRTITTGAPITYSTYGKFLADGGCSGGAYDIIICDECHSTDSTTVLGIGTVLDQAETAGARLVVLATATPPGSVTVPHPNIEEVGLSNTGEIPFYGKAIPIEAIKGGRHLIFCHSKKKCDELAAKLSGLGLNAVAYYRGLDVSVIPTSGDVVVVATDALMTGYTGDFDSVIDCNTCVTQTVDFSLDPTFTIETTTVPQDAVSRSQRRGKTGRGRRGIYRFVTPGERPSGMFDSSVLCECYDAGCAWYELTPAETSVRLRAYLNTPGLPVCQDHLEFWESVFTGLTHIDAHFLSQTKQAGDNFPYLVAYQATVCARAQAPPPSWDQMWKCLIRLKPTLHGPTPLLYRLGAVQNEVILTHPITKYIMACMSADLEVVTSTWVLVGGVLAALAAYCLTTGSVVIVGRIILSGKPAVIPDREVLYREFDEMEECASHLPYIEQGMQLAEQFKQKALGLLQTATKQAEAAAPVVESKWRALETFWAKHMWNFISGIQYLAGLSTLPGNPAIASLMAFTASITSPLTTQSTLLFNILGGWVAAQLAPPSAASAFVGAGIAGAAVGSIGLGKVLVDILAGYGAGVAGALVAFKIMSGEAPSTEDLVNLLPAILSPGALVVGVVCAAILRRHVGPGEGAVQWMNRLIAFASRGNHVSPTHYVPESDAAVRVTQILSSLTITQLLKRLHQWINEDCSTPCSGSWLRDVWDWICTVLTDFKTWLKSKLVPQLPGVPFFSCQRGYKGVWRGDGIMQTTCPCGAQITGHVKNGSMRIVGPKTCSNTWHGTFPINAYTTGPCTPSPAPNYSRALWRVAAEEYVEVTRVGDFHYVTGMTTDNVKCPCQVPAPEFFTEVDGVRLHRYAPVCKPLLREEVTFQVGLNQYLVGSQLPCEPEPDVAVLTSMLTDPSHITAETAKRRLARGSPPSLASSSASQLSAPSLKATCTTHHDSPDADLIEANLLWRQEMGGNITRVESENKVVILDSFDPLHAEEDEREVSVAAEILRKSRKFPTALPIWARPDYNPPLLESWKDPEYVPPVVHGCPLPPTKAPPIPPPRRKRTVVLTESTVSSALAEFATKTFGSSESSAVDSGTATAPPDQASDDGDKGSDVESYSSMPPLEGEPGDPDLSDGSWSTVSEEAGEDVVCCSMSYTWTGALITPCAAEESKLPINPLSNSLLRHHNMVYATTSRSASLRQKKVTFDRLQVLDDHYRDVLKEMKAKASTVKAKLLSIEEACKLTPPHSAKSKYGYGAKDVRNLSSKAINHIHSVWEDLLEDTETPIDTTIMAKSEVFCVQPEKGGRKPARLIVFPDLGVRVCEKMALYDVVSTLPQAVMGSSYGFQYSPKQRVEFLVNTWKSKKSPMGFSYDTRCFDSTVTENDIRVEESIYQCCDLAPEAKRAIRSLTERLYIGGPLTNSKGQNCGYRRCRASGVLTTSCGNTLTCYLKASAACRAAKLQDCTMLVNGDDLVVICESAGTQEDAERLRAFTEAMTRYSAPPGDPPQPEYDLELITSCSSNVSVAHDASGKRVYYLTRDPTTPLARAAWETARHTPVNSWLGNIIMYAPTLWARMILMTHFFSILLAQEQLEKALDCQIYGACYSIEPLDLPQIIERLHGLSAFSLHSYSPGEINRVASCLRKLGVPPLRVWRHRARSVRAKLLSQGGRAATCGKYLFNWAVRTKLKLTPIPAASRLDLSGWFVAGYSGGDIYHSLSRARPRWFMLCLLLLSVGVGIYLLPNR

The above sequence has a motif like YEVR and I need to print sequence from Y till the 192th position of the sequence. The output of above sequence should be like following:

YEVRNVSGVYHVTNDCSNSSIVYEAADMIMHAPGCVPCVRENNSSRCWVALTPTLAARNISIPTTTIRRHVDLLVGAAAFCSAMYVGDLCGSVFLVSQLFTFSPRRHETVQDCNCSIYPGHVTGHRMAWDMMMNWSPTTALVVSQLLRIPQAIVDMVAGAHWGVLAGLAYYSMVGNWAKVLIVMLLFSGVDG

I have to apply this perl script to many sequences.

Thanks.

Reaz

sequence genome

1 answer

my $a = "MSTN....."
my $I = index($a, "YEVR");
print substr($a, $I, 192);

This will print from first occurrence of "YEVR" 192 AA. Of course you better put the motif in a variable and have it as an input argument for the script along with the sequences.

Log in to answer this question.