معلومة

Biopython - تناقض كبير في حساب درجة حرارة انصهار الحمض النووي الريبي على الأدب

Biopython - تناقض كبير في حساب درجة حرارة انصهار الحمض النووي الريبي على الأدب


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

أواجه تناقضات كبيرة عند الحساب درجة حرارة الانصهار من RNA 7 مير مع Biopython على القيم الناتجة عن خوارزمية شائعة.

لقد جربت أقرب خوارزمية مجاورة باستخدام تركيزات الحمض النووي الريبي والملح كما هو موضح في الورقة المعنية (الجدول الديناميكي الحراري المستخدم كما في الورقة أدناه من: فرير وآخرون 1986). ومع ذلك ، تختلف القيم إلى حد كبير (نفذ التعليمات البرمجية أدناه لترى). لقد جربت جميع طرق تصحيح الملح السبعة التي قدمتها Biopython ، وما زلت لا أقترب أبدًا من القيم التي تم إنشاؤها بواسطة خوارزمية تصميم siRNA لنفس 7 mers.

هل يمكن أن يخبرني أحد ما مدى دقة درجة حرارة انصهار Biopython أقرب خوارزمية جار؟ خاصة بالنسبة للأوليغومرات القصيرة مثل 7 أميرات؟ هل هناك شيء ربما أكون خاطئا تنفيذه؟ أي اقتراحات؟

القيم المشتقة من التنفيذ إدخال عينة: http://sidirect2.rnai.jp/ Tm مُعطى للمزدوج البذري لملف دليل حبلا: القواعد 2-7

المؤلفات: "يعد الاستقرار الديناميكي الحراري وإقران قاعدة Watson-Crick في مزدوج البذور من المحددات الرئيسية لكفاءة التأثير غير المستهدف القائم على siRNA"http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2602766/pdf/gkn902.pdf

من Bio.Seq import Seq من Bio.SeqUtils import MeltingTemp test_list = [('GGAUUUG'، 21.5)، ('CUCAUUG'، 18.1)، ('CAUAUUC'، 8.7)، ('UUUGAGU'، 19.2)، ('UUUUGAG '، 12.2)، (' GUUUCAA '، 14.9)، (' AGUUUCG '، 19.7)، (' GAAGUUU '، 13.3)] لـ t in test_list: myseq = Seq (t [0]) tm = MeltingTemp.Tm_NN (myseq ، dnac1 = 100، Na = 100، nn_table = MeltingTemp.RNA_NN1، Saltcorr = 7) # NN1 = Freier et al (1986) tm = round (tm، 1) # round to one decimal print 'BioPython Tm:' + str ( tm) + 'siDirect Tm:' + str (t [1]) # Output: >>> BioPython Tm: 10.1 siDirect Tm: 21.5 # GGAUUUG >>> BioPython Tm: 8.2 siDirect Tm: 18.1 # CUCAUUG >>> BioPython Tm : -2.0 siDirect Tm: 8.7 # CAUAUUC >>> BioPython Tm: 8.2 siDirect Tm: 19.2 # UUUGAGU >>> BioPython Tm: 1.3 siDirect Tm: 12.2 # UUUUGAG >>> BioPython Tm: 4.4 siDirect Tm: >> 14.9 # GUUUCA > BioPython Tm: 9.0 siDirect Tm: 19.7 # AGUUUCG >>> BioPython Tm: 2.1 siDirect Tm: 13.3 # GAAGUUU

طرح السؤال لأول مرة في stack-exchange: https://stackoverflow.com/questions/30037939/biopython-big-discrepancy-calculating-rna-melting-temperature-over-literature


مقارنة Biopython MetlingTemp بالآلات الحاسبة الأخرى.

لقد كتبت الإصدار الأخير من MeltingTemp في Biopython SeqUtils. لقد اختبرت على نطاق واسع حسابات Tm مقابل برامج أخرى مثل MELTING و Primer3Plus وغيرها من الآلات الحاسبة عبر الإنترنت مع نتائج متسقة ، وبالتالي أنا واثق تمامًا من عدم وجود خطأ جسيم في الوحدة. الجواب البسيط في هذه الحالة هو: حساب siDirect خطأ.

مصادر التناقض.

شيء واحد ثانوي: تحسب العديد من البرامج k كـ k = total Oligo / 4. يستخدم MeltingTemp k = Oligo1 - (Oligo2 / 2). وبالتالي لتقليد هذا السلوك ، عليك استخدام

dnac1 = 50 ، dnac2 = 50

بدلا من

dnac1 = 100

و الأن الشيء الرئيسي: عادة ما يتم إعطاء تركيز قليل النانو في نانومولار. ومع ذلك ، إذا نظرت إلى الحساب في نص Perl ، يبدو أن siDirect يستخدم ميكرومولار!

 $ tm = (1000 * $ dH / (-10.8 + $ dS + 1.987 * log (0.0001 / 4)) - 273.15 + 16.6 * log (0.1) / log (10))

