cannin/biostars_qa huggingface dataset:
Question: I have multiple file like below in linux

> Aardvark_GENES_D.fa.1
> Aardvark_GENES_D.fa.2
> Aardvark_GENES_D.fa.3
> Aardvark_GENES_D.fa.4

I want to rename them by removing last extension and editing string like below

Aardvark_ACMSD_D.fa
Aardvark_ARID1B_D.fa
Aardvark_CRYM_D.fa
Aardvark_SMO_D.fa

Kindly help me how to do so ?????

Answer: assuming list.txt contains the name of the gene in the correct order

paste <(ls *.fa.* | sort -t '.' -k3,3n ) list.txt | awk '{split($1,a,/_/); printf("mv %s %s_%s_%s\n",$1,a[1],$2,a[3]);}' | sed 's/\.[0-9]*$//'

mv Aardvark_GENES_D.fa.1 Aardvark_ACMSD_D.fa
mv Aardvark_GENES_D.fa.2 Aardvark_ARID1B_D.fa
mv Aardvark_GENES_D.fa.3 Aardvark_CRYM_D.fa
mv Aardvark_GENES_D.fa.4 Aardvark_SMO_D.fa

when you're happy with the result, pipe it into 'bash'
Question: Hi,

I am working on variant calling on fungal genomes. I have Illumina HiSeq reads. I am new to this and am following this workflow

Step 1:	QC of raw reads performed using FastQC tool

Step 2:	Preprocessing of raw reads performed using Trimmomatic-v0.36 tool

Step 3:	QC of clean reads performed using FastQC tool

Step 4:	Alignment to reference genome using bowtie2-v2.2.6 tool

Step 5:	SAM to BAM (alignment files) conversion using samtools-v1.3.1

Step 6:	Remove duplicates using sambamba-0.6.6 tool

Step 7:	coordinate sorting of bam files with samtools

Step 8: Variant calling performed using samtools/bcftools

Step 9: variant filtering with bcftools

In this post https://www.biostars.org/p/8237/ and other variant calling related resources I found 2 additional steps before variant calling i.e. **local realignment** and **base quality recalibration**.

1. Are these steps essential?
2. I found that these option are not available in samtools but in GATK. How can I perform these steps for my data?

Answer: Local realignment is not needed anymore with GATK latest pipeline using HaplotypeCaller. You may just forget it as it's utility is only in calling SNPs nearby Indels, and there is no definite guideline how much it helps when using with tools other than GATK.

https://software.broadinstitute.org/gatk/blog?id=7847

Base quality re-calibration can still give you some advantages, as it claims to rectify the base call probabilities, which are used by almost all of the variant callers to give more confidence to the called variant. It is easy to do, provided you have GATK pipeline set-up at your end.

http://gatkforums.broadinstitute.org/gatk/discussion/44/base-quality-score-recalibration-bqsr

(TL;DR: See "Creating a recalibrated BAM" in above doc)

PS: Your reads must have RG-tags in bam-files to use most of the GATK protocols/tools. You may search my earlier post regarding that.
PPS: If it looks too troublesome, you may ignore it too as this not an obligatory step.
Question: According to [wikipedia][1], **sensitivity** and **specificity** are defined as:

![sensitivity formula][2]

![specificity formula][3]

However, in [cuffcompare][4], the values are calculated as:

```
sp=(100.0*(double)ps->exonTP)/(ps->exonTP+ps->exonFP);
sn=(100.0*(double)ps->exonTP)/(ps->exonTP+ps->exonFN);
```

`sn` is sensitivity and `sp` is specificity.

The formulas don't match, in particular **true-positive (exonTP)** is now used in both formulas. Does anybody know why?

[1]: https://en.wikipedia.org/wiki/Sensitivity_and_specificity
[2]: https://upload.wikimedia.org/math/1/3/4/13435a42931645fb999e06c9d62629f6.png
[3]: https://upload.wikimedia.org/math/b/6/2/b62ae9edff0202210dde58500b1eb7f8.png
[4]: https://github.com/cole-trapnell-lab/cufflinks/blob/master/src/cuffcompare.cpp

Answer: That was explained in [their paper][1].

In this context, we are measuring the accuracy at the base level. In the base level, we will have significantly more noncoding bases than coding bases. Therefore, TN will be much larger than FP. Therefore, SPC (specificity) will tend to be close to one and not very suitable as a metric. To fix the issue, cufflinks prefers another formula:

