ERROR:vcontact2: 'DataFrame' object has no attribute 'ix'

Issue #16 resolved
Former user created an issue

Thanks a lot for your good pipeline-vContact2.

However, when I run the test data, I have problems as following.

Our system is Ubuntu 18.04 and I install vContact2 by conda according to your advices.

Running test Code: vcontact --raw-proteins ./MAVERICLab-vcontact2-b8b8e6b3274a/test_data/VIRSorter_genome.faa \ --rel-mode 'Diamond' \ --proteins-fp ./MAVERICLab-vcontact2-b8b8e6b3274a/test_data/VIRSorter_genome_g2g.csv \ --db 'ProkaryoticViralRefSeq94-Merged' --pcs-mode MCL --vcs-mode ClusterONE \ --c1-bin ./miniconda2/bin/cluster_one-1.0.jar \ --output-dir vConTACT2_Results_nos &>log.vConTACT2_Results_nos &

log file:

------------------------Contig Clustering & Affiliation------------------------- Loaded graph with 2560 nodes and 94480 edges [====================] 100% Growing clusters from seeds... [====================] 100% Finding highly overlapping clusters... [====================] 100% Merging highly overlapping clusters... Detected 347 complexes ERROR:vcontact2: Error in contig clustering ERROR:vcontact2: 'DataFrame' object has no attribute 'ix' Traceback (most recent call last): File "./miniconda2/envs/vContact2/bin/vcontact", line 607, in main gc = vcontact.contig_clusters.ContigCluster(pcp, output_dir, cluster_one_fp, cluster_one_args, File "./miniconda2/envs/vContact2/lib/python3.8/site-packages/vcontact/contig_clusters.py", line 102, in init self.matrix["B"] = matrices.bool_membership(self.contigs) File "./miniconda2/envs/vContact2/lib/python3.8/site-packages/vcontact/matrices.py", line 70, in bool_membership xy = contigs.reset_index().ix[:, ["pos", "pos_cluster"]].dropna(subset=["pos_cluster"]).values # pos?, # membership File "./miniconda2/envs/vContact2/lib/python3.8/site-packages/pandas/core/generic.py", line 5274, in getattr return object.getattribute(self, name) AttributeError: 'DataFrame' object has no attribute 'ix'

Could you give me a hand? I will really appreciate it.

Comments (5)

  1. Ben Bolduc

    Hi!

    The error can be fixed by downgrading your version of pandas to 0.25.3

    conda install pandas=0.25.3
    

    Since the install did not specify a pandas version (my bad), it will default to the highest/most recent available, which in this case, is 1.x. The 1.x pandas no longer uses “ix” for selection.

    Also check this other issue, posted here.

    Thanks!

  2. Ben Bolduc

    Temporary fix available. Installation from source (either setup.py or Singularity) no longer has this issue. Future updates will be pushed to bioconda.

    Thanks!

  3. Stephen Nayfach

    This is still an issue when installing via the conda instructions (not resolved). Please update the readme for that section: `conda install -y -c bioconda vcontact2 mcl blast diamond pandas=0.25.3`.

  4. Ben Bolduc

    I have updated the documentation (will work on the wiki soon) to reflect the change in dependencies. Also, I’ve updated the dependencies on bioconda, so will hopefully resolve any lingering issues related to conflicts or depreciated/dropped functions.

  5. Log in to comment