
1. What is starcode?
2. Source file list.
3. Compilation and installation.
4. Running starcode.
5. Running starcode-umi.
6. File formats.
7. License.
8. Citation.
StarCode est un logiciel de clustering de séquences d'ADN. Le clustering StarCode est basé sur toutes les recherches de paires dans une distance spécifiée de Levenshtein (permettant des insertions et des suppressions), suivie d'un algorithme de clustering: passage de messages, sphères ou composants connectés. En règle générale, un fichier contenant un ensemble de séquences d'ADN est passé en entrée, conjointement avec la distance de regroupement et l'algorihtm souhaité. StarCode renvoie la séquence canonique du cluster, la taille du cluster, l'ensemble de différentes séquences qui composent le cluster et les numéros de ligne d'entrée des composants du cluster.
Starcode a de nombreuses applications dans le domaine de la biologie, telles que la récupération du motif ADN / ARN, le clustering Barcode / UMI, la récupération des erreurs de séquençage, etc.
Pour installer StarCode, clonez ce référentiel GIT (ou téléchargez manuellement la dernière version Starcode v1.3):
git clone https://github.com/gui11aume/starcode
Les fichiers doivent être téléchargés dans un dossier nommé «Starcode». Utilisez Make to Compile (les utilisateurs de Mac ont besoin de «Xcode», disponible sur Mac Appstore):
faire du code d'étoile -c
Un fichier binaire «Starcode» sera créé. Vous pouvez éventuellement créer un lien symbolique pour exécuter Starcode à partir de n'importe quel répertoire:
sudo ln -s starcode / starcode / usr / bin / starcode
StarCode fonctionne sur Linux et Mac. Il n'a pas été testé sur Windows.
StarCode [Options] {[-i] input_file | -1 pairled_end_file1 -2 pairled_end_file2} [-o output_file]
Par défaut, StarCode utilise des paramètres de clustering qui sont significatifs sur de nombreux problèmes. Pourtant, la sortie peut ne pas ressembler exactement à ce que vous vous attendez. Cela peut être pour les raisons suivantes:
La méthode de clustering est le passage du message. Cela signifie que les clusters sont construits de bas en bas en fusionnant de petits grappes dans des grappes plus grandes. Le processus est récursif, donc les séquences dans un cluster peuvent ne pas être des voisins , c'est-à-dire qu'ils peuvent ne pas être à la distance spécifiée de Levenshtein. Si cela doit être le cas, utilisez plutôt le clustering Sphere (voir l'option -s ou - sphères ci-dessous).
Le rapport de clustering est de 5. Cela signifie qu'un cluster ne peut en absorber un plus petit que s'il est au moins cinq fois plus grand. Une implication pratique est que les grappes de taille similaire ne sont pas fusionnées . Vous pouvez choisir un autre seuil pour fusionner des clusters (voir l'option -r ou --cluster-ratio ci-dessous).
-d ou - distance de distance
Defines the maximum Levenshtein distance for clustering.
When not set it is automatically computed as:
min(8, 2 + [median seq length]/30)
-R ou - Ratio-Cluster- Ratio
(Message passing only) Specifies the minimum sequence count ratio to cluster two matching
sequences, i.e. two matching sequences A and B will be clustered together only if
count(A) > ratio * count(B).
Sparse datasets may need to set -r to small values (minimum is 1.0) to trigger clustering.
Default is 5.0.
-s ou - sphères
Use sphere clustering algorithm instead of message passing (MP). Spheres is more greedy than MP:
sorted by size, centroids absorb all their matches.
-C ou - Connected-compat
Clusters are defined by the connected components.
- non redoutant
Removes redundant sequences from the output. Only the canonical sequence of each cluster is
returned.
--print-clusters
Adds a third column to the starcode output, containing the sequences that compose each cluster.
By default, the output contains only the centroid and the counts.
--seq-id
Shows the input sequence order (1-based) of the cluster components.
Mode unique:
-i ou - Fichier d'entrée
Spécifie le fichier d'entrée.
Fichiers FastQ par paire:
-1 fichier1 -2 file2
Spécifie deux fichiers rapides à extrémité appariés pour le mode de clustering à extrémité appariée.
L'entrée standard est utilisée lorsque ni -i ni -1 / -2 ne sont définis.
Fichier -o ou —Output
Specifies output file. When not set, standard output is used instead.
- Fichier detput11 - Fichier2tput2 File2
(Paired-end mode with --non-redundant option only). Specifies the output file names of the
processed paired-end files.
La sortie standard est utilisée lorsque -O n'est pas définie.
Lorsque --Output1 / 2 n'est pas spécifié en mode apparié - NON-Redondant, les noms de fichiers de sortie sont les noms de fichiers d'entrée avec un suffixe "-starcode".
-Threaux -Threads
Defines the maximum number of parallel threads.
Default is 1.
-Q ou --quiet
Non verbose. By default, starcode prints verbose information to
the standard error channel.
-v ou --version
Prints version information.
-H ou - help
Prints usage information.
StarCode-Umi est un script Python qui utilise starcode pour regrouper les séquences UMI-marquées. Les séquences marquées UMI contiennent un identifiant moléculaire unique au début de la lecture suivi d'une autre séquence (plus longue). StarCode-Umi effectue un double tour de clustering et de fusion pour trouver les meilleurs grappes possibles de paires UMI et de séquence.
Starcode-umi [Options] --umi-len n Input_file1 [input_file2]
- Numéro umi-len
Defines the length of the UMI tags. Adding some extra nucleotides may improve the clustering
performance.
- PATH STARCODE- PATH
Path to `starcode` binary file. Default is `./starcode`.
- Distance de l'umi-d
Match distance (Levenshtein) for the UMI region.
- Distance
Match distance (Levenshtein) for the sequence region.
- algorithme de clustering de cluster umi
Clustering algorithm to be used in the UMI region. ('mp' for message passing, 's' for spheres,
'cc' for connected components). Default is message passing.
- Algorithme de clustering- cluster
Clustering algorithm to be used in the seq region. ('mp' for message passing, 's' for spheres,
'cc' for connected components). Default is message passing.
- algorithme de clustering de ratio-ratiou
(Only for message passing in UMI). Minimum clustering ratio (same as -r option in starcode).
- SEQ-CLUSTER-RATIO CLUSTERING ALGORITHM
(Only for message passing in seq). Minimum clustering ratio (same as -r option in starcode).
- Trim- trim
Use only *trim* nucleotides of the sequence for clustering. Starcode becomes memory inefficient
with very long sequences, this parameter defines the maximum length of the sequence that will
be used for clustering. Set it to 0 to use the full sequence. Default is 50.
--seq-id
Shows the input sequence order (1-based) of the cluster components.
- Uumi-threads Threads
Defines the maximum number of parallel threads to be used in the UMI process.
Default is 1.
- SEQ-SHEADS FILS
Defines the maximum number of parallel threads to be used in the sequence process.
Default is 1.
Se compose d'un fichier contenant une séquence par ligne. Seuls les caractères de base d'ADN standard sont pris en charge («A», «C», «G», «T»). Les séquences peuvent ne pas contenir d'espaces vides au début ou à la fin de la chaîne, car ceux-ci seront comptés comme des caractères d'alignement. Le fichier peut ne pas contenir de lignes vides car celles-ci seront considérées comme des séquences de longueur zéro. Les séquences n'ont pas besoin d'être triées et peuvent être répétées.
Exemple:
TTACTATCGATCATCATCGACTGACTACG
ACTGCATCGACTAGCTACGACTACGCTACCATCAG
TTACTATCGATCATCATCGACTGACTAGC
ACTACGACTACGACTCAGCTCACTATCAGC
GCATCGACCGCTACTACGCATACTACGACATC
Si le nombre des séquences est connu, il peut être spécifié dans le fichier d'entrée en utilisant le format suivant:
[Séquence] t [count] n
Où ' t' désigne le caractère d'onglet et ' n' le caractère Newline. Les séquences n'ont pas besoin d'être triées et peuvent également être répétées. Si une séquence répétée est trouvée, leur nombre sera ajouté ensemble. Comme précédemment, les séquences ne peuvent contenir aucun caractères supplémentaires et le fichier peut ne pas contenir de lignes vides.
Exemple:
TATCGACTCTATCTATCGCTGATGCGTAC 200
CGAGCCGCCGGCACGTCACGACGCATCAA 1
TAGCACCTACGCATCTCGACTATCACG 234
CGAGCCGCCGGCACGTCACGACGCATCAA 17
TGACTCTATCAGCTAC 39
StarCode prend également en charge les fichiers FastA et FastQ. Notez cependant que StarCode n'utilise pas les facteurs de qualité et les seules informations pertinentes est la séquence elle-même. Les étiquettes FASTA / FASTQ ne seront pas utilisées pour identifier les séquences du fichier de sortie. Les séquences n'ont pas besoin d'être triées et peuvent être répétées.
Exemple Fasta:
> FASTA sequence 1 label
ATGCATCGATCACTCATCAGCTACAG
> FASTA sequence 2 label
TATCGACTATCTACGACTACATCA
> FASTA sequence 3 label
ATCATCACTCTAGCAGCGTACTCGCA
> FASTA sequence 4 label
ATGCATCGATTACTCATCAGCTACAG
Exemple de Fastq:
@ FASTQ sequence 1 label
CATCGAGCAGCTATGCAGCTACGAGT
+
-$#'%-#.&)%#)"".)--'*()$)%
@ FASTQ sequence 2 label
TACTGCTGATATTCAGCTCACACC
+
,*#%+#&*$-#,''+*)'&.,).,
StarCode imprime une ligne pour chaque cluster détecté avec le format suivant:
[Séquence canonique] t [taille du cluster] t [séquences de cluster] n
Où ' t' désigne le caractère d'onglet et ' n' le caractère Newline. La `` séquence canonique '' est la séquence du cluster qui a plus de dénombrements, la «taille du cluster» est le nombre agrégé de toutes les séquences qui forment le cluster, et les «séquences de grappes» est une liste de toutes les séquences de grappes séparées par des virgules et dans ordonnance arbitraire. Les lignes sont imprimées triées par «taille de cluster» dans l'ordre descendant.
Par exemple, une exécution avec la distance d'entrée et de clustering suivante de 3 (-d3):
TAGCTAGACGTA 250
TAGCTAGCCGTA 10
TAAGCTAGGGGT 16
ACGCGAGCGGAA 155
ACTTTAGCGGAA 1
produirait la sortie suivante:
TAGCTAGACGTA 260 TAGCTAGACGTA,TAGCTAGCCGTA
ACGCGAGCGGAA 156 ACGCGAGCGGAA,ACTTTAGCGGAA
TAAGCTAGGGGT 16 TAAGCTAGGGGT
Le même exemple exécuté avec une distance plus restrictive -D2 produirait la sortie suivante:
TAGCTAGACGTA 260 TAGCTAGACGTA,TAGCTAGCCGTA
ACGCGAGCGGAA 155 ACGCGAGCGGAA
TAAGCTAGGGGT 16 TAAGCTAGGGGT
ACTTTAGCGGAA 1 ACTTTAGCGGAA
En mode de sortie non redondant, Starcode imprime uniquement la séquence canonique de chaque cluster, une par ligne. Après l'exemple de la section précédente, la sortie avec la distance 3 (-d3) serait:
TAGCTAGACGTA
ACGCGAGCGGAA
Alors que pour -d2:
TAGCTAGACGTA
ACGCGAGCGGAA
TAAGCTAGGGGT
ACTTTAGCGGAA
StarCode est sous licence GNU General Public Licence, version 3 (GPLV3), pour plus d'informations, lisez le fichier de licence ou référez-vous à:
http://www.gnu.org/licenses/
Si vous utilisez notre logiciel, veuillez citer:
Zorita E, Cusco P, Filion GJ. 2015. Starcode: regroupement de séquences basé sur la recherche toutes les paires. Bioinformatics 31 (12): 1913-1919.