Code Monkey home page Code Monkey logo

bioinfo's Introduction

Programme Bioseq.
TP1 29/01/2016
CANDA Antoine

Rendu TP1 : 

Le 02/02/2016

Les fonctions sont toutes fonctionelles. 
Je n'ai pas eu le temps d'adapter mon code pour eviter de recopier trop les fonctions communes entre kmers et graines. 

Le script execute-tp1 comprend les exemples de l'enonce et les parties tests et analyses de donnees des parties 1 2 3.
Je n'ai pas su faire la partie V car il me parait delicat de comparer des kmers de taille 8 et 11 ensemble... 

Rendu TP2 :

Le 07/02/2016

Suppression du package et de la classe Kmers au profit de la classe Graines.
Retrait de duplication de code en partant du constat suivant :
Un kmers de taille 4 revient a utiliser la graine "####".
Il a suffit de creer la fonction createGraine(int taille) qui renvoye la graine corresppondante. 
On evite ainsi la duplication de code. 

Creation du package sequence avec la classe Sequence qui possede les methodes permettant d'extraire la sequence d'ADN (ainsi que l'identifiant) a partir du fichier passe en parametre.
Ajout de la classe windows avec la methode windows qui cree les fenetres. 

A ce stade les fonctions sont fonctionnelles.

Rendu TP3 :

Le 24/02/2016

Modification importante du code notamment de Sequence.java.
Notamment au niveau des constructeurs qui crée les listes de sequences et identifiants. 

Modification de createSequence(String f) qui maintenant gére les fichiers contenant plusieurs sequences d'adn et non plus une seule.
Modification de createSubSequence qui maintenant cree une liste de liste de kmers pour les fichiers contenant plusieurs sequences.
Creation de la methode traitementSubSequence qui cree la liste des kmers en fonction de la graine (param) et de la sequence fournie en parametre.

Ajout de taille initiale plus importante lors de la création des ArrayLists : 
	
	- Pour les listes contenant des listes de sequences (quand on traite plusieurs sequences par fichiers) j'ai decide de passer la taille de la liste à 50 au lieu de 10.
	- Pour les listes contenant des kmers, je vais passer de la taille initiale (10) à 50 000 ce qui corresppond à une capacité supérieur à ce qui est nécessaire pour phagelambda. Cela permet de gagner en rapidité 
	en évitant la réallocation systématique du tableau interne si il y a de nombreux kmers ajoutés.
	- Pour la liste contenant des fenêtres j'ai décidé de créer une liste avec un tableau de taille 2000 initialement.

Ce sont des valeurs choisies de manière arbitraires en fonction de la taille des fichiers que l'on traite actuellement. Il n'est pas exclu que cela soit modifié plus tard.
	
 Modification des methodes dans la globalite pour tenir compte de la possibilite d'avoir plusieurs sequences par fichier.

 A priori les methodes fonctionnent toujours et renvoyent les mêmes resultats apres modifications. 
 
 Ajout des methodes best-matches et VJ-discover qui sont le sujet du TP.
 Je ne suis globalement pas satisfait de l'implementation.
 En effet j'ai utilisé le polymorphisme sur mes méthodes mais il y a trop de code recopié pour peu de changement.
 J'ai du ajouté un attribut pour un troisieme fichier a traite et retouche les methodes d'initialisation, de comparaison de kmers et bestmatch pour peu de chose. 
 

bioinfo's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.