Comments (9)
Yes definitely. Thanks for submitting this issue. I will add this in for the next release.
from sample-sheet.
Thanks! Great work!
Your lib saved me quite some coding!
from sample-sheet.
Awesome to hear! It's saved me quite a bit of effort too.
Please keep the suggestions coming, I only use sample sheets for a very specific task and will need the community's help in making this useful across applications.
from sample-sheet.
Sure, I will report if we have any other issues/suggestions.
from sample-sheet.
@clintval , beware that according to Illumina's reference the Sample_ID
must be a unique identifier.
At a minimum, the one column that is universally required is Sample_ID,
which provides a unique string identifier for each sample.
So I assume you should only allow duplicates if the Lane
column is provided, and if its values are different for a given Sample_ID
.
@reisingerf , in your case I am not sure the Lane
column is necessary, as documentation from recent version of bcl2fastq
mentions:
When the Lane column of the sample sheet Data section is populated, only those lanes are converted. When the Lane column is not used, all lanes are converted.
Except if you use it to extract data only for specific lanes from a larger flowcell, I guess.
from sample-sheet.
Thanks @PertuyF. I recognize some Illumina sequencers may allow per lane loading which would support the notion that you could technically have identical Sample_ID
on the same flowcell albeit on different lanes with the same sample indexes.
I am willing to be permissive on the specification instead of restrictive since sample sheets are used by more platforms than just Illumina (e.g.. 10x).
I am open to discussion on how permissive this library should be to restricting the import of sample sheets.
Let me dwell on this a bit and I will respond back.
@reisingerf, feel free to comment on your specific application and need for this feature. I am interested in the applications you are pursuing.
from sample-sheet.
We are sequencing cancer samples with using Illumina's NovaSeq. We have a few reasons:
When you specify a lane in the sample sheet for the same sample ID, it generates SAMPLE_S([0-9]+)_L00[1-8]_R[1-2]_001.fastq.gz This helps to trace and identify the source of FASTQ back to the lane, (this info is also in the read header, but it's much easier to just look at the FASTQ file name).
In some cases it may be inevitable to specify lane number due to logistic restrictions when we need to load by lane, either because we donβt have enough indexes or we need to add up to the desired coverage.
from sample-sheet.
Hi @reisingerf, I implemented the feature and made a new release as v0.4.0. Let me know how it works for you. I did demo your sample sheet snippet with success.
Feel free to update/install from PyPi:
$ pip install sample_sheet
from sample-sheet.
Great thanks!
Works fine now for my use cases!
Great job!
from sample-sheet.
Related Issues (20)
- Support Python2 HOT 1
- Support comments HOT 2
- Feature Request: SampleSheet v2 support HOT 9
- validator HOT 7
- How to update the sample sheet object? HOT 1
- index validation HOT 2
- Intended behavior of empty samplesheet with missing sections HOT 1
- Index validation on indexes with spaces at the end
- Request - handling nonstandard tables HOT 1
- relationship with PEP HOT 1
- Issue1: special character
- Confusing error on file with no sections
- test_to_picard_basecalling_params_output_files fails on MacOS
- Appetite for looking up samples by Sample_ID HOT 1
- Feature request: support read structures like `+T` HOT 1
- PE + Multi index HOT 2
- Add option do deactivate sanity check for reading sample sheets and adding samples
- Sample_ID validation
- Validations should be parameterized. Such as for 10x indexes vs Illumina.
- Error parsing samplesheet HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sample-sheet.