-
SameStr
SameStr
SameStr tunnistaa jaetut mikrobikannat metagenomisten näytteiden parien välillä yksittäisten nukleotidivarianttien (SNV) profiilien samankaltaisuuden perusteella. Se toimii taksonomisten profilointityökalujen, kuten MetaPhlAnin, jälkeen: se ottaa näiden työkalujen tuottamat näytekohtaiset markkerikohdistukset, muuntaa ne SNV-profiileiksi ja tunnistaa lajit, joissa kaksi näytettä jakaa saman kannan.
Lisenssi
Vapaa ja avoimen lähdekoodin ohjelmisto GNU Affero General Public License v3 -lisenssillä.
Saatavuus
- Roihu-CPU: 1.2025.111 (moduuli
py-samestr),bio-apps-moduulin kautta.
Käyttö
SameStr on osa Roihun bio-apps -kokoelmaa. Lataa ensin bio-apps-moduulipuu ja sitten SameStr-moduuli:
Voit listata alikomennot komennolla:
Toimintaperiaate
SameStr ei itse profiloi lukuja — se käyttää MetaPhlAnin (tai mOTUsin) tuottamia markkerikohdistuksia ja käsittelee ne kiinteän alikomentosarjan kautta:
| step | subcommand | purpose |
|---|---|---|
| 1 | samestr db |
rakenna SameStr-markkeritietokanta MetaPhlAn-markkerijoukosta |
| 2 | samestr convert |
muunna MetaPhlAn *.sam.bz2 -kohdistukset SNV-profiileiksi |
| 3 | samestr filter |
käytä peitto- / kohdistuskynnysarvoja |
| 4 | samestr compare |
profiilien pareittainen, kladikohtainen vertailu |
| 5 | samestr summarize |
tunnista jaetut kannat ja rakenna yhteisesiintymistaulukot |
(samestr extract ja samestr stats ovat valinnaisia apukomentoja viitegenomien
lisäämiseen sekä peiton/monimuotoisuuden raportointiin.)
Viitetietokanta
samestr db rakennetaan samasta MetaPhlAn-markkerijoukosta, jolla profiilisi on tuotettu —
markkerimetadatan .pkl- ja markkerisekvenssien .fna.bz2 -tiedostoista, jotka sijaitsevat
jaetussa MetaPhlAn-tietokannassa. Roihussa tämä tietokanta tarjotaan keskitetysti ja
asetetaan saataville muuttujan $METAPHLAN_DB_DIR kautta. Tämä muuttuja asetetaan MetaPhlAn-moduulissa,
joten lataa se SameStrin rinnalle (katso
MetaPhlAn -sivu); valitse indeksi, jota käytit profilointiin, ja
kirjoita SameStr-tietokanta omaan /scratch-hakemistoosi:
module load py-metaphlan/4.2.4 # provides $METAPHLAN_DB_DIR
cd /scratch/<project>/samestr_run
samestr db \
--markers-info $METAPHLAN_DB_DIR/mpa_vJan26_CHOCOPhlAnSGB_202605.pkl \
--markers-fasta $METAPHLAN_DB_DIR/mpa_vJan26_CHOCOPhlAnSGB_202605_SGB.fna.bz2 \
--db-version $METAPHLAN_DB_DIR/mpa_latest \
--output-dir samestr_db/
Pidä tietokantaversio yhtenäisenä
MetaPhlAn-indeksin, jota käytät komennossa samestr db, täytyy vastata sitä,
jota käytettiin seuraavan vaiheen kohdistusten tuottamiseen. Markkeriversioiden
sekoittaminen johtaa merkityksettömiin vertailuihin.
Syötekohdistusten tuottaminen
SameStrin syöte on MetaPhlAn-ajon SAM-tuloste. Lisää MetaPhlAnin -s
(--samout) -valitsin, jotta se kirjoittaa näytekohtaisen *.sam.bz2 -kohdistuksen
käyttäen vastaavaa indeksiä:
module load py-metaphlan/4.2.4
metaphlan sample1.fastq.gz --input_type fastq \
--index mpa_vJan26_CHOCOPhlAnSGB_202605 \
--nproc 8 \
-s out_align/sample1.sam.bz2 \
-o out_profile/sample1_profile.txt
Esimerkkityövuo
Aja SameStr työskentelyhakemistosta /scratch-alueella. Se rinnakkaistaa
--nprocs-valitsimella, joten interaktiivinen sessio
tai small-osion eräajo sopii hyvin. Lähtien kohdistuksista hakemistossa
out_align/ ja tietokannasta hakemistossa samestr_db/:
module load bio-apps/v202603 py-samestr/1.2025.111
samestr convert \
--input-files out_align/*.sam.bz2 \
--marker-dir samestr_db/ \
--nprocs 8 --min-vcov 5 \
--output-dir out_convert/
samestr merge \
--input-files out_convert/*.npy \
--marker-dir samestr_db/ \
--nprocs 8 \
--output-dir out_merge/
samestr filter \
--input-files out_merge/*.npy \
--input-names out_merge/*.names.txt \
--marker-dir samestr_db/ \
--nprocs 8 \
--output-dir out_filter/
samestr compare \
--input-files out_filter/*.npy \
--input-names out_filter/*.names.txt \
--marker-dir samestr_db/ \
--output-dir out_compare/
samestr summarize \
--input-dir out_compare/ \
--tax-profiles-dir out_profile/ \
--marker-dir samestr_db/ \
--output-dir out_summarize/
Jaettujen kantojen tunnistukset ja yhteisesiintymistaulukot kirjoitetaan hakemistoon out_summarize/.