{
    "name": "x3x3",
    "constraints": [ "Triplets[a,b]" ],
    "result_type": "RevCTMC[a]",
    "title": "Rate matrix constructed from rate matrices on each triplet position",
    "call": "SModel.Codons.x3x3[a,rates1,rates2,rates3]",
    "args": [
        {
            "arg_name": "rates1",
            "arg_type": "RevCTMC[b]",
            "alphabet": "getNucleotides[@a]",
	    "description": "Rates for position 1"
        },
        {
            "arg_name": "rates2",
            "arg_type": "RevCTMC[b]",
            "alphabet": "getNucleotides[@a]",
	    "description": "Rates for position 2"
        },
        {
            "arg_name": "rates3",
            "arg_type": "RevCTMC[b]",
            "alphabet": "getNucleotides[@a]",
	    "description": "Rates for position 3"
        },
        {
            "arg_name": "a",
            "arg_type": "a",
            "default_value": "getAlphabet",
	    "description": "The Triplets alphabet"
        }
    ],
    "description":"A triplet rate matrix constructed from separate nucleotide rate matrices for the first, second, and third codon position",
    "examples": ["let[q=hky85[a=getNucleotides],x3x3[q,q,q]]"],
    "see": ["x3"]
}