sp=(100.0*(double)ps->exonTP)/(ps->exonTP+ps->exonFP);

It is important to note that cufflinks is not not calculating specificity anymore. Instead, we are getting the **prediction accuracy** of the experiment. It is a technical mistake that cufflinks should fix. They should never claim it's specificity when it's not.

[1]: http://www.sciencedirect.com/science/article/pii/S0888754396902980
Question: In the BWA man page, it is said that BWA should output a certain number of optional fields like X0, X1, XO, etc... However, when I run BWA mem, none of them are produced (some of them would be extremely useful for the project I'm dealing with right now).

Could someone shed lights on this?

Thanks

Answer: This thread on the bio-bwa mailing list addresses your question. The summary is that `bwa mem` does not output those tags. Heng Li, the author, states:

> Bwa-mem is unable to compute accurate X0 due to algorithmic restrictions. You can derive XM from CIGAR and NM. XT:A:M is not applicable to bwa-mem. XT:A:U and XT:A:R can be derived from mapping quality.
Question: Dear BioStars,

I have a genomic ranges (GR) list object called `lgr.test` and would like to simply add several columns to its metadata. How would I do that? I have a list of numeric vectors `lvec.test` of the same lengths as the GRs in `lgr.test`.

Thank you!

> summary(lvec.test)
Length Class Mode
chr1 589 -none- numeric
chr2 790 -none- numeric
chr3 482 -none- numeric
chr4 681 -none- numeric
chr5 698 -none- numeric
chr6 492 -none- numeric
chr7 713 -none- numeric
chr8 489 -none- numeric
chr9 590 -none- numeric
chr10 521 -none- numeric
chr11 853 -none- numeric
chr12 395 -none- numeric
chr13 373 -none- numeric
chr14 358 -none- numeric
chr15 388 -none- numeric
chr16 340 -none- numeric
chr17 465 -none- numeric
chr18 287 -none- numeric
chr19 357 -none- numeric

> summary(lgr.test)
Length Class Mode
chr1 589 GRanges S4
chr2 790 GRanges S4
chr3 482 GRanges S4
chr4 681 GRanges S4
chr5 698 GRanges S4
chr6 492 GRanges S4
chr7 713 GRanges S4
chr8 489 GRanges S4
chr9 590 GRanges S4
chr10 521 GRanges S4
chr11 853 GRanges S4
chr12 395 GRanges S4
chr13 373 GRanges S4
chr14 358 GRanges S4
chr15 388 GRanges S4
chr16 340 GRanges S4
chr17 465 GRanges S4
chr18 287 GRanges S4
chr19 357 GRanges S4

Answer: Ok, a for loop works (see below), but if some GR gurus see this, please save me from my ignorance and tell me how to do this using standard GR functions (Map , endoapply, mendoapply, Reduce). The for solution is fast enough but doesn't use the names of the objects in the lists, so it depends entirely on their order.

Cheers!

For solution:

for (i in 1:length(lgr.test)) { values(lgr.test[[i]])$NEW<-lvec.test[[i]] }
Question: Hey,

I'm studying the Bio.Entrez, to retrivie information from NCBI...

I already made basic scripts to retrieve sequences based on protein or nucleotide IDs, but I'm wondering if I can retrieve all proteins based an specific taxonomy ID....

So I have a 3 column csv file, like this:

Reoviridae,Cardoreovirus,Eriocheir sinensis reovirus
Reoviridae,Mimoreovirus,Micromonas pusilla reovirus
Reoviridae,Orbivirus,African horse sickness virus
Reoviridae,Orbivirus,Bluetongue virus

And I wrote, at the moment, this:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
from Bio import Entrez
import argparse, csv
import xml.etree.ElementTree as ET

parser = argparse.ArgumentParser(description = 'This script a csv file and returns protein information by viral family.')
parser.add_argument("-in", "--input", help="CSV file with 3 columns", required=True)
args = parser.parse_args()
input_file = args.input

with open(input_file,'r') as in_file:
reader_in_file = csv.reader(in_file,delimiter=',')
viral_family_lst = []
for line in reader_in_file:
viral_family = line[2].rstrip('\n')
viral_family_lst.append(viral_family)

for viral_family in viral_family_lst:
handle_id_var = Entrez.esearch(db="Taxonomy", term=viral_family,retmode='xml')
tree = ET.parse(handle_id_var)
root = tree.getroot()
for app in root.findall('IdList'):
for l in app.findall('Id'):
id = l.text
print(id)

So, at the moment, this script returns the taxonomy ID for each "viral specie", and idk how I can use this IDs to retrieve all proteins for each virus....

Answer: Something like this?

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import json
import pandas as pd

from Bio import Entrez

Entrez.email = "al@eg.com"

import io

input = io.StringIO("""
family,genus,species
Reoviridae,Cardoreovirus,Eriocheir sinensis reovirus
Reoviridae,Mimoreovirus,Micromonas pusilla reovirus
Reoviridae,Orbivirus,African horse sickness virus
Reoviridae,Orbivirus,Bluetongue virus
""")

df = pd.read_csv(input, sep=',')

# To load from file, do (check if has column names (header) or not):
# df = pd.read_csv(filename, sep=',', header=None)

print("List of species:", list(df.species))

# Entrez esearch result limit
RETMAX = 33

def get_ids(response) -> list:
j = json.loads(response.read())
return list(j['esearchresult']['idlist'])

for species in df.species:
txids = get_ids(Entrez.esearch(db="Taxonomy", term=species, retmode="json"))
for txid in txids:
prids = get_ids(Entrez.esearch(db="Protein", term=F"txid{txid}[Organism:noexp]", retmax=RETMAX, retmode="json"))
print(F"Species {species} ({txid}), protein IDs: {prids}")
for prid in prids:
# print(json.loads(Entrez.esummary(db="Protein", id=prid, retmode="json").read())['result'][prid])
fasta = Entrez.efetch(db="Protein", id=prid, rettype="fasta", retmode="text").read()
print(fasta)
Question: Hi - I am obtaining from a RNA-seq bam file the BCF output from samtools mpileup in order to corroborate variants seen in the exome.

Thus, for corroborating one single SNP, my command looks like this:

```
samtools mpileup -ug -t DP -t DV -t DP4 --min-MQ 40 --min-BQ 35 -f GRCh37.fa --region "22:29907105-29907105" RNAsample.bam | bcftools view --min-alleles 3

#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT RNAsample
22 29907105 . G A, 0 . DP=47;I16=14,12,6,7,974,36674,484,18098,520,10400,260,5200,488,11274,261,5927;QS=0.666667,0.333333,0;VDB=0.280567;SGB=-0.683931;RPB=0.814533;MQB=1;MQSB=1;BQB=0.956592;MQ0F=0 PL:DP:DV:DP4 82,0,143,160,182,243:39:13:14,12,6,7
```

Because, samtools is always outputting "*an non-ref base 'X' represents an base has not been seen from the alignment data*" I need to filter for minimum 3 alleles (one ref, one alt and the X). I find this all counter-intuitive and would like to omit the non-ref base 'X' in the output from samtools mpileup as in this case it will not be needed for anything.

Does anybody know how to do this properly (excluding sed, awk and the like ;))

