Hyppää sisältöön

MAGScoT

MAGScoT (MAG Scoring Tool) pisteyttää ja tarkentaa metagenomikokoonpantuja genomeja (MAG) useista binnaustyökaluista. Se arvioi kunkin binin täydellisyyden ja kontaminaation GTDB:n (julkaisu 207) yhden kopion markkerigeenien perusteella, yhdistää eri työkalujen päällekkäiset binit ja valitsee parhaan joukon ei-päällekkäisiä binejä.

Lisenssi

Vapaasti käytettävissä ja avointa lähdekoodia GNU GPLv3 -lisenssillä.

Saatavuus

  • Roihu-CPU: 1.1, bio-apps-moduulin kautta.

Käyttö

MAGScoT on osa bio-apps -kokoelmaa Roihussa. Lataa ensin bio-apps-moduulipuu ja sitten MAGScoT-moduuli:

module load bio-apps/v202603
module load magscot/1.1

MAGScoT on R-skripti. Moduuli asettaa $MAGSCOT_INSTROOT-muuttujan asennushakemistoon, joka sisältää skriptin ja hmm-hakemistossa GTDB:n markkerigeeniprofiilit. Moduuli lataa myös Prodigalin ja HMMERin.

Etsi markkerigeenit kontigeista: ennusta geenit Prodigalilla, etsi niistä markkerit HMMERillä ja yhdistä osumat yhdeksi taulukoksi:

prodigal -p meta -i contigs.fa -a contigs.faa -o contigs.genes
hmmsearch -o tigr.out --tblout tigr.hits --noali --notextw --cut_nc --cpu 8 \
  $MAGSCOT_INSTROOT/hmm/gtdbtk_rel207_tigrfam.hmm contigs.faa
hmmsearch -o pfam.out --tblout pfam.hits --noali --notextw --cut_nc --cpu 8 \
  $MAGSCOT_INSTROOT/hmm/gtdbtk_rel207_Pfam-A.hmm contigs.faa
grep -v "^#" tigr.hits | awk '{print $1"\t"$3"\t"$5}' > contigs.hmm
grep -v "^#" pfam.hits | awk '{print $1"\t"$4"\t"$5}' >> contigs.hmm

MAGScoT lukee binit sarkainerotellusta tiedostosta, jossa on kolme saraketta eikä otsikkoriviä: bin, kontigi ja binnaustyökalu. Binien nimien on oltava yksilöllisiä kaikkien työkalujen välillä, joten alla olevat komennot lisäävät työkalun nimen jokaisen binin nimeen. Esimerkiksi jos yhdistetään SemiBin2, COMEBin, CONCOCT ja MetaBAT2 -työkalujen binit:

awk -F'\t' 'NR>1 && $2!=-1{print "semibin_"$2"\t"$1"\tsemibin2"}' semibin_out/contig_bins.tsv > contigs_to_bin.tsv
awk -F'\t' '{print "comebin_"$2"\t"$1"\tcomebin"}' comebin_out/comebin_res/comebin_res.tsv >> contigs_to_bin.tsv
awk -F',' 'NR>1{print "concoct_"$2"\t"$1"\tconcoct"}' concoct_output/clustering_merged.csv >> contigs_to_bin.tsv
awk '/^>/{b=FILENAME; sub(/.*\//,"",b); sub(/\.fa$/,"",b); print "metabat_"b"\t"substr($1,2)"\tmetabat2"}' bins/bin.[0-9]*.fa >> contigs_to_bin.tsv

Oletuksena MetaBAT2 kirjoittaa bininsä vain FASTA-tiedostoina, joten viimeinen komento lukee kontigien nimet numeroiduista binitiedostoista (bins/bin.1.fa ja niin edelleen), jotka metabat2 -o bins/bin kirjoittaa.

Pisteytä ja tarkenna binit:

Rscript $MAGSCOT_INSTROOT/MAGScoT.R -i contigs_to_bin.tsv --hmm contigs.hmm

MAGScoT kirjoittaa alkuperäisten binien pisteet tiedostoon MAGScoT.scores.out sekä tarkennetut binit ja niiden kontigit tiedostoihin MAGScoT.refined.out ja MAGScoT.refined.contig_to_bin.out. Vaihda MAGScoT-etuliite valitsimella -o. Jos binit ovat vain yhdestä binnaustyökalusta, MAGScoT ainoastaan pisteyttää ne.

Esimerkkiajoskripti

#!/bin/bash
#SBATCH --job-name=magscot
#SBATCH --account=<project>
#SBATCH --output=output_%j.txt
#SBATCH --error=errors_%j.txt
#SBATCH --partition=small
#SBATCH --time=04:00:00
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=8
#SBATCH --mem=16G

module load bio-apps/v202603
module load magscot/1.1

prodigal -p meta -i contigs.fa -a contigs.faa -o contigs.genes
hmmsearch -o tigr.out --tblout tigr.hits --noali --notextw --cut_nc --cpu $SLURM_CPUS_PER_TASK \
  $MAGSCOT_INSTROOT/hmm/gtdbtk_rel207_tigrfam.hmm contigs.faa
hmmsearch -o pfam.out --tblout pfam.hits --noali --notextw --cut_nc --cpu $SLURM_CPUS_PER_TASK \
  $MAGSCOT_INSTROOT/hmm/gtdbtk_rel207_Pfam-A.hmm contigs.faa
grep -v "^#" tigr.hits | awk '{print $1"\t"$3"\t"$5}' > contigs.hmm
grep -v "^#" pfam.hits | awk '{print $1"\t"$4"\t"$5}' >> contigs.hmm

Rscript $MAGSCOT_INSTROOT/MAGScoT.R -i contigs_to_bin.tsv --hmm contigs.hmm

Korvaa <project> CSC-projektillasi (esimerkiksi project_2001234).

Katso lisätietoja eräajojen suorittamisesta ohjeesta eräajotehtävän skriptin luominen Roihulle.

Tuki

CSC Service Desk

Lisätietoja

Onko tämä sivu hyödyllinen?
Kiitos palautteestasi!
Kiitos! Arvostamme palautettasi.

Kerro meille miten voisimme parantaa tätä sivua ottamalla meihin yhteyttä .