الجزء المهم هنا هو:

تسجيل (0.0001 / 4)

الذي يجب أن يكون:

تسجيل الدخول (0.0000001 / 4)

وبالتالي ، يجب عليك تمرير تركيزات oligo أعلى بمقدار 1000 ضعف إلى Biopython's MeltingTemp للحصول على نفس النتيجة مثل siDirect:

>>> من Bio.SeqUtils استيراد MeltingTemp كـ mt >>> print mt.Tm_NN ('GGAUUUG' ، dnac1 = 50000 ، dnac2 = 50000 ، Na = 100 ، nn_table = mt.RNA_NN1 ، saltcorr = 1) 20.1472140567 >>> طباعة mt.Tm_NN ('CUCAUUG' ، dnac1 = 50000 ، dnac2 = 50000 ، Na = 100 ، nn_table = mt.RNA_NN1 ، saltcorr = 1) 18.1074422939

هذا بالطبع خطأ إذا كان تركيزك التمهيدي 100 نانومتر ، ولكن هذه هي النتيجة التي تحصل عليها من siDirect.


لقد تلقيت للتو مقتطف رمز PERL بواسطة الباحث وراء sidirect2 والذي يسمح بحساب Tm. ما زلت لا أعرف مصدر التناقض في الحساب لأن الديناميكا الحرارية خارجة عني.

أنشر الرمز لإكمال السؤال هنا. يمكن حفظ ما يلي في ملف .pl وتشغيله من shell باستخدام تسلسل RNA المعني كوسيطة سلسلة.

الشفرة:

#! / usr / bin / perl # ==================== sub tm_RNA {# حساب Tm لهجين RNA-RNA باستخدام طريقة الجار الأقرب # # الاستخدام: $ tm = tm_RNA ('GGCUGCCAAGAACCUGCAGG') ، my $ seq = lc ($ _ [0] // ")؛ $ seq = ~ / ^ [augc] + $ / or return"؛ my $ dH = deltaH_RNA ($ seq) أو إرجاع "؛ my $ dS = deltaS_RNA ($ seq) أو إرجاع" ؛ $ tm = (1000 * $ dH / (-10.8 + $ dS + 1.987 * log (0.0001 / 4)) - 273.15 + 16.6 * log (0.1) / log (10)) ؛ عودة sprintf ("٪. 2f"، $ tm)؛ } ؛ # ===================== sub deltaH_RNA {# delta H معلمات my $ seq = lc ($ _ [0] // ")؛ $ seq = ~ / ^ [augc] + $ / أو إرجاع "؛ ٪ rna_dH = ('aa' => -6.6، 'uu' => -6.6، 'au' => -5.7، 'ua' => -8.1، 'ca' => -10.5، 'ug' => -10.5، 'cu' => -7.6، 'ag' => -7.6، 'ga' => -13.3، 'uc' => -13.3، 'gu' => -10.2، 'ac' => -10.2 ، 'cg' => -8.0، 'gc' => -14.2، 'gg' => -12.2، 'cc' => -12.2) ؛ $ sum_dH الخاص بي = 0 ؛ foreach (0… length ($ seq) - 2) {my $ dinucleotide = substr ($ seq، $ _، 2)؛ $ sum_dH + = $ rna_dH {$ dinucleotide} ؛ } return $ sum_dH؛ } ؛ # ===================== sub deltaS_RNA {# delta S معلمات my $ seq = lc ($ _ [0] // ")؛ $ seq = ~ / ^ [augc] + $ / أو إرجاع "؛ ٪ rna_dS = ('aa' => -18.4، 'uu' => -18.4، 'au' => -15.5، 'ua' => -22.6، 'ca' => -27.8، 'ug' => -27.8، 'cu' => -19.2، 'ag' => -19.2، 'ga' => -35.5، 'uc' => -35.5، 'gu' => -26.2، 'ac' => -26.2 ، 'cg' => -19.4، 'gc' => -34.9، 'gg' => -29.7، 'cc' => -29.7) ؛ $ sum_dS الخاص بي = 0 ؛ foreach (0… length ($ seq) - 2) {my $ dinucleotide = substr ($ seq، $ _، 2)؛ $ sum_dS + = $ rna_dS {$ dinucleotide} ؛ } return $ sum_dS؛ } ؛ # ==================== # طريقة الاتصال الرئيسية: my $ seq = shift؛ $ tm = tm_RNA ($ seq) ؛ print $ tm # تُرجع القيمة إلى stdout


شاهد الفيديو: التشابه والأختلاف بين تكنيكات Invers PCR و SSR و Nested PCR (شهر نوفمبر 2022).