Cibiv / IQ-TREE

Efficient phylogenomic software by maximum likelihood
http://www.iqtree.org
GNU General Public License v2.0
183 stars 44 forks source link

ERROR: Cannot concatenate sub-alignments of different #states #89

Closed bqminh closed 5 years ago

bqminh commented 5 years ago

From Morgan Jackson

I'm trying to run a partitioned analysis of DNA and CODON data. My partition file is as such:

#nexus
begin sets;
charset rDNA1 =  dna.phy: 1-1022;
charset rDNA2 =  dna.phy: 1023-5239;
charset cDNA3 =  codon1.phy: CODON, 1-822;
charset mitoDNA4 =  codon2.phy: CODON5, 1-1533;
charset cDNA5 =  codon3.phy: CODON, 1-3753;
end;

IQTree seems to recognize the partitions and data correctly, but then I get the following error message and it quits:

Subset  Type    Seqs    Sites   Infor   Invar   Model   Name
1       42  1022    228 593 TESTNEWMERGE    rDNA1
2       42  4217    776 2865    TESTNEWMERGE    rDNA2
3   CODON   42  274 175 33  TESTNEWMERGE    cDNA3
4   CODON5  42  511 475 16  TESTNEWMERGE    mitoDNA4
5   CODON   42  1251    1146    60  TESTNEWMERGE    cDNA5
Degree of missing data: 0.000
Info: multi-threading strategy over partitions

NOTE: Mixed codon and other data, branch lengths of codon partitions are rescaled by 3!
Computing Juke-Cantor distances...

Computing BIONJ tree...
0.013 seconds
NOTE: ModelFinder requires 476 MB RAM!
NUMBER OF THREADS FOR PARTITION FINDING: 11
ERROR: Cannot concatenate sub-alignments of different #states

The same error occurs using both the CIPRES build (v1.6.6) and the cibiv build, and if I input a single .phy datafile partitioned as above but without the alignment file modifiers.

bqminh commented 5 years ago

I overlooked that a species can have two different genetic codes. But of course the mitochondria may have a different code than the nuclear genome. This ERROR happened when IQ-Tree tries to concatenate the CODON with CODON5 partitions, which have different number of non-stop codons. But it shouldn’t do so. I created a github issue to fix for the next release 1.6.9.

bqminh commented 5 years ago

Fixed in v1.6.9