vaitsa Δημοσ. 24 Νοεμβρίου 2008 Δημοσ. 24 Νοεμβρίου 2008 Γειά! Έχω ένα αρχείο (αποθηκευμένο σε ένα <FH> filehandle) το οποίο περιέχει κείμενο σαν το παρακάτω: Structure 3: dG = -1.71 dH = -47.20 dS = -151.57 Tm = 38.3 External loop: ddG = -2.20 21 ss bases & 2 closing helices Stack: ddG = -1.68 External closing pair is C( 25)-G( 32) Helix: ddG = -1.68 2 base pairs. Hairpin loop: ddG = +2.74 Closing pair is A( 26)-T( 31) Stack: ddG = -1.66 External closing pair is G( 9)-C( 19) Stack: ddG = -0.79 External closing pair is T( 10)-A( 18) Stack: ddG = -1.49 External closing pair is A( 11)-T( 17) Helix: ddG = -3.95 4 base pairs. Hairpin loop: ddG = +3.39 Closing pair is G( 12)-C( 16) Structure 5: dG = -6.28 dH = -59.20 dS = -176.30 Tm = 62.6 External loop: ddG = -1.13 6 ss bases & 1 closing helices Stack: ddG = -1.68 External closing pair is C( 3)-G( 36) Stack: ddG = -1.66 External closing pair is A( 4)-T( 35) Stack: ddG = -2.44 External closing pair is C( 5)-G( 34) Stack: ddG = -1.66 External closing pair is G( 6)-C( 33) Stack: ddG = -1.68 External closing pair is T( 7)-A( 32) Helix: ddG = -9.13 6 base pairs. Hairpin loop: ddG = +3.97 Closing pair is G( 8)-C( 31) Θέλω έναν τρόπο ούτως ώστε να αντιστοιχήσω τον κάθε αριθμό του κάθε Structure (πχ 3 or 5), σε κάθε μία από τις παρακάτω του σειρές και ειδικά στις λέξεις "Helix" ή "Hairpin". Και αυτό γιατί? Γιατί μετά θέλω να μπορώ να συγκρίνω όλες αυτές τις γραμμές μεταξύ τους (δηλ όλες τις γραμμές που ξεκινούν με Helix μεταξύ τους και όλες που ξεκινούν με Hairpin μεταξύ τους) και να δώ αν υπάρχει ομολογία σε κάθε structure. πχ αν τα base pairs στις γραμμές helix είναι τα ίδια στις structure 3 και 5 να μου το δίνει το πρόγραμμα και να μου λέει σε ποια structures έχω match. Το ίδιο και για Τα γράμματα που αντιστοιχούν στα Χ και Υ στις σειρές που αρχίζουν με Hairpin: Hairpin loop: ddG = +3.97 Closing pair is Χ( 8)-Υ( 31) Αδιάφορα από το υπόλοιπο περιεχόμενο της γραμμής (πχ νούμερα). Και μέσα στο αρχείο φυσικά υπάρχουν πολλά περισσότερα από 2 structures... Και όλα αυτά με Perl. Είμαι πολύ αρχάρια στην Perl, μήπως μπορεί κάποιος να με βοηθήσει?
Billman Δημοσ. 24 Νοεμβρίου 2008 Δημοσ. 24 Νοεμβρίου 2008 Έχω να ασχοληθώ μπόλικα χρόνια με perl, πάντως αυτό που θα μπορούσες να κάνεις, χρησιμοποιώντας regular expressions, είναι το εξής: Προφανώς, θα φτιάξεις μία δομή που θα αποθηκεύεις αυτά που χρειάζεσαι, με βάση τον αριθμό του structure, και μετά με λίγο searching στην δομή αυτή θα βρίσκεις τις ομοιότητες που ψάχνεις. - Διαβάζεις γραμμή-γραμμή τα περιεχόμενα του αρχείου. - Αν είναι expression τύπου "Structure <Number><Μπλα μπλα>", τραβάς από την γραμμή όποια πληροφορία χρειάζεσαι και φτιάχνεις ένα νέο στοιχείο στην παραπάνω δομή. Μέχρι να ξαναβρείς μία Structure γραμμή: - Αν είναι Hairpin loop, κράτα αυτά που θες - Μπλα μπλα υπόλοιπες περιπτώσεις γραμμής Δες εδώ http://www.regular-expressions.info/ για tutorial και examples πως θα χρησιμοποιήσεις REs. Καλή τύχη (θα σου χρειαστεί ).
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.