The instructions here did not work for me. I kept getting Intellij projects where the BEAST2 would not compile due to libraries not found. I am using IDEA Community Edition 13.0.1 under Windows 7. The following is what I did on 2014-02-28.
I downloaded zip from https://github.com/CompEvol/beast2 and unpacked as beast2p1p1. There seem to be various places and ways to get the BEAST2 source. I don't know which is recommended. When I used SVN via Intellij, I kept getting bothered by SVN for my own code.
I suspect this is not necessary, but maybe best to make sure this works first.
\DISSECT\out\production\lib for a jar file.
Also it checks for existing BEAST2 classes in the jar, and rejects jars containing them,
so must put only DISSECT classes here.
Added an artifact (Menu - File - Project Structure...) to make a DISSECT.jar in
This makes a jar containing package dissect containing BirthDeathCollapseModel.class.
It seems important to make sure the artifact is always built before code is tested,
so 'Build on make' ticked.
Edited copy of testStarBeast.xml (testStarBeast-b.xml) so that only one indiv per species. (*BEAST is currently bugged in Beauti, see user group.) Then replaced
<distribution id="SpeciesTreeDivergenceTimesPrior" spec="speciation.YuleModel" tree='@speciesTree'/> <birthDiffRate spec='parameter.RealParameter' id="birthRate" value='213.2021' lower='0' upper='10000'/> </distribution>
with my own model BirthDeathCollapseModel which extends YuleModel.
It is the
spec="dissect.BirthDeathCollapseModel" that is key.
<distribution id="SpeciesTreeDivergenceTimesPrior" spec="dissect.BirthDeathCollapseModel" tree='@speciesTree' collapseHeight='0.00003'> <birthDiffRate spec='parameter.RealParameter' id="birthRate" value='100.0' lower='0' upper='10000' /> <relativeDeathRate spec='parameter.RealParameter' id="relativeDeathRate" value='0.5' lower='0' upper='1.0' /> <originHeight id="originHeight" spec="parameter.RealParameter" value="100.0" upper="10000000" lower="0"/> <collapseWeight spec='parameter.RealParameter' id="collapseWeight" value='0.5' lower='0' upper='1.0' /> </distribution>
I also copied DISSECT.jar into the user version of BEAST2, in
\BEAST.v2.1.1\BEAST\lib and that ran too.