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 documentation #60

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Add documentation #60

wants to merge 2 commits into from

Conversation

almussel
Copy link
Contributor

@almussel almussel commented Nov 2, 2016

  • Documentation on installing toil-lib
  • Documentation on developing on Toil and toil-lib (not done yet)
  • Spark documentation moved over from Toil

Copy link
Contributor

@fnothaft fnothaft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is more cursory than I'd like. At the least, I think we should also give a general description of the various packages/modules (tools contains job functions for the various -omics tools we run, files contains helper functions for dealing with local files, blah blah). I'd also explain the philosophy behind why this project is split from toil-scripts. These don't need to be voluminous—someone who wants to understand how to use the methods in toil_lib.files can look at the inline docs—but there should be enough information so that someone who is new to toil_lib can navigate around the project quickly.


::

make develop
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC, toil-lib make develop will not install toil. I would note this and link back to the toil install docs.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is key. Further, how does one develop against both toil and toil-lib simultaneously? I assume you create one virtual env and checkout toil, build it, then checkout toil lib and similarly build it, and then you're good to go?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know my question may be stupid, but I doubt I'll be the only one who gets confused by this.

------------------

For developers and people interested in building the project from source the
following explains how to setup virtualenv to create an environment to use toil-lib
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of this paragraph, I would say that our make flow requires a virtualenv to be installed, why that is, and then how to install virtualenv. virtualenv doesn't get installed by default with python, so I wouldn't assume that people know about it.

if you are running on a preemptable cluster: in Spark and HDFS, failed workers can
be restarted, but a failed master will cause all workers in the cluster to
dissociate. If the cluster does not restart, this causes a deadlock.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might be tricky, but it would be good to link or at least tell people to see the toil documentation on checkpoints:

http://toil.readthedocs.io/en/releases-3.3.x/developing.html#checkpoints

instructions can be found [here](https://docs.docker.com/engine/installation/).
For examples of how to connect to a Toil-based Spark cluster, see the Spark
unit tests:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is good, but do we need a separate section on Docker in general? Possibly this is for @fnothaft or @jvivian to do, but we should have a good documentation section on docker which describes how to run pipelines with docker and how to use the functions in: https://github.com/BD2KGenomics/toil-lib/blob/master/src/toil_lib/programs.py

?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm in favor. I'm familiar with about half of the functions in toil_lib/programs.py, so I could get it started but would likely need some help.


::
export PYTHONPATH=${SPARK_HOME}/python:${SPARK_HOME}/python/lib/py4j-0.10.1-src.zip:${PYTHONPATH}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should the "py4j-0.10-1-src.zip" be that specific? Is this not specific version?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

spark.rst is being moved over from the Toil docs. @fnothaft is there a reason for this specific link?

@almussel
Copy link
Contributor Author

almussel commented Dec 3, 2016

@benedictpaten I've addressed your comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants