liquid-data-handler
Version:
Transform plate layouts according to liquid handling instructions
65 lines • 2.97 kB
TypeScript
import { ObjectOfArraysType } from "array-object-transformer";
import { KeySetType, PlateIdConfigType, TransferInstructionsRowType, AnyStringObjectType, PlateMapRowType, ClashStrategyType, StrategyType, PlateColumnSuffixObjectType, SpecificColumnClashesType } from "./mainTypes";
import { PlateRelationshipType, SeparatorType } from "./PlateTypes";
interface ClashReportType {
discoveredClashes: discoveredClashesType[];
defaultClashStrategy: string;
clashColumnStrategies: SpecificColumnClashesType[];
}
interface PlateTransformerParamsType {
srcLayout: PlateMapRowType[];
destLayout: PlateMapRowType[];
srcPlateRel: PlateRelationshipType;
destPlateRel: PlateRelationshipType;
}
interface discoveredClashesType {
plate_id: string;
colname: string;
suffixColnames: string[];
isActualClash: boolean;
clashingIndexes: number[];
}
interface layoutGroup {
plate_id: string;
group: string;
}
declare class liquidDataHander {
inputInstructions: AnyStringObjectType[];
inputLayouts: AnyStringObjectType[][];
instructions: TransferInstructionsRowType[];
layouts: PlateMapRowType[][];
layoutsSuffix: PlateMapRowType[][];
plateInfo: PlateIdConfigType[];
keySet: KeySetType;
clashStrategy: StrategyType;
columnSuffixNames: PlateColumnSuffixObjectType;
clashColumnStrategies: ClashStrategyType[];
finalDestPlates: PlateMapRowType[][];
discoveredClashes: discoveredClashesType[];
layoutGroups: layoutGroup[];
removeVolumes: boolean;
constructor(inputLayouts: AnyStringObjectType[][], inputInstructions: AnyStringObjectType[], platesInfo: PlateIdConfigType[], keySet: KeySetType, clashColumnStrategies?: ClashStrategyType[]);
setup(): void;
detectLayoutGroups(): void;
fillMissingColumnsInPlateLayoutGroups(): void;
fillMissingColumnsWithinPlateLayout(): void;
getClashReport(): ClashReportType;
getFinalPlateLayouts(clashColumnStrategies?: ClashStrategyType[], defaultClashStrategy?: StrategyType): PlateMapRowType[][];
removeSufTags(): void;
runLiquidDataHandlerWithClashStrategies(clashColumnStrategies: ClashStrategyType[], defaultClashStrategy: StrategyType, defaultSeparator?: SeparatorType): void;
runLiquidDataHandlerAllSuffix(): void;
resolveClashes(): void;
getClashingIndexes(repeatedSuffixColnames: string[], columnLayout: ObjectOfArraysType): number[];
discoverClashes(): void;
getPlateTransformerParams(chunkInstructions: TransferInstructionsRowType[], layoutChoice: "layoutsSuffix" | "layouts"): PlateTransformerParamsType;
detectUnusedPlates(): void;
assertUniqueSuffixes(): void;
setLayoutSuffix(): void;
get columnClashes(): ClashStrategyType[];
set columnClashStragtegies(strats: ClashStrategyType[]);
addMissingPlateLayouts(): void;
formatLayouts(): void;
formatInstructions(): void;
}
export default liquidDataHander;
//# sourceMappingURL=liquidDataHandler.d.ts.map