The relationships between Libraries, SequencingRequests, SequencingRuns, and SequencingResults - StanfordBioinformatics/pulsar_lims GitHub Wiki
A Library object in Pulsar may only have one barcode associated to it. A barcode is represented as either a Barcode object, or a PairedBarcode object. A pooled library is represented in Pulsar through a SequencingRequest object, which can have many Libraries.
A SequencingRequest object represents the intention to sequence one or more Libraries together at a particular sequencing center and on a particular sequencing platform. It can have many Libraries, which would indicate a pooled library within the user's experiment (i.e. each Library has a single barcode) and the Libraries may come from unrelated experiments. A SequencingRequest has one or more SequencingRun objects.
A SequencingRun indicates the realization of a SequencingRequest and identifies the sequencing run name (provided by the sequencing center) and flowcell lane. If the same SequencingRequest is sequenced multiple times, then it will have multiple SequencingRun objects. Each SequencingRun has one or more SequencingResult objects, depending on the number of Libraries on the SequencingRequest.
A SequencingResult indicates where the FASTQ sequencing results are stored for a particular Library, as well as the read counts.