Code source de tikon.rae.orgs.insectos.paras

from tikon.rae.orgs.insectos.ins import Insecto
from tikon.rae.orgs.organismo import Etapa


[docs]class Parasitoide(Insecto): """ Parasitoides son una clase muy especial de insecto, porque sus larvas crecen adentro de los cuerpos de otros organismos. Después de mucho dolor de cabeza, decidimos (decidí) implementarlos así. """ ext = '.prs' def __init__(símismo, nombre, pupa=False): símismo.pupa = pupa tipo_ec = {} if pupa: tipo_ec['pupa'] = dict( Crecimiento={'Modif': 'Nada', 'Ecuación': 'Nada'}, Depredación={'Ecuación': 'Nada'}, Muertes={'Ecuación': 'Constante'}, Edad={'Ecuación': 'Días'}, Transiciones={'Prob': 'Normal', 'Mult': 'Nada'}, Reproducción={'Prob': 'Nada'}, Movimiento={} ) tipo_ec['juvenil'] = dict( Crecimiento={'Modif': 'Nada', 'Ecuación': 'Nada'}, Depredación={'Ecuación': 'Nada'}, Muertes={'Ecuación': 'Constante'}, Edad={'Ecuación': 'Días'}, Transiciones={'Prob': 'Normal', 'Mult': 'Linear'}, Reproducción={'Prob': 'Nada'}, ) tipo_ec['adulto'] = dict( Crecimiento={'Modif': 'Nada', 'Ecuación': 'Nada'}, Depredación={'Ecuación': 'Kovai'}, Muertes={'Ecuación': 'Nada'}, Edad={'Ecuación': 'Días'}, Transiciones={'Prob': 'Normal', 'Mult': 'Nada'}, Reproducción={'Prob': 'Nada'}, ) super().__init__( nombre=nombre, huevo=False, njuvenil=1, pupa=pupa, adulto=True, tipo_ecs=tipo_ec )
[docs] def parasita(símismo, huésped, etps_entra, etp_emerg, etp_símismo='adulto', etp_recip=None): """ Indica la relación de parasitismo. Parameters ---------- huésped: Insecto El huésped. etps_entra: Etapa or str or list Etapas del huésped que pueden ser parasitadas. etp_emerg: Etapa or str La etapa de la cual emerge el parasitoide adulto. etp_símismo: Etapa or str La etapa del parasitoide que efectua el parasitismo. etp_recip: Etapa or str La etapa del parasitoide que emerge del huésped. Si no se especifica, será la primera etapa después de la fase juvenil. """ if etp_recip is None: etp_recip = 'pupa' if símismo.pupa else 'adulto' super().parasita( huésped=huésped, etp_símismo=etp_símismo, etps_entra=etps_entra, etp_emerg=etp_emerg, etp_recip=etp_recip )
[docs]class Esfécido(Insecto): """ Los esfécidos son una familia de avispas que ponen sus huevos en los cuerpos (vivos) de sus presas. Al contrario de parasitoides típicos, estos paralizan y quitan su presa de la planta. Por lo mismo, se debe considerar su papel ecológico de manera distinta. (Se considera como depredación con reproducción basada en el éxito de la depredación). """ ext = '.esf' def __init__(símismo, nombre): tipo_ec = {'adulto': dict( Crecimiento={'Modif': 'Nada', 'Ecuación': 'Nada'}, Depredación={'Ecuación': 'Kovai'}, Muertes={'Ecuación': 'Nada'}, Edad={'Ecuación': 'Días'}, Transiciones={'Prob': 'Normal', 'Mult': 'Nada'}, Reproducción={'Prob': 'Depredación'}, ), 'juvenil': dict( Crecimiento={'Modif': 'Nada', 'Ecuación': 'Nada'}, Depredación={'Ecuación': 'Kovai'}, Muertes={'Ecuación': 'Nada'}, Edad={'Ecuación': 'Días'}, Transiciones={'Prob': 'Normal', 'Mult': 'Nada'}, Reproducción={'Prob': 'Nsda'}, ) } super().__init__( nombre=nombre, huevo=False, njuvenil=1, pupa=False, adulto=True, tipo_ecs=tipo_ec )
[docs] def captura(símismo, presa, etps_presa=None): """ Establece la relación entre un Esfécido y sus presas. Parameters ---------- presa: Insecto La presa. etps_presa: Etapa or str or list La(s) etapa(s) de la presa que pueden ser víctimas. """ símismo.secome(presa=presa, etps_presa=etps_presa, etps_símismo='adulto')
[docs] def nocaptura(símismo, presa, etps_presa=None): """ Borra una relación entre un Esfécido y una presas. Parameters ---------- presa: Insecto La presa. etps_presa: Etapa or str or list La(s) etapa(s) de la presa que ya no pueden ser víctimas. """ símismo.nosecome(presa=presa, etps_presa=etps_presa, etps_símismo='adulto')