EDIT:

The pileup itself for this position looks as follows:

```
$ samtools mpileup -t DP -t DV -t DP4 --min-MQ 40 --min-BQ 35 -f /home/mpschr/bin/bcbionextgen/data/genomes/Hsapiens/GRCh37/seq/GRCh37.fa --region "22:29907105-29907105" RNAsample.bam
22 29907105 G 39 .,...AAA..A,,a,a..a,a,,A..aA,,a,.,..a,. DDDDDDDDDDDDJFJJEGHIIJJIJJEJDEDDJDJHDDF
```

Answer: Ok, after a lot of experimenting I have found a solution with which I am satisfied - I only use the `bcftools view`, since I already did the variant calling, and then pipe it to `bcftools norm`, where norm shortens the representation of the indels and with the option '-m-both' splits up multiple alleles to a line each.

Thus the command looks like this

samtools mpileup -ug -t DP -t DV -t DP4 --min-MQ 40 --min-BQ 35 -f GRCh37.fa --region "22:29907105-29907105" sample.bam | bcftools view | bcftools norm -m-both -f GRCh37.fa

and gives this output:

```
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT Sample.bam
22 29907105 . G A 0 . DP=95;I16=35,6,18,2,2110,121546,1123,68521,2460,147600,1200,72000,869,19919,428,10158;QS=0.651934,0.348066;VDB=0.12166;SGB=-0.692067;RPB=0.998114;MQB=1;MQSB=1;BQB=0.426273;MQ0F=0 PL:DP:DV:DP4 255,0,255:61:20:35,6,18,2
22 29907105 . G 0 . DP=95;I16=35,6,18,2,2110,121546,1123,68521,2460,147600,1200,72000,869,19919,428,10158;QS=0.651934,0;VDB=0.12166;SGB=-0.692067;RPB=0.998114;MQB=1;MQSB=1;BQB=0.426273;MQ0F=0 PL:DP:DV:DP4 255,255,255:61:20:35,6,18,2
Lines total/modified/skipped: 1/0/0
```

