Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add biplots to make_emperor.py -- fixes #12 #54

Merged
merged 20 commits into from
May 9, 2013

Conversation

ElDeveloper
Copy link
Member

A summary of the new features included in this pull request:

  • Specify as an input a summarized otu table to create a biplot.
  • Specify the name of the output file for the biplot coordinates.
  • Specify the number of taxa that need to be kept from the ipnut.
  • Show/hide the labels for the taxa elements in the GUI.
  • Show specific GUI elements for biplots/jackknifed plots (the ellipse opacity slider will only be presented when the plot contains ellipses).

This pull request also includes two new command calls in the script usage examples.

This controller function will let you process the raw data i. e. otu
table and coordinates file and will let you retrieve the scores and N
most prevalent taxons.
Script is now capable of writting the biplots coordinates file.
This module currently aids with the sorting that should take place
when operating otu tables from the script interface.

The all variable in the __init__.py file is now updated.
This bug caused the biplot information to be placed in the exact
coordinates where samples were positioned. This function now makes use
of emperor.sort to make sure that the sample identifiers match between
coordinates files and otu tables.

The script interface was updated accordingly since the filtering of the
otu table is now performed using the header in the coordinates data.
A new function has been added to the format module, this function is
responsible for presenting the appropriate GUI elements on screen.
The following functions were added to the javascript file:
    - Callback to respond to the controller in the user interface
    to show or hide the labels with the taxonomic lineages.
    - Scaling of the biplots when they appear on screen
    - Presentation of the labels when for each frame

Minor updates took place in the emperor.css file to reflec the changes
in format.py and in emperor.js.
The main script now supports biplots and jackknifed plots.

Test data was added for the new examples that have been added to the
script interface.

This closes biocore#12
preprocess_otu_table is now capable of handling empty inputs for the otu
table related values. This will generate empty outputs. This change
allows the script interface to follow the same structure as
preprocess_mapping_file and preprocess_coodinates.

This change also now allows using a custom axis and biplots.
@antgonza
Copy link
Collaborator

This works nicely but it will be good to be able to hide all the
samples easily and change the color of the taxa within this pull
request.

@ElDeveloper
Copy link
Member Author

Sounds good to me, will work on this.

The color of the biplots on screen can now be changed to any color.
The biplots can now be turned-off.
@ElDeveloper
Copy link
Member Author

Ok, two new controllers have been added addressing your suggestions.

@ghost
Copy link

ghost commented May 6, 2013

Build results will soon be (or already are) available at: http://ci.qiime.org/job/emperor-github-pr/7/

@ElDeveloper
Copy link
Member Author

@jrrideout, do you know if this failure could be related to #69?

@jairideout
Copy link
Member

I don't think so, as I was able to find a workaround (by not running setup.py). Since the other pull requests have the script usage tests passing, these are probably real failures.

@jairideout
Copy link
Member

Also, note that only two of the script usage test commands are failing- the other five are passing.

Emperor is using QIIME 1.6.0, biom-format 1.1.1, PyCogent 1.5.3, and NumPy 1.5.1 (the same setup that's in the latest QIIME 1.6.0 AMI).

@ElDeveloper
Copy link
Member Author

Thanks for the info, I'll look into this, specifically with those versions.

El 06/05/2013, a las 12:18, Jai Ram Rideout notifications@github.com escribió:

Also, note that only two of the script usage test commands are failing- the other five are passing.

Emperor is using QIIME 1.6.0, biom-format 1.1.1, PyCogent 1.5.3, and NumPy 1.5.1 (the same setup that's in the latest QIIME 1.6.0 AMI).


Reply to this email directly or view it on GitHub.

@ElDeveloper
Copy link
Member Author

Ok, I just looked into this and this is the thing that's causing the problem:

qiime@qiime-VirtualBox:~/qiime_software/emperor/tests/scripts_test_data/make_emperor$ /home/qiime/qiime_software/emperor/scripts//make_emperor.py -i unweighted_unifrac_pc.txt -m Fasting_Map.txt -t otu_table_L3.txt -o _biplot
Traceback (most recent call last):
  File "/home/qiime/qiime_software/emperor/scripts//make_emperor.py", line 400, in <module>
    main()
  File "/home/qiime/qiime_software/emperor/scripts//make_emperor.py", line 261, in main
    taxa_fp, 'U'), count_map_f=float, remove_empty_rows=True)
TypeError: parse_classic_otu_table() got an unexpected keyword argument 'remove_empty_rows'

It seems that the remove_empty_rows argument was added in biocore/qiime#692 i. e. the dev version of QIIME. Removing this argument will cause similar problems as the ones reported in biocore/qiime#685. Given that the release of QIIME-1.7.0 is close, I will fix this in this pull request and open a new issue regarding this to address it as 1.7.0 becomes available.

You were right @jrrideout 👍 this was specific to those versions.

This change will allow the tests to pass for 1.6.0 and 1.6.0-dev.
@jairideout
Copy link
Member

Sounds good- thanks @ElDeveloper!

@ghost
Copy link

ghost commented May 6, 2013

Build results will soon be (or already are) available at: http://ci.qiime.org/job/emperor-github-pr/13/

Conflicts:
	emperor/format.py
	scripts/make_emperor.py
@ghost
Copy link

ghost commented May 7, 2013

Build results will soon be (or already are) available at: http://ci.qiime.org/job/emperor-github-pr/15/

@ElDeveloper
Copy link
Member Author

Just solved the conflicts in this pull request.

antgonza added a commit that referenced this pull request May 9, 2013
Add biplots to make_emperor.py -- fixes #12
@antgonza antgonza merged commit 0d5c695 into biocore:master May 9, 2013
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants