Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι
  • Σελίδα:
  • 1
  • 2

ΘΕΜΑ: Προγραμμα υπολογισμού ομοιότητας ακολουθιών

Προγραμμα υπολογισμού ομοιότητας ακολουθιών 9 Χρόνια 4 Μήνες πριν #2593

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Ας πούμε ότι έχουμε τις εξάδες: {Α, Β, C, D, E, F}

Και τις εξής ακολουθίες

A, B, C, D
A, E, F, C

Ποιο είναι το σωστό; Ότι οι κοινές εξάδες είναι

a) η {Α}
b) οι {Α, C}

Στην περίπτωση a) μας ενδιαφέρει και η θέση της εξάδας ενώ στην περίπτωση b) μόνο η ύπαρξη της.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Προγραμμα υπολογισμού ομοιότητας ακολουθιών 9 Χρόνια 4 Μήνες πριν #2599

  • theofilos
  • Το Άβαταρ του/της theofilos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 10
Η σύγκριση πρέπει να γίνει ως εξής:

Tanimoto Coefficient of similarity for Proteins A and B:
S (A,B) = c / (a + b – c)
a = bits set to 1 in A, b = bits set to 1 in B, c = number of 1 bits common to both
Range is 0 to 1.
Value of 1 does not mean the molecules are identical.

δηλαδή αν έχουμε 2 πρωτεινες:
A, B, C, D
A, E, F, C

έχουν κοινές τις εξάδες Α & C, άρα S = 2 / (4 + 4 - 2) = 0.33333333
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Προγραμμα υπολογισμού ομοιότητας ακολουθιών 9 Χρόνια 4 Μήνες πριν #2600

  • theofilos
  • Το Άβαταρ του/της theofilos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 10
Πρεπει να το παραδώσω την Τετάρτη οπότε αν κάποιος μπορεί και θελει να βοηθήσει θα ήμουν ευγνώμων.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Προγραμμα υπολογισμού ομοιότητας ακολουθιών 9 Χρόνια 4 Μήνες πριν #2601

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Το while γράψτο μόνος σου :P
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from __future__ import absolute_import
 
import sys
import random
 
 
def chunkify(iterable, n):
    """ Yield successive n-sized chunks from the given iterable. """
    chunks = []
    for i in range(0, len(iterable), n):
        chunks.append(iterable[i:i+n])
    return chunks
 
 
def find_common_items(seq_a, seq_b):
    common = 0
    for item in seq_a:
        if item in seq_b:
            common += 1
    return common
 
 
def calc_tanimoto_coeff(chunks_a, chunks_b):
    common = find_common_items(chunks_a, chunks_b)
    coeff = common / (len(chunks_a) + len(chunks_b) - common)
    return coeff
 
 
def main(dna1, dna2):
    # initial calculation
    n = 1
    chunks1 = chunkify(dna1, 6)
    chunks2 = chunkify(dna2, 6)
    coeff = calc_tanimoto_coeff(chunks1, chunks2)
    print("Iter %d Tanimoto Coeff: %f" % (n, coeff))
 
    while coeff == 0.0:
        n += 1
        random.shuffle(dna2)
        chunks2 = chunkify(dna2, 6)
        coeff = calc_tanimoto_coeff(chunks1, chunks2)
        print("Iter %d Tanimoto Coeff: %f" % (n, coeff))
    print("done")
 
 
if __name__ == "__main__":
    # read input
    with open('C:\Users\Desktop\Python\\alist.txt', 'r') as fd:
        dna1 = fd.read()
    with open('C:\Users\Desktop\Python\\blist.txt', 'r') as fd:
        dna2 = fd.read()
 
    # check that the provided proteins can be divided into chunks of 6
    if len(dna1) % 6 != 0:
        print("dna1 not divisible by 6. Remainder:", len(dna1) % 6)
        sys.exit()
        1/0
    if len(dna2) % 6 != 0:
        print("dna2 not divisible by 6. Remainder:", len(dna2) % 6)
        sys.exit()
 
    main(dna1, dna2)
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": theofilos