By piping it through `grep -v ''` the non reference bases are removed from the output.

In any case, thanks for all the help Devon
Question: From what I can find in papers, heatmaps using RNA seq data are created in several ways: using log-fold changes, z-scores, etc.

The edgeR vignette states:

> Inputing RNA-seq counts to clustering or heatmap routines designed for microarray data is
not straight-forward, and the best way to do this is still a matter of research. To draw a
heatmap of individual RNA-seq samples, we suggest using moderated log-counts-per-million.
This can be calculated by cpm with positive values for prior.count, for example :

> logcpm <- cpm(y, log=TRUE)

Just out of curiosity, I was wondering, how would it differ from calculating z-scores using the fitted.values (derived from the glmQLFit step) in the RNA seq analysis pipeline. Would the heat maps created using z-scores calculated from fitted.values turn out all that different?

Answer: The purpose of making heatmap of logCPMs is to display sample to sample variability, which allows you to see variability both between groups and between replicates.

Plotting fitted values instead would be pointless because fitted values do not show variability between replicates, and also incorrect because fitted values are not normalized by library size.
Question: As part of a larger project I've implemented GSEA in Matlab. I want to test my code by comparing my output - p-values for KEGG pathways say, with another implementation. In my implementation the GSEA algorithm starts from a ranked list of gene ids with real valued weights. So I want to upload the same list to the tool used for comparison. However, as I look round tools for GSEA most of them seem to start at an earlier point, requiring the original gene data, which would mean that there would be scope for differences in preprocessing to affect the output, whereas I want a pure comparison of the GSEA part.

What would you say is the simplest way to perform GSEA (not another enrichment algorithm) on a weighted list of entrez-gene ids?

I'm fine if it involves some coding, but don't want to get bogged down editing large amounts of other people's code to perform what should be a straightforward test to check that my results are comparable with the expected results.

Answer: I believe that http://www.broadinstitute.org/cancer/software/genepattern/modules/docs/GSEAPreranked/1 should work for you.
Question: Hi there,
I know it can be considered naive but I am trying to plot normalised counts on selected genes, outputted from my deseq2, that I have further confirmed with rt-qpcr experiments (the idea is just to confirm that these genes follow the same, expected, trend).

since these genes are supposed to be significantly regulated upon my treatment, I was wondering if a statistical test should be performed on those or this should be considered as 'wrong step' to do.

