Annexes au rapport de stage de Alexandre Alapetite à l'INRA.CBGP, janvier 2002


Méthodes et propriétés des objets descendants de TBioAbstract

Voir la documentation automatique DelphiDoc ainsi que les codes sources.
Voir l'arborescence objet.
Sommaire
______________TBioAbstract(TObject)____________________________________________
constructor create(const aName:String);
destructor destroy();
{** Nettoie l'objet, le vide de manière à ce qu'il soit réutilisable }
procedure clear();
{** Accés au nom, identifiant d'un ensemble, d'un individu, d'un locus...
  Ecrase longName. }
property name:String;
{** Nom développé }
property longName:String;
{** Commentaire associé }
property comment:String;


______________TLocus(TBioAbstract)_____________________________________________
{** @param aName nom et indentifiant du locus.
  @param aNbAlleles nombre d'allèles pré-alloués (5 par défaut) }
constructor create(const aName:String; const aNbAlleles:IndexAllele=5);
{** @return l'indice de l'allèle de ce nom }
function indexOfAllele(const nameAllele:String):IndexAllele;
{** @return le nombre d'allèles différents recencés sur ce locus }
property nbAlleles:IndexAllele;
{** accés à l'allèle num }
property alleles[const num:IndexAllele]:PAllele; default;
{** @return l'allèle à la position num par ordre alphabétique }
property allelesSorted[const num:IndexAllele]:PAllele;
{** @return l'index non trié de l'allèle à la position num par ordre alphabétique }
property allelesSortedIndex[const num:IndexAllele]:IndexAllele;
{** @return l'allèle de ce nom, nil s'il n'existe pas }
property allelesNamed[const nameAllele:String]:PAllele;
{** Accés au type TLocusTypede locus:microsatellite, cytoplasmique }
property locusType:TLocusType;
{** Déclare un nouvel allèle aprés vérification de sa présence }
function declareAlleleGlobal(const nameAllele:String; const aLength:Integer=0; const aSequence:String=''):Integer;


______________TBioCalculable(TBioAbstract)_____________________________________
{** @param aName nom et indentifiant. @param nbLocus nombre de locus pré-alloués (15 par défaut) }
constructor create(const aName:String; const nbLocus:IndexLocus=15);
{** Nom de l'échantillon, précédé de l'arborescence des échantillons pères. }
property treeName:String;
{** @return si le Compute Data a déjà été appelé sur cet objet }
property isComputed:Boolean;
{** Accés au nombre de locus utilisés.}
property nbLocus:IndexLocus;
{** @return le nombre d'allèles trouvés sur les individus de cet ensemble pour ce locus }
property nbAlleles[const numLocus:IndexLocus]:IndexAllele;
{** @return la fréquence de l'allèle dont on connaît le numéro sur ce Locus. }
property freqAllele[const numLocus:IndexLocus; const numAllele:IndexAllele]:Extended;
{** @return la fréquence de l'allèle dont on connaît la référence générale sur ce Locus. }
property freqAlleleRef[const numLocus:IndexLocus; const refAllele:IndexAllele]:Extended;
{** @return le nombre d'occurrences de l'allèle dont on connaît la référence générale sur ce Locus }
property nbGenesRef[const numLocus:IndexLocus; const refAllele:IndexAllele]:Integer;
{** @return le nombre de génotypages non nuls faits sur ce locus, soit la somme des nbGenes de chaque allèles de ce locus }
property nbGenesTotal[const numLocus:IndexLocus]:Integer;
{** @return le nombre d'individus de cet ensemble. }
property nbIndividuals:Integer;
{** @return la proportion d'individus hétérozygotes dans cet ensemble. }
property heterozygotesProportion[const numLocus:IndexLocus]:Extended;
{** @return la diversité génétique des individus de cet ensemble }
property geneDiversity[const numLocus:IndexLocus]:Extended;
{** Précalcule un certain nombre de propriétés comme la fréquence allélique.
  @param hasIndiduals =True si les individus de la structure existent réellement (génotypes);
  =False si on a seulement le nombre de gènes (permettant de calculer les fréquences alléliques) }
procedure computeData(const hasIndiduals:Boolean=True);


______________TIndividual(TBioCalculable)______________________________________
{** @param aName nom et indentifiant de l'individu.
  @param nbLocus nombre de locus
  @param aPloidy nombre de gènes pré-alloués par typage }
constructor create(const aName:String; const nbLocus:IndexLocus; const aPloidy:Integer=2);
{** Accés au nombre de gènes du locus numLocus }
property nbGenes[const numLocus:IndexLocus]:IndexAllele;
{** @return la référence de l'allèle du locus numLocus sur le gène numPloid; -1 s'il est inconnu. }
property typages[const numLocus:IndexLocus; const numPloid:IndexAllele]:IndexAllele;
{** Accés aux coordonnées spatiales de prélèvement de l'individu }
property coordinates:R3DPoint;
{** Accés au numéro de génération de l'individu }
property generation:Integer;
{** Ajout le gène de référence allélique refGene sur le locus numLocus }
procedure addGene(const numLocus:IndexLocus; const refGene:IndexAllele);
{** Accés à la ploïdie de cet individu pour le locus numLocus }
property ploidy[const numLocus:IndexLocus]:Byte;
{** @return trVrai si l'individu est homozygote, trFaux si hétérozygote, trBlanc sinon }
function isHomozygote(const numLocus:IndexLocus):TTrilean;


______________TGroupAbstract(TBioCalculable)___________________________________
constructor create(const aName:String; const nbLocus:IndexLocus=15; const nbIndividuals:Integer=5);
{** Ne détruit pas les individus de fVectorIndividuals }
destructor destroy();
{** Vide le tableau des individus. Libère les individus ssi freeIndividuals=True }
procedure clear(const freeIndividuals:Boolean);
{** @return si ce TGroupAbstract est une population.
  Dans une arborescence de TGroupAbstract, revient à tester si cet objet est une feuille(True) ou un noeud(False) }
function isSample():Boolean;
{** Accés au tableau fVectorIndividuals des individus regroupés dans ce groupe }
property allIndividuals:TVectorIndividuals;


______________TGroup(TGroupAbstract)___________________________________________
 {** @param aName nom et indentifiant du groupe.
  @param nbLocus nombre de locus
  @param nbSubGroups nombre de sous-groupes }
constructor create(const aName:String; const nbLocus:Integer=15; const nbSubGroups:Integer=5);
{** @return False. Dans une arborescence de TGroupAbstract, un TGroup n'est jamais une feuille TSample }
function isSample():Boolean;
{** Détruit les sous-groupes. idem clear(True) }
procedure clear();
{** Nettoie fVectorGroups. Détruit les sous-groupes si freeSubGroups=True }
procedure clear(const freeSubGroups:Boolean);
{** Accés à la sous-arborescence de ce groupe }
property groups:TVectorGroups;


______________TSample(TGroupAbstract)__________________________________________
{** @return True. Dans une arborescence de TGroupAbstract, un TSample est toujours une feuille }
function isSample():Boolean;
{** recopie avec un individu en moins; Penser à libérer le TSample retourné }
function copyLess(const numIndividual:Integer):TSample;
{** Ajoute cet allèle s'il n'est pas déjà présent dans fLocusAlleles, incrémente son nombre d'occurences,
  et retourne sa référence.
  @param numLocus N° du locus
  @param aRefAllele Référence de l'allèle
  @param incrementation Valeur d'incrémentation du nombre de gènes de cet allèle }
function declareAllele(const numLocus:IndexLocus; const aRefAllele:IndexAllele; const incrementation:Integer):Integer;
Sommaire
Voir la documentation automatique DelphiDoc ainsi que les codes sources.
Voir l'arborescence objet.