Conversion d'adn

Soyez le premier à donner votre avis sur cette source.

Vue 9 345 fois - Téléchargée 405 fois

Description

Ce code permet de déterminer soit le brin d'adn correspondant a celui entré, soit le brin d'arn transcrit. Il affiche le résultat par codons, en déaillant le nombre de codons et de bases seules, le nombre de bases AT et GC. J'ai utilisé la fonction de découpage de chaines de Kenavo, comme il est précisé dans le source.

Conclusion :


Limitations du porgramme:
Obligation de séparer chaque base par un '-' (séparateur de chaines).

A savoir:
Si vous mettez des lettres autres que a t g c, le programme ne déclenchera pas d'ereur, et continuera la traduction. Idem si vous oubliez un séparateur. Si vous travaillez sur une séquence de longueur conne, vérifiez que vous avez bien le bon nombre de bases a la fin! L'affichage des bases seules devrait vous y aider.

Le programme gère aussi le passage a la séquence d'acides aminés...

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
6
Date d'inscription
mardi 21 décembre 2010
Statut
Membre
Dernière intervention
20 avril 2012

bonjour,
grandvizir a t-il poffiner le code de traduction adn en acide aminé dont -il a mis un extrait en live? ou dreuteu l'a t-il fait? qu'en est-il?
Messages postés
6
Date d'inscription
mardi 21 décembre 2010
Statut
Membre
Dernière intervention
20 avril 2012

bonjour tout le monde,
ou en etes vous aujourd'hui avec les code source de traduction d'adn ou d'arn en acide aminé
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
21
Il faut initialiser TRANS et fait plutôt un case au lieu de tous tes IF:
if res[j]='a' then ...
if res[j]='g' then ...
if res[j]='c' then ...
if res[j]='t' then ...

Ecrit plutôt:

case res[j] of:
'a': begin {ton code} end;
'c': begin {ton code} end;
'g': begin {ton code} end;
't': begin {ton code} end;
else {si les 4 chars précédents n'ont pas été trouvés};
end;

Il faut changer le CRLF par la valeur que je t'ai redonné. En effet, au lieu d'avoir 1 retour à la ligne, j'en ai deux. Mon cri d'horreur est confirmé par l'expérience.

Ca sert à rien de noter |acg| après traduction. C'est pire qu'avec seulement des tirets.
Messages postés
1106
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
3 septembre 2006
21
Pour gérer la ProgressBar, ce n'est pas bien difficile. Il y a la propriété Min, Max et Position. Je prend toujours le soin de mettre Position à 0 avant de changer Max. En effet, si les changements de propriétés sont mal gérés, ça crée des erreurs. La TGauge est bien, la TProgressBar semble moins bien optimisée. Un jour j'ai eu des ralentissements monstres dans mes algos, alors que la TGauge ne faisait rien de cela.

Si c'est un problème d'affichage, fait plutôt Form1.Refresh. Bien que ProcessMessages le fasse aussi, elle permet également à l'utilisateur de faire autre chose en parallèle, ce qui pourrait influencer le déroulement de ton algo. Dans ces cas là, il faut gérer des conditions pas possibles et j'évite donc ProcessMsg lorsque ce n'est pas nécessaire.
Messages postés
44
Date d'inscription
samedi 16 octobre 2004
Statut
Membre
Dernière intervention
28 février 2006

Merci de tes conseils (et de tes encouragements)...

Peut être qu'au final ta méthode favorise plus les éventuelles modifications sur le code en fait, c'est même sur!)...

Pour le Appli.ProcessMessage, je l'ai lu sur le forum, comme étant uu moyen de faire venir la TProgressBar au maximum... Apparemment ca ne marche pas.

Je n'arrive pas a initialiser ProgressBar1.Max en une valeur correcte... Je vais essayer aute chose.
Afficher les 18 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.