https://github.com/mrrobb/pro2-practica
https://github.com/mrrobb/pro2-practica
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mrrobb/pro2-practica
- Owner: MrRobb
- Created: 2017-04-09T13:50:46.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-05-22T14:32:27.000Z (about 9 years ago)
- Last Synced: 2025-01-21T06:43:28.878Z (over 1 year ago)
- Language: HTML
- Size: 825 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
## Especie
- Reproducción sexual
- Genética mendeliana
## Individuo
| Variable | Significado |
|:---------: |:--------------------------------------------------------: |
| `N + X + Y` | `N` cromosomas normales + Dos cromosomas sexuales |
| `pi` | Par de cromosomas `i` (normales). Compuesto de `ci1` y `ci2` (ambos de longitud `li`). |
| `XX ó XY` | Femenino o Masculino, respectivamente. |
## Reproducción sexual
`XY` —\> Padre
`XX` —\> Madre
- Espermatozoide y óvulo sólo tienen un cromosoma de cada par
- En la fecundación se emparejan
- **Cruzamiento:** Para `cada par` de cromosomas se selecciona un punto aleatorio de corte (entre dos genes) `k` entre 0 i `li`.
- **Normales:** `ci1` y `ci2` —\> `ci1’` y `ci2’`
- `ci1’` contiene los mismos alelos que `ci1` de 1 a `k` y los mismos que `ci2` de `k+1` a `li`.
- `ci2’` contiene los mismos alelos que `ci2` de 1 a `k` y los mismos que `ci1` de `k+1` a `li`.
- **Sexuales:** la madre transmite el `X` y el padre puede transmitir un `X` o un `Y`.
- El cruzamiento sólo se realiza en la parte común a ambos cromosomas (entre 1 y `l0`, con el punto de corte `k` entre 0 y `l0`) mientras que el resto de genes de los cromosomas `c01` y `c02` pasan directamente a los cromosomas `c01'` y `c02'`.
## Árbol genealógico
- Árbol binario
![Binary Tree][image-1]
- `Ap` No vacío + Estructura de `Ap` == Estructura de algún subconjunto conexo de un árbol `Ag` —\> **`Ap` árbol parcial de `Ag`**
- **Completar(`Ap`)** —\> `Ac` (copia de `Ag`)
- A los nodos de `Ac` pero no en `Ap` se les añadirá una marca especial con respecto a su valor en `Ag`.
# Sistema a Simular
Inicializar el sistema con los datos genéticos de la especie.
- `N`
- `li`
- `lx`
- `ly`
- Leer los datos de una población inicial:
- `M`: Número inicial de individuos sin ascendientes (sin parentesco)
- `name`: Un nombre para cada individuo (todos diferentes)
- Composición genética de los individuos (`X` ó `Y` + contenido de los cromosomas(sexuales `(X + (X ó Y)) + normales)`)
- **Añadir individuo sin ascendientes**: los datos son los mismos que los de los `M` iniciales. `Error:` Si ya existe un individuo con ese nombre
- **Reproducir**: Dados `madre`, `padre` y `hijo` (nombres). Se intenta realizar una reproducción.
- **Escribir árbol**
- **Árbol incompleto?**
- **Escribir todos los individuos**
- **Escribir individuo**
- **Acabar**
# Especificación
![Structure][image-2]
[image-1]: https://cloud.githubusercontent.com/assets/7969569/24838861/b1e92926-1d50-11e7-810e-a5e49685d771.png "Binary Tree"
[image-2]:
https://cloud.githubusercontent.com/assets/7969569/24954360/610f16ba-1f7f-11e7-8e02-efe254a998e4.png "Structure"