soedinglab / plass

sensitive and precise assembly of short sequencing reads
https://plass.mmseqs.com
GNU General Public License v3.0
145 stars 13 forks source link

Is it possible to read sequences from stdin or to provide multiple unpaired files at once? #21

Open mooreryan opened 4 years ago

mooreryan commented 4 years ago

Expected Behavior

I'm looking for a way to assembled multiple samples together when I have many non-paired reads as input.

Current Behavior

I get an error like this: Input /dev/fd/63 does not exist.

Steps to Reproduce (for bugs)

When running the command like this:

docker run --rm -it -v "$(pwd):/app" -w /app soedinglab/plass assemble <(cat seqs1.fna seqs2.fna) seqs12.assembly.faa tmp

Plass Output (for bugs)

Input /dev/fd/63 does not exist.

Context

The reason that this would be helpful is that I have a lot of samples that I would like to combine into a single assembly. It would be nice to be able to cat them all in a subshell directly in the call to plass as above so I could avoid writing a big file first.

Alternatively, does plass take multiple unpaired files from different samples at the same time? The usage string looks like this:

Usage: plass assemble <i:fast(a|q)File[.gz]> | <i:fastqFile1_1[.gz] ... <i:fastqFileN_1[.gz] <i:fastqFile1_2[.gz] ... <i:fastqFileN_2[.gz]> <o:fastaFile> <tmpDir> [options]

It looks like you can provide multiple paired-end read files, but only a single unpaired file. Can you also but multiple unpaired files and have plass treat them as unpaired? Something like this:

plass assemble sample_a.fna sample_b.fna sample_c.fna out tmp

Would sample_a.fna sample_b.fna sample_c.fna all be treated as unpaired?

Your Environment

Git commit: c4f7b2392f26c71e8c596466a3e620297c748fa7. I used the docker version. I have support for SSE4.2.

martin-steinegger commented 4 years ago

@mooreryan we now support stdin as input. E.g. you can do this

 cat file.fas | plass assemble stdin asm tmp