تالار گفتمان مانشت
زبان پرل - نسخه‌ی قابل چاپ

زبان پرل - adele_69 - 11 مهر ۱۳۹۲ ۰۲:۲۱ ق.ظ

سلام کسی میتونه کمک کنه که برنامه زیر چیکار میکنه و مشکلش چیه ایا اجرا میشه یا نه؟ و چطور میشه مشکل بر طرف کرد؟
$DNA = 'ACGGGAGGACGGGAAAATTACTACGGCATTAGC;'
print "Here is the starting DNA:\n\n;"
print "$DNA\n\n;"
$revcom = reverse $DNA;
$revcom =~ s/A/T/g;
$revcom =~ s/T/A/g;
$revcom =~ s/G/C/g;
$revcom =~ s/C/G/g;
print "Here is the reverse complement DNA:\n\n;"
print "$revcom\n;"

RE: زبان پرل - mfXpert - 11 مهر ۱۳۹۲ ۰۱:۳۴ ب.ظ

این کد قراره Reverse complement رو به دست بیاره یعنی رشته DNA گرفته میشه، برعکس (reverse) میشه و به جای هر باز، مکمل اون رو قرار می گیره. یعنی اگر فرضا داشته باشیم DNA=GGGGaaaaaaaatttatatat اونوقت خروجی باید بشه atatataaattttttttCCCC.

پ.ن: البته فکر می‌کنم این کد Reverse complement رو به درستی به دست نمی‌یاره.

RE: زبان پرل - adele_69 - 11 مهر ۱۳۹۲ ۱۰:۳۵ ب.ظ

(۱۱ مهر ۱۳۹۲ ۰۱:۳۴ ب.ظ)mfXpert نوشته شده توسط:  این کد قراره Reverse complement رو به دست بیاره یعنی رشته DNA گرفته میشه، برعکس (reverse) میشه و به جای هر باز، مکمل اون رو قرار می گیره. یعنی اگر فرضا داشته باشیم DNA=GGGGaaaaaaaatttatatat اونوقت خروجی باید بشه atatataaattttttttCCCC.

پ.ن: البته فکر می‌کنم این کد Reverse complement رو به درستی به دست نمی‌یاره.

ممنون اره ممکنه درست اجرا نشه نمیدونین چرا؟ و چطور باید حلش کرد؟

RE: زبان پرل - mfXpert - 12 مهر ۱۳۹۲ ۱۲:۰۵ ق.ظ

(۱۱ مهر ۱۳۹۲ ۱۰:۳۵ ب.ظ)adele_69 نوشته شده توسط:  ممکنه درست اجرا نشه نمیدونین چرا؟ و چطور باید حلش کرد؟

کد زیر فکر می‌کنم جواب بده.

کد:
$DNA = 'ACGGGAGGACGGGAAAATTACTACGGCATTAGC;'
print "Here is the starting DNA:\n\n;"
print "$DNA\n\n;"
$revcom = reverse $DNA;
$revcom =~ s/A/K/g;
$revcom =~ s/T/A/g;
$revcom =~ s/K/T/g;
$revcom =~ s/G/L/g;
$revcom =~ s/C/G/g;
$revcom =~ s/L/C/g;
print "Here is the reverse complement DNA:\n\n;"
print "$revcom\n;"


RE: زبان پرل - adele_69 - 12 مهر ۱۳۹۲ ۰۱:۴۵ ق.ظ

تشکر Smile