Your first project#
This page takes about ten minutes. You make a small practice folder, have Ingence read it, and look at what it found. Nothing here touches a folder of yours.
You need Ingence installed (Install) and a terminal.
Tip
Typing ingence see with nothing after it is a shorter way in. It opens a page in your browser
that makes a project, asks the few things the engine needs, and runs the steps below when you
click. This page does the same steps by hand, one command each, so you can see what each one does.
Make a practice folder#
A project is the folder where Ingence keeps what it finds and what you decide. The root is the folder it reads. They are two different folders. Ingence writes only into the project.
First make a working folder. Inside it, make a practice root that holds the files of two HeLa imaging experiments. The names are built the way real names are: a date, a cell line, a treatment, a number.
mkdir ingence-tutorial && cd ingence-tutorial
mkdir -p practice-lab/20261012_HeLa_DAPI-GFP practice-lab/20261019_HeLa_DAPI-GFP practice-lab/scripts
printf 'TIFF stand-in\n' > practice-lab/20261012_HeLa_DAPI-GFP/20261012_HeLa_DMSO_001.tif
printf 'TIFF stand-in\n' > practice-lab/20261012_HeLa_DAPI-GFP/20261012_HeLa_DMSO_002.tif
printf 'cell,GFP,DAPI\n1,0.41,0.88\n2,0.44,0.91\n3,0.39,0.86\n' > practice-lab/20261012_HeLa_DAPI-GFP/20261012_HeLa_DMSO_quant.csv
printf 'Imaged on the confocal. Control wells only.\n' > practice-lab/20261012_HeLa_DAPI-GFP/notes.txt
printf 'TIFF stand-in\n' > practice-lab/20261019_HeLa_DAPI-GFP/20261019_HeLa_DMSO_001.tif
printf 'cell,GFP,DAPI\n1,0.61,0.84\n2,0.58,0.83\n' > practice-lab/20261019_HeLa_DAPI-GFP/20261019_HeLa_DMSO_quant.csv
printf 'import csv\n\n# average GFP per cell\n' > practice-lab/scripts/quantify_gfp.py
New-Item -ItemType Directory ingence-tutorial | Out-Null
Set-Location ingence-tutorial
New-Item -ItemType Directory practice-lab\20261012_HeLa_DAPI-GFP, practice-lab\20261019_HeLa_DAPI-GFP, practice-lab\scripts | Out-Null
Set-Content practice-lab\20261012_HeLa_DAPI-GFP\20261012_HeLa_DMSO_001.tif "TIFF stand-in"
Set-Content practice-lab\20261012_HeLa_DAPI-GFP\20261012_HeLa_DMSO_002.tif "TIFF stand-in"
Set-Content practice-lab\20261012_HeLa_DAPI-GFP\20261012_HeLa_DMSO_quant.csv "cell,GFP,DAPI","1,0.41,0.88","2,0.44,0.91","3,0.39,0.86"
Set-Content practice-lab\20261012_HeLa_DAPI-GFP\notes.txt "Imaged on the confocal. Control wells only."
Set-Content practice-lab\20261019_HeLa_DAPI-GFP\20261019_HeLa_DMSO_001.tif "TIFF stand-in"
Set-Content practice-lab\20261019_HeLa_DAPI-GFP\20261019_HeLa_DMSO_quant.csv "cell,GFP,DAPI","1,0.61,0.84","2,0.58,0.83"
Set-Content practice-lab\scripts\quantify_gfp.py "import csv","","# average GFP per cell"
You now have seven files in three folders:
practice-lab/
20261012_HeLa_DAPI-GFP/ 20261012_HeLa_DMSO_001.tif 20261012_HeLa_DMSO_002.tif
20261012_HeLa_DMSO_quant.csv notes.txt
20261019_HeLa_DAPI-GFP/ 20261019_HeLa_DMSO_001.tif 20261019_HeLa_DMSO_quant.csv
scripts/ quantify_gfp.py
The .tif files are stand-ins. Each holds one line of text and no picture, so Ingence can read
their names and not their pixels. A real folder of images gives Ingence far more to read. You can
point the commands below at any other small folder of your own instead. Ingence reads it and
changes nothing in it.
Or use the sample collection#
For a larger practice folder, the sample collection writes an invented laboratory drive of about
five hundred files. Run it in the environment where Ingence is installed, and use its pool folder
as the root in the steps below, in place of practice-lab. The numbers on this page are for the
small folder above.
python -m ingence.evaluation sample-lab sample-collection --tier S --seed 1
Step 1. Make the project#
ingence init project --root practice-lab --domain microscopy
init creates a project folder called project, next to practice-lab, and declares
practice-lab as the root to read. It opens no file yet. It does look at the folder’s names once,
to learn whether the drive treats capital and small letters as different, and it says what it
found. It prints where the project is, which domain packs it will load, the root, and the next
command to run.
--domain microscopy loads the microscopy pack, the words for imaging: DAPI, GFP,
confocal and others. A pack is a set of words for one science (see
Domain packs). Without --domain, Ingence loads the core Dictionary and
proposes packs from what it finds.
ingence init --help lists the other choices. One is worth knowing now: --depth metadata
declares that no dive opens a file unless someone asks for a deeper one (Read someone else’s
folder).
Step 2. Take the census#
ingence index -p project
index takes a census: it walks the root and records what the filesystem states about every
file and folder (name, size, dates and links). It opens no file. It also reads each name into its
parts, such as a date, a number or a word, and looks the words up in the Dictionary, which
holds what words mean.
It ends by saying what it read. For the practice folder:
it indexed eleven entries as one run: 7 files and 4 folders (the root counts as a folder);
it read 24 words in the names. Nine were understood, because the Dictionary holds a meaning for them, such as
DAPI,GFPandquant. Fifteen were unknown, with none contested.HeLaandDMSOare among the unknown: the microscopy pack has no entry for either. The biochemistry pack does, and--domain biochemistrywould read them. An unknown word is not an error. It is the engine saying it has no meaning for the word in the packs this project loads, and you can give it one later (Teaching Ingence your words);it names the next command.
Step 3. Dive#
ingence dive -p project --budget 60
dive opens files, one type at a time, for as long as you allow. --budget is that time in
seconds. It reads headers, text and tables, and it never runs anything it finds. The practice files
are tiny, so it opens all seven at once and says so. In a large folder the budget runs out first.
The files not reached are marked unexamined, which is different from “nothing found”, and
running dive again with a fresh budget carries on.
Step 4. Infer#
ingence infer -p project
infer applies the Rulebook to what was read. Each conclusion is a claim: it carries the
rule that made it, the rule’s version and the evidence. A rule that cannot decide says so and says
why. For the practice folder it reports 41 claims.
It also says that some rules are “not built to run yet”. The shipped Rulebook declares rules that
are not implemented. Adding --verbose lists them, and shows each rule’s counts.
Step 5. Look at it#
ingence see -p project
see starts the Dashboard and opens it in your browser. It prints an address that begins
http://127.0.0.1:. That address works only on your computer, and the page fetches nothing from the
internet. Press Ctrl-C in the terminal to stop it.
The Dashboard opens on your experiments laid out by date. For the practice folder it finds two, one for each dated folder. Two parts of it matter most at first:
Explore shows what is there and what could not be read, and lets you search. Open any file to see what was read from it and every conclusion about it, each with its rule.
Questions shows what is waiting for you. For the practice folder it holds a sheet of eight questions, such as whether the two folders read as experiments are right. Where the rules cannot settle something alone, Ingence proposes and does not decide, and nothing happens until you answer. Your answer is kept in the project’s Record under your name, beside every earlier one. It never replaces one.
An answer, a word’s meaning or a changed setting does not change what you see at once. It waits for Re-run, a button whose count says how many changes are waiting. Re-run reads the affected names again and runs the rules again.
What you have now#
The project folder holds one run for each command that read something, your Record, and your
settings. The practice-lab folder is exactly as you made it. You can delete both, and the
ingence-tutorial folder, whenever you like.
Where to go next:
How Ingence thinks explains the ideas in the words above.
Privacy and your data says what Ingence reads, writes and sends.
Read someone else’s folder is the safe way to start on a folder that is not yours.