
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 es un software de agrupación de secuencia de ADN. La agrupación de código de estrellas se basa en todos los pares de búsqueda dentro de una distancia de Levenshtein especificada (que permite inserciones y deleciones), seguido de un algoritmo de agrupación: pase de mensajes, esferas o componentes conectados. Por lo general, un archivo que contiene un conjunto de secuencias de ADN se pasa como entrada, conjuntamente con la distancia de agrupación deseada y algorihtm. StarCode devuelve la secuencia canónica del clúster, el tamaño del clúster, el conjunto de diferentes secuencias que componen el clúster y los números de línea de entrada de los componentes del clúster.
StarCode tiene muchas aplicaciones en el campo de la biología, como la recuperación del motivo de ADN/ARN, la agrupación de código de barras/UMI, la recuperación de errores de secuenciación, etc.
Para instalar StarCode, clone este repositorio de git (o descargue manualmente la última versión de StarCode v1.3):
Git clone https://github.com/gui11aume/starcode
Los archivos deben descargarse en una carpeta llamada 'StarCode'. Use Make to Compile (los usuarios de Mac requieren 'Xcode', disponible en la Mac AppStore):
hacer código de estrella -c
Se creará un archivo binario 'StarCode'. Opcionalmente, puede hacer un enlace simbólico para ejecutar StarCode desde cualquier directorio:
sudo ln -s starcode/starcode/usr/bin/starcode
Starcode se ejecuta en Linux y Mac. No se ha probado en Windows.
StarCode [opciones] {[-i] input_file | -1 pareed_end_file1 -2 pareed_end_file2} [-o output_file]
Por defecto, StarCode utiliza parámetros de agrupación que son significativos en muchos problemas. Sin embargo, la salida puede no verse exactamente como esperas. Esto puede ser por las siguientes razones:
El método de agrupación es el paso del mensaje. Esto significa que los grupos se construyen de abajo hacia arriba fusionando pequeños grupos en otros más grandes. El proceso es recursivo, por lo que las secuencias en un clúster pueden no ser vecinos , es decir , pueden no estar dentro de la distancia de Levenshtein especificada. Si este debe ser el caso, use la agrupación de la esfera en su lugar (consulte la opción -s o --spheres a continuación).
La relación de agrupación es 5. Esto significa que un clúster puede absorber uno más pequeño solo si es al menos cinco veces más grande. Una implicación práctica es que los grupos de tamaño similar no se fusionan . Puede elegir otro umbral para fusionar clústeres (consulte la opción -r o --cluster -ratio a continuación).
-d o -distancia de distancia
Defines the maximum Levenshtein distance for clustering.
When not set it is automatically computed as:
min(8, 2 + [median seq length]/30)
-r o -cluter-ratio 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 o --spheres
Use sphere clustering algorithm instead of message passing (MP). Spheres is more greedy than MP:
sorted by size, centroids absorb all their matches.
-c o-unión compatible
Clusters are defined by the connected components.
-no redundante
Removes redundant sequences from the output. Only the canonical sequence of each cluster is
returned.
-huellas de clústeres
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.
Modo de archivo único:
-i o -archivo de entrada
Especifica el archivo de entrada.
Archivos FASTQ de extremo pareado:
-1 file1 -2 file2
Especifica dos archivos FASTQ de extremo pareado para el modo de agrupación de extremo pareado.
La entrada estándar se usa cuando no se establecen -i ni -1/-2 .
-o o -output archivo
Specifies output file. When not set, standard output is used instead.
--output1 file1 --output2 file2
(Paired-end mode with --non-redundant option only). Specifies the output file names of the
processed paired-end files.
La salida estándar se usa cuando -o no está configurado.
Cuando --Output1/2 no se especifica en modo de extremo pareado-no redundante, los nombres de archivo de salida son los nombres de archivo de entrada con un sufijo "-Starcode".
-t o -hilos de listas
Defines the maximum number of parallel threads.
Default is 1.
-q o -quiet
Non verbose. By default, starcode prints verbose information to
the standard error channel.
-v o --versión
Prints version information.
-h o --help
Prints usage information.
Starcode-UMI es un script de Python que usa starcode para agrupar secuencias etiquetadas con UMI. Se supone que las secuencias etiquetadas con UMI contienen un identificador molecular único al comienzo de la lectura seguida de alguna otra secuencia (más larga). Starcode-UMI realiza una doble ronda de agrupación y fusión para encontrar los mejores grupos posibles de pares de UMI y secuencia.
Starcode-Umi [Opciones] --Umi-Len n input_file1 [input_file2]
-número de len
Defines the length of the UMI tags. Adding some extra nucleotides may improve the clustering
performance.
-Camino
Path to `starcode` binary file. Default is `./starcode`.
-umi-d distancia
Match distance (Levenshtein) for the UMI region.
-seq-d distancia
Match distance (Levenshtein) for the sequence region.
-algoritmo de agrupación de la clúster
Clustering algorithm to be used in the UMI region. ('mp' for message passing, 's' for spheres,
'cc' for connected components). Default is message passing.
-Algoritmo de agrupación de Sseq-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.
-algoritmo de agrupación de ración-cluster-cluster
(Only for message passing in UMI). Minimum clustering ratio (same as -r option in starcode).
-algoritmo de agrupación de ración-clúster
(Only for message passing in seq). Minimum clustering ratio (same as -r option in starcode).
-Sseq-trim rib
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.
-umi-hilos de hilo
Defines the maximum number of parallel threads to be used in the UMI process.
Default is 1.
-hilos de sseq- threads
Defines the maximum number of parallel threads to be used in the sequence process.
Default is 1.
Consiste en un archivo que contiene una secuencia por línea. Solo se admiten los caracteres de base de ADN estándar ('a', 'c', 'g', 't'). Las secuencias pueden no contener espacios vacíos al principio o al final de la cadena, ya que estas se contarán como caracteres de alineación. El archivo no puede contener líneas vacías, ya que se considerarán como secuencias de longitud cero. Las secuencias no necesitan ser ordenadas y pueden repetirse.
Ejemplo:
TTACTATCGATCATCATCGACTGACTACG
ACTGCATCGACTAGCTACGACTACGCTACCATCAG
TTACTATCGATCATCATCGACTGACTAGC
ACTACGACTACGACTCAGCTCACTATCAGC
GCATCGACCGCTACTACGCATACTACGACATC
Si se conoce el recuento de las secuencias, se puede especificar en el archivo de entrada utilizando el siguiente formato:
[Secuencia] t [cuenta] n
Donde ' t' denota el carácter de pestaña y ' n' el carácter de Newline. Las secuencias no necesitan ser ordenadas y también pueden repetirse. Si se encuentra una secuencia repetida, sus recuentos se agregarán juntos. Como antes, las secuencias pueden no contener caracteres adicionales y el archivo puede no contener líneas vacías.
Ejemplo:
TATCGACTCTATCTATCGCTGATGCGTAC 200
CGAGCCGCCGGCACGTCACGACGCATCAA 1
TAGCACCTACGCATCTCGACTATCACG 234
CGAGCCGCCGGCACGTCACGACGCATCAA 17
TGACTCTATCAGCTAC 39
StarCode también admite archivos FASTA y FASTQ. Sin embargo, tenga en cuenta que el código de estrellas no usa los factores de calidad y la única información relevante es la secuencia misma. Las etiquetas FASTA/FASTQ no se utilizarán para identificar las secuencias en el archivo de salida. Las secuencias no necesitan ser ordenadas y pueden repetirse.
Ejemplo FASTA:
> FASTA sequence 1 label
ATGCATCGATCACTCATCAGCTACAG
> FASTA sequence 2 label
TATCGACTATCTACGACTACATCA
> FASTA sequence 3 label
ATCATCACTCTAGCAGCGTACTCGCA
> FASTA sequence 4 label
ATGCATCGATTACTCATCAGCTACAG
Ejemplo FASTQ:
@ FASTQ sequence 1 label
CATCGAGCAGCTATGCAGCTACGAGT
+
-$#'%-#.&)%#)"".)--'*()$)%
@ FASTQ sequence 2 label
TACTGCTGATATTCAGCTCACACC
+
,*#%+#&*$-#,''+*)'&.,).,
StarCode imprime una línea para cada clúster detectado con el siguiente formato:
[Secuencia canónica] t [tamaño de clúster] t [secuencias de clúster] n
Donde ' t' denota el carácter de pestaña y ' n' el carácter de Newline. 'Secuencia canónica' es la secuencia del clúster que tiene más recuentos, 'el tamaño del clúster' es el recuento agregado de todas las secuencias que forman el clúster, y 'secuencias de clúster' es una lista de todas las secuencias de clúster separadas por comas y en Orden arbitraria. Las líneas se imprimen ordenadas por 'tamaño del clúster' en orden descendente.
Por ejemplo, una ejecución con la siguiente distancia de entrada y agrupación de 3 (-d3):
TAGCTAGACGTA 250
TAGCTAGCCGTA 10
TAAGCTAGGGGT 16
ACGCGAGCGGAA 155
ACTTTAGCGGAA 1
produciría la siguiente salida:
TAGCTAGACGTA 260 TAGCTAGACGTA,TAGCTAGCCGTA
ACGCGAGCGGAA 156 ACGCGAGCGGAA,ACTTTAGCGGAA
TAAGCTAGGGGT 16 TAAGCTAGGGGT
El mismo ejemplo ejecutado con una distancia más restrictiva -D2 produciría la siguiente salida:
TAGCTAGACGTA 260 TAGCTAGACGTA,TAGCTAGCCGTA
ACGCGAGCGGAA 155 ACGCGAGCGGAA
TAAGCTAGGGGT 16 TAAGCTAGGGGT
ACTTTAGCGGAA 1 ACTTTAGCGGAA
En el modo de salida no redundante, StarCode solo imprime la secuencia canónica de cada clúster, uno por línea. Siguiendo el ejemplo de la sección anterior, la salida con la distancia 3 (-d3) sería:
TAGCTAGACGTA
ACGCGAGCGGAA
Mientras que para -d2:
TAGCTAGACGTA
ACGCGAGCGGAA
TAAGCTAGGGGT
ACTTTAGCGGAA
Starcode tiene licencia bajo la Licencia Pública General de GNU, versión 3 (GPLV3), para obtener más información, lea el archivo de licencia o consulte:
http://www.gnu.org/licenses/
Si usa nuestro software, cite:
Zorita E, Cusco P, Filion GJ. 2015. Starcode: Securence Clustering basado en la búsqueda de todos los pares. Bioinformática 31 (12): 1913-1919.