示例#1
0
 def get_userdatatype(self, feature, fname):
     if not self.beastxml._binary_userdatatype_created:
         self.beastxml._binary_userdatatype_created = True
         return xml.userDataType(None,
                                 id="BinaryDatatype",
                                 spec="beast.evolution.datatype.Binary")
     return xml.userDataType(None, idref="BinaryDatatype")
示例#2
0
 def get_userdatatype(self, feature, fname):
     if not self.beastxml._covarion_userdatatype_created:
         self.beastxml._covarion_userdatatype_created = True
         return xml.userDataType(
             None,
             id="TwoStateCovarionDatatype",
             spec="beast.evolution.datatype.TwoStateCovarion")
     return xml.userDataType(None, idref="TwoStateCovarionDatatype")
示例#3
0
 def get_userdatatype(self, feature, fname):
     return xml.userDataType(None,
                             id="featureDataType.%s" % fname,
                             spec="beast.evolution.datatype.UserDataType",
                             codeMap=self.codemaps[feature],
                             codelength="-1",
                             states=self.valuecounts[feature])
示例#4
0
 def add_data(self, distribution):
     """
     Add <data> element corresponding to the indicated feature, descending
     from the indicated likelihood distribution.
     """
     data = xml.data(distribution,
                     id="locationData",
                     spec="sphericalGeo.AlignmentFromTraitMap")
     traitmap = xml.traitMap(data,
                             id="geographyTraitmap",
                             spec="sphericalGeo.TreeTraitMap",
                             initByMean="true",
                             randomizelower="-90 -180",
                             randomizeupper="90 180",
                             traitName="location",
                             tree="@Tree.t:beastlingTree")
     xml.parameter(traitmap,
                   text="0.0 0.0",
                   id="locationParameter",
                   spec="sphericalGeo.LocationParameter",
                   dimension=2 *
                   (2 * len(self.config.languages.languages) - 1),
                   minordimension="2")
     loc_data_text_bits = []
     for lang in self.config.languages.languages:
         lat, lon = self.config.locations.get(lang, ("?", "?"))
         if "?" in (lat, lon):
             if lang not in self.sampling_points:
                 self.sampling_points.append(lang)
                 log.info(
                     "Location of language %s will be sampled.  You may wish to add a prior."
                     % lang,
                     model=self)
         else:
             bit = "%s=%.2f %.2f" % (lang, lat, lon)
             loc_data_text_bits.append(bit)
     traitmap.text = ",\n".join(loc_data_text_bits)
     xml.userDataType(data,
                      id="LocationDataType",
                      spec="sphericalGeo.LocationDataType")
示例#5
0
    def get_userdatatype(self, feature, fname):
        if not self.beastxml._covarion_userdatatype_created:
            self.beastxml._covarion_userdatatype_created = True
            return xml.userDataType(
                None,
                id="PseudoDolloCovarionDatatype",
                spec="beast.evolution.datatype.UserDataType",
                states="5",
                codelength="1",
                codeMap="""
        		        A = 0,
                		1 = 1 4,
		                B = 1,
        		        0 = 0 2 3 ,
                		? = 0 1 2 3 4,
		                - = 0 1 2 3 4,
        		        C = 2,
                		D = 3,
        		        E = 4
                                               """)
        else:
            return xml.userDataType(None, idref="PseudoDolloCovarionDatatype")