Answer: How are you plotting the counts? Side by side with treated vs untreated? If so, why not just use the p-value from DESeq2? If not, you need to clarify what/how exactly you're plotting.
Question: Hi everybody I`m using spades trying to assembly a trypanosomatid genome, i just have around 150 MB reads from nanopore sequencer, the smallest read its about 150 bp, and the longest about 84 kb, I know that i have no enough reads for genome assembly but I am trying to do it anyway, thats my command line:

spades.py --careful --nanopore --only-assembler -o out_spades -s file.fastq

It does not works, did somebody has used it before?

Thanks!

Answer: Ok, actually it will only use Nanopore as part of a hybrid assembly. From the docs:

"SPAdes should not be used if only PacBio CLR, Oxford Nanopore, Sanger reads or additional contigs are available."

So it's expecting the nanopore reads filename after the --nanopore argument (which explains your error) but it's also expecting another file to do a hybrid assembly.

Do you have Illumina or other data?
Question: I am trying to run the R command readVcf in R, it shows function not found.
I have already downloaded the package "VariantAnnotation". I don't know if it helps.
Does anyone have any idea?

Answer: Just run these 3 command lines in R:

```
source("http://bioconductor.org/biocLite.R")
biocLite("VariantAnnotation") #install the package
library("VariantAnnotation") #load the package
example("readVcf") #optional, test the function by running example codes
```
Question: Dear all,

I am trying to calculate differential gene expression in DESeq2 for a simple two condition experiment with three replicates for each condition.
After loading the DESeq2 library I load my count table using:

countData <- as.matrix(read.table("combined.counts.CvsT.txt", header = T, row.names = 1))
> head(countData)
Col0C1 Col0C2 Col0C3 Col0T1 Col0T2 Col0T3
AT1G01010 756 225 331 445 941 676
AT1G01020 346 207 256 516 474 264
AT1G01030 45 36 23 32 67 63
AT1G01040 1675 1163 1671 2914 3335 2065
AT1G01046 10 6 6 17 32 18
AT1G01050 2035 1541 1946 2833 3320 2012

In order to create the experimental design/meta table I do:

colData <- data.frame(condition=ifelse(grepl("Col0C", colnames(countData)), "control", "triggered"))

rownames(colData) <- colnames(countData)

colData
condition
Col0C1 control
Col0C2 control
Col0C3 control
Col0T1 triggered
Col0T2 triggered
Col0T3 triggered

When I then try to calculate differential expression, I get the following error:

> dds <- DESeqDataSetFromMatrix(countData, colData, formula(~ condition))
Error in DESeqDataSetFromMatrix(countData, colData, formula(~condition)) :

could not find function "DESeqDataSetFromMatrix"

I am using R Studio, but I don't think this is a problem of DESeq2 (it also happens when I run the script in the console version of R) but rather of the script I use to generate the metatable. Does anyone have an idea what's going wrong?
My session info is:

R version 3.4.2 (2017-09-28)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

Matrix products: default

locale:
[1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 LC_MONETARY=German_Germany.1252
[4] LC_NUMERIC=C LC_TIME=German_Germany.1252

attached base packages:
[1] parallel stats4 stats graphics grDevices utils datasets methods base

other attached packages:
[1] SummarizedExperiment_1.8.1 DelayedArray_0.4.1 matrixStats_0.53.1
[4] Biobase_2.38.0 GenomicRanges_1.30.0 GenomeInfoDb_1.14.0
[7] IRanges_2.12.0 S4Vectors_0.16.0 BiocGenerics_0.24.0

loaded via a namespace (and not attached):
[1] Rcpp_0.12.16 compiler_3.4.2 pillar_1.2.1 RColorBrewer_1.1-2
[5] plyr_1.8.4 XVector_0.18.0 bitops_1.0-6 base64enc_0.1-3
[9] tools_3.4.2 zlibbioc_1.24.0 rpart_4.1-13 tibble_1.4.2
[13] gtable_0.2.0 lattice_0.20-35 rlang_0.2.0 Matrix_1.2-12
[17] GenomeInfoDbData_1.0.0 cluster_2.0.6 nnet_7.3-12 grid_3.4.2
[21] survival_2.41-3 BiocParallel_1.12.0 foreign_0.8-69 latticeExtra_0.6-28
[25] Formula_1.2-2 ggplot2_2.2.1 scales_0.5.0 splines_3.4.2
[29] colorspace_1.3-2 acepack_1.4.1 RCurl_1.95-4.10 lazyeval_0.2.1
[33] munsell_0.4.3

Thanks al lot.
Ricky

Answer: I don't see DESeq2 in your sessionInfo(), how did you load it?
Question: ```
gi|110640213|ref|NC_008253.1|_4832863_4833322_0:0:0_0:0:0_11 163 gi|110640213|ref|NC_008253.1| 4832863 23 70M = 4833253 460 TACCGCAATGTGCTTATTGAAGATGACCAGGGAACGCATTTCCGGCTGGTTATCCGCAATGCCGGAGGGC 2222222222222222222222222222222222222222222222222222222222222222222222 XT:A:U NM:i:0 SM:i:23 AM:i:0 X0:i:1 X1:i:1 XM:i:0 XO:i:0 XG:i:0 MD:Z:70 XA:Z:gi|110640213|ref|NC_008253.1|,+4019608,70M,1;
```

Suppose I have the following alignment (illustrated above). As you can see there are multiple alignments in the form (rname, pos, cigar, NM), where NM defines edit distance. I have noticed that the pos field can either be positive or negative.

Where do positional values beginning with a positive or negative sign start in the sequence specified by rname?

Answer: Following the advice given from Brian Bushnell and Istvan Albert, I was able to find the block of code that produce the multiple hits. Under `bwa/bwase.c`, beginning at line 467, we can see that, in fact, the `+` and `-` signs refer to the positive and negative strands.
Question: I know for the reverse procedure, there are lots of methods available. But how can I change my fasta file with sequences like:

>gi|189094002
MDDAELNAIRQARLAELQRNAAGGGSSTNPSSSSSGGAQDSAQENMTITILNRVLTNEARERLSRQQTKITFNRKNIAADDDEDDDDFFD
>gi|68485955
MDDAELNAIRQARLAELQRNAAGGGSSTNPSSSSSGGAQDSAQENMTITILNRVLTNEARERLSRVKIVRRDSQQKQQTKITFNRKNIAGDDEDDDDFFD

to like:

>gi|189094002
MDDAELNAIRQARLAELQRNAAGGGSSTNPSSSSSGGAQDSAQENMTITILNRVLTNEARERLSR
QQTKITFNRKNIAADDDEDDDDFFD
>gi|68485955
MDDAELNAIRQARLAELQRNAAGGGSSTNPSSSSSGGAQDSAQENMTITILNRVLTNEARERLSR
VKIVRRDSQQKQQTKITFNRKNIAGDDEDDDDFFD

I know its just about inserting line breaks in each sequence, but is there any way that I can check whether the fasta file is single line fasta or not, and if is, add line breaks in each sequence..

Ps. I am using windows..

Thanks for your consideration

Answer: from this

https://github.com/jimhester/fasta_utilities

you can use wrap.pl "limits FASTA lines to 80 characters"

Or you can use from here

http://hannonlab.cshl.edu/fastx_toolkit/commandline.html#fastx_clipper_usage

fasta_formatter

fasta_formatter -i yourfile.fasta -w 80 -o yourout.fasta

> [-w N] = max. sequence line width for output FASTA file.
>	When ZERO (the default), sequence lines will NOT be wrapped -
>	all nucleotides of each sequences will appear on a single
>	line (good for scripting).

###**advice**: *If you will work in bioinformatics try any Linux flavor*
Question: Part of a paper I am writing involves comparing different human genome assemblies. I would like to have some kind of citation for the assemblies hg18, hg19, and hg38. It seems like many other papers do not cite them, for example http://nar.oxfordjournals.org/content/early/2010/10/18/nar.gkq963.full. However, I noticed some conflicting info on various database entries for the genomes and would like to know which information to use. For example, the release dates differ for hg19 on the NCBI assembly database verses the Genome Reference Consortium page February 27, 2009 vs March 3, 2009.

http://www.ncbi.nlm.nih.gov/assembly/GCF_000001405.13/

http://www.ncbi.nlm.nih.gov/projects/genome/assembly/grc/human/index.shtml (click CRCh37)

Answer: Citing versions of any particular bioinformatics/genomics resources can get tricky because there is often no formal publication for every release of a given dataset. Further complicating the situation is the fact that you will often come across different dates (and even names) for the same resource. E.g. the latest cow genome assembly generated by the University of Maryland is known as 'UMD 3.1.1'. However, the UCSC genome browser uses their own internal IDs for all cow genome assemblies and refers to this as 'bosTau8'. Someone new to the field might see the UCSC version and not know about the original UMD name.

Sometimes you can use dates of files on FTP sites to approximately date sequence files, but these can sometimes change (sometimes files accidentally get removed and replaced from backups, which can change their date).

The key thing to aim for is to provide suitable information so that someone can reproduce your work. In my mind, this requires 2-3 pieces of information:

1. The name or release number of the dataset you are downloading (provide alternate names when known)
2. The specific URL for the website or FTP site that you used to download the data
3. The date on which you downloaded the data

E.g. The UMD 3.1.1 version of the cow genome assembly (also known as bosTau8) was downloaded from the UCSC Genome FTP site (ftp://hgdownload.cse.ucsc.edu//apache/htdocs/goldenPath/bosTau8/bigZips/bosTau8.fa.gz).

When no version number is available - it is very unhelpful not to provide version numbers of sequence resources: they can, and *will* change - I always refer to the date that I downloaded it instead.