Προγραμμα υπολογισμού ομοιότητας ακολουθιών 9 Χρόνια 4 Μήνες πριν #2602

  • theofilos
  • Το Άβαταρ του/της theofilos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 10
Ευχαριστώ πάρα πολύ! Μπορείς μήπως να το ολοκληρώσεις! πραγματικά με σώζεις! έχω deadline την Τετάρτη στις 2 και έχω να γράψω και ένα κείμενο 3000 λέξεις να το εξηγεί. Αυτό μπορώ να το κάνω αλλά τον αλγόριθμο όσο κι αν έχω προσπαθήσει δεν βγάζω άκρη. όλη την Κυριακή μου την πέρασα μπροστά στο λαπτοπ και 0 εξέλιξη.
Τι μένει για να ολοκληρωθεί:
Να κάνει shuffle την ακολουθία 2 έως ότου το ο μέσος όρος των ομοιοτήτων παραμένει σταθερός.
Μετά πρέπει να υπολογίζει standard deviation και τέλος να υπολογόιζει z score και να δημιουργεί διάγραμμα με όλες τις τιμές και την πρώτη τιμή της ομοιότητας highlighted.
Ευχαριστώ, ευχαριστώ, ευχαριστώ, ευχαριστώ, ευχαριστώ, ευχαριστώ, ευχαριστώ!
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Προγραμμα υπολογισμού ομοιότητας ακολουθιών 9 Χρόνια 4 Μήνες πριν #2603

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Λυπάμαι αλλά δεν πρόκειται να στο γράψω όλο. Ήδη σε βοήθησα περισσότερο από όσο πρέπει.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Προγραμμα υπολογισμού ομοιότητας ακολουθιών 9 Χρόνια 4 Μήνες πριν #2604

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Για την ιστορία, αυτό:
ο μέσος όρος των ομοιοτήτων παραμένει σταθερός.
δεν στέκει. Αφού κάνεις shuffle, δεν υπάρχει περίπτωση οι tanimoto coefficients να συγκλίνουν σε μία τιμή. Οπότε ή δεν έχεις καταλάβει κάτι ή δεν γράφεις κάτι σωστά.
Τελευταία διόρθωση: 9 Χρόνια 4 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Προγραμμα υπολογισμού ομοιότητας ακολουθιών 9 Χρόνια 4 Μήνες πριν #2605

  • theofilos
  • Το Άβαταρ του/της theofilos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 10
έχεις τουλάχιστον κάποιο hint να μου δώσεις για το τι να κάνω. Αυτό που μας είπε είναι ότι πρέπει το mean να παραμένει σταθερό. Αυτό θα γίνει μετά απο 1000 περίπου δοκιμές.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Προγραμμα υπολογισμού ομοιότητας ακολουθιών 9 Χρόνια 4 Μήνες πριν #2607

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Ναι οκ, αν συγκρίνω το μέσο όρο n στοιχείων με το μέσο όρο n+1 στοιχείων, δεν θα δω καμία αλλαγή για αρκετά μεγάλο n. Αλλά ποιο είναι αυτό το n;
Τελευταία διόρθωση: 9 Χρόνια 4 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Προγραμμα υπολογισμού ομοιότητας ακολουθιών 9 Χρόνια 4 Μήνες πριν #2608

  • theofilos
  • Το Άβαταρ του/της theofilos
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 10
Ναι πρεπει το n να ειναι πολυ μεγάλο. Πάνω απο 1000. Και το n θα ειναι ο μέσος όρος των συγκρίσεων μου. Και όταν σταματήσει να αλλάζει τοτε θα κλείσει το loop και θα υπολογίσω standard deviation και z score.
Νιώθω οτι εχω δεμένα χέρια! Ξέρω τι πρέπει να κανω αλλα δεν ξερω πως! Πολυ άσχημο συναίσθημα! Σαν να σε αφήνουν μονο στην Κίνα χωρις να ξέρεις κινεζικά.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
  • Σελίδα:
  • 1
  • 2
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.304 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου